{"version":3,"file":"js/app.15905a35.js","mappings":"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AE0oB,OAAM,MAAS,CAAChqB,EAAG,IAAI,CAACJ,EAAI0B,GAAG,uDAAuD,EAAE,EACptIS,EAAkB,G,kSCqetB,GACAC,KAAAA,4BACAC,OAEA,OASA8iB,eAAAA,EACAa,wBAAAA,EACA2D,qBAAAA,EACAL,wBAAAA,EACAH,4BAAAA,EACAK,wBAAAA,EACAD,wBAAAA,KACAE,wBAAAA,KACAjC,uBAAAA,KACA6B,8BAAAA,EACAO,uBAAAA,KACAC,kBAAAA,EACAE,YAAAA,GACA9D,YAtBA,cAuBA8B,aAvBA,eAwBAU,WAxBA,aAyBAiB,4BAAAA,EACAO,oCAAAA,EACAE,iBAAAA,GAEA,EACA/c,MAAAA,CACAkD,YAAAA,OACAkV,gBAAAA,OACAD,iBAAAA,OACA1K,kBAAAA,OACA9H,iBAAAA,QAEAzQ,SAAAA,KACA,0EACA,yBACA+nB,cACA,8BACA,mCACA,MACA,kBACA,uBACA7oB,QAAA,qBACAf,cACA6pB,MAAA,KACAC,KAAA,KACA,IACA,oBACA,IACA,sBAEA,8BACA,MACA,uBACA,uBACA/oB,QAAA,qBACAf,cACA6pB,MAAA,KACAC,KAAA,KACA,IACA,oBACA,IACA,sBAGA,EACA9a,aACA,8BACA,mCACA,cACA,8BACA,aACA,kCACA,aACA,wBACA,gBACA,8BACA,eAEA,EACA+a,mBACA,8BACA,8BACA,OACApH,KAAAA,MACA,gDACA,qDAIA,wBACA,GACA,kDACA2E,EAAAA,aAAAA,KAAAA,aAEA,SAEA,MACA,8BACA,SACA,mCACA,SACA,kCACA,SACA,QACA,SAEA,GAEAvlB,QAAAA,KACA,mBACA,gBACA,iBACA,oBACA,oBACA,sBACA,0BAGAgiB,mBAAAA,GACA,IACA,iBACA,yCAGA,2CAGA,EAEAsF,qBACA,6CACA,wBACA,sBAEA,EACAE,yBACAS,UAAAA,UAAAA,UAAAA,KAAAA,aACA,kDACA3lB,SAAAA,IACAF,MAAAA,UACAD,KAAAA,QACAE,SAAAA,iBAEA,EACAgL,WAAAA,GACA,+BACA,EACAF,WAAAA,GACA,8BACA,EACAwY,eAAAA,GAQA,OANAuC,EA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ACAyZ,YAAAA,CAAAja,OAAAA,EAAAA,WAAAA,gBAAAA,gBACA1D,MAAA4Q,IACA,qBACA,MACAA,EAAAA,KAAAA,YAAAA,gBAAAA,OAAAA,SAAAA,KACAjV,OAAAA,KAAAA,EAAAA,SAEA,WAbA,4BAeA,EACAkwE,qBAAAA,GACA,kCACA,wBAEA,gCAEA,EACAI,mBACA,yCACA,WACA,QACA,EACA1rD,yBAAAA,GAGA,iCADA,MACA,GAEA,2BAEA,EACAvZ,WAAAA,GACA,+BACA,EACAE,WAAAA,GACA,gCACA,GAEAvN,SAAAA,KACA,wCACA,oDACA8G,eACA,sEACA,EACAC,gBACA,4EACA,EACAghB,cACA,uBACA,mCACA,OACA2iC,KACA,kBACA,gBACAvsD,cACAe,QAAA,qBACA8oB,MAAA,KACAC,KAAA,KACA,IACA,aACA,IACA,uBAEA,8BACA,OACAyiC,KACA,sBACA,gBACAvsD,cACAe,QAAA,qBACA8oB,MAAA,KACAC,KAAA,KACA,IACA,aACA,IACA,uBAEA,wBACA,OACAyiC,KACA,iBACA,gBACAvsD,cACAe,QAAA,qBACA8oB,MAAA,KACAC,KAAA,KACA,IACA,aACA,IACA,uBAEA,8BACA,OACAyiC,KACA,uBACA,gBACAvsD,cACAe,QAAA,qBACA8oB,MAAA,KACAC,KAAA,KACA,IACA,aACA,IACA,uBAGA,EACAmX,aACA,MACA,oCACA,sCACAvR,EAAAA,EAAAA,oBAAAA,IAAAA,KAAAA,KAAAA,KAAAA,kBACAA,EAAAA,EAAAA,oBAAAA,IAAAA,OACA,0CACA,4CACA,0CACA,2BAEA,EACAkkD,SACA,0CACA,EACAD,WACA,qBACA,EACA5sD,yBACA,2DACA,IACA,EACA/X,aACA,qDACA,QACA,yCACA,WACA,yCACA,SACA,mCACA,UACA,MACA,ICpc+Q,I,UCQ3QzK,GAAY,OACd,EACAjF,EACAoC,GACA,EACA,KACA,WACA,MAIF,EAAe6C,EAAiB,O,kFCnBhC,IAAIjF,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAA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AAgB,IAAI,gBAAgB,aAAad,EAAIoB,MAAM,IAAI,EAC1zFe,EAAkB,G,6DC4HtB,GACAC,KAAAA,gCACAC,OACA,OAGA4kE,kBAAAA,EACApf,qBAJA,uBAKAzkB,iCAAAA,EAAAA,iCAEA,EACAh2B,MAAAA,CACA/K,KAAAA,OAEAhB,QAAAA,SAEAmB,QAAAA,KACA,sCACAshB,cAAAA,EAAAA,EAAAA,GACA,kCACA,EACAuE,YAAAA,GAEA,8BACA,4BACA,6BAGArH,IAAAA,KAAAA,CACA/P,MAAAA,KAAAA,wBACA,kBACA,2BACA,gBACA,mHACA,yBACA,6BACA,gBACA,GACA3E,KAAAA,KAAAA,wBACA,0EACA,2BACA,6DACA,mHACA,kFACA,6BACA,kGACA,GACA3H,KAAAA,QACAnE,KAAAA,QACAk1D,WAAAA,KAAAA,yBAAAA,eAAAA,KAAAA,KAAAA,eAAAA,cACA,KACA,qCAEA,KACAp2C,kBACA,oFACA,gBACA,KACAqB,iBAAAA,KAAAA,0BAIA,yCACA,EACAuqE,gBAAAA,GACA,MACA,oBACA,kBACA,WACA,8BACA,oDACA,IAAA72E,QAAArJ,GAAAA,GACA,CACA,CACA,QACA,GAEAvH,UACA,EACAnB,SAAAA,KACA,wCACA,sDAEAywE,YACA,GACA,YACA,yDACA,0DACA,mCACA,CACA,8DACA,SACA,CACA,EAEA2E,uBACA,4JACA,+BACA,eACA,oBAGA,mBAEA,EACAiP,WACA,6EACA,iDACA,6DACA,CACA,QACA,EACAxR,gBACA,yBAEA,gBAEA,4BACA,+CAEA,wBADA78B,EAAAA,MAAAA,CAAAA,KAAAA,KAAAA,KAAAA,QAAAA,iBAEA,QACA,wDAEA,EACAkgC,sBACA,SACA,GACA,sBACA,+BACA,cACA,CACA,gDAEAjgC,EAAAA,SAAAA,IACA,uCACA,GACAmf,EAAAA,KAAAA,EACA,GAEA,CAEA,QACA,EACA6f,oBACA,oBACA,kCACA,0BACA,YACA,EACAmB,0BACA,OACA,wEAEA,EACAC,wBACA,2BACA,oCAEA,EACAC,0BACA,IAGA,EAHA,oBACA,sBAYA,OATA,IAEA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AC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,OAC3B,CAAE8hB,QAAS,KAAM9hB,SAAU,O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","sources":["webpack://lms_v4/./src/App.vue?7167","webpack://lms_v4/src/App.vue","webpack://lms_v4/./src/App.vue?51dd","webpack://lms_v4/./src/App.vue","webpack://lms_v4/./src/components/Account/ForgotPassword.vue?444f","webpack://lms_v4/src/components/Account/ForgotPassword.vue","webpack://lms_v4/./src/components/Account/ForgotPassword.vue?bb5d","webpack://lms_v4/./src/components/Account/ForgotPassword.vue","webpack://lms_v4/./src/components/Account/Login.vue?c530","webpack://lms_v4/src/components/Account/Login.vue","webpack://lms_v4/./src/components/Account/Login.vue?b950","webpack://lms_v4/./src/components/Account/Login.vue","webpack://lms_v4/./src/components/Account/Register.vue?6c7a","webpack://lms_v4/src/components/Account/Register.vue","webpack://lms_v4/./src/components/Account/Register.vue?f9bf","webpack://lms_v4/./src/components/Account/Register.vue","webpack://lms_v4/./src/components/Account/UserDevicesModal.vue?1a7c","webpack://lms_v4/src/components/Account/UserDevicesModal.vue","webpack://lms_v4/./src/components/Account/UserDevicesModal.vue?8f6b","webpack://lms_v4/./src/components/Account/UserDevicesModal.vue","webpack://lms_v4/./src/components/Account/UserVerification.vue?a43a","webpack://lms_v4/src/components/Account/UserVerification.vue","webpack://lms_v4/./src/components/Account/UserVerification.vue?b5a3","webpack://lms_v4/./src/components/Account/UserVerification.vue","webpack://lms_v4/./src/components/Admin/Attendance/AttendanceListItem.vue?ad9d","webpack://lms_v4/src/components/Admin/Attendance/AttendanceListItem.vue","webpack://lms_v4/./src/components/Admin/Attendance/AttendanceListItem.vue?beae","webpack://lms_v4/./src/components/Admin/Attendance/AttendanceListItem.vue","webpack://lms_v4/./src/components/Admin/Attendance/ContentAttendanceModal.vue?0e15","webpack://lms_v4/src/components/Admin/Attendance/ContentAttendanceModal.vue","webpack://lms_v4/./src/components/Admin/Attendance/ContentAttendanceModal.vue?8572","webpack://lms_v4/./src/components/Admin/Attendance/ContentAttendanceModal.vue","webpack://lms_v4/./src/components/Admin/Attendance/LiveClassAttendanceModal.vue?cffd","webpack://lms_v4/src/components/Admin/Attendance/LiveClassAttendanceModal.vue","webpack://lms_v4/./src/components/Admin/Attendance/LiveClassAttendanceModal.vue?af09","webpack://lms_v4/./src/components/Admin/Attendance/LiveClassAttendanceModal.vue","webpack://lms_v4/./src/components/Admin/Category/CategoryList.vue?9dc9","webpack://lms_v4/src/components/Admin/Category/CategoryList.vue","webpack://lms_v4/./src/components/Admin/Category/CategoryList.vue?68ad","webpack://lms_v4/./src/components/Admin/Category/CategoryList.vue","webpack://lms_v4/./src/components/Admin/Category/CategoryListItem.vue?c067","webpack://lms_v4/src/components/Admin/Category/CategoryListItem.vue","webpack://lms_v4/./src/components/Admin/Category/CategoryListItem.vue?2321","webpack://lms_v4/./src/components/Admin/Category/CategoryListItem.vue","webpack://lms_v4/./src/components/Admin/Category/CreateCategoryDropdown.vue?94d1","webpack://lms_v4/src/components/Admin/Category/CreateCategoryDropdown.vue","webpack://lms_v4/./src/components/Admin/Category/CreateCategoryDropdown.vue?2059","webpack://lms_v4/./src/components/Admin/Category/CreateCategoryDropdown.vue","webpack://lms_v4/./src/components/Admin/Content/AssignmentActionModal.vue?448a","webpack://lms_v4/src/components/Admin/Content/AssignmentActionModal.vue","webpack://lms_v4/./src/components/Admin/Content/AssignmentActionModal.vue?8d6c","webpack://lms_v4/./src/components/Admin/Content/AssignmentActionModal.vue","webpack://lms_v4/./src/components/Admin/Content/AssignmentDetail.vue?d779","webpack://lms_v4/src/components/Admin/Content/AssignmentDetail.vue","webpack://lms_v4/./src/components/Admin/Content/AssignmentDetail.vue?8d65","webpack://lms_v4/./src/components/Admin/Content/AssignmentDetail.vue","webpack://lms_v4/./src/components/Admin/Content/ContentTabBody.vue?e966","webpack://lms_v4/src/components/Admin/Content/ContentTabBody.vue","webpack://lms_v4/./src/components/Admin/Content/ContentTabBody.vue?38ed","webpack://lms_v4/./src/components/Admin/Content/ContentTabBody.vue","webpack://lms_v4/./src/components/Admin/Content/CourseContent.vue?9639","webpack://lms_v4/src/components/Admin/Content/CourseContent.vue","webpack://lms_v4/./src/components/Admin/Content/CourseContent.vue?2085","webpack://lms_v4/./src/components/Admin/Content/CourseContent.vue","webpack://lms_v4/./src/components/Admin/Content/CourseContentSection.vue?ae23","webpack://lms_v4/src/components/Admin/Content/CourseContentSection.vue","webpack://lms_v4/./src/components/Admin/Content/CourseContentSection.vue?0323","webpack://lms_v4/./src/components/Admin/Content/CourseContentSection.vue","webpack://lms_v4/./src/components/Admin/Content/CourseContentSectionChild.vue?880a","webpack://lms_v4/src/components/Admin/Content/CourseContentSectionChild.vue","webpack://lms_v4/./src/components/Admin/Content/CourseContentSectionChild.vue?93cc","webpack://lms_v4/./src/components/Admin/Content/CourseContentSectionChild.vue","webpack://lms_v4/./src/components/Admin/Content/CourseContentTab.vue?a750","webpack://lms_v4/src/components/Admin/Content/CourseContentTab.vue","webpack://lms_v4/./src/components/Admin/Content/CourseContentTab.vue?ce43","webpack://lms_v4/./src/components/Admin/Content/CourseContentTab.vue","webpack://lms_v4/./src/components/Admin/Content/CreateZoomMeetingModal.vue?c1c3","webpack://lms_v4/src/components/Admin/Content/CreateZoomMeetingModal.vue","webpack://lms_v4/./src/components/Admin/Content/CreateZoomMeetingModal.vue?23b4","webpack://lms_v4/./src/components/Admin/Content/CreateZoomMeetingModal.vue","webpack://lms_v4/./src/components/Admin/Content/EditContentModal.vue?2a47","webpack://lms_v4/src/components/Admin/Content/EditContentModal.vue","webpack://lms_v4/./src/components/Admin/Content/EditContentModal.vue?71f9","webpack://lms_v4/./src/components/Admin/Content/EditContentModal.vue","webpack://lms_v4/./src/components/Admin/Content/ExamActionModal.vue?5494","webpack://lms_v4/src/components/Admin/Content/ExamActionModal.vue","webpack://lms_v4/./src/components/Admin/Content/ExamActionModal.vue?a43c","webpack://lms_v4/./src/components/Admin/Content/ExamActionModal.vue","webpack://lms_v4/./src/components/Admin/Content/ExamQuestionsModal.vue?fdd6","webpack://lms_v4/src/components/Admin/Content/ExamQuestionsModal.vue","webpack://lms_v4/./src/components/Admin/Content/ExamQuestionsModal.vue?4a40","webpack://lms_v4/./src/components/Admin/Content/ExamQuestionsModal.vue","webpack://lms_v4/./src/components/Admin/Content/ExternalServicesList.vue?6d2d","webpack://lms_v4/src/components/Admin/Content/ExternalServicesList.vue","webpack://lms_v4/./src/components/Admin/Content/ExternalServicesList.vue?d1a4","webpack://lms_v4/./src/components/Admin/Content/ExternalServicesList.vue","webpack://lms_v4/./src/components/Admin/Content/FlashCardActionModal.vue?cd30","webpack://lms_v4/src/components/Admin/Content/FlashCardActionModal.vue","webpack://lms_v4/./src/components/Admin/Content/FlashCardActionModal.vue?328a","webpack://lms_v4/./src/components/Admin/Content/FlashCardActionModal.vue","webpack://lms_v4/./src/components/Admin/Content/FreeTextActionModal.vue?69b0","webpack://lms_v4/src/components/Admin/Content/FreeTextActionModal.vue","webpack://lms_v4/./src/components/Admin/Content/FreeTextActionModal.vue?b821","webpack://lms_v4/./src/components/Admin/Content/FreeTextActionModal.vue","webpack://lms_v4/./src/components/Admin/Content/ManageAssignmentModal.vue?aece","webpack://lms_v4/src/components/Admin/Content/ManageAssignmentModal.vue","webpack://lms_v4/./src/components/Admin/Content/ManageAssignmentModal.vue?29a9","webpack://lms_v4/./src/components/Admin/Content/ManageAssignmentModal.vue","webpack://lms_v4/./src/components/Admin/Content/QuizCreationQuestionTypes/CheckboxButtonQuestion.vue?dff0","webpack://lms_v4/src/components/Admin/Content/QuizCreationQuestionTypes/CheckboxButtonQuestion.vue","webpack://lms_v4/./src/components/Admin/Content/QuizCreationQuestionTypes/CheckboxButtonQuestion.vue?2e04","webpack://lms_v4/./src/components/Admin/Content/QuizCreationQuestionTypes/CheckboxButtonQuestion.vue","webpack://lms_v4/./src/components/Admin/Content/QuizCreationQuestionTypes/RadioButtonQuestion.vue?f186","webpack://lms_v4/src/components/Admin/Content/QuizCreationQuestionTypes/RadioButtonQuestion.vue","webpack://lms_v4/./src/components/Admin/Content/QuizCreationQuestionTypes/RadioButtonQuestion.vue?cb51","webpack://lms_v4/./src/components/Admin/Content/QuizCreationQuestionTypes/RadioButtonQuestion.vue","webpack://lms_v4/./src/components/Admin/Content/QuizCreationQuestionTypes/TextboxButtonQuestion.vue?c8af","webpack://lms_v4/src/components/Admin/Content/QuizCreationQuestionTypes/TextboxButtonQuestion.vue","webpack://lms_v4/./src/components/Admin/Content/QuizCreationQuestionTypes/TextboxButtonQuestion.vue?3011","webpack://lms_v4/./src/components/Admin/Content/QuizCreationQuestionTypes/TextboxButtonQuestion.vue","webpack://lms_v4/./src/components/Admin/Content/QuizQuestionsModal.vue?0900","webpack://lms_v4/src/components/Admin/Content/QuizQuestionsModal.vue","webpack://lms_v4/./src/components/Admin/Content/QuizQuestionsModal.vue?4671","webpack://lms_v4/./src/components/Admin/Content/QuizQuestionsModal.vue","webpack://lms_v4/./src/components/Admin/Content/UpdateContentTrainers.vue?76f6","webpack://lms_v4/src/components/Admin/Content/UpdateContentTrainers.vue","webpack://lms_v4/./src/components/Admin/Content/UpdateContentTrainers.vue?952c","webpack://lms_v4/./src/components/Admin/Content/UpdateContentTrainers.vue","webpack://lms_v4/./src/components/Admin/Content/UploadRecordedLectureInBackgroundModal.vue?97bb","webpack://lms_v4/src/components/Admin/Content/UploadRecordedLectureInBackgroundModal.vue","webpack://lms_v4/./src/components/Admin/Content/UploadRecordedLectureInBackgroundModal.vue?59a9","webpack://lms_v4/./src/components/Admin/Content/UploadRecordedLectureInBackgroundModal.vue","webpack://lms_v4/./src/components/Admin/Content/UploadRecordedLectureModal.vue?8c29","webpack://lms_v4/src/components/Admin/Content/UploadRecordedLectureModal.vue","webpack://lms_v4/./src/components/Admin/Content/UploadRecordedLectureModal.vue?b72b","webpack://lms_v4/./src/components/Admin/Content/UploadRecordedLectureModal.vue","webpack://lms_v4/./src/components/Admin/Content/UploadStudyMaterialModal.vue?75e5","webpack://lms_v4/src/components/Admin/Content/UploadStudyMaterialModal.vue","webpack://lms_v4/./src/components/Admin/Content/UploadStudyMaterialModal.vue?57f4","webpack://lms_v4/./src/components/Admin/Content/UploadStudyMaterialModal.vue","webpack://lms_v4/./src/components/Admin/Content/UploadYoutubeRecordedLectureModal.vue?5ec0","webpack://lms_v4/src/components/Admin/Content/UploadYoutubeRecordedLectureModal.vue","webpack://lms_v4/./src/components/Admin/Content/UploadYoutubeRecordedLectureModal.vue?ea5b","webpack://lms_v4/./src/components/Admin/Content/UploadYoutubeRecordedLectureModal.vue","webpack://lms_v4/./src/components/Admin/Content/ViewQuizQuestionsModal.vue?36cb","webpack://lms_v4/src/components/Admin/Content/ViewQuizQuestionsModal.vue","webpack://lms_v4/./src/components/Admin/Content/ViewQuizQuestionsModal.vue?c1e0","webpack://lms_v4/./src/components/Admin/Content/ViewQuizQuestionsModal.vue","webpack://lms_v4/./src/components/Admin/Enrollment/AddUserEnrollmentModal.vue?310a","webpack://lms_v4/src/components/Admin/Enrollment/AddUserEnrollmentModal.vue","webpack://lms_v4/./src/components/Admin/Enrollment/AddUserEnrollmentModal.vue?3dd2","webpack://lms_v4/./src/components/Admin/Enrollment/AddUserEnrollmentModal.vue","webpack://lms_v4/./src/components/Admin/Enrollment/CourseEnrollment.vue?6673","webpack://lms_v4/src/components/Admin/Enrollment/CourseEnrollment.vue","webpack://lms_v4/./src/components/Admin/Enrollment/CourseEnrollment.vue?d2d9","webpack://lms_v4/./src/components/Admin/Enrollment/CourseEnrollment.vue","webpack://lms_v4/./src/components/Admin/Enrollment/CreateEditEnrollmentModal.vue?9cbf","webpack://lms_v4/src/components/Admin/Enrollment/CreateEditEnrollmentModal.vue","webpack://lms_v4/./src/components/Admin/Enrollment/CreateEditEnrollmentModal.vue?172b","webpack://lms_v4/./src/components/Admin/Enrollment/CreateEditEnrollmentModal.vue","webpack://lms_v4/./src/components/Admin/Enrollment/EnrollmentCourseListItem.vue?b90f","webpack://lms_v4/src/components/Admin/Enrollment/EnrollmentCourseListItem.vue","webpack://lms_v4/./src/components/Admin/Enrollment/EnrollmentCourseListItem.vue?0d9f","webpack://lms_v4/./src/components/Admin/Enrollment/EnrollmentCourseListItem.vue","webpack://lms_v4/./src/components/Admin/Enrollment/EnrollmentPricingPlans.vue?15d6","webpack://lms_v4/src/components/Admin/Enrollment/EnrollmentPricingPlans.vue","webpack://lms_v4/./src/components/Admin/Enrollment/EnrollmentPricingPlans.vue?bb5f","webpack://lms_v4/./src/components/Admin/Enrollment/EnrollmentPricingPlans.vue","webpack://lms_v4/./src/components/Admin/Enrollment/PlanCyclePaymentDropdown.vue?000d","webpack://lms_v4/src/components/Admin/Enrollment/PlanCyclePaymentDropdown.vue","webpack://lms_v4/./src/components/Admin/Enrollment/PlanCyclePaymentDropdown.vue?42a0","webpack://lms_v4/./src/components/Admin/Enrollment/PlanCyclePaymentDropdown.vue","webpack://lms_v4/./src/components/Admin/Enrollment/UserEnrollments.vue?257b","webpack://lms_v4/src/components/Admin/Enrollment/UserEnrollments.vue","webpack://lms_v4/./src/components/Admin/Enrollment/UserEnrollments.vue?100b","webpack://lms_v4/./src/components/Admin/Enrollment/UserEnrollments.vue","webpack://lms_v4/./src/components/Admin/Enrollment/ValidateAndGenerateInvoices.vue?2ae8","webpack://lms_v4/src/components/Admin/Enrollment/ValidateAndGenerateInvoices.vue","webpack://lms_v4/./src/components/Admin/Enrollment/ValidateAndGenerateInvoices.vue?b217","webpack://lms_v4/./src/components/Admin/Enrollment/ValidateAndGenerateInvoices.vue","webpack://lms_v4/./src/components/Admin/Exam/AddExamQuestionModal.vue?a9d6","webpack://lms_v4/src/components/Admin/Exam/AddExamQuestionModal.vue","webpack://lms_v4/./src/components/Admin/Exam/AddExamQuestionModal.vue?c1a3","webpack://lms_v4/./src/components/Admin/Exam/AddExamQuestionModal.vue","webpack://lms_v4/./src/components/Admin/Exam/CreateEditExamModal.vue?22a3","webpack://lms_v4/src/components/Admin/Exam/CreateEditExamModal.vue","webpack://lms_v4/./src/components/Admin/Exam/CreateEditExamModal.vue?176c","webpack://lms_v4/./src/components/Admin/Exam/CreateEditExamModal.vue","webpack://lms_v4/./src/components/Admin/Exam/CreateEditLegacyExamModal.vue?4e9b","webpack://lms_v4/src/components/Admin/Exam/CreateEditLegacyExamModal.vue","webpack://lms_v4/./src/components/Admin/Exam/CreateEditLegacyExamModal.vue?b72b","webpack://lms_v4/./src/components/Admin/Exam/CreateEditLegacyExamModal.vue","webpack://lms_v4/./src/components/Admin/Exam/ExamQuestionListItem.vue?46de","webpack://lms_v4/src/components/Admin/Exam/ExamQuestionListItem.vue","webpack://lms_v4/./src/components/Admin/Exam/ExamQuestionListItem.vue?a433","webpack://lms_v4/./src/components/Admin/Exam/ExamQuestionListItem.vue","webpack://lms_v4/./src/components/Admin/Exam/Quiz/CreateEditQuizModal.vue?78b2","webpack://lms_v4/src/components/Admin/Exam/Quiz/CreateEditQuizModal.vue","webpack://lms_v4/./src/components/Admin/Exam/Quiz/CreateEditQuizModal.vue?8cc7","webpack://lms_v4/./src/components/Admin/Exam/Quiz/CreateEditQuizModal.vue","webpack://lms_v4/./src/components/Admin/Feedback/CourseFeedback.vue?949a","webpack://lms_v4/src/components/Admin/Feedback/CourseFeedback.vue","webpack://lms_v4/./src/components/Admin/Feedback/CourseFeedback.vue?a29e","webpack://lms_v4/./src/components/Admin/Feedback/CourseFeedback.vue","webpack://lms_v4/./src/components/Admin/Invoice/InvoiceDetailItem.vue?7d24","webpack://lms_v4/src/components/Admin/Invoice/InvoiceDetailItem.vue","webpack://lms_v4/./src/components/Admin/Invoice/InvoiceDetailItem.vue?4e6d","webpack://lms_v4/./src/components/Admin/Invoice/InvoiceDetailItem.vue","webpack://lms_v4/./src/components/Admin/Invoice/UserInvoiceDetailModal.vue?f1e9","webpack://lms_v4/src/components/Admin/Invoice/UserInvoiceDetailModal.vue","webpack://lms_v4/./src/components/Admin/Invoice/UserInvoiceDetailModal.vue?8973","webpack://lms_v4/./src/components/Admin/Invoice/UserInvoiceDetailModal.vue","webpack://lms_v4/./src/components/Admin/Invoice/UserInvoicePaymentDropdown.vue?2716","webpack://lms_v4/src/components/Admin/Invoice/UserInvoicePaymentDropdown.vue","webpack://lms_v4/./src/components/Admin/Invoice/UserInvoicePaymentDropdown.vue?9afc","webpack://lms_v4/./src/components/Admin/Invoice/UserInvoicePaymentDropdown.vue","webpack://lms_v4/./src/components/Admin/Invoice/UserInvoices.vue?4beb","webpack://lms_v4/src/components/Admin/Invoice/UserInvoices.vue","webpack://lms_v4/./src/components/Admin/Invoice/UserInvoices.vue?e26d","webpack://lms_v4/./src/components/Admin/Invoice/UserInvoices.vue","webpack://lms_v4/./src/components/Admin/Layout/AdminHeader.vue?6d40","webpack://lms_v4/src/components/Admin/Layout/AdminHeader.vue","webpack://lms_v4/./src/components/Admin/Layout/AdminHeader.vue?850d","webpack://lms_v4/./src/components/Admin/Layout/AdminHeader.vue","webpack://lms_v4/./src/components/Admin/Layout/AdminSidebar.vue?0c8f","webpack://lms_v4/src/components/Admin/Layout/AdminSidebar.vue","webpack://lms_v4/./src/components/Admin/Layout/AdminSidebar.vue?cfe7","webpack://lms_v4/./src/components/Admin/Layout/AdminSidebar.vue","webpack://lms_v4/./src/components/Admin/Layout/Banners/AddEditBannerModal.vue?8a0b","webpack://lms_v4/src/components/Admin/Layout/Banners/AddEditBannerModal.vue","webpack://lms_v4/./src/components/Admin/Layout/Banners/AddEditBannerModal.vue?90d3","webpack://lms_v4/./src/components/Admin/Layout/Banners/AddEditBannerModal.vue","webpack://lms_v4/./src/components/Admin/Layout/Banners/BannerSettings.vue?fc9c","webpack://lms_v4/src/components/Admin/Layout/Banners/BannerSettings.vue","webpack://lms_v4/./src/components/Admin/Layout/Banners/BannerSettings.vue?c587","webpack://lms_v4/./src/components/Admin/Layout/Banners/BannerSettings.vue","webpack://lms_v4/./src/components/Admin/Layout/ColorThemeSettings.vue?f4e8","webpack://lms_v4/src/components/Admin/Layout/ColorThemeSettings.vue","webpack://lms_v4/./src/components/Admin/Layout/ColorThemeSettings.vue?fccc","webpack://lms_v4/./src/components/Admin/Layout/ColorThemeSettings.vue","webpack://lms_v4/./src/components/Admin/Layout/CompanyInfoSettings.vue?5199","webpack://lms_v4/src/components/Admin/Layout/CompanyInfoSettings.vue","webpack://lms_v4/./src/components/Admin/Layout/CompanyInfoSettings.vue?6c2e","webpack://lms_v4/./src/components/Admin/Layout/CompanyInfoSettings.vue","webpack://lms_v4/./src/components/Admin/Layout/LogoFaviconSettings.vue?afc3","webpack://lms_v4/src/components/Admin/Layout/LogoFaviconSettings.vue","webpack://lms_v4/./src/components/Admin/Layout/LogoFaviconSettings.vue?94d4","webpack://lms_v4/./src/components/Admin/Layout/LogoFaviconSettings.vue","webpack://lms_v4/./src/components/Admin/Layout/SocialLinksSettings.vue?08fe","webpack://lms_v4/src/components/Admin/Layout/SocialLinksSettings.vue","webpack://lms_v4/./src/components/Admin/Layout/SocialLinksSettings.vue?38b2","webpack://lms_v4/./src/components/Admin/Layout/SocialLinksSettings.vue","webpack://lms_v4/./src/components/Admin/Layout/ZoomServiceAccountsIntegration.vue?2c1a","webpack://lms_v4/src/components/Admin/Layout/ZoomServiceAccountsIntegration.vue","webpack://lms_v4/./src/components/Admin/Layout/ZoomServiceAccountsIntegration.vue?98bf","webpack://lms_v4/./src/components/Admin/Layout/ZoomServiceAccountsIntegration.vue","webpack://lms_v4/./src/components/Admin/Payment/PaymentDetailItem.vue?2e8c","webpack://lms_v4/src/components/Admin/Payment/PaymentDetailItem.vue","webpack://lms_v4/./src/components/Admin/Payment/PaymentDetailItem.vue?c924","webpack://lms_v4/./src/components/Admin/Payment/PaymentDetailItem.vue","webpack://lms_v4/./src/components/Admin/Payment/UserPaymentDetailModal.vue?4b69","webpack://lms_v4/src/components/Admin/Payment/UserPaymentDetailModal.vue","webpack://lms_v4/./src/components/Admin/Payment/UserPaymentDetailModal.vue?5876","webpack://lms_v4/./src/components/Admin/Payment/UserPaymentDetailModal.vue","webpack://lms_v4/./src/components/Admin/Payment/UserPayments.vue?d184","webpack://lms_v4/src/components/Admin/Payment/UserPayments.vue","webpack://lms_v4/./src/components/Admin/Payment/UserPayments.vue?3e9b","webpack://lms_v4/./src/components/Admin/Payment/UserPayments.vue","webpack://lms_v4/./src/components/Admin/Pricing/CoursePricing.vue?f61a","webpack://lms_v4/src/components/Admin/Pricing/CoursePricing.vue","webpack://lms_v4/./src/components/Admin/Pricing/CoursePricing.vue?8a40","webpack://lms_v4/./src/components/Admin/Pricing/CoursePricing.vue","webpack://lms_v4/./src/components/Admin/Pricing/CreatePricingPlanSidebar.vue?2abd","webpack://lms_v4/src/components/Admin/Pricing/CreatePricingPlanSidebar.vue","webpack://lms_v4/./src/components/Admin/Pricing/CreatePricingPlanSidebar.vue?81b4","webpack://lms_v4/./src/components/Admin/Pricing/CreatePricingPlanSidebar.vue","webpack://lms_v4/./src/components/Admin/Product/ProductList.vue?895e","webpack://lms_v4/src/components/Admin/Product/ProductList.vue","webpack://lms_v4/./src/components/Admin/Product/ProductList.vue?722b","webpack://lms_v4/./src/components/Admin/Product/ProductList.vue","webpack://lms_v4/./src/components/Admin/Product/ProductListItem.vue?b7ab","webpack://lms_v4/src/components/Admin/Product/ProductListItem.vue","webpack://lms_v4/./src/components/Admin/Product/ProductListItem.vue?7ebd","webpack://lms_v4/./src/components/Admin/Product/ProductListItem.vue","webpack://lms_v4/./src/components/Admin/ProductVariant/CreateProductVariantModal.vue?5cd4","webpack://lms_v4/src/components/Admin/ProductVariant/CreateProductVariantModal.vue","webpack://lms_v4/./src/components/Admin/ProductVariant/CreateProductVariantModal.vue?5dd4","webpack://lms_v4/./src/components/Admin/ProductVariant/CreateProductVariantModal.vue","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantContentAddExisting.vue?1b0d","webpack://lms_v4/src/components/Admin/ProductVariant/ProductVariantContentAddExisting.vue","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantContentAddExisting.vue?e0d5","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantContentAddExisting.vue","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantContentCreate.vue?64fe","webpack://lms_v4/src/components/Admin/ProductVariant/ProductVariantContentCreate.vue","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantContentCreate.vue?670f","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantContentCreate.vue","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantContentCreateItem.vue?8f87","webpack://lms_v4/src/components/Admin/ProductVariant/ProductVariantContentCreateItem.vue","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantContentCreateItem.vue?26ff","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantContentCreateItem.vue","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantList.vue?1d2f","webpack://lms_v4/src/components/Admin/ProductVariant/ProductVariantList.vue","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantList.vue?542e","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantList.vue","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantListItem.vue?62d7","webpack://lms_v4/src/components/Admin/ProductVariant/ProductVariantListItem.vue","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantListItem.vue?b3d8","webpack://lms_v4/./src/components/Admin/ProductVariant/ProductVariantListItem.vue","webpack://lms_v4/./src/components/Admin/Question/AddQuestionModal.vue?f4d0","webpack://lms_v4/src/components/Admin/Question/AddQuestionModal.vue","webpack://lms_v4/./src/components/Admin/Question/AddQuestionModal.vue?d7b8","webpack://lms_v4/./src/components/Admin/Question/AddQuestionModal.vue","webpack://lms_v4/./src/components/Admin/Question/QuestionCategoryList.vue?1caa","webpack://lms_v4/src/components/Admin/Question/QuestionCategoryList.vue","webpack://lms_v4/./src/components/Admin/Question/QuestionCategoryList.vue?733b","webpack://lms_v4/./src/components/Admin/Question/QuestionCategoryList.vue","webpack://lms_v4/./src/components/Admin/Question/QuestionCategoryListItem.vue?1392","webpack://lms_v4/src/components/Admin/Question/QuestionCategoryListItem.vue","webpack://lms_v4/./src/components/Admin/Question/QuestionCategoryListItem.vue?f75b","webpack://lms_v4/./src/components/Admin/Question/QuestionCategoryListItem.vue","webpack://lms_v4/./src/components/Admin/Question/QuestionList.vue?91dd","webpack://lms_v4/src/components/Admin/Question/QuestionList.vue","webpack://lms_v4/./src/components/Admin/Question/QuestionList.vue?f063","webpack://lms_v4/./src/components/Admin/Question/QuestionList.vue","webpack://lms_v4/./src/components/Admin/Question/QuestionListItem.vue?fc14","webpack://lms_v4/src/components/Admin/Question/QuestionListItem.vue","webpack://lms_v4/./src/components/Admin/Question/QuestionListItem.vue?cfe0","webpack://lms_v4/./src/components/Admin/Question/QuestionListItem.vue","webpack://lms_v4/./src/components/Admin/QuestionBank/CategoriesColumn.vue?e555","webpack://lms_v4/src/components/Admin/QuestionBank/CategoriesColumn.vue","webpack://lms_v4/./src/components/Admin/QuestionBank/CategoriesColumn.vue?5352","webpack://lms_v4/./src/components/Admin/QuestionBank/CategoriesColumn.vue","webpack://lms_v4/./src/components/Admin/QuestionBank/CourseQuestionBank.vue?ecca","webpack://lms_v4/src/components/Admin/QuestionBank/CourseQuestionBank.vue","webpack://lms_v4/./src/components/Admin/QuestionBank/CourseQuestionBank.vue?5320","webpack://lms_v4/./src/components/Admin/QuestionBank/CourseQuestionBank.vue","webpack://lms_v4/./src/components/Admin/QuestionBank/QuestionsColumn.vue?03a0","webpack://lms_v4/src/components/Admin/QuestionBank/QuestionsColumn.vue","webpack://lms_v4/./src/components/Admin/QuestionBank/QuestionsColumn.vue?4773","webpack://lms_v4/./src/components/Admin/QuestionBank/QuestionsColumn.vue","webpack://lms_v4/./src/components/Admin/Service/ZoomOAuthService.vue?cfd0","webpack://lms_v4/src/components/Admin/Service/ZoomOAuthService.vue","webpack://lms_v4/./src/components/Admin/Service/ZoomOAuthService.vue?bbcc","webpack://lms_v4/./src/components/Admin/Service/ZoomOAuthService.vue","webpack://lms_v4/./src/components/Admin/Trainer/AssignTrainerToContentDropdown.vue?370e","webpack://lms_v4/src/components/Admin/Trainer/AssignTrainerToContentDropdown.vue","webpack://lms_v4/./src/components/Admin/Trainer/AssignTrainerToContentDropdown.vue?2f5b","webpack://lms_v4/./src/components/Admin/Trainer/AssignTrainerToContentDropdown.vue","webpack://lms_v4/./src/components/Admin/Trainer/TrainerPermissionsListItem.vue?56e5","webpack://lms_v4/src/components/Admin/Trainer/TrainerPermissionsListItem.vue","webpack://lms_v4/./src/components/Admin/Trainer/TrainerPermissionsListItem.vue?e2a0","webpack://lms_v4/./src/components/Admin/Trainer/TrainerPermissionsListItem.vue","webpack://lms_v4/./src/components/Admin/Users/BulkUserUploadModal.vue?acb5","webpack://lms_v4/src/components/Admin/Users/BulkUserUploadModal.vue","webpack://lms_v4/./src/components/Admin/Users/BulkUserUploadModal.vue?6507","webpack://lms_v4/./src/components/Admin/Users/BulkUserUploadModal.vue","webpack://lms_v4/./src/components/Admin/Users/CreateNewUserModal.vue?7827","webpack://lms_v4/src/components/Admin/Users/CreateNewUserModal.vue","webpack://lms_v4/./src/components/Admin/Users/CreateNewUserModal.vue?460b","webpack://lms_v4/./src/components/Admin/Users/CreateNewUserModal.vue","webpack://lms_v4/./src/components/Admin/Users/UserAttendance.vue?9f4f","webpack://lms_v4/src/components/Admin/Users/UserAttendance.vue","webpack://lms_v4/./src/components/Admin/Users/UserAttendance.vue?6ceb","webpack://lms_v4/./src/components/Admin/Users/UserAttendance.vue","webpack://lms_v4/./src/components/Admin/Users/UserDetails.vue?3c4b","webpack://lms_v4/src/components/Admin/Users/UserDetails.vue","webpack://lms_v4/./src/components/Admin/Users/UserDetails.vue?ae49","webpack://lms_v4/./src/components/Admin/Users/UserDetails.vue","webpack://lms_v4/./src/components/Admin/Users/UserDevices.vue?7d76","webpack://lms_v4/src/components/Admin/Users/UserDevices.vue","webpack://lms_v4/./src/components/Admin/Users/UserDevices.vue?9313","webpack://lms_v4/./src/components/Admin/Users/UserDevices.vue","webpack://lms_v4/./src/components/Admin/Users/UserScan.vue?b029","webpack://lms_v4/src/components/Admin/Users/UserScan.vue","webpack://lms_v4/./src/components/Admin/Users/UserScan.vue?92cf","webpack://lms_v4/./src/components/Admin/Users/UserScan.vue","webpack://lms_v4/./src/components/Admin/Users/ViewEditUserModal.vue?bb59","webpack://lms_v4/src/components/Admin/Users/ViewEditUserModal.vue","webpack://lms_v4/./src/components/Admin/Users/ViewEditUserModal.vue?e941","webpack://lms_v4/./src/components/Admin/Users/ViewEditUserModal.vue","webpack://lms_v4/./src/components/Cart/CartProductItem.vue?b3d2","webpack://lms_v4/src/components/Cart/CartProductItem.vue","webpack://lms_v4/./src/components/Cart/CartProductItem.vue?d6d1","webpack://lms_v4/./src/components/Cart/CartProductItem.vue","webpack://lms_v4/./src/components/Cart/PaymentCard.vue?e7a9","webpack://lms_v4/src/components/Cart/PaymentCard.vue","webpack://lms_v4/./src/components/Cart/PaymentCard.vue?468e","webpack://lms_v4/./src/components/Cart/PaymentCard.vue","webpack://lms_v4/./src/components/Content/Assignment.vue?9b4f","webpack://lms_v4/src/components/Content/Assignment.vue","webpack://lms_v4/./src/components/Content/Assignment.vue?ab8f","webpack://lms_v4/./src/components/Content/Assignment.vue","webpack://lms_v4/./src/components/Content/LiveClass.vue?7a89","webpack://lms_v4/src/components/Content/LiveClass.vue","webpack://lms_v4/./src/components/Content/LiveClass.vue?dc7c","webpack://lms_v4/./src/components/Content/LiveClass.vue","webpack://lms_v4/./src/components/Content/PDFExpressViewer.vue?92d9","webpack://lms_v4/src/components/Content/PDFExpressViewer.vue","webpack://lms_v4/./src/components/Content/PDFExpressViewer.vue?0442","webpack://lms_v4/./src/components/Content/PDFExpressViewer.vue","webpack://lms_v4/./src/components/Content/Quiz.vue?6dcd","webpack://lms_v4/src/components/Content/Quiz.vue","webpack://lms_v4/./src/components/Content/Quiz.vue?1a8e","webpack://lms_v4/./src/components/Content/Quiz.vue","webpack://lms_v4/./src/components/Content/Quiz/CheckboxButtonQuestionOptions.vue?f479","webpack://lms_v4/src/components/Content/Quiz/CheckboxButtonQuestionOptions.vue","webpack://lms_v4/./src/components/Content/Quiz/CheckboxButtonQuestionOptions.vue?a39a","webpack://lms_v4/./src/components/Content/Quiz/CheckboxButtonQuestionOptions.vue","webpack://lms_v4/./src/components/Content/Quiz/RadioButtonQuestionOptions.vue?fb27","webpack://lms_v4/src/components/Content/Quiz/RadioButtonQuestionOptions.vue","webpack://lms_v4/./src/components/Content/Quiz/RadioButtonQuestionOptions.vue?f265","webpack://lms_v4/./src/components/Content/Quiz/RadioButtonQuestionOptions.vue","webpack://lms_v4/./src/components/Content/Quiz/SelectButtonQuestionOptions.vue?c019","webpack://lms_v4/src/components/Content/Quiz/SelectButtonQuestionOptions.vue","webpack://lms_v4/./src/components/Content/Quiz/SelectButtonQuestionOptions.vue?8291","webpack://lms_v4/./src/components/Content/Quiz/SelectButtonQuestionOptions.vue","webpack://lms_v4/./src/components/Content/Quiz/TextboxQuestionOptions.vue?a36e","webpack://lms_v4/src/components/Content/Quiz/TextboxQuestionOptions.vue","webpack://lms_v4/./src/components/Content/Quiz/TextboxQuestionOptions.vue?0363","webpack://lms_v4/./src/components/Content/Quiz/TextboxQuestionOptions.vue","webpack://lms_v4/./src/components/Content/RecordedVideo.vue?2d14","webpack://lms_v4/src/components/Content/RecordedVideo.vue","webpack://lms_v4/./src/components/Content/RecordedVideo.vue?cbdc","webpack://lms_v4/./src/components/Content/RecordedVideo.vue","webpack://lms_v4/./src/components/Content/StudyMaterial.vue?e481","webpack://lms_v4/src/components/Content/StudyMaterial.vue","webpack://lms_v4/./src/components/Content/StudyMaterial.vue?9ed2","webpack://lms_v4/./src/components/Content/StudyMaterial.vue","webpack://lms_v4/./src/components/Content/Zoom.vue?d54f","webpack://lms_v4/src/components/Content/Zoom.vue","webpack://lms_v4/./src/components/Content/Zoom.vue?5051","webpack://lms_v4/./src/components/Content/Zoom.vue","webpack://lms_v4/./src/components/Dashboard/DashboardUpdatesCard.vue?c8ac","webpack://lms_v4/src/components/Dashboard/DashboardUpdatesCard.vue","webpack://lms_v4/./src/components/Dashboard/DashboardUpdatesCard.vue?f7ce","webpack://lms_v4/./src/components/Dashboard/DashboardUpdatesCard.vue","webpack://lms_v4/./src/components/Dashboard/Forum.vue?a9b5","webpack://lms_v4/src/components/Dashboard/Forum.vue","webpack://lms_v4/./src/components/Dashboard/Forum.vue?5983","webpack://lms_v4/./src/components/Dashboard/Forum.vue","webpack://lms_v4/./src/components/Dashboard/ReminderListItem.vue?667a","webpack://lms_v4/src/components/Dashboard/ReminderListItem.vue","webpack://lms_v4/./src/components/Dashboard/ReminderListItem.vue?c078","webpack://lms_v4/./src/components/Dashboard/ReminderListItem.vue","webpack://lms_v4/./src/components/Dashboard/UserProducts.vue?026c","webpack://lms_v4/src/components/Dashboard/UserProducts.vue","webpack://lms_v4/./src/components/Dashboard/UserProducts.vue?8071","webpack://lms_v4/./src/components/Dashboard/UserProducts.vue","webpack://lms_v4/./src/components/Editors/QuillRichTextEditor.vue?21e4","webpack://lms_v4/src/components/Editors/QuillRichTextEditor.vue","webpack://lms_v4/./src/components/Editors/QuillRichTextEditor.vue?fcc6","webpack://lms_v4/./src/components/Editors/QuillRichTextEditor.vue","webpack://lms_v4/./src/components/Form/FormModal.vue?ecd3","webpack://lms_v4/src/components/Form/FormModal.vue","webpack://lms_v4/./src/components/Form/FormModal.vue?3d7e","webpack://lms_v4/./src/components/Form/FormModal.vue","webpack://lms_v4/./src/components/Forum/NewPost.vue?89f8","webpack://lms_v4/src/components/Forum/NewPost.vue","webpack://lms_v4/./src/components/Forum/NewPost.vue?27d0","webpack://lms_v4/./src/components/Forum/NewPost.vue","webpack://lms_v4/./src/components/Instructor/HomepageInstructorSection.vue?5829","webpack://lms_v4/src/components/Instructor/HomepageInstructorSection.vue","webpack://lms_v4/./src/components/Instructor/HomepageInstructorSection.vue?ee44","webpack://lms_v4/./src/components/Instructor/HomepageInstructorSection.vue","webpack://lms_v4/./src/components/Instructor/InstructorList.vue?2fdb","webpack://lms_v4/src/components/Instructor/InstructorList.vue","webpack://lms_v4/./src/components/Instructor/InstructorList.vue?ec04","webpack://lms_v4/./src/components/Instructor/InstructorList.vue","webpack://lms_v4/./src/components/Instructor/InstructorListItem.vue?4f32","webpack://lms_v4/src/components/Instructor/InstructorListItem.vue","webpack://lms_v4/./src/components/Instructor/InstructorListItem.vue?35c9","webpack://lms_v4/./src/components/Instructor/InstructorListItem.vue","webpack://lms_v4/./src/components/Instructor/InstructorProfile.vue?a73d","webpack://lms_v4/src/components/Instructor/InstructorProfile.vue","webpack://lms_v4/./src/components/Instructor/InstructorProfile.vue?1ad4","webpack://lms_v4/./src/components/Instructor/InstructorProfile.vue","webpack://lms_v4/./src/components/Invoice/PayInvoiceModal.vue?0c5a","webpack://lms_v4/src/components/Invoice/PayInvoiceModal.vue","webpack://lms_v4/./src/components/Invoice/PayInvoiceModal.vue?4f66","webpack://lms_v4/./src/components/Invoice/PayInvoiceModal.vue","webpack://lms_v4/./src/components/Layout/AppsDownloadInstructions.vue?18df","webpack://lms_v4/src/components/Layout/AppsDownloadInstructions.vue","webpack://lms_v4/./src/components/Layout/AppsDownloadInstructions.vue?a721","webpack://lms_v4/./src/components/Layout/AppsDownloadInstructions.vue","webpack://lms_v4/./src/components/Layout/BannerSmall.vue?ba09","webpack://lms_v4/src/components/Layout/BannerSmall.vue","webpack://lms_v4/./src/components/Layout/BannerSmall.vue?7066","webpack://lms_v4/./src/components/Layout/BannerSmall.vue","webpack://lms_v4/./src/components/Layout/BannerWithTabs.vue?28b1","webpack://lms_v4/src/components/Layout/BannerWithTabs.vue","webpack://lms_v4/./src/components/Layout/BannerWithTabs.vue?48e4","webpack://lms_v4/./src/components/Layout/BannerWithTabs.vue","webpack://lms_v4/./src/components/Layout/DynamicCustomFormInput.vue?2f0f","webpack://lms_v4/src/components/Layout/DynamicCustomFormInput.vue","webpack://lms_v4/./src/components/Layout/DynamicCustomFormInput.vue?2c5c","webpack://lms_v4/./src/components/Layout/DynamicCustomFormInput.vue","webpack://lms_v4/./src/components/Layout/DynamicFormInput.vue?bdf8","webpack://lms_v4/src/components/Layout/DynamicFormInput.vue","webpack://lms_v4/./src/components/Layout/DynamicFormInput.vue?edeb","webpack://lms_v4/./src/components/Layout/DynamicFormInput.vue","webpack://lms_v4/./src/components/Layout/Footer.vue?922e","webpack://lms_v4/src/components/Layout/Footer.vue","webpack://lms_v4/./src/components/Layout/Footer.vue?4bdc","webpack://lms_v4/./src/components/Layout/Footer.vue","webpack://lms_v4/./src/components/Layout/Header.vue?e686","webpack://lms_v4/src/components/Layout/Header.vue","webpack://lms_v4/./src/components/Layout/Header.vue?696c","webpack://lms_v4/./src/components/Layout/Header.vue","webpack://lms_v4/./src/components/Layout/HeaderOldUI.vue?d33c","webpack://lms_v4/src/components/Layout/HeaderOldUI.vue","webpack://lms_v4/./src/components/Layout/HeaderOldUI.vue?ffb8","webpack://lms_v4/./src/components/Layout/HeaderOldUI.vue","webpack://lms_v4/./src/components/Layout/HomePageBanner.vue?12a0","webpack://lms_v4/src/components/Layout/HomePageBanner.vue","webpack://lms_v4/./src/components/Layout/HomePageBanner.vue?2ab2","webpack://lms_v4/./src/components/Layout/HomePageBanner.vue","webpack://lms_v4/./src/components/Layout/HomePageBannerWithOverlay.vue?9817","webpack://lms_v4/src/components/Layout/HomePageBannerWithOverlay.vue","webpack://lms_v4/./src/components/Layout/HomePageBannerWithOverlay.vue?0f8d","webpack://lms_v4/./src/components/Layout/HomePageBannerWithOverlay.vue","webpack://lms_v4/./src/components/Layout/HomePageClientsSection.vue?9b7e","webpack://lms_v4/src/components/Layout/HomePageClientsSection.vue","webpack://lms_v4/./src/components/Layout/HomePageClientsSection.vue?51aa","webpack://lms_v4/./src/components/Layout/HomePageClientsSection.vue","webpack://lms_v4/./src/components/Layout/HomePageServiceFeatures.vue?e945","webpack://lms_v4/src/components/Layout/HomePageServiceFeatures.vue","webpack://lms_v4/./src/components/Layout/HomePageServiceFeatures.vue?d7bc","webpack://lms_v4/./src/components/Layout/HomePageServiceFeatures.vue","webpack://lms_v4/./src/components/Layout/HomePageSignupSteps.vue?3473","webpack://lms_v4/src/components/Layout/HomePageSignupSteps.vue","webpack://lms_v4/./src/components/Layout/HomePageSignupSteps.vue?8991","webpack://lms_v4/./src/components/Layout/HomePageSignupSteps.vue","webpack://lms_v4/./src/components/Layout/HomePageTeachOrPartner.vue?e85d","webpack://lms_v4/src/components/Layout/HomePageTeachOrPartner.vue","webpack://lms_v4/./src/components/Layout/HomePageTeachOrPartner.vue?a551","webpack://lms_v4/./src/components/Layout/HomePageTeachOrPartner.vue","webpack://lms_v4/./src/components/Layout/HomePageTestimonials.vue?4dfc","webpack://lms_v4/src/components/Layout/HomePageTestimonials.vue","webpack://lms_v4/./src/components/Layout/HomePageTestimonials.vue?e335","webpack://lms_v4/./src/components/Layout/HomePageTestimonials.vue","webpack://lms_v4/./src/components/Layout/HomePageWhyUs.vue?2e23","webpack://lms_v4/src/components/Layout/HomePageWhyUs.vue","webpack://lms_v4/./src/components/Layout/HomePageWhyUs.vue?b260","webpack://lms_v4/./src/components/Layout/HomePageWhyUs.vue","webpack://lms_v4/./src/components/Layout/InnerPageBanner.vue?d06a","webpack://lms_v4/src/components/Layout/InnerPageBanner.vue","webpack://lms_v4/./src/components/Layout/InnerPageBanner.vue?aa9a","webpack://lms_v4/./src/components/Layout/InnerPageBanner.vue","webpack://lms_v4/./src/components/Layout/Loading.vue?7066","webpack://lms_v4/src/components/Layout/Loading.vue","webpack://lms_v4/./src/components/Layout/Loading.vue?ee27","webpack://lms_v4/./src/components/Layout/Loading.vue","webpack://lms_v4/./src/components/Layout/ProfileBanner.vue?a596","webpack://lms_v4/src/components/Layout/ProfileBanner.vue","webpack://lms_v4/./src/components/Layout/ProfileBanner.vue?4527","webpack://lms_v4/./src/components/Layout/ProfileBanner.vue","webpack://lms_v4/./src/components/Layout/Searchbar.vue?1e60","webpack://lms_v4/src/components/Layout/Searchbar.vue","webpack://lms_v4/./src/components/Layout/Searchbar.vue?01a0","webpack://lms_v4/./src/components/Layout/Searchbar.vue","webpack://lms_v4/./src/components/PDFViewer/AdobePDFViewer.vue?ab7e","webpack://lms_v4/src/components/PDFViewer/AdobePDFViewer.vue","webpack://lms_v4/./src/components/PDFViewer/AdobePDFViewer.vue?fa52","webpack://lms_v4/./src/components/PDFViewer/AdobePDFViewer.vue","webpack://lms_v4/./src/components/Payment/BankTransfer.vue?37c3","webpack://lms_v4/src/components/Payment/BankTransfer.vue","webpack://lms_v4/./src/components/Payment/BankTransfer.vue?4f51","webpack://lms_v4/./src/components/Payment/BankTransfer.vue","webpack://lms_v4/./src/components/Payment/Cash.vue?108a","webpack://lms_v4/src/components/Payment/Cash.vue","webpack://lms_v4/./src/components/Payment/Cash.vue?d1d0","webpack://lms_v4/./src/components/Payment/Cash.vue","webpack://lms_v4/./src/components/Payment/KuickPayBPS.vue?3462","webpack://lms_v4/src/components/Payment/KuickPayBPS.vue","webpack://lms_v4/./src/components/Payment/KuickPayBPS.vue?050a","webpack://lms_v4/./src/components/Payment/KuickPayBPS.vue","webpack://lms_v4/./src/components/Payment/KuickPayCheckout.vue?7982","webpack://lms_v4/src/components/Payment/KuickPayCheckout.vue","webpack://lms_v4/./src/components/Payment/KuickPayCheckout.vue?1858","webpack://lms_v4/./src/components/Payment/KuickPayCheckout.vue","webpack://lms_v4/./src/components/Payment/MeezanPaymentGateway.vue?ab4b","webpack://lms_v4/src/components/Payment/MeezanPaymentGateway.vue","webpack://lms_v4/./src/components/Payment/MeezanPaymentGateway.vue?ca07","webpack://lms_v4/./src/components/Payment/MeezanPaymentGateway.vue","webpack://lms_v4/./src/components/Payment/NgeniusPaymentGateway.vue?525f","webpack://lms_v4/src/components/Payment/NgeniusPaymentGateway.vue","webpack://lms_v4/./src/components/Payment/NgeniusPaymentGateway.vue?b2fc","webpack://lms_v4/./src/components/Payment/NgeniusPaymentGateway.vue","webpack://lms_v4/./src/components/Payment/PayPro.vue?0f30","webpack://lms_v4/src/components/Payment/PayPro.vue","webpack://lms_v4/./src/components/Payment/PayPro.vue?83d2","webpack://lms_v4/./src/components/Payment/PayPro.vue","webpack://lms_v4/./src/components/Payment/Safepay.vue?0b3a","webpack://lms_v4/src/components/Payment/Safepay.vue","webpack://lms_v4/./src/components/Payment/Safepay.vue?758c","webpack://lms_v4/./src/components/Payment/Safepay.vue","webpack://lms_v4/./src/components/Payment/ScotiaPaymentGateway.vue?6008","webpack://lms_v4/src/components/Payment/ScotiaPaymentGateway.vue","webpack://lms_v4/./src/components/Payment/ScotiaPaymentGateway.vue?9cdf","webpack://lms_v4/./src/components/Payment/ScotiaPaymentGateway.vue","webpack://lms_v4/./src/components/Payment/Stripe.vue?b72a","webpack://lms_v4/src/components/Payment/Stripe.vue","webpack://lms_v4/./src/components/Payment/Stripe.vue?f76f","webpack://lms_v4/./src/components/Payment/Stripe.vue","webpack://lms_v4/./src/components/Product/ProductActivityCard.vue?b2d1","webpack://lms_v4/src/components/Product/ProductActivityCard.vue","webpack://lms_v4/./src/components/Product/ProductActivityCard.vue?723f","webpack://lms_v4/./src/components/Product/ProductActivityCard.vue","webpack://lms_v4/./src/components/Product/ProductAdvancedFilters.vue?2bdc","webpack://lms_v4/src/components/Product/ProductAdvancedFilters.vue","webpack://lms_v4/./src/components/Product/ProductAdvancedFilters.vue?b244","webpack://lms_v4/./src/components/Product/ProductAdvancedFilters.vue","webpack://lms_v4/./src/components/Product/ProductCategoryTabs.vue?1b6b","webpack://lms_v4/src/components/Product/ProductCategoryTabs.vue","webpack://lms_v4/./src/components/Product/ProductCategoryTabs.vue?d9b3","webpack://lms_v4/./src/components/Product/ProductCategoryTabs.vue","webpack://lms_v4/./src/components/Product/ProductContent.vue?9e89","webpack://lms_v4/src/components/Product/ProductContent.vue","webpack://lms_v4/./src/components/Product/ProductContent.vue?ce6b","webpack://lms_v4/./src/components/Product/ProductContent.vue","webpack://lms_v4/./src/components/Product/ProductContentAccordian.vue?a1ff","webpack://lms_v4/src/components/Product/ProductContentAccordian.vue","webpack://lms_v4/./src/components/Product/ProductContentAccordian.vue?5d09","webpack://lms_v4/./src/components/Product/ProductContentAccordian.vue","webpack://lms_v4/./src/components/Product/ProductContentAccordianList.vue?3529","webpack://lms_v4/src/components/Product/ProductContentAccordianList.vue","webpack://lms_v4/./src/components/Product/ProductContentAccordianList.vue?f32a","webpack://lms_v4/./src/components/Product/ProductContentAccordianList.vue","webpack://lms_v4/./src/components/Product/ProductContentList.vue?194d","webpack://lms_v4/src/components/Product/ProductContentList.vue","webpack://lms_v4/./src/components/Product/ProductContentList.vue?408d","webpack://lms_v4/./src/components/Product/ProductContentList.vue","webpack://lms_v4/./src/components/Product/ProductContentListItem.vue?5393","webpack://lms_v4/src/components/Product/ProductContentListItem.vue","webpack://lms_v4/./src/components/Product/ProductContentListItem.vue?8ff2","webpack://lms_v4/./src/components/Product/ProductContentListItem.vue","webpack://lms_v4/./src/components/Product/ProductContentSidebar.vue?3bac","webpack://lms_v4/src/components/Product/ProductContentSidebar.vue","webpack://lms_v4/./src/components/Product/ProductContentSidebar.vue?c279","webpack://lms_v4/./src/components/Product/ProductContentSidebar.vue","webpack://lms_v4/./src/components/Product/ProductContentTabs.vue?5f73","webpack://lms_v4/src/components/Product/ProductContentTabs.vue","webpack://lms_v4/./src/components/Product/ProductContentTabs.vue?ab8d","webpack://lms_v4/./src/components/Product/ProductContentTabs.vue","webpack://lms_v4/./src/components/Product/ProductDetailsCard.vue?6646","webpack://lms_v4/src/components/Product/ProductDetailsCard.vue","webpack://lms_v4/./src/components/Product/ProductDetailsCard.vue?7942","webpack://lms_v4/./src/components/Product/ProductDetailsCard.vue","webpack://lms_v4/./src/components/Product/ProductDetailsCardMobile.vue?9040","webpack://lms_v4/src/components/Product/ProductDetailsCardMobile.vue","webpack://lms_v4/./src/components/Product/ProductDetailsCardMobile.vue?7cb3","webpack://lms_v4/./src/components/Product/ProductDetailsCardMobile.vue","webpack://lms_v4/./src/components/Product/ProductDetailsCardOldUI.vue?c137","webpack://lms_v4/src/components/Product/ProductDetailsCardOldUI.vue","webpack://lms_v4/./src/components/Product/ProductDetailsCardOldUI.vue?4aa3","webpack://lms_v4/./src/components/Product/ProductDetailsCardOldUI.vue","webpack://lms_v4/./src/components/Product/ProductDetailsModal.vue?f0b1","webpack://lms_v4/src/components/Product/ProductDetailsModal.vue","webpack://lms_v4/./src/components/Product/ProductDetailsModal.vue?d407","webpack://lms_v4/./src/components/Product/ProductDetailsModal.vue","webpack://lms_v4/./src/components/Product/ProductDetailsTopCard.vue?460c","webpack://lms_v4/src/components/Product/ProductDetailsTopCard.vue","webpack://lms_v4/./src/components/Product/ProductDetailsTopCard.vue?9edc","webpack://lms_v4/./src/components/Product/ProductDetailsTopCard.vue","webpack://lms_v4/./src/components/Product/ProductDropdown/ProductDropDownLeftPanel.vue?4c5e","webpack://lms_v4/src/components/Product/ProductDropdown/ProductDropDownLeftPanel.vue","webpack://lms_v4/./src/components/Product/ProductDropdown/ProductDropDownLeftPanel.vue?b154","webpack://lms_v4/./src/components/Product/ProductDropdown/ProductDropDownLeftPanel.vue","webpack://lms_v4/./src/components/Product/ProductDropdown/ProductDropdown.vue?1ca8","webpack://lms_v4/src/components/Product/ProductDropdown/ProductDropdown.vue","webpack://lms_v4/./src/components/Product/ProductDropdown/ProductDropdown.vue?9d3e","webpack://lms_v4/./src/components/Product/ProductDropdown/ProductDropdown.vue","webpack://lms_v4/./src/components/Product/ProductDropdown/ProductDropdownRightPanel.vue?af74","webpack://lms_v4/src/components/Product/ProductDropdown/ProductDropdownRightPanel.vue","webpack://lms_v4/./src/components/Product/ProductDropdown/ProductDropdownRightPanel.vue?5a0f","webpack://lms_v4/./src/components/Product/ProductDropdown/ProductDropdownRightPanel.vue","webpack://lms_v4/./src/components/Product/ProductFeedbackCard.vue?1399","webpack://lms_v4/src/components/Product/ProductFeedbackCard.vue","webpack://lms_v4/./src/components/Product/ProductFeedbackCard.vue?549f","webpack://lms_v4/./src/components/Product/ProductFeedbackCard.vue","webpack://lms_v4/./src/components/Product/ProductFilters.vue?e7a8","webpack://lms_v4/src/components/Product/ProductFilters.vue","webpack://lms_v4/./src/components/Product/ProductFilters.vue?1925","webpack://lms_v4/./src/components/Product/ProductFilters.vue","webpack://lms_v4/./src/components/Product/ProductList.vue?2e51","webpack://lms_v4/src/components/Product/ProductList.vue","webpack://lms_v4/./src/components/Product/ProductList.vue?1327","webpack://lms_v4/./src/components/Product/ProductList.vue","webpack://lms_v4/./src/components/Product/ProductListItem.vue?e3b0","webpack://lms_v4/src/components/Product/ProductListItem.vue","webpack://lms_v4/./src/components/Product/ProductListItem.vue?f171","webpack://lms_v4/./src/components/Product/ProductListItem.vue","webpack://lms_v4/./src/components/Product/ProductPageBanner.vue?a5bd","webpack://lms_v4/src/components/Product/ProductPageBanner.vue","webpack://lms_v4/./src/components/Product/ProductPageBanner.vue?7d84","webpack://lms_v4/./src/components/Product/ProductPageBanner.vue","webpack://lms_v4/./src/components/Product/ProductPricingPlanItem.vue?e68a","webpack://lms_v4/src/components/Product/ProductPricingPlanItem.vue","webpack://lms_v4/./src/components/Product/ProductPricingPlanItem.vue?62f0","webpack://lms_v4/./src/components/Product/ProductPricingPlanItem.vue","webpack://lms_v4/./src/components/Product/ProductPricingPlansModal.vue?5e48","webpack://lms_v4/src/components/Product/ProductPricingPlansModal.vue","webpack://lms_v4/./src/components/Product/ProductPricingPlansModal.vue?94da","webpack://lms_v4/./src/components/Product/ProductPricingPlansModal.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Calculator.vue?17dd","webpack://lms_v4/./src/components/ProductContentDashboard/Calculator.vue?2ca0","webpack://lms_v4/./src/components/ProductContentDashboard/Calculator.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/Assignment.vue?1ba6","webpack://lms_v4/src/components/ProductContentDashboard/Content/Assignment.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/Assignment.vue?9b16","webpack://lms_v4/./src/components/ProductContentDashboard/Content/Assignment.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/Exam.vue?7199","webpack://lms_v4/src/components/ProductContentDashboard/Content/Exam.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/Exam.vue?bb48","webpack://lms_v4/./src/components/ProductContentDashboard/Content/Exam.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/Flashcards.vue?5161","webpack://lms_v4/src/components/ProductContentDashboard/Content/Flashcards.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/Flashcards.vue?9a19","webpack://lms_v4/./src/components/ProductContentDashboard/Content/Flashcards.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/FreeText.vue?4743","webpack://lms_v4/src/components/ProductContentDashboard/Content/FreeText.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/FreeText.vue?eb6f","webpack://lms_v4/./src/components/ProductContentDashboard/Content/FreeText.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/LiveClass.vue?cab0","webpack://lms_v4/src/components/ProductContentDashboard/Content/LiveClass.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/LiveClass.vue?5da9","webpack://lms_v4/./src/components/ProductContentDashboard/Content/LiveClass.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/RecordedVideo.vue?4db3","webpack://lms_v4/src/components/ProductContentDashboard/Content/RecordedVideo.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/RecordedVideo.vue?4150","webpack://lms_v4/./src/components/ProductContentDashboard/Content/RecordedVideo.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/StudyMaterial.vue?d0a3","webpack://lms_v4/src/components/ProductContentDashboard/Content/StudyMaterial.vue","webpack://lms_v4/./src/components/ProductContentDashboard/Content/StudyMaterial.vue?ad99","webpack://lms_v4/./src/components/ProductContentDashboard/Content/StudyMaterial.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentAssignments.vue?cd95","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentAssignments.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentAssignments.vue?46d0","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentAssignments.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChapters.vue?e979","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentChapters.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChapters.vue?1580","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChapters.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersBookmarks.vue?351c","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentChaptersBookmarks.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersBookmarks.vue?ad72","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersBookmarks.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersConfidence.vue?1b1a","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentChaptersConfidence.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersConfidence.vue?86fd","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersConfidence.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersContentList.vue?02c6","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentChaptersContentList.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersContentList.vue?9e0c","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersContentList.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersContentListItem.vue?cf19","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentChaptersContentListItem.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersContentListItem.vue?1b6d","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersContentListItem.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersHighlights.vue?dd4b","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentChaptersHighlights.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersHighlights.vue?17a6","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentChaptersHighlights.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentClasses.vue?a4bd","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentClasses.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentClasses.vue?0e0c","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentClasses.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentClassesTab.vue?bae6","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentClassesTab.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentClassesTab.vue?1442","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentClassesTab.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentExams.vue?fe92","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentExams.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentExams.vue?94a7","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentExams.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentFlashCards.vue?7474","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentFlashCards.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentFlashCards.vue?a6b3","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentFlashCards.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentSection.vue?f814","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentSection.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentSection.vue?1be0","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentSection.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentSidebar.vue?c463","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentSidebar.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentSidebar.vue?30fc","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentSidebar.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentView.vue?9cdc","webpack://lms_v4/src/components/ProductContentDashboard/ProductContentView.vue","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentView.vue?7480","webpack://lms_v4/./src/components/ProductContentDashboard/ProductContentView.vue","webpack://lms_v4/./src/components/ProductVariant/ProductVariantFeedbackModal.vue?f5af","webpack://lms_v4/src/components/ProductVariant/ProductVariantFeedbackModal.vue","webpack://lms_v4/./src/components/ProductVariant/ProductVariantFeedbackModal.vue?4842","webpack://lms_v4/./src/components/ProductVariant/ProductVariantFeedbackModal.vue","webpack://lms_v4/./src/components/Profile/ChangePasswordModal.vue?22d7","webpack://lms_v4/src/components/Profile/ChangePasswordModal.vue","webpack://lms_v4/./src/components/Profile/ChangePasswordModal.vue?7bf4","webpack://lms_v4/./src/components/Profile/ChangePasswordModal.vue","webpack://lms_v4/./src/components/Profile/EditProfileModal.vue?05d6","webpack://lms_v4/src/components/Profile/EditProfileModal.vue","webpack://lms_v4/./src/components/Profile/EditProfileModal.vue?7eb1","webpack://lms_v4/./src/components/Profile/EditProfileModal.vue","webpack://lms_v4/./src/components/Support/AddTicketModal.vue?c93e","webpack://lms_v4/src/components/Support/AddTicketModal.vue","webpack://lms_v4/./src/components/Support/AddTicketModal.vue?d554","webpack://lms_v4/./src/components/Support/AddTicketModal.vue","webpack://lms_v4/./src/components/Support/ViewTicketModal.vue?1151","webpack://lms_v4/src/components/Support/ViewTicketModal.vue","webpack://lms_v4/./src/components/Support/ViewTicketModal.vue?68f1","webpack://lms_v4/./src/components/Support/ViewTicketModal.vue","webpack://lms_v4/./src/components/UserDashboard/ReminderListItem.vue?e12a","webpack://lms_v4/src/components/UserDashboard/ReminderListItem.vue","webpack://lms_v4/./src/components/UserDashboard/ReminderListItem.vue?7175","webpack://lms_v4/./src/components/UserDashboard/ReminderListItem.vue","webpack://lms_v4/./src/components/UserDashboard/Reminders.vue?0563","webpack://lms_v4/src/components/UserDashboard/Reminders.vue","webpack://lms_v4/./src/components/UserDashboard/Reminders.vue?caa0","webpack://lms_v4/./src/components/UserDashboard/Reminders.vue","webpack://lms_v4/./src/components/UserDashboard/UserDashboardProducts.vue?f667","webpack://lms_v4/src/components/UserDashboard/UserDashboardProducts.vue","webpack://lms_v4/./src/components/UserDashboard/UserDashboardProducts.vue?83db","webpack://lms_v4/./src/components/UserDashboard/UserDashboardProducts.vue","webpack://lms_v4/./src/components/UserDashboard/UserDashboardProductsListItem.vue?dfbe","webpack://lms_v4/src/components/UserDashboard/UserDashboardProductsListItem.vue","webpack://lms_v4/./src/components/UserDashboard/UserDashboardProductsListItem.vue?5d98","webpack://lms_v4/./src/components/UserDashboard/UserDashboardProductsListItem.vue","webpack://lms_v4/./src/custom/astc/CourseRegistration.vue?24cf","webpack://lms_v4/src/custom/astc/CourseRegistration.vue","webpack://lms_v4/./src/custom/astc/CourseRegistration.vue?c19c","webpack://lms_v4/./src/custom/astc/CourseRegistration.vue","webpack://lms_v4/./src/custom/astc/Home.vue?f04a","webpack://lms_v4/src/custom/astc/Home.vue","webpack://lms_v4/./src/custom/astc/Home.vue?c4cd","webpack://lms_v4/./src/custom/astc/Home.vue","webpack://lms_v4/./src/custom/astc/components/ProductRegistrationListItem.vue?0732","webpack://lms_v4/src/custom/astc/components/ProductRegistrationListItem.vue","webpack://lms_v4/./src/custom/astc/components/ProductRegistrationListItem.vue?de86","webpack://lms_v4/./src/custom/astc/components/ProductRegistrationListItem.vue","webpack://lms_v4/./src/custom/edcentra/Dashboard.vue?8b5d","webpack://lms_v4/src/custom/edcentra/Dashboard.vue","webpack://lms_v4/./src/custom/edcentra/Dashboard.vue?e0b5","webpack://lms_v4/./src/custom/edcentra/Dashboard.vue","webpack://lms_v4/./src/custom/edcentra/Home.vue?db51","webpack://lms_v4/src/custom/edcentra/Home.vue","webpack://lms_v4/./src/custom/edcentra/Home.vue?0ddf","webpack://lms_v4/./src/custom/edcentra/Home.vue","webpack://lms_v4/./src/custom/edcentra/HomepageBecomeInstructor.vue?a2dc","webpack://lms_v4/src/custom/edcentra/HomepageBecomeInstructor.vue","webpack://lms_v4/./src/custom/edcentra/HomepageBecomeInstructor.vue?3576","webpack://lms_v4/./src/custom/edcentra/HomepageBecomeInstructor.vue","webpack://lms_v4/./src/custom/edcentra/HomepageTestimonials.vue?2409","webpack://lms_v4/src/custom/edcentra/HomepageTestimonials.vue","webpack://lms_v4/./src/custom/edcentra/HomepageTestimonials.vue?c254","webpack://lms_v4/./src/custom/edcentra/HomepageTestimonials.vue","webpack://lms_v4/./src/custom/edcentra/TeachWithUs.vue?1984","webpack://lms_v4/src/custom/edcentra/TeachWithUs.vue","webpack://lms_v4/./src/custom/edcentra/TeachWithUs.vue?92cc","webpack://lms_v4/./src/custom/edcentra/TeachWithUs.vue","webpack://lms_v4/./src/custom/edcentra/components/DashboardBanner.vue?8902","webpack://lms_v4/src/custom/edcentra/components/DashboardBanner.vue","webpack://lms_v4/./src/custom/edcentra/components/DashboardBanner.vue?b6e3","webpack://lms_v4/./src/custom/edcentra/components/DashboardBanner.vue","webpack://lms_v4/./src/custom/edcentra/components/UserProducts.vue?c6af","webpack://lms_v4/src/custom/edcentra/components/UserProducts.vue","webpack://lms_v4/./src/custom/edcentra/components/UserProducts.vue?3ce6","webpack://lms_v4/./src/custom/edcentra/components/UserProducts.vue","webpack://lms_v4/./src/custom/gocbe_global/Home.vue?8aa8","webpack://lms_v4/src/custom/gocbe_global/Home.vue","webpack://lms_v4/./src/custom/gocbe_global/Home.vue?69a4","webpack://lms_v4/./src/custom/gocbe_global/Home.vue","webpack://lms_v4/./src/custom/views/Cart.vue?fb98","webpack://lms_v4/src/custom/views/Cart.vue","webpack://lms_v4/./src/custom/views/Cart.vue?0335","webpack://lms_v4/./src/custom/views/Cart.vue","webpack://lms_v4/./src/views/About.vue?ee82","webpack://lms_v4/./src/views/About.vue","webpack://lms_v4/./src/views/Account.vue?a6ee","webpack://lms_v4/src/views/Account.vue","webpack://lms_v4/./src/views/Account.vue?c1c9","webpack://lms_v4/./src/views/Account.vue","webpack://lms_v4/./src/views/Admin/AttendanceWithBarcode.vue?86ff","webpack://lms_v4/src/views/Admin/AttendanceWithBarcode.vue","webpack://lms_v4/./src/views/Admin/AttendanceWithBarcode.vue?b108","webpack://lms_v4/./src/views/Admin/AttendanceWithBarcode.vue","webpack://lms_v4/./src/views/Admin/BulkOperations.vue?a8a3","webpack://lms_v4/src/views/Admin/BulkOperations.vue","webpack://lms_v4/./src/views/Admin/BulkOperations.vue?968c","webpack://lms_v4/./src/views/Admin/BulkOperations.vue","webpack://lms_v4/./src/views/Admin/CourseDetail.vue?dcad","webpack://lms_v4/src/views/Admin/CourseDetail.vue","webpack://lms_v4/./src/views/Admin/CourseDetail.vue?ea94","webpack://lms_v4/./src/views/Admin/CourseDetail.vue","webpack://lms_v4/./src/views/Admin/CourseManagement.vue?4ca1","webpack://lms_v4/src/views/Admin/CourseManagement.vue","webpack://lms_v4/./src/views/Admin/CourseManagement.vue?c23b","webpack://lms_v4/./src/views/Admin/CourseManagement.vue","webpack://lms_v4/./src/views/Admin/InvoiceManagement.vue?a098","webpack://lms_v4/src/views/Admin/InvoiceManagement.vue","webpack://lms_v4/./src/views/Admin/InvoiceManagement.vue?b0be","webpack://lms_v4/./src/views/Admin/InvoiceManagement.vue","webpack://lms_v4/./src/views/Admin/PaymentManagement.vue?23c7","webpack://lms_v4/src/views/Admin/PaymentManagement.vue","webpack://lms_v4/./src/views/Admin/PaymentManagement.vue?b5d4","webpack://lms_v4/./src/views/Admin/PaymentManagement.vue","webpack://lms_v4/./src/views/Admin/SystemPreferences.vue?e517","webpack://lms_v4/src/views/Admin/SystemPreferences.vue","webpack://lms_v4/./src/views/Admin/SystemPreferences.vue?c6cb","webpack://lms_v4/./src/views/Admin/SystemPreferences.vue","webpack://lms_v4/./src/views/Admin/UsersManagement.vue?c0b3","webpack://lms_v4/src/views/Admin/UsersManagement.vue","webpack://lms_v4/./src/views/Admin/UsersManagement.vue?8ae3","webpack://lms_v4/./src/views/Admin/UsersManagement.vue","webpack://lms_v4/./src/views/Cart.vue?d066","webpack://lms_v4/src/views/Cart.vue","webpack://lms_v4/./src/views/Cart.vue?5135","webpack://lms_v4/./src/views/Cart.vue","webpack://lms_v4/./src/views/Content.vue?1a57","webpack://lms_v4/src/views/Content.vue","webpack://lms_v4/./src/views/Content.vue?e09c","webpack://lms_v4/./src/views/Content.vue","webpack://lms_v4/./src/views/Dashboard.vue?6be6","webpack://lms_v4/src/views/Dashboard.vue","webpack://lms_v4/./src/views/Dashboard.vue?f58e","webpack://lms_v4/./src/views/Dashboard.vue","webpack://lms_v4/./src/views/Home.vue?5c44","webpack://lms_v4/src/views/Home.vue","webpack://lms_v4/./src/views/Home.vue?65f5","webpack://lms_v4/./src/views/Home.vue","webpack://lms_v4/./src/views/Invoice.vue?00d3","webpack://lms_v4/src/views/Invoice.vue","webpack://lms_v4/./src/views/Invoice.vue?a126","webpack://lms_v4/./src/views/Invoice.vue","webpack://lms_v4/./src/views/Payment.vue?1def","webpack://lms_v4/src/views/Payment.vue","webpack://lms_v4/./src/views/Payment.vue?7666","webpack://lms_v4/./src/views/Payment.vue","webpack://lms_v4/./src/views/ProductContentDashboard.vue?c64a","webpack://lms_v4/src/views/ProductContentDashboard.vue","webpack://lms_v4/./src/views/ProductContentDashboard.vue?3a17","webpack://lms_v4/./src/views/ProductContentDashboard.vue","webpack://lms_v4/./src/views/ProductContentPage.vue?50d6","webpack://lms_v4/src/views/ProductContentPage.vue","webpack://lms_v4/./src/views/ProductContentPage.vue?c6f0","webpack://lms_v4/./src/views/ProductContentPage.vue","webpack://lms_v4/./src/views/ProductDetails.vue?2441","webpack://lms_v4/src/views/ProductDetails.vue","webpack://lms_v4/./src/views/ProductDetails.vue?e832","webpack://lms_v4/./src/views/ProductDetails.vue","webpack://lms_v4/./src/views/Profile.vue?2dd4","webpack://lms_v4/src/views/Profile.vue","webpack://lms_v4/./src/views/Profile.vue?dff0","webpack://lms_v4/./src/views/Profile.vue","webpack://lms_v4/./src/views/Search.vue?e7d0","webpack://lms_v4/src/views/Search.vue","webpack://lms_v4/./src/views/Search.vue?a8fc","webpack://lms_v4/./src/views/Search.vue","webpack://lms_v4/./src/views/Support.vue?00f8","webpack://lms_v4/src/views/Support.vue","webpack://lms_v4/./src/views/Support.vue?20c8","webpack://lms_v4/./src/views/Support.vue","webpack://lms_v4/./src/views/UserDashboard.vue?b417","webpack://lms_v4/src/views/UserDashboard.vue","webpack://lms_v4/./src/views/UserDashboard.vue?92f1","webpack://lms_v4/./src/views/UserDashboard.vue","webpack://lms_v4/src/components/ProductContentDashboard/Calculator.vue","webpack://lms_v4/./src/constants/attendance.js","webpack://lms_v4/./src/constants/content.js","webpack://lms_v4/./src/constants/countryCodes.js","webpack://lms_v4/./src/constants/countryCurrency.js","webpack://lms_v4/./src/constants/currencyCodes.js","webpack://lms_v4/./src/constants/dist/banners.dev.js","webpack://lms_v4/./src/constants/errorMessages.js","webpack://lms_v4/./src/constants/exam.js","webpack://lms_v4/./src/constants/globalTextConstants.js","webpack://lms_v4/./src/constants/live_class.js","webpack://lms_v4/./src/constants/platforms.js","webpack://lms_v4/./src/constants/pricing.js","webpack://lms_v4/./src/constants/productCarouselSettings.js","webpack://lms_v4/./src/constants/productVariant.js","webpack://lms_v4/./src/constants/question.js","webpack://lms_v4/./src/constants/requestOptions.js","webpack://lms_v4/./src/constants/serviceCodes.js","webpack://lms_v4/./src/constants/urls.js","webpack://lms_v4/./src/constants/user.js","webpack://lms_v4/./src/helpers/ApiHelpers.js","webpack://lms_v4/./src/helpers/Converters.js","webpack://lms_v4/./src/helpers/CookieHelpers.js","webpack://lms_v4/./src/helpers/FormatHelpers.js","webpack://lms_v4/./src/helpers/StringMethods.js","webpack://lms_v4/./src/main.js","webpack://lms_v4/./src/models/content/directory.js","webpack://lms_v4/./src/models/content/liveClass.js","webpack://lms_v4/./src/models/content/recordedVideo.js","webpack://lms_v4/./src/models/product.js","webpack://lms_v4/./src/models/productVariant.js","webpack://lms_v4/./src/models/user.js","webpack://lms_v4/./src/router/index.js","webpack://lms_v4/./src/router/routes/al-midrar.js","webpack://lms_v4/./src/router/routes/anees_hussain.js","webpack://lms_v4/./src/router/routes/astc.js","webpack://lms_v4/./src/router/routes/default.js","webpack://lms_v4/./src/router/routes/edcentra.js","webpack://lms_v4/./src/services/app.service.js","webpack://lms_v4/./src/services/assignment.service.js","webpack://lms_v4/./src/services/category.service.js","webpack://lms_v4/./src/services/content.service.js","webpack://lms_v4/./src/services/exam.service.js","webpack://lms_v4/./src/services/form.service.js","webpack://lms_v4/./src/services/pricing.service.js","webpack://lms_v4/./src/services/product.service.js","webpack://lms_v4/./src/services/productVariant.service.js","webpack://lms_v4/./src/services/quiz.service.js","webpack://lms_v4/./src/services/support.service.js","webpack://lms_v4/./src/services/user.service.js","webpack://lms_v4/./src/store/app.module.js","webpack://lms_v4/./src/store/assignment.module.js","webpack://lms_v4/./src/store/bulkFileUploading.module.js","webpack://lms_v4/./src/store/cart.module.js","webpack://lms_v4/./src/store/category.module.js","webpack://lms_v4/./src/store/content.module.js","webpack://lms_v4/./src/store/exam.module.js","webpack://lms_v4/./src/store/form.module.js","webpack://lms_v4/./src/store/index.js","webpack://lms_v4/./src/store/pricing.module.js","webpack://lms_v4/./src/store/product.module.js","webpack://lms_v4/./src/store/productVariant.module.js","webpack://lms_v4/./src/store/quiz.module.js","webpack://lms_v4/./src/store/support.module.js","webpack://lms_v4/./src/store/user.module.js","webpack://lms_v4/./src/utils/csv-reader.js","webpack://lms_v4/./src/utils/external-component.js","webpack://lms_v4/./src/utils/xlsx-reader.js","webpack://lms_v4/./src/components/Cart/ sync ^@.*$","webpack://lms_v4/./src/components/Invoice/ sync ^@.*$","webpack://lms_v4/./src/router/routes/ sync ^\\.\\/.*$","webpack://lms_v4/./src/ sync ^\\.\\/.*$","webpack://lms_v4/webpack/bootstrap","webpack://lms_v4/webpack/runtime/amd options","webpack://lms_v4/webpack/runtime/chunk loaded","webpack://lms_v4/webpack/runtime/compat get default export","webpack://lms_v4/webpack/runtime/define property getters","webpack://lms_v4/webpack/runtime/ensure chunk","webpack://lms_v4/webpack/runtime/get javascript chunk filename","webpack://lms_v4/webpack/runtime/get mini-css chunk filename","webpack://lms_v4/webpack/runtime/global","webpack://lms_v4/webpack/runtime/hasOwnProperty shorthand","webpack://lms_v4/webpack/runtime/load script","webpack://lms_v4/webpack/runtime/make namespace object","webpack://lms_v4/webpack/runtime/node module decorator","webpack://lms_v4/webpack/runtime/publicPath","webpack://lms_v4/webpack/runtime/jsonp chunk loading","webpack://lms_v4/webpack/startup"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(_vm.user && _vm.user.type.toLowerCase()=='management')?'Admin-Scope':'Scope'},[(!(_vm.systemParameters && _vm.customFilesLoaded))?_c('Loading'):_c('div',[_c(_vm.headerComponent,{tag:\"component\",attrs:{\"collapsed\":_vm.sidebarIsCollapsed},on:{\"toggleSidebar\":_vm.toggleSidebar,\"openPDF\":_vm.toggleModal}}),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.isAdmin)?_c('AdminSidebar',{attrs:{\"collapsed\":_vm.sidebarIsCollapsed}},[_c('router-view',{staticClass:\"main admin-main\"})],1):_vm._e(),(!_vm.isAdmin)?_c('router-view',{staticClass:\"main student-main\"}):_vm._e()],1),_c('vue-progress-bar'),(_vm.showWhatsApp)?_c('a',{staticClass:\"whatsup-button\",attrs:{\"href\":'https://api.whatsapp.com/send?phone=' + (_vm.systemParameters.TenantInfo.WhatsAppNumbers[0].replace('+', '')),\"target\":\"_blank\"}},[_c('i',{staticClass:\"fab fa-whatsapp\",staticStyle:{\"margin-top\":\"16px\",\"font-size\":\"2rem\"}}),_c('span',{staticClass:\"whatsapp-btn-text hide-text\"},[_vm._v(\"Whatsapp Us\")])]):_vm._e(),(!_vm.isAdmin && !_vm.isProductContentDashboardPage)?_c('Footer'):_vm._e(),_c('b-modal',{attrs:{\"visible\":_vm.showDocumentModal,\"centered\":\"\",\"hide-footer\":\"\",\"hide-header\":\"\",\"size\":\"xl\",\"id\":\"view-study-material-modal\",\"content-class\":\"view-study-material-modal\",\"body-class\":\"modal-body\",\"modal-class\":\"custom-modal\"},on:{\"change\":function($event){return _vm.closeModal()}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.closeModal()}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),(_vm.type == 'pdf')?_c('embed',{attrs:{\"src\":(_vm.iframeLink + \"#toolbar=0\"),\"frameborder\":\"0\",\"width\":\"100%\",\"height\":\"100%\"}}):_vm._e()])]),(_vm.isShowForm && _vm.processingFormID)?_c('FormModal',{attrs:{\"visible\":_vm.isShowForm,\"formID\":_vm.processingFormID},on:{\"closeModalState\":_vm.closeFormModal}}):_vm._e(),(_vm.isAdmin)?_c('UploadRecordedLectureInBackgroundModal'):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div :class=\"(user && user.type.toLowerCase()=='management')?'Admin-Scope':'Scope'\">\n\t\t<Loading v-if=\"!(systemParameters && customFilesLoaded)\" />\n\t\t<!-- <Header /> -->\n\t\t<div v-else>\n\t\t\t<component @toggleSidebar=\"toggleSidebar\" :is=\"headerComponent\" :collapsed=\"sidebarIsCollapsed\"\n\t\t\t\t@openPDF=\"toggleModal\" />\n\t\t\t<transition name=\"fade\">\n\t\t\t\t<AdminSidebar v-if=\"isAdmin\" :collapsed=\"sidebarIsCollapsed\">\n\t\t\t\t\t<router-view class=\"main admin-main\" />\n\t\t\t\t</AdminSidebar>\n\t\t\t\t<router-view v-if=\"!isAdmin\" class=\"main student-main\" />\n\t\t\t</transition>\n\t\t\t<vue-progress-bar></vue-progress-bar>\n\n\t\t\t<a v-if=\"showWhatsApp\" class=\"whatsup-button\"\n\t\t\t\t:href=\"'https://api.whatsapp.com/send?phone=' + (systemParameters.TenantInfo.WhatsAppNumbers[0].replace('+', ''))\"\n\t\t\t\ttarget=\"_blank\">\n\t\t\t\t<i class=\"fab fa-whatsapp\" style=\"margin-top:16px;font-size:2rem;\"></i>\n\t\t\t\t<span class=\"whatsapp-btn-text hide-text\">Whatsapp Us</span>\n\t\t\t</a>\n\n\t\t\t<Footer v-if=\"!isAdmin && !isProductContentDashboardPage\" />\n\t\t\t<b-modal :visible=\"showDocumentModal\" centered hide-footer hide-header @change=\"closeModal()\" size=\"xl\"\n\t\t\t\tid=\"view-study-material-modal\" content-class=\"view-study-material-modal\" body-class=\"modal-body\"\n\t\t\t\tmodal-class=\"custom-modal\">\n\t\t\t\t<div class=\"body-container\">\n\t\t\t\t\t<button @click=\"closeModal()\" class=\"close-button\" role=\"button\">\n\t\t\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t\t\t</button>\n\t\t\t\t\t<embed v-if=\"type == 'pdf'\" :src=\"`${iframeLink}#toolbar=0`\" frameborder=\"0\" width=\"100%\"\n\t\t\t\t\t\theight=\"100%\" />\n\t\t\t\t</div>\n\t\t\t</b-modal>\n\t\t\t<FormModal v-if=\"isShowForm && processingFormID\" :visible=\"isShowForm\" :formID=\"processingFormID\"\n\t\t\t\t@closeModalState=\"closeFormModal\" />\n\t\t\t<UploadRecordedLectureInBackgroundModal v-if=\"isAdmin\"></UploadRecordedLectureInBackgroundModal>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapState, mapMutations } from \"vuex\";\nimport Header from \"./components/Layout/Header.vue\";\nimport AdminHeader from \"./components/Admin/Layout/AdminHeader.vue\";\nimport AdminSidebar from \"./components/Admin/Layout/AdminSidebar.vue\";\nimport Footer from \"./components/Layout/Footer.vue\";\nimport Loading from \"./components/Layout/Loading.vue\";\nimport FormModal from \"./components/Form/FormModal.vue\";\nimport UploadRecordedLectureInBackgroundModal from \"./components/Admin/Content/UploadRecordedLectureInBackgroundModal.vue\"\nimport jQuery from \"jquery\";\nimport Vue from \"vue\";\n\nexport default {\n\tname: \"App\",\n\tdata() {\n\t\treturn {\n\t\t\tsidebarIsCollapsed: false,\n\t\t\tshowDocumentModal: false,\n\t\t\tiframeLink: null,\n\t\t\ttype: null,\n\t\t\tisShowForm: false,\n\t\t\tprocessingFormID: null,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\n\t\t\t\"loading\",\n\t\t\t\"systemParameters\",\n\t\t\t\"amIOnline\",\n\t\t\t\"customFilesLoaded\",\n\t\t]),\n\t\t...mapState(\"user\", [\"user\"]),\n\t\theaderComponent() {\n\t\t\tif (this.$route.meta.isAdmin) {\n\t\t\t\treturn AdminHeader;\n\t\t\t} else if (this.user) {\n\t\t\t\tif (this.user.type && this.user.type.toLowerCase() != \"student\") {\n\t\t\t\t\tconsole.log(\"user is not student\");\n\t\t\t\t\treturn AdminHeader;\n\t\t\t\t} else return Header;\n\t\t\t} else return Header;\n\n\t\t},\n\t\tisAdmin() {\n\t\t\treturn this.$route.meta.isAdmin;\n\t\t},\n\t\tisProductContentDashboardPage() {\n\t\t\treturn this.$route.meta.isProductContentDashboardPage;\n\t\t},\n\t\tshowWhatsApp() {\n\t\t\treturn this.systemParameters &&\n\t\t\t\t\tthis.systemParameters.TenantInfo &&\n\t\t\t\t\tthis.systemParameters.TenantInfo.WhatsAppButton == true &&\n\t\t\t\t\tthis.systemParameters.TenantInfo.WhatsAppNumbers &&\n\t\t\t\t\tthis.systemParameters.TenantInfo.WhatsAppNumbers.length > 0 && !this.user;\n\t\t}\n\t},\n\tmethods: {\n\t\t...mapMutations(\"appState\", [\"setOnlineStatus\"]),\n\t\ttoggleSidebar() {\n\t\t\tthis.sidebarIsCollapsed = !this.sidebarIsCollapsed;\n\t\t},\n\t\ttoggleModal(link) {\n\t\t\tthis.showDocumentModal = true;\n\t\t\tthis.iframeLink = link;\n\t\t\tthis.type = \"pdf\";\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.showDocumentModal = false;\n\t\t\tthis.iframeLink = null;\n\t\t},\n\t\tconnect() {\n\t\t\tvar url = \"https://gocbe-lms-files.b-cdn.net/1x1.png\";\n\t\t\tjQuery.ajax({\n\t\t\t\turl: url,\n\t\t\t\ttype: \"GET\",\n\t\t\t\ttimeout: 10000,\n\t\t\t\tsuccess: function () {\n\t\t\t\t\tthis.setOnlineStatus(true);\n\t\t\t\t}.bind(this),\n\t\t\t\terror: function () {\n\t\t\t\t\tthis.setOnlineStatus(false);\n\t\t\t\t}.bind(this),\n\t\t\t});\n\t\t},\n\n\t\tcheckForm() {\n\t\t\tconst user = JSON.parse(localStorage.getItem(\"user\"));\n\t\t\tif (user && user.type.toLowerCase() == \"student\" && localStorage.getItem(\"ProcessingFormID\")) {\n\t\t\t\tthis.isShowForm = true;\n\t\t\t\tthis.processingFormID = localStorage.getItem(\"ProcessingFormID\");\n\t\t\t}\n\t\t},\n\t\tcloseFormModal() {\n\t\t\tthis.isShowForm = false;\n\t\t\tthis.processingFormID = null;\n\t\t}\n\t},\n\tcomponents: {\n\t\tHeader,\n\t\tFooter,\n\t\tLoading,\n\t\tAdminHeader,\n\t\tAdminSidebar,\n\t\tFormModal,\n\t\tUploadRecordedLectureInBackgroundModal\n\t},\n\tcreated() {\n\t\t//const Bowser = require(\"bowser\"); // CommonJS\n\t\t//import Bowser from \"bowser\";\n\t\t// var showBrowserUpdateMessage = false;\n\t\tconst browser = bowser.getParser(window.navigator.userAgent);\n\t\tconst isValidBrowser = browser.satisfies({\n\t\t\t\"electron\": \">=19\",\n\t\t\tchrome: \">=87\",\n\t\t\tfirefox: \">=87\",\n\t\t\t\"microsoft edge\": \">=87\",\n\t\t\tsafari: \">=12\",\n\t\t});\n\n\t\tif (!isValidBrowser) {\n\t\t\t// alert(\"please update browser\");\n\t\t\t$(\"body\").prepend(\n\t\t\t\t`<div style=\"width: 100%; height: auto; padding: 8px; background-color: orange; color: black; font-weight: bold; text-align: center;\">Your browser is outdated or not completely compatible with this portal. Please update to the latest version of Google Chrome for smooth working of all features.</div>`\n\t\t\t);\n\t\t}\n\t\tVue.prototype.$Modal = this.$bvModal;\n\t\tsetInterval(\n\t\t\tfunction () {\n\t\t\t\tthis.connect();\n\t\t\t}.bind(this),\n\t\t\t20000\n\t\t);\n\t\tthis.checkForm();\n\t},\n\tmounted() {\n\t\tthis.$Progress.start();\n\n\t\tthis.$nextTick(() => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tvar svg = document.querySelectorAll(\".color-change-svg\");\n\t\t\t\t// console.log(\"svg\", svg);\n\t\t\t\tfor (var j = 0; j < svg.length; j++) {\n\t\t\t\t\tvar data = svg[j].contentDocument;\n\t\t\t\t\tif (data) {\n\t\t\t\t\t\tvar primary = data.querySelectorAll(\".primary-color\");\n\t\t\t\t\t\tvar secondary = data.querySelectorAll(\".secondary-color\");\n\t\t\t\t\t\t// console.log(primary);\n\t\t\t\t\t\tfor (var i = 0; i < primary.length; i++) {\n\t\t\t\t\t\t\tprimary[i].attributes[\"fill\"].value =\n\t\t\t\t\t\t\t\tthis.systemParameters.Theme.PrimaryColor;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (var i = 0; i < secondary.length; i++) {\n\t\t\t\t\t\t\tsecondary[i].attributes[\"fill\"].value =\n\t\t\t\t\t\t\t\tthis.systemParameters.Theme.SecondaryColor;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 300);\n\t\t});\n\t},\n\twatch: {\n\t\tuser: function(){\n\t\t\tconsole.log('user watched')\n\t\t\tthis.showWhatsappButton()\n\t\t},\n\t\t$route() {\n\t\t\twindow.dispatchEvent(new Event(\"popstate\"));\n\t\t\tsetTimeout(() => (document.querySelector(\"body\").scrollTop = 0), 600);\n\t\t\tif (this.systemParameters.Theme) {\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tvar svg = document.querySelectorAll(\".color-change-svg\");\n\t\t\t\t\t\t// console.log(\"svg\", svg);\n\t\t\t\t\t\tfor (var j = 0; j < svg.length; j++) {\n\t\t\t\t\t\t\tvar data = svg[j].contentDocument;\n\t\t\t\t\t\t\tif (data) {\n\t\t\t\t\t\t\t\tvar primary = data.querySelectorAll(\".primary-color\");\n\t\t\t\t\t\t\t\tvar secondary = data.querySelectorAll(\".secondary-color\");\n\t\t\t\t\t\t\t\t// console.log(primary);\n\t\t\t\t\t\t\t\tfor (var i = 0; i < primary.length; i++) {\n\t\t\t\t\t\t\t\t\tprimary[i].attributes[\"fill\"].value =\n\t\t\t\t\t\t\t\t\t\tthis.systemParameters.Theme.PrimaryColor;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tfor (var i = 0; i < secondary.length; i++) {\n\t\t\t\t\t\t\t\t\tsecondary[i].attributes[\"fill\"].value =\n\t\t\t\t\t\t\t\t\t\tthis.systemParameters.Theme.SecondaryColor;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 300);\n\t\t\t\t});\n\t\t\t}\n\t\t\t// console.log(\"route changes\", this.ZoomMtg);\n\t\t},\n\t\tsystemParameters: function () {\n\t\t\tvar root = document.querySelector(\":root\");\n\t\t\tif (this.systemParameters.Theme) {\n\t\t\t\troot.style.setProperty(\n\t\t\t\t\t\"--primary-color\",\n\t\t\t\t\tthis.systemParameters.Theme.PrimaryColor\n\t\t\t\t);\n\t\t\t\troot.style.setProperty(\n\t\t\t\t\t\"--secondary-color\",\n\t\t\t\t\tthis.systemParameters.Theme.SecondaryColor\n\t\t\t\t);\n\t\t\t\t// console.log(getComputedStyle(root).getPropertyValue(\"--primary-color\"));\n\t\t\t\t// styles.setProperty(\"--primary-color\", \"#b73439\");\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tvar svg = document.querySelectorAll(\".color-change-svg\");\n\t\t\t\t\t\t// console.log(\"svg\", svg);\n\t\t\t\t\t\tfor (var j = 0; j < svg.length; j++) {\n\t\t\t\t\t\t\tvar data = svg[j].contentDocument;\n\t\t\t\t\t\t\tif (data) {\n\t\t\t\t\t\t\t\tvar primary = data.querySelectorAll(\".primary-color\");\n\t\t\t\t\t\t\t\tvar secondary = data.querySelectorAll(\".secondary-color\");\n\t\t\t\t\t\t\t\t// console.log(primary);\n\t\t\t\t\t\t\t\tfor (var i = 0; i < primary.length; i++) {\n\t\t\t\t\t\t\t\t\tprimary[i].attributes[\"fill\"].value =\n\t\t\t\t\t\t\t\t\t\tthis.systemParameters.Theme.PrimaryColor;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tfor (var i = 0; i < secondary.length; i++) {\n\t\t\t\t\t\t\t\t\tsecondary[i].attributes[\"fill\"].value =\n\t\t\t\t\t\t\t\t\t\tthis.systemParameters.Theme.SecondaryColor;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 300);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\troot.style.setProperty(\"--primary-color\", \"#CB222B\");\n\t\t\t\troot.style.setProperty(\"--secondary-color\", \"#000000\");\n\t\t\t}\n\n\t\t\tvar link = document.querySelector(\"link[rel~='icon']\");\n\t\t\tif (this.systemParameters.FaviconPath) {\n\t\t\t\tif (!link) {\n\t\t\t\t\tlink = document.createElement(\"link\");\n\t\t\t\t\tlink.rel = \"icon\";\n\t\t\t\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(link);\n\t\t\t\t}\n\t\t\t\tlink.href = this.systemParameters.FaviconPath;\n\t\t\t} else {\n\t\t\t\tlink.href = require(\"@/assets/images/gocbe_logo_small.png\");\n\t\t\t}\n\t\t},\n\t\tamIOnline: function () {\n\t\t\tif (!this.amIOnline) {\n\t\t\t\tthis.$toasted.error(\n\t\t\t\t\t\"Looks like you are not connected to the internet. Please check your connection and try again.\",\n\t\t\t\t\t{\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-right\",\n\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t// action: {\n\t\t\t\t\t\t// \ttext: \"RETRY\",\n\t\t\t\t\t\t// \tonClick: (e, toastObject) => {\n\t\t\t\t\t\t// \t\ttoastObject.goAway(0);\n\t\t\t\t\t\t// \t\twindow.location.reload();\n\t\t\t\t\t\t// \t},\n\t\t\t\t\t\t// },\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.$toasted.clear();\n\t\t\tthis.$toasted.success(\"Internet connection restored!\", {\n\t\t\t\ticon: \"check\",\n\t\t\t\ttheme: \"outline\",\n\t\t\t\tposition: \"bottom-right\",\n\t\t\t\tduration: 3000,\n\t\t\t\t// singleton: true,\n\t\t\t});\n\t\t},\n\t},\n};\n</script>\n\n<style>\n.Admin-Scope .student-main {\n\tpadding-top: 0px !important;\n}\n.student-main {\n\tpadding-top: var(--header-height) !important;\n}\n\n.whatsapp-btn-text {\n\tfont-size: 1.25rem;\n\tvertical-align: text-bottom;\n\tmargin-left: 0.5rem;\n}\n\n#zmmtg-root {\n\tdisplay: none;\n}\n\n.fade-enter-active,\n.fade-leave-active {\n\ttransition: opacity 0.5s ease-in-out !important;\n}\n\n.fade-enter-from,\n.fade-leave-to {\n\topacity: 0 !important;\n}\n\n.fade-enter-to,\n.fade-leave-from {\n\topacity: 1 !important;\n}\n\n.color-change-svg {\n\tpointer-events: none;\n}\n\n.whatsup-button:hover {\n\tcolor: white;\n\ttext-decoration: none;\n}\n\n.whatsup-button {\n\tposition: fixed;\n\twidth: 200px;\n\theight: 60px;\n\tbottom: 40px;\n\tright: 40px;\n\tbackground-color: #25d366;\n\tcolor: #FFF;\n\tborder-radius: 50px;\n\ttext-align: center;\n\ttext-decoration: none;\n\tbox-shadow: 2px 2px 3px #999;\n\tz-index: 100;\n}\n\n@media screen and (max-width: 520px) {\n\t.hide-text {\n\t\tdisplay: none;\n\t}\n\n\t.whatsup-button {\n\t\twidth: 63px;\n\t}\n\n\t.fa-whatsapp {\n\t\tmargin-top: 18px;\n\t}\n}\n</style>\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=ebf52ad8&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=ebf52ad8&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"login-register\"}},[_c('h1',{staticClass:\"heading-bold-20\"},[_vm._v(\"Forgot Password\")]),_c('div',{staticClass:\"width-100\"},[_c('form',[(_vm.isOTPVerified)?_c('div',[_c('div',{staticClass:\"form-group position-relative\"},[_c('i',{staticClass:\"input-icon-left fas fa-unlock-alt\"}),((_vm.showPassword ? 'text' : 'password')==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newPassword),expression:\"newPassword\"}],class:[\n\t\t\t\t\t\t\t'form-control input-w-icon',\n\t\t\t\t\t\t\t{ 'text-danger': _vm.pwdError } ],attrs:{\"id\":\"newPassword\",\"placeholder\":\"Enter your new password\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.newPassword)?_vm._i(_vm.newPassword,null)>-1:(_vm.newPassword)},on:{\"change\":function($event){var $$a=_vm.newPassword,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.newPassword=$$a.concat([$$v]))}else{$$i>-1&&(_vm.newPassword=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.newPassword=$$c}}}}):((_vm.showPassword ? 'text' : 'password')==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newPassword),expression:\"newPassword\"}],class:[\n\t\t\t\t\t\t\t'form-control input-w-icon',\n\t\t\t\t\t\t\t{ 'text-danger': _vm.pwdError } ],attrs:{\"id\":\"newPassword\",\"placeholder\":\"Enter your new password\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.newPassword,null)},on:{\"change\":function($event){_vm.newPassword=null}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newPassword),expression:\"newPassword\"}],class:[\n\t\t\t\t\t\t\t'form-control input-w-icon',\n\t\t\t\t\t\t\t{ 'text-danger': _vm.pwdError } ],attrs:{\"id\":\"newPassword\",\"placeholder\":\"Enter your new password\",\"type\":_vm.showPassword ? 'text' : 'password'},domProps:{\"value\":(_vm.newPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newPassword=$event.target.value}}}),_c('i',{class:[\n\t\t\t\t\t\t\t'fas input-icon-right',\n\t\t\t\t\t\t\t{ 'fa-eye-slash': _vm.showPassword, 'fa-eye': !_vm.showPassword } ],on:{\"click\":_vm.toggleShowPassword}})])]):(_vm.isOTPGenerated)?_c('div',[_c('div',{staticClass:\"form-group\"},[_c('i',{staticClass:\"input-icon-left far fa-key\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.OTPCode),expression:\"OTPCode\"}],staticClass:\"form-control input-w-icon\",attrs:{\"type\":\"text\",\"name\":\"OTPCode\",\"id\":\"OTPCode\",\"maxlength\":\"6\",\"placeholder\":\"Enter the OTP sent to your email\"},domProps:{\"value\":(_vm.OTPCode)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.OTPCode=$event.target.value}}})]),_c('div',{staticClass:\"d-flex gap-3\"},[_c('button',{attrs:{\"type\":\"button\",\"disabled\":_vm.timer > 0},on:{\"click\":_vm.getOTP}},[_vm._v(\" Resend OTP \")]),_c('span',{staticClass:\"timer\"},[_vm._v(\"0:\"+_vm._s(_vm.timer.toString().padStart(2, \"0\")))])])]):_c('div',[(_vm.isNumber)?_c('div',{staticClass:\"form-group\"},[_c('vue-tel-input',{class:(\"form-control \" + (_vm.isPhoneError && _vm.showError ? 'error' : '')),attrs:{\"defaultCountry\":\"PK\",\"inputOptions\":_vm.telInputOptions,\"validCharactersOnly\":\"\",\"autoFormat\":true,\"mode\":\"national\",\"invalidMsg\":\"Please enter a valid phone number\",\"id\":\"resetInput_number\"},on:{\"input\":_vm.validate,\"blur\":function($event){_vm.showError = true},\"focus\":function($event){_vm.showError = false}},model:{value:(_vm.resetInput),callback:function ($$v) {_vm.resetInput=$$v},expression:\"resetInput\"}}),(_vm.isPhoneError && _vm.showError)?_c('p',{staticClass:\"text-danger\"},[_vm._v(\" Invalid Phone Number \")]):_vm._e()],1):_c('div',{staticClass:\"form-group\"},[_c('i',{staticClass:\"input-icon-left far fa-user\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.resetInput),expression:\"resetInput\"}],staticClass:\"input-w-icon form-control\",attrs:{\"type\":\"text\",\"name\":\"resetInput\",\"id\":\"resetInput\",\"placeholder\":\"Enter Email to receive OTP\",\"required\":\"\",\"tabindex\":\"10\",\"maxlength\":\"80\"},domProps:{\"value\":(_vm.resetInput)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.resetInput=$event.target.value},_vm.checkType]}})])]),_c('button',{staticClass:\"login-register-btn primary-btn form-control mt-4\",attrs:{\"disabled\":_vm.loading,\"type\":\"submit\"},on:{\"click\":_vm.handleResetPassword}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.isOTPGenerated && !_vm.isOTPVerified ? \"Next\" : \"Reset Password\")+\" \")],1),(!_vm.isOTPGenerated && !_vm.isOTPVerified)?_c('button',{staticClass:\"secondary-btn btn-bold form-control mt-4\",attrs:{\"type\":\"button\"},on:{\"click\":function () { return _vm.$router.back(); }}},[_vm._v(\" Back \")]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"login-register\">\n\t\t<h1 class=\"heading-bold-20\">Forgot Password</h1>\n\t\t<div class=\"width-100\">\n\t\t\t<form>\n\t\t\t\t<div v-if=\"isOTPVerified\">\n\t\t\t\t\t<div class=\"form-group position-relative\">\n\t\t\t\t\t\t<i class=\"input-icon-left fas fa-unlock-alt\"></i>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t:type=\"showPassword ? 'text' : 'password'\"\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'form-control input-w-icon',\n\t\t\t\t\t\t\t\t{ 'text-danger': pwdError },\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\tid=\"newPassword\"\n\t\t\t\t\t\t\tv-model=\"newPassword\"\n\t\t\t\t\t\t\tplaceholder=\"Enter your new password\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t@click=\"toggleShowPassword\"\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'fas input-icon-right',\n\t\t\t\t\t\t\t\t{ 'fa-eye-slash': showPassword, 'fa-eye': !showPassword },\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t></i>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"isOTPGenerated\">\n\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t<i class=\"input-icon-left far fa-key\"></i>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass=\"form-control input-w-icon\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tname=\"OTPCode\"\n\t\t\t\t\t\t\tid=\"OTPCode\"\n\t\t\t\t\t\t\tmaxlength=\"6\"\n\t\t\t\t\t\t\tplaceholder=\"Enter the OTP sent to your email\"\n\t\t\t\t\t\t\tv-model=\"OTPCode\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"d-flex gap-3\">\n\t\t\t\t\t\t<button type=\"button\" :disabled=\"timer > 0\" @click=\"getOTP\">\n\t\t\t\t\t\t\tResend OTP\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<span class=\"timer\">0:{{ timer.toString().padStart(2, \"0\") }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-else>\n\t\t\t\t\t<div v-if=\"isNumber\" class=\"form-group\">\n\t\t\t\t\t\t<vue-tel-input\n\t\t\t\t\t\t\t:class=\"`form-control ${\n\t\t\t\t\t\t\t\tisPhoneError && showError ? 'error' : ''\n\t\t\t\t\t\t\t}`\"\n\t\t\t\t\t\t\tdefaultCountry=\"PK\"\n\t\t\t\t\t\t\t:inputOptions=\"telInputOptions\"\n\t\t\t\t\t\t\tvalidCharactersOnly\n\t\t\t\t\t\t\tv-model=\"resetInput\"\n\t\t\t\t\t\t\t@input=\"validate\"\n\t\t\t\t\t\t\t@blur=\"showError = true\"\n\t\t\t\t\t\t\t@focus=\"showError = false\"\n\t\t\t\t\t\t\t:autoFormat=\"true\"\n\t\t\t\t\t\t\tmode=\"national\"\n\t\t\t\t\t\t\tinvalidMsg=\"Please enter a valid phone number\"\n\t\t\t\t\t\t\tid=\"resetInput_number\"\n\t\t\t\t\t\t></vue-tel-input>\n\t\t\t\t\t\t<p class=\"text-danger\" v-if=\"isPhoneError && showError\">\n\t\t\t\t\t\t\tInvalid Phone Number\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else class=\"form-group\">\n\t\t\t\t\t\t<!-- <font-awesome-icon :icon=\"['far', 'user']\" /> -->\n\t\t\t\t\t\t<i class=\"input-icon-left far fa-user\"></i>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tv-model=\"resetInput\"\n\t\t\t\t\t\t\tclass=\"input-w-icon form-control\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tname=\"resetInput\"\n\t\t\t\t\t\t\tid=\"resetInput\"\n\t\t\t\t\t\t\tplaceholder=\"Enter Email to receive OTP\"\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\ttabindex=\"10\"\n\t\t\t\t\t\t\t@input=\"checkType\"\n\t\t\t\t\t\t\tmaxlength=\"80\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<button\n\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\tclass=\"login-register-btn primary-btn form-control mt-4\"\n\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t@click=\"handleResetPassword\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\t{{ isOTPGenerated && !isOTPVerified ? \"Next\" : \"Reset Password\" }}\n\t\t\t\t</button>\n\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"!isOTPGenerated && !isOTPVerified\"\n\t\t\t\t\tclass=\"secondary-btn btn-bold form-control mt-4\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"() => $router.back()\"\n\t\t\t\t>\n\t\t\t\t\tBack\n\t\t\t\t</button>\n\t\t\t</form>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nconst getCountryISO3 = require(\"country-iso-2-to-3\");\n\nexport default {\n\tname: \"ForgotPassword\",\n\tdata() {\n\t\treturn {\n\t\t\tresetInput: null,\n\t\t\tresetPhone: null,\n\t\t\t// resetEmail: null,\n\t\t\tisOTPGenerated: false,\n\t\t\tverificationID: null,\n\t\t\tOTPCode: null,\n\t\t\ttimer: 59,\n\t\t\tcounter: null,\n\t\t\tresetPasswordToken: null,\n\t\t\tnewPassword: null,\n\t\t\tisOTPVerified: false,\n\t\t\tshowPassword: false,\n\t\t\tpwdError: false,\n\t\t\tisPhoneError: false,\n\t\t\tshowError: false,\n\t\t\ttelInputOptions: {\n\t\t\t\tautocomplete: \"on\",\n\t\t\t\tmaxlength: 15,\n\t\t\t\ttabindex: 10,\n\t\t\t\tplaceholder: \"Phone Number (required)\",\n\t\t\t\tmode: \"national\",\n\t\t\t},\n\t\t\tisNumber: false,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"loading\"]),\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"generateOTP\", \"verifyOTP\", \"resetPassword\"]),\n\t\thandleResetPassword(e) {\n\t\t\te.preventDefault();\n\t\t\tif (this.isOTPVerified) {\n\t\t\t\tthis.reset();\n\t\t\t} else if (this.isOTPGenerated) {\n\t\t\t\tthis.verify();\n\t\t\t} else {\n\t\t\t\tthis.validateAndGetOTP();\n\t\t\t}\n\t\t},\n\t\tvalidateAndGetOTP() {\n\t\t\tthis.validateForm().then(() => {\n\t\t\t\tthis.getOTP();\n\t\t\t});\n\t\t},\n\t\tgetOTP() {\n\t\t\tthis.timer = 59;\n\t\t\tvar OTPObj = {\n\t\t\t\tType: \"forgotpassword\",\n\t\t\t};\n\t\t\tif (this.isNumber) OTPObj.Phone = encodeURIComponent(this.resetPhone);\n\t\t\telse OTPObj.Email = this.resetInput;\n\t\t\tthis.generateOTP(OTPObj)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tthis.$toasted.show(\n\t\t\t\t\t\t`OTP has been sent to your ${\n\t\t\t\t\t\t\tthis.isNumber ? \"phone number\" : \"email\"\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tthis.isOTPGenerated = true;\n\t\t\t\t\tthis.verificationID = res.verificationID;\n\t\t\t\t\tthis.counter = setInterval(() => {\n\t\t\t\t\t\tthis.timer -= 1;\n\t\t\t\t\t}, 1000);\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tthis.$toasted.error(error.message, {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t},\n\t\tverify() {\n\t\t\tthis.validateForm()\n\t\t\t\t.then((valid) => {\n\t\t\t\t\tif (valid) {\n\t\t\t\t\t\tthis.verifyOTP({\n\t\t\t\t\t\t\tverificationID: this.verificationID,\n\t\t\t\t\t\t\tverificationToken: this.OTPCode,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\t\tthis.$toasted.show(\n\t\t\t\t\t\t\t\t\t\"OTP verified. Please enter your new password\",\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tthis.resetPasswordToken = res.token;\n\t\t\t\t\t\t\t\tthis.isOTPVerified = true;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\t\tthis.$toasted.error(error.message, {\n\t\t\t\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((message) => {\n\t\t\t\t\tthis.$toasted.error(message, {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t},\n\t\treset() {\n\t\t\tthis.validateForm()\n\t\t\t\t.then((valid) => {\n\t\t\t\t\tif (valid) {\n\t\t\t\t\t\tthis.resetPassword({\n\t\t\t\t\t\t\tverificationID: this.resetPasswordToken,\n\t\t\t\t\t\t\tresetPassword: this.newPassword,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\t\tthis.$toasted.success(\"Password reset successfully\", {\n\t\t\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.$router.push({ name: \"Login\" });\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\t\tthis.$toasted.error(error.message, {\n\t\t\t\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((message) => {\n\t\t\t\t\tthis.$toasted.error(message, {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t},\n\t\tasync validateForm() {\n\t\t\tif (!this.isOTPGenerated) {\n\t\t\t\tif (!(this.resetPhone || this.resetInput)) {\n\t\t\t\t\treturn Promise.reject(\"Please enter an email address\");\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.isOTPGenerated && !this.OTPCode) {\n\t\t\t\treturn Promise.reject(\"Please enter OTP\");\n\t\t\t}\n\t\t\tif (this.isOTPGenerated && this.isOTPVerified) {\n\t\t\t\tif (!this.newPassword) {\n\t\t\t\t\treturn Promise.reject(\"Please enter your new password\");\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn Promise.resolve(true);\n\t\t},\n\t\ttoggleShowPassword() {\n\t\t\tthis.showPassword = !this.showPassword;\n\t\t},\n\t\tcheckType(e) {\n\t\t\tif (e.data) {\n\t\t\t\t// alert(e);\n\t\t\t\tvar regExp = /[a-zA-Z]/g;\n\t\t\t\tvar isAlphaInput = regExp.test(e.data);\n\t\t\t\tvar containsLetters = regExp.test(this.resetInput);\n\t\t\t\tif (\n\t\t\t\t\te.key != \"@\" &&\n\t\t\t\t\t!containsLetters &&\n\t\t\t\t\t!isAlphaInput\n\t\t\t\t\t// ((e.keyCode > 95 && e.keyCode < 106) ||\n\t\t\t\t\t// \t(e.keyCode > 47 && e.keyCode < 58))\n\t\t\t\t) {\n\t\t\t\t\tif (this.resetInput && this.resetInput.length > 3) {\n\t\t\t\t\t\tthis.isNumber = true;\n\n\t\t\t\t\t\tsetTimeout(() => $(\"#resetInput_number input\").focus(), 10);\n\n\t\t\t\t\t\t// console.log(e, \"is a number\");\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.isNumber = false;\n\t\t\t\tsetTimeout(() => $(\"#resetInput\").focus(), 10);\n\t\t\t}\n\t\t},\n\t\tvalidate(num, obj) {\n\t\t\t// console.log(num, obj);\n\t\t\tvar numbers = \"1234567890-+\";\n\t\t\tif (!numbers.includes(num.at(-1))) {\n\t\t\t\tthis.isNumber = false;\n\t\t\t\tsetTimeout(() => $(\"#resetInput\").focus(), 10);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// console.log(num, obj);\n\t\t\tif (obj.valid != null && obj.valid === false) {\n\t\t\t\tthis.isPhoneError = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.isPhoneError = false;\n\t\t\tif (obj.country && obj.country.iso2) {\n\t\t\t\tthis.countryCode = getCountryISO3(obj.country.iso2);\n\t\t\t\tthis.resetPhone = obj.number;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t},\n\twatch: {\n\t\ttimer: function () {\n\t\t\tif (this.timer == 0) clearInterval(this.counter);\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.timer {\n\tcolor: #aaa;\n}\n\n.input-icon-right {\n\ttop: 40%;\n\ttransform: translateY(-50%);\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ForgotPassword.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ForgotPassword.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ForgotPassword.vue?vue&type=template&id=77881d30&scoped=true&\"\nimport script from \"./ForgotPassword.vue?vue&type=script&lang=js&\"\nexport * from \"./ForgotPassword.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ForgotPassword.vue?vue&type=style&index=0&id=77881d30&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"77881d30\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isDesktopApp && _vm.isWebDisabled && !_vm.hideAppsDownloadInstructionsOnLogin)?_c('AppsDownloadInstructions'):_c('div',{attrs:{\"id\":\"login-register\"}},[_c('h1',{staticClass:\"heading-bold-20\"},[_vm._v(\"Login to your account\")]),_c('div',{staticClass:\"width-100\"},[_c('form',{on:{\"submit\":_vm.handleSubmit}},[(_vm.isNumber)?_c('div',{staticClass:\"form-group\"},[_c('vue-tel-input',{class:(\"form-control \" + (_vm.isPhoneError && _vm.showError ? 'error' : '')),attrs:{\"defaultCountry\":\"PK\",\"inputOptions\":_vm.telInputOptions,\"validCharactersOnly\":\"\",\"autoFormat\":true,\"mode\":\"national\",\"invalidMsg\":\"Please enter a valid phone number\",\"id\":\"username_number\",\"tabIndex\":\"10\"},on:{\"input\":_vm.validate,\"blur\":function($event){_vm.showError = true},\"focus\":function($event){_vm.showError = false}},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),(_vm.isPhoneError && _vm.showError)?_c('p',{staticClass:\"text-danger\"},[_vm._v(\" Invalid Phone Number \")]):_vm._e()],1):_c('div',{staticClass:\"form-group\"},[_c('i',{staticClass:\"input-icon-left far fa-user\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],staticClass:\"input-w-icon form-control\",attrs:{\"type\":\"text\",\"name\":\"username\",\"id\":\"username\",\"placeholder\":\"Email / Username / Phone\",\"required\":\"\",\"tabindex\":\"10\",\"maxlength\":\"80\",\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.username)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.username=$event.target.value},_vm.checkType]}})]),_c('div',{staticClass:\"form-group\"},[_c('i',{staticClass:\"input-icon-left fas fa-unlock-alt\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],staticClass:\"input-w-icon form-control\",attrs:{\"type\":\"password\",\"name\":\"password\",\"id\":\"password\",\"placeholder\":\"Password\",\"required\":\"\",\"tabindex\":\"20\",\"autocomplete\":\"on\",\"maxlength\":\"80\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}})]),(_vm.isError)?_c('p',{staticClass:\"text-danger text-500 text-sm\",attrs:{\"id\":\"error\"}},[_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")]):_vm._e(),_c('div',{staticClass:\"form-group text-center\",attrs:{\"id\":\"form-options\"}},[_c('div',{attrs:{\"id\":\"forgot-password\"}},[_c('router-link',{attrs:{\"tabindex\":\"35\",\"to\":\"/account/forgot-password\"}},[_vm._v(\"Forgot password?\")])],1)]),_c('button',{staticClass:\"login-register-btn form-control mt-4\",attrs:{\"type\":\"submit\",\"disabled\":_vm.loading || _vm.isloading,\"tabindex\":\"40\"}},[(_vm.isloading || _vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Login \")],1)])]),_c('UserDevicesModal',{attrs:{\"showModal\":_vm.showDevicesModal,\"username\":_vm.username},on:{\"updateModalState\":_vm.toggleUserDevicesModal,\"resetSuccess\":_vm.handleSubmit}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <AppsDownloadInstructions v-if=\"!isDesktopApp && isWebDisabled && !hideAppsDownloadInstructionsOnLogin\" />\n\t<div id=\"login-register\" v-else>\n\t\t<h1 class=\"heading-bold-20\">Login to your account</h1>\n\t\t<div class=\"width-100\">\n\t\t\t<form @submit=\"handleSubmit\">\n\t\t\t\t<div v-if=\"isNumber\" class=\"form-group\">\n\t\t\t\t\t<vue-tel-input\n\t\t\t\t\t\t:class=\"`form-control ${isPhoneError && showError ? 'error' : ''}`\"\n\t\t\t\t\t\tdefaultCountry=\"PK\"\n\t\t\t\t\t\t:inputOptions=\"telInputOptions\"\n\t\t\t\t\t\tvalidCharactersOnly\n\t\t\t\t\t\tv-model=\"username\"\n\t\t\t\t\t\t@input=\"validate\"\n\t\t\t\t\t\t@blur=\"showError = true\"\n\t\t\t\t\t\t@focus=\"showError = false\"\n\t\t\t\t\t\t:autoFormat=\"true\"\n\t\t\t\t\t\tmode=\"national\"\n\t\t\t\t\t\tinvalidMsg=\"Please enter a valid phone number\"\n\t\t\t\t\t\tid=\"username_number\"\n\t\t\t\t\t\ttabIndex=\"10\"\n\t\t\t\t\t></vue-tel-input>\n\t\t\t\t\t<p class=\"text-danger\" v-if=\"isPhoneError && showError\">\n\t\t\t\t\t\tInvalid Phone Number\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div v-else class=\"form-group\">\n\t\t\t\t\t<i class=\"input-icon-left far fa-user\"></i>\n\t\t\t\t\t<input\n\t\t\t\t\t\tv-model=\"username\"\n\t\t\t\t\t\tclass=\"input-w-icon form-control\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tname=\"username\"\n\t\t\t\t\t\tid=\"username\"\n\t\t\t\t\t\tplaceholder=\"Email / Username / Phone\"\n\t\t\t\t\t\trequired\n\t\t\t\t\t\ttabindex=\"10\"\n\t\t\t\t\t\t@input=\"checkType\"\n\t\t\t\t\t\tmaxlength=\"80\"\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<i class=\"input-icon-left fas fa-unlock-alt\"></i>\n\t\t\t\t\t<input\n\t\t\t\t\t\tv-model=\"password\"\n\t\t\t\t\t\tclass=\"input-w-icon form-control\"\n\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\tname=\"password\"\n\t\t\t\t\t\tid=\"password\"\n\t\t\t\t\t\tplaceholder=\"Password\"\n\t\t\t\t\t\trequired\n\t\t\t\t\t\ttabindex=\"20\"\n\t\t\t\t\t\tautocomplete=\"on\"\n\t\t\t\t\t\tmaxlength=\"80\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<p v-if=\"isError\" id=\"error\" class=\"text-danger text-500 text-sm\">\n\t\t\t\t\t{{ errorText }}\n\t\t\t\t</p>\n\n        <div class=\"form-group text-center\" id=\"form-options\">\n          <div id=\"forgot-password\">\n            <router-link tabindex=\"35\" to=\"/account/forgot-password\"\n              >Forgot password?</router-link\n            >\n          </div>\n        </div>\n\n        <button\n          class=\"login-register-btn form-control mt-4\"\n          type=\"submit\"\n          :disabled=\"loading || isloading\"\n          tabindex=\"40\"\n        >\n          <b-spinner v-if=\"isloading || loading\" small> </b-spinner>\n          Login\n        </button>\n      </form>\n    </div>\n    <UserDevicesModal\n      :showModal=\"showDevicesModal\"\n      :username=\"username\"\n      @updateModalState=\"toggleUserDevicesModal\"\n      @resetSuccess=\"handleSubmit\"\n    />\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport UserDevicesModal from \"./UserDevicesModal.vue\";\nimport ErrorMessage from \"../../constants/errorMessages\";\nimport AppsDownloadInstructions from \"@/components/Layout/AppsDownloadInstructions\";\nconst getCountryISO3 = require(\"country-iso-2-to-3\");\n\nexport default {\n  name: \"Login\",\n  data() {\n    return {\n      username: \"\",\n      phone: \"\",\n      password: \"\",\n      errorText: \"\",\n      isError: false,\n      showDevicesModal: false,\n      isNumber: false,\n      isPhoneError: false,\n      showError: false,\n      isloading: false,\n      telInputOptions: {\n        autocomplete: \"on\",\n        maxlength: 15,\n        tabindex: 10,\n        placeholder: \"Phone Number (required)\",\n        mode: \"national\",\n      },\n    };\n  },\n  methods: {\n    ...mapActions(\"user\", [\"login\", \"generateVerificationID\"]),\n    ...mapActions(\"form\", [\"fetchFormByEvent\"]),\n    async handleSubmit(e) {\n      if (e) e.preventDefault();\n      this.errorText = \"\";\n      this.isError = false;\n      var data;\n\n      if (this.userCredentials && this.userCredentials.username && this.userCredentials.password) {\n        data = {\n          username: this.userCredentials.username\n            ? this.userCredentials.username\n            : null,\n          password: this.userCredentials.password\n            ? this.userCredentials.password\n            : null,\n        };\n      } else {\n        data = {\n          username: this.isNumber ? this.phone : this.username,\n          password: this.password,\n        };\n      }\n\n      await this.login(data)\n        .then(async (res) => {\n          if (res) {\n            const user = JSON.parse(localStorage.getItem(\"user\"));\n            if (user.type.toLowerCase() == \"student\") {\n              this.isloading = true;\n              var forms = await this.fetchFormByEvent({\n                entity: \"user\",\n                event: \"login\",\n              });\n              this.isloading = false;\n              if (forms && forms.length > 0) {\n                localStorage.setItem(\"ProcessingFormID\", forms[0].id);\n                if (\n                  this.$root.$children &&\n                  this.$root.$children.length > 0 &&\n                  this.$root.$children[0]\n                ) {\n                  this.$root.$children[0].checkForm();\n                }\n              }\n            }\n            this.isError = false;\n            this.errorText = \"\";\n            this.$router.push(\n              this.$route.query.nextUrl\n                ? this.$route.query.nextUrl\n                : user.type.toLowerCase() == \"management\" ||\n                  user.type.toLowerCase() == \"trainer\"\n                ? \"/management/course\"\n                : \"/user/dashboard\"\n            );\n            this.username = \"\";\n            this.password = \"\";\n            this.userCredentials.username = null;\n            this.userCredentials.password = null;\n          }\n        })\n        .catch(async (error) => {\n          this.errorText = error.message;\n          this.isError = true;\n          if (error.errorCode != \"102\") {\n            this.password = \"\";\n          } else {\n            this.showDevicesModal = true;\n          }\n\n          if (error.errorCode == \"149\") {\n            this.userCredentials.username = data.username;\n            this.userCredentials.password = data.password;\n\n            var object = {\n              email: error.args.email,\n            };\n\n            var res = await this.generateVerificationID(object);\n\n            if (res.verificationID && error.args.email) {\n              this.$toasted.success(`OTP has been sent to your Email`, {\n                theme: \"outline\",\n                position: \"bottom-center\",\n                duration: 3000,\n              });\n              this.$router.push(\n                `/account/user-verification?type=email&credentials=${error.args.email}&verificationId=${res.verificationID}`\n              );\n            }\n          } else if (error.errorCode == \"150\") {\n            this.userCredentials.username = data.username;\n            this.userCredentials.password = data.password;\n\n            var object = {\n              phone: error.args.phone,\n            };\n\n            var res = await this.generateVerificationID(object);\n\n            if (res.verificationID && error.args.phone) {\n              this.$toasted.success(`OTP has been sent to your Phone number`, {\n                theme: \"outline\",\n                position: \"bottom-center\",\n                duration: 3000,\n              });\n              this.$router.push(\n                `/account/user-verification?type=phone&credentials=${error.args.phone}&verificationId=${res.verificationID}`\n              );\n            }\n          }\n        });\n    },\n    toggleUserDevicesModal(state) {\n      if (state !== undefined) this.showDevicesModal = state;\n      else this.showDevicesModal = !this.showDevicesModal;\n    },\n    checkType(e) {\n      if (e.data) {\n        // alert(e);\n        var regExp = /[a-zA-Z]/g;\n        var isAlphaInput = regExp.test(e.data);\n        var containsLetters = regExp.test(this.username);\n        if (\n          e.key != \"@\" &&\n          !containsLetters &&\n          !isAlphaInput\n          // ((e.keyCode > 95 && e.keyCode < 106) ||\n          // \t(e.keyCode > 47 && e.keyCode < 58))\n        ) {\n          if (this.username && this.username.length > 6) {\n            this.isNumber = true;\n\n            setTimeout(() => $(\"#username_number input\").focus(), 10);\n\n            // console.log(e, \"is a number\");\n            return;\n          }\n        }\n        this.isNumber = false;\n        setTimeout(() => $(\"#username\").focus(), 10);\n      }\n    },\n    validate(num, obj) {\n      // console.log(num, obj);\n      var numbers = \"1234567890-+\";\n      if (!numbers.includes(num.at(-1))) {\n        this.isNumber = false;\n        setTimeout(() => $(\"#username\").focus(), 10);\n        return;\n      }\n      // console.log(num, obj);\n      if (obj.valid != null && obj.valid === false) {\n        this.isPhoneError = true;\n        return;\n      }\n      this.isPhoneError = false;\n      if (obj.country && obj.country.iso2) {\n        this.countryCode = getCountryISO3(obj.country.iso2);\n        this.phone = obj.number;\n      }\n      return false;\n    },\n  },\n  computed: {\n    ...mapState(\"user\", [\"loading\"]),\n    ...mapState(\"cart\", [\"cart\"]),\n    ...mapState(\"appState\", [\"systemParameters\"]),\n    ...mapState(\"user\", [\"userCredentials\"]),\n\n    isDesktopApp() {\n      return window.navigator.userAgent.toLowerCase().indexOf(\"electron\") > -1;\n    },\n\t\tisWebDisabled() {\n\t\t\treturn this.systemParameters && this.systemParameters.IsWebAccessDisabled == '1';\n\t\t},\n    hideAppsDownloadInstructionsOnLogin() {\n      return this.systemParameters &&\n             this.systemParameters.HideAppsDownloadInstructionsOnLogin &&\n             this.systemParameters.HideAppsDownloadInstructionsOnLogin == '1';\n    }\n\t},\n\tcomponents: {\n    AppsDownloadInstructions,\n\t\tUserDevicesModal\n\t},\n\twatch: {\n\t\tusername: function () {\n\t\t\tif (this.username && this.username.length < 7) {\n\t\t\t\tthis.isNumber = false;\n\t\t\t\tsetTimeout(() => $(\"#username\").focus(), 10);\n\t\t\t}\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\twindow.postMessage({ event: \"login-page-loaded\", data: null });\n\t\t});\n\t},\n  async created() {\n    this.verification = this.$route.query.verificationSuccessful;\n\n    if (this.verification) {\n      await this.handleSubmit();\n    }\n  },\n};\n</script>\n\n<style scoped>\n@import url(\"https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css\");\n#form-options {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n}\n.login-webDisabled {\n  display: flex;\n  align-items: center;\n  flex-direction: column;\n  margin: auto;\n  padding: 0 7% 0;\n}\n#forgot-password a {\n  color: var(--primary-color);\n  text-decoration: none;\n  font-weight: bold;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=b04df5e4&scoped=true&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=b04df5e4&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"b04df5e4\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"login-register\"}},[_c('div',{staticClass:\"width-100\"},[_c('form',{on:{\"submit\":_vm.handleSubmit}},[_c('div',{staticClass:\"form-group position-relative\"},[_c('i',{staticClass:\"input-icon-left far fa-user\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.firstName),expression:\"firstName\"}],staticClass:\"input-w-icon form-control\",attrs:{\"type\":\"text\",\"name\":\"firstName\",\"id\":\"firstName\",\"placeholder\":\"First Name (required)\",\"required\":\"\",\"autofocus\":\"\",\"tabindex\":\"10\"},domProps:{\"value\":(_vm.firstName)},on:{\"change\":_vm.setUsername,\"input\":function($event){if($event.target.composing){ return; }_vm.firstName=$event.target.value}}})]),_c('div',{staticClass:\"form-group position-relative\"},[_c('i',{staticClass:\"input-icon-left far fa-user\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.lastName),expression:\"lastName\"}],staticClass:\"input-w-icon form-control\",attrs:{\"type\":\"text\",\"name\":\"lastName\",\"id\":\"lastName\",\"placeholder\":\"Last Name (required)\",\"required\":\"\",\"autofocus\":\"\",\"tabindex\":\"12\"},domProps:{\"value\":(_vm.lastName)},on:{\"change\":_vm.setUsername,\"input\":function($event){if($event.target.composing){ return; }_vm.lastName=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('vue-tel-input',{class:(\"form-control \" + (_vm.isPhoneError && _vm.showError ? 'error' : '')),attrs:{\"defaultCountry\":\"PK\",\"inputOptions\":_vm.telInputOptions,\"validCharactersOnly\":\"\",\"autoFormat\":true,\"mode\":\"national\",\"invalidMsg\":\"Please enter a valid phone number\"},on:{\"input\":_vm.validate,\"blur\":function($event){_vm.showError = true},\"focus\":function($event){_vm.showError = false}},model:{value:(_vm.mobile),callback:function ($$v) {_vm.mobile=$$v},expression:\"mobile\"}})],1),(_vm.isPhoneError && _vm.showError)?_c('p',{staticClass:\"text-danger text-500 text-sm m-2\",attrs:{\"id\":\"phone-error\"}},[_vm._v(\" Invalid Phone Number \")]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('i',{staticClass:\"input-icon-left fas fa-envelope\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"}],staticClass:\"input-w-icon form-control\",attrs:{\"type\":\"email\",\"name\":\"email\",\"id\":\"email\",\"placeholder\":\"Email (required)\",\"required\":\"\",\"tabindex\":\"20\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('i',{staticClass:\"input-icon-left fas fa-unlock-alt\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],class:['input-w-icon form-control', { error: _vm.isPasswordError },{valid:_vm.passwordValidation.valid} ],attrs:{\"type\":\"password\",\"name\":\"password\",\"id\":\"password\",\"placeholder\":\"Password (required)\",\"required\":\"\",\"tabindex\":\"40\",\"autocomplete\":\"on\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}}),_c('transition',{attrs:{\"name\":\"hint\",\"appear\":\"\"}},[(_vm.password.length>0 && _vm.passwordValidation.errors.length > 0)?_c('ul',{staticClass:\"form-control bg-danger-light error-box\",staticStyle:{\"height\":\"auto\"}},_vm._l((_vm.rules),function(error){return _c('li',[(_vm.passwordValidation.errors.find(function (x){ return x.regex==error.regex; })!=null)?_c('span',{staticClass:\"text-danger\"},[_c('i',{staticClass:\"fa fa-times\"}),_vm._v(\"   \"+_vm._s(error.message)+\" \")]):_c('span',{staticClass:\"text-success\"},[_c('i',{staticClass:\"fa fa-check\"}),_vm._v(\"  \"+_vm._s(error.message)+\" \")])])}),0):_vm._e()])],1),_c('div',{staticClass:\"form-group\"},[_c('i',{staticClass:\"input-icon-left fas fa-unlock-alt\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.confirmPassword),expression:\"confirmPassword\"}],class:['input-w-icon form-control', { error: _vm.isPasswordError }],attrs:{\"type\":\"password\",\"name\":\"confirmPassword\",\"id\":\"confirmPassword\",\"placeholder\":\"Confirm Password (required)\",\"required\":\"\",\"tabindex\":\"50\",\"autocomplete\":\"on\"},domProps:{\"value\":(_vm.confirmPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.confirmPassword=$event.target.value}}})]),_c('p',{staticClass:\"text-danger text-500 text-sm m-2\",attrs:{\"id\":\"password-error\"}}),_c('div',{staticClass:\"form-group\"},[_c('i',{staticClass:\"input-icon-left fas fa-map-marker-alt\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.city),expression:\"city\"}],staticClass:\"input-w-icon form-control\",attrs:{\"type\":\"text\",\"name\":\"city\",\"id\":\"city\",\"placeholder\":\"City (required)\",\"tabindex\":\"60\"},domProps:{\"value\":(_vm.city)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.city=$event.target.value}}})]),_vm._l((_vm.fieldsParsed),function(field,index){return _c('div',{key:field.Key,staticClass:\"form-group\"},[_c('DynamicFormInput',{attrs:{\"inputFieldOptions\":field,\"hasIcon\":true,\"required\":true,\"showLabel\":false,\"tabIndex\":61 + index},on:{\"inputValue\":function (value) {\n\t\t\t\t\t\t\t_vm.extraproperties.CustomFields[field.Key] = value;\n\t\t\t\t\t\t}}})],1)}),_c('div',{staticClass:\"row\",attrs:{\"id\":\"remember\"}},[_c('div',{staticClass:\"col-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.acceptPolicy),expression:\"acceptPolicy\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"name\":\"remember\",\"id\":\"termsCheck\",\"required\":\"\",\"tabindex\":\"80\"},domProps:{\"checked\":Array.isArray(_vm.acceptPolicy)?_vm._i(_vm.acceptPolicy,null)>-1:(_vm.acceptPolicy)},on:{\"change\":function($event){var $$a=_vm.acceptPolicy,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.acceptPolicy=$$a.concat([$$v]))}else{$$i>-1&&(_vm.acceptPolicy=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.acceptPolicy=$$c}}}})]),_c('div',{staticClass:\"col-11\"},[_c('label',{staticClass:\"text-sm\",attrs:{\"for\":\"termsCheck\"}},[_vm._v(\"I agree to the \"),_c('a',{staticClass:\"primary\",attrs:{\"type\":\"button\",\"tabindex\":\"81\"},on:{\"click\":function($event){return _vm.toggleModal($event, 'termsOfUse')}}},[_vm._v(\" Terms of use \")]),_vm._v(\" and \"),_c('a',{staticClass:\"primary\",attrs:{\"type\":\"button\",\"tabindex\":\"82\"},on:{\"click\":function($event){return _vm.toggleModal($event, 'privacyPolicy')}}},[_vm._v(\" Privacy Policy\")]),_vm._v(\".\")])])]),_c('button',{staticClass:\"login-register-btn form-control mt-4\",attrs:{\"type\":\"submit\",\"disabled\":_vm.loading,\"tabindex\":\"90\"}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Signup \")],1)],2)]),_c('b-modal',{attrs:{\"visible\":_vm.termsOfUseModal,\"hide-header\":\"\",\"centered\":\"\",\"hide-footer\":\"\",\"modal-class\":\"register-page-modal\",\"size\":\"xl\"},on:{\"change\":function($event){return _vm.toggleModal($event, 'termsOfUse')}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.toggleModal($event, 'termsOfUse')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\"Terms of Use\")]),(_vm.systemParameters && _vm.systemParameters.TermsOfUseUrl)?_c('div',{staticClass:\"content\"},[_c('iframe',{attrs:{\"src\":_vm.systemParameters.TermsOfUseUrl}})]):_c('div',{staticClass:\"no-content\"},[_vm._v(\"No Terms of Use found\")])])]),_c('b-modal',{attrs:{\"visible\":_vm.privacyPolicyModal,\"hide-header\":\"\",\"centered\":\"\",\"hide-footer\":\"\",\"modal-class\":\"register-page-modal\",\"size\":\"xl\"},on:{\"change\":function($event){return _vm.toggleModal($event, 'privacyPolicy')}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.toggleModal($event, 'privacyPolicy')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\"Privacy Policy\")]),(_vm.systemParameters && _vm.systemParameters.PrivacyPolicyUrl)?_c('div',{staticClass:\"content\"},[_c('iframe',{attrs:{\"src\":_vm.systemParameters.PrivacyPolicyUrl}})]):_c('div',{staticClass:\"no-content\"},[_vm._v(\"No Privacy Policy found\")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"login-register\">\n\t\t<!-- <div class=\"width-100\">\n\t\t\t<a role=\"button\" class=\"form-control login-btn-social\">\n\t\t\t\t<img src=\"https://img.icons8.com/color/24/000000/google-logo.png\" />\n\t\t\t\tContinue with Google\n\t\t\t</a>\n\t\t\t<a role=\"button\" class=\"form-control login-btn-social\">\n\t\t\t\t<img src=\"https://img.icons8.com/color/24/000000/facebook-new.png\" />\n\t\t\t\tContinue with Facebook\n\t\t\t</a>\n\t\t</div>\n\t\t<div class=\"or-divider\">\n\t\t\t<span>or</span>\n\t\t</div> -->\n\t\t<div class=\"width-100\">\n\t\t\t<form @submit=\"handleSubmit\">\n\t\t\t\t<div class=\"form-group position-relative\">\n\t\t\t\t\t<i class=\"input-icon-left far fa-user\"></i>\n\t\t\t\t\t<input\n\t\t\t\t\t\tv-model=\"firstName\"\n\t\t\t\t\t\tclass=\"input-w-icon form-control\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tname=\"firstName\"\n\t\t\t\t\t\tid=\"firstName\"\n\t\t\t\t\t\tplaceholder=\"First Name (required)\"\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tautofocus\n\t\t\t\t\t\ttabindex=\"10\"\n\t\t\t\t\t\t@change=\"setUsername\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"form-group position-relative\">\n\t\t\t\t\t<i class=\"input-icon-left far fa-user\"></i>\n\t\t\t\t\t<input\n\t\t\t\t\t\tv-model=\"lastName\"\n\t\t\t\t\t\tclass=\"input-w-icon form-control\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tname=\"lastName\"\n\t\t\t\t\t\tid=\"lastName\"\n\t\t\t\t\t\tplaceholder=\"Last Name (required)\"\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tautofocus\n\t\t\t\t\t\ttabindex=\"12\"\n\t\t\t\t\t\t@change=\"setUsername\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<vue-tel-input\n\t\t\t\t\t\t:class=\"`form-control ${isPhoneError && showError ? 'error' : ''}`\"\n\t\t\t\t\t\tdefaultCountry=\"PK\"\n\t\t\t\t\t\t:inputOptions=\"telInputOptions\"\n\t\t\t\t\t\tvalidCharactersOnly\n\t\t\t\t\t\tv-model=\"mobile\"\n\t\t\t\t\t\t@input=\"validate\"\n\t\t\t\t\t\t@blur=\"showError = true\"\n\t\t\t\t\t\t@focus=\"showError = false\"\n\t\t\t\t\t\t:autoFormat=\"true\"\n\t\t\t\t\t\tmode=\"national\"\n\t\t\t\t\t\tinvalidMsg=\"Please enter a valid phone number\"\n\t\t\t\t\t></vue-tel-input>\n\t\t\t\t</div>\n\t\t\t\t<p\n\t\t\t\t\tv-if=\"isPhoneError && showError\"\n\t\t\t\t\tid=\"phone-error\"\n\t\t\t\t\tclass=\"text-danger text-500 text-sm m-2\"\n\t\t\t\t>\n\t\t\t\t\tInvalid Phone Number\n\t\t\t\t</p>\n\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<i class=\"input-icon-left fas fa-envelope\"></i>\n\t\t\t\t\t<input\n\t\t\t\t\t\tv-model=\"email\"\n\t\t\t\t\t\tclass=\"input-w-icon form-control\"\n\t\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t\tname=\"email\"\n\t\t\t\t\t\tid=\"email\"\n\t\t\t\t\t\tplaceholder=\"Email (required)\"\n\t\t\t\t\t\trequired\n\t\t\t\t\t\ttabindex=\"20\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- <div class=\"form-group\">\n\t\t\t\t\t<i class=\"input-icon-left far fa-user-circle\"></i>\n\t\t\t\t\t<input\n\t\t\t\t\t\tv-model=\"username\"\n\t\t\t\t\t\tclass=\"input-w-icon form-control\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tname=\"username\"\n\t\t\t\t\t\tid=\"username\"\n\t\t\t\t\t\tplaceholder=\"Username (required)\"\n\t\t\t\t\t\trequired\n\t\t\t\t\t\ttabindex=\"30\"\n\t\t\t\t\t/>\n\t\t\t\t</div> -->\n\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<i class=\"input-icon-left fas fa-unlock-alt\"></i>\n\t\t\t\t\t<input v-model=\"password\"\n\t\t\t\t\t\t:class=\"['input-w-icon form-control', { error: isPasswordError },{valid:passwordValidation.valid} ]\"\n\t\t\t\t\t\ttype=\"password\" name=\"password\" id=\"password\" placeholder=\"Password (required)\" required tabindex=\"40\"\n\t\t\t\t\t\tautocomplete=\"on\" />\n\t\t\t\t\n\t\t\t\t\t<transition name=\"hint\" appear>\n\t\t\t\t\t\t<ul v-if='password.length>0 && passwordValidation.errors.length > 0' class=\"form-control bg-danger-light error-box\" style=\"height: auto;\">\n\t\t\t\t\t\t\t<li v-for='error in rules'>\n\t\t\t\t\t\t\t\t<span v-if=\"passwordValidation.errors.find(x=>x.regex==error.regex)!=null\" class=\"text-danger\">\n\t\t\t\t\t\t\t\t\t<i class=\"fa fa-times\"></i>&nbsp;&nbsp;&nbsp;{{error.message}}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span v-else class=\"text-success\">\n\t\t\t\t\t\t\t\t\t<i class=\"fa fa-check\"></i>&nbsp;&nbsp;{{error.message}}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<i class=\"input-icon-left fas fa-unlock-alt\"></i>\n\t\t\t\t\t<input\n\t\t\t\t\t\tv-model=\"confirmPassword\"\n\t\t\t\t\t\t:class=\"['input-w-icon form-control', { error: isPasswordError }]\"\n\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\tname=\"confirmPassword\"\n\t\t\t\t\t\tid=\"confirmPassword\"\n\t\t\t\t\t\tplaceholder=\"Confirm Password (required)\"\n\t\t\t\t\t\trequired\n\t\t\t\t\t\ttabindex=\"50\"\n\t\t\t\t\t\tautocomplete=\"on\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<p id=\"password-error\" class=\"text-danger text-500 text-sm m-2\"></p>\n\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<i class=\"input-icon-left fas fa-map-marker-alt\"></i>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclass=\"input-w-icon form-control\"\n\t\t\t\t\t\tv-model=\"city\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tname=\"city\"\n\t\t\t\t\t\tid=\"city\"\n\t\t\t\t\t\tplaceholder=\"City (required)\"\n\t\t\t\t\t\ttabindex=\"60\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"form-group\"\n\t\t\t\t\tv-for=\"(field, index) in fieldsParsed\"\n\t\t\t\t\t:key=\"field.Key\"\n\t\t\t\t>\n\t\t\t\t\t<DynamicFormInput\n\t\t\t\t\t\t:inputFieldOptions=\"field\"\n\t\t\t\t\t\t:hasIcon=\"true\"\n\t\t\t\t\t\t@inputValue=\"\n\t\t\t\t\t\t\t(value) => {\n\t\t\t\t\t\t\t\textraproperties.CustomFields[field.Key] = value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t:required=\"true\"\n\t\t\t\t\t\t:showLabel=\"false\"\n\t\t\t\t\t\t:tabIndex=\"61 + index\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"row\" id=\"remember\">\n\t\t\t\t\t<div class=\"col-1\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tv-model=\"acceptPolicy\"\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tname=\"remember\"\n\t\t\t\t\t\t\tid=\"termsCheck\"\n\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\ttabindex=\"80\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-11\">\n\t\t\t\t\t\t<label class=\"text-sm\" for=\"termsCheck\"\n\t\t\t\t\t\t\t>I agree to the\n\t\t\t\t\t\t\t<!-- {{ this.institute }}'s -->\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclass=\"primary\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t@click=\"toggleModal($event, 'termsOfUse')\"\n\t\t\t\t\t\t\t\ttabindex=\"81\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tTerms of use\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\tand\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclass=\"primary\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t@click=\"toggleModal($event, 'privacyPolicy')\"\n\t\t\t\t\t\t\t\ttabindex=\"82\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tPrivacy Policy</a\n\t\t\t\t\t\t\t>.</label\n\t\t\t\t\t\t>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<button\n\t\t\t\t\tclass=\"login-register-btn form-control mt-4\"\n\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\ttabindex=\"90\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner v-if=\"loading\" small> </b-spinner>\n\t\t\t\t\tSignup\n\t\t\t\t</button>\n\t\t\t</form>\n\t\t</div>\n\t\t<b-modal\n\t\t\t@change=\"toggleModal($event, 'termsOfUse')\"\n\t\t\t:visible=\"termsOfUseModal\"\n\t\t\thide-header\n\t\t\tcentered\n\t\t\thide-footer\n\t\t\tmodal-class=\"register-page-modal\"\n\t\t\tsize=\"xl\"\n\t\t>\n\t\t\t<div class=\"body-container\">\n\t\t\t\t<button\n\t\t\t\t\t@click=\"toggleModal($event, 'termsOfUse')\"\n\t\t\t\t\tclass=\"close-button\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t\t</button>\n\t\t\t\t<h1 class=\"add-content-title\">Terms of Use</h1>\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"systemParameters && systemParameters.TermsOfUseUrl\"\n\t\t\t\t\tclass=\"content\"\n\t\t\t\t>\n\t\t\t\t<iframe :src=\"systemParameters.TermsOfUseUrl\"></iframe>\n\t\t\t\t</div>\n\t\t\t\t<div v-else class=\"no-content\">No Terms of Use found</div>\n\t\t\t</div>\n\t\t</b-modal>\n\t\t<b-modal\n\t\t\t@change=\"toggleModal($event, 'privacyPolicy')\"\n\t\t\t:visible=\"privacyPolicyModal\"\n\t\t\thide-header\n\t\t\tcentered\n\t\t\thide-footer\n\t\t\tmodal-class=\"register-page-modal\"\n\t\t\tsize=\"xl\"\n\t\t>\n\t\t\t<div class=\"body-container\">\n\t\t\t\t<button\n\t\t\t\t\t@click=\"toggleModal($event, 'privacyPolicy')\"\n\t\t\t\t\tclass=\"close-button\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t\t</button>\n\t\t\t\t<h1 class=\"add-content-title\">Privacy Policy</h1>\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"systemParameters && systemParameters.PrivacyPolicyUrl\"\n\t\t\t\t\tclass=\"content\"\n\t\t\t\t>\n\t\t\t\t\n\t\t\t\t<iframe :src=\"systemParameters.PrivacyPolicyUrl\"></iframe>\n\t\t\t\t</div>\n\t\t\t\t<div v-else class=\"no-content\">No Privacy Policy found</div>\n\t\t\t</div>\n\t\t</b-modal>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport DynamicFormInput from \"../Layout/DynamicFormInput.vue\";\n\nconst getCountryISO3 = require(\"country-iso-2-to-3\");\nconst telInputOptions = {\n\tautocomplete: \"on\",\n\tmaxlength: 15,\n\ttabindex: 15,\n\tplaceholder: \"Phone Number (required)\",\n\tmode: \"national\",\n};\n\nexport default {\n\tname: \"Register\",\n\tdata() {\n\t\treturn {\n\t\t\tinstitute: \"GoCBE Global\",\n\t\t\tfirstName: \"\",\n\t\t\tlastName: \"\",\n\t\t\tmobile: \"\",\n\t\t\tphone: \"\",\n\t\t\temail: \"\",\n\t\t\tusername: \"\",\n\t\t\tpassword: \"\",\n\t\t\tconfirmPassword: \"\",\n\t\t\tcountryCode: \"\",\n\t\t\tcity: \"\",\n\t\t\textraproperties: { CustomFields: {} },\n\t\t\tacceptPolicy: false,\n\t\t\ttelInputOptions,\n\t\t\tisPasswordError: false,\n\t\t\tprivacyPolicyModal: false,\n\t\t\ttermsOfUseModal: false,\n\t\t\tisPhoneError: false,\n\t\t\tshowError: false,\n\t\t\trules: [],\n\t\t};\n\t},\n\tcomponents: {\n\t\tDynamicFormInput,\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"register\", \"login\", \"generateVerificationID\"]),\n\t\ttoggleModal(e, modal) {\n\t\t\tif (this[modal + \"Modal\"]) {\n\t\t\t\tthis[modal + \"Modal\"] = !this[modal + \"Modal\"];\n\t\t\t} else {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis[modal + \"Modal\"] = !this[modal + \"Modal\"];\n\t\t\t}\n\t\t},\n\t\tsetUsername() {\n\t\t\tif (this.firstName && this.lastName)\n\t\t\t\tvar length = 4,\n\t\t\t\t\tcharset =\n\t\t\t\t\t\t\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\",\n\t\t\t\t\trandomCode = \"\";\n\t\t\tfor (var i = 0, n = charset.length; i < length; ++i) {\n\t\t\t\trandomCode += charset.charAt(Math.floor(Math.random() * n));\n\t\t\t}\n\t\t\tthis.username =\n\t\t\t\tthis.firstName.trim().replace(/ +/g, \"_\").toLowerCase() +\n\t\t\t\t\"_\" +\n\t\t\t\tthis.lastName.trim().replace(/ +/g, \"_\").toLowerCase() +\n\t\t\t\t\"_\" +\n\t\t\t\trandomCode;\n\t\t},\n\n\t\tasync handleSubmit(e) {\n\t\t\te.preventDefault();\n\t\t\tif (this.isPhoneError) {\n\t\t\t\tthis.$toasted.error(\"Please enter a valid Phone Number\", {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.username=this.username.trim();\n\t\t\tif(this.username.trim().indexOf(\" \")>-1)\n\t\t\t{\n\t\t\t\tdocument.getElementById(\"password-error\").innerText =\n\t\t\t\t\t\"Username must not contain whitespaces\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.passwordValidation.errors.length>0) {\n\t\t\t\tthis.isPasswordError = true;\n\t\t\t\tdocument.getElementById(\"password-error\").innerText =\n\t\t\t\t\t\"Password must meet following requirements\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.password !== this.confirmPassword) {\n\t\t\t\tthis.isPasswordError = true;\n\t\t\t\tdocument.getElementById(\"password-error\").innerText =\n\t\t\t\t\t\"Password and Confirm Password do not match\";\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tdocument.getElementById(\"password-error\").innerText = \"\";\n\t\t\t\tthis.isPasswordError = false;\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tfirstName: this.firstName,\n\t\t\t\tlastName: this.lastName,\n\t\t\t\tmobile: this.phone,\n\t\t\t\temail: this.email,\n\t\t\t\tusername: this.username,\n\t\t\t\tpassword: this.password,\n\t\t\t\tcountryCode: this.countryCode,\n\t\t\t\tcity: this.city,\n\t\t\t\textraproperties: JSON.stringify(this.extraproperties),\n\t\t\t};\n\t\t\t// console.log(data);\n\t\t\tawait this.register(data)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n                    \n\t\t\t\t\tthis.login({\n\t\t\t\t\t\tusername: this.username,\n\t\t\t\t\t\tpassword: this.password,\n\t\t\t\t\t})\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tconst user = JSON.parse(localStorage.getItem(\"user\"));\n\t\t\t\t\t\t\tthis.isError = false;\n\t\t\t\t\t\t\tthis.errorText = \"\";\n\t\t\t\t\t\t\tthis.$router.push(\n\t\t\t\t\t\t\t\tthis.$route.query.nextUrl\n\t\t\t\t\t\t\t\t\t? this.$route.query.nextUrl\n\t\t\t\t\t\t\t\t\t: user.type.toLowerCase() == \"management\" ||\n\t\t\t\t\t\t\t\t\t  user.type.toLowerCase() == \"trainer\"\n\t\t\t\t\t\t\t\t\t? \"/management/course\"\n\t\t\t\t\t\t\t\t\t: \"/user/dashboard\"\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.$toasted.success(\n\t\t\t\t\t\t\t\t`Registration successful, Welcome ${user.firstName} ${user.lastName}!`,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.userCredentials.username = null;\n            \t\t\t\tthis.userCredentials.password = null;\n\t\t\t\t\t\t\t// }\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(async (error) => {\n\t\t\t\t\t\t\tthis.errorText = error.message;\n\t\t\t\t\t\t\tthis.isError = true;\n\n\t\t\t\t\t\t\tif (error.errorCode != \"102\") {\n\t\t\t\t\t\t\t\tthis.password = \"\";\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.showDevicesModal = true;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (error.errorCode == \"149\") {\n\t\t\t\t\t\t\t\tthis.userCredentials.username = data.username;\n\t\t\t\t\t\t\t\tthis.userCredentials.password = data.password;\n\n\t\t\t\t\t\t\t\tvar object = {\n\t\t\t\t\t\t\t\t\temail: error.args.email,\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tvar res = await this.generateVerificationID(object);\n\n\t\t\t\t\t\t\t\tif (res.verificationID && error.args.email) {\n\t\t\t\t\t\t\t\t\tthis.$toasted.success(`OTP has been sent to your Email`, {\n\t\t\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tthis.$router.push(\n\t\t\t\t\t\t\t\t\t\t`/account/user-verification?type=email&credentials=${error.args.email}&verificationId=${res.verificationID}`\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (error.errorCode == \"150\") {\n\t\t\t\t\t\t\t\tthis.userCredentials.username = data.username;\n\t\t\t\t\t\t\t\tthis.userCredentials.password = data.password;\n\n\t\t\t\t\t\t\t\tvar object = {\n\t\t\t\t\t\t\t\t\tphone: error.args.phone,\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tvar res = await this.generateVerificationID(object);\n\n\t\t\t\t\t\t\t\tif (res.verificationID && error.args.phone) {\n\t\t\t\t\t\t\t\t\tthis.$toasted.success(`OTP has been sent to your Phone number`, {\n\t\t\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tthis.$router.push(\n\t\t\t\t\t\t\t\t\t\t`/account/user-verification?type=phone&credentials=${error.args.phone}&verificationId=${res.verificationID}`\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tthis.errorText = error.message;\n\t\t\t\t\tthis.isError = true;\n\t\t\t\t\tthis.$toasted.error(error.errorCode == 116 ? error.message + \" with the same email or phone number\" : error.message, {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\ttext: \"DISMISS\",\n\t\t\t\t\t\tonClick: (e, toastObject) => {\n\t\t\t\t\t\t\ttoastObject.goAway(0);\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t},\n\t\tvalidate(num, obj) {\n\t\t\t// console.log(num, obj);\n\t\t\tif (obj.valid != null && obj.valid === false) {\n\t\t\t\tthis.isPhoneError = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.isPhoneError = false;\n\t\t\tif (obj.country && obj.country.iso2) {\n\t\t\t\tthis.countryCode = getCountryISO3(obj.country.iso2);\n\t\t\t\tthis.phone = obj.number;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\n\t\t\t\"systemParameters\",\n\t\t\t\"loading\",\n\t\t\t\"currentCountry\",\n\t\t\t\"currentCity\",\n\t\t]),\n\t\t...mapState(\"user\", [\"userCredentials\"]),\n\n\t\tfieldsParsed() {\n\t\t\tif (!this.loading && this.systemParameters.UserRegisterExtraFields) {\n\t\t\t\treturn this.systemParameters?.UserRegisterExtraFields;\n\t\t\t}\n\t\t\treturn [];\n\t\t},\n\t\t\n\t\tpasswordValidation () {\n\t\t\tlet errors = []\n\t\t\tfor (let condition of this.rules) {\n\t\t\t\tif (!new RegExp(condition.regex).test(this.password)) {\n\t\t\t\t\terrors.push(condition)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (errors.length === 0) {\n\t\t\t\treturn { valid:true, errors }\n\t\t\t} else {\n\t\t\t\treturn { valid:false, errors }\n\t\t\t}\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.countryCode = this.currentCountry;\n\t\tif (this.currentCity) this.city = this.currentCity;\n\t\tif (this.systemParameters && this.systemParameters.PasswordValidationRules) {\n\t\t\tthis.rules = JSON.parse(this.systemParameters.PasswordValidationRules);\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\twindow.postMessage({ event: \"signup-page-loaded\", data: null });\n\t\t});\n\t},\n};\n</script>\n\n<style>\na.primary {\n\tcolor: var(--primary-color) !important;\n}\n\n.register-page-modal {\n\tfont-size: 1rem !important;\n}\n\n.register-page-modal .body-container {\n\tpadding: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tposition: relative;\n}\n\n.register-page-modal .body-container .content {\n\tmax-height: 70vh;\n\toverflow-y: hidden;\n\tmargin-right: -1rem;\n\tpadding-right: 1rem;\n}\n\n.register-page-modal .body-container .close-button {\n\tposition: absolute;\n\ttop: 0;\n\tright: 0;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n}\n\n.close-button img {\n\twidth: 1.5rem;\n}\n\n.form-control.error {\n\tborder-color: var(--color-danger) !important;\n\tcolor: var(--color-danger) !important;\n}\n.error-box{\n\t\n\tcolor: var(--color-danger) !important;\n\n\tlist-style: none;\n}\n.register-page-modal iframe{\n\twidth: 100%;\n\theight: 75vh;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Register.vue?vue&type=template&id=7a5ff82f&\"\nimport script from \"./Register.vue?vue&type=script&lang=js&\"\nexport * from \"./Register.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Register.vue?vue&type=style&index=0&id=7a5ff82f&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"user-devices-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"user-devices-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\"Your Devices\")]),_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('div',{attrs:{\"id\":\"page1\"}},[_c('p',[_vm._v(\" Remove an existing device from the list below to login from this device. \")]),_c('div',{staticClass:\"table-container\"},[_c('table',{staticClass:\"table table-hover\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Device Info\")]),_c('th',[_vm._v(\"Action\")])])]),_c('tbody',_vm._l((_vm.devices),function(device){return _c('tr',{key:device.id},[_c('td',{staticClass:\"user-device-item\"},[_c('div',{staticClass:\"img-container\"},[_c('img',{staticClass:\"user_device_image\",attrs:{\"src\":_vm.deviceImage(device.platform.toLowerCase()),\"alt\":\"\"}})]),_c('span',{staticClass:\"d-flex align-items-center\"},[_vm._v(_vm._s(device.brandName ? device.brandName : \"Other |\")+\" \"+_vm._s(device.model ? device.model : \"Other |\")+\" \"+_vm._s(_vm.Platforms[device.platform.toLowerCase()]))])]),_c('td',{staticClass:\"text-danger align-middle\"},[_c('div',[_c('button',{attrs:{\"id\":device.id},on:{\"click\":_vm.removeUserDevice}},[_vm._v(\" Remove \")])])])])}),0)])]),(_vm.loading)?_c('div',{staticClass:\"d-flex justify-content-center gap-3 no-content\"},[_c('b-spinner'),_vm._v(\" Loading... \")],1):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\tid=\"user-devices-modal\"\n\t\t@change=\"$emit('updateModalState', false)\"\n\t\t:visible=\"visible\"\n\t\thide-header\n\t\tcentered\n\t\tcontent-class=\"user-devices-modal\"\n\t\tsize=\"xl\"\n\t\tbody-class=\"modal-body\"\n\t\thide-footer\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t>\n\t\t<div class=\"body-container\">\n\t\t\t<h1 class=\"add-content-title\">Your Devices</h1>\n\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<div id=\"page1\">\n\t\t\t\t<p>\n\t\t\t\t\tRemove an existing device from the list below to login from this\n\t\t\t\t\tdevice.\n\t\t\t\t</p>\n\t\t\t\t<div class=\"table-container\">\n\t\t\t\t\t<table class=\"table table-hover\">\n\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th>Device Info</th>\n\t\t\t\t\t\t\t\t<th>Action</th>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr v-for=\"device in devices\" :key=\"device.id\">\n\t\t\t\t\t\t\t\t<!-- <tr> -->\n\t\t\t\t\t\t\t\t<td class=\"user-device-item\">\n\t\t\t\t\t\t\t\t\t<div class=\"img-container\">\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t:src=\"deviceImage(device.platform.toLowerCase())\"\n\t\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"user_device_image\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<span class=\"d-flex align-items-center\"\n\t\t\t\t\t\t\t\t\t\t>{{ device.brandName ? device.brandName : \"Other |\" }}\n\t\t\t\t\t\t\t\t\t\t{{ device.model ? device.model : \"Other |\" }}\n\t\t\t\t\t\t\t\t\t\t{{ Platforms[device.platform.toLowerCase()] }}</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td class=\"text-danger align-middle\">\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<button :id=\"device.id\" @click=\"removeUserDevice\">\n\t\t\t\t\t\t\t\t\t\t\tRemove\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t\t<!-- {{ device.id }} -->\n\t\t\t\t<!-- </div> -->\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"loading\"\n\t\t\t\t\tclass=\"d-flex justify-content-center gap-3 no-content\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner></b-spinner>\n\t\t\t\t\tLoading...\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport { Platform, Platforms } from \"../../constants/platforms\";\n\nexport default {\n\tname: \"UserDevicesModal\",\n\tdata() {\n\t\treturn {\n\t\t\tdevices: [],\n\t\t\tPlatforms,\n\t\t};\n\t},\n\tprops: { showModal: Boolean, username: String },\n\tcomputed: {\n\t\t...mapState(\"user\", [\"userDevices\", \"loading\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t},\n\tcomponents: {},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchUserDevices\", \"resetUserDeviceById\"]),\n\t\tcloseModal() {\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t},\n\t\tdeviceImage(platform) {\n\t\t\tif (platform == Platform.DESKTOP || platform == Platform.DESKTOP_WEB) {\n\t\t\t\treturn require(\"@/assets/images/desktop.png\");\n\t\t\t} else if (\n\t\t\t\tplatform == Platform.ANDROID ||\n\t\t\t\tplatform == Platform.MOBILE_WEB\n\t\t\t) {\n\t\t\t\treturn require(\"@/assets/images/android.png\");\n\t\t\t} else if (platform == Platform.IOS) {\n\t\t\t\treturn require(\"@/assets/images/ios.png\");\n\t\t\t}\n\t\t},\n\t\tremoveUserDevice(e) {\n\t\t\tvar deviceID = e.target.id;\n\t\t\tconsole.log(\"deviceid\", deviceID);\n\t\t\tvar deviceData = {\n\t\t\t\tusername: this.username,\n\t\t\t\tdeviceID: deviceID,\n\t\t\t};\n\n\t\t\tthis.resetUserDeviceById(deviceData)\n\t\t\t\t.then(() => {\n\t\t\t\t\tconsole.log(\"device removed\", e.target.id);\n\t\t\t\t\tthis.devices = this.devices.filter((device) => device.id != deviceID);\n\t\t\t\t\tthis.$emit(\"resetSuccess\");\n\t\t\t\t\tthis.closeModal();\n\t\t\t\t\tthis.$toasted.success(\n\t\t\t\t\t\t`Device removed successfully. Logging you in...`,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tthis.$toasted.error(error.message, {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t\tconsole.log(error);\n\t\t\t\t});\n\t\t},\n\t},\n\tcreated() {},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible)\n\t\t\t\tthis.fetchUserDevices({ username: this.username }).then((res) => {\n\t\t\t\t\tconsole.log(\"devices fetched\");\n\t\t\t\t\tthis.devices = res;\n\t\t\t\t});\n\t\t},\n\t},\n};\n</script>\n\n<style>\n@media screen and (max-width: 600px) {\n\t.user-devices-modal {\n\t\tmin-height: unset !important;\n\t}\n}\n.user-devices-modal {\n\tmin-height: 45.375rem;\n\twidth: 70vw;\n}\n/* .custom-modal .modal-dialog {\n\tmax-width: 70vw;\n} */\n\n.user-devices-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem !important;\n}\n.user-devices-modal .body-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 2.5rem 2.5rem 1.5rem;\n\twidth: 100%;\n\tfont-size: 1.125rem;\n}\n.user-devices-modal .body-container #page1 .table-container {\n\tmax-height: 32rem !important;\n\toverflow-y: auto;\n}\n\n.user-devices-modal .add-content-title {\n\tfont-weight: 450;\n\tfont-size: 2rem;\n\tline-height: 0.75;\n\tmargin: 0.5rem 0 2rem;\n\tcolor: #000000;\n}\n\n.user-device-item {\n\theight: 7rem;\n\tdisplay: flex;\n\tcolumn-gap: 1rem;\n}\n\n.user-device-item i {\n\tfont-size: 2rem;\n}\n.user-device-item .img-container {\n\twidth: 5rem;\n\talign-items: center;\n\tjustify-content: center;\n\tdisplay: flex;\n}\n\n.user_device_image {\n\tmax-height: 5rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserDevicesModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserDevicesModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserDevicesModal.vue?vue&type=template&id=4b3c6376&\"\nimport script from \"./UserDevicesModal.vue?vue&type=script&lang=js&\"\nexport * from \"./UserDevicesModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserDevicesModal.vue?vue&type=style&index=0&id=4b3c6376&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"login-register\"}},[_c('h1',{staticClass:\"heading-bold-20\"},[_vm._v(\" \"+_vm._s(_vm.getFormattedCredential(_vm.credentialType))+\" Verification \")]),_c('div',{staticClass:\"width-100\"},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleVerification()}}},[(_vm.credentials && _vm.verificationId)?_c('div',[_c('i',{staticClass:\"input-icon-left far fa-key\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.OTPCode),expression:\"OTPCode\"}],staticClass:\"form-control input-w-icon\",attrs:{\"type\":\"text\",\"name\":\"OTPCode\",\"id\":\"OTPCode\",\"maxlength\":\"6\",\"placeholder\":'Enter the OTP sent to your ' + _vm.credentialType,\"disabled\":_vm.timer <= 0,\"required\":\"\"},domProps:{\"value\":(_vm.OTPCode)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.OTPCode=$event.target.value}}})]):_vm._e(),_c('button',{staticClass:\"secondary-btn btn-bold form-control mt-4\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.OTPCode}},[_vm._v(\" Verify \")]),_c('button',{staticClass:\"login-register-btn primary-btn form-control mt-4\",attrs:{\"disabled\":_vm.loading || _vm.timer > 0,\"type\":\"button\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleResendOtp.apply(null, arguments)}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Resend OTP \")],1)]),_c('div',{staticClass:\"d-flex gap-3\"},[_c('span',{staticClass:\"timer\"},[_vm._v(_vm._s(_vm.formattedMinutes + \":\" + _vm.formattedSeconds))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div id=\"login-register\">\n    <h1 class=\"heading-bold-20\">\n      {{ getFormattedCredential(credentialType) }} Verification\n    </h1>\n    <div class=\"width-100\">\n      <form @submit.prevent=\"handleVerification()\">\n        <div v-if=\"credentials && verificationId\">\n          <i class=\"input-icon-left far fa-key\"></i>\n          <input\n            class=\"form-control input-w-icon\"\n            type=\"text\"\n            name=\"OTPCode\"\n            id=\"OTPCode\"\n            maxlength=\"6\"\n            :placeholder=\"'Enter the OTP sent to your ' + credentialType\"\n            v-model=\"OTPCode\"\n            :disabled=\"timer <= 0\"\n            required\n          />\n        </div>\n\n        <button\n          class=\"secondary-btn btn-bold form-control mt-4\"\n          type=\"submit\"\n          :disabled=\"!OTPCode\"\n        >\n          Verify\n        </button>\n\n        <button\n          :disabled=\"loading || timer > 0\"\n          class=\"login-register-btn primary-btn form-control mt-4\"\n          type=\"button\"\n          @click.prevent=\"handleResendOtp\"\n        >\n          <b-spinner v-if=\"loading\" small></b-spinner>\n          Resend OTP\n        </button>\n      </form>\n      <div class=\"d-flex gap-3\">\n        <span class=\"timer\">{{\n          formattedMinutes + \":\" + formattedSeconds\n        }}</span>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nconst getCountryISO3 = require(\"country-iso-2-to-3\");\n\nexport default {\n  name: \"UserVerification\",\n  data() {\n    return {\n      OTPCode: null,\n      timer: 5 * 60,\n      credentials: null,\n      verificationId: null,\n      credentialType: null,\n      formattedMinutes: \"\",\n      formattedSeconds: \"\",\n    };\n  },\n  computed: {\n    ...mapState(\"user\", [\"loading\"]),\n  },\n  methods: {\n    ...mapActions(\"user\", [\"generateVerificationID\", \"verifyUser\"]),\n\n    handleResendOtp() {\n      if (this.credentials) {\n        var object;\n        if (this.credentialType == \"email\") {\n          object = {\n            email: this.credentials,\n          };\n        }\n\n        if (this.credentialType == \"phone\") {\n          object = {\n            phone: this.credentials,\n          };\n        }\n\n        if (object) {\n          if (object.phone) {\n            object.phone = object.phone.trim();\n          }\n          if (object.email) {\n            object.email = object.email.trim();\n          }\n\n          this.generateVerificationID(object)\n            .then((res) => {\n              if (res.verificationID) {\n                this.verificationId = res.verificationID;\n                this.timer = 5 * 60;\n                this.handleTimer();\n              } else {\n                this.handleErrorMessage(\n                  \"Some error occurred while generating OTP\"\n                );\n              }\n            })\n            .catch((error) => {\n              this.handleErrorMessage(\"Some Error occurred\");\n            });\n        }\n      }\n    },\n    handleTimer() {\n      if (this.timer > 0) {\n        var minutes = Math.floor(this.timer / 60);\n        var remainingSeconds = this.timer % 60;\n\n        this.formattedMinutes = minutes.toString().padStart(2, \"0\");\n        this.formattedSeconds = remainingSeconds.toString().padStart(2, \"0\");\n      }\n    },\n    handleErrorMessage(errorMessage) {\n      this.$toasted.error(errorMessage, {\n        icon: \"exclamation-triangle\",\n        duration: 5000,\n        theme: \"outline\",\n        position: \"bottom-center\",\n      });\n    },\n    handleVerification() {\n      if (this.verificationId && this.OTPCode) {\n        this.verifyUser({\n          verificationID: this.verificationId,\n          verificationToken: this.OTPCode,\n        })\n          .then((res) => {\n            if (res && res.status && res.status.toLowerCase() == \"success\") {\n              this.$router.push(\"/account/login?verificationSuccessful=true\");\n              return;\n            } else if (res && res.errorCode == \"140\") {\n              this.handleErrorMessage(\"Invalid OTP\");\n              return;\n            }\n            this.timer = 0;\n            this.formattedMinutes = \"\";\n            this.formattedSeconds = \"\";\n            this.handleErrorMessage(\"Some error occurred\");\n          })\n          .catch((error) => {\n            this.timer = 0;\n            this.formattedMinutes = \"\";\n            this.formattedSeconds = \"\";\n            this.handleErrorMessage(\"Some error occurred\");\n          });\n      }\n    },\n    getFormattedCredential(credentialType) {\n      return credentialType == \"phone\" ? \"Phone\" : \"Email\";\n    },\n  },\n  created() {\n    this.credentials = this.$route.query.credentials;\n    this.credentialType = this.$route.query.type;\n    this.verificationId = this.$route.query.verificationId;\n\n    this.counter = setInterval(() => {\n      this.handleTimer();\n      this.timer -= 1;\n    }, 1000);\n  },\n  // watch: {\n  //   timer: function () {\n  //     if (this.timer == 0) {\n  //       clearInterval(this.counter);\n  //     }\n  //   },\n  // },\n  watch: {\n    $route(to, from) {\n      clearInterval(this.counter);\n    },\n  },\n};\n</script>\n\n<style scoped>\n.timer {\n  color: #aaa;\n}\n\n.input-icon-right {\n  top: 40%;\n  transform: translateY(-50%);\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserVerification.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserVerification.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserVerification.vue?vue&type=template&id=8363dbee&scoped=true&\"\nimport script from \"./UserVerification.vue?vue&type=script&lang=js&\"\nexport * from \"./UserVerification.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserVerification.vue?vue&type=style&index=0&id=8363dbee&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"8363dbee\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"attendance-list-item\",class:{ inactive_item: (_vm.studentData.status!=null && _vm.studentData.status.toLowerCase()=='inactive') },on:{\"click\":_vm.toggleViewEditUser}},[_c('div',{staticClass:\"user-avatar\"},[(_vm.studentData.profilePicture)?_c('img',{attrs:{\"src\":_vm.studentData.profilePicture}}):_c('span',[_vm._v(_vm._s(_vm.studentData.firstName[0]))])]),_c('div',{staticClass:\"d-flex flex-column\"},[_c('span',{staticClass:\"text-black\"},[_vm._v(\" \"+_vm._s(_vm.studentData.firstName)+\" \"+_vm._s(_vm.studentData.lastName)+\" \"),(_vm.studentData.status!=null && _vm.studentData.status.toLowerCase()=='inactive')?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" (Inactive) \")]):_vm._e()]),_c('span',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.studentData.email)+\" \"+_vm._s(_vm.studentData.phone ? \" | \" + _vm.studentData.phone : \"\"))]),_c('span',{staticClass:\"subtitle\"},[(_vm.studentAttendance && _vm.totalAttendedMinutes)?_c('span',[_c('strong',[_vm._v(\"Attended Duration: \")]),_c('span',[_vm._v(_vm._s(_vm.totalAttendedMinutes))])]):_vm._e()])]),_c('div',{staticClass:\"right-menu ms-auto\"},[_c('div',{staticClass:\"content-cta demo gap-2 d-flex\"},[((_vm.type != _vm.AttendanceStatus.ONLINE && _vm.type != _vm.AttendanceStatus.UNPAID && _vm.type == _vm.AttendanceStatus.ABSENT ))?_c('div',{staticClass:\"dropdown\"},[_c('button',{staticClass:\"dropbtn border-btn preview\",attrs:{\"type\":\"button\"},on:{\"click\":[function($event){$event.stopPropagation();},_vm.toggleCommentModel]}},[_c('i',{staticClass:\"far fa-comment\"}),(_vm.studentData.Reason)?_c('i',{staticClass:\"fas fa-circle comment-notify-batch\"}):_vm._e()]),_c('div',{staticClass:\"dropdown-content\"},[(_vm.studentData.Reason)?_c('p',{staticClass:\"p-2\"},[_vm._v(\" \"+_vm._s(_vm.studentData.Reason)+\" \")]):_vm._e()])]):_vm._e(),((_vm.type != _vm.AttendanceStatus.ONLINE && _vm.type != _vm.AttendanceStatus.UNPAID && _vm.showButtons))?_c('button',{class:[\n\t\t\t\t\t'border-btn preview',\n\t\t\t\t\t{\n\t\t\t\t\t\tdanger: _vm.type == _vm.AttendanceStatus.PRESENT,\n\t\t\t\t\t\tsuccess: _vm.type == _vm.AttendanceStatus.ABSENT,\n\t\t\t\t\t} ],attrs:{\"disabled\":_vm.loading,\"type\":\"button\"},on:{\"click\":_vm.markAttendance}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):(!_vm.loading && _vm.type == _vm.AttendanceStatus.ABSENT)?_c('i',{staticClass:\"far fa-user-plus\"}):(!_vm.loading && _vm.type == _vm.AttendanceStatus.PRESENT)?_c('i',{staticClass:\"far fa-user-minus\"}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")],1):_vm._e()])]),_c('div',[(_vm.type == _vm.AttendanceStatus.ONLINE || _vm.type == _vm.AttendanceStatus.PRESENT)?_c('span',{staticClass:\"subtitle\"},[_c('span',{staticClass:\"ms-2\",staticStyle:{\"font-size\":\"14px\"},attrs:{\"id\":'info-icon-'+_vm.type+'-'+_vm.studentData.id}},[_c('i',{staticClass:\"fas fa-info-circle\"})]),_c('b-popover',{attrs:{\"target\":'info-icon-'+_vm.type+'-'+_vm.studentData.id,\"triggers\":\"hover\",\"placement\":\"bottomright\",\"title\":\"More Information\",\"custom-class\":\"popover-custom-style\"}},_vm._l((_vm.studentAttendance),function(attendance,index){return _c('div',{key:index},[_c('div',[(attendance.timeIn)?_c('div',[_c('strong',[_vm._v(\"Time in: \")]),_vm._v(\" \"+_vm._s(_vm.timeParser(attendance.timeIn) + \" | \" + _vm.dateParser(attendance.timeIn))+\" \")]):_vm._e(),(attendance.timeOut)?_c('div',[_c('strong',[_vm._v(\"Time out: \")]),_vm._v(\" \"+_vm._s(_vm.timeParser(attendance.timeOut) + \" | \" + _vm.dateParser(attendance.timeOut))+\" \")]):_vm._e(),(attendance.duration != null)?_c('div',[_c('strong',[_vm._v(\"Duration: \")]),_vm._v(\" \"+_vm._s(attendance.duration + \" minutes\")+\" \")]):_vm._e()]),(index+1 != _vm.studentAttendance.length)?_c('hr'):_vm._e()])}),0)],1):_vm._e()]),_c('ViewEditUserModal',{attrs:{\"user\":_vm.userToViewEdit.user,\"openTab\":_vm.userToViewEdit.openTab,\"showModal\":_vm.showUserDetailModal,\"viewOnly\":\"\"},on:{\"updateModalState\":_vm.toggleViewEditUser}}),_c('b-modal',{attrs:{\"id\":\"absent-comment-modal\",\"visible\":_vm.isShowCommentModel,\"hide-header\":\"\",\"centered\":\"\",\"size\":\"md\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\"}},[_c('div',{staticClass:\"body-container\"},[_c('h4',{staticClass:\"add-content-title\"},[_vm._v(\"Absent Comment\")]),_c('br'),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.textComment),expression:\"textComment\"}],staticClass:\"form-control\",attrs:{\"placeholder\":\"Enter Comment\"},domProps:{\"value\":(_vm.textComment)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.textComment=$event.target.value}}})]),_c('div',[_c('center',[_c('button',{staticClass:\"step-btn\",attrs:{\"disabled\":_vm.loading,\"type\":\"button\"},on:{\"click\":_vm.saveComment}},[_vm._v(\"Save\")])])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"attendance-list-item\" :class=\"{ inactive_item: (studentData.status!=null && studentData.status.toLowerCase()=='inactive') }\" @click=\"toggleViewEditUser\">\n\t\t<div class=\"user-avatar\">\n\t\t\t<img\n\t\t\t\tv-if=\"studentData.profilePicture\"\n\t\t\t\t:src=\"studentData.profilePicture\"\n\t\t\t/>\n\t\t\t<span v-else>{{ studentData.firstName[0] }}</span>\n\t\t</div>\n\t\t<div class=\"d-flex flex-column\">\n\t\t\t<span class=\"text-black\">\n\t\t\t\t{{ studentData.firstName }} {{ studentData.lastName }} <span v-if=\"studentData.status!=null && studentData.status.toLowerCase()=='inactive'\" class=\"text-danger\"> (Inactive) </span>\n\t\t\t</span>\n\t\t\t<span class=\"subtitle\">{{ studentData.email }} {{ studentData.phone ? \" | \" + studentData.phone : \"\" }}</span>\n\t\t\t<span class=\"subtitle\">\n\t\t\t\t<span v-if=\"studentAttendance && totalAttendedMinutes\">\n\t\t\t\t\t<strong>Attended Duration: </strong><span>{{ totalAttendedMinutes }}</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</div>\n\t\t<div class=\"right-menu ms-auto\">\n\t\t\t<div  class=\"content-cta demo gap-2 d-flex\">\n\t\t\t\t<div \tv-if=\"(type != AttendanceStatus.ONLINE && type != AttendanceStatus.UNPAID && type == AttendanceStatus.ABSENT )\" class=\"dropdown\">\n\t\t\t\t\t<button \n\t\t\t\t\t@click.stop\n\t\t\t\t\ttype=\"button\"   class=\"dropbtn border-btn preview\" @click=\"toggleCommentModel\"><i class=\"far fa-comment\"></i>\n\t\t\t\t\t<i class=\"fas fa-circle comment-notify-batch\" v-if=\"studentData.Reason\"></i>\n\t\t\t\t</button>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"dropdown-content\">\n\t\t\t\t     <p v-if=\"studentData.Reason\" class=\"p-2\"> \n\t\t\t\t\t {{studentData.Reason}}\n\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<button\n\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\tv-if=\"(type != AttendanceStatus.ONLINE && type != AttendanceStatus.UNPAID && showButtons)\"\n\t\t\t\t\t@click=\"markAttendance\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'border-btn preview',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdanger: type == AttendanceStatus.PRESENT,\n\t\t\t\t\t\t\tsuccess: type == AttendanceStatus.ABSENT,\n\t\t\t\t\t\t},\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\t<i\n\t\t\t\t\t\tv-else-if=\"!loading && type == AttendanceStatus.ABSENT\"\n\t\t\t\t\t\tclass=\"far fa-user-plus\"\n\t\t\t\t\t></i>\n\t\t\t\t\t<i\n\t\t\t\t\t\tv-else-if=\"!loading && type == AttendanceStatus.PRESENT\"\n\t\t\t\t\t\tclass=\"far fa-user-minus\"\n\t\t\t\t\t></i>\n\t\t\t\t\t{{ buttonText }}\n\t\t\t\t</button>\n\t\t\t\t<!-- <button\n\t\t\t\t\tv-if=\"type != AttendanceStatus.ONLINE\"\n\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\t@click=\"markLate\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"border-btn preview\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\t<i v-else class=\"far fa-stopwatch\"></i>\n\t\t\t\t\tMark Late\n\t\t\t\t</button> -->\n\t\t\t</div>\n\t\t</div>\n\t\t<div>\n\t\t\t<span class=\"subtitle\" v-if=\"type == AttendanceStatus.ONLINE || type == AttendanceStatus.PRESENT\">\n\t\t\t\t<span class=\"ms-2\" :id=\"'info-icon-'+type+'-'+studentData.id\" style=\"font-size: 14px;\">\n\t\t\t\t\t<i class=\"fas fa-info-circle\"></i>\n\t\t\t\t</span>\n\t\t\t\t<b-popover\n\t\t\t\t\t:target=\"'info-icon-'+type+'-'+studentData.id\"\n\t\t\t\t\ttriggers=\"hover\"\n\t\t\t\t\tplacement=\"bottomright\"\n\t\t\t\t\ttitle=\"More Information\"\n\t\t\t\t\tcustom-class=\"popover-custom-style\"\n\t\t\t\t>\n\t\t\t\t\t<div v-for=\"(attendance,index) in studentAttendance\" :key=\"index\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div v-if=\"attendance.timeIn\">\n\t\t\t\t\t\t\t\t<strong>Time in: </strong>\n\t\t\t\t\t\t\t\t{{ timeParser(attendance.timeIn) + \" | \" + dateParser(attendance.timeIn) }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-if=\"attendance.timeOut\">\n\t\t\t\t\t\t\t\t<strong>Time out: </strong>\n\t\t\t\t\t\t\t\t{{ timeParser(attendance.timeOut) + \" | \" + dateParser(attendance.timeOut) }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-if=\"attendance.duration != null\">\n\t\t\t\t\t\t\t\t<strong>Duration: </strong>\n\t\t\t\t\t\t\t\t{{ attendance.duration + \" minutes\" }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<hr v-if=\"index+1 != studentAttendance.length\" />\n\t\t\t\t\t</div>\n\t\t\t\t</b-popover>\n\t\t\t</span>\n\t\t</div>\n\t\t<ViewEditUserModal\n\t\t\t:user=\"userToViewEdit.user\"\n\t\t\t:openTab=\"userToViewEdit.openTab\"\n\t\t\t@updateModalState=\"toggleViewEditUser\"\n\t\t\t:showModal=\"showUserDetailModal\"\n\t\t\tviewOnly\n\t\t/>\n\t\t<b-modal id=\"absent-comment-modal\" :visible=\"isShowCommentModel\" hide-header centered size=\"md\" body-class=\"modal-body\"\n\t\t\thide-footer modal-class=\"custom-modal\">\n\t\t\t<div class=\"body-container\">\n\t\t\t\t<h4 class=\"add-content-title\">Absent Comment</h4>\n\t\t\t\t<br/>\n\t\t\t\t<textarea v-model=\"textComment\" placeholder=\"Enter Comment\" class=\"form-control\" ></textarea>\n\t\t\t</div>\n\t\t\n\t\t\t<div >\n\t\t\t\t<center >\n\t\t\t\t\t<button :disabled=\"loading\" \n\t\t\t\t\t\t@click=\"saveComment\" type=\"button\" class=\"step-btn\">Save</button>\n\t\t\t\t</center>\n\t\t\t</div>\n\t\t\n\t\t</b-modal>\n\n\t</div>\n</template>\n\n<script>\nimport { AttendanceStatus } from \"../../../constants/attendance\";\nimport { mapActions, mapState } from \"vuex\"; \nimport ViewEditUserModal from \"../Users/ViewEditUserModal.vue\";\nimport formatter from \"../../../helpers/FormatHelpers\";\n\nexport default {\n\tname: \"AttendanceListItem\",\n\tdata() {\n\t\treturn {\n\t\t\tAttendanceStatus,\n\t\t\tshowUserDetailModal: false,\n\t\t\tuserToViewEdit: {\n\t\t\t\tuser: this.$props.studentData,\n\t\t\t\topenTab: 0,\n\t\t\t},\n\t\t\tisShowCommentModel: false,\n\t\t\ttextComment:\"\"\n\t\t};\n\t},\n\tprops: {\n\t\tstudentData: Object,\n\t\ttype: String,\n\t\tmode: { type: String, default: \"view\" },\n\t\tcontentData: Object,\n\t\tabsentComment: String,\n\t\tstudentAttendance: Array\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"markLiveClassAttendance\"]),\n\t\tmarkAttendance(e) {\n\t\t\te.stopPropagation();\n\t\t\tvar attendanceObj = {};\n\t\t\tswitch (this.type) {\n\t\t\t\tcase AttendanceStatus.ABSENT:\n\t\t\t\t\tattendanceObj = {\n\t\t\t\t\t\tcontentID: this.contentData.id,\n\t\t\t\t\t\tuserID: this.studentData.id,\n\t\t\t\t\t\tstatus: \"Present\",\n\t\t\t\t\t\tattendedFrom: \"Physical\",\n\t\t\t\t\t\ttimeIn: new Date().toISOString(),\n\t\t\t\t\t\tisMarkLate: false,\n\t\t\t\t\t\tisLeftEarly: false,\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t\tcase AttendanceStatus.PRESENT:\n\t\t\t\t\tattendanceObj = {\n\t\t\t\t\t\tcontentID: this.contentData.id,\n\t\t\t\t\t\tuserID: this.studentData.id,\n\t\t\t\t\t\tstatus: \"Absent\",\n\t\t\t\t\t\tattendedFrom: \"Physical\",\n\t\t\t\t\t\ttimeIn: new Date().toISOString(),\n\t\t\t\t\t\tisMarkLate: false,\n\t\t\t\t\t\tisLeftEarly: false,\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis.markLiveClassAttendance([attendanceObj]).then((res) => {\n\t\t\t\tif (res) {\n\t\t\t\t\tthis.$emit(\"refreshAttendance\");\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tmarkLate() {\n\t\t\tvar attendanceObj = {\n\t\t\t\tcontentID: this.contentData.id,\n\t\t\t\tuserID: this.studentData.id,\n\t\t\t\tstatus: \"Absent\",\n\t\t\t\tattendedFrom: \"Physical\",\n\t\t\t\ttimeIn: new Date().toISOString(),\n\t\t\t\tisMarkLate: false,\n\t\t\t\tisLeftEarly: false,\n\t\t\t};\n\t\t},\n\t\ttoggleViewEditUser() {\n\t\t\tthis.showUserDetailModal = !this.showUserDetailModal;\n\t\t\tif (!this.showUserDetailModal) {\n\t\t\t\t// this.userToViewEdit.user = null;\n\t\t\t\tthis.userToViewEdit.openTab = 0;\n\t\t\t}\n\t\t},\n\t\ttoggleCommentModel(){\n\n\t\t\tthis.isShowCommentModel=!this.isShowCommentModel;\n\t\t\tif(this.isShowCommentModel)\n\t\t\t{\n\t\t\t\tthis.textComment=this.studentData.Reason;\n\t\t\t}\n\t\t},\n\t\tsaveComment() {\n\t\t\tvar attendanceObj = {\n\t\t\t\tcontentID: this.contentData.id,\n\t\t\t\tuserID: this.studentData.id,\n\t\t\t\tstatus: \"Absent\",\n\t\t\t\tattendedFrom: \"Physical\",\n\t\t\t\ttimeIn: new Date().toISOString(),\n\t\t\t\tisMarkLate: false,\n\t\t\t\tisLeftEarly: false,\n\t\t\t\treason: this.textComment\n\t\t\t};\n\n\t\t\tthis.markLiveClassAttendance([attendanceObj]).then((res) => {\n\t\t\t\tif (!res) {\t\t\t\t\t\n\t\t\tthis.studentData.Reason=\"\";\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t\tthis.studentData.Reason=this.textComment;\n\t\t\tthis.toggleCommentModel();\n\t\t},\n\t\tdateParser(date) {\n\t\t\treturn formatter.toShortDateString(date);\n\t\t},\n\t\ttimeParser(date) {\n\t\t\treturn formatter.getTimeIn12Hours(date);\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"loading\"]),\n\t\tbuttonText() {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase AttendanceStatus.PRESENT:\n\t\t\t\t\treturn \"Mark Absent\";\n\t\t\t\tcase AttendanceStatus.ABSENT:\n\t\t\t\t\treturn \"Mark Present\";\n\t\t\t}\n\t\t},\n\t\tshowButtons() {\n\t\t\tvar endTime = new Date(\n\t\t\t\tnew Date(this.contentData.availableTo).setMinutes(\n\t\t\t\t\tnew Date(this.contentData.availableTo).getMinutes() + 30\n\t\t\t\t)\n\t\t\t);\n\t\t\treturn endTime > new Date() ? true : false;\n\t\t},\n\t\ttotalAttendedMinutes() {\n\t\t\tconst totalDuration = this.studentAttendance?.some(o => o.duration !== null)\n  \t\t\t\t? this.studentAttendance.reduce((acc, o) => acc + (parseInt(o.duration) || 0), 0) + \" minutes\"\n\t\t\t\t: null;\n\n\t\t\treturn totalDuration;\n\t\t}\n\t},\n\tcomponents: { ViewEditUserModal },\n\tcreated() {},\n};\n</script>\n\n<style>\n.popover-custom-style .popover-body {\n\t/* .popover-body { */\n\tmax-height: 200px !important;\n\toverflow: scroll !important;\n/* } */\n}\n\n.popover-custom-style {\n\t/* top: 145px !important; */\n\tmin-width: 200px;\n}\n</style>\n\n<style scoped>\n/* .popover-custom-style {\n\tmax-height: 200px;\n    overflow: scroll;\n} */\n\n.attendance-list-item {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: 0.5rem;\n\tcursor: pointer;\n}\n\n.attendance-list-item:hover {\n\tbackground: #ededed;\n}\n\n.attendance-list-item.inactive_item{\n\tbackground-color: #ffebce;\n}\n\n.attendance-list-item .user-avatar {\n\twidth: 2rem;\n\theight: 2rem;\n\tcolor: var(--color-white);\n\tbackground-color: #231f20;\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tline-height: 1;\n\tfont-size: 1.2rem;\n\tmin-width: 2rem;\n\tmargin-right: 0.5rem;\n\t/* z-index: 100; */\n}\n\n.attendance-list-item .user-avatar img {\n\tvertical-align: middle;\n\twidth: 2.3rem;\n\theight: 2.3rem;\n\tborder-radius: 50%;\n\tobject-fit: cover;\n\tobject-position: center;\n}\n\n.attendance-list-item .content-cta button {\n\tpadding: 0.425rem 0;\n\twidth: 5.75rem;\n\tline-height: 1;\n\tborder-color: #282828;\n\tfont-size: 0.875rem;\n\tborder-radius: 4px;\n\tcolor: #282828 !important;\n\tfont-weight: 500;\n}\n\n.attendance-list-item .content-cta button.preview {\n\tpadding: 0.425rem 0.675rem;\n\twidth: fit-content;\n}\n\n.attendance-list-item .content-cta button.success {\n\tborder-color: var(--color-success) !important;\n\tcolor: var(--color-success) !important;\n}\n\n.attendance-list-item .content-cta button.danger {\n\tborder-color: var(--color-danger) !important;\n\tcolor: var(--color-danger) !important;\n}\n\n.attendance-list-item .subtitle {\n\tfont-size: 0.875rem;\n}\n  \n  /* The container <div> - needed to position the dropdown content */\n  .dropdown {\n\tposition: relative;\n\tdisplay: inline-block;\n  }\n  \n  /* Dropdown Content (Hidden by Default) */\n  .dropdown-content {\n\tdisplay: none;\n\tposition: absolute;\n\tbackground-color: #f1f1f1;\n\tmin-width: 160px;\n\tbox-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n\tz-index: 999;\n\tright: 0;\n  }\n  \n  /* Links inside the dropdown */\n  .dropdown-content a {\n\tcolor: black;\n\tpadding: 12px 16px;\n\ttext-decoration: none;\n\tdisplay: block;\n  }\n  \n  /* Change color of dropdown links on hover */\n  .dropdown-content a:hover {background-color: #ddd;}\n  \n  /* Show the dropdown menu on hover */\n  .dropdown:hover .dropdown-content {display: block;}\n  \n  /* Change the background color of the dropdown button when the dropdown content is shown */\n  .dropdown:hover .dropbtn {background-color: #3e8e41;}\n\n  .comment-notify-batch{\n\tz-index: 99999999;\n    color: red;\n    position: absolute;\n    right: -3px;\n    font-size: 12px;\n    top: -3px;\n  }\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AttendanceListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AttendanceListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AttendanceListItem.vue?vue&type=template&id=efb03094&scoped=true&\"\nimport script from \"./AttendanceListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./AttendanceListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AttendanceListItem.vue?vue&type=style&index=0&id=efb03094&prod&lang=css&\"\nimport style1 from \"./AttendanceListItem.vue?vue&type=style&index=1&id=efb03094&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"efb03094\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{attrs:{\"id\":\"content-attendance-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"content-attendance-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('div',{staticClass:\"body-container\"},[_c('h1',{staticClass:\"add-content-title\"},[_vm._v(_vm._s(_vm.contentData.title))]),_c('div',{staticClass:\"mb-3 text-black d-flex flex-column\"},[_c('div',{staticClass:\"d-flex gap-5 align-items-center mb-5\"},[_c('div',{staticClass:\"flex-grow-1\"},[_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Content Attendance\")]),(_vm.contentData.extraProperties)?_c('div',{staticClass:\"text-muted\"},[(_vm.contentData.extraProperties.SizeInMB)?_c('span',[_c('strong',[_vm._v(\"Size: \")]),_vm._v(_vm._s(_vm.contentData.extraProperties.SizeInMB)+\" MB | \")]):_vm._e(),(_vm.contentData.extraProperties.Duration)?_c('span',[_c('strong',[_vm._v(\"Duration: \")]),_vm._v(_vm._s(_vm.contentData.extraProperties.Duration ? (_vm.contentData.extraProperties.Duration / 60).toFixed(1) : \"\")+\" Minutes \")]):_vm._e()]):_vm._e()]),_c('div',{staticClass:\"searchbar flex-grow-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"autocomplete\":\"off\",\"id\":\"variant-search\",\"placeholder\":\"Search students\"},domProps:{\"value\":(_vm.searchText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}}),_c('a',{attrs:{\"role\":\"button\"}},[_c('img',{staticClass:\"search-icon\",attrs:{\"src\":require(\"@/assets/images/search-icon.svg\")}})])])])]),(!_vm.isShowDetail)?_c('div',[_c('div',{staticClass:\"d-flex mb-4 gap-3 ms-auto\"},[_c('button',{class:['filter-user-type-btn',{active:_vm.viewStatus==null}],on:{\"click\":function($event){return _vm.setViewStatus(null)}}},[_vm._v(\" All \")]),_c('button',{class:[\n\t\t\t\t\t\t'filter-user-type-btn',\n\t\t\t\t\t\t{active:_vm.viewStatus && _vm.viewStatus.toLowerCase()=='view'}\n\t\t\t\t\t  ],on:{\"click\":function($event){return _vm.setViewStatus('view')}}},[_vm._v(\" Viewed \")]),_c('button',{class:[\n\t\t\t\t\t\t'filter-user-type-btn',\n\t\t\t\t\t\t{active:_vm.viewStatus && _vm.viewStatus.toLowerCase()=='noview'}\n\t\t\t\t\t  ],on:{\"click\":function($event){return _vm.setViewStatus('noview')}}},[_vm._v(\" Not Viewed \")])]),_c('div',{staticClass:\"table-container\"},[_c('table',{staticClass:\"table table-hover table-borderless\"},[_c('thead',[_c('tr',[_c('th',{staticStyle:{\"width\":\"2%\",\"text-align\":\"center\"}},[_vm._v(\"#\")]),_c('th',{staticStyle:{\"width\":\"35%\"}},[_vm._v(\"Name\")]),_c('th',{staticStyle:{\"width\":\"20%\"}},[_vm._v(\"Enrollment Status\")]),_c('th',{staticStyle:{\"width\":\"20%\"}},[_vm._v(\"Views\")]),_c('th',{staticStyle:{\"width\":\"10%\"}})])]),(!_vm.students)?_c('tbody',[_c('tr',[_c('td',{attrs:{\"colspan\":\"5\"}},[_c('center',[_vm._v(\"Loading...\")])],1)])]):(_vm.searchFiltered(_vm.students).length>0)?_c('tbody',_vm._l((_vm.searchFiltered(_vm.students)),function(student,index){return _c('tr',{on:{\"click\":function($event){return _vm.viewUser(student)}}},[_c('td',[_c('center',[_vm._v(_vm._s((index+1)))])],1),_c('td',[_vm._v(_vm._s(student.firstName)+\" \"+_vm._s(student.lastName)),_c('br'),_c('small',[_vm._v(_vm._s(student.email)+\" | \"+_vm._s(student.phone))])]),_c('td',[_c('div',{class:[\n\t\t\t\t\t\t\t\t  'status-tag',\n\t\t\t\t\t\t\t\t  {\n\t\t\t\t\t\t\t\t\twarning: student.enrollmentStatus && student.enrollmentStatus.toLowerCase() != \"allowed\",\n\t\t\t\t\t\t\t\t\tsuccess: student.enrollmentStatus && student.enrollmentStatus.toLowerCase() == \"allowed\",\n\t\t\t\t\t\t\t\t  } ]},[_vm._v(\" \"+_vm._s(student.enrollmentStatus)+\" \")])]),_c('td',[( !(student.viewsCount && student.viewsCount>0))?_c('div',{class:[\n\t\t\t\t\t\t\t\t  'status-tag',\n\t\t\t\t\t\t\t\t  {\n\t\t\t\t\t\t\t\t\twarning: !(student.viewsCount && student.viewsCount>0),\n\t\t\t\t\t\t\t\t\tsuccess: student.viewsCount && student.viewsCount>0,\n\t\t\t\t\t\t\t\t  } ]},[_vm._v(\" \"+_vm._s(student.viewsCount && student.viewsCount>0?(student.viewsCount +\" VIEWS\"):\"NO VIEWS\")+\" \")]):_c('div',[_vm._v(\" \"+_vm._s(student.viewsCount)+\" \")])]),_c('td',{on:{\"click\":function($event){$event.stopPropagation();}}},[(student.viewsCount && student.viewsCount>0)?_c('button',{staticClass:\"btn btn-outline\",on:{\"click\":function($event){return _vm.showDetail(student)}}},[_vm._v(\" View Detail \")]):_vm._e()])])}),0):(_vm.searchFiltered(_vm.students).length<0)?_c('tbody',[_c('tr',[_c('td',{attrs:{\"colspan\":\"4\"}},[_c('center',[_vm._v(\"No Data Found\")])],1)])]):_vm._e()])])]):(_vm.isShowDetail && _vm.selectedDetail)?_c('div',[_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('div',{staticClass:\"flex-grow-1\",staticStyle:{\"width\":\"50%\"}},[_c('span',{staticClass:\"text-bold\"},[_vm._v(_vm._s(_vm.selectedDetail.firstName)+\" \"+_vm._s(_vm.selectedDetail.lastName))]),_c('div',{staticClass:\"text-muted\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.selectedDetail.email)+\" | \"+_vm._s(_vm.selectedDetail.phone)+\" \")])])]),_c('div',{staticClass:\"flex-grow-1\"},[_c('button',{staticClass:\"step-btn\",staticStyle:{\"float\":\"right\"},on:{\"click\":_vm.backToList}},[_vm._v(\" Back To List \")])])]),_c('div',{staticClass:\"table-container\"},[_c('table',{staticClass:\"table table-hover table-borderless\"},[_c('thead',[_c('tr',[_c('th',{staticStyle:{\"width\":\"2%\",\"text-align\":\"center\"}},[_vm._v(\"#\")]),_c('th',{staticStyle:{\"width\":\"10%\"}},[_vm._v(\"Viewed At\")]),_c('th',{staticStyle:{\"width\":\"35%\"}},[_vm._v(\"Device\")])])]),_c('tbody',[(!_vm.selectedDetailViewLogs)?_c('tr',[_c('td',{attrs:{\"colspan\":\"5\"}},[_c('center',[_vm._v(\"Loading...\")])],1)]):( _vm.selectedDetailViewLogs.length>0)?_vm._l((_vm.selectedDetailViewLogs),function(viewLog,index){return _c('tr',[_c('td',[_c('center',[_vm._v(_vm._s(index+1))])],1),_c('td',[_vm._v(_vm._s(_vm.timeParser(viewLog.viewedAt)))]),_c('td',[(viewLog.device && viewLog.device.deviceToken)?_c('span',[_vm._v(_vm._s(viewLog.device.deviceToken))]):_c('center',[_vm._v(\"-\")])],1)])}):_vm._e()],2)])])]):_vm._e(),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"skip-step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_vm._v(\" cancel \")]),(_vm.showPrev)?_c('a',{staticClass:\"step-btn prev\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prev}},[_c('i',{staticClass:\"fas fa-long-arrow-alt-left\"}),_vm._v(\" prev \")]):_vm._e(),_c('button',{staticClass:\"step-btn\",on:{\"click\":_vm.refresh}},[(_vm.loading)?_c('b-spinner',{staticClass:\"me-2\",attrs:{\"small\":\"\"}}):_c('i',{staticClass:\"far fa-redo me-2\"}),_vm._v(\" Refresh \")],1),_c('button',{class:['step-btn','export-excel-btn'],attrs:{\"disabled\":_vm.exportLoading},on:{\"click\":_vm.exportAttendanceData}},[_vm._v(\" Export As CSV \")])])])]),_c('ViewEditUserModal',{attrs:{\"user\":_vm.userToViewEdit,\"openTab\":0,\"showModal\":_vm.showUserDetailModal,\"viewOnly\":\"\"},on:{\"updateModalState\":_vm.toggleViewEditUser}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n<div>\n\t<b-modal id=\"content-attendance-modal\" @change=\"$emit('updateModalState', false)\" :visible=\"visible\" hide-header\n\t\tcentered content-class=\"content-attendance-modal\" size=\"xl\" body-class=\"modal-body\" hide-footer\n\t\tmodal-class=\"custom-modal\" no-close-on-backdrop>\n\t\t<button @click=\"$emit('updateModalState', false)\" class=\"close-button\" role=\"button\">\n\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t</button>\n\n\t\t<div class=\"body-container\">\n\t\t\t<h1 class=\"add-content-title\">{{ contentData.title }}</h1>\n\t\t\t<div class=\"mb-3 text-black d-flex flex-column\">\n\t\t\t\t<div class=\"d-flex gap-5 align-items-center mb-5\">\n\t\t\t\t\t<div class=\"flex-grow-1\">\n\t\t\t\t\t\t<span class=\"text-bold\">Content Attendance</span>\n\t\t\t\t\t\t<div class=\"text-muted\" v-if=\"contentData.extraProperties\">\n\t\t\t\t\t\t\t<span v-if=\"contentData.extraProperties.SizeInMB\">\n\t\t\t\t\t\t\t\t<strong>Size: </strong>{{ contentData.extraProperties.SizeInMB }} MB | \n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span v-if=\"contentData.extraProperties.Duration\">\n\t\t\t\t\t\t\t\t<strong>Duration: </strong\n\t\t\t\t\t\t\t\t>{{\n\t\t\t\t\t\t\t\t\tcontentData.extraProperties.Duration\n\t\t\t\t\t\t\t\t\t\t? (contentData.extraProperties.Duration / 60).toFixed(1)\n\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tMinutes\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"searchbar flex-grow-1\">\n\t\t\t\t\t\t<input type=\"search\" autocomplete=\"off\" id=\"variant-search\" placeholder=\"Search students\"\n\t\t\t\t\t\t\tclass=\"form-input\" v-model=\"searchText\" />\n\t\t\t\t\t\t<a role=\"button\"><img class=\"search-icon\" src=\"@/assets/images/search-icon.svg\" /></a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-if=\"!isShowDetail\">\n\t\t\t\t<div class=\"d-flex mb-4 gap-3 ms-auto\">\n\t\t\t\t\t<button\n\t\t\t\t\t  @click=\"setViewStatus(null)\"\n\t\t\t\t\t  :class=\"['filter-user-type-btn',{active:viewStatus==null}]\"\n\t\t\t\t\t>\n\t\t\t\t\t  All\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t \n\t\t\t\t\t@click=\"setViewStatus('view')\"\n\t\t\t\t\t  :class=\"[\n\t\t\t\t\t\t'filter-user-type-btn',\n\t\t\t\t\t\t{active:viewStatus && viewStatus.toLowerCase()=='view'}\n\t\t\t\t\t  ]\"\n\t\t\t\t\t>\n\t\t\t\t\t  Viewed\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t@click=\"setViewStatus('noview')\"\n\t\t\t\t\t  :class=\"[\n\t\t\t\t\t\t'filter-user-type-btn',\n\t\t\t\t\t\t{active:viewStatus && viewStatus.toLowerCase()=='noview'}\n\t\t\t\t\t  ]\"\n\t\t\t\t\t>\n\t\t\t\t\t  Not Viewed\n\t\t\t\t\t</button>\n\t\t\t\t  </div>\n\t\t\t\t  <div class=\"table-container\">\n\t\t\t\t\t<table class=\"table table-hover table-borderless\">\n\t\t\t\t\t  <thead>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t  <th style=\"width: 2%; text-align: center;\">#</th>\n\t\t\t\t\t\t  <th style=\"width: 35%;\">Name</th>\n\t\t\t\t\t\t  <th style=\"width: 20%\">Enrollment Status</th>   \n\t\t\t\t\t\t  <th style=\"width: 20%\">Views</th>\n\t\t\t\t\t\t  <th style=\"width: 10%\"></th>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<!-- <th style=\"width: 5%\"></th> -->\n\t\t\t\t\t  </thead>\n\t\t\t\t\t  <tbody v-if=\"!students\">\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td colspan=\"5\"><center>Loading...</center></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t  </tbody>\n\t\t\t\t\t  <tbody v-else-if=\"searchFiltered(students).length>0\">\n\t\t\t\t\t\t<tr v-for=\"(student,index) in searchFiltered(students)\" @click=\"viewUser(student)\">\n\t\t\t\t\t\t\t<td><center>{{(index+1)}}</center></td>\n\t\t\t\t\t\t\t<td>{{student.firstName}} {{student.lastName}}<br/><small>{{student.email}} | {{student.phone}}</small></td>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t  'status-tag',\n\t\t\t\t\t\t\t\t  {\n\t\t\t\t\t\t\t\t\twarning: student.enrollmentStatus && student.enrollmentStatus.toLowerCase() != `allowed`,\n\t\t\t\t\t\t\t\t\tsuccess: student.enrollmentStatus && student.enrollmentStatus.toLowerCase() == `allowed`,\n\t\t\t\t\t\t\t\t  },\n\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t  >\n\t\t\t\t\t\t\t\t{{ student.enrollmentStatus }} \n\t\t\t\t\t\t\t  </div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td >\n\t\t\t\t\t\t\t\t<div v-if=\" !(student.viewsCount && student.viewsCount>0)\"\n\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t  'status-tag',\n\t\t\t\t\t\t\t\t  {\n\t\t\t\t\t\t\t\t\twarning: !(student.viewsCount && student.viewsCount>0),\n\t\t\t\t\t\t\t\t\tsuccess: student.viewsCount && student.viewsCount>0,\n\t\t\t\t\t\t\t\t  },\n\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t  >\n\t\t\t\t\t\t\t\t{{ student.viewsCount && student.viewsCount>0?(student.viewsCount +\" VIEWS\"):\"NO VIEWS\" }} \n\t\t\t\t\t\t\t  </div>\n\t\t\t\t\t\t\t  <div v-else >\n\t\t\t\t\t\t\t\t{{student.viewsCount }}\n\t\t\t\t\t\t\t  </div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td @click.stop>\n\t\t\t\t\t\t\t\t<button @click=\"showDetail(student)\" class=\"btn btn-outline\" v-if=\"student.viewsCount && student.viewsCount>0\">\n\t\t\t\t\t\t\t\t\tView Detail\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t  </tbody>\n\t\t\t\t\t  <tbody v-else-if=\"searchFiltered(students).length<0\">\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td colspan=\"4\"><center>No Data Found</center></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t  </tbody>\n\t\t\t\t\t</table>  \n\t\t\t</div></div>\n\t\t\t<div v-else-if=\"isShowDetail && selectedDetail\">\n\t\t\t\t<div style=\"display: flex;\">\n\t\t\t\t<div class=\"flex-grow-1\" style=\"width: 50%;\">\n\t\t\t\t\t<span class=\"text-bold\">{{selectedDetail.firstName}} {{selectedDetail.lastName}}</span>\n\t\t\t\t\t<div class=\"text-muted\" >\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{{ selectedDetail.email }} | {{ selectedDetail.phone }} \n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"flex-grow-1\" >\n\t\t\t\t\t<button class=\"step-btn\" style=\"float: right;\" @click=\"backToList\">\n\t\t\t\t\t\tBack To List\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t\t<div class=\"table-container\">\n\t\t\t\t\t<table class=\"table table-hover table-borderless\">\n\t\t\t\t\t  <thead>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t  <th style=\"width: 2%; text-align: center;\">#</th>\n\t\t\t\t\t\t  <th style=\"width: 10%\">Viewed At</th>\t\t\t\t\t\n\t\t\t\t\t\t  <th style=\"width: 35%;\">Device</th>\n\t\t\t\t\t\t  <!-- <th style=\"width: 15%\">Platform</th>   \n\t\t\t\t\t\t  <th style=\"width: 10%\">IP</th> -->\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<!-- <th style=\"width: 5%\"></th> -->\n\t\t\t\t\t  </thead>\n\t\t\t\t\t  <tbody  >\n\t\t\t\t\t\t<tr v-if=\"!selectedDetailViewLogs\">\n\t\t\t\t\t\t\t<td colspan=\"5\"><center>Loading...</center></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr v-else-if=\" selectedDetailViewLogs.length>0\" v-for=\"(viewLog,index) in selectedDetailViewLogs\">\n\t\t\t\t\t\t\t<td ><center>{{index+1}}</center></td>\n\t\t\t\t\t\t\t<td>{{timeParser(viewLog.viewedAt)}}</td>\n\t\t\t\t\t\t\t<td><span v-if=\"viewLog.device && viewLog.device.deviceToken\">{{ viewLog.device.deviceToken }}</span><center v-else>-</center></td>\n\t\t\t\t\t\t\t<!-- <td><span v-if=\"viewLog.device && viewLog.device.platform\">{{ viewLog.device.platform }}</span><span v-else>-</span></td>\n\t\t\t\t\t\t\t<td><span v-if=\"viewLog.device && viewLog.device.ip\">{{ viewLog.device.ip }}</span><span v-else>-</span></td> -->\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t  </tbody>\n\t\t\t\t\t\n\t\t\t\t\t</table>  \n\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<button @click=\"closeModal\" role=\"button\" class=\"skip-step-btn\">\n\t\t\t\t\tcancel\n\t\t\t\t</button>\n\t\t\t\t<a @click=\"prev\" v-if=\"showPrev\" role=\"button\" class=\"step-btn prev\"><i\n\t\t\t\t\t\tclass=\"fas fa-long-arrow-alt-left\"></i> prev\n\t\t\t\t</a>\n\t\t\t\t<!-- <button\n\t\t\t\t\t@click=\"next\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t:disabled=\"disableNext || loading\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\t{{ stepButtonContent }} <i class=\"fas fa-long-arrow-alt-right\"></i>\n\t\t\t\t\t<img src=\"@/assets/images/arrow-right.svg\" />\n\t\t\t\t</button> -->\n\t\t\t\t<button class=\"step-btn\" @click=\"refresh\">\n\t\t\t\t\t<b-spinner v-if=\"loading\" small class=\"me-2\"></b-spinner>\n\t\t\t\t\t<i v-else class=\"far fa-redo me-2\"></i> Refresh\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t       \t\t\t\t\t    @click=\"exportAttendanceData\"\n\t\t\t\t\t\t\t\t\t:disabled=\"exportLoading\"\n\t\t       \t\t\t\t\t    :class=\"['step-btn','export-excel-btn']\"\n\t\t       \t\t\t\t\t>\n\t\t       \t\t\t\t\t  Export As CSV\n\t\t       \t\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n\t\n\t<ViewEditUserModal\n\t:user=\"userToViewEdit\"\n\t:openTab=\"0\"\n\t@updateModalState=\"toggleViewEditUser\"\n\t:showModal=\"showUserDetailModal\"\n\tviewOnly\n\t/>\n</div>\t\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport formatter from \"../../../helpers/FormatHelpers\";\nimport ViewEditUserModal from \"../Users/ViewEditUserModal.vue\";\n\nexport default {\n\tname: \"ContentAttendanceModal\",\n\tdata() {\n\t\treturn {\n\t\t\tcontentViewedStudents: [],\n\t\t\tsearchText: \"\",\n\t\t\tviewStatus:null,\n\t\t\tstudents:null,\n\t\t\tisIncludeInActiveStudents: false,\n\t\t\texportLoading: false,\n\t\t\tuserToViewEdit: null,\n\t\t\tshowUserDetailModal: false,\n\t\t\tisShowDetail:false,\n\t\t\tselectedDetail:null,\n\t\t\tselectedDetailViewLogs:null\n\t\t\t\n\t\t};\n\t},\n\tprops: { showModal: Boolean, productVariantId: String, contentData: Object },\n\tcomputed: {\n\t\t...mapState(\"user\", [\"loading\"]),\n\t\t...mapState(\"user\", [\"usersByProductVariant\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tshowPrev() { },\n\t\tstepButtonContent() {\n\t\t\treturn \"Save\";\n\t\t},\n\t\tdisableNext() { }\n\t},\t\n\tcomponents: { ViewEditUserModal },\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchUsersByProductVariant\"]),\n\t\t...mapActions(\"content\", [\n\t\t\t\"fetchContentAttendance\",\n\t\t\t\"fetchContentAttendanceDetail\",\n\t\t\t\"exportContentAttendanceReport\"\n\t\t]),\n\t\tcloseModal() {\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t},\n\t\tprev() { },\n\t\tnext() { },\n\t\tdateParser(date) {\n\t\t\treturn formatter.toShortDateString(date);\n\t\t},\n\t\texportAttendanceData() {\n\t\t\tthis.exportLoading = true;\n\t\t\tthis.exportContentAttendanceReport(this.contentData.id).then((result) => {\n\n\t\t\t\tif (result && result.url) {\n\t\t\t\t\tconst link = document.createElement('a');\n\t\t\t\t\tlink.href = result.url;\n\t\t\t\t\tlink.setAttribute('download', result.name ? result.name : `content_attendance_report.csv`);\n\t\t\t\t\tdocument.body.appendChild(link);\n\t\t\t\t\tthis.exportLoading = false;\n\t\t\t\t\tlink.click();\n\t\t\t\t\tlink.parentNode.removeChild(link);\n\t\t\t\t\t// clean up Url\n\t\t\t\t\twindow.URL.revokeObjectURL(result);\n\t\t\t\t}\n\t\t\t}).catch((err) => {\n\t\t\t\tconsole.log({ err });\n\n\t\t\t\tthis.exportLoading = false;\n\t\t\t});\n\t\t},\n\t\ttimeParser(date) {\n\t\t\treturn formatter.getInputDateFormat(date) +' '+ formatter.getTimeIn12Hours(date);\n\t\t},\n\t\tasync refresh() {\n\t\t\t\n\t\t\tthis.selectedDetail=null;\n\t\t\tthis.isShowDetail=false;\n\t\t\tawait this.fetchContentAttendance({contentID:this.contentData.id}).then((res) => {\n\t\t\t\tthis.contentViewedStudents=res;\n\t\t\t});\n\t\t\tthis.fetchUsersByProductVariant(this.productVariantId).then((res) => {\n\t\t\t\tthis.students=  this.usersByProductVariant[\n\t\t\t\t\t\tthis.productVariantId\n\t\t\t\t\t].map((user) => {\n\t\t\t\t\t\t var attendance = this.contentViewedStudents.find(x=>x.user.id==user.id);\n\t\t\t\t\t\t if(attendance)\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\tuser.viewsCount=attendance.viewsCount;\n\t\t\t\t\t\t }\n\t\t\t\t\t\t return user;\n\t\t\t\t\t});\n\t\t\t\tconsole.log(res);\n\t\t\t});\n\t\t},\n\t\tsearchFiltered(list) {\n\t\t\treturn list.filter(x=>\n\t\t\t(!this.searchText || `${x.firstName} ${x.lastName} ${x.email} ${x.phone}`.toLowerCase().indexOf(this.searchText)>-1)\n\t\t\t&& (this.viewStatus==null || \n\t\t\t(this.viewStatus.toLowerCase()==\"view\" && x.viewsCount && x.viewsCount>0) ||  \n\t\t\t(this.viewStatus.toLowerCase()=='noview' && !x.viewsCount) )\n\t\t\t);\n\t\t},\n\t\tsetViewStatus(status){\n\t\t\tthis.viewStatus=status;\n\t\t},\n\t\tbackToList(){\n\t\t\tthis.selectedDetail=null;\n\t\t\tthis.isShowDetail=false;\n\t\t},\n\t\tviewUser(user){\n\t\t\tthis.userToViewEdit=user;\n\t\t\tthis.showUserDetailModal = true;\n\t\t\t\n\t\t},\n\t\ttoggleViewEditUser() {\n\t\t\tthis.showUserDetailModal = !this.showUserDetailModal;\n\t\t\tif (!this.showUserDetailModal) {\n\t\t\t\tthis.userToViewEdit.user = null;\n\t\t\t}\n\t\t},\n\t\tshowDetail(selected)\n\t\t{\n\t\t\tthis.selectedDetailViewLogs=null;\n\t\t\tthis.selectedDetail=selected;\n\t\t\tthis.isShowDetail=true;\n\t\t\t\n\t\t\tthis.fetchContentAttendanceDetail({contentID:this.contentData.id,userID:this.selectedDetail.id}).then((data)=>{\n\t\t\t\t\n\t\t\t\tif(this.selectedDetail && data.length>0){\n\t\t\t\t\tthis.selectedDetailViewLogs=data[0].viewLogs;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\twatch: {\n\t\tvisible: async function () {\n\t\t\tif (this.visible) {\n\t\t\t\tthis.refresh();\n\n\t\t\t}\n\t\t},\n\t},\n\tcreated() { },\n};\n</script>\n\n<style scoped>\n.content-attendance-modal .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0 0 0.875rem;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n\tborder-radius: 0;\n\tbox-shadow: none !important;\n\tposition: relative;\n\theight: 40px;\n}\n\n.content-attendance-modal .body-container {\n\tpadding: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tposition: relative;\n}\n\n.content-attendance-modal .add-btn {\n\tposition: absolute;\n\ttop: 2rem;\n\tright: 4.5rem;\n\tz-index: 99 !important;\n}\n\n.attendance-status-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tmargin-bottom: 1rem;\n}\n\n.attendance-present h5,\n.attendance-online h5,\n.attendance-absent h5,\n.attendance-unpaid h5 {\n\tpadding-bottom: 0.5rem;\n\tborder-bottom: 1px solid #dddddd;\n}\n\n.attendance-absent,\n.attendance-unpaid {\n\tmargin-top: 1rem;\n}\n\n.attendance-unpaid .attendance-list-container {\n\theight: 25vh !important;\n\toverflow-y: auto !important;\n}\n\n/* {\n    min-height: 25vh;\n} */\n\n.content-attendance-modal .close-button {\n\tz-index: 99 !important;\n}\n\n.content-attendance-modal .no-content {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\theight: 25vh !important;\n}\n.export-excel-btn {\n\tbackground: var(--primary-color);\n\tcolor: white;\n  }\n\n  .export-excel-btn:hover {\n\tbackground: white !important;\n\tcolor: black !important;\n\tborder: 1px solid var(--primary-color) !important;\n  }\n\n  .table-container{\n\toverflow: auto;\n\theight: 50vh;\n  }\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ContentAttendanceModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ContentAttendanceModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContentAttendanceModal.vue?vue&type=template&id=2f9ad3a5&scoped=true&\"\nimport script from \"./ContentAttendanceModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ContentAttendanceModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContentAttendanceModal.vue?vue&type=style&index=0&id=2f9ad3a5&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2f9ad3a5\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"live-class-attendance-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"live-class-attendance-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('div',{staticClass:\"body-container\"},[_c('h1',{staticClass:\"add-content-title\"},[_vm._v(_vm._s(_vm.contentData.title))]),_c('div',{staticClass:\"mb-3 text-black d-flex flex-column\"},[_c('div',{staticClass:\"d-flex gap-5 align-items-center mb-5\"},[_c('div',{staticClass:\"flex-grow-1\"},[_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Live Class Attendance\")]),(_vm.contentData.extraProperties)?_c('div',{staticClass:\"text-muted\"},[_c('strong',[_vm._v(\"Start Time:\")]),_vm._v(\" \"+_vm._s(_vm.timeParser(_vm.contentData.availableFrom))+\", \"+_vm._s(_vm.dateParser(_vm.contentData.availableFrom))+\" | \"),_c('strong',[_vm._v(\"Duration:\")]),_vm._v(\" \"+_vm._s(_vm.calculatedDuration())+\" Minutes \")]):_vm._e()]),_c('div',{staticClass:\"searchbar flex-grow-1\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isIncludeInActiveStudents),expression:\"isIncludeInActiveStudents\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isIncludeInActiveStudents\",\"name\":\"isIncludeInActiveStudents\"},domProps:{\"checked\":Array.isArray(_vm.isIncludeInActiveStudents)?_vm._i(_vm.isIncludeInActiveStudents,null)>-1:(_vm.isIncludeInActiveStudents)},on:{\"change\":function($event){var $$a=_vm.isIncludeInActiveStudents,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isIncludeInActiveStudents=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isIncludeInActiveStudents=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isIncludeInActiveStudents=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isIncludeInActiveStudents\"}},[_vm._v(\"Include Inactive Students\")])])]),_c('div',{staticClass:\"searchbar flex-grow-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"autocomplete\":\"off\",\"id\":\"variant-search\",\"placeholder\":\"Search students\"},domProps:{\"value\":(_vm.searchText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}}),_c('a',{attrs:{\"role\":\"button\"}},[_c('img',{staticClass:\"search-icon\",attrs:{\"src\":require(\"@/assets/images/search-icon.svg\")}})])])])]),_c('div',{staticClass:\"attendance-status-container\"},[_c('div',{staticClass:\"attendance-present col-6 pe-3\"},[_c('h5',{staticClass:\"mb-3\"},[_vm._v(\" Face-to-Face Students (\"+_vm._s(_vm.searchFiltered(_vm.presentStudents).length)+\") \")]),(_vm.searchFiltered(_vm.presentStudents).length)?_c('div',{staticClass:\"attendance-list-container\"},_vm._l((_vm.searchFiltered(_vm.presentStudents)),function(item){return _c('AttendanceListItem',{key:item.user.id,attrs:{\"type\":_vm.AttendanceStatus.PRESENT,\"studentData\":Object.assign({}, {type: 'Student'}, item.user),\"contentData\":_vm.contentData,\"studentAttendance\":item.attendance},on:{\"refreshAttendance\":_vm.refresh}})}),1):_c('div',{staticClass:\"no-content\"},[(_vm.loading)?_c('b-spinner'):_c('span',[_vm._v(\"No present students \"+_vm._s(_vm.searchText? \"that match your search\": \"\"))])],1)]),_c('div',{staticClass:\"attendance-online col-6 ps-3\"},[_c('h5',{staticClass:\"mb-3\"},[_vm._v(\" Online Students (\"+_vm._s(_vm.searchFiltered(_vm.onlineStudents).length)+\") \")]),(_vm.searchFiltered(_vm.onlineStudents).length)?_c('div',{staticClass:\"attendance-list-container\"},_vm._l((_vm.searchFiltered(_vm.onlineStudents)),function(item){return _c('AttendanceListItem',{key:item.user.id,attrs:{\"type\":_vm.AttendanceStatus.ONLINE,\"studentData\":Object.assign({}, {type: 'Student'}, item.user),\"contentData\":_vm.contentData,\"studentAttendance\":item.attendance},on:{\"refreshAttendance\":_vm.refresh}})}),1):_c('div',{staticClass:\"no-content\"},[(_vm.loading)?_c('b-spinner'):_c('span',[_vm._v(\"No online students \"+_vm._s(_vm.searchText? \"that match your search\": \"\")+\" \")])],1)]),_c('div',{staticClass:\"attendance-absent col-6 pe-3\"},[_c('h5',{staticClass:\"mb-3\"},[_vm._v(\" Absent Student (\"+_vm._s(_vm.searchFiltered(_vm.absentStudents).length)+\") \")]),(_vm.searchFiltered(_vm.absentStudents).length)?_c('div',{staticClass:\"attendance-list-container\"},_vm._l((_vm.searchFiltered(_vm.absentStudents)),function(item){return _c('AttendanceListItem',{key:item.id,attrs:{\"type\":_vm.AttendanceStatus.ABSENT,\"studentData\":Object.assign({}, {type: 'Student'}, item),\"contentData\":_vm.contentData},on:{\"refreshAttendance\":_vm.refresh}})}),1):_c('div',{staticClass:\"no-content\"},[(_vm.loading)?_c('b-spinner'):_c('span',[_vm._v(\"No absent students \"+_vm._s(_vm.searchText? \"that match your search\": \"\"))])],1)]),_c('div',{staticClass:\"attendance-unpaid col-6 ps-3\"},[_c('h5',{staticClass:\"mb-3\"},[_vm._v(\" Unpaid Students (\"+_vm._s(_vm.searchFiltered(_vm.unpaidStudents).length)+\") \")]),(_vm.searchFiltered(_vm.unpaidStudents).length)?_c('div',{staticClass:\"attendance-list-container\"},_vm._l((_vm.searchFiltered(_vm.unpaidStudents)),function(item){return _c('AttendanceListItem',{key:item.id,attrs:{\"type\":_vm.AttendanceStatus.UNPAID,\"studentData\":Object.assign({}, {type: 'Student'}, item),\"contentData\":_vm.contentData},on:{\"refreshAttendance\":_vm.refresh}})}),1):_c('div',{staticClass:\"no-content\"},[(_vm.loading)?_c('b-spinner'):_c('span',[_vm._v(\"No unpaid students \"+_vm._s(_vm.searchText? \"that match your search\": \"\"))])],1)])]),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"skip-step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_vm._v(\" cancel \")]),(_vm.showPrev)?_c('a',{staticClass:\"step-btn prev\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prev}},[_c('i',{staticClass:\"fas fa-long-arrow-alt-left\"}),_vm._v(\" prev \")]):_vm._e(),_c('button',{staticClass:\"step-btn\",on:{\"click\":_vm.refresh}},[(_vm.loading)?_c('b-spinner',{staticClass:\"me-2\",attrs:{\"small\":\"\"}}):_c('i',{staticClass:\"far fa-redo me-2\"}),_vm._v(\" Refresh \")],1),_c('button',{class:['step-btn','export-excel-btn'],attrs:{\"disabled\":_vm.exportLoading},on:{\"click\":_vm.exportAttendanceData}},[_vm._v(\" Export As CSV \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal id=\"live-class-attendance-modal\" @change=\"$emit('updateModalState', false)\" :visible=\"visible\" hide-header\n\t\tcentered content-class=\"live-class-attendance-modal\" size=\"xl\" body-class=\"modal-body\" hide-footer\n\t\tmodal-class=\"custom-modal\" no-close-on-backdrop>\n\t\t<button @click=\"$emit('updateModalState', false)\" class=\"close-button\" role=\"button\">\n\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t</button>\n\n\t\t<div class=\"body-container\">\n\t\t\t<h1 class=\"add-content-title\">{{ contentData.title }}</h1>\n\t\t\t<div class=\"mb-3 text-black d-flex flex-column\">\n\t\t\t\t<div class=\"d-flex gap-5 align-items-center mb-5\">\n\t\t\t\t\t<div class=\"flex-grow-1\">\n\t\t\t\t\t\t<span class=\"text-bold\">Live Class Attendance</span>\n\t\t\t\t\t\t<div class=\"text-muted\" v-if=\"contentData.extraProperties\">\n\t\t\t\t\t\t\t<strong>Start Time:</strong>\n\t\t\t\t\t\t\t{{ timeParser(contentData.availableFrom) }},\n\t\t\t\t\t\t\t{{ dateParser(contentData.availableFrom) }} |\n\t\t\t\t\t\t\t<strong>Duration:</strong>\n\t\t\t\t\t\t\t{{ calculatedDuration() }} Minutes\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"searchbar flex-grow-1\">\n\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"isIncludeInActiveStudents\"\n\t\t\t\t\t\t\t\tname=\"isIncludeInActiveStudents\" v-model=\"isIncludeInActiveStudents\" />\n\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isIncludeInActiveStudents\">Include Inactive\n\t\t\t\t\t\t\t\tStudents</label>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"searchbar flex-grow-1\">\n\t\t\t\t\t\t<input type=\"search\" autocomplete=\"off\" id=\"variant-search\" placeholder=\"Search students\"\n\t\t\t\t\t\t\tclass=\"form-input\" v-model=\"searchText\" />\n\t\t\t\t\t\t<a role=\"button\"><img class=\"search-icon\" src=\"@/assets/images/search-icon.svg\" /></a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=\"attendance-status-container\">\n\t\t\t\t<div class=\"attendance-present col-6 pe-3\">\n\t\t\t\t\t<h5 class=\"mb-3\">\n\t\t\t\t\t\tFace-to-Face Students ({{ searchFiltered(presentStudents).length }})\n\t\t\t\t\t</h5>\n\t\t\t\t\t<div class=\"attendance-list-container\" v-if=\"searchFiltered(presentStudents).length\">\n\t\t\t\t\t\t<AttendanceListItem v-for=\"item in searchFiltered(presentStudents)\" :key=\"item.user.id\"\n\t\t\t\t\t\t\t:type=\"AttendanceStatus.PRESENT\" :studentData=\"{ type: 'Student', ...item.user }\"\n\t\t\t\t\t\t\t:contentData=\"contentData\" @refreshAttendance=\"refresh\" :studentAttendance=\"item.attendance\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else class=\"no-content\">\n\t\t\t\t\t\t<b-spinner v-if=\"loading\"></b-spinner>\n\t\t\t\t\t\t<span v-else>No present students\n\t\t\t\t\t\t\t{{ searchText? \"that match your search\": \"\" }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"attendance-online col-6 ps-3\">\n\t\t\t\t\t<h5 class=\"mb-3\">\n\t\t\t\t\t\tOnline Students ({{ searchFiltered(onlineStudents).length }})\n\t\t\t\t\t</h5>\n\t\t\t\t\t<div class=\"attendance-list-container\" v-if=\"searchFiltered(onlineStudents).length\">\n\t\t\t\t\t\t<AttendanceListItem v-for=\"item in searchFiltered(onlineStudents)\" :key=\"item.user.id\"\n\t\t\t\t\t\t\t:type=\"AttendanceStatus.ONLINE\" :studentData=\"{ type: 'Student', ...item.user }\"\n\t\t\t\t\t\t\t:contentData=\"contentData\" @refreshAttendance=\"refresh\" :studentAttendance=\"item.attendance\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else class=\"no-content\">\n\t\t\t\t\t\t<b-spinner v-if=\"loading\"></b-spinner>\n\t\t\t\t\t\t<span v-else>No online students\n\t\t\t\t\t\t\t{{ searchText? \"that match your search\": \"\" }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"attendance-absent col-6 pe-3\">\n\t\t\t\t\t<h5 class=\"mb-3\">\n\t\t\t\t\t\tAbsent Student ({{ searchFiltered(absentStudents).length }})\n\t\t\t\t\t</h5>\n\t\t\t\t\t<div class=\"attendance-list-container\" v-if=\"searchFiltered(absentStudents).length\">\n\t\t\t\t\t\t<AttendanceListItem v-for=\"item in searchFiltered(absentStudents)\" :key=\"item.id\"\n\t\t\t\t\t\t\t:type=\"AttendanceStatus.ABSENT\" :studentData=\"{ type: 'Student', ...item }\"\n\t\t\t\t\t\t\t:contentData=\"contentData\" @refreshAttendance=\"refresh\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else class=\"no-content\">\n\t\t\t\t\t\t<b-spinner v-if=\"loading\"></b-spinner>\n\t\t\t\t\t\t<span v-else>No absent students\n\t\t\t\t\t\t\t{{ searchText? \"that match your search\": \"\" }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"attendance-unpaid col-6 ps-3\">\n\t\t\t\t\t<h5 class=\"mb-3\">\n\t\t\t\t\t\tUnpaid Students ({{ searchFiltered(unpaidStudents).length }})\n\t\t\t\t\t</h5>\n\t\t\t\t\t<div class=\"attendance-list-container\" v-if=\"searchFiltered(unpaidStudents).length\">\n\t\t\t\t\t\t<AttendanceListItem v-for=\"item in searchFiltered(unpaidStudents)\" :key=\"item.id\"\n\t\t\t\t\t\t\t:type=\"AttendanceStatus.UNPAID\" :studentData=\"{ type: 'Student', ...item }\"\n\t\t\t\t\t\t\t:contentData=\"contentData\" @refreshAttendance=\"refresh\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else class=\"no-content\">\n\t\t\t\t\t\t<b-spinner v-if=\"loading\"></b-spinner>\n\t\t\t\t\t\t<span v-else>No unpaid students\n\t\t\t\t\t\t\t{{ searchText? \"that match your search\": \"\" }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<button @click=\"closeModal\" role=\"button\" class=\"skip-step-btn\">\n\t\t\t\t\tcancel\n\t\t\t\t</button>\n\t\t\t\t<a @click=\"prev\" v-if=\"showPrev\" role=\"button\" class=\"step-btn prev\"><i\n\t\t\t\t\t\tclass=\"fas fa-long-arrow-alt-left\"></i> prev\n\t\t\t\t</a>\n\t\t\t\t<!-- <button\n\t\t\t\t\t@click=\"next\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t:disabled=\"disableNext || loading\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\t{{ stepButtonContent }} <i class=\"fas fa-long-arrow-alt-right\"></i>\n\t\t\t\t\t<img src=\"@/assets/images/arrow-right.svg\" />\n\t\t\t\t</button> -->\n\t\t\t\t<button class=\"step-btn\" @click=\"refresh\">\n\t\t\t\t\t<b-spinner v-if=\"loading\" small class=\"me-2\"></b-spinner>\n\t\t\t\t\t<i v-else class=\"far fa-redo me-2\"></i> Refresh\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t       \t\t\t\t\t    @click=\"exportAttendanceData\"\n\t\t\t\t\t\t\t\t\t:disabled=\"exportLoading\"\n\t\t       \t\t\t\t\t    :class=\"['step-btn','export-excel-btn']\"\n\t\t       \t\t\t\t\t>\n\t\t       \t\t\t\t\t  Export As CSV\n\t\t       \t\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport {\n\tAttendanceStatus,\n\tAttendanceType,\n} from \"../../../constants/attendance\";\nimport AttendanceListItem from \"./AttendanceListItem.vue\";\nimport formatter from \"../../../helpers/FormatHelpers\";\nexport default {\n\tname: \"LiveClassAttendanceModal\",\n\tdata() {\n\t\treturn {\n\t\t\tabsentStudents: [],\n\t\t\tpresentStudents: [],\n\t\t\tonlineStudents: [],\n\t\t\tunpaidStudents: [],\n\t\t\treportAbsentStudents: [],\n\t\t\tsearchText: \"\",\n\t\t\tAttendanceStatus,\n\t\t\tAttendanceType,\n\t\t\tisIncludeInActiveStudents: false,\n\t\t\texportLoading: false\n\t\t};\n\t},\n\tprops: { showModal: Boolean, productVariantId: String, contentData: Object },\n\tcomputed: {\n\t\t...mapState(\"user\", [\"loading\"]),\n\t\t...mapState(\"user\", [\"usersByProductVariant\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tshowPrev() { },\n\t\tstepButtonContent() {\n\t\t\treturn \"Save\";\n\t\t},\n\t\tdisableNext() { }\n\t},\n\tcomponents: {\n\t\tAttendanceListItem,\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchUsersByProductVariant\"]),\n\t\t...mapActions(\"content\", [\n\t\t\t\"fetchLiveClassAttendance\",\n\t\t\t\"markLiveClassAttendance\",\n\t\t\t\"exportAttendanceReport\"\n\t\t]),\n\t\tcloseModal() {\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t},\n\t\tprev() { },\n\t\tnext() { },\n\t\tdateParser(date) {\n\t\t\treturn formatter.toShortDateString(date);\n\t\t},\n\t\texportAttendanceData() {\n\t\t\tthis.exportLoading = true;\n\t\t\tthis.exportAttendanceReport({\n\t\t\t\tcontentID:this.contentData.id, \n\t\t\t\tproductVariantID:this.productVariantId\n\t\t\t}).then((result) => {\n\n\t\t\t\tif (result && result.url) {\n\t\t\t\t\tconst link = document.createElement('a');\n\t\t\t\t\tlink.href = result.url;\n\t\t\t\t\tlink.setAttribute('download', result.name ? result.name : `users-enrollments-export.csv`);\n\t\t\t\t\tdocument.body.appendChild(link);\n\t\t\t\t\tthis.exportLoading = false;\n\t\t\t\t\tlink.click();\n\t\t\t\t\tlink.parentNode.removeChild(link);\n\t\t\t\t\t// clean up Url\n\t\t\t\t\twindow.URL.revokeObjectURL(result);\n\t\t\t\t}\n\t\t\t}).catch((err) => {\n\t\t\t\tconsole.log({ err });\n\n\t\t\t\tthis.exportLoading = false;\n\t\t\t});\n\t\t},\n\t\ttimeParser(date) {\n\t\t\treturn formatter.getTimeIn12Hours(date);\n\t\t},\n\t\tcalculatedDuration() {\n\t\t\tvar startTime = new Date(this.contentData.availableFrom).getTime();\n\t\t\tvar endTime = new Date(this.contentData.availableTo).getTime();\n\t\t\tvar diff = endTime - startTime;\n\t\t\treturn diff / (1000 * 60);\n\t\t},\n\t\tasync refresh() {\n\t\t\tawait this.fetchLiveClassAttendance(this.contentData.id).then((res) => {\n\t\t\t\tthis.reportAbsentStudents = res.filter(\n\t\t\t\t\t(attendance) =>\n\t\t\t\t\t\tattendance.status == \"absent\"\n\t\t\t\t);\n\t\t\t\tthis.onlineStudents = res.reduce((acc, attendance) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tattendance.attendedFrom == AttendanceType.ONLINE &&\n\t\t\t\t\t\tattendance.status == AttendanceStatus.PRESENT\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst userId = attendance.user.id;\n\t\t\t\t\t\tconst existingStudent = acc.find(item => item.user.id == userId);\n\n\t\t\t\t\t\tif (existingStudent) {\n\t\t\t\t\t\t\texistingStudent.attendance.push(attendance);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tacc.push({\n\t\t\t\t\t\t\t\tuser: attendance.user,\n\t\t\t\t\t\t\t\tattendance: [attendance],\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, []);\n\t\t\t\tthis.presentStudents = \n\t\t\t\t\tres.reduce((acc, attendance) => {\n\t\t\t\t\t\tconsole.log({attendance});\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tattendance.attendedFrom == AttendanceType.PHYSICAL &&\n\t\t\t\t\t\t\t\tattendance.status == AttendanceStatus.PRESENT\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst userId = attendance.user.id;\n\t\t\t\t\t\t\tconst existingStudent = acc.find(item => item.user.id === userId);\n\n\t\t\t\t\t\t\tif (existingStudent) {\n\t\t\t\t\t\t\t\texistingStudent.attendance.push(attendance);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tacc.push({\n\t\t\t\t\t\t\t\t\tuser: attendance.user,\n\t\t\t\t\t\t\t\t\tattendance: [attendance],\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, []);\n\n\t\t\t});\n\t\t\tthis.fetchUsersByProductVariant(this.productVariantId).then((res) => {\n\n\t\t\t\tthis.absentStudents = this.usersByProductVariant[\n\t\t\t\t\tthis.productVariantId\n\t\t\t\t].filter((user) => {\n\t\t\t\t\tvar isPresent = this.presentStudents.find((u) => u.user.id == user.id);\n\t\t\t\t\tvar isOnline = this.onlineStudents.find((u) => u.user.id == user.id);\n\n\t\t\t\t\tif (!isPresent && !isOnline) {\n\t\t\t\t\t\tvar absentFound = this.reportAbsentStudents.find(x => x.userID == user.id);\n\t\t\t\t\t\tuser.Reason = absentFound ? absentFound.reason : \"\";\n\t\t\t\t\t\treturn user && user.enrollmentStatus && user.enrollmentStatus?.toLowerCase() == 'allowed';\n\t\t\t\t\t}\n\t\t\t\t});\n\n\n\n\n\t\t\t});\n\t\t},\n\t\tsearchFiltered(list) {\n\t\t\treturn list.filter((item) => {\n\t\t\t\tconst currentItem = item.user ? item.user : item;\n\n\t\t\t\treturn this.isUserEnrolled(currentItem.id) &&\n\t\t\t\t\t(this.isIncludeInActiveStudents == true || (currentItem.status && currentItem.status.toLowerCase() == \"active\"))\n\t\t\t\t\t&& (\n\t\t\t\t\t\t(currentItem.firstName || \"\").toLocaleLowerCase().indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(currentItem.lastName || \"\").toLocaleLowerCase().indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(currentItem.username || \"\").toLocaleLowerCase().indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(currentItem.email || \"\").toLocaleLowerCase().indexOf(this.searchText.toLocaleLowerCase()) > -1\n\t\t\t\t\t);\n\t\t\t});\n\t\t},\n\t\tisUserEnrolled(userId) {\n\t\t\tif (!userId) return false;\n\t\t\tconst userIdStr = String(userId);\n\t\t\tconst users = this.usersByProductVariant ? this.usersByProductVariant[this.productVariantId] : [];\n\t\t\treturn users.some(user => String(user.id) === userIdStr);\n\t\t},\n\t},\n\twatch: {\n\t\tvisible: async function () {\n\t\t\tif (this.visible) {\n\t\t\t\tawait this.fetchLiveClassAttendance(this.contentData.id).then((res) => {\n\t\t\t\t\tthis.reportAbsentStudents = res.filter(\n\t\t\t\t\t\t(attendance) =>\n\t\t\t\t\t\t\tattendance.status == \"absent\"\n\t\t\t\t\t);\n\t\t\t\t\tthis.onlineStudents = res.reduce((acc, attendance) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tattendance.attendedFrom === AttendanceType.ONLINE &&\n\t\t\t\t\t\t\tattendance.status === AttendanceStatus.PRESENT\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst userId = attendance.user.id;\n\t\t\t\t\t\t\tconst existingStudent = acc.find(item => item.user.id === userId);\n\n\t\t\t\t\t\t\tif (existingStudent) {\n\t\t\t\t\t\t\t\texistingStudent.attendance.push(attendance);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tacc.push({\n\t\t\t\t\t\t\t\t\tuser: attendance.user,\n\t\t\t\t\t\t\t\t\tattendance: [attendance],\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t}, []);\n\t\t\t\t\tthis.presentStudents = \n\t\t\t\t\t\tres.reduce((acc, attendance) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tattendance.attendedFrom == AttendanceType.PHYSICAL &&\n\t\t\t\t\t\t\t\t\tattendance.status == AttendanceStatus.PRESENT\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tconst userId = attendance.user.id;\n\t\t\t\t\t\t\t\tconst existingStudent = acc.find(item => item.user.id === userId);\n\n\t\t\t\t\t\t\t\tif (existingStudent) {\n\t\t\t\t\t\t\t\t\texistingStudent.attendance.push(attendance);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tacc.push({\n\t\t\t\t\t\t\t\t\t\tuser: attendance.user,\n\t\t\t\t\t\t\t\t\t\tattendance: [attendance],\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t}, []);\n\t\t\t\t});\n\t\t\t\tthis.fetchUsersByProductVariant(this.productVariantId).then((res) => {\n\t\t\t\t\tthis.absentStudents = this.usersByProductVariant[\n\t\t\t\t\t\tthis.productVariantId\n\t\t\t\t\t].filter((user) => {\n\t\t\t\t\t\tvar isPresent = this.presentStudents.find((u) => u.user.id == user.id);\n\t\t\t\t\t\tvar isOnline = this.onlineStudents.find((u) => u.user.id == user.id);\n\n\t\t\t\t\t\tif (!isPresent && !isOnline) {\n\t\t\t\t\t\t\tvar absentFound = this.reportAbsentStudents.find(x => x.userID == user.id);\n\t\t\t\t\t\t\tuser.Reason = absentFound ? absentFound.reason : \"\";\n\t\t\t\t\t\t\treturn user && user.enrollmentStatus && user.enrollmentStatus?.toLowerCase() == 'allowed';\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.unpaidStudents = this.usersByProductVariant[\n\t\t\t\t\t\tthis.productVariantId\n\t\t\t\t\t].filter((user) => {\n\t\t\t\t\t\tvar isPresent = this.presentStudents.find((u) => u.user.id == user.id);\n\t\t\t\t\t\tvar isOnline = this.onlineStudents.find((u) => u.user.id == user.id);\n\t\t\t\t\t\tif (!isPresent && !isOnline) {\n\n\t\t\t\t\t\t\treturn user && (!user.enrollmentStatus || user.enrollmentStatus?.toLowerCase() != 'allowed');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n\tcreated() { },\n};\n</script>\n\n<style>\n.live-class-attendance-modal .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0 0 0.875rem;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n\tborder-radius: 0;\n\tbox-shadow: none !important;\n\tposition: relative;\n\theight: 40px;\n}\n\n.live-class-attendance-modal .body-container {\n\tpadding: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tposition: relative;\n}\n\n.live-class-attendance-modal .add-btn {\n\tposition: absolute;\n\ttop: 2rem;\n\tright: 4.5rem;\n\tz-index: 99 !important;\n}\n\n.attendance-status-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tmargin-bottom: 1rem;\n}\n\n.attendance-present h5,\n.attendance-online h5,\n.attendance-absent h5,\n.attendance-unpaid h5 {\n\tpadding-bottom: 0.5rem;\n\tborder-bottom: 1px solid #dddddd;\n}\n\n.attendance-absent,\n.attendance-unpaid {\n\tmargin-top: 1rem;\n}\n\n.attendance-present .attendance-list-container,\n.attendance-online .attendance-list-container,\n.attendance-absent .attendance-list-container,\n.attendance-unpaid .attendance-list-container {\n\theight: 25vh !important;\n\toverflow-y: auto !important;\n}\n\n/* {\n    min-height: 25vh;\n} */\n\n.live-class-attendance-modal .close-button {\n\tz-index: 99 !important;\n}\n\n.live-class-attendance-modal .no-content {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\theight: 25vh !important;\n}\n.export-excel-btn {\n\tbackground: var(--primary-color);\n\tcolor: white;\n  }\n\n  .export-excel-btn:hover {\n\tbackground: white !important;\n\tcolor: black !important;\n\tborder: 1px solid var(--primary-color) !important;\n  }\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LiveClassAttendanceModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LiveClassAttendanceModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LiveClassAttendanceModal.vue?vue&type=template&id=1e0c005c&\"\nimport script from \"./LiveClassAttendanceModal.vue?vue&type=script&lang=js&\"\nexport * from \"./LiveClassAttendanceModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LiveClassAttendanceModal.vue?vue&type=style&index=0&id=1e0c005c&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"h-100\"},[(_vm.loadedCategories.length > 0)?_c('div',{staticClass:\"category-list\",attrs:{\"id\":\"categoryList\"}},[(_vm.uncategorizedProducts.length > 0)?_c('CategoryListItem',{attrs:{\"categoryData\":{\n        id: '-1',\n        title: 'Uncategorized Courses',\n        isVisible: true,\n        childCategories: null,\n      },\"isUncategorized\":true},on:{\"toggleModal\":function($event){return _vm.$emit('toggleModal', $event)}}}):_vm._e(),_c('draggable',{staticStyle:{\"display\":\"flex\",\"column-gap\":\"1.875rem\"},attrs:{\"ghost-class\":\"ghost\",\"group\":\"content\",\"animation\":\"200\",\"handle\":\".category-drag-handler\"},on:{\"start\":function($event){_vm.drag = true},\"end\":function($event){_vm.drag = false},\"change\":function($event){return _vm.update($event)}},model:{value:(_vm.loadedCategories),callback:function ($$v) {_vm.loadedCategories=$$v},expression:\"loadedCategories\"}},_vm._l((_vm.loadedCategories),function(item){return _c('CategoryListItem',{key:item.id,attrs:{\"categoryData\":item},on:{\"toggleModal\":function($event){return _vm.$emit('toggleModal', $event)}}})}),1)],1):(_vm.loading)?_c('div',{staticClass:\"category-list skeleton\",attrs:{\"id\":\"categoryList\"}},_vm._l((4),function(item,index){return _c('b-skeleton',{key:index,staticClass:\"category-item-skeleton\"})}),1):_c('div',{staticClass:\"no-content\"},[_c('h3',[_vm._v(\"No Qualifications found\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"h-100\">\n    <div\n      v-if=\"loadedCategories.length > 0\"\n      id=\"categoryList\"\n      class=\"category-list\"\n    >\n      <CategoryListItem\n        v-if=\"uncategorizedProducts.length > 0\"\n        @toggleModal=\"$emit('toggleModal', $event)\"\n        :categoryData=\"{\n          id: '-1',\n          title: 'Uncategorized Courses',\n          isVisible: true,\n          childCategories: null,\n        }\"\n        :isUncategorized=\"true\"\n      />\n\n      <draggable\n        v-model=\"loadedCategories\"\n        @start=\"drag = true\"\n        @end=\"drag = false\"\n        ghost-class=\"ghost\"\n        group=\"content\"\n        animation=\"200\"\n        @change=\"update($event)\"\n        handle=\".category-drag-handler\"\n        style=\"display: flex; column-gap: 1.875rem\"\n      >\n        <CategoryListItem\n          @toggleModal=\"$emit('toggleModal', $event)\"\n          v-for=\"item in loadedCategories\"\n          :key=\"item.id\"\n          :categoryData=\"item\"\n        />\n      </draggable>\n    </div>\n    <div v-else-if=\"loading\" id=\"categoryList\" class=\"category-list skeleton\">\n      <b-skeleton\n        v-for=\"(item, index) in 4\"\n        :key=\"index\"\n        class=\"category-item-skeleton\"\n      ></b-skeleton>\n    </div>\n    <div v-else class=\"no-content\">\n      <h3>No Qualifications found</h3>\n    </div>\n  </div>\n</template>\n\n<script>\nimport CategoryListItem from \"./CategoryListItem.vue\";\nimport { mapState, mapActions, mapGetters } from \"vuex\";\nimport draggable from \"vuedraggable\";\n\nexport default {\n  name: \"CategoryList\",\n  components: {\n    CategoryListItem,\n    draggable,\n  },\n  data() {\n    return {\n      loadedCategories: [],\n    };\n  },\n  computed: {\n    ...mapState(\"category\", [\"categories\", \"loading\"]),\n    ...mapState(\"product\", [\"products\"]),\n    ...mapGetters(\"product\", [\"uncategorizedProducts\"]),\n    // uncategorizedProducts() {\n    // \tif (\n    // \t\tthis.products &&\n    // \t\tthis.products.items &&\n    // \t\tObject.entries(this.products.items).length > 0\n    // \t) {\n    // \t}\n    // \treturn Object.values(this.products.items).filter(\n    // \t\t(product) => product.categories.length == 0\n    // \t);\n    // },\n\n    // loadedCategories: {\n    //   get() {\n    //     //debugger;\n    //     return this.categories;\n    //   },\n    //   set(value) {\n    //     this.loadedCategories = value;\n    //   },\n    // },\n  },\n  methods: {\n    ...mapActions(\"category\", [\"fetchCategories\"]),\n    ...mapActions(\"category\", [\"editProductCategorySequence\"]),\n    ...mapActions(\"product\", [\"fetchAllProducts\"]),\n\n    update(e) {\n      var categoryObj = {};\n      var afterCategoryID;\n\n      if (e.added) {\n        if (e.added.newIndex != 0) {\n          afterCategoryID = this.loadedCategories[e.added.newIndex - 1].id;\n          categoryObj.UpperCategoryID = afterCategoryID;\n        } else if (e.moved.newIndex == 0) {\n          categoryObj.BelowCategoryID =\n            this.loadedCategories[e.added.newIndex + 1].id;\n        }\n        // categoryObj = { ...categoryObj, parentContentID: this.categoryId };\n        categoryObj.CategoryID = e.added.element.id;\n      }\n\n      if (e.moved) {\n        if (e.moved.newIndex != 0) {\n          afterCategoryID = this.loadedCategories[e.moved.newIndex - 1].id;\n          categoryObj.UpperCategoryID = afterCategoryID;\n        } else if (e.moved.newIndex == 0) {\n          categoryObj.BelowCategoryID =\n            this.loadedCategories[e.moved.newIndex + 1].id;\n        }\n        // categoryObj = { ...categoryObj, parentContentID: parent };\n        categoryObj.CategoryID = e.moved.element.id;\n      }\n\n      if (!e.removed) {\n        this.editProductCategorySequence(categoryObj).then(() => {\n          console.log(\"editContentSequence product\", categoryObj);\n        });\n      }\n    },\n  },\n  created() {\n    if (this.categories && this.categories.length == 0) {\n      this.fetchCategories().then(() => {\n        console.log(\"categories loaded\", this.categories);\n        this.loadedCategories = [...this.categories];\n        this.fetchAllProducts();\n      });\n    } else {\n      this.loadedCategories = this.categories;\n    }\n  },\n  watch: {\n    categories: function () {\n      if (this.categories.length > 0) {\n        this.loadedCategories = this.categories;\n      } else {\n        this.loadedCategories = [];\n      }\n    },\n  },\n  mounted() {},\n};\n</script>\n\n<style scoped>\n.category-list {\n  display: flex;\n  flex-direction: row;\n  column-gap: 1.875rem;\n  overflow-y: hidden;\n  padding: 1.75rem 0;\n  /* overflow-x: hidden; */\n  overflow-x: overlay;\n  height: calc(100vh - 11.325rem);\n}\n\n/* .category-list:hover {\n\toverflow-x: overlay;\n} */\n\n.category-item-skeleton {\n  width: 22.625rem;\n  flex-shrink: 0;\n  min-height: 37.5rem;\n  box-shadow: 6px 3px 6px rgba(185, 185, 185, 0.07);\n  border-radius: 12px;\n}\n\n.no-content {\n  display: flex;\n  height: 100%;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CategoryList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CategoryList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CategoryList.vue?vue&type=template&id=50926e71&scoped=true&\"\nimport script from \"./CategoryList.vue?vue&type=script&lang=js&\"\nexport * from \"./CategoryList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CategoryList.vue?vue&type=style&index=0&id=50926e71&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"50926e71\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"category-list-item\"},[_c('div',{staticClass:\"category-heading-container\"},[(!_vm.isUncategorized)?_c('img',{staticClass:\"category-drag-handler\",staticStyle:{\"cursor\":\"grab\"},attrs:{\"src\":require(\"../../../assets/images/drag-icon.svg\"),\"alt\":\"\"}}):_vm._e(),(_vm.mode == 'view')?_c('h1',{staticClass:\"category-heading\"},[_vm._v(\" \"+_vm._s(_vm.categoryData.title)+\" \")]):_vm._e(),(_vm.mode == 'edit')?_c('form',{on:{\"submit\":_vm.editCategory}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.updatedTitle),expression:\"updatedTitle\"}],staticClass:\"update-category-input\",attrs:{\"type\":\"search\",\"placeholder\":\"Enter new title\",\"id\":\"update-category-input\",\"required\":\"\"},domProps:{\"value\":(_vm.updatedTitle)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.changeMode($event, 'view')},\"blur\":function($event){return _vm.changeMode($event, 'view')},\"input\":function($event){if($event.target.composing){ return; }_vm.updatedTitle=$event.target.value}}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"submit\"},on:{\"click\":_vm.editCategory}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.changeMode($event, 'view')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])]):_vm._e(),_c('div',{staticClass:\"d-flex ms-auto align-items-center gap-3\"},[(_vm.isLoading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),(!_vm.isUncategorized)?_c('a',{staticClass:\"category-options dropdown-toggle\",attrs:{\"data-bs-toggle\":\"dropdown\",\"id\":\"options-dropdown-btn\",\"role\":\"button\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/options-icon.svg\")}})]):_vm._e(),_c('ul',{staticClass:\"dropdown-menu dropdown-menu-end\",attrs:{\"id\":\"options-dropdown\",\"aria-labelledby\":\"dropdownMenuLink\"}},[_c('li',{staticClass:\"options-dropdown-item\",on:{\"click\":function($event){return _vm.toggleCreate(true)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/plus-icon.svg\")}}),_vm._v(\" Create Course \")]),_vm._m(0),_c('li',{staticClass:\"options-dropdown-item delete\",on:{\"click\":_vm.showDeleteConfirmPopup}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}}),_vm._v(\" Delete \")]),_c('li',{staticClass:\"options-dropdown-item\",on:{\"click\":function($event){return _vm.changeMode($event, 'edit')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}}),_vm._v(\" Edit \")])])],1)]),_c('div',{staticClass:\"searchbar-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],attrs:{\"type\":\"search\",\"id\":\"category-card-search\",\"autocomplete\":\"off\",\"placeholder\":\"Find your course here...\"},domProps:{\"value\":(_vm.searchText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}}),_vm._m(1)]),(\n\t\t\t((_vm.filteredProductList && _vm.filteredProductList.length > 0) || _vm.createProduct) || (_vm.filteredProductList && _vm.filteredProductList.length == 0 && !_vm.createProduct)\n\t\t)?_c('div',{staticClass:\"product-list-container\"},[_c('ProductList',{attrs:{\"productList\":_vm.filteredProductList,\"mode\":_vm.createProduct ? 'create' : 'view',\"categoryId\":_vm.categoryData.id,\"isUncategorized\":_vm.isUncategorized},on:{\"toggleModal\":function($event){return _vm.$emit('toggleModal', $event)},\"changeMode\":_vm.toggleCreate}})],1):_c('div',{staticClass:\"product-list-container skeleton\"},_vm._l((3),function(item){return _c('b-skeleton',{key:item,staticClass:\"product-list-item-skeleton\"})}),1),(!_vm.createProduct && !_vm.isUncategorized)?_c('a',{class:['add-course-btn', { cancel: _vm.createProduct }],attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.toggleCreate(true)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/plus-icon-gray.svg\")}}),_vm._v(\" \"+_vm._s(_vm.createBtnText))]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('hr',{staticClass:\"dropdown-divider\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"role\":\"button\"}},[_c('img',{staticClass:\"search-icon\",attrs:{\"src\":require(\"@/assets/images/search-icon.svg\")}})])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"category-list-item\">\n\t\t<div class=\"category-heading-container\">\n\t\t\t<img src=\"../../../assets/images/drag-icon.svg\" alt=\"\" v-if=\"!isUncategorized\" style=\"cursor: grab\" class=\"category-drag-handler\" />\n\t\t\t<h1 v-if=\"mode == 'view'\" class=\"category-heading\">\n\t\t\t\t{{ categoryData.title }}\n\t\t\t</h1>\n\t\t\t<form v-if=\"mode == 'edit'\" @submit=\"editCategory\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tclass=\"update-category-input\"\n\t\t\t\t\tv-model=\"updatedTitle\"\n\t\t\t\t\tplaceholder=\"Enter new title\"\n\t\t\t\t\tid=\"update-category-input\"\n\t\t\t\t\trequired\n\t\t\t\t\tv-on:keyup.esc=\"changeMode($event, 'view')\"\n\t\t\t\t\t@blur=\"changeMode($event, 'view')\"\n\t\t\t\t/>\n\t\t\t\t<button\n\t\t\t\t\t@click=\"editCategory\"\n\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\tclass=\"content-action-btn save\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\" />\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\t@click=\"changeMode($event, 'view')\"\n\t\t\t\t\tclass=\"content-action-btn cancel\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\" />\n\t\t\t\t</button>\n\t\t\t</form>\n\t\t\t<div class=\"d-flex ms-auto align-items-center gap-3\">\n\t\t\t\t<b-spinner v-if=\"isLoading\" small></b-spinner>\n\t\t\t\t<a\n\t\t\t\t\tv-if=\"!isUncategorized\"\n\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\tid=\"options-dropdown-btn\"\n\t\t\t\t\tclass=\"category-options dropdown-toggle\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\t><img src=\"@/assets/images/options-icon.svg\" />\n\t\t\t\t</a>\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options-dropdown\"\n\t\t\t\t\tclass=\"dropdown-menu dropdown-menu-end\"\n\t\t\t\t\taria-labelledby=\"dropdownMenuLink\"\n\t\t\t\t>\n\t\t\t\t\t<li @click=\"toggleCreate(true)\" class=\"options-dropdown-item\">\n\t\t\t\t\t\t<img src=\"@/assets/images/plus-icon.svg\" /> Create Course\n\t\t\t\t\t</li>\n\t\t\t\t\t<li><hr class=\"dropdown-divider\" /></li>\n\t\t\t\t\t<li\n\t\t\t\t\t\t@click=\"showDeleteConfirmPopup\"\n\t\t\t\t\t\tclass=\"options-dropdown-item delete\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" /> Delete\n\t\t\t\t\t</li>\n\t\t\t\t\t<li @click=\"changeMode($event, 'edit')\" class=\"options-dropdown-item\">\n\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" /> Edit\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"searchbar-container\">\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tid=\"category-card-search\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tplaceholder=\"Find your course here...\"\n\t\t\t\tv-model=\"searchText\"\n\t\t\t/>\n\t\t\t<a role=\"button\"\n\t\t\t\t><img src=\"@/assets/images/search-icon.svg\" class=\"search-icon\"\n\t\t\t/></a>\n\t\t</div>\n\t\t<div\n\t\t\tv-if=\"\n\t\t\t\t((filteredProductList && filteredProductList.length > 0) || createProduct) || (filteredProductList && filteredProductList.length == 0 && !createProduct)\n\t\t\t\"\n\t\t\tclass=\"product-list-container\"\n\t\t>\n\t\t\t<ProductList\n\t\t\t\t:productList=\"filteredProductList\"\n\t\t\t\t@toggleModal=\"$emit('toggleModal', $event)\"\n\t\t\t\t:mode=\"createProduct ? 'create' : 'view'\"\n\t\t\t\t:categoryId=\"categoryData.id\"\n\t\t\t\t@changeMode=\"toggleCreate\"\n\t\t\t\t:isUncategorized=\"isUncategorized\"\n\t\t\t/>\n\t\t</div>\n\t\t<!-- <div\n\t\t\tclass=\"no-content pt-4 text-center text-muted\"\n\t\t\tv-else-if=\"\n\t\t\t\t\n\t\t\t\"\n\t\t>\n\t\t\tNo courses found!\n\t\t</div> -->\n\t\t<div v-else class=\"product-list-container skeleton\">\n\t\t\t<b-skeleton\n\t\t\t\tv-for=\"item in 3\"\n\t\t\t\t:key=\"item\"\n\t\t\t\tclass=\"product-list-item-skeleton\"\n\t\t\t></b-skeleton>\n\t\t</div>\n\n\t\t<a\n\t\t\tv-if=\"!createProduct && !isUncategorized\"\n\t\t\t@click=\"toggleCreate(true)\"\n\t\t\trole=\"button\"\n\t\t\t:class=\"['add-course-btn', { cancel: createProduct }]\"\n\t\t\t><img src=\"@/assets/images/plus-icon-gray.svg\" /> {{ createBtnText }}</a\n\t\t>\n\t</div>\n</template>\n\n<script>\nimport ProductList from \"../Product/ProductList.vue\";\nimport { mapActions, mapState, mapGetters } from \"vuex\";\n// import CreateProductVariantModal from \"../ProductVariant/CreateProductVariantModal.vue\";\nexport default {\n\tname: \"CategoryListItem\",\n\tcomponents: {\n\t\tProductList,\n\t\t// CreateProductVariantModal,\n\t},\n\tprops: {\n\t\tcategoryData: Object,\n\t\tisUncategorized: Boolean,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tmode: \"view\",\n\t\t\t// showModal: false,\n\t\t\tproductList: null,\n\t\t\tupdatedTitle: \"\",\n\t\t\ttitle: \"\",\n\t\t\tcreateProduct: false,\n\t\t\tshowDropdown: false,\n\t\t\tsearchText: \"\",\n\t\t\tisLoading: false,\n\t\t\t// loading: false,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"product\", [\"getProductByCategoryId\", \"fetchAllProducts\"]),\n\t\t...mapActions(\"category\", [\"updateCategory\", \"deleteCategory\"]),\n\t\tchangeMode(e, mode) {\n\t\t\t// e.stopPropagation();\n\t\t\tif (mode == \"view\") {\n\t\t\t\tsetTimeout(() => (this.mode = mode), 300);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// console.log(\"changing mode to\", mode);\n\t\t\tif (mode == \"edit\") {\n\t\t\t\tthis.updatedTitle = this.categoryData.title;\n\t\t\t\t// this.mode = mode;\n\t\t\t\tsetTimeout(\n\t\t\t\t\t() => document.getElementById(\"update-category-input\").focus(),\n\t\t\t\t\t300\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthis.mode = mode;\n\t\t},\n\n\t\teditCategory(e) {\n\t\t\tthis.updatedTitle = this.updatedTitle.trim();\n\t\t\te.preventDefault();\n\t\t\tif (\n\t\t\t\tthis.title !== this.updatedTitle &&\n\t\t\t\t!this.loading &&\n\t\t\t\tthis.updatedTitle.length > 0\n\t\t\t) {\n\t\t\t\tvar updatedObject = {\n\t\t\t\t\ttitle: this.updatedTitle,\n\t\t\t\t\tid: this.categoryData.id,\n\t\t\t\t\tisVisible: true,\n\t\t\t\t};\n\t\t\t\tthis.isLoading = true;\n\t\t\t\tthis.updateCategory(updatedObject).then(() => {\n\t\t\t\t\tthis.isLoading = false;\n\t\t\t\t\tthis.mode = \"view\";\n\t\t\t\t\tthis.title = this.updatedTitle;\n\t\t\t\t});\n\t\t\t\tconsole.log(\"update called\");\n\t\t\t} else {\n\t\t\t\tthis.mode = \"view\";\n\t\t\t}\n\n\t\t\t// this.categoryTitle = \"\";\n\t\t},\n\t\ttoggleCreate(state) {\n\t\t\tthis.createProduct = state;\n\t\t\tif (this.createProduct) {\n\t\t\t\tsetTimeout(\n\t\t\t\t\t() => document.getElementById(\"create-product-input\").focus(),\n\t\t\t\t\t200\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\thandleLinkClick(item) {\n\t\t\tthis.searchText = \"\";\n\t\t\tthis.$router.push(`/management/course/${item.id}/content`);\n\t\t},\n\t\tcloseDropdown() {\n\t\t\tsetTimeout(() => (this.showDropdown = false), 300);\n\t\t},\n\t\tcategoryDelete() {\n\t\t\tthis.deleteCategory(this.categoryData.id).then(() => {\n\t\t\t\tconsole.log(\"category delete success\");\n\t\t\t});\n\t\t},\n\t\tshowDeleteConfirmPopup(e) {\n\t\t\te.preventDefault();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to delete the Qualification: \\n${this.title}?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.categoryDelete();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"product\", [\"productsByCategory\", \"products\"]),\n\t\t...mapState(\"category\", [\"loading\"]),\n\t\t...mapGetters(\"product\", [\"uncategorizedProducts\"]),\n\t\tshowSave() {\n\t\t\treturn this.updatedTitle !== \"\";\n\t\t},\n\t\tcreateBtnText() {\n\t\t\tif (this.createProduct) {\n\t\t\t\treturn \"Cancel\";\n\t\t\t} else return \"Add Course\";\n\t\t},\n\t\tfilteredProductList() {\n\t\t\tif (this.productList && this.productList.length > 0) {\n\t\t\t\tvar result = this.productList.filter((product) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t(product.title || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(product.id || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1\n\t\t\t\t\t\t// (product.product.title || \"\")\n\t\t\t\t\t\t// \t.toLocaleLowerCase()\n\t\t\t\t\t\t// \t.indexOf(this.searchText.toLocaleLowerCase()) > -1\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t} else return this.productList;\n\n\t\t\treturn result;\n\t\t},\n\t},\n\tcreated() {\n\t\tif (this.categoryData && this.categoryData.id == \"-1\") {\n\t\t\tif (this.products.items && Object.values(this.products.items).length == 0)\n\t\t\t\tthis.fetchAllProducts().then(() => {\n\t\t\t\t\tthis.productList = this.uncategorizedProducts;\n\t\t\t\t\tthis.title = this.categoryData.title;\n\t\t\t\t});\n\t\t\telse {\n\t\t\t\tthis.productList = this.uncategorizedProducts;\n\t\t\t\tthis.title = this.categoryData.title;\n\t\t\t}\n\t\t} else {\n\t\t\tif (!this.productsByCategory[this.categoryData.id]) {\n\t\t\t\tthis.getProductByCategoryId(this.categoryData.id).then(() => {\n\t\t\t\t\tthis.productList = this.productsByCategory[this.categoryData.id];\n\t\t\t\t\tthis.title = this.categoryData.title;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.productList = this.productsByCategory[this.categoryData.id];\n\t\t\t\tthis.title = this.categoryData.title;\n\t\t\t}\n\t\t}\n\t},\n\twatch: {\n\t\tproductsByCategory: function () {\n\t\t\tthis.productList = !this.isUncategorized\n\t\t\t\t? this.productsByCategory[this.categoryData.id]\n\t\t\t\t: Object.values(this.products.items).filter(\n\t\t\t\t\t\t(product) => product.categories.length == 0\n\t\t\t\t  );\n\t\t\tthis.title = this.categoryData.title;\n\t\t},\n\t\tproducts: function () {\n\t\t\tthis.productList = !this.isUncategorized\n\t\t\t\t? this.productsByCategory[this.categoryData.id]\n\t\t\t\t: Object.values(this.products.items).filter(\n\t\t\t\t\t\t(product) => product.categories.length == 0\n\t\t\t\t  );\n\t\t\tthis.title = this.categoryData.title;\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.category-list-item {\n\tbackground: #ffffff;\n\tbox-shadow: 6px 3px 6px rgba(185, 185, 185, 0.07);\n\tborder-radius: 12px;\n\tpadding: 1.25rem 1.375rem 1.5rem;\n\twidth: 22.625rem;\n\tflex-shrink: 0;\n\t/* min-height: 37.5rem; */\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.category-heading-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n\talign-items: center;\n\tmin-height: 3.75rem;\n}\n.category-heading-container .category-heading {\n\tfont-weight: 500;\n\tfont-size: 1.25rem;\n\tline-height: 1.5;\n\tcolor: #000000;\n\tmargin: 0;\n}\n.category-heading-container .category-heading span {\n\tfont-size: 1rem;\n\tfont-weight: normal;\n}\n\n.category-heading-icon {\n\twidth: 2.25rem;\n}\n\n.category-options {\n\twidth: 1.875rem;\n\theight: 1.875rem;\n\tbackground: #ebebeb;\n\tborder-radius: 50%;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-shrink: 0;\n\tmargin-left: auto;\n}\n\n.category-options::after {\n\tdisplay: none !important;\n}\n\n.options-dropdown-item {\n\tpadding: 0.75rem 1rem;\n\tcursor: pointer;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolor: #000000;\n\tcolumn-gap: 0.75rem;\n}\n\n.options-dropdown-item:hover {\n\tbackground-color: #ebebeb;\n}\n\n.options-dropdown-item.delete {\n\tcolor: #ff0000;\n}\n\n#options-dropdown {\n\tpadding: 0;\n}\n#options-dropdown .dropdown-divider {\n\tmargin: 0 !important;\n\tcolor: #ebebeb;\n}\n\n#category-card-search {\n\tborder: 0;\n\tborder-bottom: 1px solid #b2b2b2;\n\tborder-radius: 0;\n\toutline: none;\n\twidth: 100%;\n\tpadding: 1rem 0;\n\tfont-size: 1rem;\n\ttransition: all 0.3s ease;\n}\n\n#category-card-search:focus {\n\tborder-bottom-color: var(--primary-color);\n}\n\n.searchbar-container {\n\tposition: relative;\n\tmargin-top: 0.5rem;\n}\n\n.searchbar-container .search-icon {\n\tposition: absolute;\n\tmargin-right: 0;\n\tright: 0;\n\t/* width: 1.375rem; */\n\ttop: 0.875rem;\n}\n\n.add-course-btn {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 0.875rem;\n\tcolor: #9e9e9e;\n\ttext-decoration: none;\n\tmargin-top: auto;\n}\n\n.add-course-btn img {\n\ttransition: all 0.3s;\n}\n\n.add-course-btn.cancel img {\n\ttransform: rotate(45deg);\n}\n\n.update-category-input {\n\theight: 3.125rem;\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.875rem 1rem;\n\tfont-size: 1.125rem;\n\tcolor: #000000;\n\twidth: 100%;\n\ttext-align: left;\n\tline-height: 1;\n\tpadding-right: 5.25rem;\n}\n\n.category-heading-container form {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tposition: relative;\n\twidth: 100%;\n}\n\n.content-action-btn {\n\tbackground: #ffffff;\n\tbox-sizing: border-box;\n\tborder-radius: 50%;\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\t/* padding: 0.375rem; */\n\tfont-weight: bold;\n\tfont-size: 0.875rem;\n\tline-height: 1;\n\tletter-spacing: 0.05rem;\n\ttext-transform: uppercase;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttop: 0.875rem;\n}\n\n.content-action-btn.save {\n\tborder: 1px solid #21cf47;\n\tcolor: #21cf47;\n\tposition: absolute;\n\tright: 3rem;\n}\n\n.content-action-btn.cancel {\n\tborder: 1px solid #ff0000;\n\tcolor: #ff0000;\n\tposition: absolute;\n\tright: 0.75rem;\n}\n\n.product-list-item-skeleton {\n\tborder-radius: 10px;\n\tmargin-bottom: 1rem;\n\theight: 3.375rem;\n}\n\n.product-list-container {\n\tmargin-bottom: 1rem;\n\toverflow-y: auto;\n\t/* margin-right: -1rem; */\n\tpadding-right: 0.5rem;\n}\n\n.product-list-container.skeleton {\n\tmargin-top: 1.625rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CategoryListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CategoryListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CategoryListItem.vue?vue&type=template&id=7a606bf7&scoped=true&\"\nimport script from \"./CategoryListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./CategoryListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CategoryListItem.vue?vue&type=style&index=0&id=7a606bf7&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7a606bf7\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"create-category-container\"},[_c('a',{staticClass:\"add-btn dropdown-toggle\",attrs:{\"data-bs-toggle\":\"dropdown\",\"id\":\"add-dropdown-btn\",\"role\":\"button\"},on:{\"click\":_vm.showDropdown}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\")}}),_vm._v(\" add qualification \")]),_c('div',{staticClass:\"dropdown-menu dropdown-menu-end\",attrs:{\"id\":\"add-dropdown\",\"aria-labelledby\":\"dropdownMenuLink\"}},[_c('form',{on:{\"submit\":_vm.addCategory}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.categoryTitle),expression:\"categoryTitle\"}],staticClass:\"create-category-input\",attrs:{\"type\":\"search\",\"placeholder\":\"Enter qualification title (required)\",\"id\":\"create-category-input\",\"required\":\"\"},domProps:{\"value\":(_vm.categoryTitle)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.hideDropdown.apply(null, arguments)},\"input\":function($event){if($event.target.composing){ return; }_vm.categoryTitle=$event.target.value}}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"submit\"},on:{\"click\":_vm.addCategory}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":_vm.hideDropdown}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"create-category-container\">\n\t\t<a\n\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\tid=\"add-dropdown-btn\"\n\t\t\tclass=\"add-btn dropdown-toggle\"\n\t\t\trole=\"button\"\n\t\t\t@click=\"showDropdown\"\n\t\t>\n\t\t\t<img src=\"@/assets/images/add-border-icon.svg\" class=\"add-btn-icon\" />\n\t\t\tadd qualification\n\t\t</a>\n\t\t<div\n\t\t\tid=\"add-dropdown\"\n\t\t\tclass=\"dropdown-menu dropdown-menu-end\"\n\t\t\taria-labelledby=\"dropdownMenuLink\"\n\t\t>\n\t\t\t<form @submit=\"addCategory\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tclass=\"create-category-input\"\n\t\t\t\t\tv-model=\"categoryTitle\"\n\t\t\t\t\tplaceholder=\"Enter qualification title (required)\"\n\t\t\t\t\tid=\"create-category-input\"\n\t\t\t\t\trequired\n\t\t\t\t\tv-on:keyup.esc=\"hideDropdown\"\n\t\t\t\t/>\n\t\t\t\t<button\n\t\t\t\t\t@click=\"addCategory\"\n\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\tclass=\"content-action-btn save\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\" />\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\t@click=\"hideDropdown\"\n\t\t\t\t\tclass=\"content-action-btn cancel\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\" />\n\t\t\t\t</button>\n\t\t\t</form>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"CreateCategoryDropdown\",\n\tdata() {\n\t\treturn {\n\t\t\tcategoryTitle: \"\",\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"category\", [\"createCategory\"]),\n\t\taddCategory(e) {\n\t\t\te.preventDefault();\n\t\t\tthis.categoryTitle = this.categoryTitle.trim();\n\t\t\tif (this.categoryTitle.length > 0 && !this.loading) {\n\t\t\t\tthis.createCategory(this.categoryTitle).then(() => {\n\t\t\t\t\tthis.categoryTitle = \"\";\n\t\t\t\t\tsetTimeout(\n\t\t\t\t\t\t() =>\n\t\t\t\t\t\tdocument.querySelector('.category-list-item:last-of-type').scrollIntoView({\n\t\t\t\t\t\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t300\n\t\t\t\t\t);\n\t\t\t\t\t// console.log(\"category created\");\n\t\t\t\t\t// document.getElementById(\"add-dropdown-btn\").click();\n\t\t\t\t});\n\n\t\t\t\t// console.log(\"CreateCategory called\");\n\t\t\t} else {\n\t\t\t\tdocument.getElementById(\"add-dropdown-btn\").click();\n\t\t\t}\n\n\t\t\t// this.categoryTitle = \"\";\n\t\t},\n\t\tshowDropdown() {\n\t\t\tconsole.log(\"dropdown toggled\");\n\t\t\tdocument.getElementById(\"create-category-input\").focus();\n\t\t},\n\t\thideDropdown() {\n\t\t\tdocument.getElementById(\"add-dropdown-btn\").click();\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"category\", [\"loading\"]),\n\t\tshowSave() {\n\t\t\treturn this.categoryTitle !== \"\";\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.create-category-container {\n\tmargin-left: auto;\n}\n\n.add-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0.625rem 1rem;\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.875rem;\n\tline-height: 1.125rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\ttext-decoration: none;\n\ttransition: all 0.3s ease;\n}\n\n.add-btn:hover {\n\tbox-shadow: 4px 6px 5px 0px rgb(197 197 197 / 20%);\n}\n\n.add-btn-icon {\n\tmargin-right: 0.625rem;\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.add-btn::after {\n\tdisplay: none !important;\n}\n\n.create-category-input {\n\theight: 3.125rem;\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.875rem 1rem;\n\tfont-size: 1.125rem;\n\tcolor: #000000;\n\twidth: 100%;\n\ttext-align: left;\n\tline-height: 1;\n\tpadding-right: 5.25rem;\n}\n\n#add-dropdown {\n\tpadding: 1rem;\n\tborder-radius: 8px;\n\twidth: 22.625rem;\n}\n\n#add-dropdown form {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tposition: relative;\n}\n\n.content-action-btn {\n\tbackground: #ffffff;\n\tbox-sizing: border-box;\n\tborder-radius: 50%;\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\t/* padding: 0.375rem; */\n\tfont-weight: bold;\n\tfont-size: 0.875rem;\n\tline-height: 1;\n\tletter-spacing: 0.05rem;\n\ttext-transform: uppercase;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttop: 0.875rem;\n}\n\n.content-action-btn.save {\n\tborder: 1px solid #21cf47;\n\tcolor: #21cf47;\n\tposition: absolute;\n\tright: 3rem;\n}\n.content-action-btn.cancel {\n\tborder: 1px solid #ff0000;\n\tcolor: #ff0000;\n\tposition: absolute;\n\tright: 0.75rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateCategoryDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateCategoryDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreateCategoryDropdown.vue?vue&type=template&id=1082f0e4&scoped=true&\"\nimport script from \"./CreateCategoryDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./CreateCategoryDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CreateCategoryDropdown.vue?vue&type=style&index=0&id=1082f0e4&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1082f0e4\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"assignment-modal-action\",\"dialog-class\":'animate-modal-dialog '+(_vm.isExpanded?'expanded':'shrink'),\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"assignment-modal-action\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('div',{staticClass:\"right-close-panel\"},[_c('button',{staticClass:\"close-button expanded-btn mr-3\",attrs:{\"role\":\"button\"},on:{\"click\":function (){ _vm.isExpanded=!_vm.isExpanded; }}},[(!_vm.isExpanded)?_c('i',{staticClass:\"fas fa-expand-alt\"}):_vm._e(),(_vm.isExpanded)?_c('i',{staticClass:\"fas fa-compress-alt\"}):_vm._e()]),_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})])]),_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\" \"+_vm._s(this.isEditMode ? \"Edit\" : \"Create\")+\" Assignment \")]),(_vm.stepIndex === 0)?_c('div',{staticClass:\"body-content-container\"},[_c('div',{staticClass:\"info-container expand\"},[_c('div',{staticClass:\"form-group my-3\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"title\"}},[_vm._v(\"Assignment Title (Required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignment.title),expression:\"assignment.title\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type your assignment title\",\"type\":\"search\",\"name\":\"title\",\"id\":\"title\",\"required\":\"\"},domProps:{\"value\":(_vm.assignment.title)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.assignment, \"title\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group mt-4\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"instructions\"}},[_vm._v(\"Assignment Instructions (Required)\")]),(_vm.visible && (!_vm.isEditMode || _vm.assignment.instructions))?_c('QuillRichTextEditor',{attrs:{\"text\":_vm.assignment.instructions,\"isInline\":false,\"editorID\":\"instruction-desc\",\"placeholder\":\"Type your assignment instructions\"},model:{value:(_vm.assignment.instructions),callback:function ($$v) {_vm.$set(_vm.assignment, \"instructions\", $$v)},expression:\"assignment.instructions\"}}):_vm._e(),_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('input',{ref:\"fileinput\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\"},on:{\"change\":_vm.onFilePicked}}),_c('a',{staticClass:\"attach-resources-link\",on:{\"click\":_vm.uploadFile}},[_c('i',{staticClass:\"fa fa-file\"}),_vm._v(\" Add File\")]),_c('a',{staticClass:\"attach-resources-link dropdown-toggle\",attrs:{\"data-bs-toggle\":\"dropdown\",\"role\":\"button\"}},[_c('i',{staticClass:\"fa fa-link\"}),_vm._v(\" Add Link\")]),_c('div',{staticClass:\"dropdown-menu dropdown-menu-end\",attrs:{\"id\":\"add-dropdown\",\"aria-labelledby\":\"dropdownMenuLink\"}},[_c('form',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.link),expression:\"link\"}],staticClass:\"form-control\",attrs:{\"type\":\"search\",\"placeholder\":\"Enter or Paste Link\",\"required\":\"\"},domProps:{\"value\":(_vm.link)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.hideDropdown.apply(null, arguments)},\"input\":function($event){if($event.target.composing){ return; }_vm.link=$event.target.value}}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.addLink}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])])])]),(_vm.files && _vm.files.length>0)?_c('div',{staticClass:\"row mt-4\"},_vm._l((_vm.files),function(file){return _c('div',{staticClass:\"pr-3 col-lg-3 col-md-4\"},[_c('a',{class:'card file-card '+file.status,attrs:{\"target\":\"_blank\",\"href\":file.url}},[(file.status == 'uploading')?_c('b-progress',{staticClass:\"progress m-0\",attrs:{\"value\":file.uploadingProgress,\"max\":100,\"animated\":\"\"}}):_vm._e(),_c('label',{attrs:{\"title\":file.name}},[_vm._v(\" \"+_vm._s(file.name)+\" \"),_c('small',[_c('br'),_vm._v(_vm._s(file.type))]),(file.status == 'pending')?_c('small',{staticStyle:{\"color\":\"gray\"}},[_vm._v(\" Waiting For Upload\")]):_vm._e(),(file.status == 'failed')?_c('small',[_vm._v(\" Failed ! \"+_vm._s(file.error))]):_vm._e()]),_c('div',{staticStyle:{\"display\":\"contents\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('button',{staticClass:\"downloadbtn\",on:{\"click\":function($event){$event.stopPropagation();return _vm.removeFile(file.id)}}},[_c('i',{staticClass:\"fa fa-times\",staticStyle:{\"margin-top\":\"60%\"}})])])],1)])}),0):_vm._e()],1),_c('div',{staticClass:\"form-group my-0\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-3\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"marks\"}},[_vm._v(\"Marks\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignment.marks),expression:\"assignment.marks\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Assignment Without Marks\",\"type\":\"number\",\"name\":\"marks\",\"id\":\"marks\"},domProps:{\"value\":(_vm.assignment.marks)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.assignment, \"marks\", $event.target.value)}}})])]),_c('div',{staticClass:\"col-lg-3 pe-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"passingPercentage\"}},[_vm._v(\"Passing Percentage\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignment.passingPercentage),expression:\"assignment.passingPercentage\"}],staticClass:\"form-input\",attrs:{\"placeholder\":_vm.assignment.marks?'Enter Passing Percentage':'No Passing Percentage',\"disabled\":!_vm.assignment.marks,\"type\":\"number\",\"name\":\"passingPercentage\",\"max\":\"100\",\"id\":\"passingPercentage\"},domProps:{\"value\":(_vm.assignment.passingPercentage)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.assignment, \"passingPercentage\", $event.target.value)}}})])]),_c('div',{staticClass:\"col-lg-3\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"due-date\"}},[_vm._v(\"Due Date and Time \"),(!_vm.assignment.dueDateTime)?_c('span',[_vm._v(\"( Default: No Due Date )\")]):_vm._e()]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignment.dueDateTime),expression:\"assignment.dueDateTime\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"No Due Date\",\"type\":\"datetime-local\",\"name\":\"due-date\",\"id\":\"due-date\"},domProps:{\"value\":(_vm.assignment.dueDateTime)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.assignment, \"dueDateTime\", $event.target.value)}}})])]),_c('div',{staticClass:\"col-lg-3\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"due-date\"}},[_vm._v(\"Allowed Submission \"),(!_vm.assignment.dueDateTime)?_c('span',[_vm._v(\"( Default: 1 Submission )\")]):_vm._e()]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignment.allowedSubmissions),expression:\"assignment.allowedSubmissions\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Allowed Submissions\",\"min\":\"1\",\"type\":\"number\",\"name\":\"allowed-sub\",\"id\":\"allowed-sub\"},domProps:{\"value\":(_vm.assignment.allowedSubmissions)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.assignment, \"allowedSubmissions\", $event.target.value)}}})])])])]),_c('div',{staticClass:\"form-group my-0\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-6\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"start-date\"}},[_vm._v(\"Start Date and Time (Required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignment.startDateTime),expression:\"assignment.startDateTime\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select start date and time\",\"type\":\"datetime-local\",\"name\":\"start-date\",\"id\":\"start-date\",\"required\":\"\"},domProps:{\"value\":(_vm.assignment.startDateTime)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.assignment, \"startDateTime\", $event.target.value)}}})])]),_c('div',{staticClass:\"col-lg-6 pe-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"end-date\"}},[_vm._v(\"End Date and Time (Required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignment.endDateTime),expression:\"assignment.endDateTime\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select end date and time\",\"type\":\"datetime-local\",\"name\":\"end-date\",\"id\":\"end-date\",\"required\":\"\"},domProps:{\"value\":(_vm.assignment.endDateTime)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.assignment, \"endDateTime\", $event.target.value)}}})])])])]),_c('div',{staticClass:\"row\"},[(_vm.assignment.dueDateTime)?_c('div',{staticClass:\"col-md-4 form-group mt-4\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignment.isLateSubmissionAllowed),expression:\"assignment.isLateSubmissionAllowed\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isLateSubmissionAllowed\"},domProps:{\"checked\":Array.isArray(_vm.assignment.isLateSubmissionAllowed)?_vm._i(_vm.assignment.isLateSubmissionAllowed,null)>-1:(_vm.assignment.isLateSubmissionAllowed)},on:{\"change\":function($event){var $$a=_vm.assignment.isLateSubmissionAllowed,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.assignment, \"isLateSubmissionAllowed\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.assignment, \"isLateSubmissionAllowed\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.assignment, \"isLateSubmissionAllowed\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isLateSubmissionAllowed\"}},[_vm._v(\"Late Submission Allowed\")])])]):_vm._e(),_c('div',{staticClass:\"col-md-4 form-group mt-4\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignment.isReSubmissionAllowed),expression:\"assignment.isReSubmissionAllowed\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isReSubmissionAllowed\"},domProps:{\"checked\":Array.isArray(_vm.assignment.isReSubmissionAllowed)?_vm._i(_vm.assignment.isReSubmissionAllowed,null)>-1:(_vm.assignment.isReSubmissionAllowed)},on:{\"change\":function($event){var $$a=_vm.assignment.isReSubmissionAllowed,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.assignment, \"isReSubmissionAllowed\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.assignment, \"isReSubmissionAllowed\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.assignment, \"isReSubmissionAllowed\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isReSubmissionAllowed\"}},[_vm._v(\"Resubmission Allowed\")])])]),_c('div',{staticClass:\"col-md-4 form-group mt-4\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignment.isAvailableForDemo),expression:\"assignment.isAvailableForDemo\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isAvailableForDemo\"},domProps:{\"checked\":Array.isArray(_vm.assignment.isAvailableForDemo)?_vm._i(_vm.assignment.isAvailableForDemo,null)>-1:(_vm.assignment.isAvailableForDemo)},on:{\"change\":function($event){var $$a=_vm.assignment.isAvailableForDemo,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.assignment, \"isAvailableForDemo\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.assignment, \"isAvailableForDemo\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.assignment, \"isAvailableForDemo\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isAvailableForDemo\"}},[_vm._v(\"Available for Demo\")])])])])]),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"disabled\":!_vm.validateState,\"role\":\"button\"},on:{\"click\":function($event){return _vm.submitAssignment()}}},[_vm._v(\" Submit \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})])])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal id=\"assignment-modal-action\" @change=\"$emit('updateModalState', false)\" :dialog-class=\"'animate-modal-dialog '+(isExpanded?'expanded':'shrink')\" :visible=\"visible\" hide-header centered\n\t\tcontent-class=\"assignment-modal-action\" size=\"xl\" body-class=\"modal-body\" hide-footer modal-class=\"custom-modal\"\n\t\tno-close-on-backdrop>\n\t\t<div class=\"body-container\">\n\t\t\t<div class=\"right-close-panel\">\n\t\t\t\t<button @click=\"()=>{ isExpanded=!isExpanded; }\" class=\"close-button expanded-btn mr-3\" role=\"button\">\n\t\t\t\t\t\t\t<i v-if=\"!isExpanded\" class=\"fas fa-expand-alt\"></i>\n\t\t\t\t\t\t\t<i v-if=\"isExpanded\" class=\"fas fa-compress-alt\"></i>\n\t\t\t\t</button>\n\t\t\t\t<button @click=\"$emit('updateModalState', false)\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t</div>\n\t\t\t\n\t\t\n\t\t\t<h1 class=\"add-content-title\">\n\t\t\t\t{{ this.isEditMode ? \"Edit\" : \"Create\" }} Assignment\n\t\t\t</h1>\n\n\t\t\t<div v-if=\"stepIndex === 0\" class=\"body-content-container\">\n\t\t\t\t<div class=\"info-container expand\">\n\n\t\t\t\t\t<div class=\"form-group my-3\">\n\t\t\t\t\t\t<label for=\"title\" class=\"main-label\">Assignment Title (Required)</label>\n\t\t\t\t\t\t<input placeholder=\"Type your assignment title\" class=\"form-input\" type=\"search\" name=\"title\"\n\t\t\t\t\t\t\tid=\"title\" v-model=\"assignment.title\" required>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"form-group mt-4\">\n\t\t\t\t\t\t<label for=\"instructions\" class=\"main-label\">Assignment Instructions (Required)</label>\n\t\t\t\t\t\t\t<QuillRichTextEditor\n\t\t\t\t\t\t\t\tv-if=\"visible && (!isEditMode || assignment.instructions)\"\n\t\t\t\t\t\t\t\t:text=\"assignment.instructions\"\n\t\t\t\t\t\t\t\t:isInline=\"false\"\n\t\t\t\t\t\t\t\teditorID=\"instruction-desc\"\n\t\t\t\t\t\t\t\tplaceholder=\"Type your assignment instructions\"\n\t\t\t\t\t\t\t\tv-model=\"assignment.instructions\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div style=\"display: flex;\">\n\t\t\t\t\t\t\t<input type=\"file\" style=\"display: none;\" @change=\"onFilePicked\" multiple ref=\"fileinput\" />\n\t\t\t\t\t\t\t<a class=\"attach-resources-link\"  @click=\"uploadFile\">\n\t\t\t\t\t\t\t\t<i class=\"fa fa-file\"></i>\n\t\t\t\t\t\t\t\tAdd File</a>\n\n\t\t\t\t\t\t\t<a class=\"attach-resources-link dropdown-toggle\" data-bs-toggle=\"dropdown\" role=\"button\">\n\t\t\t\t\t\t\t\t<!-- <i class=\"fa fa-plus\"></i> -->\n\t\t\t\t\t\t\t\t<i class=\"fa fa-link\"></i> Add Link</a>\n\t\t\t\t\t\t\t<div id=\"add-dropdown\" class=\"dropdown-menu dropdown-menu-end\"\n\t\t\t\t\t\t\t\taria-labelledby=\"dropdownMenuLink\">\n\t\t\t\t\t\t\t\t<form >\n\t\t\t\t\t\t\t\t\t<input type=\"search\" class=\"form-control\" v-model=\"link\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Enter or Paste Link\" required v-on:keyup.esc=\"hideDropdown\" />\n\t\t\t\t\t\t\t\t\t<button type=\"button\" @click=\"addLink\"  class=\"content-action-btn save\">\n\t\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\" />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<button class=\"content-action-btn cancel\" type=\"button\"\n\t\t\t\t\t\t\t\t\t\trole=\"button\">\n\t\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\" />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"row mt-4\" v-if=\"files && files.length>0\">\n\n\t\t\t\t\t\t\t<div class=\"pr-3 col-lg-3 col-md-4\" v-for=\"file in files\">\n\t\t\t\t\t\t\t\t<a :class=\"'card file-card '+file.status\" target=\"_blank\" :href=\"file.url\" >\n\t\t\t\t\t\t\t\t\t<b-progress class=\"progress m-0\" v-if=\"file.status == 'uploading'\" :value=\"file.uploadingProgress\" :max=\"100\"\n\t\t\t\t\t\t\t\t\t\tanimated></b-progress>\n\t\t\t\t\t\t\t\t\t<label :title=\"file.name\">\n\t\t\t\t\t\t\t\t\t\t{{ file.name }}\n\t\t\t\t\t\t\t\t\t\t<small><br />{{ file.type }}</small>\n\t\t\t\t\t\t\t\t\t\t<small v-if=\"file.status == 'pending'\" style=\"color: gray;\"> Waiting For Upload</small>\n\t\t\t\t\t\t\t\t\t\t<small v-if=\"file.status == 'failed'\" > Failed ! {{file.error}}</small>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t<div @click.stop style=\"display: contents;\">\n\t\t\t\t\t\t\t\t\t\t<button @click.stop=\"removeFile(file.id)\" class=\"downloadbtn\"> <i style=\"margin-top: 60%;\"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa fa-times\"></i></button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- <div class=\"form-group my-3\">\n\t\t\t\t\t\t<label for=\"passing-percentage\" class=\"main-label\">Passing Percentage (0 - 100)</label>\n\t\t\t\t\t\t<input class=\"form-input\" type=\"number\" name=\"passing-percentage\" id=\"passing-percentage\"\n\t\t\t\t\t\t\tv-model=\"assignment.passingPercentage\" min=\"0\" max=\"100\" required>\n\t\t\t\t\t</div>-->\n\t\t\t\t\t\n\n\t\t\t\t\t<div class=\"form-group my-0\">\n\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t\t<label for=\"marks\" class=\"main-label m-0\">Marks</label>\n\t\t\t\t\t\t\t\t\t<input placeholder=\"Assignment Without Marks\" class=\"form-input\" type=\"number\"\n\t\t\t\t\t\t\t\t\t\tname=\"marks\" id=\"marks\" v-model=\"assignment.marks\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col-lg-3 pe-0\" >\n\t\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t\t<label for=\"passingPercentage\" class=\"main-label m-0\">Passing Percentage</label>\n\t\t\t\t\t\t\t\t\t<input :placeholder=\"assignment.marks?'Enter Passing Percentage':'No Passing Percentage'\" :disabled=\"!assignment.marks\" class=\"form-input\" type=\"number\"\n\t\t\t\t\t\t\t\t\t\tname=\"passingPercentage\" max=\"100\" id=\"passingPercentage\" v-model=\"assignment.passingPercentage\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\t\t\n\t\t\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t\t<label for=\"due-date\" class=\"main-label m-0\">Due Date and Time <span v-if=\"!assignment.dueDateTime\">( Default: No Due Date )</span></label>\n\t\t\t\t\t\t\t\t\t<input placeholder=\"No Due Date\" class=\"form-input\" type=\"datetime-local\"\n\t\t\t\t\t\t\t\t\t\tname=\"due-date\" id=\"due-date\" v-model=\"assignment.dueDateTime\"/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\t\t\n\t\t\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t\t<label for=\"due-date\" class=\"main-label m-0\">Allowed Submission <span v-if=\"!assignment.dueDateTime\">( Default: 1 Submission )</span></label>\n\t\t\t\t\t\t\t\t\t<input placeholder=\"Allowed Submissions\" min=\"1\" class=\"form-input\" type=\"number\"\n\t\t\t\t\t\t\t\t\t\tname=\"allowed-sub\" id=\"allowed-sub\" v-model=\"assignment.allowedSubmissions\"/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"form-group my-0\">\n\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t<div class=\"col-lg-6\">\n\t\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t\t<label for=\"start-date\" class=\"main-label m-0\">Start Date and Time (Required)</label>\n\t\t\t\t\t\t\t\t\t<input placeholder=\"Select start date and time\" class=\"form-input\" type=\"datetime-local\"\n\t\t\t\t\t\t\t\t\t\tname=\"start-date\" id=\"start-date\" v-model=\"assignment.startDateTime\" required/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col-lg-6 pe-0\">\n\t\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t\t<label for=\"end-date\" class=\"main-label m-0\">End Date and Time (Required)</label>\n\t\t\t\t\t\t\t\t\t<input placeholder=\"Select end date and time\" class=\"form-input\" type=\"datetime-local\"\n\t\t\t\t\t\t\t\t\t\tname=\"end-date\" id=\"end-date\" v-model=\"assignment.endDateTime\" required/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<div class=\"col-md-4 form-group mt-4\" v-if=\"assignment.dueDateTime\">\n\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"isLateSubmissionAllowed\"\n\t\t\t\t\t\t\t\t\tv-model=\"assignment.isLateSubmissionAllowed\" />\n\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isLateSubmissionAllowed\">Late Submission Allowed</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-md-4 form-group mt-4\">\n\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"isReSubmissionAllowed\"\n\t\t\t\t\t\t\t\t\tv-model=\"assignment.isReSubmissionAllowed\" />\n\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isReSubmissionAllowed\">Resubmission Allowed</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-md-4 form-group mt-4\">\n\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"isAvailableForDemo\"\n\t\t\t\t\t\t\t\t\tv-model=\"assignment.isAvailableForDemo\" />\n\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isAvailableForDemo\">Available for Demo</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n \n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t\t<button :disabled=\"!validateState\" @click=\"submitAssignment()\" role=\"button\" class=\"step-btn\">\n\t\t\t\t\t\tSubmit\n\t\t\t\t\t\t<img src=\"@/assets/images/arrow-right.svg\" />\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\n\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\n\nimport CookieHelpers from \"../../../helpers/CookieHelpers\";\nimport Loading from \"../../../components/Layout/Loading.vue\";\nimport draggable from \"vuedraggable\";\nimport { ContentType } from \"../../../constants/content\";\nimport { parseDateToYMD } from \"../../../helpers/FormatHelpers\";\nimport { mapActions } from \"vuex\";\nimport { POST_FILE_API } from \"./../../../constants/urls\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { mapState } from \"vuex\";\nimport  QuillRichTextEditor from \"./../../Editors/QuillRichTextEditor.vue\"\nexport default {\n\tname: \"AssignmentActionModal\",\n\tprops: {\n\t\tvisible: Boolean,\n\t\tisEditMode: Boolean,\n\t\tparentContentId: String,\n\t\tcontentData: Object,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tlink:\"\",\n\t\t\tassignment: {\n\t\t\t\tinstructions:\"\",\n\t\t\t\tallowedSubmissions:1\n\t\t\t},\n\t\t\tstartDateTime: null,\n\t\t\tendDateTime: null,\n\t\t\tisAvailableForDemo: false,\n\t\t\tstepIndex: 0,\n\t\t\tpassingPercentage: null,\n\t\t\tinstructions: null,\n\t\t\tassignmentFiles: [{\n\t\t\t\ttitle: null,\n\t\t\t\ttotalMarks: null,\n\t\t\t\tfile: null\n\t\t\t}],\n\t\t\tcontent: null,\n\t\t\tquillEditor: null,\n\t\t\tfileSizeLimit:100,\n\t\t\tfiles:[],\n\t\t\tisExpanded:false\n\t\t};\n\t},\n\tmethods: {\n\t\n\t\t...mapActions(\"content\", [\"createFlashCards\", \"getContentById\", \"updateContent\",\n      \"createAssignmentContent\"]), uploadFile() {\n\t\t\tthis.$refs.fileinput.click();\n\t\t},\n\t\tonFilePicked(event) {\n\t\t\tconst files = event.target.files;\n\t\t\tfiles.forEach(file => {\n\t\t\t\tthis.addFileForUpload(file);\n\t\t\t});\t\t\t\n\t\t},\t\t\n\t\tremoveFile(fileId){\n\t\t\tvar file=this.files.find(x=>x.id==fileId);\n\t\t\tif(file)\n\t\t\t{\n\t\t\t\tif (file.xhr) {\n\t\t\t\t\tfile.xhr.abort();\n\t\t\t\t}\n\t\t\t\tthis.files.splice(this.files.indexOf(file),1);\n\t\t\t\tthis.uplaodNextFileInQueue();\n\t\t\t}\n\n\t\t},\n\t\taddFileForUpload(file) {\n\n\t\t\tvar nameParts = file.name.split(\".\");\n\t\t\tvar extension = nameParts.pop();\n\t\t\tvar name = nameParts.join(\".\").toUpperCase();\n\t\t\tvar sizeInMB = (file.size / 1024) / 1024;\n\t\t\tvar isSizeIncreasedLimit = sizeInMB > this.fileSizeLimit;\n\n\t\t\tthis.files.push({\n\t\t\t\tid: uuidv4(),\n\t\t\t\tname: name,\n\t\t\t\tfile: file,\n\t\t\t\textension: extension,\n\t\t\t\ttype: this.fileTypeByExtentions(file.name) ?? this.fileTypeByType(file.type) ?? \"File\",\n\t\t\t\turl: null,\n\t\t\t\tstatus: isSizeIncreasedLimit ? 'failed' : 'pending',\n\t\t\t\terror: isSizeIncreasedLimit ? `File size should be less then ${this.fileSizeLimit}` : null,\n\t\t\t\tuploadingProgress: 0\n\t\t\t});\n\t\t\tthis.uplaodNextFileInQueue();\n\t\t},\n\t\tfileTypeByExtentions(filename) {\n\t\t\tif (filename.endsWith(\".pdf\")) {\n\t\t\t\treturn \"PDF\";\n\t\t\t}\n\t\t\tif (filename.endsWith(\".ppt\") || filename.endsWith(\".pptx\")) {\n\t\t\t\treturn \"Powerpoint\";\n\t\t\t}\n\t\t\tif (filename.endsWith(\".xls\") || filename.endsWith(\".xlsx\")) {\n\t\t\t\treturn \"Excel Worksheet\";\n\t\t\t}\n\t\t\tif (filename.endsWith(\".csv\")) {\n\t\t\t\treturn \"Comma Seperated Values\";\n\t\t\t}\n\t\t\tif (filename.endsWith(\".doc\") || filename.endsWith(\".docx\")) {\n\t\t\t\treturn \"Document\";\n\t\t\t}\n\t\t},\n\t\tfileTypeByType(fileType) {\n\t\t\tfileType = fileType.toLowerCase();\n\t\t\tif (fileType.indexOf(\"image\") > -1) {\n\t\t\t\treturn \"Image\";\n\t\t\t}\n\t\t\tif (fileType.indexOf(\"video\") > -1) {\n\t\t\t\treturn \"Video\";\n\t\t\t}\n\n\t\t},\n\t\tuplaodNextFileInQueue() {\n\t\t\tvar self=this;\n\t\t\tvar minUploadinglimit = 1;\n\t\t\tvar inUploadingFiles = this.files.filter(x=>x.status.toLowerCase() == \"uploading\");\n\t\t\tvar queuedFile = this.files.find(x=>x.status.toLowerCase() != \"uploading\" && x.status.toLowerCase() == \"pending\");\n\t\t\tif (inUploadingFiles.length <= (minUploadinglimit - 1) && queuedFile) {\n\t\t\t\tqueuedFile.status = \"uploading\";\n\t\t\t\tqueuedFile.uploadingProgress = 0;\n\t\t\t\tvar uploadurl = this.apiURL + POST_FILE_API;\n\n\t\t\t\tconst formData = new FormData();\n      \t\t\tformData.append(\"entity\", \"Assignment\");\n      \t\t\tformData.append(\"type\", queuedFile.type);\n\t\t\t\tformData.append('file', queuedFile.file);\n\n\t\t\t\t// post form data\n\t\t\t\tconst xhr = new XMLHttpRequest()\n\t\t\t\txhr.upload.onprogress = function (event) {\n\t\t\t\t\tvar percentComplete = Math.floor((event.loaded / event.total) * 100);\n\t\t\t\t\tqueuedFile.uploadingProgress = percentComplete;\n\t\t\t\t\tqueuedFile.status = \"uploaded\";\n\t\t\t\t\tqueuedFile.status = \"uploading\";\n\t\t\t\t};\n\n\t\t\t\t// Set up a handler for when the request completes\n\t\t\t\txhr.onload = function () {\n\t\t\t\t\tif (xhr.status === 201) {\n\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\tvar response=JSON.parse(xhr.responseText);\n\t\t\t\t\t\t\tif(response && response.payload)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tqueuedFile.url=response.payload;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tqueuedFile.status = \"uploaded\";\n\t\t\t\t\t\t\tself.uplaodNextFileInQueue();\n\t\t\t\t\t\t}, 2000);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tqueuedFile.status = \"failed\";\n\t\t\t\t\t\tqueuedFile.error = \"Due to some error occurred\";\n\t\t\t\t\t\tself.uplaodNextFileInQueue();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\txhr.open('POST', uploadurl,);\n\t\t\t\tqueuedFile.xhr = xhr;\n\t\t\t\txhr.setRequestHeader(\"AuthToken\", \"System123\");\n\t\t\t\txhr.setRequestHeader(\"Authorization\", `Bearer ${CookieHelpers.getCookie(\"token\")}`);\n\t\t\t\txhr.send(formData);\n\t\t\t}\n\t\t},\n\t\t\n\t\taddLink(){\n\t\t\tif(this.link)\n\t\t\t{\n\t\t\t\tthis.files.push({\n\t\t\t\tid: uuidv4(),\n\t\t\t\tname: this.link,\n\t\t\t\ttype: \"Link\",\n\t\t\t\turl: this.link\n\t\t\t\t});\n\t\t\t\tthis.link=\"\";\n\t\t\t}\n\t\t},\n\t\tsubmitAssignment(){\n\t\t\tif(this.validateState)\n\t\t\t{\n\t\t\t\tvar assignment = {\t\t\t\t\t\n                    id: this.assignment.id ? this.assignment.id : null, \n\t\t\t\t\ttitle: this.assignment.title,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tdescription: this.assignment.instructions,\n\t\t\t\t\t\tmarks:this.assignment.marks+\"\",\n\t\t\t\t\t\tpassingpercentage:this.assignment.passingPercentage+\"\",\n\t\t\t\t\t\tdeadline:this.assignment.dueDateTime,\n\t\t\t\t\t\tisresubimissionallowed:this.assignment.isReSubmissionAllowed+\"\",\n\t\t\t\t\t\tislatesubimissionallowed:this.assignment.isLateSubmissionAllowed+\"\",\n\t\t\t\t\t\tallowedSubmissions:this.assignment.allowedSubmissions?(this.assignment.allowedSubmissions+''):null,\n\t\t\t\t\t\tfiles:JSON.stringify( this.files.map(x=>{\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tName:x.name,\n\t\t\t\t\t\t\t\tType:x.type,\n\t\t\t\t\t\t\t\tExtension:x.extension,\n\t\t\t\t\t\t\t\tUrl:x.url\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}))\n\t\t\t\t\t},\n\t\t\t\t\tsequence: 1,\n\t\t\t\t\tisAvailableForDemo: this.assignment.isAvailableForDemo??false,\n\t\t\t\t\ttype: \"Assignment\",\n\t\t\t\t\tparentDirectoryID: this.parentContentId,\n\t\t\t\t\tavailableFrom: this.assignment.startDateTime,\n\t\t\t\t\tavailableTo: this.assignment.endDateTime,\n\t\t\t\t};\n\t\t\t\tif(this.isEditMode) {\n                    this.updateContent(assignment).then(x => {\n                        this.$toasted.success(\"Assignment updated successful\", {\n                            theme: \"outline\",\n                            position: \"bottom-center\",\n                            duration: 3000,\n                        });\n                        this.$emit('updateModalState', false);\n                    });\n                    return;\n                }\n\n\t\t\t\tthis.createAssignmentContent(assignment).then(x=>{\n\t\t\t\t\tthis.$toasted.success(\"Assignment created successful\", {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t\tthis.$emit('updateModalState', false);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n        convertToDatetimeLocal(dateTimeString) {\n            const date = new Date(dateTimeString);\n            const offset = date.getTimezoneOffset();\n            const localDate = new Date(date.getTime() - offset * 60 * 1000);\n            return localDate.toISOString().slice(0, -8); // Format as \"YYYY-MM-DDTHH:mm\"\n        },\n        mapAssignmentFiles(files) {\n            var _files = files;\n\n            for(let i=0; i<_files.length;i++){\n                _files[i].name = _files[i].Name;\n                _files[i].url = _files[i].Url;\n                _files[i].type = _files[i].Type;\n                _files[i].extension = _files[i].Extension;\n                _files[i].status = \"submitted\";\n            }\n\n            return _files;\n        }\n\n\t},\n\tcomponents: {\n\t\tLoading,\n\t\tdraggable,\n\t\tQuillRichTextEditor\n\t},\n\n\tmounted() {\n\t\tif (this.visible) {\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.content = { ...this.contentData };\n\t},\n\tcomputed: {\t\t\n\t\t...mapState(\"appState\", [\"apiURL\"]),\t\t\n\t\tvalidateState(){\n\t\t\treturn this.assignment && this.assignment.title && this.assignment.instructions && this.assignment.startDateTime && this.assignment.endDateTime && (!this.assignment.marks || this.assignment.passingPercentage);\n\t\t}\n\t},\n\twatch: {\n\t\tvisible: async function () {\n\t\t\tif (this.visible) {\n\n\t\t\t\t// setTimeout(this.initQuillEditor, 500);\n                //this.loadEditContent()\n\n                if(this.isEditMode) {\n                    await this.getContentById({id: this.content.id}).then((res) => {\n                        if(res) {\n                            this.content = res;\n                        }\n                    });\n                    var extraProperties = JSON.parse(this.content.extraProperties);\n\n                    this.assignment = {\n                        id: this.content.id,\n                        title: this.content.title,\n\t\t\t\t\t\tinstructions: extraProperties.Discription,\n                        marks: extraProperties.Marks ? extraProperties.Marks : 0,\n                        passingPercentage: extraProperties.PassingPercentage ? extraProperties.PassingPercentage : 0,\n                        dueDateTime: extraProperties.Deadline ? this.convertToDatetimeLocal(extraProperties.Deadline) : null,\n                        isLateSubmissionAllowed: extraProperties.IsLateSubimissionAllowed ? extraProperties.IsLateSubimissionAllowed : false,\n                        isReSubmissionAllowed: extraProperties.IsReSubimissionAllowed ? extraProperties.IsReSubimissionAllowed : false,\n                        isAvailableForDemo: this.content.isContentAvailableForDemo ?? false,\n                        startDateTime: this.content.availableFrom ? this.convertToDatetimeLocal(this.content.availableFrom) : null,\n                        endDateTime: this.content.availableTo ? this.convertToDatetimeLocal(this.content.availableTo) : null,\n                        Discription: extraProperties.Discription ? extraProperties.Discription : '',\n\t\t\t\t\t\tallowedSubmissions:extraProperties.AllowedSubmissions ? extraProperties.AllowedSubmissions : 1,\n                    };\n                    \n                    this.files = extraProperties.Files ? this.mapAssignmentFiles(extraProperties.Files) : [];\n\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n\n\t.right-close-panel\n\t{\n\t\tposition: absolute;\n    \ttop: 2.5rem;\n    \tright: 2rem;\n\t\tdisplay: flex;\n\t}\n\n\t.right-close-panel .close-button\n\t{\n\t\tposition: initial;\n\t}\n\t\n\t.expanded-btn{\n\t\tcolor: black;\n\t    font-size: 24px;\n\t    margin-right: 15px;\n\t\tpadding-top: 4px;\n\t}\n\t.body-content-container{\n\tflex-direction: column;\n}\n\n.body-content-container .info-container.expand\n{\n\twidth: 100% !important;\n\tpadding-right: 0px;\n}\n\n\n\n.info-container .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n\n.form-textarea {\n\twidth: 100%;\n\tpadding: 10px;\n\tborder: 1px solid #ccc;\n\tborder-radius: 4px;\n\tfont-size: 14px;\n\tline-height: 1.5;\n\tresize: vertical;\n\ttransition: border-color 0.2s ease-in-out;\n}\n\n.form-textarea:focus {\n\tborder-color: var(--color-red);\n\toutline: none;\n\tbox-shadow: 0 0 0 0.1rem rgba(0, 123, 255, 0.25);\n}\n\n.info-container .form-group {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-top: 20px;\n}\n\n.info-container .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0.875rem 0;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n}\n\n.form-input:focus {\n\tborder-color: var(--primary-color) !important;\n}\n\n.info-container tbody img {\n\theight: 50px;\n\twidth: 50px;\n}\n\n#delete-icon {\n\theight: 35px;\n\twidth: 30px;\n\tcursor: pointer;\n\tmargin-top: 15px;\n\tmargin-bottom: auto;\n}\n\n.modal-body {\n\tpadding: 0px;\n}\n\n.attach-resources-link {\n\tcolor: var(--primary-color);\n\ttext-decoration: none;\n\tmargin-top: 5px;\n\tmargin-right: 15px;\n\tcursor: pointer;\n}\n\n.attach-resources-link i {\n\tmargin-right: 5px;\n}\n\n.link-box {\n\twidth: auto;\n\tmax-width: none;\n}\n\n.link-box input {\n\tmargin: 10px;\n\n}\n\n.file-card:hover {\n\tbackground-color: whitesmoke;\n}\n\n.file-card {\n\tdisplay: flex;\n\tpadding: 5px;\n\tpadding-top: 8px;\n\tpadding-left: 10px;\n\tpadding-right: 10px;\n\tborder: 1px solid var(--primary-color);\n\tcursor: pointer;\n\tflex-direction: inherit;\n\tmargin-bottom: 10px;\n\ttext-decoration: none;\n\tcolor: black;\n\toverflow: hidden;\n}\n\n.file-card label {\n\tflex: 1;\n\tpadding: 0px;\n\tmargin: 0px;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\twhite-space: nowrap;\n\tfont-size: small;\n\tfont-weight: bold;\n\tcursor: pointer;\n}\n.file-card.failed\n{\n\tbackground-color:rgb(var(--bs-danger-rgb)) ;\n}\n.file-card.failed label {\n\tcolor: white;\n}\n\n.file-card label small {\n\tcolor: var(--primary-color);\n\ttext-transform: uppercase;\n\tpadding: 0px;\n\tmargin: 0px;\n\tcursor: pointer;\n\tfont-weight: lighter;\n}\n\n.file-card.failed label small {\n\tcolor: white;\n}\n\n\n.file-card .progress {\n\tposition: absolute;\n\twidth: 100%;\n\tbottom: -2px;\n\tleft: 0px;\n\theight: 7px;\n\n}\n</style>\n<style>\n.assignment-modal-action\n{\n  height: 45.375rem;\n  /* width: 70vw; */\n}\n.assignment-modal-action .modal-body.modal-body\n{\n\tdisplay: flex;\n    flex-direction: row;\n    padding: 0 !important;\n\toverflow: auto;\n}\n.assignment-modal-action .modal-body.modal-body .body-container\n{\n\t\n    padding: 2.5rem;\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n    position: relative;\n\n}\n\n#assignment-modal-action .expanded\n{\n\tmax-width: 96%;\n\tmax-height: 96%;\t\t\n}\n\n#assignment-modal-action .expanded .assignment-modal-action\n{\n\theight: 90vh;\t\n}\n\n</style>","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AssignmentActionModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AssignmentActionModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AssignmentActionModal.vue?vue&type=template&id=dddb33ba&scoped=true&\"\nimport script from \"./AssignmentActionModal.vue?vue&type=script&lang=js&\"\nexport * from \"./AssignmentActionModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AssignmentActionModal.vue?vue&type=style&index=0&id=dddb33ba&prod&scoped=true&lang=css&\"\nimport style1 from \"./AssignmentActionModal.vue?vue&type=style&index=1&id=dddb33ba&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"dddb33ba\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row full\"},[_c('div',{staticClass:\"flex-grow-1 my-2\",staticStyle:{\"display\":\"flex\"}},[_c('button',{staticClass:\"back-btn\",on:{\"click\":function($event){return _vm.$emit('closeSubmissionDetail', false)}}},[_vm._v(\" Back To Submissions \")])]),_c('div',{class:'col-md-3 '+ 'mt-3 full',style:(_vm.panelStyle)},[_c('div',{staticClass:\"top-side-div\"},[_c('a',{staticClass:\"icon-btn mr-3 first\",attrs:{\"disabled\":_vm.selectedStudentAssignmentIndex < 1},on:{\"click\":function($event){return _vm.previous()}}},[_c('i',{staticClass:\"fas fa-caret-left\"})]),_c('div',{staticClass:\"username-box\"},[_c('v-select',{staticClass:\"select2 search-input\",attrs:{\"options\":_vm.assignmentResultsWithIndex,\"placeholder\":\"Search by Student\",\"label\":\"name\",\"appendToBody\":true,\"reduce\":function (option) { return option.value; }},scopedSlots:_vm._u([{key:\"selected-option\",fn:function(option){return [(_vm.selectedStudentAssignment)?_c('div',{staticClass:\"user-name d-flex align-items-center\",staticStyle:{\"flex\":\"1\"}},[(_vm.selectedStudentAssignment.user.profilePicture)?_c('img',{staticClass:\"user-image user-avatar\",attrs:{\"src\":_vm.selectedStudentAssignment.user.profilePicture}}):_c('div',{staticClass:\"user-avatar\"},[_vm._v(\" \"+_vm._s(_vm.selectedStudentAssignment.user.firstName[0])+\" \")]),_c('h6',{staticStyle:{\"margin-left\":\"10px\",\"margin-bottom\":\"0px\"}},[_vm._v(\" \"+_vm._s(_vm.selectedStudentAssignment.user.firstName)+\" \"+_vm._s(_vm.selectedStudentAssignment.user.lastName)),_c('br'),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.selectedStudentAssignment.user.email))])])]):_vm._e()]}},{key:\"option\",fn:function(option){return [_c('div',{staticClass:\"user-name d-flex align-items-center\",staticStyle:{\"flex\":\"1\"}},[_c('h6',{staticStyle:{\"margin-bottom\":\"0px\"}},[_vm._v(\" \"+_vm._s(option.user.firstName)+\" \"+_vm._s(option.user.lastName)),_c('br'),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(option.user.email))])])])]}}]),model:{value:(_vm.selectedStudentAssignmentIndex),callback:function ($$v) {_vm.selectedStudentAssignmentIndex=$$v},expression:\"selectedStudentAssignmentIndex\"}})],1),_c('a',{staticClass:\"icon-btn ml-3\",attrs:{\"disabled\":_vm.selectedStudentAssignmentIndex > (_vm.assignmentResults.length - 1)},on:{\"click\":function($event){return _vm.next()}}},[_c('i',{staticClass:\"fas fa-caret-right\"})])]),_c('div',{staticClass:\"mt-3\"},[(_vm.isSubmittedAssignment)?_c('b-tabs',{attrs:{\"content-class\":\"\"},model:{value:(_vm.activeTabIndex),callback:function ($$v) {_vm.activeTabIndex=$$v},expression:\"activeTabIndex\"}},[_c('b-tab',{attrs:{\"title\":\"Submission\",\"active\":\"\"}},[(_vm.isSubmittedAssignment)?_c('b-card',{staticClass:\"feedback-box\"},[(_vm.isSubmittedAssignment && _vm.submittedSubmissions.length > 1)?_c('div',{staticClass:\"top-side-div\",staticStyle:{\"margin-top\":\"0px\",\"padding-top\":\"0px\"}},[_c('a',{staticClass:\"icon-btn mr-3 first\",attrs:{\"disabled\":_vm.selectedSubmissionIndex < 1},on:{\"click\":function($event){return _vm.previousSubmission()}}},[_c('i',{staticClass:\"fas fa-caret-left\"})]),_c('div',{staticClass:\"user-name d-flex align-items-center\",staticStyle:{\"flex\":\"1\"}},[_c('h5',{staticStyle:{\"color\":\"black\",\"margin\":\"0px\"}},[_vm._v(\" Submission \"+_vm._s(_vm.selectedSubmissionIndex + 1))])]),_c('a',{staticClass:\"icon-btn ml-3\",attrs:{\"disabled\":_vm.selectedSubmissionIndex > (_vm.submittedSubmissions.length - 1)},on:{\"click\":function($event){return _vm.nextSubmission()}}},[_c('i',{staticClass:\"fas fa-caret-right\"})])]):_vm._e(),(_vm.isSubmittedAssignment)?_c('div',{staticClass:\"submission-stamp\"},[(_vm.selectedStudentAssignment.isLateSubmission)?_c('div',{staticClass:\"mt-3\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[(_vm.selectedStudentAssignment.isLateSubmission)?_c('div',{staticClass:\"status-tag danger late-submitted-status\"},[_vm._v(\" Late Submission \")]):_vm._e()]):_vm._e(),_c('h6',[(_vm.activeSubmission && _vm.activeSubmission.submittedAt)?_c('small',[_vm._v(\" Turned in \"+_vm._s(_vm.parseDateTime(_vm.activeSubmission.submittedAt)))]):_vm._e()])]):_vm._e(),_c('div',{staticClass:\"file-selection-area mt-3\"},[(_vm.activeSubmission && _vm.activeSubmission.submittedFiles && _vm.activeSubmission.submittedFiles.length > 0)?_c('ul',{staticClass:\"submited-files\"},_vm._l((_vm.activeSubmission.submittedFiles),function(file,index){return _c('li',{staticClass:\"d-flex justify-content-between align-items-center\",class:index === _vm.activeFileIndex ? 'active' : '',on:{\"click\":function($event){return _vm.changeFile(index)}}},[_c('div',[_vm._v(\" \"+_vm._s(file.name)+\" \"),_c('small',[_c('br'),_vm._v(_vm._s(file.type))])])])}),0):_vm._e(),(_vm.activeSubmission && _vm.activeSubmission.submittedFiles\n                && _vm.activeSubmission.submittedFiles.length == 0)?_c('center',[_vm._v(\" Not Submitted Files \")]):_vm._e()],1)]):_vm._e()],1),_c('b-tab',{attrs:{\"title\":\"Feedback\"}},[(_vm.isSubmittedAssignment)?_c('b-card',{staticClass:\"feedback-box\"},[_c('div',{staticClass:\"file-selection-area mt-3\"},[(_vm.activeSubmission && _vm.activeSubmission.feedbackFiles\n                && _vm.activeSubmission.feedbackFiles.length > 0)?_c('ul',{staticClass:\"submited-files\"},_vm._l((_vm.activeSubmission.feedbackFiles),function(file,index){return _c('li',{key:index,staticClass:\"active d-flex justify-content-between\",on:{\"click\":function($event){return _vm.openFile(file.url)}}},[_c('div',{staticStyle:{\"width\":\"60%\"}},[_vm._v(_vm._s(file.name)+\" \"),_c('small',[_c('br'),_vm._v(_vm._s(file.type))])]),_c('div',{staticClass:\"icon-container\"},[(_vm.editField && _vm.editField == 'feedback' && !_vm.loading)?_c('div',[_c('i',{staticClass:\"fas fa-trash-alt\",staticStyle:{\"cursor\":\"pointer\",\"font-size\":\"16px\",\"color\":\"red\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeFile(index)}}})]):_vm._e()])])}),0):_vm._e(),(!_vm.activeSubmission || !_vm.activeSubmission.feedbackFiles\n                || _vm.activeSubmission.feedbackFiles.length == 0)?_c('center',[_vm._v(\" No Feedback Files \")]):_vm._e()],1),(_vm.isSubmittedAssignment && _vm.activeSubmission)?_c('div',{staticClass:\"mt-3\"},[_c('h6',{staticStyle:{\"margin\":\"0px\"}},[_vm._v(\"Feedback\")]),(_vm.currentEditableUserID == _vm.selectedStudentAssignment.user.id && _vm.editField == 'feedback')?_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.activeSubmission.feedback),expression:\"activeSubmission.feedback\"}],class:'form-control feedback-textarea ',attrs:{\"readonly\":_vm.editField !== 'feedback',\"rows\":\"4\"},domProps:{\"value\":(_vm.activeSubmission.feedback)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.activeSubmission, \"feedback\", $event.target.value)}}}):_vm._e(),(_vm.currentEditableUserID == _vm.selectedStudentAssignment.user.id && _vm.editField == 'feedback')?_c('input',{staticClass:\"mb-3\",attrs:{\"type\":\"file\",\"multiple\":\"\"},on:{\"change\":function($event){return _vm.uploadTrainerMarkedFiles($event)}}}):_c('div',{staticClass:\"form-control feedback-textarea\"},[_vm._v(\" \"+_vm._s(_vm.activeSubmission.feedback)+\" \")]),(_vm.currentEditableUserID == _vm.selectedStudentAssignment.user.id && _vm.editField == 'feedback' && !_vm.loading)?_c('a',{staticClass:\"btn btn-success\",staticStyle:{\"border-radius\":\"10px\"},on:{\"click\":_vm.saveFeedback}},[_vm._v(\" Submit \")]):_vm._e(),(_vm.currentEditableUserID == _vm.selectedStudentAssignment.user.id && _vm.editField == 'feedback' && _vm.loading)?_c('a',{staticClass:\"btn btn-success\",staticStyle:{\"border-radius\":\"10px\"},attrs:{\"disabled\":\"\"}},[_c('i',{staticClass:\"fa fa-spinner fa-spin\"}),_vm._v(\" Submitting... \")]):_vm._e(),(_vm.currentEditableUserID == _vm.selectedStudentAssignment.user.id && _vm.editField == 'feedback' && !_vm.loading)?_c('a',{staticClass:\"btn btn-danger\",staticStyle:{\"border-radius\":\"10px\",\"margin-left\":\"15px\"},on:{\"click\":_vm.cancelEdit}},[_vm._v(\" Cancel \")]):_vm._e(),_c('div',{staticStyle:{\"display\":\"flex\",\"text-align\":\"right\",\"justify-content\":\"space-between\"}},[(!_vm.editField || _vm.editField != 'feedback' && !_vm.loading)?_c('a',{staticClass:\"border-btn edit-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.edit('feedback')}}},[_c('i',{staticClass:\"fas fa-pencil-alt edit-btn-icon me-2\"}),_vm._v(\"Edit \")]):_vm._e()])]):_vm._e()]):_vm._e()],1)],1):_vm._e()],1),(_vm.totalMarks)?_c('div',{staticClass:\"mt-3\"},[_c('h6',{staticStyle:{\"margin\":\"0px\"}},[_vm._v(\"Marks   \"),_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.righttop\",value:('Combined marks of all submissions'),expression:\"'Combined marks of all submissions'\",modifiers:{\"hover\":true,\"righttop\":true}}],staticClass:\"fas fa-info-circle\",attrs:{\"id\":\"marks-info\"}})]),_c('div',{staticClass:\"marks-div\",on:{\"click\":function($event){$event.stopPropagation();}}},[(_vm.currentEditableUserID == _vm.selectedStudentAssignment.user.id && _vm.editField == 'marks')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.updatedMarks),expression:\"updatedMarks\"}],class:'form-control score-box ' + (!_vm.validateMarks ? 'error' : ''),attrs:{\"min\":\"0\",\"max\":_vm.extraProperties.Marks,\"type\":\"number\"},domProps:{\"value\":(_vm.updatedMarks)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.saveMarks.apply(null, arguments)},\"input\":function($event){if($event.target.composing){ return; }_vm.updatedMarks=$event.target.value}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.updatedMarks),expression:\"updatedMarks\"}],staticClass:\"form-control score-box\",attrs:{\"readonly\":\"\",\"type\":\"number\"},domProps:{\"value\":(_vm.updatedMarks)},on:{\"focus\":function($event){return $event.target.select()},\"click\":function($event){return _vm.edit('marks')},\"input\":function($event){if($event.target.composing){ return; }_vm.updatedMarks=$event.target.value}}}),(_vm.currentEditableUserID == _vm.selectedStudentAssignment.user.id && _vm.editField == 'marks' && !_vm.loading)?_c('a',{staticClass:\"saveMarksBtn\",on:{\"click\":_vm.saveMarks}},[_c('i',{staticClass:\"fa fa-check\"})]):_vm._e(),(_vm.currentEditableUserID == _vm.selectedStudentAssignment.user.id && _vm.editField == 'marks' && !_vm.loading)?_c('a',{staticClass:\"cancelMarksBtn\",on:{\"click\":_vm.cancelEdit}},[_c('i',{staticClass:\"fa fa-times\"})]):_vm._e(),(_vm.currentEditableUserID == _vm.selectedStudentAssignment.user.id && _vm.editField == 'marks' && _vm.loading)?_c('b-spinner',{staticClass:\"loading-btn\",attrs:{\"small\":\"\"}}):_vm._e(),_c('span',{staticClass:\"total-marks\"},[_vm._v(\"/ \"+_vm._s(_vm.totalMarks))])],1),(_vm.selectedStudentAssignment && (_vm.selectedStudentAssignment.isGraded || _vm.selectedStudentAssignment.marks))?_c('h6',{staticClass:\"mt-2\"},[_c('b-badge',{attrs:{\"variant\":'success'}},[_vm._v(\"Graded\")])],1):_vm._e()]):_vm._e()]),_c('div',{class:_vm.panelCollapsed ? 'col-md-12 ' : 'col-md-9 '+ 'full',staticStyle:{\"overflow\":\"hidden\",\"height\":\"100%\"}},[(_vm.activeFile)?_c('div',{staticClass:\"viewerModel full\"},[(_vm.activeFile.extension.toLowerCase() == 'pdf' && _vm.getPDFJSViewerUrl(_vm.activeFile.url))?_c('div',{staticClass:\"annotation-viewer\",attrs:{\"id\":\"annotation-viewer\"}},[_c('iframe',{staticClass:\"google-docs iframe\",attrs:{\"id\":\"pdfjsviewer\",\"src\":_vm.getPDFJSViewerUrl(_vm.activeFile.url),\"frameborder\":\"0\",\"scrolling\":\"no\",\"marginheight\":\"0\",\"marginwidth\":\"0\",\"role\":\"document\",\"aria-label\":\"PDF document\",\"title\":\"PDF document\"},on:{\"load\":_vm.onFileLoaded}}),_c('div',{staticClass:\"viewer-footer\"},[_c('button',{staticClass:\"done-button mx-3\",on:{\"click\":_vm.toggleFullscreen}},[_c('i',{class:_vm.isFullscreen ? 'fas fa-compress-arrows-alt' : 'fas fa-expand-arrows-alt'}),_c('span',{staticStyle:{\"margin-left\":\"8px\"}},[_vm._v(_vm._s(_vm.isFullscreen ? 'Exit Fullscreen' : 'Fullscreen'))])]),(Object.keys(_vm.annotations).length > 0)?_c('div',[_c('button',{staticClass:\"done-button\",attrs:{\"disabled\":_vm.loading},on:{\"click\":_vm.doneAnnotation}},[(!_vm.loading)?_c('i',{staticClass:\"fas fa-check\"}):_c('b-spinner',{attrs:{\"small\":\"\"}}),(!_vm.loading)?_c('span',[_vm._v(\" Done\")]):_c('span',[_vm._v(\" Uploading \")])],1),_c('button',{staticClass:\"cancel-button\",attrs:{\"disabled\":_vm.loading},on:{\"click\":_vm.cancelAnnotation}},[_c('i',{staticClass:\"fas fa-times\"}),_vm._v(\" Cancel \")])]):_c('button',{staticClass:\"done-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.annotateFile()}}},[_c('i',{staticClass:\"fas fa-pencil-alt mx-1\"}),_c('span',[_vm._v(\"Annotate\")])])])]):(_vm.activeFile.extension.toLowerCase() == 'pdf')?_c('iframe',{staticClass:\"google-docs iframe\",attrs:{\"src\":_vm.activeFile.url,\"frameborder\":\"0\",\"scrolling\":\"no\",\"marginheight\":\"0\",\"marginwidth\":\"0\",\"role\":\"document\",\"aria-label\":\"PDF document\",\"title\":\"PDF document\"},on:{\"load\":_vm.onFileLoaded}}):(_vm.activeFile.type.toLowerCase() == 'image')?_c('img',{staticStyle:{\"width\":\"100%\",\"height\":\"100%\",\"object-fit\":\"contain\"},attrs:{\"src\":_vm.activeFile.url},on:{\"load\":_vm.onFileLoaded}}):(_vm.activeFile.type.toLowerCase() == 'video')?_c('video',{staticClass:\"p-3\",staticStyle:{\"width\":\"100%\",\"height\":\"100%\"},attrs:{\"autoplay\":\"\",\"controls\":\"\",\"src\":_vm.activeFile.url},on:{\"load\":_vm.onFileLoaded}}):(_vm.isAllowedFileFormat)?_c('iframe',{staticClass:\"google-docs iframe\",attrs:{\"src\":'https://docs.google.com/viewer?url=' + encodeURI(_vm.activeFile.url) + '&embedded=true',\"frameborder\":\"0\",\"scrolling\":\"no\",\"marginheight\":\"0\",\"marginwidth\":\"0\",\"role\":\"document\",\"aria-label\":\"PDF document\",\"title\":\"PDF document\"},on:{\"load\":_vm.onFileLoaded}}):_c('div',{staticClass:\"full no-file-support\"},[_c('div',{staticClass:\"inner\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.activeFile.name)+\" \"),_c('small',[_c('br'),_vm._v(_vm._s(_vm.activeFile.type.toLowerCase() == 'file' ? 'Unknown FormatFile':_vm.activeFile.type.toUpperCase()))])]),_c('div',{staticStyle:{\"text-align\":\"-webkit-center\"}},[_c('a',{staticClass:\"step-btn download\",attrs:{\"href\":_vm.activeFile.url,\"download\":\"\"}},[_vm._v(\" Download \")])])])])]):_c('div',{staticClass:\"full no-file-support\"},[_vm._m(0)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"inner\"},[_c('h3',[_vm._v(\" No Assignment Submitted \"),_c('small',[_c('br')])])])}]\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"row full\">\n    \n    <div class=\"flex-grow-1 my-2\" style=\"display:flex;\">\n        <button class=\"back-btn\" @click=\"$emit('closeSubmissionDetail', false)\">\n          Back To Submissions\n        </button>\n        <!-- <button \n          class=\"collapse-btn\" \n          @click=\"()=>{panelCollapsed = !panelCollapsed;}\" \n        >\n          {{ panelCollapsed ? \"Uncollapse\": \"Collapse\" }}\n      </button> -->\n    </div>\n\n    <div :class=\"'col-md-3 '+ 'mt-3 full'\" :style=\"panelStyle\">\n      <div class=\"top-side-div\">\n        <a class=\"icon-btn mr-3 first\" @click=\"previous()\" :disabled=\"selectedStudentAssignmentIndex < 1\">\n          <i class=\"fas fa-caret-left\"></i>\n        </a>\n        <div class=\"username-box\">\n          <v-select class=\"select2 search-input\" v-model=\"selectedStudentAssignmentIndex\"\n            :options=\"assignmentResultsWithIndex\" placeholder=\"Search by Student\" label=\"name\" :appendToBody=\"true\"\n            :reduce=\"(option) => option.value\">\n\n            <template #selected-option=\"option\">\n              <div v-if=\"selectedStudentAssignment\" class=\"user-name d-flex align-items-center\" style=\"flex: 1;\">\n                <img v-if=\"selectedStudentAssignment.user.profilePicture\" class=\"user-image user-avatar\"\n                  :src=\"selectedStudentAssignment.user.profilePicture\" />\n                <div v-else class=\"user-avatar\">\n                  {{ selectedStudentAssignment.user.firstName[0] }}\n                </div>\n                <h6 style=\"margin-left: 10px; margin-bottom: 0px;\">\n                  {{ selectedStudentAssignment.user.firstName }} {{ selectedStudentAssignment.user.lastName\n                  }}<br />\n                  <small class=\"text-muted\">{{\n                    selectedStudentAssignment.user.email }}</small>\n                </h6>\n              </div>\n\n            </template>\n            <template v-slot:option=\"option\">\n              <div class=\"user-name d-flex align-items-center\" style=\"flex: 1;\">\n                <h6 style=\"margin-bottom: 0px;\">\n                  {{ option.user.firstName }} {{ option.user.lastName\n                  }}<br />\n                  <small class=\"text-muted\">{{\n                    option.user.email }}</small>\n                </h6>\n              </div>\n            </template>\n          </v-select>\n        </div>\n        <!-- <div class=\"user-name d-flex align-items-center\" style=\"flex: 1;\">\n          <img v-if=\"selectedStudentAssignment.user.profilePicture\" class=\"user-image user-avatar\"\n            :src=\"selectedStudentAssignment.user.profilePicture\" />\n          <div v-else class=\"user-avatar\">\n            {{ selectedStudentAssignment.user.firstName[0] }} \n          </div>\n          <h6 style=\"margin-left: 10px; margin-bottom: 0px;\">\n            {{ selectedStudentAssignment.user.firstName }} {{ selectedStudentAssignment.user.lastName\n            }}<br />\n            <small class=\"text-muted\">{{\n              selectedStudentAssignment.user.email }}</small>\n          </h6>\n        </div> -->\n        <a class=\"icon-btn ml-3\" @click=\"next()\" :disabled=\"selectedStudentAssignmentIndex > (assignmentResults.length - 1)\">\n          <i class=\"fas fa-caret-right\"></i>\n        </a>\n      </div>\n\n      <div class=\"mt-3\">\n        <b-tabs v-model=\"activeTabIndex\" content-class=\"\" v-if=\"isSubmittedAssignment\">\n          <b-tab title=\"Submission\" active>\n            <b-card class=\"feedback-box\" v-if=\"isSubmittedAssignment\">\n              <div v-if=\"isSubmittedAssignment && submittedSubmissions.length > 1\" class=\"top-side-div\"\n                style=\"margin-top: 0px; padding-top: 0px;\">\n\n                <a class=\"icon-btn mr-3 first\" @click=\"previousSubmission()\" :disabled=\"selectedSubmissionIndex < 1\">\n                  <i class=\"fas fa-caret-left\"></i>\n                </a>\n\n                <div class=\"user-name d-flex align-items-center\" style=\"flex: 1;\">\n                  <h5 style=\"color: black; margin: 0px;\"> Submission {{ selectedSubmissionIndex + 1 }}</h5>\n                </div>\n                <a class=\"icon-btn ml-3\" @click=\"nextSubmission()\"\n                  :disabled=\"selectedSubmissionIndex > (submittedSubmissions.length - 1)\">\n                  <i class=\"fas fa-caret-right\"></i>\n                </a>\n\n              </div>\n              <!-- Student Work -->\n              <div v-if=\"isSubmittedAssignment\" class=\"submission-stamp\">\n                <div v-if=\"selectedStudentAssignment.isLateSubmission\" style=\"display: flex; align-items: center;\"\n                  class=\"mt-3\">\n                  <div v-if=\"selectedStudentAssignment.isLateSubmission\" class=\"status-tag danger late-submitted-status\">\n                    Late Submission\n                  </div>\n                </div>\n                <h6>\n                  <small v-if=\"activeSubmission && activeSubmission.submittedAt\">\n                    Turned in\n                    {{ parseDateTime(activeSubmission.submittedAt) }}</small>\n                </h6>\n              </div>\n              <!-- File Selector -->\n              <div class=\"file-selection-area mt-3\">\n\n                <ul class=\"submited-files\"\n                  v-if=\"activeSubmission && activeSubmission.submittedFiles && activeSubmission.submittedFiles.length > 0\">\n                  <li v-for=\"(file, index) in activeSubmission.submittedFiles\"\n                    :class=\"index === activeFileIndex ? 'active' : ''\" @click=\"changeFile(index)\"\n                    class=\"d-flex justify-content-between align-items-center\">\n\n                    <!-- File Name and Type -->\n                    <div>\n                      {{ file.name }}\n                      <small><br />{{ file.type }}</small>\n                    </div>\n\n                    <!-- <div class=\"icon-container\">\n                      <i v-if=\"(annotations[file.url] != true) && getPDFJSViewerUrl(file.url)\" @click.stop=\"annotateFile(file, index)\"\n                        class=\"fas fa-pencil-alt\" style=\"font-size: 14px; cursor: pointer; margin-right: 10px;\"\n                        alt=\"Annotate\"></i>\n                    </div> -->\n\n                    <!-- <i \n                      v-else\n                      @click.stop=\"doneAnnotation(file, index)\" \n                      class=\"fas fa-check\" \n                      style=\"font-size: 14px; cursor: pointer; color: green; margin-right: 10px;\" \n                      alt=\"Done\"></i>\n                    </div>\n\n                    <i \n                      v-if=\"annotations[file.url] === true\"\n                      @click.stop=\"cancelAnnotation(file, index)\" \n                      class=\"fas fa-times\" \n                      style=\"font-size: 14px; cursor: pointer; color: red; margin-right: 10px;\" \n                      alt=\"Cancel\"></i> -->\n                  </li>\n                </ul>\n                <center v-if=\"activeSubmission && activeSubmission.submittedFiles\n                  && activeSubmission.submittedFiles.length == 0\">\n                  Not Submitted Files\n                </center>\n              </div>\n            </b-card>\n          </b-tab>\n          <b-tab title=\"Feedback\">\n            <b-card class=\"feedback-box\" v-if=\"isSubmittedAssignment\">\n              <!-- File Selector -->\n              <div class=\"file-selection-area mt-3\">\n                <ul class=\"submited-files\" v-if=\"activeSubmission && activeSubmission.feedbackFiles\n                  && activeSubmission.feedbackFiles.length > 0\">\n                  <li v-for=\"(file, index) in activeSubmission.feedbackFiles\" :key=\"index\"\n                    class=\"active d-flex justify-content-between\" @click=\"openFile(file.url)\">\n                    <div style=\"width: 60%\">{{ file.name }}\n                      <small><br />{{ file.type }}</small>\n                    </div>\n                    <div class=\"icon-container\">\n                      <div v-if=\"editField && editField == 'feedback' && !loading\">\n                        <i class=\"fas fa-trash-alt\" @click.stop=\"removeFile(index)\" style=\"cursor: pointer; font-size: 16px; color: red;\"></i>\n                      </div>\n                    </div>\n                  </li>\n\n                </ul>\n                <center v-if=\"!activeSubmission || !activeSubmission.feedbackFiles\n                  || activeSubmission.feedbackFiles.length == 0\">\n                  No Feedback Files\n                </center>\n              </div>\n\n              <div class=\"mt-3\" v-if=\"isSubmittedAssignment && activeSubmission\">\n                <h6 style=\"margin: 0px;\">Feedback</h6>\n                <textarea v-if=\"currentEditableUserID == selectedStudentAssignment.user.id && editField == 'feedback'\"\n                  :class=\"'form-control feedback-textarea '\" v-model=\"activeSubmission.feedback\"\n                  :readonly=\"editField !== 'feedback'\" rows=\"4\"></textarea>\n                <input class=\"mb-3\"\n                  v-if=\"currentEditableUserID == selectedStudentAssignment.user.id && editField == 'feedback'\" type=\"file\"\n                  @change=\"uploadTrainerMarkedFiles($event)\" multiple /> \n                <div v-else class=\"form-control feedback-textarea\">\n                  {{ activeSubmission.feedback }}\n                </div>\n                <!-- Success Button (Submit) -->\n                <a class=\"btn btn-success\" style=\"border-radius:10px;\" @click=\"saveFeedback\"\n                  v-if=\"currentEditableUserID == selectedStudentAssignment.user.id && editField == 'feedback' && !loading\">\n                  Submit\n                </a>\n                <a class=\"btn btn-success\" style=\"border-radius:10px;\" disabled\n                  v-if=\"currentEditableUserID == selectedStudentAssignment.user.id && editField == 'feedback' && loading\">\n                  <i class=\"fa fa-spinner fa-spin\"></i> Submitting...\n                </a>\n\n                <!-- Danger Button (Cancel) -->\n                <a class=\"btn btn-danger\" style=\"border-radius:10px; margin-left:15px;\" @click=\"cancelEdit\"\n                  v-if=\"currentEditableUserID == selectedStudentAssignment.user.id && editField == 'feedback' && !loading\">\n                  Cancel\n                </a>\n\n\n                <div style=\" display: flex; text-align: right; justify-content:space-between\">\n                  <!-- <b-spinner small\n                  v-if=\"currentEditableUserID == selectedStudentAssignment.user.id && editField == 'feedback' && loading && !responseStatus\"\n                  class=\"loading-btn\"></b-spinner> -->\n\n                <!-- <h6 class=\"mt-2\" >\n                  <b-badge v-if=\"responseStatus\" style=\"backgroundColor: rgb(65, 65, 238)\" variant=\"info\">{{ responseStatus }}</b-badge>\n                </h6> -->\n\n                  <a role=\"button\" class=\"border-btn edit-btn\" @click=\"edit('feedback')\"\n                    v-if=\"!editField || editField != 'feedback' && !loading\">\n                    <i class=\"fas fa-pencil-alt edit-btn-icon me-2\"></i>Edit\n                  </a>\n                </div>\n\n                \n                \n              </div>\n            </b-card>\n          </b-tab>\n        </b-tabs>\n      </div>\n\n\n      <div class=\"mt-3\" v-if=\"totalMarks\">\n\n        <h6  style=\"margin: 0px;\">Marks &nbsp; \n          <i id=\"marks-info\" class=\"fas fa-info-circle\" \n          v-b-tooltip.hover.righttop=\"'Combined marks of all submissions'\"></i>\n        </h6>\n\n        <div @click.stop class=\"marks-div\">\n          <input v-if=\"currentEditableUserID == selectedStudentAssignment.user.id && editField == 'marks'\"\n            v-on:keyup.enter=\"saveMarks\" :class=\"'form-control score-box ' + (!validateMarks ? 'error' : '')\" min=\"0\"\n            :max=\"extraProperties.Marks\" v-model=\"updatedMarks\" type=\"number\" />\n          <input v-else class=\"form-control score-box\" @focus=\"$event.target.select()\" @click=\"edit('marks')\"\n            v-model=\"updatedMarks\" readonly type=\"number\" />\n          <a class=\"saveMarksBtn\" @click=\"saveMarks\"\n            v-if=\"currentEditableUserID == selectedStudentAssignment.user.id && editField == 'marks' && !loading\"><i\n              class=\"fa fa-check\"></i></a>\n          <a class=\"cancelMarksBtn\" @click=\"cancelEdit\"\n            v-if=\"currentEditableUserID == selectedStudentAssignment.user.id && editField == 'marks' && !loading\"><i\n              class=\"fa fa-times\"></i></a>\n          <b-spinner small\n            v-if=\"currentEditableUserID == selectedStudentAssignment.user.id && editField == 'marks' && loading\"\n            class=\"loading-btn\"></b-spinner>\n\n          <span class=\"total-marks\">/ {{ totalMarks }}</span>\n        </div>\n        <h6 class=\"mt-2\"\n          v-if=\"selectedStudentAssignment && (selectedStudentAssignment.isGraded || selectedStudentAssignment.marks)\">\n          <b-badge :variant=\"'success'\">Graded</b-badge> </h6>\n\n        <!-- <p class=\"text-danger mt-2\">Overall marking for the assignment </p> -->\n\n      </div>\n\n    </div>\n    <div :class=\"panelCollapsed ? 'col-md-12 ' : 'col-md-9 '+ 'full'\" style=\"overflow: hidden;height: 100%;\">\n\n\n\n      <!-- here on inframe we have to hide the iframe and display only\n      when loading file is false so iframe could be loaded \n      because v-if renders new one. it can only be done using computed property \n      and display none -->\n      <div class=\"viewerModel full\" v-if=\"activeFile\">\n\n        <div id=\"annotation-viewer\" class=\"annotation-viewer\"\n          v-if=\"activeFile.extension.toLowerCase() == 'pdf' && getPDFJSViewerUrl(activeFile.url)\">\n          <iframe id=\"pdfjsviewer\" class=\"google-docs iframe\" :src=\"getPDFJSViewerUrl(activeFile.url)\" frameborder=\"0\"\n            scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" role=\"document\" aria-label=\"PDF document\" title=\"PDF document\"\n            @load=\"onFileLoaded\"></iframe>\n          <div class=\"viewer-footer\">\n\n            <button class=\"done-button mx-3\"  @click=\"toggleFullscreen\">\n              <i :class=\"isFullscreen ? 'fas fa-compress-arrows-alt' : 'fas fa-expand-arrows-alt'\"></i>\n              <span style=\"margin-left: 8px;\" >{{ isFullscreen ? 'Exit Fullscreen' : 'Fullscreen' }}</span>\n            </button>\n\n           <div v-if=\"Object.keys(annotations).length > 0\" >\n            <button class=\"done-button\" @click=\"doneAnnotation\" :disabled=\"loading\">\n              <i v-if=\"!loading\" class=\"fas fa-check\"></i>\n              <b-spinner v-else small></b-spinner> \n              <span v-if=\"!loading\"> Done</span>\n              <span v-else> Uploading </span>\n            </button>\n\n            <button class=\"cancel-button\" @click=\"cancelAnnotation\" :disabled=\"loading\">\n              <i class=\"fas fa-times\"></i> Cancel\n            </button>\n\n            </div>\n\n\n            <button class=\"done-button\" v-else \n              @click.stop=\"annotateFile()\"> \n              <i class=\"fas fa-pencil-alt mx-1\"></i><span>Annotate</span>\n            </button>\n\n\n            \n          </div>\n        </div>\n\n        <iframe v-else-if=\"activeFile.extension.toLowerCase() == 'pdf'\" class=\"google-docs iframe\" :src=\"activeFile.url\"\n          frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" role=\"document\" aria-label=\"PDF document\"\n          title=\"PDF document\" @load=\"onFileLoaded\"></iframe>\n\n        <img style=\"width: 100%; height: 100%; object-fit: contain;\" v-else-if=\"activeFile.type.toLowerCase() == 'image'\"\n          :src=\"activeFile.url\" @load=\"onFileLoaded\" />\n\n        <video style=\"width: 100%; height: 100%;\" class=\"p-3\" autoplay controls\n          v-else-if=\"activeFile.type.toLowerCase() == 'video'\" :src=\"activeFile.url\" @load=\"onFileLoaded\" />\n\n        <iframe v-else-if=\"isAllowedFileFormat\" class=\"google-docs iframe\"\n          :src=\"'https://docs.google.com/viewer?url=' + encodeURI(activeFile.url) + '&embedded=true'\" frameborder=\"0\"\n          scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" role=\"document\" aria-label=\"PDF document\" title=\"PDF document\"\n          @load=\"onFileLoaded\"></iframe>\n        <div class=\"full no-file-support\" v-else>\n          <div class=\"inner\">\n            <h3>\n              {{ activeFile.name }}\n              <small><br />{{ activeFile.type.toLowerCase() == 'file' ? 'Unknown FormatFile':activeFile.type.toUpperCase()}}</small>\n            </h3>\n            <div style=\"text-align: -webkit-center;\">\n              <a class=\"step-btn download\" :href=\"activeFile.url\" download>\n                Download\n              </a>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div class=\"full no-file-support\" v-else>\n        <div class=\"inner\">\n          <h3>\n            No Assignment Submitted\n            <small><br /></small>\n          </h3>\n        </div>\n      </div>\n    </div>\n\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState } from 'vuex';\nimport Swal from \"sweetalert2\";\n\nexport default {\n  name: 'AssignmentDetail',\n  data() {\n    return {\n      panelCollapsed: false,\n      selectedStudentAssignmentIndex: -1,\n      selectedSubmissionIndex: 0,\n      activeFileIndex: 0,\n      loadingFile: false,\n      loading: false,\n      updatedMarks: 0,\n      currentEditableUserID: null,\n      editField: null,\n      feedbackText: '',\n      selectedStudentid: null,\n      annotations: {},\n      activeTabIndex: 0,\n      responseStatus: null,\n      isFullscreen: false,\n    }\n  },\n  props: {\n    contentData: Object,\n    assignmentResults: Array,\n    assignmentResult: Object\n  },\n  computed: {\n    ...mapState(\"appState\", [\"systemParameters\"]),\n\n    selectedStudentAssignment: function () {\n      if (this.assignmentResults && this.selectedStudentAssignmentIndex > -1\n        && this.assignmentResults.length > this.selectedStudentAssignmentIndex) {\n        const studentAssignment = this.assignmentResults[this.selectedStudentAssignmentIndex];\n        return studentAssignment;\n      }\n    },\n    submittedSubmissions: function () {\n      if (this.selectedStudentAssignment) {\n        let submissions = this.selectedStudentAssignment\n          && this.selectedStudentAssignment.submissions\n          && this.selectedStudentAssignment.submissions.length > 0 ?\n          this.selectedStudentAssignment.submissions : [];\n        return submissions;\n      }\n      return [];\n    },\n\n    isSubmittedAssignment() {\n      return this.selectedStudentAssignment.isSubmitAssignment;\n    },\n\n    activeSubmission() {\n      if (this.submittedSubmissions.length > this.selectedSubmissionIndex) {\n        return this.submittedSubmissions[this.selectedSubmissionIndex];\n      }\n    },\n\n    activeFile: function () {\n      if (\n        this.activeSubmission &&\n        this.activeSubmission.submittedFiles &&\n        this.activeSubmission.submittedFiles.length > 0 &&\n        this.activeFileIndex > -1\n      ) {\n        const file = this.activeSubmission.submittedFiles[this.activeFileIndex];\n        if (file && file.url) {\n\n          return {\n            ...file,\n            url: this.appendUniqueQueryParameter(file.url),\n          };\n        }\n      }\n      return null;\n    },\n    extraProperties() {\n      return this.contentData && this.contentData.extraProperties\n        && typeof (this.contentData.extraProperties) == 'string' ? JSON.parse(this.contentData.extraProperties) : this.contentData.extraProperties\n    },\n    totalMarks() {\n      return this.extraProperties && this.extraProperties.Marks ? this.extraProperties.Marks : null;\n    },\n    validateMarks() {\n      return this.updatedMarks &&\n        this.totalMarks && parseInt(this.totalMarks + \"\") >= parseInt(this.updatedMarks)\n    },\n    isAllowedFileFormat() {\n      const extension = this.activeFile.extension.toLowerCase();\n      return this.getAllowedFormats().includes(extension);\n    },\n    assignmentResultsWithIndex() {\n      if (this.assignmentResults) {\n        this.assignmentResults.forEach((x, ind, arr) => {\n          x.value = ind;\n          x.name = x.user.firstName + \" \" + x.user.lastName;\n        });\n      }\n      return this.assignmentResults;\n    },\n    panelStyle() {\n      return {\n        overflow: 'auto',\n        display: this.panelCollapsed ? 'none' : 'block',\n        borderRight: '1px solid lightgray',\n        paddingRight: '15px'\n      };\n    },\n  },\n  mounted() {\n    this.loadData()\n    window.addEventListener(\"message\", this.handleViewerEvents);\n  },\n  beforeDestroy() {\n    window.removeEventListener(\"message\", this.handleViewerEvents);\n  },\n\n  created() {\n    var assignment = this.assignmentResults.find(x => x.user.id == this.assignmentResult.user.id);\n    if (assignment) {\n      this.selectedStudentAssignmentIndex = this.assignmentResults.indexOf(assignment);\n\n      this.selectLastSubmission();\n    }\n  },\n  watch: {\n    activeSubmission: function () {\n      if (this.activeFile && this.isAllowedFileFormat) {\n        this.loadingFile = true;\n      }\n    },\n\n  },\n  methods: {\n    ...mapActions(\"assignment\", [\n      \"submitAssignmentResult\",\n      \"submitAssignmentFeedback\",\n    ]),\n    ...mapActions(\"content\", [\"uploadContentFile\"]),\n\n    loadData() {\n      this.updatedMarks = this.assignmentResult.marks;\n    },\n    parseDateTime(time) {\n      if (time)\n        return new Date(time).toDateString() + \" \" + new Date(time).toLocaleTimeString();\n\n      return \"\";\n    },\n    changeFile(fileIndex, force = false) {\n      if(Object.keys(this.annotations).length > 0){\n      this.showSwalConfirmation({\n        title: \"Discard Changes\",\n        message: \"Are you sure you want to proceed and discard chages?\",\n        confirmButtonText: 'OK',\n        onConfirm: () => {\n          this.selectFile(fileIndex, force);\n          const iframe = document.getElementById('pdfjsviewer');\n          if (iframe && iframe.contentWindow) {\n            iframe.contentWindow.postMessage({ eventName: 'cancelannotate' }, '*');\n          }\n        }\n      });\n    }\n    else {\n      this.selectFile(fileIndex, force);\n    }\n\n    },\n    selectFile(fileIndex, force = false) {\n      if (force || this.activeFileIndex != fileIndex) {\n        this.annotations = {};\n        this.activeFileIndex = fileIndex;\n        this.loadingFile = true;\n      }\n    },\n    openFile(fileUrl) {\n      if (fileUrl) {\n        window.open(fileUrl, '_blank');\n      }\n    },\n    onFileLoaded(e) {\n      this.loadingFile = false;\n    },\n    getAllowedFormats() {\n      return ['docx', 'doc', 'ppt', 'pptx', 'csv', 'xls', 'xlsx']\n    },\n    selectLastSubmission() {\n      if (this.submittedSubmissions && this.submittedSubmissions.length > 0) {\n        this.selectedSubmissionIndex = this.submittedSubmissions.length - 1;\n      }\n    },\n    next() {\n      if (this.selectedStudentAssignmentIndex < this.assignmentResults.length) {\n        this.selectedStudentAssignmentIndex++;\n        this.updatedMarks = this.selectedStudentAssignment.marks || \"0\";\n        this.selectLastSubmission();\n      }\n    },\n    previous() {\n      if (this.selectedStudentAssignmentIndex > 0) {\n        this.selectedStudentAssignmentIndex--;\n        this.updatedMarks = this.selectedStudentAssignment.marks || \"0\";\n\n        this.selectLastSubmission();\n      }\n    },\n\n    nextSubmission() {\n      if (this.selectedSubmissionIndex < this.submittedSubmissions.length - 1) {\n        this.selectedSubmissionIndex++;\n      }\n    },\n    previousSubmission() {\n      if (this.selectedSubmissionIndex > 0) {\n        this.selectedSubmissionIndex--;\n      }\n    },\n\n    edit(key) {\n      this.currentEditableUserID = this.selectedStudentAssignment.user.id;\n      this.editField = key;\n\n      if (key === \"marks\") {\n        this.updatedMarks = this.selectedStudentAssignment.marks || 0;\n      }\n      else if (key === \"feedback\") {\n        this.feedbackText = this.activeSubmission.feedback || \"\";\n      }\n    },\n    cancelEdit() {\n      this.currentEditableUserID = null;\n\n      if (this.editField === \"marks\") {\n        this.updatedMarks = this.selectedStudentAssignment.marks || null;\n      }\n      else if (this.editField === \"feedback\") {\n        this.feedbackText = this.activeSubmission.feedback || \"\";\n      }\n\n      this.editField = null;\n    },\n\n    appendUniqueQueryParameter(url) {\n      const separator = url.includes('?') ? '&' : '?';\n      const uniqueParam = `var=${Math.random()}`;\n      return url + separator + uniqueParam;\n    },\n    saveMarks() {\n      if (this.currentEditableUserID && this.editField == 'marks' && this.validateMarks) {\n        var updatedResult = {\n          ContentId: this.contentData.id,\n          UserId: this.currentEditableUserID,\n          Marks: parseInt(this.updatedMarks)\n        }\n\n        this.loading = true;\n        this.submitAssignmentResult(updatedResult).then((submittedAssignmentResult) => {\n\n          if (submittedAssignmentResult) {\n            this.selectedStudentAssignment.marks = submittedAssignmentResult.marks;\n            this.currentEditableUserID = null;\n            this.editField = null;\n          }\n\n          this.loading = false;\n        });\n      }\n    },\n\n    getFileNameWithoutExtension(filename) {\n      const fileName = filename.split('.')[0];\n      return fileName;\n    },\n\n    getFileType(filename) {\n      const fileType = filename.split('.')[1];\n      return fileType;\n    },\n\n    async uploadTrainerMarkedFiles(event) {\n      this.loading = true;\n      if (event.target.files) {\n        let files = event.target.files;\n\n        if (files && files.length > 0) {\n          for (let i = 0; i < files.length; i++) {\n            let file = files[i];\n\n            let formData = new FormData();\n            formData.append('Type', file.type);\n            formData.append('Entity', 'content/assignment');\n            formData.append('File', file, file.name);\n            formData.append('IsCompressionRequired', 'false');\n\n            await this.uploadContentFile(formData).then((res) => {\n              if (res) {\n                this.activeSubmission.feedbackFiles.push(\n                  {\n                    name: this.getFileNameWithoutExtension(file.name),\n                    url: res,\n                    type: this.getFileType(file.name).toUpperCase(),\n                    extension: this.getFileType(file.name).toLowerCase(),\n                  }\n                );\n              }\n            });\n          }\n\n          this.loading = false;\n        }\n      }\n    },\n\n    removeFile(index) {\n      this.activeSubmission.feedbackFiles.splice(index, 1);\n      console.log({ feedbackFiles: this.activeSubmission.feedbackFiles });\n\n      let selectedStudentIndex = this.selectedStudentAssignmentIndex;\n      this.selectedStudentAssignmentIndex= -1;\n      this.selectedStudentAssignmentIndex = selectedStudentIndex;\n    },\n\n    saveFeedback() {\n      this.activeSubmission.feedback = !(this.activeSubmission.feedback === null || this.activeSubmission.feedback.trim() === '')\n      ? this.activeSubmission.feedback : 'Review your submission feedback';\n \n      var assignmentFeedback = {\n        ContentId: this.contentData.id,\n        UserId: this.selectedStudentAssignment.user.id,\n        submissionId: this.activeSubmission.id,\n        feedback: this.activeSubmission.feedback,\n        feedbackFiles: this.activeSubmission.feedbackFiles ? this.activeSubmission.feedbackFiles : []\n      };\n\n      this.loading = true;\n\n      this.submitAssignmentFeedback(assignmentFeedback)\n        .then((submittedAssignmentResult) => {\n\n          if (submittedAssignmentResult) {\n            this.currentEditableUserID = null;\n            this.editField = null\n          }\n\n          this.loading = false;\n        });\n      // }\n\n    },\n\n    getPDFJSViewerUrl(url) {\n      const baseUrl = this.systemParameters && this.systemParameters.PDFAnnotatorUrl\n      if (!baseUrl) return null;\n      const isAnnotating = this.activeFile && this.activeFile.url ? this.annotations[this.activeFile.url] == true : false;\n\n      return `${baseUrl}?pdfUrl=${encodeURIComponent(url)}&&isAnnotating=${isAnnotating}`;\n    },\n\n    handleViewerEvents(event) {\n      const { data, eventName } = event.data;\n\n      if (eventName == 'annotatedFile') {\n        this.handleAnnotatedFile(data);\n      }\n\n    },\n\n    handleAnnotatedFile({ fileData, fileName }) {\n      const name = `feedback-${this.activeFile.name}.pdf`;\n      const blob = new Blob([fileData], { type: \"application/pdf\" });\n      const file = new File([blob], name, { type: \"application/pdf\" });\n\n      let formData = new FormData();\n      formData.append('Type', file.type);\n      formData.append('Entity', 'content/assignment');\n      formData.append('File', file, file.name);\n      formData.append('IsCompressionRequired', 'false');\n\n      this.loading = true;\n      this.responseStatus = 'Uploading'\n      this.uploadContentFile(formData).then((res) => {\n        if (res) {\n          this.activeSubmission.feedbackFiles.push(\n            {\n              name: this.getFileNameWithoutExtension(file.name),\n              url: res,\n              type: this.getFileType(file.name).toUpperCase(),\n              extension: this.getFileType(file.name).toLowerCase(),\n            }\n          );\n          this.responseStatus = null;\n          this.selectFile(this.activeFileIndex, true)\n\n        }\n        this.saveFeedback()\n        // this.loading = false;\n      });\n    },\n\n    async annotateFile() {\n\n      await setTimeout(() => {\n        let annotations = {};\n        this.annotations = {}\n        annotations['url'] = true\n        this.annotations = annotations;\n\n        const iframe = document.getElementById('pdfjsviewer');\n\n        // Ensure the iframe exists and is loaded\n        if (iframe && iframe.contentWindow) {\n          // Send a message to the iframe\n          iframe.contentWindow.postMessage({\n            eventName: 'annotate',\n          }, '*');\n        }\n      }, 400);\n\n    },\n\n    showSwalConfirmation({\n      title = \"Are you sure?\",\n      message = \"Do you want to proceed?\",\n      confirmButtonText = \"Yes, Submit\",\n      cancelButtonText = \"Cancel\",\n      onConfirm = () => { },\n      onCancel = () => { }\n    }) {\n      const swalOptions = {\n        title: title,\n        text: message,\n        icon: \"warning\",\n        showCancelButton: true,\n        cancelButtonText: cancelButtonText,\n        cancelButtonColor: \"#D3D3D3\",\n        confirmButtonColor: \"#3085d6\",\n        confirmButtonText: confirmButtonText,\n        allowOutsideClick: true,\n        allowEscapeKey: true,\n      };\n\n      Swal.fire(swalOptions).then((result) => {\n        if (result.isConfirmed) {\n          onConfirm();\n        } else if (result.dismiss === Swal.DismissReason.cancel) {\n          onCancel();\n        }\n      });\n    },\n\n\n\n    doneAnnotation() {\n      if(this.isFullscreen) this.toggleFullscreen()\n\n      this.showSwalConfirmation({\n        title: \"Confirm Feedback Submission\",\n        message: \"Are you sure you want to submit the feedback file?\",\n        onConfirm: () => {\n          this.switchToFeedbackTab()\n          this.loading = true;\n\n          const iframe = document.getElementById('pdfjsviewer');\n          if (iframe && iframe.contentWindow) {\n            iframe.contentWindow.postMessage({ eventName: 'doneannotate' }, '*');\n          }\n        }\n      });\n\n    },\n\n    cancelAnnotation() {\n      if(this.isFullscreen) this.toggleFullscreen()\n\n      this.showSwalConfirmation({\n        title: \"Cancel Editing\",\n        message: \"Are you sure you want to cancel editing? Unsaved changes will be lost.\",\n        confirmButtonText: \"Yes, Cancel\",\n        onConfirm: () => {\n          this.annotations = {};\n          const iframe = document.getElementById('pdfjsviewer');\n\n          if (iframe && iframe.contentWindow) {\n            iframe.contentWindow.postMessage({ eventName: 'cancelannotate' }, '*');\n          }\n\n          // to reload the file\n          let currentIndex = this.activeFileIndex;\n          this.activeFileIndex = -1;\n          this.selectFile(currentIndex, true)\n        }\n      });\n    },\n\n    switchToSubmissionTab() {\n      this.activeTabIndex = 0; // Switch to the \"Submission\" tab\n    },\n    switchToFeedbackTab() {\n      this.activeTabIndex = 1; // Switch to the \"Feedback\" tab\n    },\n\n    toggleFullscreen() {\n      const element = document.getElementById('annotation-viewer');\n\n      if (!document.fullscreenElement) {\n        // Request fullscreen mode\n        if (element.requestFullscreen) {\n          element.requestFullscreen();\n        } else if (element.mozRequestFullScreen) { // Firefox\n          element.mozRequestFullScreen();\n        } else if (element.webkitRequestFullscreen) { // Chrome, Safari and Opera\n          element.webkitRequestFullscreen();\n        } else if (element.msRequestFullscreen) { // IE/Edge\n          element.msRequestFullscreen();\n        }\n\n        this.isFullscreen = true; // Update state\n      } else {\n        // Exit fullscreen mode\n        if (document.exitFullscreen) {\n          document.exitFullscreen();\n        } else if (document.mozCancelFullScreen) { // Firefox\n          document.mozCancelFullScreen();\n        } else if (document.webkitExitFullscreen) { // Chrome, Safari and Opera\n          document.webkitExitFullscreen();\n        } else if (document.msExitFullscreen) { // IE/Edge\n          document.msExitFullscreen();\n        }\n\n        this.isFullscreen = false; // Update state\n      }\n    }\n\n  },\n\n\n}\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n.back-btn {\n  text-transform: capitalize;\n  text-decoration: underline;\n  font-size: small;\n\n\n}\n\n.user-image {\n  object-fit: cover;\n}\n\n.top-side-div {\n  display: flex;\n  align-items: center;\n}\n\ndiv.full {\n  height: 100%;\n}\n\n.top-side-div .icon-btn {\n  font-size: xx-large;\n  margin-left: 10px;\n  color: #6c757d;\n}\n\n.top-side-div .icon-btn.first {\n  margin-left: 0px;\n  margin-right: 10px;\n}\n\n.submited-files {\n  margin-left: 0px;\n  padding-left: 0px;\n}\n\n.submited-files li {\n  border: 0.2px solid whitesmoke;\n  list-style: none;\n  font-size: smaller;\n  padding: 5px;\n  border-radius: 5px;\n  margin-bottom: 5px;\n  padding-left: 10px;\n  background-color: #f1f1f1;\n  text-overflow: ellipsis;\n  /* text-wrap: nowrap; */\n  line-height: 10px;\n  overflow: hidden;\n  cursor: pointer;\n}\n\n.submited-files li small {\n  font-size: xx-small;\n  color: var(--primary-color);\n}\n\n.submited-files li:hover {\n  border: 0.2px solid var(--primary-color);\n  background-color: #fbfbfb;\n}\n\n.submited-files li:active {\n  border: 0.2px solid var(--primary-color);\n  background-color: #fbfbfb;\n}\n\n.submited-files li.active {\n  border: 0.2px solid var(--primary-color);\n  background-color: #fbfbfb;\n}\n\n.late-submitted-status {\n  font-size: 10px;\n  border-radius: 4px;\n  line-height: 2px;\n  padding: 5px;\n}\n\n.feedback-textarea {\n  background-color: white;\n}\n\n.score-box {\n  height: 30px;\n  width: 50px;\n  font-size: 24px;\n  margin: 0px;\n  margin-right: 10px;\n  background-color: white;\n}\n\n.score-box:disabled {\n  cursor: pointer;\n}\n\n.saveMarksBtn {\n  margin-left: 10px;\n  margin-top: 2px;\n  font-size: large;\n  color: rgb(var(--bs-success-rgb));\n}\n\n.cancelMarksBtn {\n  margin-left: 10px;\n  margin-top: 2px;\n  font-size: large;\n  color: rgb(var(--bs-danger-rgb));\n}\n\n.marks-div {\n  display: flex;\n  place-content: start;\n  text-align: center;\n}\n\n.google-docs.iframe {\n  width: 100%;\n  height: 100%;\n}\n\n.no-file-support {\n  position: relative;\n}\n\n.no-file-support .inner {\n  margin: 0;\n  position: absolute;\n  top: 50%;\n  -ms-transform: translateY(-50%);\n  transform: translateY(-50%);\n  text-align: center;\n  width: 100%;\n}\n\n\n.no-file-support .inner h3 {\n  text-align: center;\n}\n\n.step-btn.download {\n  background-color: var(--primary-color);\n  color: white;\n  width: 100px;\n}\n\n.loading-indicator {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  position: absolute;\n  z-index: 9999;\n  margin-top: 250px;\n  margin-left: 250px;\n  margin-right: auto;\n}\n\n\n@keyframes spin {\n  0% {\n    transform: rotate(0deg);\n  }\n\n  100% {\n    transform: rotate(360deg);\n  }\n}\n\n/* New Styles */\n.arrow-icon {\n  height: 20px;\n  width: 20px;\n  color: #000;\n  font-weight: 400;\n}\n\n\n.total-marks {\n  font-size: 17px;\n  color: #000;\n  font-weight: 600;\n  margin-top: 2.5px;\n  margin-left: 5px;\n}\n\n.top-side-div .username-box {\n  overflow: hidden;\n  width: 82%;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  text-wrap: nowrap;\n}\n\n.feedback-box {\n  background-color: #f7f7f7 !important;\n}\n\n.badge.badge-success {\n  background: green;\n}\n</style>\n<style>\n.top-side-div .vs__actions {\n  display: none;\n}\n\n.top-side-div .vs__selected {\n  margin: 0px;\n  padding: 0px;\n  z-index: 999;\n}\n\n.top-side-div .vs__search {\n  position: absolute;\n  z-index: 0;\n\n}\n\n.top-side-div .vs--open .vs__search {\n  position: relative !important;\n\n}\n\n.feedback-textarea:read-only {\n  cursor: text;\n  background-color: whitesmoke;\n}\n\n.feedback-textarea {\n  background-color: white;\n\n}\n\n.score-box:read-only {\n  cursor: text;\n}\n\n\n\n.submitted-files .icon-container {\n  display: flex;\n  align-items: center;\n  position: absolute;\n  right: 10px;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n/* .submitted-files i {\n  transition: color 0.2s, transform 0.2s;\n}\n\n.submitted-files i:hover {\n  transform: scale(1.2);\n}\n\n.submitted-files small {\n  color: #666;\n}\n\n.submitted-files .fa-pencil-alt {\n  color: #888;\n}\n\n.submitted-files .fa-check {\n  color: #28a745;\n} */\n\n/* Viewer */\n.annotation-viewer {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n  position: relative;\n}\n\niframe.google-docs {\n  flex: 1;\n  width: 100%;\n}\n\n.viewer-footer {\n  display: flex;\n  justify-content: flex-end;\n  padding: 10px;\n  background-color: #f8f9fa;\n  border-top: 1px solid #dee2e6;\n}\n\n.viewer-footer .btn {\n  margin-left: 10px;\n  font-size: 14px;\n  display: flex;\n  align-items: center;\n}\n\n.viewer-footer .btn i {\n  margin-right: 5px;\n}\n\n.collapse-btn{\n  margin-left:20px;\n  background: black;\n  box-sizing: border-box;\n  border-radius: 8px;\n  padding: 0.275rem;\n  filter: drop-shadow(3px 5px 6px rgba(197, 197, 197, 0.3));\n  text-decoration: none;\n  color: white;\n\n}\n\n.done-button {\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  border-radius: 8px;\n  padding: 0.475rem;\n  filter: drop-shadow(3px 5px 6px rgba(197, 197, 197, 0.3));\n  text-decoration: none;\n  color: #000000;\n}\n\n.done-button:hover {\n  background: var(--primary-color);\n  border: 1px solid black;\n  color: #ffffff;\n}\n\n.cancel-button {\n  background: transparent;\n  border: none;\n  box-sizing: border-box;\n  border-radius: 6px;\n  padding: 0.475rem;\n  text-decoration: none;\n  margin-left: 10px;\n  color: #000000;\n}</style>","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AssignmentDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AssignmentDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AssignmentDetail.vue?vue&type=template&id=484f7017&scoped=true&\"\nimport script from \"./AssignmentDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./AssignmentDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AssignmentDetail.vue?vue&type=style&index=0&id=484f7017&prod&scoped=true&lang=css&\"\nimport style1 from \"./AssignmentDetail.vue?vue&type=style&index=1&id=484f7017&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"484f7017\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.tabData)?_c('div',{staticClass:\"tab-body-container pb-5\"},[(_vm.tabData.children && _vm.tabData.children.length > 0)?_c('div',{staticClass:\"content-list\"},[_c('div',{staticClass:\"d-flex mb-3 justify-content-end\"},[(!_vm.isChapterSelectable)?_c('button',{staticClass:\"add-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.makeBulkChapterSelectable}},[_vm._v(\" Select CHAPTERs/SECTIONs \")]):_vm._e(),(_vm.isChapterSelectable)?_c('button',{staticClass:\"right-menu-icon me-2\",attrs:{\"title\":\"Cancel Select\",\"role\":\"button\"},on:{\"click\":_vm.makeBulkChapterUnselectable}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})]):_vm._e(),(_vm.isChapterSelectable)?_c('button',{staticClass:\"right-menu-icon me-3\",staticStyle:{\"display\":\"inline-block\"},attrs:{\"title\":\"Copy Selected\",\"role\":\"button\",\"disabled\":!_vm.copiedSection || _vm.copiedSection.length <= 0},on:{\"click\":_vm.selectedChapters}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]):_vm._e()]),_c('draggable',{attrs:{\"ghost-class\":\"ghost\",\"group\":\"content-tab\",\"animation\":\"200\",\"handle\":\".chapter-handle\"},on:{\"change\":function($event){return _vm.update($event, _vm.tabData.id)}},model:{value:(_vm.tabData.children),callback:function ($$v) {_vm.$set(_vm.tabData, \"children\", $$v)},expression:\"tabData.children\"}},_vm._l((_vm.tabData.children),function(content){return _c('CourseContentSection',{key:content.id,attrs:{\"contentData\":content,\"tabData\":_vm.tabData,\"productVariantId\":_vm.productVariantData.id}})}),1),(_vm.mode == 'view')?_c('button',{staticClass:\"add-section-btn\",attrs:{\"id\":\"add-section-btn\"},on:{\"click\":function($event){return _vm.changeMode()}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/plus-icon-gray.svg\")}}),_vm._v(\" Add Section \")]):_vm._e()],1):_vm._e(),(\n\t\t\t\t(_vm.tabData.children == null || _vm.tabData.children.length == 0) &&\n\t\t\t\t_vm.mode == 'view'\n\t\t\t)?_c('div',{staticClass:\"no-content\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\" Start Creating your course by adding the first section \")]),_c('img',{attrs:{\"src\":require(\"@/assets/images/no-content-icon.svg\")}}),_c('button',{staticClass:\"create-section\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.changeMode()}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\"),\"alt\":\"\"}}),_vm._v(\" start sections \")])]):_vm._e(),(_vm.mode == 'create')?_c('CourseContentSection',{attrs:{\"createMode\":true,\"aria-describedby\":\"new\",\"tabData\":_vm.tabData,\"productVariantId\":_vm.productVariantData.id},on:{\"cancelCreate\":_vm.changeMode}}):_vm._e()],1):(_vm.isBlocked)?_c('div',{staticClass:\"blocked-content no-content\"},[_c('i',{staticClass:\"fas fa-exclamation-triangle blocked-icon\"}),_vm._v(\" You are not allowed to access this subject \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div v-if=\"tabData\" class=\"tab-body-container pb-5\">\n\t\t\t<div\n\t\t\t\tv-if=\"tabData.children && tabData.children.length > 0\"\n\t\t\t\tclass=\"content-list\"\n\t\t\t>\n\t\t\t\t<div class=\"d-flex mb-3 justify-content-end\">\n\t\t\t\t\t<!-- <b-dropdown id=\"dropdown-1\" text=\"Action\" class=\"m-md-2\" v-if=\"!isChapterSelectable\">\n\t\t\t\t\t\t<b-dropdown-item @click=\"makeChapterSelectable\">Select CHAPTERs/SECTIONs</b-dropdown-item>\n\t\t\t\t\t</b-dropdown> -->\n\t\t\t\t\t<!-- <button @click=\"makeChapterSelectable\" v-if=\"isChapterSelectable\">Cancel</button> -->\n\t\t\t\t\t<button class=\"add-btn\" role=\"button\" @click=\"makeBulkChapterSelectable\" v-if=\"!isChapterSelectable\">\n\t\t\t\t\t\tSelect CHAPTERs/SECTIONs\n\t\t\t\t\t</button>\n\n\t\t\t\t\t<button\n\t\t\t\t\t\tv-if=\"isChapterSelectable\"\n\t\t\t\t\t\ttitle=\"Cancel Select\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\"right-menu-icon me-2\"\n\t\t\t\t\t\t@click=\"makeBulkChapterUnselectable\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\" />\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\tv-if=\"isChapterSelectable\"\n\t\t\t\t\t\ttitle=\"Copy Selected\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\"right-menu-icon me-3\"\n\t\t\t\t\t\t@click=\"selectedChapters\" \n\t\t\t\t\t\t:disabled=\"!copiedSection || copiedSection.length <= 0\"\n\t\t\t\t\t\tstyle=\"display: inline-block;\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\" />\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\n\t\t\t\t<draggable\n\t\t\t\t\tv-model=\"tabData.children\"\n\t\t\t\t\tghost-class=\"ghost\"\n\t\t\t\t\tgroup=\"content-tab\"\n\t\t\t\t\tanimation=\"200\"\n\t\t\t\t\thandle=\".chapter-handle\"\n\t\t\t\t\t@change=\"update($event, tabData.id)\"\n\t\t\t\t>\n\t\t\t\t\t<CourseContentSection\n\t\t\t\t\t\tv-for=\"content in tabData.children\"\n\t\t\t\t\t\t:key=\"content.id\"\n\t\t\t\t\t\t:contentData=\"content\"\n\t\t\t\t\t\t:tabData=\"tabData\"\n\t\t\t\t\t\t:productVariantId=\"productVariantData.id\"\n\t\t\t\t\t/>\n\t\t\t\t</draggable>\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"mode == 'view'\"\n\t\t\t\t\t@click=\"changeMode()\"\n\t\t\t\t\tclass=\"add-section-btn\"\n\t\t\t\t\tid=\"add-section-btn\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/plus-icon-gray.svg\" />\n\t\t\t\t\tAdd Section\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tv-if=\"\n\t\t\t\t\t(tabData.children == null || tabData.children.length == 0) &&\n\t\t\t\t\tmode == 'view'\n\t\t\t\t\"\n\t\t\t\tclass=\"no-content\"\n\t\t\t>\n\t\t\t\t<h1 class=\"title\">\n\t\t\t\t\tStart Creating your course by adding the first section\n\t\t\t\t</h1>\n\t\t\t\t<img src=\"@/assets/images/no-content-icon.svg\" />\n\t\t\t\t<button @click=\"changeMode()\" class=\"create-section\" role=\"button\">\n\t\t\t\t\t<img src=\"@/assets/images/add-border-icon.svg\" alt=\"\" />\n\t\t\t\t\tstart sections\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<CourseContentSection\n\t\t\t\tv-if=\"mode == 'create'\"\n\t\t\t\t:createMode=\"true\"\n\t\t\t\taria-describedby=\"new\"\n\t\t\t\t@cancelCreate=\"changeMode\"\n\t\t\t\t:tabData=\"tabData\"\n\t\t\t\t:productVariantId=\"productVariantData.id\"\n\t\t\t/>\n\t\t</div>\n\t\t<div v-else-if=\"isBlocked\" class=\"blocked-content no-content\">\n\t\t\t<i class=\"fas fa-exclamation-triangle blocked-icon\"></i>\n\t\t\tYou are not allowed to access this subject\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport CourseContentSection from \"./CourseContentSection.vue\";\nimport draggable from \"vuedraggable\";\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"ContentTabBody\",\n\tdata() {\n\t\treturn {\n\t\t\tmode: \"view\",\n\t\t};\n\t},\n\tcomponents: {\n\t\tCourseContentSection,\n\t\tdraggable,\n\t},\n\tprops: {\n\t\ttabData: Object,\n\t\tproductVariantData: Object,\n\t\tisBlocked: Boolean,\n\t\tactiveTab: String,\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"editContentSequence\", \"copyContent\", \"makeBulkChapterUnselectable\", \"makeBulkChapterSelectable\", \"selectedChapters\"]),\n\t\tchangeMode(mode) {\n\t\t\tif (mode) {\n\t\t\t\tthis.mode = mode;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.mode = \"create\";\n\t\t\tsetTimeout(() => {\n\t\t\t\tdocument.getElementById(\"content-title\").focus();\n\t\t\t\tdocument\n\t\t\t\t\t.getElementById(\"content-title\")\n\t\t\t\t\t.parentNode.parentNode.parentNode.scrollIntoView({\n\t\t\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t\t});\n\t\t\t}, 200);\n\t\t},\n\t\tupdate(e, parent) {\n\t\t\tconsole.log(e, parent);\n\t\t\tvar contentObj = {};\n\t\t\tvar contentID;\n\t\t\tvar afterContentID;\n\t\t\tif (e.added) {\n\t\t\t\tif (e.added.newIndex != 0) {\n\t\t\t\t\tafterContentID = this.tabData.children[e.added.newIndex - 1].id;\n\t\t\t\t\tcontentObj.afterContentID = afterContentID;\n\t\t\t\t}\n\t\t\t\tcontentObj = { ...contentObj, parentContentID: parent };\n\t\t\t\tcontentID = e.added.element.id;\n\t\t\t}\n\t\t\tif (e.moved) {\n\t\t\t\tif (e.moved.newIndex != 0) {\n\t\t\t\t\tafterContentID = this.tabData.children[e.moved.newIndex - 1].id;\n\t\t\t\t\tcontentObj.afterContentID = afterContentID;\n\t\t\t\t}\n\t\t\t\tcontentObj = { ...contentObj, parentContentID: parent };\n\t\t\t\tcontentID = e.moved.element.id;\n\t\t\t}\n\t\t\tif (!e.removed) {\n\t\t\t\tthis.editContentSequence({ content: contentObj, id: contentID }).then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tconsole.log(\"editContentSequence content\", contentObj);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tpasteContent() {\n\t\t\tfor(let i=0; i<this.copiedSection.length; i++) {\n\t\t\t\tvar copyContentObject = {\n\t\t\t\t\tcontent: this.copiedSection[i],\n\t\t\t\t\tdestinationContentID: this.tabData.id,\n\t\t\t\t};\n\t\t\t\tthis.copyContent(copyContentObject).then(() => {\n\t\t\t\t\tdocument.getElementById(\"add-section-btn\").focus();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"content\", \"copiedSection\", \"isChapterSelectable\"]),\n\t\t// ...mapState(\"content\", [\"copiedSection\"]),\n\t},\n\tmounted() {\n\t\t$(() => {\n\t\t\t$(\".page-content-container\").contextMenu({\n\t\t\t\tselector: `.col-9.tab-body#${this.activeTab}`,\n\t\t\t\tcallback: (key, options) => {\n\t\t\t\t\tif (key == \"paste\") {\n\t\t\t\t\t\tthis.pasteContent();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\titems: {\n\t\t\t\t\tpaste: {\n\t\t\t\t\t\tname: \"Paste copied Chapter/Section\",\n\t\t\t\t\t\ticon: \"paste\",\n\t\t\t\t\t\tdisabled: () => !this.copiedSection || this.copiedSection.length <= 0,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t},\n};\n</script>\n\n<style scoped>\n.right-menu-icon {\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n\tcolor: #000000;\n\ttext-decoration: none;\n}\n\n.right-menu-icon img {\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n.no-content {\n\tpadding: 4.25rem 0;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-direction: column;\n\trow-gap: 4rem;\n}\n\n.no-content .title {\n\tfont-weight: 450;\n\tfont-size: 2rem;\n\tline-height: 0.75;\n\ttext-align: center;\n\tcolor: #000000;\n}\n\n.no-content img {\n\twidth: 13.625rem;\n\theight: 13.625rem;\n}\n\n.no-content .create-section {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.875rem 1.125rem;\n\tfont-size: 1.125rem;\n\tline-height: 1.37;\n\tletter-spacing: 0.05em;\n\ttext-transform: uppercase;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 0.75rem;\n\tcolor: #000000;\n}\n\n.no-content .create-section img {\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n\n.add-section-btn {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 0.5rem;\n\talign-items: center;\n\tcolor: #838383;\n\tfont-size: 1.125rem;\n}\n\n.blocked-content {\n\tcolor: #838383;\n\tfont-size: 1.5rem;\n\trow-gap: 2rem;\n\tfont-weight: 500;\n}\n\n.blocked-icon {\n\tfont-size: 8rem;\n}\n\n.settings-menu-right {\n\tposition: relative;\n    height: 50px;\n    text-align: right;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ContentTabBody.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ContentTabBody.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContentTabBody.vue?vue&type=template&id=145e67a7&scoped=true&\"\nimport script from \"./ContentTabBody.vue?vue&type=script&lang=js&\"\nexport * from \"./ContentTabBody.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContentTabBody.vue?vue&type=style&index=0&id=145e67a7&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"145e67a7\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.productVariantData)?_c('div',[_c('div',{staticClass:\"course-content-tabs\"},[_c('ul',{staticClass:\"inline-list\"},[(_vm.filteredProductVariantItems)?_c('draggable',{staticClass:\"content-items\",attrs:{\"ghost-class\":\"ghost\",\"group\":\"content\",\"animation\":\"200\"},on:{\"start\":function($event){_vm.drag = true},\"end\":function($event){_vm.drag = false},\"change\":function($event){return _vm.update($event, _vm.productVariantData.id)}},model:{value:(_vm.filteredProductVariantItems),callback:function ($$v) {_vm.filteredProductVariantItems=$$v},expression:\"filteredProductVariantItems\"}},[_vm._l((_vm.filteredProductVariantItems),function(item){return _c('CourseContentTab',{key:item.id,attrs:{\"item\":item,\"activeTab\":_vm.activeTab,\"productVariantID\":_vm.productVariantId},on:{\"changeTab\":_vm.changeTab,\"updateActiveTab\":_vm.setActiveTab}})}),(_vm.mode == 'view' && _vm.showAddSubject)?_c('li',{staticClass:\"content-tab\",on:{\"click\":function($event){return _vm.changeMode('create')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/plus-icon-gray.svg\"),\"alt\":\"\"}}),_vm._v(\" Add Subject \")]):(_vm.mode != 'view')?_c('form',{on:{\"submit\":_vm.createDirectory}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"name\":\"newTab\",\"id\":\"newTab\",\"placeholder\":\"Type Subject title\"},domProps:{\"value\":(_vm.title)},on:{\"blur\":function($event){return _vm.changeMode('view')},\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.changeMode('view')},\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}}),(_vm.loading)?_c('b-spinner',{staticClass:\"content-loader\",attrs:{\"small\":\"\"}}):_vm._e(),(!_vm.loading)?_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"submit\"},on:{\"click\":_vm.createDirectory}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]):_vm._e(),(!_vm.loading)?_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.changeMode('view')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})]):_vm._e()],1):_vm._e()],2):_vm._e()],1)]),_c('div',{staticClass:\"page-content-container\"},[_c('div',{staticClass:\"col-9 tab-body\",attrs:{\"id\":_vm.activeTab}},[_vm._l((_vm.productVariantData.productVariantItems),function(tabBody){return _c('div',{key:tabBody.id,class:[\n            'course-content-body',\n            { 'tab-hidden': _vm.activeTab != tabBody.id } ]},[(_vm.tabLoaded && _vm.activeTab == tabBody.id)?_c('ContentTabBody',{attrs:{\"tabData\":_vm.tabData,\"productVariantData\":_vm.productVariantData,\"isBlocked\":_vm.isBlocked,\"activeTab\":_vm.activeTab}}):_vm._e(),(!_vm.tabLoaded && _vm.loading)?_c('div',[_c('b-skeleton',{staticClass:\"mb-4\",attrs:{\"height\":\"12rem\"}}),_c('b-skeleton',{staticClass:\"mb-4\",attrs:{\"height\":\"12rem\"}}),_c('b-skeleton',{staticClass:\"mb-4\",attrs:{\"height\":\"12rem\"}})],1):_vm._e()],1)}),(\n            _vm.productVariantData.productVariantItems &&\n            _vm.productVariantData.productVariantItems.length == 0 &&\n            _vm.mode == 'view'\n          )?_c('div',{staticClass:\"no-content\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\" Start creating your Course by adding the first Subject \")]),_c('img',{attrs:{\"src\":require(\"@/assets/images/no-content-icon.svg\")}}),_c('button',{staticClass:\"create-section\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.changeMode('create')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\"),\"alt\":\"\"}}),_vm._v(\" add subjects \")])]):_vm._e()],2),_c('div',{staticClass:\"col-3 position-relative\"},[_c('div',{staticClass:\"info-card general-info\"},[_c('h5',{staticClass:\"title\"},[_vm._v(\"general information\")]),_c('div',{staticClass:\"info-list\"},[_c('div',{staticClass:\"info-item\"},[_c('span',{staticClass:\"info-label\"},[_vm._v(\"Batch ID\")]),_c('span',{staticClass:\"info-value\"},[_vm._v(\" \"+_vm._s(_vm.productVariantData.id)+\" \")])]),_c('div',{staticClass:\"info-item\"},[_c('span',{staticClass:\"info-label\"},[_vm._v(\"Status\")]),_c('span',{staticClass:\"info-value status-value\"},[_vm._m(0),_vm._v(\" \"+_vm._s(_vm.productVariantData.status))])]),_c('div',{staticClass:\"info-item\"},[_c('span',{staticClass:\"info-label\"},[_vm._v(\"Start Date\")]),_c('span',{staticClass:\"info-value\"},[_vm._v(_vm._s(this.productVariantData.startDate ? new Date(this.productVariantData.startDate).toDateString() : \"-\"))])]),_c('div',{staticClass:\"info-item\"},[_c('span',{staticClass:\"info-label\"},[_vm._v(\"End Date\")]),_c('span',{staticClass:\"info-value\"},[_vm._v(_vm._s(this.productVariantData.endDate ? new Date(this.productVariantData.endDate).toDateString() : \"-\"))])])])]),_c('div',{staticClass:\"info-card course-info\"},[_c('h5',{staticClass:\"title\"},[_vm._v(\"course information\")]),_c('div',{staticClass:\"info-list\"},[_c('div',{staticClass:\"info-item\"},[_c('span',{staticClass:\"info-label\"},[_vm._v(\"Ratings\")]),_c('span',{staticClass:\"info-value\"},[_vm._v(\" \"+_vm._s(_vm.productVariantData.ratings.value ? parseInt(_vm.productVariantData.ratings.value).toFixed(1) : \"\")+\" \"),(_vm.productVariantData.ratings.value)?_c('b-form-rating',{attrs:{\"value\":_vm.productVariantData.ratings.value,\"readonly\":\"\"}}):_vm._e()],1)]),_c('div',{staticClass:\"info-item\"},[_c('span',{staticClass:\"info-label\"},[_vm._v(\"Short Description\")]),_c('span',{staticClass:\"info-value text-right\"},[_vm._v(_vm._s(_vm.productVariantData.shortDescription ? _vm.productVariantData.shortDescription : \"-\"))])])])])])])]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"status-icon\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon.svg\"),\"alt\":\"\"}})])}]\n\nexport { render, staticRenderFns }","<template>\n  <div v-if=\"productVariantData\">\n    <div class=\"course-content-tabs\">\n      <ul class=\"inline-list\">\n        <draggable\n          class=\"content-items\"\n          v-model=\"filteredProductVariantItems\"\n          v-if=\"filteredProductVariantItems\"\n          @start=\"drag = true\"\n          @end=\"drag = false\"\n          ghost-class=\"ghost\"\n          group=\"content\"\n          animation=\"200\"\n          @change=\"update($event, productVariantData.id)\"\n        >\n          <CourseContentTab\n            v-for=\"item in filteredProductVariantItems\"\n            :key=\"item.id\"\n            :item=\"item\"\n            :activeTab=\"activeTab\"\n            @changeTab=\"changeTab\"\n            :productVariantID=\"productVariantId\"\n            @updateActiveTab=\"setActiveTab\"\n          />\n          <li\n            v-if=\"mode == 'view' && showAddSubject\"\n            @click=\"changeMode('create')\"\n            class=\"content-tab\"\n          >\n            <img src=\"@/assets/images/plus-icon-gray.svg\" alt=\"\" />\n            Add Subject\n          </li>\n\n          <form v-else-if=\"mode != 'view'\" @submit=\"createDirectory\">\n            <input\n              type=\"search\"\n              name=\"newTab\"\n              id=\"newTab\"\n              class=\"form-input\"\n              placeholder=\"Type Subject title\"\n              v-model=\"title\"\n              @blur=\"changeMode('view')\"\n              v-on:keyup.esc=\"changeMode('view')\"\n            />\n            <b-spinner class=\"content-loader\" small v-if=\"loading\"></b-spinner>\n            <button\n              v-if=\"!loading\"\n              @click=\"createDirectory\"\n              type=\"submit\"\n              class=\"content-action-btn save\"\n            >\n              <img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\" />\n            </button>\n            <button\n              v-if=\"!loading\"\n              @click=\"changeMode('view')\"\n              class=\"content-action-btn cancel\"\n              type=\"button\"\n              role=\"button\"\n            >\n              <img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\" />\n            </button>\n          </form>\n        </draggable>\n      </ul>\n    </div>\n\n    <div class=\"page-content-container\">\n      <div class=\"col-9 tab-body\" :id=\"activeTab\">\n        <div\n          v-for=\"tabBody in productVariantData.productVariantItems\"\n          :key=\"tabBody.id\"\n          :class=\"[\n            'course-content-body',\n            { 'tab-hidden': activeTab != tabBody.id },\n          ]\"\n        >\n          <ContentTabBody\n            v-if=\"tabLoaded && activeTab == tabBody.id\"\n            :tabData=\"tabData\"\n            :productVariantData=\"productVariantData\"\n            :isBlocked=\"isBlocked\"\n            :activeTab=\"activeTab\"\n          />\n          <div v-if=\"!tabLoaded && loading\">\n            <b-skeleton height=\"12rem\" class=\"mb-4\"></b-skeleton>\n            <b-skeleton height=\"12rem\" class=\"mb-4\"></b-skeleton>\n            <b-skeleton height=\"12rem\" class=\"mb-4\"></b-skeleton>\n          </div>\n        </div>\n        <div\n          v-if=\"\n            productVariantData.productVariantItems &&\n            productVariantData.productVariantItems.length == 0 &&\n            mode == 'view'\n          \"\n          class=\"no-content\"\n        >\n          <h1 class=\"title\">\n            Start creating your Course by adding the first Subject\n          </h1>\n          <img src=\"@/assets/images/no-content-icon.svg\" />\n          <button\n            @click=\"changeMode('create')\"\n            class=\"create-section\"\n            role=\"button\"\n          >\n            <img src=\"@/assets/images/add-border-icon.svg\" alt=\"\" />\n            add subjects\n          </button>\n        </div>\n        <!-- <div v-if=\"tabData == null\">\n\t\t\t\t\tYou are not allowed to access this chapter\n\t\t\t\t</div> -->\n      </div>\n      <div class=\"col-3 position-relative\">\n        <div class=\"info-card general-info\">\n          <h5 class=\"title\">general information</h5>\n          <div class=\"info-list\">\n            <div class=\"info-item\">\n              <span class=\"info-label\">Batch ID</span>\n              <span class=\"info-value\">\n                {{ productVariantData.id }}\n              </span>\n            </div>\n            <div class=\"info-item\">\n              <span class=\"info-label\">Status</span>\n              <span class=\"info-value status-value\"\n                ><span class=\"status-icon\"\n                  ><img src=\"@/assets/images/check-icon.svg\" alt=\"\"\n                /></span>\n                {{ productVariantData.status }}</span\n              >\n            </div>\n            <div class=\"info-item\">\n              <span class=\"info-label\">Start Date</span>\n              <span class=\"info-value\">{{\n                this.productVariantData.startDate\n                  ? new Date(this.productVariantData.startDate).toDateString()\n                  : \"-\"\n              }}</span>\n            </div>\n            <div class=\"info-item\">\n              <span class=\"info-label\">End Date</span>\n              <span class=\"info-value\">{{\n                this.productVariantData.endDate\n                  ? new Date(this.productVariantData.endDate).toDateString()\n                  : \"-\"\n              }}</span>\n            </div>\n          </div>\n        </div>\n        <div class=\"info-card course-info\">\n          <h5 class=\"title\">course information</h5>\n          <div class=\"info-list\">\n            <!-- <div class=\"info-item\">\n\t\t\t\t\t\t\t<span class=\"info-label\">Last Modified</span>\n\t\t\t\t\t\t\t<span class=\"info-value\">{{ new Date().toDateString() }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"info-item\">\n\t\t\t\t\t\t\t<span class=\"info-label\">Published On</span>\n\t\t\t\t\t\t\t<span class=\"info-value\">{{\n\t\t\t\t\t\t\t\t\tthis.productVariantData.startDate\n\t\t\t\t\t\t\t\t\t\t? new Date(this.productVariantData.startDate).toDateString()\n\t\t\t\t\t\t\t\t\t\t: \"-\"\n\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t</div> -->\n            <!-- <div class=\"info-item\">\n\t\t\t\t\t\t\t<span class=\"info-label\">Total Revenue</span>\n\t\t\t\t\t\t\t<span class=\"info-value\">{{ parseCurrency(10000) }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"info-item\">\n\t\t\t\t\t\t\t<span class=\"info-label\">Number of Enrollments</span>\n\t\t\t\t\t\t\t<span class=\"info-value\">{{\n\t\t\t\t\t\t\t\tnumberWithCommas(productVariantData.enrolledStudents)\n\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"info-item\">\n\t\t\t\t\t\t\t<span class=\"info-label\">Online Users</span>\n\t\t\t\t\t\t\t<span class=\"info-value\">{{ 25 }}</span>\n\t\t\t\t\t\t</div> -->\n            <div class=\"info-item\">\n              <span class=\"info-label\">Ratings</span>\n              <span class=\"info-value\">\n                {{\n                  productVariantData.ratings.value\n                    ? parseInt(productVariantData.ratings.value).toFixed(1)\n                    : \"\"\n                }}\n                <b-form-rating\n                  v-if=\"productVariantData.ratings.value\"\n                  :value=\"productVariantData.ratings.value\"\n                  readonly\n                ></b-form-rating>\n              </span>\n            </div>\n            <div class=\"info-item\">\n              <span class=\"info-label\">Short Description</span>\n              <span class=\"info-value text-right\">{{\n                productVariantData.shortDescription\n                  ? productVariantData.shortDescription\n                  : \"-\"\n              }}</span>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport ContentTabBody from \"../Content/ContentTabBody.vue\";\nimport CourseContentTab from \"./CourseContentTab.vue\";\nimport formatter from \"../../../helpers/FormatHelpers\";\nimport { ProductVariantSubscriptionStatus } from \"../../../constants/productVariant\";\nimport { UserType } from \"../../../constants/user\";\nimport draggable from \"vuedraggable\";\n\nexport default {\n  name: \"CourseContent\",\n  data() {\n    return {\n      // productVariantData: null,\n      activeTab: null,\n      tabData: null,\n      tabLoaded: false,\n      mode: \"view\",\n      title: \"\",\n      loading: false,\n      isBlocked: false,\n    };\n  },\n  components: { ContentTabBody, CourseContentTab, draggable },\n  props: { productVariantData: Object },\n  computed: {\n    ...mapState(\"productVariant\", [\"productVariants\"]),\n    ...mapState(\"content\", [\"content\", \"copiedTab\"]),\n    ...mapState(\"user\", [\"user\"]),\n    productVariantId() {\n      return this.$route.params.id;\n    },\n    showSave() {\n      return this.title !== \"\";\n    },\n    showAddSubject() {\n      if (\n        (this.user.type && this.user.type.toLowerCase() == \"trainer\") ||\n        (this.user.role && this.user.role.toLowerCase() == \"trainer\")\n      ) {\n        return false;\n      } else return true;\n    },\n    filteredProductVariantItems: {\n      get() {\n        if (this.user.type == UserType.MANAGEMENT)\n          return this.productVariantData.productVariantItems;\n\n        return this.productVariantData.productVariantItems.filter(\n          (item) => item.status == ProductVariantSubscriptionStatus.ALLOWED\n        );\n      },\n      set(value) {\n        this.productVariantData.productVariantItems = value;\n      },\n    },\n  },\n  methods: {\n    ...mapActions(\"productVariant\", [\n      \"getProductVariantById\",\n      \"assignContentToProductVariant\",\n      \"PasteProductVariantItems\",\n    ]),\n    ...mapActions(\"content\", [\n      \"getContentById\",\n      \"createDirectoryContent\",\n      \"editProductVariantItemsSequence\",\n    ]),\n\n    changeTab(e) {\n      this.activeTab = e.target.id;\n    },\n    changeMode(mode) {\n      if (mode == \"view\") {\n        setTimeout(() => {\n          this.mode = mode;\n        }, 300);\n      } else {\n        this.mode = mode;\n      }\n      // this.mode = mode;\n      if (mode == \"create\") {\n        setTimeout(() => {\n          document.getElementById(\"newTab\").focus();\n        }, 200);\n      }\n    },\n    createDirectory(e) {\n      e.preventDefault();\n      if (this.title != \"\" && this.title != null) {\n        this.loading = true;\n        var contentObject = {\n          title: this.title,\n          type: \"Directory\",\n          data: {},\n          // availableTo: this.productVariantData.endDate,\n          // availableFrom: this.productVariantData.startDate,\n          isAvailableForDemo: true,\n        };\n        // if (this.productVariantData.startDate) {\n        // \tcontentObject.availableFrom = this.productVariantData.startDate;\n        // }\n        // if (this.productVariantData.endDate) {\n        // \tcontentObject.availableTo = this.productVariantData.endDate;\n        // }\n        this.createDirectoryContent(contentObject).then((res) => {\n          this.loading = false;\n          console.log(res);\n          if (typeof res != \"string\") {\n            console.log(`#${res.id}`);\n            var assignContentObject = {\n              productVariantID: this.productVariantData.id,\n              items: [res],\n            };\n            this.assignContentToProductVariant(assignContentObject).then(() => {\n              console.log(\n                \"assigned content to productVariant\",\n                assignContentObject\n              );\n              this.loading = false;\n              this.title = \"\";\n              this.mode = \"view\";\n              this.activeTab = res.id;\n              // $(`#${res.id}`).click();\n            });\n          } else {\n            this.title = \"\";\n            this.mode = \"view\";\n          }\n\n          // this.getProductVariantById(this.productVariantId);\n        });\n      } else {\n        this.mode = \"view\";\n      }\n\n      // this.mode = \"created\";\n      // this.isCreated = true;\n    },\n    numberWithCommas(x) {\n      return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n    },\n    parseCurrency(amount) {\n      return formatter.toCurrencyString(amount, \"pkr\", 0);\n    },\n    setActiveTab() {\n      console.log(\n        \"setActiveTab\",\n        this.productVariantData.productVariantItems[0].id\n      );\n      this.activeTab = this.productVariantData.productVariantItems[0].id;\n      // var tabs = $(\".content-tab\");\n      // console.log(tabs);\n      // this.activeTab =\n    },\n    setFilteredActiveTab() {\n      this.activeTab = this.filteredProductVariantItems[0].id;\n    },\n    pasteContent() {\n      console.log(\"pasting content\");\n      var assignContentObject = {\n        TargetProductVariantID: this.productVariantData.id,\n        SubjectContentID: this.copiedTab.id,\n      };\n      console.log({ assignContentObject });\n\n      this.PasteProductVariantItems(assignContentObject).then(() => {\n        this.getProductVariantById(\n          assignContentObject.TargetProductVariantID\n        ).then((response) => {\n          this.filteredProductVariantItems =\n            response.productVariantItems.length > 0\n              ? response.productVariantItems\n              : [];\n        });\n        console.log(\"assigned content to productVariant\", assignContentObject);\n        this.activeTab = this.copiedTab.id;\n        this.$toasted.success(\"Subject pasted successfully\", {\n          duration: 3000,\n          theme: \"outline\",\n          icon: \"check\",\n          position: \"bottom-center\",\n        });\n      });\n    },\n    pasteContentShortcut() {\n      console.log(\"pasting content\");\n      var assignContentObject = {\n        productVariantID: this.productVariantData.id,\n        items: [this.copiedTab],\n      };\n      this.assignContentToProductVariant(assignContentObject).then(() => {\n        console.log(\"assigned content to productVariant\", assignContentObject);\n        this.activeTab = this.copiedTab.id;\n        this.$toasted.success(\"Subject pasted successfully\", {\n          duration: 3000,\n          theme: \"outline\",\n          icon: \"check\",\n          position: \"bottom-center\",\n        });\n      });\n    },\n    update(e, productVariantID) {\n      var contentObj = {};\n      var productVariantItemID;\n      var afterContentID;\n\n      if (e.added) {\n        if (e.added.newIndex != 0) {\n          afterContentID =\n            this.filteredProductVariantItems[e.added.newIndex - 1].id;\n          contentObj.afterProductVariantItemID = afterContentID;\n        }\n        contentObj = { ...contentObj, productVariantID: productVariantID };\n        productVariantItemID = e.added.element.id;\n      }\n      if (e.moved) {\n        if (e.moved.newIndex != 0) {\n          afterContentID =\n            this.filteredProductVariantItems[e.moved.newIndex - 1].id;\n          console.log({\n            productvariantitems: this.filteredProductVariantItems,\n          });\n          contentObj.afterProductVariantItemID = afterContentID;\n        }\n        contentObj = { ...contentObj, productVariantID: productVariantID };\n        productVariantItemID = e.moved.element.id;\n      }\n      if (!e.removed) {\n        this.editProductVariantItemsSequence({\n          content: contentObj,\n          productVariantItemID: productVariantItemID,\n        }).then(() => {\n          console.log(\"editContentSequence content\", contentObj);\n        });\n      }\n    },\n  },\n  created() {\n    if (this.productVariantData.productVariantItems.length > 0) {\n      //this.activeTab = this.productVariantData.productVariantItems[0].id;\n      this.setFilteredActiveTab();\n      if (!this.content[this.activeTab]) {\n        this.loading = true;\n        this.getContentById({ id: this.activeTab }).then((res) => {\n          this.loading = false;\n          if (res == \"122\" || res == \"123\") {\n            this.isBlocked = true;\n            // } else if (res == \"123\") {\n            // \tthis.isBlocked = true;\n          } else {\n            this.tabData = this.content[this.activeTab];\n            this.tabLoaded = true;\n          }\n        });\n      } else {\n        this.tabData = this.content[this.activeTab];\n        this.tabLoaded = true;\n      }\n    }\n    // });\n    // } else {\n    // \tthis.productVariantData = this.productVariants.items[\n    // \t\tthis.productVariantId\n    // \t];\n    // \tif (this.productVariantData.productVariantItems.length > 0) {\n    // \t\tthis.activeTab = this.productVariantData.productVariantItems[0].id;\n    // \t\tif (!this.content[this.activeTab]) {\n    // \t\t\tthis.getContentById(this.activeTab).then(() => {\n    // \t\t\t\tthis.tabData = this.content[this.activeTab];\n    // \t\t\t\tthis.tabLoaded = true;\n    // \t\t\t});\n    // \t\t} else {\n    // \t\t\tthis.tabData = this.content[this.activeTab];\n    // \t\t\tthis.tabLoaded = true;\n    // \t\t}\n    // \t}\n    // }\n  },\n  watch: {\n    activeTab: function () {\n      this.tabLoaded = false;\n      if (!this.content[this.activeTab]) {\n        this.loading = true;\n        this.getContentById({ id: this.activeTab }).then((res) => {\n          this.loading = false;\n          if (res == \"122\" || res == \"123\") {\n            this.isBlocked = true;\n          }\n          this.tabData = this.content[this.activeTab]\n            ? this.content[this.activeTab]\n            : null;\n          this.tabLoaded = true;\n\n          // this.tabData = this.content[this.activeTab]\n          // \t? this.content[this.activeTab]\n          // \t: null;\n          // this.tabLoaded = true;\n        });\n      } else {\n        this.tabData = this.content[this.activeTab]\n          ? this.content[this.activeTab]\n          : null;\n        this.tabLoaded = true;\n      }\n    },\n    content: function () {\n      this.tabData = this.content[this.activeTab]\n        ? this.content[this.activeTab]\n        : null;\n    },\n  },\n  mounted() {\n    $(() => {\n      $(\".course-content-tabs\").contextMenu({\n        selector: \".inline-list\",\n        callback: (key, options) => {\n          if (key == \"paste\") {\n            this.pasteContent();\n          } else if (key == \"pasteshortcut\") {\n            this.pasteContentShortcut();\n          }\n        },\n        items: {\n          pasteshortcut: {\n            name: \"Paste copied Subject (With Sync)\",\n            icon: \"paste\",\n            disabled: () => !this.copiedTab,\n          },\n          paste: {\n            name: \"Paste copied Subject (Without Sync)\",\n            icon: \"paste\",\n            disabled: () => !this.copiedTab,\n          },\n        },\n      });\n    });\n  },\n};\n</script>\n\n<style scoped>\n.content-items {\n  display: flex;\n}\n\n.course-content-tabs {\n  padding: 0 1.125rem;\n  background: #f9f9f9;\n  box-shadow: 0px 0px 6px rgba(185, 185, 185, 0.25);\n  height: 4.875rem;\n  width: 100%;\n  overflow-x: auto;\n}\n\n.course-content-tabs .inline-list {\n  height: 100%;\n  align-items: flex-end;\n  display: flex;\n  width: 100%;\n  overflow-x: auto;\n}\n\n.content-tab {\n  padding: 1.5rem 2.5rem;\n  column-gap: 0.5rem;\n  color: #838383;\n  border-bottom: 2px solid transparent;\n  /* height: 100%; */\n  flex-shrink: 0;\n  position: relative;\n}\n\n.content-tab.active {\n  border-bottom: 2px solid var(--primary-color);\n}\n\n.course-content-body {\n  padding: 1.5rem;\n}\n\n.course-content-body.tab-hidden {\n  display: none;\n}\n\n.page-content-container {\n  background-color: #f5f5f5;\n  height: calc(100vh - 9.875rem);\n  /* padding: 1.875rem; */\n  overflow-y: auto;\n  display: flex;\n  position: relative;\n}\n\n.form-input {\n  border: 0;\n  font-size: 1rem;\n  outline: none;\n  padding: 0.5rem 0;\n  border-radius: 0;\n  box-shadow: none !important;\n  position: relative;\n  background-color: transparent;\n  text-align: center;\n}\n\n.form-input::-webkit-input-placeholder {\n  font-size: 1rem !important;\n}\n\n.course-content-tabs form {\n  display: inline-flex;\n  position: relative;\n  align-items: center;\n  height: 100%;\n}\n\n.content-action-btn {\n  background: #ffffff;\n  box-sizing: border-box;\n  border-radius: 50%;\n  width: 1.625rem;\n  height: 1.625rem;\n  /* padding: 0.375rem; */\n  font-weight: bold;\n  font-size: 0.875rem;\n  line-height: 1;\n  letter-spacing: 0.05rem;\n  text-transform: uppercase;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  top: 1.5rem;\n}\n\n.content-action-btn.save {\n  border: 1px solid #21cf47;\n  color: #21cf47;\n  position: absolute;\n  right: -1rem;\n}\n\n.content-action-btn.cancel {\n  border: 1px solid #ff0000;\n  color: #ff0000;\n  position: absolute;\n  right: -3rem;\n}\n\n.info-card {\n  display: flex;\n  flex-direction: column;\n  background: #ffffff;\n  box-shadow: 6px 3px 6px rgba(185, 185, 185, 0.07);\n  border-radius: 6px;\n  padding: 1.5rem;\n  width: calc(25% - 6rem);\n}\n\n.info-card.general-info {\n  position: fixed;\n  top: 11.5rem;\n}\n\n.info-card.course-info {\n  position: fixed;\n  top: 27rem;\n}\n\n.info-card .title {\n  font-weight: 500;\n  font-size: 1rem;\n  text-transform: uppercase;\n  color: #000000;\n  margin-bottom: 1.25rem;\n}\n\n.info-card .info-list {\n  display: flex;\n  flex-direction: column;\n  row-gap: 1rem;\n}\n\n.info-card .info-list .info-item {\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n  align-items: center;\n}\n\n.info-card .info-list .info-item .info-label {\n  color: #727272;\n}\n\n.info-card .info-list .info-item .info-value {\n  color: #000000;\n  display: flex;\n  align-items: center;\n}\n\n.info-card .info-item .info-value.status-value {\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  box-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n  border-radius: 4px;\n  padding: 0.25rem 0.5rem;\n  color: var(--primary-color);\n  display: flex;\n  column-gap: 0.5rem;\n  align-items: center;\n}\n\n.status-value .status-icon {\n  background-color: var(--primary-color);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 0.875rem;\n  height: 0.875rem;\n  border-radius: 50%;\n}\n\n.status-value .status-icon img {\n  width: 0.5rem;\n}\n\n.info-value .form-control {\n  height: -webkit-fit-content;\n  height: -moz-fit-content;\n  height: fit-content;\n  background-color: transparent !important;\n  border: none;\n  height: unset !important;\n  margin: 0;\n  margin-left: 0.75rem !important;\n  padding: 0;\n  font-size: 1rem !important;\n  width: -webkit-fit-content;\n  width: -moz-fit-content;\n  width: fit-content;\n  box-shadow: none;\n}\n\n.no-content {\n  padding: 4.25rem 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-direction: column;\n  row-gap: 4rem;\n}\n\n.no-content .title {\n  font-weight: 450;\n  font-size: 2rem;\n  line-height: 0.75;\n  text-align: center;\n  color: #000000;\n}\n\n.no-content img {\n  width: 13.625rem;\n  height: 13.625rem;\n}\n\n.no-content .create-section {\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  border-radius: 8px;\n  padding: 0.875rem 1.125rem;\n  font-size: 1.125rem;\n  line-height: 1.37;\n  letter-spacing: 0.05em;\n  text-transform: uppercase;\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 0.75rem;\n  color: #000000;\n}\n\n.no-content .create-section img {\n  width: 1.25rem;\n  height: 1.25rem;\n}\n\n.content-loader {\n  position: absolute;\n  right: -1rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourseContent.vue?vue&type=template&id=93717608&scoped=true&\"\nimport script from \"./CourseContent.vue?vue&type=script&lang=js&\"\nexport * from \"./CourseContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CourseContent.vue?vue&type=style&index=0&id=93717608&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"93717608\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-item\"},[_c('div',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"collapse\" + (_vm.contentData ? _vm.contentData.id : ''))),expression:\"`collapse${contentData ? contentData.id : ''}`\"}],staticClass:\"content-title-container\",attrs:{\"role\":\"button\",\"aria-expanded\":\"false\"},on:{\"click\":_vm.togleButton}},[(_vm.isChapterSelectable)?_c('div',{staticClass:\"m-2\"},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_all\",\"id\":\"select_all\"},on:{\"change\":function($event){return _vm.manageContentState($event)},\"click\":function($event){$event.stopPropagation();}}})]):_vm._e(),(_vm.mode == 'view')?_c('h1',{staticClass:\"d-flex flex-row gap-3 align-items-center\"},[_c('img',{staticClass:\"drag-icon chapter-handle handle\",attrs:{\"src\":require(\"@/assets/images/drag-icon.svg\")}}),_c('span',[_vm._v(_vm._s(_vm.contentData.id))]),_c('span',{staticClass:\"section-name\"},[_vm._v(\" \"+_vm._s(_vm.contentData.title)+\" \")])]):_vm._e(),(_vm.mode == 'create' && !_vm.isCreated)?_c('form',{on:{\"submit\":_vm.createContent}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],attrs:{\"type\":\"search\",\"name\":\"content-title\",\"id\":\"content-title\",\"placeholder\":\"Type new section's name ...\",\"autofocus\":\"\"},domProps:{\"value\":(_vm.title)},on:{\"blur\":_vm.cancel,\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.cancel.apply(null, arguments)},\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}})]):_vm._e(),(_vm.mode == 'create')?_c('div',{staticClass:\"right-menu position-relative\"},[_c('button',{staticClass:\"content-save-btn\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":_vm.createContent}},[_vm._v(\" save \")]),_c('button',{staticClass:\"cancel-content-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('cancelCreate', 'view')}}},[_c('img',{staticClass:\"cancel-icon\",attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}}),_vm._v(\" cancel \")])]):_c('div',{staticClass:\"right-menu\"},[(!_vm.isContentSectionSelectable)?_c('a',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip:hover\",arg:\"hover\"},{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"collapse\" + (_vm.contentData ? _vm.contentData.id : ''))),expression:\"`collapse${contentData ? contentData.id : ''}`\"}],staticClass:\"right-menu-icon\",attrs:{\"title\":\"Select Multiple Content Sections\",\"role\":\"button\"},on:{\"click\":_vm.makeContentSectionSelectable}},[_c('i',{staticClass:\"far fa-square-check checkbox-icon\"})]):_vm._e(),(_vm.isContentSectionSelectable)?_c('button',{staticClass:\"right-menu-icon\",attrs:{\"title\":\"Cancel Select\",\"role\":\"button\"},on:{\"click\":_vm.makeContentSectionUnselectable}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})]):_vm._e(),(_vm.isContentSectionSelectable)?_c('button',{staticClass:\"right-menu-icon\",attrs:{\"title\":\"Copy Selected\",\"role\":\"button\",\"disabled\":!_vm.selectedBulkCopiedContent || _vm.selectedBulkCopiedContent.length <= 0},on:{\"click\":_vm.copyAllSelectedContentSection}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]):_vm._e(),_c('button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip:hover\",arg:\"hover\"}],staticClass:\"right-menu-icon\",attrs:{\"title\":\"Paste copied Content inside\",\"role\":\"button\"},on:{\"click\":_vm.pasteSelectedContentSections}},[_c('i',{staticClass:\"fal fa-clipboard\"})]),_c('a',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip:hover\",arg:\"hover\"}],staticClass:\"right-menu-icon\",attrs:{\"title\":\"Copy Section\",\"role\":\"button\"},on:{\"click\":_vm.copySection}},[_c('i',{staticClass:\"fal fa-copy\"})]),_c('a',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip:hover\",arg:\"hover\"}],staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\",\"title\":\"Edit Section\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")},on:{\"click\":_vm.showModal}})]),_c('EditContentModal',{attrs:{\"contentData\":_vm.contentData,\"showModal\":_vm.showEditModal,\"entity\":\"Section\",\"parentDirectoryID\":_vm.tabData.id},on:{\"updateModalState\":_vm.toggleEditModal}}),_c('a',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip:hover\",arg:\"hover\"}],staticClass:\"right-menu-icon delete\",attrs:{\"title\":\"Delete Section\",\"role\":\"button\"},on:{\"click\":_vm.showDeleteConfirmPopup}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])],1),_vm._m(0)]),(_vm.mode == 'view')?_c('div',{staticClass:\"content-activity-container\"},[_c('b-collapse',{attrs:{\"id\":(\"collapse\" + (_vm.contentData ? _vm.contentData.id : '')),\"visible\":_vm.showContentExpanded},model:{value:(_vm.contentData.accordianState),callback:function ($$v) {_vm.$set(_vm.contentData, \"accordianState\", $$v)},expression:\"contentData.accordianState\"}},[_c('div',{staticClass:\"content-list\"},[(_vm.filteredContent)?_c('draggable',{attrs:{\"ghost-class\":\"ghost\",\"group\":\"content\",\"animation\":\"200\",\"handle\":\".content-handle\"},on:{\"change\":function($event){return _vm.update($event, _vm.contentData.id)}},model:{value:(_vm.filteredContent),callback:function ($$v) {_vm.filteredContent=$$v},expression:\"filteredContent\"}},_vm._l((_vm.filteredContent),function(item){return _c('CourseContentSectionChild',{key:item.id,attrs:{\"contentData\":item,\"contentLoadingId\":_vm.contentLoadingId,\"contentProgress\":_vm.contentProgress,\"parentDirectoryID\":_vm.contentData.id,\"productVariantId\":_vm.productVariantId}})}),1):_vm._e(),(_vm.loading)?_c('div',[_c('b-skeleton',{staticClass:\"pb-2\",attrs:{\"height\":\"5rem\"}}),_c('b-skeleton',{staticClass:\"pb-2\",attrs:{\"height\":\"5rem\"}}),_c('b-skeleton',{staticClass:\"pb-2\",attrs:{\"height\":\"5rem\"}})],1):_vm._e(),(_vm.filteredContent && _vm.filteredContent.length == 0 && !_vm.loading)?_c('div',{staticClass:\"no-data\"},[_vm._v(\" No content found \")]):_vm._e()],1)])],1):_vm._e(),_c('ExternalServicesList',{attrs:{\"parentContentId\":_vm.contentData ? _vm.contentData.id : null,\"mode\":_vm.mode,\"contentData\":_vm.contentData,\"productVariantId\":_vm.productVariantId},on:{\"updateVideo\":_vm.updateProgressbar,\"expandContent\":_vm.toggleContentCollapse}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"fas fa-angle-down\"})])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"content-item\">\n\t\t<div\n\t\t\tclass=\"content-title-container\"\n\t\t\tv-b-toggle=\"`collapse${contentData ? contentData.id : ''}`\"\n\t\t\trole=\"button\"\n\t\t\taria-expanded=\"false\"\n\t\t\t@click=\"togleButton\"\n\t\t>\n\t\t\t<div class=\"m-2\" v-if=\"isChapterSelectable\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tname=\"select_all\"\n\t\t\t\t\tid=\"select_all\"\n\t\t\t\t\t@change=\"manageContentState($event)\"\n\t\t\t\t\t@click.stop\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<h1\n\t\t\t\tclass=\"d-flex flex-row gap-3 align-items-center\"\n\t\t\t\tv-if=\"mode == 'view'\"\n\t\t\t>\n\t\t\t\t<img src=\"@/assets/images/drag-icon.svg\" class=\"drag-icon chapter-handle handle\" />\n\t\t\t\t<span>{{ contentData.id }}</span>\n\t\t\t\t<span class=\"section-name\">\n\t\t\t\t\t{{ contentData.title }}\n\t\t\t\t</span>\n\t\t\t</h1>\n\t\t\t<form v-if=\"mode == 'create' && !isCreated\" @submit=\"createContent\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tname=\"content-title\"\n\t\t\t\t\tid=\"content-title\"\n\t\t\t\t\tv-model=\"title\"\n\t\t\t\t\tplaceholder=\"Type new section's name ...\"\n\t\t\t\t\tautofocus\n\t\t\t\t\t@blur=\"cancel\"\n\t\t\t\t\tv-on:keyup.esc=\"cancel\"\n\t\t\t\t/>\n\t\t\t</form>\n\t\t\t<div v-if=\"mode == 'create'\" class=\"right-menu position-relative\">\n\t\t\t\t<button\n\t\t\t\t\t@click=\"createContent\"\n\t\t\t\t\tclass=\"content-save-btn\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t>\n\t\t\t\t\tsave\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"cancel-content-btn\"\n\t\t\t\t\t@click=\"$emit('cancelCreate', 'view')\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" class=\"cancel-icon\" />\n\t\t\t\t\tcancel\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div v-else class=\"right-menu\">\n\t\t\t\t<a\n\t\t\t\t\tv-if=\"!isContentSectionSelectable\"\n\t\t\t\t\ttitle=\"Select Multiple Content Sections\"\n\t\t\t\t\tv-b-tooltip:hover\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t@click=\"makeContentSectionSelectable\"\n\t\t\t\t\tv-b-toggle=\"`collapse${contentData ? contentData.id : ''}`\"\n\t\t\t\t>\n\t\t\t\t\t<i class=\"far fa-square-check checkbox-icon\"></i>\n\t\t\t\t</a>\n\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"isContentSectionSelectable\"\n\t\t\t\t\ttitle=\"Cancel Select\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t@click=\"makeContentSectionUnselectable\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\" />\n\t\t\t\t</button>\n\t\t\t\t\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"isContentSectionSelectable\"\n\t\t\t\t\ttitle=\"Copy Selected\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t@click=\"copyAllSelectedContentSection\" \n\t\t\t\t\t:disabled=\"!selectedBulkCopiedContent || selectedBulkCopiedContent.length <= 0\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\" />\n\t\t\t\t</button>\n\n\t\t\t\t<button\n\t\t\t\t\tv-b-tooltip:hover\n\t\t\t\t\ttitle=\"Paste copied Content inside\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t@click=\"pasteSelectedContentSections\"\n\t\t\t\t\t>\n\t\t\t\t\t<!-- @click=\"pasteContent\" -->\n\t\t\t\t\t<i class=\"fal fa-clipboard\"></i>\n\t\t\t\t</button>\n\t\t\t\t<a\n\t\t\t\t\ttitle=\"Copy Section\"\n\t\t\t\t\tv-b-tooltip:hover\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t@click=\"copySection\"\n\t\t\t\t>\n\t\t\t\t\t<i class=\"fal fa-copy\"></i>\n\t\t\t\t</a>\n\t\t\t\t<a\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\ttitle=\"Edit Section\"\n\t\t\t\t\tv-b-tooltip:hover\n\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" @click=\"showModal\" />\n\t\t\t\t</a>\n\t\t\t\t<EditContentModal\n\t\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t\t:showModal=\"showEditModal\"\n\t\t\t\t\t@updateModalState=\"toggleEditModal\"\n\t\t\t\t\tentity=\"Section\"\n\t\t\t\t\t:parentDirectoryID=\"tabData.id\"\n\t\t\t\t/>\n\t\t\t\t<a\n\t\t\t\t\ttitle=\"Delete Section\"\n\t\t\t\t\tv-b-tooltip:hover\n\t\t\t\t\t@click=\"showDeleteConfirmPopup\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t</a>\n\t\t\t\t<!-- <a role=\"button\" class=\"right-menu-icon\">\n\t\t\t\t\t<img src=\"@/assets/images/plus-icon.svg\" />\n\t\t\t\t</a> -->\n\t\t\t</div>\n\t\t\t<span><i class=\"fas fa-angle-down\"></i></span>\n\t\t</div>\n\n\t\t<div v-if=\"mode == 'view'\" class=\"content-activity-container\">\n\t\t\t<b-collapse\n\t\t\t\t:id=\"`collapse${contentData ? contentData.id : ''}`\"\n\t\t\t\t:visible=\"showContentExpanded\"\n\t\t\t\tv-model=\"contentData.accordianState\"\n\t\t\t>\n\t\t\t\t<div class=\"content-list\">\n\t\t\t\t\t<draggable\n\t\t\t\t\t\tv-if=\"filteredContent\"\n\t\t\t\t\t\tv-model=\"filteredContent\"\n\t\t\t\t\t\tghost-class=\"ghost\"\n\t\t\t\t\t\tgroup=\"content\"\n\t\t\t\t\t\tanimation=\"200\"\n\t\t\t\t\t\thandle=\".content-handle\"\n\t\t\t\t\t\t@change=\"update($event, contentData.id)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<CourseContentSectionChild\n\t\t\t\t\t\t\tv-for=\"item in filteredContent\"\n\t\t\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t\t\t:contentData=\"item\"\n\t\t\t\t\t\t\t:contentLoadingId=\"contentLoadingId\"\n\t\t\t\t\t\t\t:contentProgress=\"contentProgress\"\n\t\t\t\t\t\t\t:parentDirectoryID=\"contentData.id\"\n\t\t\t\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</draggable>\n\t\t\t\t\t<div v-if=\"loading\">\n\t\t\t\t\t\t<b-skeleton height=\"5rem\" class=\"pb-2\"></b-skeleton>\n\t\t\t\t\t\t<b-skeleton height=\"5rem\" class=\"pb-2\"></b-skeleton>\n\t\t\t\t\t\t<b-skeleton height=\"5rem\" class=\"pb-2\"></b-skeleton>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"filteredContent && filteredContent.length == 0 && !loading\"\n\t\t\t\t\t\tclass=\"no-data\"\n\t\t\t\t\t>\n\t\t\t\t\t\tNo content found\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</b-collapse>\n\t\t</div>\n\t\t<ExternalServicesList\n\t\t\t:parentContentId=\"contentData ? contentData.id : null\"\n\t\t\t@updateVideo=\"updateProgressbar\"\n\t\t\t@expandContent=\"toggleContentCollapse\"\n\t\t\t:mode=\"mode\"\n\t\t\t:contentData=\"contentData\"\n\t\t\t:productVariantId=\"productVariantId\"\n\t\t/>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState, mapGetters } from \"vuex\";\nimport ExternalServicesList from \"./ExternalServicesList.vue\";\nimport CourseContentSectionChild from \"./CourseContentSectionChild.vue\";\nimport EditContentModal from \"./EditContentModal.vue\";\nimport { contentService } from \"../../../services/content.service\";\nimport { ContentType } from \"../../../constants/content\";\n\n// import formatter from \"../../../helpers/FormatHelpers\";\nimport draggable from \"vuedraggable\";\nexport default {\n\tname: \"CourseContentSection\",\n\tdata() {\n\t\treturn {\n\t\t\tmode: \"view\",\n\t\t\ttitle: \"\",\n\t\t\tcontentList: [],\n\t\t\t// expandedCollapse: false,\n\n\t\t\tisCreated: false,\n\t\t\tshowAddOptions: false,\n\t\t\tshowContentExpanded: false,\n\t\t\tloading: false,\n\t\t\tcontentProgress: 0,\n\t\t\tcontentLoadingId: null,\n\t\t\tcontentLoading: false,\n\t\t\tshowZoomModal: false,\n\t\t\tshowRecordedLectureModal: false,\n\t\t\tshowStudyMaterialModal: false,\n\t\t\tshowEditModal: false,\n\t\t\tContentType,\n\t\t};\n\t},\n\tcomponents: {\n\t\tExternalServicesList,\n\t\tdraggable,\n\t\tCourseContentSectionChild,\n\t\tEditContentModal,\n\t},\n\tprops: {\n\t\tcontentData: Object,\n\t\tcreateMode: Boolean,\n\t\ttabData: Object,\n\t\tproductVariantId: String,\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\n\t\t\t\"getContentById\",\n\t\t\t\"createDirectoryContent\",\n\t\t\t\"updateContent\",\n\t\t\t\"deleteContent\",\n\t\t\t\"editContentSequence\",\n\t\t\t\"copyContent\",\n\t\t\t\"saveCopiedSection\",\n\t\t\t\"makeBulkContentSelectionUnselectable\",\n\t\t\t\"makeBulkContentSelectionSelectable\",\n\t\t\t\"saveBulkCopiedContent\",\n\t\t\t\"pasteBulkCopiedContent\",\n\t\t\t\"selectBulkChapters\",\n\t\t\t\"unselectBulkChapters\"\n\t\t]),\n\t\t...mapActions(\"productVariant\", [\"assignContentToProductVariant\"]),\n\n\t\tmanageContentState(event) {\n\t\t\tif(event){\n\t\t\t\tevent.stopPropagation();\n\n\t\t\t\tif(event.target.checked) {\n\t\t\t\t\tthis.selectBulkChapters(this.contentData);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.unselectBulkChapters(this.contentData)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tcopyAllSelectedContentSection() {\n\t\t\tthis.saveBulkCopiedContent().then((res) => {\n\t\t\t\tlet msg = res == 1 ? `${res} Content Copied` : `${res} Contents Copied`;\n\t\n\t\t\t\tthis.$toasted.success(msg, {\n\t\t\t\t\tduration: 5000,\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\n\t\tmakeContentSectionSelectable(e) {\n\t\t\tif(e) {\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\n\t\t\tif(this.contentData && !this.contentData.accordianState) {\n\t\t\t\tthis.contentData.accordianState = true;\n\t\t\t\tthis.togleButton();\n\t\t\t}\n\t\t\t\n\t\t\tthis.makeBulkContentSelectionSelectable();\n\t\t},\n\n\t\tmakeContentSectionUnselectable(e) {\n\t\t\tif(e) {\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\n\t\t\tthis.makeBulkContentSelectionUnselectable();\n\t\t},\n\n\t\tcreateContent(e) {\n\t\t\te.preventDefault();\n\t\t\tif (this.title != \"\" && this.title != null) {\n\t\t\t\tvar contentObject = {\n\t\t\t\t\ttype: \"Directory\",\n\t\t\t\t\tdata: {},\n\t\t\t\t\ttitle: this.title,\n\t\t\t\t\tavailableTo: this.tabData.availableTo,\n\t\t\t\t\tavailableFrom: this.tabData.availableFrom,\n\t\t\t\t\tisAvailableForDemo: false,\n\t\t\t\t\tparentDirectoryID: this.tabData.id,\n\t\t\t\t};\n\t\t\t\tthis.createDirectoryContent(contentObject).then((id) => {\n\t\t\t\t\tthis.title = \"\";\n\t\t\t\t\t// this.loading = false;\n\t\t\t\t\tdocument.getElementById(\"content-title\").blur();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\ttogleButton(){\n\t\t\tif(!this.content[this.contentData.id])\n\t\t\t{\n\t\t\t\tthis.loading = true;\n\t\t\t\tthis.getContentById({\n\t\t\t\t\tid: this.contentData.id,\n\t\t\t\t\textraParams: { Platform: contentService.getCurrentPlatform() },\n\t\t\t\t}).then(() => {\n\t\t\t\t\tvar newArray = [];\n\t\t\t\t\tif (this.content[this.contentData.id].children != null) {\n\t\t\t\t\t\tnewArray = [\n\t\t\t\t\t\t\t...newArray,\n\t\t\t\t\t\t\t...this.content[this.contentData.id].children,\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\tthis.contentList = newArray;\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\ttoggleContentCollapse(mode) {\n           \n\t\t\tif (mode) {\n\t\t\t\tthis.showContentExpanded = mode;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.showContentExpanded) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.showContentExpanded = !this.showContentExpanded;\n\t\t\t\t}, 300);\n\t\t\t} else this.showContentExpanded = !this.showContentExpanded;\n\n\n\t\t},\n\n\t\tupdate(e, parent) {\n\t\t\tvar contentObj = {};\n\t\t\tvar contentID;\n\t\t\tvar afterContentID;\n\t\t\tif (e.added) {\n\t\t\t\tif (e.added.newIndex != 0) {\n\t\t\t\t\tafterContentID = this.contentList[e.added.newIndex - 1].id;\n\t\t\t\t\tcontentObj.afterContentID = afterContentID;\n\t\t\t\t}\n\t\t\t\tcontentObj = { ...contentObj, parentContentID: parent };\n\t\t\t\tcontentID = e.added.element.id;\n\t\t\t}\n\t\t\tif (e.moved) {\n\t\t\t\tif (e.moved.newIndex != 0) {\n\t\t\t\t\tafterContentID = this.contentList[e.moved.newIndex - 1].id;\n\t\t\t\t\tcontentObj.afterContentID = afterContentID;\n\t\t\t\t}\n\t\t\t\tcontentObj = { ...contentObj, parentContentID: parent };\n\t\t\t\tcontentID = e.moved.element.id;\n\t\t\t}\n\t\t\tif (!e.removed) {\n\t\t\t\tthis.editContentSequence({ content: contentObj, id: contentID }).then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tconsole.log(\"editContentSequence content\", contentObj);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tupdateProgressbar(value, id) {\n\t\t\tthis.contentProgress = value;\n\t\t\tthis.contentLoadingId = id;\n\t\t},\n\t\tcancel() {\n\t\t\tsetTimeout(() => this.$emit(\"cancelCreate\", \"view\"), 300);\n\t\t},\n\t\ttoggleEditModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showEditModal = state;\n\t\t\t} else this.showEditModal = !this.showEditModal;\n\t\t},\n\t\tshowModal(e) {\n\t\t\te.stopPropagation();\n\t\t\tthis.showEditModal = true;\n\t\t},\n\t\tshowDeleteConfirmPopup(e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to delete the Section: ${this.contentData.title}?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.contentDelete();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t\tcontentDelete() {\n\t\t\tvar contentObj = {\n\t\t\t\t...this.contentData,\n\t\t\t\tparentDirectoryID: this.tabData.id,\n\t\t\t\tentity: \"Section\",\n\t\t\t};\n\n\t\t\tthis.deleteContent(contentObj).then(() => {\n\t\t\t\tconsole.log(\"Section deleted\");\n\t\t\t});\n\t\t},\n\t\tcopySection(e) {\n\t\t\tif (e) e.stopPropagation();\n\t\t\tthis.saveCopiedSection(this.contentData).then(() => {\n\t\t\t\tthis.$toasted.success(\"Section copied\", {\n\t\t\t\t\tduration: 3000,\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\ticon: \"check\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tpasteContent(e) {\n\t\t\tif (e) e.stopPropagation();\n\t\t\tvar copyContentObject = {\n\t\t\t\tcontent: this.copiedContent,\n\t\t\t\tdestinationContentID: this.contentData.id,\n\t\t\t\tdestinationParentID: this.tabData.id,\n\t\t\t};\n\t\t\tthis.copyContent(copyContentObject).then((res) => {\n\t\t\t\tthis.$toasted.success(\"Copied content pasted successfully\", {\n\t\t\t\t\tduration: 3000,\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\ticon: \"check\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tasync pasteSelectedContentSections(e) {\n\t\t\tif (e) e.stopPropagation();\n\t\t\t\n\t\t\tif(this.contentData && this.contentData.id) {\n\t\t\t\tawait this.pasteBulkCopiedContent(this.contentData.id).then((res) => {\n\t\t\t\t\tif(res > 0) {\n\t\t\t\t\t\tthis.$toasted.success(\"Copied content pasted successfully\", {\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\ticon: \"check\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconsole.log({id: this.contentData.id});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tthis.$toasted.error(\"No Content copied\", {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"content\", \"copiedSection\", \"copiedContent\", \"copiedBulkContent\", \"isContentSectionSelectable\", \"selectedBulkCopiedContent\", \"isChapterSelectable\"]),\n\t\t...mapGetters(\"content\", [\"getContent\"]),\n\t\tfilteredContent: {\n\t\t\tget() {\n\t\t\t\tconsole.log(\"filtering recorded video\");\n\t\t\t\tif (this.contentList && this.contentList.length > 0) {\n\t\t\t\t\treturn this.contentList.filter((item) => {\n\t\t\t\t\t\tconsole.log(item);\n\t\t\t\t\t\tif (item.type == ContentType.RECORDED_VIDEOS && item.externalService?.serviceProvider?.toLowerCase() == 'vss') {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t(item.extraProperties && item.extraProperties.Status) ||\n\t\t\t\t\t\t\t\titem.id == this.contentLoadingId\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tif (item.extraProperties.Status != \"NotUploaded\") {\n\t\t\t\t\t\t\t\t\t// console.log(\"item is not uploaded\");\n\t\t\t\t\t\t\t\t\treturn item;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (item.type == ContentType.STUDY_MATERIAL && item.externalService.serviceProvider.toLowerCase()==\"vss\") {\n\t\t\t\t\t\t\tif(item.extraProperties && (typeof item.extraProperties)==\"string\"){\n\t\t\t\t\t\t\t\titem.extraProperties=JSON.parse(item.extraProperties);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t(item.extraProperties && item.extraProperties.Status) ||\n\t\t\t\t\t\t\t\titem.id == this.contentLoadingId\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tif (item.extraProperties.Status != \"NotUploaded\") {\n\t\t\t\t\t\t\t\t\t// console.log(\"item is not uploaded\");\n\t\t\t\t\t\t\t\t\treturn item;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn [];\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tthis.contentList = value;\n\t\t\t},\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.makeContentSectionUnselectable();\n\n\t\tif(this.contentData && this.contentData.id) {\n\t\t\tthis.contentData.accordianState = false;\n\t\t}\n\n\t\tif (this.createMode) {\n\t\t\tthis.mode = \"create\";\n\t\t} else {\n\t\t\tif (this.content[this.contentData.id]) {\n\t\t\t\tvar newArray = [];\n\t\t\t\tif (this.content[this.contentData.id].children != null) {\n\t\t\t\t\tnewArray = [\n\t\t\t\t\t\t...newArray,\n\t\t\t\t\t\t...this.content[this.contentData.id].children,\n\t\t\t\t\t];\n\t\t\t\t}\n\t\t\t\tthis.contentList = newArray;\n\t\t\t}\n\t\t}\n\t},\n\twatch: {\n\t\tgetContent: function () {\n\t\t\tthis.contentList =\n\t\t\t\tthis.contentData &&\n\t\t\t\tthis.getContent[this.contentData.id] &&\n\t\t\t\tthis.getContent[this.contentData.id].children;\n\t\t\tconsole.log(\"content in store updated\");\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.content-item {\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\tborder-radius: 6px;\n\t/* padding: 2rem 2.75rem; */\n\tmargin-bottom: 1.5rem;\n}\n.content-title-container {\n\tpadding: 2rem 1.5rem;\n\tborder-bottom: 1px solid #dcdcdc;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n\n/* .create-content-activity-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tcolumn-gap: 1.25rem;\n}\n\n.create-content-activity-container .button-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1.25rem;\n\tpadding: 2rem 1.5rem;\n\tborder-top: 1px solid #dcdcdc;\n} */\n\n.content-activity-container {\n\t/* padding: 2rem 1.5rem; */\n\tdisplay: flex;\n\tflex-direction: column;\n\t/* align-items: center; */\n}\n\n.content-activity-toggle {\n\tpadding: 2rem 1.5rem;\n}\n\n.content-title-container h1 {\n\tfont-weight: 500;\n\tfont-size: 1.875rem;\n\tline-height: 0.8;\n\tcolor: #000000;\n\tmargin: 0;\n\ttransition: color 0.3s ease;\n}\n\n.content-title-container.not-collapsed h1 {\n\tcolor: var(--primary-color);\n}\n\n.content-title-container input {\n\tfont-weight: 500;\n\tfont-size: 1.875rem;\n\tline-height: 0.8;\n\tcolor: #838383;\n\tmargin: 0;\n\tborder: 0 !important;\n\toutline: none !important;\n\twidth: 100%;\n}\n\n.content-title-container input:focus {\n\toutline: none !important;\n}\n\n.content-title-container form {\n\twidth: 100%;\n}\n\n.content-title-container .fa-angle-down {\n\ttransition: all 0.3s ease;\n\tfont-weight: 500;\n\tfont-size: 1.5rem;\n\tpadding-top: 0.25rem;\n}\n\n.content-title-container .drag-icon.handle {\n\twidth: 1.5rem;\n\theight: 1.5rem;\n\tcursor: grab;\n}\n\n.content-title-container.not-collapsed .fa-angle-down {\n\ttransform: rotate(180deg);\n}\n\n.content-title-container input::-webkit-input-placeholder {\n\tfont-size: 1.875rem;\n}\n.content-title-container h1 span {\n\tfont-weight: bold;\n\tcolor: #838383;\n}\n/*\n.content-list .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n} */\n\n.content-title-container .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tmargin-left: auto;\n\tmargin-right: 0.75rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.content-title-container:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.right-menu-icon {\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n\tcolor: #000000;\n\ttext-decoration: none;\n}\n\n.right-menu-icon img {\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n/* .right-menu-icon img {\n\tmax-height: 0.75rem;\n} */\n.content-activity-toggle {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\ttext-transform: uppercase;\n\tfont-size: 1rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\twidth: 100%;\n}\n\n.add-content-btn {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\ttext-transform: uppercase;\n\tfont-size: 1rem;\n\tletter-spacing: 0.05em;\n\tcolor: #cd222d;\n}\n\n.cancel-content-btn {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\ttext-transform: uppercase;\n\tfont-size: 1rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n}\n\n.no-data {\n\ttext-align: center;\n\tpadding: 1rem 0 1rem;\n\tfont-weight: 500;\n\tcolor: var(--color-gray);\n\tfont-size: 1.5rem;\n}\n\n.option-tabs {\n\tbackground: #ffffff;\n\tborder-bottom: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\t/* border-radius: 6px 6px 0px 0px; */\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 1.5rem;\n}\n\n.option-tab {\n\tpadding: 1.5rem 1.25rem;\n\tfont-weight: 500;\n\tfont-size: 1.125rem;\n\tborder-bottom: 1.5px solid transparent;\n}\n\n.option-tab.active {\n\tborder-bottom: 1.5px solid var(--primary-color);\n}\n\n.option-tab-body {\n\tpadding: 1.75rem;\n\tbackground-color: #f9f9f9;\n}\n\n.option-tabs .cancel-button {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 0.5rem;\n\tmargin-left: auto;\n}\n.cancel-icon {\n\twidth: 0.875rem;\n}\n\n.content-save-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid #21cf47;\n\tbox-sizing: border-box;\n\tborder-radius: 5px;\n\tpadding: 0.375rem 0.5rem;\n\tcolor: #21cf47;\n\tfont-weight: bold;\n\tfont-size: 0.75rem;\n\tline-height: 1;\n\tletter-spacing: 0.05rem;\n\ttext-transform: uppercase;\n\tposition: absolute;\n\tright: 8rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.ghost {\n\topacity: 0.5;\n\tbackground: #c8ebfb;\n}\n\n.section-name {\n\tfont-weight: 500 !important;\n\tcolor: #000 !important;\n\tline-height: 1.1;\n}\n\n.checkbox-icon::before{\n\tcontent: \"\\f14a\";\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseContentSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseContentSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourseContentSection.vue?vue&type=template&id=b3e50686&scoped=true&\"\nimport script from \"./CourseContentSection.vue?vue&type=script&lang=js&\"\nexport * from \"./CourseContentSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CourseContentSection.vue?vue&type=style&index=0&id=b3e50686&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"b3e50686\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n\t\t'list-item',\n\t\t{\n\t\t\tprocessing:\n\t\t\t\t_vm.contentProgress &&\n\t\t\t\t_vm.contentProgress > 0 &&\n\t\t\t\t_vm.contentProgress < 100 &&\n\t\t\t\t_vm.contentData.id == _vm.contentLoadingId,\n\t\t} ]},[(_vm.isContentSectionSelectable)?_c('div',{staticClass:\"m-2\"},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_all\",\"id\":\"select_all\"},on:{\"change\":function($event){return _vm.manageContentState($event)}}})]):_vm._e(),_c('img',{staticClass:\"drag-icon content-handle handle me-3\",attrs:{\"src\":require(\"@/assets/images/drag-icon.svg\")}}),_c('div',{staticClass:\"content-icon-border\"},[(_vm.contentData.type == _vm.ContentType.LIVE_CLASS)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/zoom-icon.png\")}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.STUDY_MATERIAL)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/study-material.png\")}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.DIRECTORY)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/folder-icon.png\")}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.RECORDED_VIDEOS && _vm.contentData.externalService.serviceProvider.toLowerCase() == 'vss')?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/recorded-lecture.png\")}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.RECORDED_VIDEOS && _vm.contentData.externalService.serviceProvider.toLowerCase() == 'youtube')?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/youtube-icon.png\")}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.EXAM || _vm.contentData.type == _vm.ContentType.QUIZ)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/exam-test.png\")}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.FLASHCARDS)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/flash-card.png\")}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.ASSIGNMENT)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/assignment.png\")}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.FREETEXT)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/freeText.png\")}}):_vm._e()]),_c('div',{staticClass:\"d-flex flex-column\"},[_c('div',{staticClass:\"d-flex flex-row align-items-center gap-2\"},[_c('span',{staticClass:\"text-500\"},[_c('span',{staticClass:\"text-bold text-muted\"},[_vm._v(_vm._s(_vm.contentData.id)+\": \")]),_vm._v(\" \"+_vm._s(_vm.contentData.title)+\" \")]),(_vm.contentData.isContentAvailableForDemo)?_c('div',{staticClass:\"demo-tag\"},[_vm._v(\" Demo \")]):_vm._e()]),(\n\t\t\t\t_vm.contentProgress &&\n\t\t\t\t_vm.contentProgress < 100 &&\n\t\t\t\t_vm.contentData.id == _vm.contentLoadingId\n\t\t\t)?_c('b-progress',{staticClass:\"m-0\",attrs:{\"value\":_vm.contentProgress,\"max\":100,\"show-progress\":\"\",\"animated\":\"\"}}):(_vm.contentData.type == _vm.ContentType.ASSIGNMENT)?_c('span',{staticClass:\"text-muted\"},[(_vm.contentExtraProperties.Deadline)?_c('span',[_c('b',[_vm._v(\"Deadline : \")]),_vm._v(\" \"+_vm._s(new Date(_vm.contentExtraProperties.Deadline).toDateString())+\" \"+_vm._s(new Date(_vm.contentExtraProperties.Deadline).toLocaleTimeString()))]):_vm._e()]):(\n\t\t\t\t!_vm.contentExtraProperties ||\n\t\t\t\t(_vm.contentExtraProperties && _vm.contentData.type != _vm.ContentType.LIVE_CLASS && _vm.contentData.type != _vm.ContentType.EXAM)\n\t\t\t)?_c('span',{staticClass:\"text-muted\"},[_vm._v(\" \"+_vm._s(!_vm.contentData.availableTo && _vm.contentData.availableFrom ? \"Starts from \" : \"\")+\" \"+_vm._s(_vm.contentData.availableTo && !_vm.contentData.availableFrom ? \"Ends at \" : \"\")+\" \"+_vm._s(_vm.contentData.availableFrom ? _vm.dateParser(_vm.contentData.availableFrom) : \"\")+\" \"+_vm._s(_vm.contentData.availableFrom && _vm.contentData.availableTo && \"to\")+\" \"+_vm._s(_vm.contentData.availableTo ? _vm.dateParser(_vm.contentData.availableTo) : \"\")+\" \")]):_vm._e(),(\n\t\t\t\t_vm.contentData.type == _vm.ContentType.LIVE_CLASS && _vm.contentExtraProperties\n\t\t\t)?_c('div',[_c('div',{staticClass:\"text-muted\"},[_c('strong',[_vm._v(\"Host: \")]),_vm._v(_vm._s(_vm.contentExtraProperties.Host)+\" \")]),(_vm.contentExtraProperties)?_c('div',{staticClass:\"text-muted\"},[_c('strong',[_vm._v(\"Start Time:\")]),_vm._v(\" \"+_vm._s(_vm.timeParser(_vm.contentData.availableFrom))+\", \"+_vm._s(_vm.dateParser(_vm.contentData.availableFrom))+\" | \"),_c('strong',[_vm._v(\" Duration:\")]),_vm._v(\" \"+_vm._s(_vm.calculatedDuration())+\" Minutes \")]):_vm._e(),(_vm.contentExtraProperties)?_c('div',{staticClass:\"text-muted\"},[_c('strong',[_vm._v(\"Type:\")]),_vm._v(\" \"+_vm._s(_vm.contentExtraProperties.RegistrantAllow ? \"Registrants Only\" : \"Open For All\")+\" | \"+_vm._s(_vm.contentExtraProperties.OpenInSDK ? \"Open on Portal\" : \"Open in Zoom Software\")+\" \")]):_vm._e()]):_vm._e(),(\n\t\t\t\t(_vm.contentData.type == _vm.ContentType.RECORDED_VIDEOS ||\n\t\t\t\t_vm.contentData.type == _vm.ContentType.STUDY_MATERIAL) && _vm.contentData.externalService.serviceProvider.toLowerCase()=='vss' &&\n\t\t\t\t_vm.contentExtraProperties\n\t\t\t)?_c('div',[_c('div',{staticClass:\"text-muted\"},[_c('strong',[_vm._v(\"Status: \")]),_vm._v(_vm._s(_vm.contentExtraProperties.Status)+\" \")]),_c('div',{staticClass:\"text-muted\"},[(_vm.contentExtraProperties.SizeInMB)?_c('span',[_c('strong',[_vm._v(\"Size: \")]),_vm._v(_vm._s(_vm.contentExtraProperties.SizeInMB)+\" MB \"),(_vm.contentData.type == _vm.ContentType.RECORDED_VIDEOS)?_c('span',[_vm._v(\"|\")]):_vm._e()]):_vm._e(),(_vm.contentData.type == _vm.ContentType.RECORDED_VIDEOS && _vm.contentExtraProperties.Duration)?_c('span',[_c('strong',[_vm._v(\" Duration: \")]),_vm._v(_vm._s(_vm.contentExtraProperties.Duration ? (_vm.contentExtraProperties.Duration / 60).toFixed(1) : \"\")+\" Minutes \")]):_vm._e()])]):_vm._e(),(\n\t\t\t\t_vm.contentData.type == _vm.ContentType.EXAM &&\n\t\t\t\t_vm.contentData.externalService.serviceProvider.toLowerCase() ==\n\t\t\t\t\t\t\t\t\t\t_vm.ServiceCodes.EXAM.V3ExamSystem.toLowerCase() &&\n\t\t\t\t_vm.contentExtraProperties\n\t\t\t)?_c('div',[(typeof(_vm.contentExtraProperties)=='string' && JSON.parse(_vm.contentExtraProperties).Layout)?_c('div',{staticClass:\"text-muted\"},[_c('strong',[_vm._v(\"Layout: \")]),_vm._v(_vm._s(JSON.parse(_vm.contentExtraProperties).Layout==\"Start\"?\"F5 to F9 + Professional Level ACCA Exam Format\":\"F1 to F4 (ACCA)\")+\" \")]):(_vm.contentExtraProperties.Layout)?_c('div',{staticClass:\"text-muted\"},[_c('strong',[_vm._v(\"Layout: \")]),_vm._v(_vm._s(_vm.contentExtraProperties.Layout==\"Start\"?\"F5 to F9 + Professional Level ACCA Exam Format\":\"F1 to F4 (ACCA)\")+\" \")]):_vm._e(),_c('div',{staticClass:\"text-muted\"},[_vm._v(\" \"+_vm._s(!_vm.contentData.availableTo && _vm.contentData.availableFrom ? \"Starts from \" : \"\")+\" \"+_vm._s(_vm.contentData.availableTo && !_vm.contentData.availableFrom ? \"Ends at \" : \"\")+\" \"+_vm._s(_vm.contentData.availableFrom ? _vm.dateParser(_vm.contentData.availableFrom) : \"\")+\" \"+_vm._s(_vm.contentData.availableFrom && _vm.contentData.availableTo && \"to\")+\" \"+_vm._s(_vm.contentData.availableTo ? _vm.dateParser(_vm.contentData.availableTo) : \"\")+\" \"+_vm._s(_vm.contentData.availableFrom || _vm.contentData.availableTo ? \"| \":\"\")+\" \"),(typeof(_vm.contentExtraProperties)=='string')?_c('span',[_c('b',[_vm._v(\"Duration : \")]),_vm._v(_vm._s(_vm.examTimeParser(JSON.parse(_vm.contentExtraProperties).TotalTime)))]):_c('span',[_c('b',[_vm._v(\"Duration : \")]),_vm._v(_vm._s(_vm.examTimeParser(_vm.contentExtraProperties.TotalTime)))])])]):_vm._e()],1),_c('div',{staticClass:\"right-menu\"},[_c('div',{staticClass:\"content-cta demo gap-2 d-flex\"},[(_vm.showActionButton)?_c('button',{staticClass:\"border-btn\",attrs:{\"disabled\":_vm.loading,\"type\":\"button\"},on:{\"click\":_vm.handleClick}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")],1):_vm._e(),(\n\t\t\t\t\t_vm.contentData.type == _vm.ContentType.EXAM &&\n\t\t\t\t\t_vm.contentData.externalService.serviceProvider !=\n\t\t\t\t\t\t_vm.ServiceCodes.EXAM.V3ExamSystem\n\t\t\t\t)?_c('button',{staticClass:\"border-btn preview\",attrs:{\"disabled\":_vm.loading,\"type\":\"button\"},on:{\"click\":_vm.viewExamResults}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" View Results \")],1):_vm._e(),(\n\t\t\t\t\t\t\t\t\t_vm.contentData.type == _vm.ContentType.EXAM &&\n\t\t\t\t\t\t\t\t\t_vm.contentData.externalService.serviceProvider.toLowerCase() ==\n\t\t\t\t\t\t\t\t\t\t_vm.ServiceCodes.EXAM.V3ExamSystem.toLowerCase()\n\t\t\t\t\t\t\t\t)?_c('b-dropdown',{staticClass:\"dropdown-preview\",attrs:{\"text\":\"Actions\",\"variant\":\"outline-dark\",\"disabled\":_vm.loading}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.toggleExamQuestionsModal(true,'create')}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Add Question \")],1),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.toggleExamQuestionsModal(true,'list')}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" View Questions\")],1),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.toggleExamActionModal(true,_vm.LegacyExam.GET_EXAM_ACTION.VIEW_RESULTS)}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" View Test Wise Report \")],1),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.toggleExamActionModal(true,_vm.LegacyExam.GET_EXAM_ACTION.REVIEW_QUESTIONS)}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Review Question Answers \")],1)],1):_vm._e(),(\n\t\t\t\t\t\t\t\t\t_vm.contentData.type == _vm.ContentType.QUIZ)?_c('b-dropdown',{staticClass:\"dropdown-preview\",attrs:{\"text\":\"Actions\",\"variant\":\"outline-dark\",\"disabled\":_vm.loading}},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.toggleQuizQuestionsModal(true,'create')}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Add Question \")],1),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.toggleViewQuizQuestionsModal(true)}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" View Questions \")],1)],1):_vm._e(),(_vm.contentData.type == _vm.ContentType.LIVE_CLASS || (_vm.contentData.type == _vm.ContentType.RECORDED_VIDEOS && _vm.contentData.externalService.serviceProvider.toLowerCase() == 'vss'))?_c('button',{staticClass:\"border-btn preview\",attrs:{\"disabled\":_vm.loading,\"type\":\"button\"},on:{\"click\":function($event){return _vm.toggleLiveClassAttendanceModal(true)}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Attendance \")],1):_vm._e()],1),_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.copyContent}},[_c('i',{staticClass:\"fal fa-copy\"})]),(_vm.contentData.type == _vm.ContentType.LIVE_CLASS)?_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\",\"title\":\"Copy Link\"},on:{\"click\":_vm.copyJoinLink}},[_c('i',{staticClass:\"fal fa-link\"})]):_vm._e(),_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.showModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.showDeleteConfirmPopup}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])]),(_vm.contentData.type == _vm.ContentType.STUDY_MATERIAL)?_c('StudyMaterial',{attrs:{\"showModal\":_vm.showStudyMaterialModal,\"contentId\":_vm.contentData.id},on:{\"updateModalState\":_vm.toggleStudyMaterialModal}}):_vm._e(),_c('ManageAssignmentModal',{attrs:{\"isEditMode\":false,\"visible\":this.showManageAssignmentsModal,\"contentData\":_vm.contentData},on:{\"updateModalState\":_vm.toggleManageAssignmentsModal}}),(_vm.contentData.type == _vm.ContentType.LIVE_CLASS)?_c('LiveClassAttendanceModal',{attrs:{\"showModal\":_vm.showLiveClassAttendanceModal,\"productVariantId\":_vm.productVariantId,\"contentData\":_vm.contentData},on:{\"updateModalState\":_vm.toggleLiveClassAttendanceModal}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.RECORDED_VIDEOS)?_c('ContentAttendanceModal',{attrs:{\"showModal\":_vm.showLiveClassAttendanceModal,\"productVariantId\":_vm.productVariantId,\"contentData\":_vm.contentData},on:{\"updateModalState\":_vm.toggleLiveClassAttendanceModal}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.EXAM)?_c('ExamQuestionsModal',{attrs:{\"visible\":_vm.showExamQuestionsModal,\"item\":_vm.contentData,\"mode\":_vm.examQuestionsModal_Mode},on:{\"updateModalState\":_vm.toggleExamQuestionsModal}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.QUIZ)?_c('QuizQuestionsModal',{attrs:{\"visible\":_vm.showQuizQuestionsModal,\"item\":_vm.contentData,\"mode\":_vm.quizQuestionsModal_Mode},on:{\"updateModalState\":_vm.toggleQuizQuestionsModal}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.QUIZ && _vm.showViewQuizQuestionsModal)?_c('ViewQuizQuestionsModal',{attrs:{\"showModal\":_vm.showViewQuizQuestionsModal,\"contentData\":_vm.contentData,\"mode\":_vm.quizQuestionsModal_Mode},on:{\"updateModalState\":_vm.toggleViewQuizQuestionsModal}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.EXAM)?_c('ExamActionModal',{attrs:{\"visible\":_vm.showExamActionModal,\"item\":_vm.contentData,\"action\":_vm.examActionModal_Action},on:{\"updateModalState\":_vm.toggleExamActionModal}}):_vm._e(),(_vm.contentData.type == _vm.ContentType.LIVE_CLASS)?_c('CreateZoomMeetingModal',{attrs:{\"mode\":\"edit\",\"visible\":_vm.showEditModal,\"parentContentId\":_vm.parentDirectoryID,\"meetingData\":_vm.contentExtraProperties,\"contentData\":_vm.contentData},on:{\"updateModalState\":_vm.toggleEditModal}}):(_vm.contentData.type == _vm.ContentType.EXAM &&\n\t\t\t_vm.contentData.externalService.serviceProvider.toLowerCase() ==\n\t\t\t\t\t\t\t\t\t_vm.ServiceCodes.EXAM.V3ExamSystem.toLowerCase())?_c('CreateEditLegacyExamModal',{attrs:{\"showModal\":_vm.showEditModal,\"mode\":\"edit\",\"parentContentId\":_vm.parentDirectoryID,\"productVariantId\":_vm.productVariantId,\"contentData\":_vm.contentData,\"isEditMode\":true},on:{\"updateModalState\":_vm.toggleEditModal}}):(_vm.contentData.type == _vm.ContentType.RECORDED_VIDEOS && _vm.contentData.externalService.serviceProvider.toLowerCase() == 'vss')?_c('UploadRecordedLectureModal',{attrs:{\"showModal\":_vm.showEditModal,\"parentContentId\":_vm.parentDirectoryID,\"productVariantId\":_vm.productVariantId,\"contentData\":_vm.contentData,\"service\":_vm.contentData.externalService,\"contentType\":_vm.contentData.type,\"isEditMode\":true},on:{\"updateModalState\":_vm.toggleEditModal}}):(_vm.contentData.type == _vm.ContentType.RECORDED_VIDEOS && _vm.contentData.externalService.serviceProvider.toLowerCase() == 'youtube')?_c('UploadYoutubeRecordedLectureModal',{attrs:{\"showModal\":_vm.showEditModal,\"parentContentId\":_vm.parentDirectoryID,\"productVariantId\":_vm.productVariantId,\"contentData\":_vm.contentData,\"service\":_vm.contentData.externalService,\"contentType\":_vm.contentData.type,\"isEditMode\":true},on:{\"updateModalState\":_vm.toggleEditModal}}):(_vm.contentData.type == _vm.ContentType.STUDY_MATERIAL)?_c('UploadStudyMaterialModal',{attrs:{\"showModal\":_vm.showEditModal,\"parentContentId\":_vm.parentDirectoryID,\"productVariantId\":_vm.productVariantId,\"contentData\":_vm.contentData,\"isEditMode\":true},on:{\"updateModalState\":_vm.toggleEditModal}}):(_vm.contentData.type == _vm.ContentType.FLASHCARDS)?_c('FlashCardActionModal',{attrs:{\"visible\":_vm.showEditModal,\"parentContentId\":_vm.parentDirectoryID,\"contentData\":_vm.contentData,\"isEditMode\":true},on:{\"updateModalState\":_vm.toggleEditModal}}):(_vm.contentData.type == _vm.ContentType.FREETEXT)?_c('FreeTextActionModal',{attrs:{\"visible\":_vm.showEditModal,\"parentContentId\":_vm.parentDirectoryID,\"contentData\":_vm.contentData,\"isEditMode\":true},on:{\"updateModalState\":_vm.toggleEditModal}}):(_vm.contentData.type == _vm.ContentType.QUIZ)?_c('CreateEditQuizModal',{attrs:{\"showModal\":_vm.showEditModal,\"mode\":\"edit\",\"parentContentId\":_vm.parentDirectoryID,\"productVariantId\":_vm.productVariantId,\"contentData\":_vm.contentData,\"isEditMode\":true},on:{\"updateModalState\":_vm.toggleEditModal}}):(_vm.contentData.type == _vm.ContentType.ASSIGNMENT)?_c('AssignmentActionModal',{attrs:{\"isEditMode\":true,\"visible\":_vm.showEditModal,\"parentContentId\":_vm.parentDirectoryID,\"contentData\":_vm.contentData},on:{\"updateModalState\":_vm.toggleEditModal}}):_c('EditContentModal',{attrs:{\"contentData\":_vm.contentData,\"showModal\":_vm.showEditModal,\"entity\":_vm.contentData.type,\"parentDirectoryID\":_vm.parentDirectoryID},on:{\"updateModalState\":_vm.toggleEditModal}}),(_vm.contentData.type == _vm.ContentType.LIVE_CLASS)?_c('b-modal',{attrs:{\"id\":\"copy-join-url-modal\",\"visible\":_vm.showCopyUrlModal,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"copy-join-url-modal\",\"size\":\"md\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\"},on:{\"change\":_vm.toggleCopyUrlModal}},[_c('div',{staticClass:\"content\"},[_c('h4',[_vm._v(\"Copy Link\")]),_c('div',{staticClass:\"input-group mb-3\"},[_c('p',{staticClass:\"form-control truncate\"},[_c('a',{attrs:{\"href\":_vm.copyUrlLink,\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.copyUrlLink))])]),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.copyJoinUrlToClipBoard}},[_c('i',{staticClass:\"fal fa-copy\"})])])])])]):_vm._e(),_c('b-modal',{attrs:{\"visible\":_vm.showConfirmationDialogForLiveClass,\"id\":\"confirmation-modal\",\"title\":\"Start Live Class?\",\"centered\":\"\"},on:{\"hide\":_vm.closeJoinClassModal},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('a',{staticClass:\"btn btn-primary m-0\",attrs:{\"href\":_vm.joinLiveClassUrl,\"target\":\"_blank\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeJoinClassModal.apply(null, arguments)}}},[_vm._v(\"Yes\")]),_c('a',{staticClass:\"btn btn-secondary mt-0 mr-0 mb-0\",on:{\"click\":function($event){$event.stopPropagation();return _vm.closeJoinClassModal.apply(null, arguments)}}},[_vm._v(\"No\")])]},proxy:true}])},[_c('p',[_vm._v(\"Are you sure you want to start the live class?\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<style>\n.truncate{\n\twhite-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  height: auto;\n}\n</style>\n<template>\n\t\n\t<div\n\t\t:class=\"[\n\t\t\t'list-item',\n\t\t\t{\n\t\t\t\tprocessing:\n\t\t\t\t\tcontentProgress &&\n\t\t\t\t\tcontentProgress > 0 &&\n\t\t\t\t\tcontentProgress < 100 &&\n\t\t\t\t\tcontentData.id == contentLoadingId,\n\t\t\t},\n\t\t]\"\n\t>\n\t\t<div class=\"m-2\" v-if=\"isContentSectionSelectable\">\n\t\t\t<input\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tname=\"select_all\"\n\t\t\t\tid=\"select_all\"\n\t\t\t\t@change=\"manageContentState($event)\"\n\t\t\t/>\n\t\t</div>\n\t\t\n\t\t<img src=\"@/assets/images/drag-icon.svg\" class=\"drag-icon content-handle handle me-3\" />\n\t\t<div class=\"content-icon-border\">\n\t\t\t<img\n\t\t\t\tv-if=\"contentData.type == ContentType.LIVE_CLASS\"\n\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\tsrc=\"@/assets/images/zoom-icon.png\"\n\t\t\t/>\n\t\t\t<img\n\t\t\t\tv-if=\"contentData.type == ContentType.STUDY_MATERIAL\"\n\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\tsrc=\"@/assets/images/study-material.png\"\n\t\t\t/>\n\t\t\t<img\n\t\t\t\tv-if=\"contentData.type == ContentType.DIRECTORY\"\n\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\tsrc=\"@/assets/images/folder-icon.png\"\n\t\t\t/>\n\t\t\t<img\n\t\t\t\tv-if=\"contentData.type == ContentType.RECORDED_VIDEOS && contentData.externalService.serviceProvider.toLowerCase() == 'vss'\"\n\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\tsrc=\"@/assets/images/recorded-lecture.png\"\n\t\t\t/>\n\t\t\t<img\n\t\t\t\tv-if=\"contentData.type == ContentType.RECORDED_VIDEOS && contentData.externalService.serviceProvider.toLowerCase() == 'youtube'\"\n\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\tsrc=\"@/assets/images/youtube-icon.png\"\n\t\t\t/>\n\t\t\t<img\n\t\t\t\tv-if=\"contentData.type == ContentType.EXAM || contentData.type == ContentType.QUIZ\"\n\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\tsrc=\"@/assets/images/exam-test.png\"\n\t\t\t/>\n\t\t\t<img\n\t\t\t\tv-if=\"contentData.type == ContentType.FLASHCARDS\"\n\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\tsrc=\"@/assets/images/flash-card.png\"\n\t\t\t/>\n\t\t\t<img\n\t\t\t\tv-if=\"contentData.type == ContentType.ASSIGNMENT\"\n\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\tsrc=\"@/assets/images/assignment.png\"\n\t\t\t/>\n\t\t\t<img\n\t\t\t\tv-if=\"contentData.type == ContentType.FREETEXT\"\n\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\tsrc=\"@/assets/images/freeText.png\"\n\t\t\t/>\n\t\t</div>\n\t\t<div class=\"d-flex flex-column\">\n\t\t\t<div class=\"d-flex flex-row align-items-center gap-2\">\n\t\t\t\t<span class=\"text-500\">\n\t\t\t\t\t<span class=\"text-bold text-muted\">{{ contentData.id }}: </span>\n\t\t\t\t\t{{ contentData.title }} \n\t\t\t\t</span>\n\t\t\t\t<div v-if=\"contentData.isContentAvailableForDemo\" class=\"demo-tag\">\n\t\t\t\t\tDemo\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<b-progress\n\t\t\t\tv-if=\"\n\t\t\t\t\tcontentProgress &&\n\t\t\t\t\tcontentProgress < 100 &&\n\t\t\t\t\tcontentData.id == contentLoadingId\n\t\t\t\t\"\n\t\t\t\t:value=\"contentProgress\"\n\t\t\t\t:max=\"100\"\n\t\t\t\tshow-progress\n\t\t\t\tanimated\n\t\t\t\tclass=\"m-0\"\n\t\t\t></b-progress>\n\t\t\t<span\n\t\t\t\tv-else-if=\"contentData.type == ContentType.ASSIGNMENT\"\n\t\t\t\tclass=\"text-muted\">\n\t\t\t\t<span v-if=\"contentExtraProperties.Deadline\"><b>Deadline : </b> {{new Date(contentExtraProperties.Deadline).toDateString()}} {{new Date(contentExtraProperties.Deadline).toLocaleTimeString()}}</span>\n\t\t\t\t\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tclass=\"text-muted\"\n\t\t\t\tv-else-if=\"\n\t\t\t\t\t!contentExtraProperties ||\n\t\t\t\t\t(contentExtraProperties && contentData.type != ContentType.LIVE_CLASS && contentData.type != ContentType.EXAM)\n\t\t\t\t\"\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\t!contentData.availableTo && contentData.availableFrom\n\t\t\t\t\t\t? \"Starts from \"\n\t\t\t\t\t\t: \"\"\n\t\t\t\t}}\n\t\t\t\t{{\n\t\t\t\t\tcontentData.availableTo && !contentData.availableFrom\n\t\t\t\t\t\t? \"Ends at \"\n\t\t\t\t\t\t: \"\"\n\t\t\t\t}}\n\t\t\t\t{{\n\t\t\t\t\tcontentData.availableFrom ? dateParser(contentData.availableFrom) : \"\"\n\t\t\t\t}}\n\t\t\t\t{{ contentData.availableFrom && contentData.availableTo && \"to\" }}\n\t\t\t\t{{ contentData.availableTo ? dateParser(contentData.availableTo) : \"\" }}\n\t\t\t</span>\n\t\t\t<div\n\t\t\t\tv-if=\"\n\t\t\t\t\tcontentData.type == ContentType.LIVE_CLASS && contentExtraProperties\n\t\t\t\t\"\n\t\t\t>\n\t\t\t\t<div class=\"text-muted\">\n\t\t\t\t\t<strong>Host: </strong>{{ contentExtraProperties.Host }}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"text-muted\" v-if=\"contentExtraProperties\">\n\t\t\t\t\t<strong>Start Time:</strong>\n\t\t\t\t\t{{ timeParser(contentData.availableFrom) }},\n\t\t\t\t\t{{ dateParser(contentData.availableFrom) }} |\n\t\t\t\t\t<strong> Duration:</strong>\n\t\t\t\t\t{{ calculatedDuration() }} Minutes\n\t\t\t\t</div>\n\t\t\t\t<div class=\"text-muted\" v-if=\"contentExtraProperties\">\n\t\t\t\t\t<strong>Type:</strong>\n\t\t\t\t\t{{\n\t\t\t\t\t\tcontentExtraProperties.RegistrantAllow\n\t\t\t\t\t\t\t? \"Registrants Only\"\n\t\t\t\t\t\t\t: \"Open For All\"\n\t\t\t\t\t}}\n\t\t\t\t\t|\n\t\t\t\t\t{{\n\t\t\t\t\t\tcontentExtraProperties.OpenInSDK\n\t\t\t\t\t\t\t? \"Open on Portal\"\n\t\t\t\t\t\t\t: \"Open in Zoom Software\"\n\t\t\t\t\t}}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tv-if=\"\n\t\t\t\t\t(contentData.type == ContentType.RECORDED_VIDEOS ||\n\t\t\t\t\tcontentData.type == ContentType.STUDY_MATERIAL) && contentData.externalService.serviceProvider.toLowerCase()=='vss' &&\n\t\t\t\t\tcontentExtraProperties\n\t\t\t\t\"\n\t\t\t>\n\t\t\t\t<div class=\"text-muted\">\n\t\t\t\t\t<strong>Status: </strong>{{ contentExtraProperties.Status }}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"text-muted\">\n\t\t\t\t\t<span v-if=\"contentExtraProperties.SizeInMB\">\n\t\t\t\t\t\t<strong>Size: </strong>{{ contentExtraProperties.SizeInMB }} MB <span  v-if=\"contentData.type == ContentType.RECORDED_VIDEOS\">|</span>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span v-if=\"contentData.type == ContentType.RECORDED_VIDEOS && contentExtraProperties.Duration\">\n\t\t\t\t\t\t<strong> Duration: </strong\n\t\t\t\t\t\t>{{\n\t\t\t\t\t\t\tcontentExtraProperties.Duration\n\t\t\t\t\t\t\t\t? (contentExtraProperties.Duration / 60).toFixed(1)\n\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tMinutes\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tv-if=\"\n\t\t\t\t\tcontentData.type == ContentType.EXAM &&\n\t\t\t\t\tcontentData.externalService.serviceProvider.toLowerCase() ==\n\t\t\t\t\t\t\t\t\t\t\tServiceCodes.EXAM.V3ExamSystem.toLowerCase() &&\n\t\t\t\t\tcontentExtraProperties\n\t\t\t\t\"\n\t\t\t>\n\t\t\t\t<div class=\"text-muted\" v-if=\"typeof(contentExtraProperties)=='string' && JSON.parse(contentExtraProperties).Layout\">\n\t\t\t\t\t<strong>Layout: </strong>{{ JSON.parse(contentExtraProperties).Layout==\"Start\"?\"F5 to F9 + Professional Level ACCA Exam Format\":\"F1 to F4 (ACCA)\" }}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"text-muted\" v-else-if=\"contentExtraProperties.Layout\">\n\t\t\t\t\t<strong>Layout: </strong>{{ contentExtraProperties.Layout==\"Start\"?\"F5 to F9 + Professional Level ACCA Exam Format\":\"F1 to F4 (ACCA)\" }}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"text-muted\">\n\t\t\t\t{{\n\t\t\t\t\t!contentData.availableTo && contentData.availableFrom\n\t\t\t\t\t\t? \"Starts from \"\n\t\t\t\t\t\t: \"\"\n\t\t\t\t}}\n\t\t\t\t{{\n\t\t\t\t\tcontentData.availableTo && !contentData.availableFrom\n\t\t\t\t\t\t? \"Ends at \"\n\t\t\t\t\t\t: \"\"\n\t\t\t\t}}\n\t\t\t\t{{\n\t\t\t\t\tcontentData.availableFrom ? dateParser(contentData.availableFrom) : \"\"\n\t\t\t\t}}\n\t\t\t\t{{ contentData.availableFrom && contentData.availableTo && \"to\" }}\n\t\t\t\t{{ contentData.availableTo ? dateParser(contentData.availableTo) : \"\" }} \n\t\t\t\t{{ contentData.availableFrom || contentData.availableTo ? \"| \":\"\" }}\n\t\t\t\t<span  v-if=\"typeof(contentExtraProperties)=='string'\"><b>Duration : </b>{{examTimeParser(JSON.parse(contentExtraProperties).TotalTime)}}</span>\n\t\t\t\t<span  v-else><b>Duration : </b>{{examTimeParser(contentExtraProperties.TotalTime)}}</span></div>\n\t\t\t\t\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"right-menu\">\n\t\t\t<div class=\"content-cta demo gap-2 d-flex\">\n\t\t\t\t<button\n\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\t@click=\"handleClick\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"border-btn\"\n\t\t\t\t\tv-if=\"showActionButton\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\t{{ buttonText }}\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"\n\t\t\t\t\t\tcontentData.type == ContentType.EXAM &&\n\t\t\t\t\t\tcontentData.externalService.serviceProvider !=\n\t\t\t\t\t\t\tServiceCodes.EXAM.V3ExamSystem\n\t\t\t\t\t\"\n\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\t@click=\"viewExamResults\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"border-btn preview\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\tView Results\n\t\t\t\t</button>\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t<b-dropdown text=\"Actions\" variant=\"outline-dark\" class=\"dropdown-preview\" v-if=\"\n\t\t\t\t\t\t\t\t\t\tcontentData.type == ContentType.EXAM &&\n\t\t\t\t\t\t\t\t\t\tcontentData.externalService.serviceProvider.toLowerCase() ==\n\t\t\t\t\t\t\t\t\t\t\tServiceCodes.EXAM.V3ExamSystem.toLowerCase()\n\t\t\t\t\t\t\t\t\t\" :disabled=\"loading\">\n\t\t\t\t\t<b-dropdown-item @click=\"toggleExamQuestionsModal(true,'create')\" ><b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\t\tAdd Question\n\t\t\t\t\t</b-dropdown-item>\n\t\t\t\t\t<b-dropdown-item  @click=\"toggleExamQuestionsModal(true,'list')\"\n\t\t\t\t\t><b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\tView Questions</b-dropdown-item>\t\t\t\t\n\t\t\t\t\t<b-dropdown-item @click=\"toggleExamActionModal(true,LegacyExam.GET_EXAM_ACTION.VIEW_RESULTS)\">\n\t\t\t\t\t\t<b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\t\tView Test Wise Report\n\t\t\t\t\t</b-dropdown-item>\t\t\t\t\t\t\t\n\t\t\t\t\t<b-dropdown-item @click=\"toggleExamActionModal(true,LegacyExam.GET_EXAM_ACTION.REVIEW_QUESTIONS)\">\n\t\t\t\t\t\t<b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\t\tReview Question Answers\n\t\t\t\t\t</b-dropdown-item>\t\t\t\t\t\n\t\t\t\t</b-dropdown>\n\n\t\t\t\t<b-dropdown text=\"Actions\" variant=\"outline-dark\" class=\"dropdown-preview\" v-if=\"\n\t\t\t\t\t\t\t\t\t\tcontentData.type == ContentType.QUIZ\" :disabled=\"loading\">\n\t\t\t\t\t<b-dropdown-item @click=\"toggleQuizQuestionsModal(true,'create')\" ><b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\t\tAdd Question\n\t\t\t\t\t</b-dropdown-item>\n\t\t\t\t\t<b-dropdown-item @click=\"toggleViewQuizQuestionsModal(true)\" ><b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\t\tView Questions\n\t\t\t\t\t</b-dropdown-item>\n\t\t\t\t\t<!-- <b-dropdown-item  @click=\"toggleExamQuestionsModal(true,'list')\"\n\t\t\t\t\t><b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\tView Questions</b-dropdown-item> -->\n\t\t\t\t</b-dropdown>\n\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"contentData.type == ContentType.LIVE_CLASS || (contentData.type == ContentType.RECORDED_VIDEOS && contentData.externalService.serviceProvider.toLowerCase() == 'vss')\"\n\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\t@click=\"toggleLiveClassAttendanceModal(true)\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"border-btn preview\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\tAttendance\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<a role=\"button\" class=\"right-menu-icon\" @click=\"copyContent\">\n\t\t\t\t<i class=\"fal fa-copy\"></i>\n\t\t\t</a>\n\t\t\t<a v-if=\"contentData.type == ContentType.LIVE_CLASS\" role=\"button\" class=\"right-menu-icon\" @click=\"copyJoinLink\" title=\"Copy Link\">\n\t\t\t\t<i class=\"fal fa-link\"></i>\n\t\t\t</a>\n\t\t\t<a role=\"button\" class=\"right-menu-icon\" @click=\"showModal\">\n\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\"  />\n\t\t\t</a>\n\t\t\t\n\t\t\t<a\n\t\t\t\t@click=\"showDeleteConfirmPopup\"\n\t\t\t\trole=\"button\"\n\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t>\n\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t</a>\n\t\t</div>\n\t\t<StudyMaterial\n\t\t\tv-if=\"contentData.type == ContentType.STUDY_MATERIAL\"\n\t\t\t:showModal=\"showStudyMaterialModal\"\n\t\t\t@updateModalState=\"toggleStudyMaterialModal\"\n\t\t\t:contentId=\"contentData.id\"\n\t\t/>\n\t\t\n\t\t<ManageAssignmentModal\n\t\t\t:isEditMode=\"false\"\n\t\t\t:visible=\"this.showManageAssignmentsModal\"\n\t\t\t:contentData=\"contentData\"\n\t\t\t@updateModalState=\"toggleManageAssignmentsModal\"\n\t\t/>\n\t\t<LiveClassAttendanceModal\n\t\t\t\tv-if=\"contentData.type == ContentType.LIVE_CLASS\"\n\t\t\t\t@updateModalState=\"toggleLiveClassAttendanceModal\"\n\t\t\t\t:showModal=\"showLiveClassAttendanceModal\"\n\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t:contentData=\"contentData\"\n\n\t\t\t>\n\t\t\t</LiveClassAttendanceModal>\n\t\t\t<ContentAttendanceModal\n\t\t\t\tv-if=\"contentData.type == ContentType.RECORDED_VIDEOS\"\n\t\t\t\t@updateModalState=\"toggleLiveClassAttendanceModal\"\n\t\t\t\t:showModal=\"showLiveClassAttendanceModal\"\n\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t:contentData=\"contentData\"\n\n\t\t\t>\n\t\t\t</ContentAttendanceModal>\n\t\t\t<ExamQuestionsModal\n\t\t\tv-if=\"contentData.type == ContentType.EXAM\"\n\t\t\t\t@updateModalState=\"toggleExamQuestionsModal\"\n\t\t\t\t:visible=\"showExamQuestionsModal\"\n\t\t\t\t:item=\"contentData\"\n\t\t\t\t:mode=\"examQuestionsModal_Mode\"\n\t\t\t>\n\t\t\t</ExamQuestionsModal>\n\t\t\t<QuizQuestionsModal\n\t\t\t\tv-if=\"contentData.type == ContentType.QUIZ\"\n\t\t\t\t@updateModalState=\"toggleQuizQuestionsModal\"\n\t\t\t\t:visible=\"showQuizQuestionsModal\"\n\t\t\t\t:item=\"contentData\"\n\t\t\t\t:mode=\"quizQuestionsModal_Mode\"\n\t\t\t/>\n\t\t\t<ViewQuizQuestionsModal\n\t\t\t\tv-if=\"contentData.type == ContentType.QUIZ && showViewQuizQuestionsModal\"\n\t\t\t\t@updateModalState=\"toggleViewQuizQuestionsModal\"\n\t\t\t\t:showModal=\"showViewQuizQuestionsModal\"\n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t:mode=\"quizQuestionsModal_Mode\"\n\t\t\t/>\n\t\t\t<ExamActionModal\t\t\t\t\n\t\t\t\tv-if=\"contentData.type == ContentType.EXAM\"\n\t\t\t\t@updateModalState=\"toggleExamActionModal\"\n\t\t\t\t:visible=\"showExamActionModal\"\n\t\t\t\t:item=\"contentData\"\n\t\t\t\t:action=\"examActionModal_Action\"\n\t\t\t>\n\t\t\t</ExamActionModal>\n\t\t\t<CreateZoomMeetingModal\n\t\t\t\tv-if=\"contentData.type == ContentType.LIVE_CLASS\"\n\t\t\t\tmode=\"edit\"\n\t\t\t\t:visible=\"showEditModal\"\n\t\t\t\t:parentContentId=\"parentDirectoryID\"\n\t\t\t\t:meetingData=\"contentExtraProperties\"\n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t@updateModalState=\"toggleEditModal\"\n\t\t\t>\n\t\t\t</CreateZoomMeetingModal>\n\t\t\t<CreateEditLegacyExamModal \n\t\t\tv-else-if=\"contentData.type == ContentType.EXAM &&\n\t\t\t\tcontentData.externalService.serviceProvider.toLowerCase() ==\n\t\t\t\t\t\t\t\t\t\tServiceCodes.EXAM.V3ExamSystem.toLowerCase()\" \n\t\t\t\t:showModal=\"showEditModal\" \t\t\t\n\t\t\t\tmode=\"edit\"\n\t\t\t\t:parentContentId=\"parentDirectoryID\"\n\t\t\t\t@updateModalState=\"toggleEditModal\" \n\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t:isEditMode=\"true\"\n\t\t\t />\n\t\t\t<UploadRecordedLectureModal\n\t\t\t\tv-else-if=\"contentData.type == ContentType.RECORDED_VIDEOS && contentData.externalService.serviceProvider.toLowerCase() == 'vss'\"\n\t\t\t\t:showModal=\"showEditModal\"\n\t\t\t\t:parentContentId=\"parentDirectoryID\"\n\t\t\t\t@updateModalState=\"toggleEditModal\"\n\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t:service=\"contentData.externalService\"\n\t\t\t    :contentType=\"contentData.type\"\n\t\t\t\t:isEditMode=\"true\"\n\t\t\t/>\n\t\t\t<UploadYoutubeRecordedLectureModal\n\t\t\t\tv-else-if=\"contentData.type == ContentType.RECORDED_VIDEOS && contentData.externalService.serviceProvider.toLowerCase() == 'youtube'\"\n\t\t\t\t:showModal=\"showEditModal\"\n\t\t\t\t:parentContentId=\"parentDirectoryID\"\n\t\t\t\t@updateModalState=\"toggleEditModal\"\n\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t:service=\"contentData.externalService\"\n\t\t\t    :contentType=\"contentData.type\"\n\t\t\t\t:isEditMode=\"true\"\n\t\t\t/>\n\t\t\t<UploadStudyMaterialModal\n\t\t\t\tv-else-if=\"contentData.type == ContentType.STUDY_MATERIAL\"\n\t\t\t\t:showModal=\"showEditModal\"\n\t\t\t\t:parentContentId=\"parentDirectoryID\"\n\t\t\t\t@updateModalState=\"toggleEditModal\"\n\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t:isEditMode=\"true\"\n\t\t\t/>\n\t\t\t<FlashCardActionModal\n\t\t\t\tv-else-if=\"contentData.type == ContentType.FLASHCARDS\"\n\t\t\t\t:visible=\"showEditModal\"\n\t\t\t\t:parentContentId=\"parentDirectoryID\"\n\t\t\t\t@updateModalState=\"toggleEditModal\"\n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t:isEditMode=\"true\"\n\t\t\t/>\n\t\t\t<FreeTextActionModal\n\t\t\t\tv-else-if=\"contentData.type == ContentType.FREETEXT\"\n\t\t\t\t:visible=\"showEditModal\"\n\t\t\t\t:parentContentId=\"parentDirectoryID\"\n\t\t\t\t@updateModalState=\"toggleEditModal\"\n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t:isEditMode=\"true\"\n\t\t\t/>\n\t\t\t<CreateEditQuizModal\n\t\t\t\tv-else-if=\"contentData.type == ContentType.QUIZ\"\n\t\t\t\t:showModal=\"showEditModal\"\n\t\t\t\tmode=\"edit\"\n\t\t\t\t:parentContentId=\"parentDirectoryID\"\n\t\t\t\t@updateModalState=\"toggleEditModal\" \n\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t:isEditMode=\"true\"\n\t\t\t/>\n\t\t\t<AssignmentActionModal\n\t\t\t\tv-else-if=\"contentData.type == ContentType.ASSIGNMENT\"\n\t\t\t\t:isEditMode=\"true\"\n\t\t\t\t:visible=\"showEditModal\"\n\t\t\t\t:parentContentId=\"parentDirectoryID\"\n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t@updateModalState=\"toggleEditModal\"\n\t\t\t/>\n\t\t\t<EditContentModal\n\t\t\t\tv-else\n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t:showModal=\"showEditModal\"\n\t\t\t\t@updateModalState=\"toggleEditModal\"\n\t\t\t\t:entity=\"contentData.type\"\n\t\t\t\t:parentDirectoryID=\"parentDirectoryID\"\n\t\t\t/>\n\t\t\t<b-modal v-if=\"contentData.type == ContentType.LIVE_CLASS\" id=\"copy-join-url-modal\" :visible=\"showCopyUrlModal\"\n\t\t\t\thide-header centered content-class=\"copy-join-url-modal\" size=\"md\" body-class=\"modal-body\" hide-footer\n\t\t\t\tmodal-class=\"custom-modal\" @change=\"toggleCopyUrlModal\" >\n\t\t\t\t<div class=\"content\">\n\t\t\t\t\t<h4>Copy Link</h4>\n\t\t\t\t\t<div class=\"input-group mb-3\">\n\t\t\t\t\t\t<p class=\"form-control truncate\" >\n\t\t\t\t\t\t\t<a :href=\"copyUrlLink\" target=\"_blank\">\n\t\t\t\t\t\t\t{{copyUrlLink}}</a></p>\n\t\t\t\t\t\t<div class=\"input-group-append\">\n\t\t\t\t\t\t\t<button class=\"btn btn-primary\" type=\"button\" @click=\"copyJoinUrlToClipBoard\"> <i class=\"fal fa-copy\"></i>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t  </div>\n\t\t\t\t</div>\n\t\t\t</b-modal>\n\t\t\t<b-modal :visible=\"showConfirmationDialogForLiveClass\" id=\"confirmation-modal\" title=\"Start Live Class?\" centered @hide=\"closeJoinClassModal\" >\n\t\t\t\t<p>Are you sure you want to start the live class?</p>\n\t\t\t\t<template #modal-footer>\n\t\t\t\t\t<a class=\"btn btn-primary m-0\" @click.stop=\"closeJoinClassModal\" :href=\"joinLiveClassUrl\" target=\"_blank\">Yes</a>\n\t\t\t\t\t<a class=\"btn btn-secondary mt-0 mr-0 mb-0\" @click.stop=\"closeJoinClassModal\">No</a>\n\t\t\t\t</template>\n\t\t\t</b-modal>\n\t</div>\n\t\n</template>\n\n<script>\nimport formatter from \"../../../helpers/FormatHelpers\";\nimport EditContentModal from \"./EditContentModal.vue\";\nimport StudyMaterial from \"../../Content/StudyMaterial.vue\";\nimport CreateEditExamModal from \"../Exam/CreateEditExamModal.vue\";\nimport CreateZoomMeetingModal from \"../Content/CreateZoomMeetingModal.vue\";\nimport UploadRecordedLectureModal from \"../Content/UploadRecordedLectureModal.vue\";\nimport UploadYoutubeRecordedLectureModal from \"../Content/UploadYoutubeRecordedLectureModal.vue\";\nimport UploadStudyMaterialModal from \"../Content/UploadStudyMaterialModal.vue\";\nimport LiveClassAttendanceModal from \"../Attendance/LiveClassAttendanceModal.vue\";\nimport ContentAttendanceModal from \"../Attendance/ContentAttendanceModal.vue\";\nimport ExamQuestionsModal from \"../Content/ExamQuestionsModal.vue\";\nimport QuizQuestionsModal from \"../Content/QuizQuestionsModal.vue\";\nimport CreateEditLegacyExamModal from \"../Exam/CreateEditLegacyExamModal.vue\";\nimport FlashCardActionModal from \"./FlashCardActionModal.vue\";\nimport FreeTextActionModal from \"./FreeTextActionModal.vue\";\nimport CreateEditQuizModal from \"../Exam/Quiz/CreateEditQuizModal.vue\";\nimport ExamActionModal from \"./ExamActionModal.vue\"\nimport ManageAssignmentModal from \"./ManageAssignmentModal.vue\"\nimport { mapActions, mapState } from \"vuex\";\nimport { contentService } from \"../../../services/content.service\";\nimport { ContentType } from \"../../../constants/content\";\nimport { ServiceCodes } from \"../../../constants/serviceCodes\";\nimport { setCookie, getCookie } from \"../../../helpers/CookieHelpers\";\nimport { LegacyExam } from \"../../../constants/exam\";\nimport ViewQuizQuestionsModal from \"./ViewQuizQuestionsModal.vue\";\nimport AssignmentActionModal from \"./AssignmentActionModal.vue\";\nexport default {\n\tname: \"CourseContentSectionChild\",\n\tdata() {\n\t\t\n\t\treturn {\n\t\t\t// ContentType: {\n\t\t\t// \tDIRECTORY: \"directory\",\n\t\t\t// \tRECORDED_VIDEOS: ContentType.RECORDED_VIDEOS,\n\t\t\t// \tLIVE_CLASS: ContentType.LIVE_CLASS,\n\t\t\t// \tASSIGNMENT: ContentType.ASSIGNMENT,\n\t\t\t// \tSTUDY_MATERIAL: ContentType.STUDY_MATERIAL,\n\t\t\t// \tEXAM: ContentType.EXAM,\n\t\t\t// },\n\t\t\tshowEditModal: false,\n\t\t\tshowStudyMaterialModal: false,\n\t\t\tshowExamActionModal:false,\n\t\t\tshowExamQuestionsModal:false,\n\t\t\tshowManageAssignmentsModal:false,\n\t\t\tshowQuizQuestionsModal: false,\n\t\t\texamQuestionsModal_Mode:null,\n\t\t\tquizQuestionsModal_Mode:null,\n\t\t\tcontentExtraProperties: null,\n\t\t\tshowLiveClassAttendanceModal: false,\n\t\t\texamActionModal_Action:null,\n\t\t\tshowCopyUrlModal:false,\n\t\t\tcopyUrlLink:\"\",\n\t\t\tContentType,\n\t\t\tServiceCodes,\n\t\t\tLegacyExam,\n\t\t\tshowViewQuizQuestionsModal: false,\n\t\t\tshowConfirmationDialogForLiveClass: false,\n    \t\tjoinLiveClassUrl: ''\n\t\t};\n\t},\n\tprops: {\n\t\tcontentData: Object,\n\t\tcontentProgress: Number,\n\t\tcontentLoadingId: String,\n\t\tparentDirectoryID: String,\n\t\tproductVariantId: String,\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"content\", \"loading\", \"isContentSectionSelectable\"]),\n\t\t...mapState(\"user\", [\"user\"]),\n\t\tcontentLink() {\n\t\t\tswitch (this.contentData.type) {\n\t\t\t\tcase ContentType.RECORDED_VIDEOS:\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\"/content/video/\" +\n\t\t\t\t\t\tthis.contentData.title\n\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\tthis.contentData.id +\n\t\t\t\t\t\t\"_\" +\n\t\t\t\t\t\tthis.productVariantId\n\t\t\t\t\t);\n\t\t\t\tcase ContentType.ASSIGNMENT:\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\"/content/assignment/\" +\n\t\t\t\t\t\tthis.contentData.title\n\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\tthis.contentData.id +\n\t\t\t\t\t\t\"_\" +\n\t\t\t\t\t\tthis.productVariantId\n\t\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tbuttonText() {\n\t\t\tswitch (this.contentData.type) {\n\t\t\t\tcase ContentType.RECORDED_VIDEOS:\n\t\t\t\t\treturn \"Watch\";\n\t\t\t\tcase ContentType.LIVE_CLASS:\n\t\t\t\t\treturn \"Join\";\n\t\t\t\tcase ContentType.STUDY_MATERIAL:\n\t\t\t\t\treturn \"View\";\n\t\t\t\tcase ContentType.EXAM:\n\t\t\t\t\treturn \"Preview\";\n\t\t\t\tcase ContentType.ASSIGNMENT:\n\t\t\t\t\treturn \"Manage\";\n\t\t\t}\n\t\t},\n\t\tshowActionButton() {\n\t\t\tswitch (this.contentData.type) {\n\t\t\t\tcase ContentType.LIVE_CLASS:\n\t\t\t\t\treturn (\n\t\t\t\t\t\tDate.now() <\n\t\t\t\t\t\tnew Date(this.contentData.availableTo).setHours(\n\t\t\t\t\t\t\tnew Date(this.contentData.availableTo).getHours() + 3\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase ContentType.EXAM:\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.contentData.externalService.serviceProvider ==\n\t\t\t\t\t\tServiceCodes.EXAM.V3ExamSystem\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase ContentType.ASSIGNMENT:\n\t\t\t\t\treturn true;\n\t\t\t\tcase ContentType.RECORDED_VIDEOS:\n\t\t\t\t\treturn true;\n\t\t\t\tcase ContentType.STUDY_MATERIAL:\n\t\t\t\t\treturn true;\n\t\t\t\tdefault:\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\n\t\t\t\"deleteContent\",\n\t\t\t\"getContentById\",\n\t\t\t\"saveCopiedContent\",\n\t\t\t\"selectBulkContent\",\n\t\t\t\"unselectBulkContent\",\n\t\t\t\"saveBulkCopiedContent\"\n\t\t]),\n\n\t\tmanageContentState(event) {\n\t\t\tif(event){\n\t\t\t\tif(event.target.checked) {\n\t\t\t\t\tthis.selectBulkContent(this.contentData);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.unselectBulkContent(this.contentData)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\ttoggleCopyUrlModal(){\n\t\t\tthis.showCopyUrlModal=!this.showCopyUrlModal;\n\t\t\tif (!this.showCopyUrlModal) {\n\t\t\t\tthis.copyUrlLink = null;\n\t\t\t}\n\t\t},\n\t\tcopyJoinUrlToClipBoard(){\n\t\t\tnavigator.clipboard.writeText(this.copyUrlLink);\n\t\t\tthis.$toasted.success(\"Link copied to clipboard\", {\n\t\t\t\t\tduration: 3000,\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\ticon: \"check\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t});\n\t\t},\n\t\tdateParser(date) {\n\t\t\treturn formatter.toShortDateString(date);\n\t\t},\n\t\ttimeParser(date) {\n\t\t\treturn formatter.getTimeIn12Hours(date);\n\t\t},\n\t\texamTimeParser(time) {\n\t\t\t\n\t\t\ttime=time.replace(\"00h\",\"\");\n\t\t\ttime=time.replace(\"00m\",\"\");\t\t\t\n\t\t\ttime=time.replace(\"00s\",\"\");\n\t\t\ttime=time.replace(\"h\",\" hr \");\n\t\t\ttime=time.replace(\"m\",\" min \");\n\t\t\ttime=time.replace(\"s\",\" sec \");\n\t\t\treturn time;\n\t\t},\n\t\ttoggleEditModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showEditModal = state;\n\t\t\t} else this.showEditModal = !this.showEditModal;\n\t\t},\n\t\tshowModal() {\n\t\t\tthis.showEditModal = true;\n\t\t},\n\t\tshowDeleteConfirmPopup(e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to delete Content: ${this.contentData.title}?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.contentDelete();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t\tcontentDelete() {\n\t\t\tvar contentObj = {\n\t\t\t\t...this.contentData,\n\t\t\t\tparentDirectoryID: this.parentDirectoryID,\n\t\t\t\tentity: this.contentData.type,\n\t\t\t};\n\n\t\t\tthis.deleteContent(contentObj).then(() => {\n\t\t\t\tconsole.log(\"Content deleted\");\n\t\t\t});\n\t\t},\n\t\tjoinClass() {\n\n\t\t\t// var joinURLFromCookies = getCookie(\n\t\t\t// \t`${this.contentData.id}_${this.user.id}`\n\t\t\t// );\n\t\t\t// if (joinURLFromCookies) {\n\t\t\t// \tconsole.log({ joinURLFromCookies });\n\t\t\t// \twindow.open(joinURLFromCookies, \"_blank\");\n\t\t\t// \treturn;\n\t\t\t// }\n\n      this.joinLiveClassUrl = '';\n\n\t\t\tthis.getContentById({\n\t\t\t\tid: this.contentData.id,\n\t\t\t\textraParams: { Platform: contentService.getCurrentPlatform() },\n\t\t\t}).then(() => {\n\t\t\t\tthis.joinLiveClassUrl = this.content[this.contentData.id].data.joining_Url;\n        this.showConfirmationDialogForLiveClass = true;\n\t\t\t});\n\t\t},\n\t\tcloseJoinClassModal() {\n\t\t\tthis.showConfirmationDialogForLiveClass = false;\n    },\n\t\tcopyJoinLink() {\n\t\t\tthis.getContentById({\n\t\t\t\tid: this.contentData.id,\n\t\t\t\textraParams: { Platform: contentService.getCurrentPlatform(), For: \"student\" },\n\t\t\t}).then(() => {\n\t\t\t\tconsole.log(this.content[this.contentData.id].data.joining_Url);\n\t\t\t\tthis.copyUrlLink=this.content[this.contentData.id].data.joining_Url;\n\t\t\t\tif(this.showCopyUrlModal){\n\t\t\t\t\tthis.showCopyUrlModal=false;\n\t\t\t\t}\n\t\t\t\tthis.showCopyUrlModal=true;\n\t\t\t});\n\t\t},\n\t\tshowVideo() {\n\t\t\tconsole.log(\"showVideo\");\n\t\t\tthis.getContentById({\n\t\t\t\tid: this.contentData.id,\n\t\t\t\textraParams: { Platform: contentService.getCurrentPlatform() },\n\t\t\t}).then(() => {\n\t\t\t\twindow.open(this.contentLink, \"_blank\");\n\t\t\t});\n\t\t},\n\t\tpreviewExam() {\n\t\t\tthis.getContentById({\n\t\t\t\tid: this.contentData.id,\n\t\t\t\textraParams: { RedirectUrl: window.location.href },\n\t\t\t}).then((res) => {\n\t\t\t\twindow.location.href = `http://examapp.gocbeglobal.com/exam/attempt?examPreview=true&TestID=${res.data.examID}`;\n\t\t\t});\n\t\t},\n\t\thandleClick() {\n\t\t\tconsole.log(\"handleClick\", this.contentData.type);\n\t\t\tswitch (this.contentData.type) {\n\t\t\t\tcase ContentType.RECORDED_VIDEOS:\n\t\t\t\t\tthis.showVideo();\n\t\t\t\t\treturn;\n\t\t\t\tcase ContentType.LIVE_CLASS:\n\t\t\t\t\tthis.joinClass();\n\t\t\t\t\treturn;\n\t\t\t\tcase ContentType.STUDY_MATERIAL:\n\t\t\t\t\tthis.toggleStudyMaterialModal(true);\n\t\t\t\t\treturn;\n\t\t\t\tcase ContentType.ASSIGNMENT:\n\t\t\t\t\tthis.toggleManageAssignmentsModal(true);\n\t\t\t\t\treturn;\n\t\t\t\tcase ContentType.EXAM:\n\t\t\t\t\tthis.previewExam();\n\t\t\t\t\treturn;\n\t\t\t\tcase ContentType.ASSIGNMENT:\n\t\t\t\t\tthis.toggleManageAssignmentsModal(true);\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\t\ttoggleStudyMaterialModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showStudyMaterialModal = state;\n\t\t\t} else {\n\t\t\t\tthis.showStudyMaterialModal = !this.showStudyMaterialModal;\n\t\t\t}\n\t\t},\n\t\ttoggleManageAssignmentsModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showManageAssignmentsModal = state;\n\t\t\t} else {\n\t\t\t\tthis.showManageAssignmentsModal = !this.showManageAssignmentsModal;\n\t\t\t}\n\t\t},\n\t\t\n\t\tviewExamResults() {},\n\t\ttoggleLiveClassAttendanceModal(state) {\n\t\t\tif (state === undefined) {\n\t\t\t\tthis.showLiveClassAttendanceModal = !this.showLiveClassAttendanceModal;\n\t\t\t} else this.showLiveClassAttendanceModal = state;\n\t\t},\n\n\t\ttoggleExamQuestionsModal(isOpen,mode) {\n\t\t\tif (isOpen === undefined) {\n\t\t\t\tthis.showExamQuestionsModal = !this.showExamQuestionsModal;\n\t\t\t} else this.showExamQuestionsModal = isOpen;\n            \n\t\t\tif(mode){\n\t\t\t\tthis.examQuestionsModal_Mode=mode;\n\t\t\t}\n\n\n\t\t},\n\n\t\ttoggleQuizQuestionsModal(isOpen,mode) {\n\t\t\tif (isOpen === undefined) {\n\t\t\t\tthis.showQuizQuestionsModal = !this.showQuizQuestionsModal;\n\t\t\t} else this.showQuizQuestionsModal = isOpen;\n            \n\t\t\tif(mode){\n\t\t\t\tthis.quizQuestionsModal_Mode=mode;\n\t\t\t}\n\n\n\t\t},\n\t\t\n\t\ttoggleExamActionModal(isOpen,action) {\n\t\t\tif (isOpen === undefined) {\n\t\t\t\tthis.showExamActionModal = !this.showExamActionModal;\n\t\t\t} else this.showExamActionModal = isOpen;\n            \n            if(action){\n\t\t\t\tthis.examActionModal_Action=action;\n\t\t\t}\n\t\t},\n\t\tcalculatedDuration() {\n\t\t\tvar startTime = new Date(this.contentData.availableFrom).getTime();\n\t\t\tvar endTime = new Date(this.contentData.availableTo).getTime();\n\t\t\tvar diff = endTime - startTime;\n\t\t\treturn diff / (1000 * 60);\n\t\t},\n\t\tcopyContent(e) {\n\t\t\tif (e) e.stopPropagation();\n\t\t\tconsole.log(\"copyContent\", this.contentData.id);\n\t\t\tthis.saveBulkCopiedContent(this.contentData).then(() => {\n\t\t\t\tthis.$toasted.success(\"Content copied\", {\n\t\t\t\t\tduration: 5000,\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\ticon: \"check\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\n\t\ttoggleViewQuizQuestionsModal(state) {\n\t\t\tif (state === undefined) {\n\t\t\t\tthis.showViewQuizQuestionsModal = !this.showViewQuizQuestionsModal;\n\t\t\t} else this.showViewQuizQuestionsModal = state;\n\t\t}\n\t},\n\tcomponents: {\t\t\n\t\tLegacyExam,\n\t\tEditContentModal,\n\t\tStudyMaterial,\n\t\tCreateEditExamModal,\n\t\tCreateZoomMeetingModal,\n\t\tCreateEditLegacyExamModal,\n\t\tUploadRecordedLectureModal,\n\t\tUploadStudyMaterialModal,\n\t\tLiveClassAttendanceModal,\n\t\tContentAttendanceModal,\n\t\tExamQuestionsModal,\n\t\tExamActionModal,\n\t\tFlashCardActionModal,\n\t\tFreeTextActionModal,\n\t\tManageAssignmentModal, \n\t\tQuizQuestionsModal,\n\t\tCreateEditQuizModal,\n\t\tViewQuizQuestionsModal,\n\t\tAssignmentActionModal,\n\t\tUploadYoutubeRecordedLectureModal\n\t},\n\tcreated() {\n\t\tif (this.contentData && this.contentData.extraProperties != null) {\n\t\t\tthis.contentExtraProperties =typeof(this.contentData.extraProperties)=='string'?\n\t\t\t JSON.parse(\n\t\t\t\tthis.contentData.extraProperties\n\t\t\t ):this.contentData.extraProperties;\n\t\t}\n\t},\n\twatch: {\n\t\tcontentData: function () {\n\t\t\tif (this.contentData.extraProperties != null) {\n\t\t\t\tthis.contentExtraProperties =\n\t\t\t\t\t// JSON.parse(\n\t\t\t\t\tthis.contentData.extraProperties;\n\t\t\t\t// );\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n@keyframes pulse {\n\t0% {\n\t\tbackground-color: #fff;\n\t}\n\n\t50% {\n\t\tbackground-color: #e1f5fd;\n\t}\n\n\t100% {\n\t\tbackground-color: #fff;\n\t}\n}\n\n.list-item {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tborder-bottom: 1px solid var(--color-light-gray);\n\tcursor: pointer;\n\tfont-size: 1rem;\n\tpadding: 1rem;\n}\n\n.list-item.processing {\n\topacity: 0.5;\n\tpointer-events: none;\n}\n\n.list-item.new {\n\tanimation: pulse 1.5s ease 1;\n}\n\n.content-item-icon {\n\t/* margin-left: 0.25rem; */\n\tmargin-right: 0.5rem;\n\tfont-size: 1rem;\n\tcolor: var(--color-text-default);\n}\n\n.page-view-icon {\n\tfont-size: 0.9rem;\n\t/* width: 32px; */\n\theight: 36px;\n\t/* border-radius: 50%; */\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.page-view-icon.blue-bg {\n\tbackground-color: #2d8bfe;\n\tcolor: var(--color-white);\n}\n\n.content-icon-border {\n\twidth: 40px;\n\theight: 40px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 1rem;\n\t/* border: 2px solid #d5d5d5; */\n\tborder-radius: 50%;\n}\n\n.demo-tag {\n\tborder-radius: 6px;\n\tpadding: 0.25rem 0.5rem;\n\ttext-transform: uppercase;\n\tcolor: #ffffff;\n\tfont-size: 0.75rem;\n\tfont-weight: normal;\n\tline-height: 1;\n\twidth: fit-content;\n\tbackground-color: var(--primary-color);\n}\n\n.content-list .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tmargin-left: auto;\n\tmargin-right: 0.75rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.content-list .list-item:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n/* .content-list .list-item {\n\tcursor: pointer;\n} */\n.content-list .list-item .drag-icon.handle {\n\tcursor: grab;\n}\n\n.right-menu-icon {\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n\tcolor: #000000;\n\ttext-decoration: none;\n}\n\n.right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n\n\n/* .right-menu-icon img {\n\tmax-height: 0.75rem;\n} */\n\n.content-cta button {\n\tpadding: 0.425rem 0;\n\twidth: 5.75rem;\n\tline-height: 1;\n\tborder-color: #282828;\n\tfont-size: 0.875rem;\n\tborder-radius: 4px;\n\tcolor: #282828 !important;\n\tfont-weight: 500;\n}\n\n.content-cta button.preview {\n\tpadding: 0.425rem 0.675rem;\n\twidth: fit-content;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseContentSectionChild.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseContentSectionChild.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourseContentSectionChild.vue?vue&type=template&id=4a48dc43&scoped=true&\"\nimport script from \"./CourseContentSectionChild.vue?vue&type=script&lang=js&\"\nexport * from \"./CourseContentSectionChild.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CourseContentSectionChild.vue?vue&type=style&index=0&id=4a48dc43&prod&lang=css&\"\nimport style1 from \"./CourseContentSectionChild.vue?vue&type=style&index=1&id=4a48dc43&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4a48dc43\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{class:['content-tab created', { active: _vm.activeTab == _vm.item.id }],attrs:{\"id\":_vm.item.id},on:{\"click\":function($event){return _vm.$emit('changeTab', $event)}}},[_c('img',{staticClass:\"drag-icon chapter-handle handle\",attrs:{\"src\":require(\"@/assets/images/drag-icon.svg\")}}),_vm._v(_vm._s(_vm.item.title)+\" \"),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.showModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]),_c('EditContentModal',{attrs:{\"contentData\":_vm.item,\"showModal\":_vm.showEditModal,\"entity\":\"Subject\",\"productVariantID\":_vm.productVariantID},on:{\"updateModalState\":_vm.toggleEditModal}}),(_vm.user.type && _vm.user.type.toLowerCase() != 'trainer')?_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.showDeleteConfirmPopup}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <li\n    :id=\"item.id\"\n    :class=\"['content-tab created', { active: activeTab == item.id }]\"\n    @click=\"$emit('changeTab', $event)\"\n  >\n    <img\n      src=\"@/assets/images/drag-icon.svg\"\n      class=\"drag-icon chapter-handle handle\"\n    />{{ item.title }}\n    <div class=\"right-menu\">\n      <a role=\"button\" class=\"right-menu-icon\" @click=\"showModal\">\n        <img src=\"@/assets/images/edit-icon.svg\" />\n      </a>\n      <EditContentModal\n        :contentData=\"item\"\n        :showModal=\"showEditModal\"\n        @updateModalState=\"toggleEditModal\"\n        entity=\"Subject\"\n        :productVariantID=\"productVariantID\"\n      />\n      <a\n        v-if=\"user.type && user.type.toLowerCase() != 'trainer'\"\n        @click=\"showDeleteConfirmPopup\"\n        role=\"button\"\n        class=\"right-menu-icon delete\"\n      >\n        <img src=\"@/assets/images/delete-icon.svg\" />\n      </a>\n    </div>\n  </li>\n</template>\n\n<script>\nimport EditContentModal from \"./EditContentModal.vue\";\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n  name: \"CourseContentTab\",\n  data() {\n    return {\n      showEditModal: false,\n    };\n  },\n  props: { item: Object, activeTab: String, productVariantID: String },\n  components: { EditContentModal },\n  methods: {\n    ...mapActions(\"content\", [\"saveCopiedTab\", \"deleteProductVariantItem\"]),\n    toggleEditModal(state) {\n      if (state !== undefined) {\n        this.showEditModal = state;\n      } else this.showEditModal = !this.showEditModal;\n    },\n    showModal(e) {\n      if (e) e.stopPropagation();\n      this.showEditModal = true;\n    },\n    showDeleteConfirmPopup(e) {\n      if (e) {\n        e.preventDefault();\n        e.stopPropagation();\n      }\n      this.$bvModal\n        .msgBoxConfirm(\n          `Are you sure you want to delete the Subject: ${this.item.title}?`,\n          {\n            title: \"Are you sure?\",\n            size: \"md\",\n            buttonSize: \"md\",\n            okVariant: \"danger\",\n            okTitle: \"Yes\",\n            cancelTitle: \"No\",\n            footerClass: \"p-2\",\n            hideHeaderClose: false,\n            centered: true,\n            bodyClass: \"confirm-modal-body\",\n          }\n        )\n        .then((value) => {\n          // this.isConfirm = value;\n          if (value) {\n            this.delete();\n          }\n        })\n        .catch((err) => {\n          console.error(err);\n          // An error occurred\n        });\n    },\n    delete() {\n      var itemObj = {\n        productVariantID: this.productVariantID,\n        items: [\n          {\n            type: \"Content\",\n            id: this.item.id,\n            extraProperties: null,\n          },\n        ],\n      };\n      this.$emit(\"updateActiveTab\");\n      this.deleteProductVariantItem(itemObj).then((res) => {\n        console.log(\"Subject deleted\");\n      });\n    },\n    copyTab() {\n      console.log(this.item.id);\n      this.saveCopiedTab(this.item);\n      this.$toasted.success(\"Subject copied\", {\n        duration: 3000,\n        theme: \"outline\",\n        icon: \"check\",\n        position: \"bottom-center\",\n      });\n    },\n  },\n  computed: {\n    ...mapState(\"user\", [\"user\"]),\n  },\n  mounted() {\n    // $(() => {\n    $(\".course-content-tabs\").contextMenu({\n      selector: `#${this.item.id}`,\n      callback: (key, options) => {\n        switch (key) {\n          case \"edit\":\n            this.showModal();\n            break;\n          case \"delete\":\n            this.showDeleteConfirmPopup();\n            break;\n          case \"copy\":\n            this.copyTab();\n        }\n      },\n      items: {\n        edit: { name: \"Edit\", icon: \"edit\" },\n        copy: { name: \"Copy\", icon: \"copy\" },\n        delete: { name: \"Delete\", icon: \"delete\" },\n      },\n    });\n    // });\n  },\n};\n</script>\n\n<style scoped>\n.content-tab .right-menu {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 0.5rem;\n  margin-left: auto;\n  transition: opacity 0.3s, visibility 0s ease;\n  visibility: hidden;\n  opacity: 0;\n  position: absolute;\n  right: 0;\n}\n\n.content-tab:hover .right-menu {\n  visibility: visible;\n  opacity: 1;\n}\n\n.drag-icon {\n  cursor: grab;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseContentTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseContentTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourseContentTab.vue?vue&type=template&id=45aafdcd&scoped=true&\"\nimport script from \"./CourseContentTab.vue?vue&type=script&lang=js&\"\nexport * from \"./CourseContentTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CourseContentTab.vue?vue&type=style&index=0&id=45aafdcd&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"45aafdcd\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"create-meeting-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"create-meeting-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"custom-stepper-container\"},[_c('div',{staticClass:\"custom-stepper\"},[_c('div',{staticClass:\"custom-stepper-step\"},[_c('div',{class:[\n\t\t\t\t\t\t\t'step-icon first',\n\t\t\t\t\t\t\t{ active: _vm.currentStep == 1, complete: _vm.currentStep > 1 } ]},[_vm._v(\" 1 \")]),_c('div',{staticClass:\"step-text\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\"Basic information\")]),_c('h3',{staticClass:\"subtitle\"},[_vm._v(\"Fill meeting information\")])])]),_c('div',{staticClass:\"custom-stepper-step\"},[_c('div',{class:[\n\t\t\t\t\t\t\t'step-icon',\n\t\t\t\t\t\t\t{ active: _vm.currentStep == 2, complete: _vm.currentStep > 2 } ]},[_vm._v(\" 2 \")]),_c('div',{staticClass:\"step-text\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\"Meeting Type\")]),_c('h3',{staticClass:\"subtitle\"},[_vm._v(\"Select Meeting Type\")])])])])]),_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('form',{attrs:{\"id\":\"zoom-meeting-form\"}},[(_vm.currentStep == 1)?_c('div',{staticClass:\"step1\"},[_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\" \"+_vm._s(_vm.isEditMode ? \"Edit\" : \"Create\")+\" Zoom Meeting \")]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"topic\"}},[_vm._v(\"topic (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.topic),expression:\"topic\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"name\":\"topic\",\"id\":\"topic\",\"disabled\":_vm.onlyReadable,\"placeholder\":\"Enter your zoom meeting topic...\"},domProps:{\"value\":(_vm.topic)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.topic=$event.target.value}}})]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col-lg-6 p-0\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"start_time\"}},[_vm._v(\"Start Time (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.start_time),expression:\"start_time\"}],staticClass:\"form-input\",attrs:{\"type\":\"datetime-local\",\"name\":\"start_time\",\"id\":\"start_time\",\"disabled\":_vm.onlyReadable,\"placeholder\":\"Meeting Date\"},domProps:{\"value\":(_vm.start_time)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.start_time=$event.target.value}}})]),_c('div',{staticClass:\"col-lg-6\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"durationHrs\"}},[_vm._v(\"Duration (required)\")]),_c('div',{staticClass:\"d-flex flex-direction-row gap-2 align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.durationHrs),expression:\"durationHrs\"}],staticClass:\"form-input\",attrs:{\"type\":\"number\",\"name\":\"durationHrs\",\"id\":\"durationHrs\",\"placeholder\":\"Meeting Duration\",\"min\":\"0\",\"disabled\":_vm.onlyReadable,\"max\":\"23\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.durationHrs=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((25),function(num){return _c('option',{key:num - 1,domProps:{\"value\":num - 1}},[_vm._v(\" \"+_vm._s(num - 1)+\" \")])}),0)]),_c('div',{staticClass:\"col-1\"},[_vm._v(\"hr\")]),_c('div',{staticClass:\"col\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.durationMin),expression:\"durationMin\"}],staticClass:\"form-input\",attrs:{\"name\":\"durationMin\",\"id\":\"durationMin\",\"disabled\":_vm.onlyReadable},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.durationMin=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":0}},[_vm._v(\"0\")]),_c('option',{domProps:{\"value\":15}},[_vm._v(\"15\")]),_c('option',{domProps:{\"value\":30}},[_vm._v(\"30\")]),_c('option',{domProps:{\"value\":45}},[_vm._v(\"45\")])])]),_c('div',{staticClass:\"col-1\"},[_vm._v(\"min\")])])])]),_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isAvailableForDemo),expression:\"isAvailableForDemo\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"disabled\":_vm.onlyReadable,\"role\":\"switch\",\"id\":\"isAvailableForDemo\"},domProps:{\"checked\":Array.isArray(_vm.isAvailableForDemo)?_vm._i(_vm.isAvailableForDemo,null)>-1:(_vm.isAvailableForDemo)},on:{\"change\":function($event){var $$a=_vm.isAvailableForDemo,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isAvailableForDemo=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isAvailableForDemo=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isAvailableForDemo=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isAvailableForDemo\"}},[_vm._v(\"Available for Demo \")])]),_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isRecurring),expression:\"isRecurring\"}],staticClass:\"form-check-input\",attrs:{\"disabled\":_vm.isEditMode,\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isRecurring\"},domProps:{\"checked\":Array.isArray(_vm.isRecurring)?_vm._i(_vm.isRecurring,null)>-1:(_vm.isRecurring)},on:{\"change\":function($event){var $$a=_vm.isRecurring,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isRecurring=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isRecurring=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isRecurring=$$c}}}}),_c('label',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"form-check-label\",attrs:{\"for\":\"isRecurring\",\"title\":_vm.isEditMode\n\t\t\t\t\t\t\t\t\t? 'This can not be changed. Please remove and recreate meeting if you want to change these fields.'\n\t\t\t\t\t\t\t\t\t: ''}},[_vm._v(\"Recurring Meeting\")])]),(_vm.isRecurring)?_c('div',[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"recurrence\"}},[_vm._v(\"Recurrence (required)\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"disabled\":_vm.isEditMode,\"id\":\"recurrence\",\"reduce\":function (option) { return option.value; },\"options\":[\n\t\t\t\t\t\t\t\t\t\t{ label: 'Daily', value: 'daily' },\n\t\t\t\t\t\t\t\t\t\t{ label: 'Weekly', value: 'weekly' } ],\"placeholder\":\"Select recurrence\",\"appendToBody\":true,\"calculate-position\":_vm.withPopper,\"clearable\":false},model:{value:(_vm.recurrence.type),callback:function ($$v) {_vm.$set(_vm.recurrence, \"type\", $$v)},expression:\"recurrence.type\"}})],1),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"repeatEvery\"}},[_vm._v(\"Repeat Every (required)\")]),_c('div',{staticClass:\"d-flex gap-2 align-items-end\"},[_c('div',{staticClass:\"col-9\"},[_c('v-select',{staticClass:\"form-input\",attrs:{\"name\":\"repeatEvery\",\"id\":\"repeatEvery\",\"options\":_vm.repeatEveryOptions,\"appendToBody\":true,\"calculate-position\":_vm.withPopper,\"clearable\":false},model:{value:(_vm.recurrence.repeat_interval),callback:function ($$v) {_vm.$set(_vm.recurrence, \"repeat_interval\", $$v)},expression:\"recurrence.repeat_interval\"}})],1),_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.repeatEveryUnit)+\" \")])])])]),(_vm.recurrence.type == 'weekly')?_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"\"}},[_vm._v(\"Occurs on (required)\")]),_c('b-form-checkbox-group',{staticClass:\"weekly-days-checkbox-grp\",attrs:{\"options\":[\n\t\t\t\t\t\t\t\t\t{ item: 1, name: 'Sun' },\n\t\t\t\t\t\t\t\t\t{ item: 2, name: 'Mon' },\n\t\t\t\t\t\t\t\t\t{ item: 3, name: 'Tue' },\n\t\t\t\t\t\t\t\t\t{ item: 4, name: 'Wed' },\n\t\t\t\t\t\t\t\t\t{ item: 5, name: 'Thurs' },\n\t\t\t\t\t\t\t\t\t{ item: 6, name: 'Fri' },\n\t\t\t\t\t\t\t\t\t{ item: 7, name: 'Sat' } ],\"value-field\":\"item\",\"text-field\":\"name\"},model:{value:(_vm.recurrence.weekly_days),callback:function ($$v) {_vm.$set(_vm.recurrence, \"weekly_days\", $$v)},expression:\"recurrence.weekly_days\"}})],1):_vm._e(),_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"recurrenceEndDateType\"}},[_vm._v(\"End Date (required)\")]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"d-flex gap-3 align-items-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.recurrenceEndDateType),expression:\"recurrenceEndDateType\"}],attrs:{\"type\":\"radio\",\"name\":\"recurrenceEndDateType\",\"id\":\"recurrenceEndBy\",\"value\":\"date\"},domProps:{\"checked\":_vm._q(_vm.recurrenceEndDateType,\"date\")},on:{\"change\":function($event){_vm.recurrenceEndDateType=\"date\"}}}),_c('label',{staticClass:\"col d-flex gap-2 align-items-center\",attrs:{\"for\":\"recurrenceEndBy\"}},[_vm._v(\" by \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.recurrenceEndDateValue),expression:\"recurrenceEndDateValue\"}],staticClass:\"form-input\",attrs:{\"type\":\"date\",\"id\":\"recurrenceEndByValue\",\"disabled\":_vm.recurrenceEndDateType != 'date'},domProps:{\"value\":(_vm.recurrenceEndDateValue)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.recurrenceEndDateValue=$event.target.value}}})])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"d-flex gap-2 align-items-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.recurrenceEndDateType),expression:\"recurrenceEndDateType\"}],attrs:{\"type\":\"radio\",\"name\":\"recurrenceEndDateType\",\"id\":\"recurrenceEndAfter\",\"value\":\"occurrences\"},domProps:{\"checked\":_vm._q(_vm.recurrenceEndDateType,\"occurrences\")},on:{\"change\":function($event){_vm.recurrenceEndDateType=\"occurrences\"}}}),_c('label',{staticClass:\"col d-flex gap-2 align-items-center\",attrs:{\"for\":\"recurrenceEndAfter\"}},[_vm._v(\" after \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.recurrenceCount),expression:\"recurrenceCount\"}],staticClass:\"form-input\",attrs:{\"id\":\"recurrenceEndAfterValue\",\"disabled\":_vm.recurrenceEndDateType != 'occurrences'},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.recurrenceCount=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((60),function(days){return _c('option',{key:days,domProps:{\"value\":days}},[_vm._v(\" \"+_vm._s(days)+\" \")])}),0),_vm._v(\" occurrences \")])])])]),_c('p',{staticClass:\"text-danger custom-alert-danger\"},[_vm._v(\"Note: Max 60 occurrences are allowed for recurring meeting.\")])]):_vm._e()]):_vm._e(),(_vm.currentStep == 2)?_c('div',{staticClass:\"step2\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"createWith\"}},[_vm._v(\"Create Meeting using (required)\")]),_c('v-select',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"form-input\",attrs:{\"disabled\":_vm.isEditMode,\"name\":\"createWith\",\"id\":\"createWith\",\"options\":_vm.externalServicesList[_vm.ContentType.LIVE_CLASS],\"reduce\":function (option) { return option.serviceCode; },\"label\":\"serviceName\",\"appendToBody\":true,\"calculate-position\":_vm.withPopper,\"placeholder\":\"Select a Zoom ID\",\"title\":_vm.isEditMode\n\t\t\t\t\t\t\t\t\t? 'This can not be changed. Please remove and recreate meeting if you want to change these fields.'\n\t\t\t\t\t\t\t\t\t: '',\"clearable\":false},model:{value:(_vm.schedule_for),callback:function ($$v) {_vm.schedule_for=$$v},expression:\"schedule_for\"}})],1),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"meeting\"}},[_vm._v(\"meeting type\")]),_c('div',{staticClass:\"status-cards\"},[_c('div',{staticClass:\"status-card-container col-5\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.meetingType),expression:\"meetingType\"}],attrs:{\"type\":\"radio\",\"name\":\"meetingType\",\"id\":\"openForAll\",\"disabled\":_vm.isEditMode},domProps:{\"value\":false,\"checked\":_vm._q(_vm.meetingType,false)},on:{\"change\":function($event){_vm.meetingType=false}}}),_c('label',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"status-card\",attrs:{\"for\":\"openForAll\",\"title\":_vm.isEditMode\n\t\t\t\t\t\t\t\t\t\t\t? 'This can not be changed. Please remove and recreate meeting if you want to change these fields.'\n\t\t\t\t\t\t\t\t\t\t\t: ''}},[_c('p',[_vm._v(\"Open for All\")]),_vm._v(\" The meeting will be accessible to all. \")])]),_c('div',{staticClass:\"status-card-container col-5\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.meetingType),expression:\"meetingType\"}],attrs:{\"type\":\"radio\",\"name\":\"meetingType\",\"id\":\"registrantsOnly\",\"disabled\":_vm.isEditMode},domProps:{\"value\":true,\"checked\":_vm._q(_vm.meetingType,true)},on:{\"change\":function($event){_vm.meetingType=true}}}),_c('label',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"status-card\",attrs:{\"for\":\"registrantsOnly\",\"title\":_vm.isEditMode\n\t\t\t\t\t\t\t\t\t\t\t? 'This can not be changed. Please remove and recreate meeting if you want to change these fields.'\n\t\t\t\t\t\t\t\t\t\t\t: ''}},[_c('p',[_vm._v(\"Registrants Only\")]),_vm._v(\" Only Registrants will be able to join. \"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"( requires Paid Zoom ID )\")])])])])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"meeting\"}},[_vm._v(\"open on\")]),_c('div',{staticClass:\"status-cards w-100\"},[_c('div',{staticClass:\"status-card-container col-5\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.openInSDK),expression:\"openInSDK\"}],attrs:{\"type\":\"radio\",\"name\":\"openInSDK\",\"id\":\"portal\",\"disabled\":_vm.isEditMode,\"title\":_vm.isEditMode\n\t\t\t\t\t\t\t\t\t\t\t? 'This can not be changed. Please remove and recreate meeting if you want to change these fields.'\n\t\t\t\t\t\t\t\t\t\t\t: ''},domProps:{\"value\":true,\"checked\":_vm._q(_vm.openInSDK,true)},on:{\"change\":function($event){_vm.openInSDK=true}}}),_c('label',{staticClass:\"status-card\",attrs:{\"for\":\"portal\"}},[_c('p',[_vm._v(\"Portal\")]),_vm._v(\" The meeting will open on the Portal. \")])]),_c('div',{staticClass:\"status-card-container col-5\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.openInSDK),expression:\"openInSDK\"}],attrs:{\"type\":\"radio\",\"name\":\"openInSDK\",\"id\":\"zoomSoftware\",\"disabled\":_vm.isEditMode,\"title\":_vm.isEditMode\n\t\t\t\t\t\t\t\t\t\t\t? 'This can not be changed. Please remove and recreate meeting if you want to change these fields.'\n\t\t\t\t\t\t\t\t\t\t\t: ''},domProps:{\"value\":false,\"checked\":_vm._q(_vm.openInSDK,false)},on:{\"change\":function($event){_vm.openInSDK=false}}}),_c('label',{staticClass:\"status-card\",attrs:{\"for\":\"zoomSoftware\"}},[_c('p',[_vm._v(\"Zoom Software\")]),_vm._v(\" The meeting will open on the Zoom Desktop Application. \")])])])]),(false)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"d-flex align-items-start\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"registrants\"}},[_vm._v(\"Select registrants\")]),_c('button',{staticClass:\"select-all\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.toggleSelectAll}},[_vm._v(\" \"+_vm._s(_vm.selectBtnText)+\" \")])]),_c('div',{staticClass:\"registrants-list\"},_vm._l((_vm.renderList),function(item){return _c('div',{key:item.id,staticClass:\"registrant\"},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"registrant\",\"id\":(\"registrant\" + (item.id))},domProps:{\"checked\":_vm.isChecked(item.id)},on:{\"change\":function($event){return _vm.checkboxToggle($event, item)}}}),_c('label',{attrs:{\"for\":(\"registrant\" + (item.id))}},[_vm._v(_vm._s(item.name)+\" (\"+_vm._s(item.email)+\")\")])])}),0)]):_vm._e(),_c('div',{staticClass:\"form-group mb-2\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.saveRecording),expression:\"saveRecording\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"disabled\":_vm.onlyReadable,\"id\":\"saveRecording\"},domProps:{\"checked\":Array.isArray(_vm.saveRecording)?_vm._i(_vm.saveRecording,null)>-1:(_vm.saveRecording)},on:{\"change\":[function($event){var $$a=_vm.saveRecording,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.saveRecording=$$a.concat([$$v]))}else{$$i>-1&&(_vm.saveRecording=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.saveRecording=$$c}},function($event){return _vm.changeSaveRecording($event)}]}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"saveRecording\"}},[_vm._v(\"Automatically save meeting recording as lecture \"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"( requires Paid Zoom ID )\")])])])]),(false)?_c('div',[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col-lg-6 p-0\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"recordingTitle\"}},[_vm._v(\"Title\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.recordingTitle),expression:\"recordingTitle\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"name\":\"recordingTitle\",\"id\":\"recordingTitle\",\"placeholder\":\"Recording title\"},domProps:{\"value\":(_vm.recordingTitle)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.recordingTitle=$event.target.value}}})]),_c('div',{staticClass:\"col-lg-6\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"sectionAssigned\"}},[_vm._v(\"Section\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.sectionAssigned),expression:\"sectionAssigned\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"name\":\"sectionAssigned\",\"id\":\"sectionAssigned\",\"placeholder\":\"Assign to section\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.sectionAssigned=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"null\"}},[_vm._v(\"Assign to section\")]),_c('option',{attrs:{\"value\":\"english\"}},[_vm._v(\"English\")]),_c('option',{attrs:{\"value\":\"math\"}},[_vm._v(\"Math\")])])])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col-lg-6 p-0\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"recordingAvailableFrom\"}},[_vm._v(\"Available From\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.recordingAvailableFrom),expression:\"recordingAvailableFrom\"}],staticClass:\"form-input\",attrs:{\"type\":\"date\",\"name\":\"recordingAvailableFrom\",\"id\":\"recordingAvailableFrom\",\"placeholder\":\"Available From\",\"disabled\":_vm.onlyReadable},domProps:{\"value\":(_vm.recordingAvailableFrom)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.recordingAvailableFrom=$event.target.value}}})]),_c('div',{staticClass:\"col-lg-6\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"recordingAvailableTo\"}},[_vm._v(\"Available To\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.recordingAvailableTo),expression:\"recordingAvailableTo\"}],staticClass:\"form-input\",attrs:{\"type\":\"date\",\"name\":\"recordingAvailableTo\",\"id\":\"recordingAvailableTo\",\"disabled\":_vm.onlyReadable,\"placeholder\":\"Available To\"},domProps:{\"value\":(_vm.recordingAvailableTo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.recordingAvailableTo=$event.target.value}}})])])]):_vm._e()]):_vm._e()]),(_vm.onlyReadable)?_c('p',{staticClass:\"text-danger custom-alert-danger\"},[_vm._v(\"Attention: The available date for this content has expired, therefore it can no longer be edited.\")]):_vm._e(),_c('div',{staticClass:\"step-btn-container\"},[(_vm.showPrev)?_c('a',{staticClass:\"step-btn prev\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prev}},[_c('i',{staticClass:\"fas fa-long-arrow-alt-left\"}),_vm._v(\" prev \")]):_vm._e(),_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext() || _vm.loading,\"title\":_vm.onlyReadable\n\t\t\t\t\t\t\t\t\t\t\t? 'The available date for this content has expired, therefore it can no longer be edited.'\n\t\t\t\t\t\t\t\t\t\t\t: ''},on:{\"click\":_vm.next}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.stepButtonContent)+\" \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\tid=\"create-meeting-modal\"\n\t\t@change=\"$emit('updateModalState', false)\"\n\t\t:visible=\"visible\"\n\t\thide-header\n\t\tcentered\n\t\tcontent-class=\"create-meeting-modal\"\n\t\tsize=\"xl\"\n\t\tbody-class=\"modal-body\"\n\t\thide-footer\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t>\n\t\t<div class=\"custom-stepper-container\">\n\t\t\t<div class=\"custom-stepper\">\n\t\t\t\t<div class=\"custom-stepper-step\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'step-icon first',\n\t\t\t\t\t\t\t{ active: currentStep == 1, complete: currentStep > 1 },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t1\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t<h1 class=\"title\">Basic information</h1>\n\t\t\t\t\t\t<h3 class=\"subtitle\">Fill meeting information</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"custom-stepper-step\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'step-icon',\n\t\t\t\t\t\t\t{ active: currentStep == 2, complete: currentStep > 2 },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t2\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t<h1 class=\"title\">Meeting Type</h1>\n\t\t\t\t\t\t<h3 class=\"subtitle\">Select Meeting Type</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!-- Custom Stepper -->\n\t\t</div>\n\t\t<div class=\"body-container\">\n\t\t\t<button\n\t\t\t\t@click=\"$emit('updateModalState', false)\"\n\t\t\t\tclass=\"close-button\"\n\t\t\t\trole=\"button\"\n\t\t\t>\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<form id=\"zoom-meeting-form\">\n\t\t\t\t<div v-if=\"currentStep == 1\" class=\"step1\">\n\t\t\t\t\t<h1 class=\"add-content-title\">\n\t\t\t\t\t\t{{ isEditMode ? \"Edit\" : \"Create\" }} Zoom Meeting\n\t\t\t\t\t</h1>\n                    <div class=\"form-group\">\n\t\t\t\t\t\t<label for=\"topic\" class=\"main-label\">topic (required)</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tname=\"topic\"\n\t\t\t\t\t\t\tid=\"topic\"\n\t\t\t\t\t\t\t:disabled=\"onlyReadable\"\n\t\t\t\t\t\t\tv-model=\"topic\"\n\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\tplaceholder=\"Enter your zoom meeting topic...\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- <button\n\t\t\t\t\t\t@click=\"toggleDesc\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tv-if=\"!showDesc\"\n\t\t\t\t\t\tclass=\"add-desc-btn\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src=\"@/assets/images/plus-icon-gray.svg\" alt=\"\" />\n\t\t\t\t\t\tAdd Description\n\t\t\t\t\t</button>\n\t\t\t\t\t<div v-else class=\"form-group\">\n\t\t\t\t\t\t<label for=\"agenda\" class=\"main-label\"\n\t\t\t\t\t\t\t>Description (optional)</label\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\ttype=\"textarea\"\n\t\t\t\t\t\t\tname=\"agenda\"\n\t\t\t\t\t\t\tid=\"agenda\"\n\t\t\t\t\t\t\tv-model=\"agenda\"\n\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\tplaceholder=\"Enter Description\"\n\t\t\t\t\t\t\trows=\"1\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div> -->\n\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t<div class=\"col-lg-6 p-0\">\n\t\t\t\t\t\t\t<label for=\"start_time\" class=\"main-label\"\n\t\t\t\t\t\t\t\t>Start Time (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"datetime-local\"\n\t\t\t\t\t\t\t\tname=\"start_time\"\n\t\t\t\t\t\t\t\tid=\"start_time\"\n\t\t\t\t\t\t\t\tv-model=\"start_time\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t:disabled=\"onlyReadable\"\n\t\t\t\t\t\t\t\tplaceholder=\"Meeting Date\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-lg-6\">\n\t\t\t\t\t\t\t<label for=\"durationHrs\" class=\"main-label\"\n\t\t\t\t\t\t\t\t>Duration (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div class=\"d-flex flex-direction-row gap-2 align-items-center\">\n\t\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\t\tname=\"durationHrs\"\n\t\t\t\t\t\t\t\t\t\tid=\"durationHrs\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"durationHrs\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Meeting Duration\"\n\t\t\t\t\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"onlyReadable\"\n\t\t\t\t\t\t\t\t\t\tmax=\"23\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<option v-for=\"num in 25\" :value=\"num - 1\" :key=\"num - 1\">\n\t\t\t\t\t\t\t\t\t\t\t{{ num - 1 }}\n\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"col-1\">hr</div>\n\t\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\t\tname=\"durationMin\"\n\t\t\t\t\t\t\t\t\t\tid=\"durationMin\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"onlyReadable\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"durationMin\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<option :value=\"0\">0</option>\n\t\t\t\t\t\t\t\t\t\t<option :value=\"15\">15</option>\n\t\t\t\t\t\t\t\t\t\t<option :value=\"30\">30</option>\n\t\t\t\t\t\t\t\t\t\t<option :value=\"45\">45</option>\n\t\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"col-1\">min</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t:disabled=\"onlyReadable\"\n\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\tid=\"isAvailableForDemo\"\n\t\t\t\t\t\t\tv-model=\"isAvailableForDemo\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isAvailableForDemo\"\n\t\t\t\t\t\t\t>Available for Demo\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t:disabled=\"isEditMode\"\n\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\tid=\"isRecurring\"\n\t\t\t\t\t\t\tv-model=\"isRecurring\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tclass=\"form-check-label\"\n\t\t\t\t\t\t\tfor=\"isRecurring\"\n\t\t\t\t\t\t\t:title=\"\n\t\t\t\t\t\t\t\tisEditMode\n\t\t\t\t\t\t\t\t\t? 'This can not be changed. Please remove and recreate meeting if you want to change these fields.'\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\t\t\t>Recurring Meeting</label\n\t\t\t\t\t\t>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"isRecurring\">\n\t\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<label for=\"recurrence\" class=\"main-label\"\n\t\t\t\t\t\t\t\t\t>Recurrence (required)</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\t\t:disabled=\"isEditMode\"\n\t\t\t\t\t\t\t\t\tid=\"recurrence\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\tv-model=\"recurrence.type\"\n\t\t\t\t\t\t\t\t\t:reduce=\"(option) => option.value\"\n\t\t\t\t\t\t\t\t\t:options=\"[\n\t\t\t\t\t\t\t\t\t\t{ label: 'Daily', value: 'daily' },\n\t\t\t\t\t\t\t\t\t\t{ label: 'Weekly', value: 'weekly' },\n\t\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t\t\tplaceholder=\"Select recurrence\"\n\t\t\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<!-- <option :value=\"1\">Daily</option>\n\t\t\t\t\t\t\t\t\t\t<option :value=\"2\">Weekly</option>\n\t\t\t\t\t\t\t\t\t\t<option :value=\"3\">Monthly</option>\n\t\t\t\t\t\t\t\t\t\t<option value=\"no-fixed-time\">No Fixed Time</option> -->\n\t\t\t\t\t\t\t\t</v-select>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<label for=\"repeatEvery\" class=\"main-label\"\n\t\t\t\t\t\t\t\t\t>Repeat Every (required)</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div class=\"d-flex gap-2 align-items-end\">\n\t\t\t\t\t\t\t\t\t<div class=\"col-9\">\n\t\t\t\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\t\t\t\tname=\"repeatEvery\"\n\t\t\t\t\t\t\t\t\t\t\tid=\"repeatEvery\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\t\tv-model=\"recurrence.repeat_interval\"\n\t\t\t\t\t\t\t\t\t\t\t:options=\"repeatEveryOptions\"\n\t\t\t\t\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<!-- <option v-for=\"days in 15\" :key=\"days\" :value=\"days\">{{\n\t\t\t\t\t\t\t\t\t\t\t\t\tdays\n\t\t\t\t\t\t\t\t\t\t\t\t}}</option> -->\n\t\t\t\t\t\t\t\t\t\t</v-select>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t\t\t{{ repeatEveryUnit }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if=\"recurrence.type == 'weekly'\" class=\"form-group\">\n\t\t\t\t\t\t\t<label for=\"\" class=\"main-label\">Occurs on (required)</label>\n\t\t\t\t\t\t\t<b-form-checkbox-group\n\t\t\t\t\t\t\t\tv-model=\"recurrence.weekly_days\"\n\t\t\t\t\t\t\t\t:options=\"[\n\t\t\t\t\t\t\t\t\t{ item: 1, name: 'Sun' },\n\t\t\t\t\t\t\t\t\t{ item: 2, name: 'Mon' },\n\t\t\t\t\t\t\t\t\t{ item: 3, name: 'Tue' },\n\t\t\t\t\t\t\t\t\t{ item: 4, name: 'Wed' },\n\t\t\t\t\t\t\t\t\t{ item: 5, name: 'Thurs' },\n\t\t\t\t\t\t\t\t\t{ item: 6, name: 'Fri' },\n\t\t\t\t\t\t\t\t\t{ item: 7, name: 'Sat' },\n\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t\tclass=\"weekly-days-checkbox-grp\"\n\t\t\t\t\t\t\t\tvalue-field=\"item\"\n\t\t\t\t\t\t\t\ttext-field=\"name\"\n\t\t\t\t\t\t\t></b-form-checkbox-group>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<label for=\"recurrenceEndDateType\" class=\"main-label\"\n\t\t\t\t\t\t\t>End Date (required)</label\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<div class=\"d-flex gap-3 align-items-center\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\tname=\"recurrenceEndDateType\"\n\t\t\t\t\t\t\t\t\t\tid=\"recurrenceEndBy\"\n\t\t\t\t\t\t\t\t\t\tvalue=\"date\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"recurrenceEndDateType\"\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\tfor=\"recurrenceEndBy\"\n\t\t\t\t\t\t\t\t\t\tclass=\"col d-flex gap-2 align-items-center\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tby\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\t\tid=\"recurrenceEndByValue\"\n\t\t\t\t\t\t\t\t\t\t\t:disabled=\"recurrenceEndDateType != 'date'\"\n\t\t\t\t\t\t\t\t\t\t\tv-model=\"recurrenceEndDateValue\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<div class=\"d-flex gap-2 align-items-center\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\tname=\"recurrenceEndDateType\"\n\t\t\t\t\t\t\t\t\t\tid=\"recurrenceEndAfter\"\n\t\t\t\t\t\t\t\t\t\tvalue=\"occurrences\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"recurrenceEndDateType\"\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\tfor=\"recurrenceEndAfter\"\n\t\t\t\t\t\t\t\t\t\tclass=\"col d-flex gap-2 align-items-center\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tafter\n\t\t\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\t\tid=\"recurrenceEndAfterValue\"\n\t\t\t\t\t\t\t\t\t\t\t:disabled=\"recurrenceEndDateType != 'occurrences'\"\n\t\t\t\t\t\t\t\t\t\t\tv-model=\"recurrenceCount\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<option v-for=\"days in 60\" :key=\"days\" :value=\"days\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ days }}\n\t\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t\t\toccurrences\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<p class=\"text-danger custom-alert-danger\">Note: Max 60 occurrences are allowed for recurring meeting.</p>\n\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- <div class=\"inline-group\">\n\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\tid=\"allowJbh\"\n\t\t\t\t\t\t\t\tv-model=\"allowJbh\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"allowJbh\"\n\t\t\t\t\t\t\t\t>Allow join before host</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div> -->\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"currentStep == 2\" class=\"step2\">\n\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t<label for=\"createWith\" class=\"main-label\"\n\t\t\t\t\t\t\t>Create Meeting using (required)</label\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t:disabled=\"isEditMode\"\n\t\t\t\t\t\t\tv-model=\"schedule_for\"\n\t\t\t\t\t\t\tname=\"createWith\"\n\t\t\t\t\t\t\tid=\"createWith\"\n\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t:options=\"externalServicesList[ContentType.LIVE_CLASS]\"\n\t\t\t\t\t\t\t:reduce=\"(option) => option.serviceCode\"\n\t\t\t\t\t\t\tlabel=\"serviceName\"\n\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t\tplaceholder=\"Select a Zoom ID\"\n\t\t\t\t\t\t\t:title=\"\n\t\t\t\t\t\t\t\tisEditMode\n\t\t\t\t\t\t\t\t\t? 'This can not be changed. Please remove and recreate meeting if you want to change these fields.'\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t</v-select>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t<label class=\"main-label\" for=\"meeting\">meeting type</label>\n\t\t\t\t\t\t<div class=\"status-cards\">\n\t\t\t\t\t\t\t<div class=\"status-card-container col-5\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\tname=\"meetingType\"\n\t\t\t\t\t\t\t\t\t:value=\"false\"\n\t\t\t\t\t\t\t\t\tid=\"openForAll\"\n\t\t\t\t\t\t\t\t\tv-model=\"meetingType\"\n\t\t\t\t\t\t\t\t\t:disabled=\"isEditMode\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\tclass=\"status-card\"\n\t\t\t\t\t\t\t\t\tfor=\"openForAll\"\n\t\t\t\t\t\t\t\t\t:title=\"\n\t\t\t\t\t\t\t\t\t\tisEditMode\n\t\t\t\t\t\t\t\t\t\t\t? 'This can not be changed. Please remove and recreate meeting if you want to change these fields.'\n\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<p>Open for All</p>\n\t\t\t\t\t\t\t\t\tThe meeting will be accessible to all.\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"status-card-container col-5\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\tname=\"meetingType\"\n\t\t\t\t\t\t\t\t\t:value=\"true\"\n\t\t\t\t\t\t\t\t\tid=\"registrantsOnly\"\n\t\t\t\t\t\t\t\t\tv-model=\"meetingType\"\n\t\t\t\t\t\t\t\t\t:disabled=\"isEditMode\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\tclass=\"status-card\"\n\t\t\t\t\t\t\t\t\tfor=\"registrantsOnly\"\n\t\t\t\t\t\t\t\t\t:title=\"\n\t\t\t\t\t\t\t\t\t\tisEditMode\n\t\t\t\t\t\t\t\t\t\t\t? 'This can not be changed. Please remove and recreate meeting if you want to change these fields.'\n\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<p>Registrants Only</p>\n\t\t\t\t\t\t\t\t\tOnly Registrants will be able to join.\n\t\t\t\t\t\t\t\t\t<span class=\"text-danger\">( requires Paid Zoom ID )</span>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t<label class=\"main-label\" for=\"meeting\">open on</label>\n\t\t\t\t\t\t<div class=\"status-cards w-100\">\n\t\t\t\t\t\t\t<div class=\"status-card-container col-5\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\tname=\"openInSDK\"\n\t\t\t\t\t\t\t\t\t:value=\"true\"\n\t\t\t\t\t\t\t\t\tid=\"portal\"\n\t\t\t\t\t\t\t\t\tv-model=\"openInSDK\"\n\t\t\t\t\t\t\t\t\t:disabled=\"isEditMode\"\n\t\t\t\t\t\t\t\t\t:title=\"\n\t\t\t\t\t\t\t\t\t\tisEditMode\n\t\t\t\t\t\t\t\t\t\t\t? 'This can not be changed. Please remove and recreate meeting if you want to change these fields.'\n\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label class=\"status-card\" for=\"portal\">\n\t\t\t\t\t\t\t\t\t<p>Portal</p>\n\t\t\t\t\t\t\t\t\tThe meeting will open on the Portal.\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"status-card-container col-5\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\tname=\"openInSDK\"\n\t\t\t\t\t\t\t\t\t:value=\"false\"\n\t\t\t\t\t\t\t\t\tid=\"zoomSoftware\"\n\t\t\t\t\t\t\t\t\tv-model=\"openInSDK\"\n\t\t\t\t\t\t\t\t\t:disabled=\"isEditMode\"\n\t\t\t\t\t\t\t\t\t:title=\"\n\t\t\t\t\t\t\t\t\t\tisEditMode\n\t\t\t\t\t\t\t\t\t\t\t? 'This can not be changed. Please remove and recreate meeting if you want to change these fields.'\n\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label class=\"status-card\" for=\"zoomSoftware\">\n\t\t\t\t\t\t\t\t\t<p>Zoom Software</p>\n\t\t\t\t\t\t\t\t\tThe meeting will open on the Zoom Desktop Application.\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"false\" class=\"form-group\">\n\t\t\t\t\t\t<div class=\"d-flex align-items-start\">\n\t\t\t\t\t\t\t<label for=\"registrants\" class=\"main-label\"\n\t\t\t\t\t\t\t\t>Select registrants</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button @click=\"toggleSelectAll\" type=\"button\" class=\"select-all\">\n\t\t\t\t\t\t\t\t{{ selectBtnText }}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"registrants-list\">\n\t\t\t\t\t\t\t<div v-for=\"item in renderList\" :key=\"item.id\" class=\"registrant\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\tname=\"registrant\"\n\t\t\t\t\t\t\t\t\t:id=\"`registrant${item.id}`\"\n\t\t\t\t\t\t\t\t\t@change=\"checkboxToggle($event, item)\"\n\t\t\t\t\t\t\t\t\t:checked=\"isChecked(item.id)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label :for=\"`registrant${item.id}`\"\n\t\t\t\t\t\t\t\t\t>{{ item.name }} ({{ item.email }})</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"form-group mb-2\">\n\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\t@change=\"changeSaveRecording($event)\"\n\t\t\t\t\t\t\t\t:disabled=\"onlyReadable\"\n\t\t\t\t\t\t\t\tid=\"saveRecording\"\n\t\t\t\t\t\t\t\tv-model=\"saveRecording\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"saveRecording\"\n\t\t\t\t\t\t\t\t>Automatically save meeting recording as lecture\n\t\t\t\t\t\t\t\t<span class=\"text-danger\"\n\t\t\t\t\t\t\t\t\t>( requires Paid Zoom ID )</span\n\t\t\t\t\t\t\t\t></label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- <div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\tid=\"openInSDK\"\n\t\t\t\t\t\t\t\tv-model=\"openInSDK\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"openInSDK\"\n\t\t\t\t\t\t\t\t>Open on Portal</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div> -->\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"false\">\n\t\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t\t<div class=\"col-lg-6 p-0\">\n\t\t\t\t\t\t\t\t<label for=\"recordingTitle\" class=\"main-label\">Title</label>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\tname=\"recordingTitle\"\n\t\t\t\t\t\t\t\t\tid=\"recordingTitle\"\n\t\t\t\t\t\t\t\t\tv-model=\"recordingTitle\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\tplaceholder=\"Recording title\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col-lg-6\">\n\t\t\t\t\t\t\t\t<label for=\"sectionAssigned\" class=\"main-label\">Section</label>\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\tname=\"sectionAssigned\"\n\t\t\t\t\t\t\t\t\tid=\"sectionAssigned\"\n\t\t\t\t\t\t\t\t\tv-model=\"sectionAssigned\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\tplaceholder=\"Assign to section\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<option value=\"null\">Assign to section</option>\n\t\t\t\t\t\t\t\t\t<option value=\"english\">English</option>\n\t\t\t\t\t\t\t\t\t<option value=\"math\">Math</option>\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t\t<div class=\"col-lg-6 p-0\">\n\t\t\t\t\t\t\t\t<label for=\"recordingAvailableFrom\" class=\"main-label\"\n\t\t\t\t\t\t\t\t\t>Available From</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t\t\t\tname=\"recordingAvailableFrom\"\n\t\t\t\t\t\t\t\t\tid=\"recordingAvailableFrom\"\n\t\t\t\t\t\t\t\t\tv-model=\"recordingAvailableFrom\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\tplaceholder=\"Available From\"\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t:disabled=\"onlyReadable\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col-lg-6\">\n\t\t\t\t\t\t\t\t<label for=\"recordingAvailableTo\" class=\"main-label\"\n\t\t\t\t\t\t\t\t\t>Available To</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t\t\t\tname=\"recordingAvailableTo\"\n\t\t\t\t\t\t\t\t\tid=\"recordingAvailableTo\"\n\t\t\t\t\t\t\t\t\tv-model=\"recordingAvailableTo\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t:disabled=\"onlyReadable\"\n\t\t\t\t\t\t\t\t\tplaceholder=\"Available To\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t\t<p class=\"text-danger custom-alert-danger\" v-if=\"onlyReadable\">Attention: The available date for this content has expired, therefore it can no longer be edited.</p>\n\t\t\t\t\t\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t\n\t\t\t\t<a @click=\"prev\" v-if=\"showPrev\" role=\"button\" class=\"step-btn prev\"\n\t\t\t\t\t><i class=\"fas fa-long-arrow-alt-left\"></i> prev\n\t\t\t\t</a>\n\t\t\t\t<button\n\t\t\t\t\t@click=\"next\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t:disabled=\"disableNext() || loading\"\n\t\t\t\t\t:title=\"\n\t\t\t\t\t\t\t\t\t\tonlyReadable\n\t\t\t\t\t\t\t\t\t\t\t? 'The available date for this content has expired, therefore it can no longer be edited.'\n\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\t{{ stepButtonContent }} <i class=\"fas fa-long-arrow-alt-right\"></i>\n\t\t\t\t\t<!-- <img src=\"@/assets/images/arrow-right.svg\" /> -->\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport { createPopper } from \"@popperjs/core\";\nimport { ContentType } from \"../../../constants/content\";\nimport { getInputDateFormat } from \"../../../helpers/FormatHelpers\";\n\nexport default {\n\tname: \"CreateZoomMeetingModal\",\n\tprops: {\n\t\tvisible: Boolean,\n\t\tparentContentId: String,\n\t\tmode: String,\n\t\tmeetingData: Object,\n\t\tcontentData: Object,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tagenda: null,\n\t\t\tshowDesc: true,\n\t\t\tcurrentStep: 1,\n\t\t\ttotalSteps: 2,\n\t\t\ttopic: null,\n\t\t\ttype: \"2\",\n\t\t\tstart_time: null,\n\t\t\tdurationHrs: 1,\n\t\t\tdurationMin: 0,\n\t\t\tisRecurring: false,\n\t\t\tallowJbh: false,\n\t\t\tschedule_for: null,\n\t\t\tmeetingType: false,\n\t\t\tsaveRecording: true,\n\t\t\trecurrenceEndDateType: \"date\",\n\t\t\trecurrenceEndDateValue: null,\n\t\t\trecurrenceCount: null,\n\t\t\trecurrence: {\n\t\t\t\ttype: \"daily\",\n\t\t\t\trepeat_interval: 1,\n\t\t\t},\n\t\t\topenInSDK: true,\n\t\t\tisAvailableForDemo: false,\n\t\t\tContentType,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\n\t\t\t\"createLiveClassContent\",\n\t\t\t\"getContentById\",\n\t\t\t\"updateContent\",\n\t\t]),\n\t\ttoggleDesc() {\n\t\t\tthis.showDesc = !this.showDesc;\n\t\t},\n\t\tnext() {\n\t\t\tthis.recurrenceStartTime(this.start_time);\n\t\t\tif (this.currentStep < this.totalSteps) {\n\t\t\t\tthis.currentStep += 1;\n\t\t\t} else if (this.currentStep == this.totalSteps) {\n\t\t\t\tif (this.isEditMode) {\n\t\t\t\t\tvar contentObject = {\n\t\t\t\t\t\tid: this.contentData.id,\n\t\t\t\t\t\ttitle: this.topic,\n\t\t\t\t\t\tavailableFrom: new Date(this.start_time).toISOString(),\n\t\t\t\t\t\tavailableTo: new Date(this.zoomMeetingEndDate()).toISOString(),\n\t\t\t\t\t\tisAvailableForDemo: this.isAvailableForDemo,\n\t\t\t\t\t\tparentDirectoryID: this.parentContentId,\n\t\t\t\t\t\ttype: \"LiveClass\",\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\ttopic: this.topic,\n\t\t\t\t\t\t\tduration: (this.durationHrs * 60 + this.durationMin).toString(),\n\t\t\t\t\t\t\tisRecordingSave: this.saveRecording.toString(),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tthis.updateContent(contentObject).then(() => {\n\t\t\t\t\t\tthis.$toasted.success(\"Live Class updated successfully\", {\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\t\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tvar liveClass = {\n\t\t\t\t\ttitle: this.topic,\n\t\t\t\t\tavailableFrom: new Date(this.start_time).toISOString(),\n\t\t\t\t\tavailableTo: new Date(this.zoomMeetingEndDate()).toISOString(),\n\t\t\t\t\tisAvailableForDemo: this.isAvailableForDemo,\n\t\t\t\t\tparentDirectoryID: this.parentContentId,\n\t\t\t\t\ttype: \"LiveClass\",\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tservicecode: this.schedule_for,\n\t\t\t\t\t\ttopic: this.topic,\n\t\t\t\t\t\tisrecurringmeeting: this.isRecurring.toString(),\n\t\t\t\t\t\tduration: (this.durationHrs * 60 + this.durationMin).toString(),\n\t\t\t\t\t\tjoinbeforehost: this.allowJbh.toString(),\n\t\t\t\t\t\topeninsdk: this.openInSDK.toString(),\n\t\t\t\t\t\tregistrants_confirmation_email: \"false\",\n\t\t\t\t\t\tregistrants_email_notification: \"false\",\n\t\t\t\t\t\tisRecordingSave: this.saveRecording.toString(),\n\t\t\t\t\t\tregistrationallow: this.meetingType.toString(),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\tif (this.agenda) {\n\t\t\t\t\tliveClass.data.agenda = this.agenda;\n\t\t\t\t}\n\t\t\t\tif (this.isRecurring) {\n\t\t\t\t\tliveClass.data.recurrence = this.recurrence;\n\t\t\t\t\t// if (this.recurrenceEndDateType == \"date\") {\n\t\t\t\t\tliveClass.data.recurrence.ends_at = this.zoomMeetingEndDate();\n\t\t\t\t\t// } else\n\t\t\t\t\t// \tliveClass.data.recurrence.end_times = this.recurrenceEndDateValue.toString();\n\t\t\t\t\tliveClass.data.recurrence.start_time = this.recurrenceStartTime(\n\t\t\t\t\t\tthis.start_time\n\t\t\t\t\t);\n\t\t\t\t\tliveClass.data.recurrence.duration = liveClass.data.duration;\n\t\t\t\t\tif (this.recurrence.type.toLowerCase() == \"weekly\") {\n\t\t\t\t\t\tliveClass.data.recurrence.weekly_days =\n\t\t\t\t\t\t\tliveClass.data.recurrence.weekly_days.toString();\n\t\t\t\t\t}\n\t\t\t\t\tliveClass.data.recurrence = JSON.stringify(liveClass.data.recurrence);\n\t\t\t\t}\n\n\t\t\t\t// console.log(liveClass);\n\n\t\t\t\tthis.createLiveClassContent(liveClass).then(() => {\n\t\t\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\t\t\t// this.getContentById(this.parentContentId);\n\t\t\t\t\tthis.$toasted.success(\"Zoom Meeting created successfully\", {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\t// this.$emit(\"updateModalState\", false);\n\t\t\t}\n\t\t},\n\t\tprev() {\n\t\t\tif (this.currentStep > 1) {\n\t\t\t\tthis.currentStep -= 1;\n\t\t\t}\n\t\t},\n\t\tisChecked(id) {\n\t\t\tconsole.log(id);\n\t\t\tvar checked = false;\n\t\t\tthis.registrantsList.map((item) => {\n\t\t\t\tif (item.id == id) {\n\t\t\t\t\tchecked = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn checked;\n\t\t},\n\t\tchangeSaveRecording(e){\n\t\t\tif(!this.saveRecording && this.visible==true)\n\t\t\t{\n\t\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to disable automatically save recording as lecture?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.saveRecording=false;\n\t\t\t\t\t}else {\n\t\t\t\t\t\tthis.saveRecording=true;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tcheckboxToggle(e, registrant) {\n\t\t\tif (e.target.checked) {\n\t\t\t\tvar found = false;\n\t\t\t\tthis.registrantsList.map((item) => {\n\t\t\t\t\tif (item.id == registrant.id) {\n\t\t\t\t\t\tfound = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (!found) {\n\t\t\t\t\tthis.registrantsList.push(registrant);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.registrantsList = this.registrantsList.filter(\n\t\t\t\t\t(item) => item.id != registrant.id\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\ttoggleSelectAll() {\n\t\t\tif (this.registrantsList.length > 0 && this.renderList.length > 0) {\n\t\t\t\tif (this.renderList.length == this.registrantsList.length) {\n\t\t\t\t\tthis.registrantsList = [];\n\t\t\t\t} else {\n\t\t\t\t\tthis.registrantsList = this.renderList;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\trecurrenceStartTime(startDate) {\n\t\t\tvar startTime = new Date(startDate).toTimeString();\n\t\t\treturn startTime.substr(0, 8);\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\t// console.log(dropdownList, component.$refs.toggle, { width });\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t\tzoomMeetingEndDate() {\n\t\t\tif (!this.isRecurring) {\n\t\t\t\tvar endDate = new Date(this.start_time);\n\t\t\t\tvar durationInMinutes = this.durationHrs * 60 + this.durationMin;\n\t\t\t\tendDate = endDate.setMinutes(endDate.getMinutes() + durationInMinutes);\n\t\t\t\treturn endDate;\n\t\t\t} else {\n\t\t\t\tvar endDate = new Date(this.start_time);\n\t\t\t\tif (this.recurrenceEndDateType == \"date\") {\n\t\t\t\t\tendDate = new Date(new Date(this.recurrenceEndDateValue)).setHours(\n\t\t\t\t\t\t24,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t0\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tvar offset;\n\t\t\t\t\tswitch (this.recurrence.type) {\n\t\t\t\t\t\tcase \"daily\":\n\t\t\t\t\t\t\tif (this.recurrenceCount > 1) {\n\t\t\t\t\t\t\t\toffset = this.recurrenceCount * this.recurrence.repeat_interval;\n\t\t\t\t\t\t\t} else offset = 0;\n\t\t\t\t\t\t\tendDate = endDate.setDate(endDate.getDate() + offset - 1);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"weekly\":\n\t\t\t\t\t\t\tvar interval_period = 7; // 7 for weekly, 30 for monthly\n\t\t\t\t\t\t\tvar occurrence_dates = [];\n\n\t\t\t\t\t\t\twhile (this.recurrenceCount > occurrence_dates.length) {\n\t\t\t\t\t\t\t\tvar day_no = parseInt(new Date(endDate).getDay() % 7);\n\t\t\t\t\t\t\t\tday_no++;\n\t\t\t\t\t\t\t\tif (this.recurrence.weekly_days.includes(day_no)) {\n\t\t\t\t\t\t\t\t\toccurrence_dates.push(endDate);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (day_no == 7 && this.recurrence.repeat_interval > 1) {\n\t\t\t\t\t\t\t\t\tendDate = new Date(endDate).setDate(\n\t\t\t\t\t\t\t\t\t\tnew Date(endDate).getDate() +\n\t\t\t\t\t\t\t\t\t\t\t(this.recurrence.repeat_interval - 1) * interval_period\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tendDate = new Date(endDate).setDate(\n\t\t\t\t\t\t\t\t\tnew Date(endDate).getDate() + 1\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tendDate = new Date(new Date(endDate)).setHours(24, 0, 0, 0);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t// case \"monthly\":\n\t\t\t\t\t\t// \tif (this.recurrenceCount > 1) {\n\t\t\t\t\t\t// \t\toffset =\n\t\t\t\t\t\t// \t\t\tthis.recurrenceCount * 30 * this.recurrence.repeat_interval;\n\t\t\t\t\t\t// \t\tconsole.log(offset);\n\t\t\t\t\t\t// \t} else offset = 0;\n\t\t\t\t\t\t// \tendDate = endDate.setDate(endDate.getDate() + offset - 1);\n\t\t\t\t\t\t// \tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn new Date(endDate);\n\t\t\t}\n\t\t},\n\t\t\n\t\tdisableNext() {\n\t\t\t\n           if(this.isEditMode && this.currentStep == 2 && new Date(this.contentData.availableTo)<new Date() ){\t\t\t\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (this.currentStep == 1) {\n\t\t\t\tif (this.topic && this.start_time) {\n\t\t\t\t\tif (this.isRecurring) {\n\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\tthis.recurrence &&\n\t\t\t\t\t\t\t\tthis.recurrence?.type &&\n\t\t\t\t\t\t\t\tthis.recurrence?.repeat_interval &&\n\t\t\t\t\t\t\t\t(this.recurrenceEndDateValue || this.recurrenceCount)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tthis.recurrence &&\n\t\t\t\t\t\t\tthis.recurrence.type &&\n\t\t\t\t\t\t\tthis.recurrence.repeat_interval &&\n\t\t\t\t\t\t\t(this.recurrenceEndDateValue || this.recurrenceCount)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} else return true;\n\t\t\t} else if (this.currentStep == 2) {\n\t\t\t\tif (this.isEditMode) return false;\n\t\t\t\tif (this.schedule_for) return false;\n\t\t\t\treturn true;\n\t\t\t\t// if (this.saveRecording) {\n\t\t\t\t// \tif (\n\t\t\t\t// \t\tthis.recordingTitle &&\n\t\t\t\t// \t\tthis.recordingAvailableFrom &&\n\t\t\t\t// \t\tthis.sectionAssigned\n\t\t\t\t// \t) {\n\t\t\t\t// \t\treturn false;\n\t\t\t\t// \t} else return true;\n\t\t\t\t// }\n\t\t\t\t// if (this.meetingType.toLowerCase() == \"registrantsonly\") {\n\t\t\t\t// \tif (this.registrantsList.length == 0) {\n\t\t\t\t// \t\treturn true;\n\t\t\t\t// \t} else return false;\n\t\t\t\t// }\n\t\t\t}\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"loading\"]),\n\t\t...mapState(\"appState\", [\"externalServicesList\"]),\n\t\tstepButtonContent() {\n\t\t\tif (this.currentStep != this.totalSteps) {\n\t\t\t\treturn \"Next\";\n\t\t\t}\n\t\t\tif (this.isEditMode) return \"Update\";\n\t\t\treturn \"Create\";\n\t\t},\n\t\tshowPrev() {\n\t\t\treturn this.currentStep > 1;\n\t\t},\n\t\tonlyReadable(){\n\t\t\tif(this.isEditMode && this.contentData.availableTo && new Date(this.contentData.availableTo)<new Date() ){\t\t\t\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\t\n\t\tselectBtnText() {\n\t\t\tif (this.registrantsList.length > 0 && this.renderList.length > 0) {\n\t\t\t\tif (this.registrantsList.length == this.renderList.length) {\n\t\t\t\t\treturn \"Deselect All\";\n\t\t\t\t} else {\n\t\t\t\t\treturn \"Select All\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\trepeatEveryOptions() {\n\t\t\tvar options = [];\n\t\t\tif (this.recurrence.type == \"daily\") {\n\t\t\t\tfor (var i = 1; i <= 15; i++) {\n\t\t\t\t\toptions.push(i);\n\t\t\t\t}\n\t\t\t} else if (this.recurrence.type == \"weekly\") {\n\t\t\t\tfor (var i = 1; i <= 12; i++) {\n\t\t\t\t\toptions.push(i);\n\t\t\t\t}\n\t\t\t} else if (this.recurrence.type == \"monthly\") {\n\t\t\t\tfor (var i = 1; i <= 3; i++) {\n\t\t\t\t\toptions.push(i);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn options;\n\t\t},\n\t\trepeatEveryUnit() {\n\t\t\treturn this.recurrence.type == \"daily\"\n\t\t\t\t? \"day\"\n\t\t\t\t: this.recurrence.type == \"weekly\"\n\t\t\t\t? \"week\"\n\t\t\t\t: \"month\";\n\t\t},\n\n\t\tisEditMode() {\n\t\t\treturn this.mode == \"edit\";\n\t\t},\n\t},\n\twatch: {\n\t\t\"recurrence.type\": function () {\n\t\t\tthis.recurrence.repeat_interval = 1;\n\t\t},\n\t\tsaveRecording: function(){\n\t\t\t\n\t\t},\n\t\tisRecurring: function () {\n\t\t\tif (!this.isRecurring) {\n\t\t\t\tthis.recurrenceEndDateType = \"date\";\n\t\t\t\tthis.recurrenceEndDateValue = null;\n\t\t\t\tthis.recurrenceCount = null;\n\t\t\t\tthis.recurrence = {\n\t\t\t\t\ttype: \"daily\",\n\t\t\t\t\trepeat_interval: 1,\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\tvisible: function () {\n\t\t\tif (this.mode == \"edit\" && this.visible) {\n\t\t\t\tthis.start_time = this.contentData.availableFrom\n\t\t\t\t\t? getInputDateFormat(new Date(this.contentData.availableFrom), true)\n\t\t\t\t\t: null;\n\t\t\t\tthis.topic = this.contentData.title;\n\t\t\t\tif (this.meetingData.Duration) {\n\t\t\t\t\tvar diff =\n\t\t\t\t\t\tnew Date(this.contentData.availableTo) -\n\t\t\t\t\t\tnew Date(this.contentData.availableFrom);\n\t\t\t\t\tvar hours = Math.floor(diff / (1000 * 60 * 60));\n\t\t\t\t\t// console.log(hours);\n\t\t\t\t\tvar mins = (diff - hours * (1000 * 60 * 60)) / (1000 * 60);\n\t\t\t\t\t// var hours = Math.floor(this.meetingData.Duration / 60);\n\t\t\t\t\t// var mins = (this.meetingData.Duration - hours * 60) * 60;\n\t\t\t\t\tthis.durationHrs = hours;\n\t\t\t\t\tthis.durationMin = mins;\n\t\t\t\t}\n\t\t\t\tthis.openInSDK = this.meetingData.OpenInSDK;\n\t\t\t\tthis.meetingType = this.meetingData.RegistrantAllow;\n\t\t\t\tthis.isAvailableForDemo = this.contentData.isContentAvailableForDemo;\n\t\t\t\tthis.schedule_for = this.contentData.externalService.serviceName;\n\t\t\t\tif (this.contentData.extraProperties.RecordingStatus) {\n\t\t\t\t\tthis.isRecordingSave = this.contentData.extraProperties.RecordingStatus.toLowerCase() == \"required\";\n\t\t\t\t\tthis.saveRecording = this.contentData.extraProperties.RecordingStatus.toLowerCase() == \"required\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style>\n.create-meeting-modal {\n\tmin-height: 45.375rem;\n\twidth: 70vw;\n}\n\n/* .custom-modal .modal-dialog {\n\tmax-width: 70vw;\n} */\n\n.create-meeting-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n}\n\n.create-meeting-modal .modal-body .custom-stepper-container {\n\tbackground: #f5f5f5;\n\tborder-radius: 8px 0px 0px 8px;\n\twidth: 40%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n.create-meeting-modal .modal-body .custom-stepper-container .custom-stepper {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-start;\n\tjustify-content: center;\n\trow-gap: 7.5rem;\n}\n\n.create-meeting-modal .body-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 2.5rem 2.5rem 1.5rem;\n\twidth: 60%;\n}\n\n.create-meeting-modal .add-content-title {\n\tfont-weight: 450;\n\tfont-size: 2rem;\n\tline-height: 0.75;\n\tmargin: 0.5rem 0 2rem;\n\tcolor: #000000;\n}\n\n.create-meeting-modal .step1 {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n#zoom-meeting-form .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n\n#zoom-meeting-form .form-group {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 2rem;\n}\n#zoom-meeting-form .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0 0 0.875rem;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n\tborder-radius: 0;\n\tbox-shadow: none !important;\n\tposition: relative;\n\theight: 40px;\n}\n\n.form-input:disabled {\n\tbackground-color: #f5f5f5 !important;\n\topacity: 0.5;\n}\n\n#zoom-meeting-form .form-input .form-control {\n\tborder-radius: 0;\n\tbox-shadow: none !important;\n}\n\n#zoom-meeting-form .form-check-input {\n\toutline: none !important;\n}\n\n.add-desc-btn {\n\t/* padding: 1.5rem 2.5rem; */\n\tmargin: 0 0 2rem;\n\tcolumn-gap: 0.5rem;\n\tcolor: #838383;\n\tdisplay: flex;\n\tflex-direction: row;\n\tfont-size: 1rem;\n\talign-items: center;\n}\n\n.inline-group {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n\talign-items: flex-start;\n\tmargin-bottom: 2rem;\n}\n\ninput#duration::before {\n\tcontent: \"hrs\";\n\t/* position: absolute; */\n\tdisplay: flex;\n\tright: 0;\n\ttop: 0;\n}\n\n.registrants-list {\n\tmax-height: 9.375rem;\n\toverflow-y: auto;\n}\n\n.registrants-list .registrant {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 0.75rem;\n\tpadding: 0.75rem 0;\n\tfont-size: 1rem;\n\tborder-bottom: 1px solid #dcdcdc;\n\tcolor: #000000;\n}\n\n.registrants-list .registrant input,\n.registrants-list .registrant label {\n\tmargin: 0;\n}\n\n.registrants-list input[type=\"checkbox\"],\n.weekly-days-checkbox-grp input[type=\"checkbox\"] {\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n.step2 .select-all {\n\tmargin-left: auto;\n\tfont-size: 1rem;\n\tcolor: var(--primary-color);\n}\n\n.weekly-days-checkbox-grp {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1.25rem;\n\tfont-size: 1rem;\n}\n\n.weekly-days-checkbox-grp .custom-control {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: row;\n\tcolumn-gap: 0.5rem;\n}\n\n.weekly-days-checkbox-grp .custom-control input,\n.weekly-days-checkbox-grp .custom-control label {\n\tmargin: 0;\n}\n\n#zoom-meeting-form .status-card {\n\tpadding: 0.875rem;\n\tmax-width: unset;\n}\n\n#zoom-meeting-form input:disabled + .status-card {\n\topacity: 0.5;\n\tcursor: not-allowed;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateZoomMeetingModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateZoomMeetingModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreateZoomMeetingModal.vue?vue&type=template&id=61f01294&\"\nimport script from \"./CreateZoomMeetingModal.vue?vue&type=script&lang=js&\"\nexport * from \"./CreateZoomMeetingModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CreateZoomMeetingModal.vue?vue&type=style&index=0&id=61f01294&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"edit-content-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"edit-content-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h1',{staticClass:\"edit-content-title\"},[_vm._v(\"Edit \"+_vm._s(_vm.entity))]),_c('div',{class:['info-container']},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"title\"}},[_vm._v(\"Title (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type your lecture name here...\",\"type\":\"search\",\"name\":\"title\",\"id\":\"title\",\"required\":\"\"},domProps:{\"value\":(_vm.title)},on:{\"keyup\":_vm.updateModel,\"keydown\":_vm.updateModel,\"update\":_vm.updateModel,\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}})]),(_vm.entity.toLowerCase() != 'subject' && _vm.entity.toLowerCase() != 'section')?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"flex-row mt-5\"},[_c('div',{staticClass:\"col-lg-6 ps-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"start-date\"}},[_vm._v(\"start date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.availableFrom),expression:\"availableFrom\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select start date\",\"type\":\"date\",\"name\":\"availableFrom\",\"id\":\"availableFrom\"},domProps:{\"value\":(_vm.availableFrom)},on:{\"change\":_vm.updateModel,\"input\":[function($event){if($event.target.composing){ return; }_vm.availableFrom=$event.target.value},_vm.updateModel]}})])]),_c('div',{staticClass:\"col-lg-6 pe-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"end-date\"}},[_vm._v(\"end date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.availableTo),expression:\"availableTo\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select end date\",\"type\":\"date\",\"name\":\"availableTo\",\"id\":\"availableTo\"},domProps:{\"value\":(_vm.availableTo)},on:{\"change\":_vm.updateModel,\"input\":[function($event){if($event.target.composing){ return; }_vm.availableTo=$event.target.value},_vm.updateModel]}})])])])]):_vm._e(),(_vm.entity.toLowerCase() != 'subject' && _vm.entity.toLowerCase() != 'section')?_c('div',{staticClass:\"form-group mt-4\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isContentAvailableForDemo),expression:\"isContentAvailableForDemo\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isContentAvailableForDemo\",\"name\":\"isContentAvailableForDemo\"},domProps:{\"checked\":Array.isArray(_vm.isContentAvailableForDemo)?_vm._i(_vm.isContentAvailableForDemo,null)>-1:(_vm.isContentAvailableForDemo)},on:{\"change\":[function($event){var $$a=_vm.isContentAvailableForDemo,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isContentAvailableForDemo=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isContentAvailableForDemo=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isContentAvailableForDemo=$$c}},_vm.updateModel]}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isContentAvailableForDemo\"}},[_vm._v(\"Available for Demo\")])])]):_vm._e()]),(_vm.entity.toLowerCase() == 'subject')?_c('div',{staticClass:\"trainer-edit-container\"},[((this.user.type || this.user.role).toLowerCase() != 'trainer')?_c('UpdateContentTrainers',{ref:\"trainer_update\",attrs:{\"assignedTrainers\":_vm.assignedTrainers,\"productVariantID\":_vm.productVariantID},on:{\"updateTrainerPermissions\":_vm.updatePermissions,\"assignTrainer\":_vm.assignTrainer,\"unassignTrainer\":_vm.unassignTrainer,\"updateTrainersToUnassign\":_vm.updateTrainersToUnassign,\"updateTrainersToAssign\":_vm.updateTrainersToAssign}}):_vm._e()],1):_vm._e(),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.dateErrorText)+\" \"+_vm._s(_vm.dateErrorText && _vm.errorText ? \", \" : \"\")+\" \"+_vm._s(_vm.errorText))]),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext() || _vm.loading},on:{\"click\":_vm.update}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.stepButtonContent)+\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\tid=\"edit-content-modal\"\n\t\t@change=\"$emit('updateModalState', false)\"\n\t\t:visible=\"visible\"\n\t\thide-header\n\t\tcentered\n\t\tcontent-class=\"edit-content-modal\"\n\t\tsize=\"xl\"\n\t\tbody-class=\"modal-body\"\n\t\thide-footer\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t>\n\t\t<div class=\"body-container\">\n\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<h1 class=\"edit-content-title\">Edit {{ entity }}</h1>\n\t\t\t<div :class=\"['info-container']\">\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<label class=\"main-label\" for=\"title\">Title (required)</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\tplaceholder=\"Type your lecture name here...\"\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tname=\"title\"\n\t\t\t\t\t\tid=\"title\"\n\t\t\t\t\t\tv-model=\"title\"\n\t\t\t\t\t\trequired\n\t\t\t\t\t\t@keyup=\"updateModel\"\n\t\t\t\t\t\t@keydown=\"updateModel\"\n\t\t\t\t\t\t@update=\"updateModel\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group\" v-if=\"entity.toLowerCase() != 'subject' && entity.toLowerCase() != 'section'\">\n\t\t\t\t\t<div class=\"flex-row mt-5\">\n\t\t\t\t\t\t<div class=\"col-lg-6 ps-0\">\n\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t<label for=\"start-date\" class=\"main-label m-0\"\n\t\t\t\t\t\t\t\t\t>start date (optional)</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tplaceholder=\"Select start date\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t\t\t\tname=\"availableFrom\"\n\t\t\t\t\t\t\t\t\tid=\"availableFrom\"\n\t\t\t\t\t\t\t\t\tv-model=\"availableFrom\"\n\t\t\t\t\t\t\t\t\t@change=\"updateModel\"\n\t\t\t\t\t\t\t\t\t@input=\"updateModel\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-lg-6 pe-0\">\n\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t<label for=\"end-date\" class=\"main-label m-0\"\n\t\t\t\t\t\t\t\t\t>end date (optional)</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tplaceholder=\"Select end date\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t\t\t\tname=\"availableTo\"\n\t\t\t\t\t\t\t\t\tid=\"availableTo\"\n\t\t\t\t\t\t\t\t\tv-model=\"availableTo\"\n\t\t\t\t\t\t\t\t\t@change=\"updateModel\"\n\t\t\t\t\t\t\t\t\t@input=\"updateModel\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group mt-4\" v-if=\"entity.toLowerCase() != 'subject' && entity.toLowerCase() != 'section'\">\n\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\tid=\"isContentAvailableForDemo\"\n\t\t\t\t\t\t\tname=\"isContentAvailableForDemo\"\n\t\t\t\t\t\t\tv-model=\"isContentAvailableForDemo\"\n\t\t\t\t\t\t\t@change=\"updateModel\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isContentAvailableForDemo\"\n\t\t\t\t\t\t\t>Available for Demo</label\n\t\t\t\t\t\t>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tv-if=\"entity.toLowerCase() == 'subject'\"\n\t\t\t\tclass=\"trainer-edit-container\"\n\t\t\t>\n\t\t\t\t<UpdateContentTrainers\n\t\t\t\t\tv-if=\"(this.user.type || this.user.role).toLowerCase() != 'trainer'\"\n\t\t\t\t\tref=\"trainer_update\"\n\t\t\t\t\t:assignedTrainers=\"assignedTrainers\"\n\t\t\t\t\t:productVariantID=\"productVariantID\"\n\t\t\t\t\t@updateTrainerPermissions=\"updatePermissions\"\n\t\t\t\t\t@assignTrainer=\"assignTrainer\"\n\t\t\t\t\t@unassignTrainer=\"unassignTrainer\"\n\t\t\t\t\t@updateTrainersToUnassign=\"updateTrainersToUnassign\"\n\t\t\t\t\t@updateTrainersToAssign=\"updateTrainersToAssign\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<span class=\"text-danger\"\n\t\t\t\t>{{ dateErrorText }} {{ dateErrorText && errorText ? \", \" : \"\" }}\n\t\t\t\t{{ errorText }}</span\n\t\t\t>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<!-- <a @click=\"prev\" v-if=\"showPrev\" role=\"button\" class=\"step-btn prev\"\n\t\t\t\t\t><img src=\"@/assets/images/arrow-right.svg\" /> prev\n\t\t\t\t</a> -->\n\t\t\t\t<button\n\t\t\t\t\t@click=\"update\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t:disabled=\"disableNext() || loading\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\t{{ stepButtonContent }}\n\t\t\t\t\t<img src=\"@/assets/images/arrow-right.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nimport { getInputDateFormat } from \"../../../helpers/FormatHelpers\";\nimport UpdateContentTrainers from \"./UpdateContentTrainers.vue\";\n\nexport default {\n\tname: \"EditContentModal\",\n\tdata() {\n\t\treturn {\n\t\t\ttitle: null,\n\t\t\tavailableFrom: null,\n\t\t\tavailableTo: null,\n\t\t\tisContentAvailableForDemo: false,\n\t\t\tupdateObject: {},\n\t\t\ttrainers: null,\n\t\t\tassignedTrainers: null,\n\t\t\ttrainersToAssign: null,\n\t\t\ttrainersToUnassign: null,\n\t\t\terrorText: \"\",\n\t\t\tallOk: true,\n\t\t\tdateErrorText: \"\",\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"loading\", \"trainersByContentId\"]),\n\t\t...mapState(\"user\", [\"user\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tstepButtonContent() {\n\t\t\treturn \"update\";\n\t\t},\n\t},\n\tprops: {\n\t\tshowModal: Boolean,\n\t\tcontentData: Object,\n\t\tentity: String,\n\t\tparentDirectoryID: String,\n\t\tproductVariantID: String,\n\t},\n\tcomponents: {\n\t\tUpdateContentTrainers,\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\n\t\t\t\"updateContent\",\n\t\t\t\"getContentTrainers\",\n\t\t\t\"assignTrainersToContent\",\n\t\t\t\"unassignTrainersToContent\",\n\t\t]),\n\t\tupdate() {\n\t\t\tthis.updateObject.id = this.contentData.id;\n\t\t\tthis.updateObject.title = this.title;\n\t\t\tthis.updateObject.availableFrom =\n\t\t\t\tthis.availableFrom != \"\" ? this.availableFrom : null;\n\t\t\tthis.updateObject.availableTo =\n\t\t\t\tthis.availableTo != \"\" ? this.availableTo : null;\n\t\t\t// isAvailableForDemo: this.isContentAvailableForDemo,\n\t\t\t// availableFrom: this.availableFrom,\n\t\t\t// availableTo: this.availableTo,\n\t\t\t// };\n\t\t\tthis.updateObject.isAvailableForDemo = this.isContentAvailableForDemo;\n\t\t\tif (this.parentDirectoryID)\n\t\t\t\tthis.updateObject.parentDirectoryID = this.parentDirectoryID;\n\t\t\tif (this.productVariantID)\n\t\t\t\tthis.updateObject.productVariantID = this.productVariantID;\n\n\t\t\tif (this.availableFrom && this.availableTo) {\n\t\t\t\tthis.allOk = new Date(this.availableFrom) <= new Date(this.availableTo);\n\t\t\t\tconsole.log(this.allOk);\n\t\t\t\tif (!this.allOk) {\n\t\t\t\t\tthis.dateErrorText = \"Start Date cannot be after End Date\";\n\t\t\t\t} else {\n\t\t\t\t\tthis.dateErrorText = \"\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.trainersToAssign) {\n\t\t\t\tthis.trainersToAssign.forEach((t) => {\n\t\t\t\t\tif (t.permissions.length == 0) {\n\t\t\t\t\t\tthis.errorText = \"Please assign permissions to trainer first!\";\n\t\t\t\t\t\tthis.allOk = false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.errorText = \"\";\n\t\t\t\t\t\tthis.allOk = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this.allOk) {\n\t\t\t\tthis.updateContent(this.updateObject).then(() => {\n\t\t\t\t\tconsole.log(this.entity, \"updated!\");\n\t\t\t\t\tif (this.trainersToAssign) {\n\t\t\t\t\t\tif (this.allOk) {\n\t\t\t\t\t\t\tvar assignObj = {\n\t\t\t\t\t\t\t\tid: this.contentData.id,\n\t\t\t\t\t\t\t\ttrainers: this.trainersToAssign,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tthis.assignTrainersToContent(assignObj).then(() => {\n\t\t\t\t\t\t\t\tconsole.log(\"trainers assigned\");\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (this.trainersToUnassign && this.allOk) {\n\t\t\t\t\t\tvar unassignObj = {\n\t\t\t\t\t\t\tid: this.contentData.id,\n\t\t\t\t\t\t\ttrainers: this.trainersToUnassign,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.unassignTrainersToContent(unassignObj).then(() => {\n\t\t\t\t\t\t\tconsole.log(\"trainers unassigned\");\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tif (this.allOk) {\n\t\t\t\t\t\tthis.closeModal();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tcloseModal() {\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t},\n\t\tupdateModel(e) {\n\t\t\t// console.log(e.target.name);\n\t\t\tif (e.target.name == \"isContentAvailableForDemo\") {\n\t\t\t\tconsole.log(e.target.checked);\n\t\t\t\tthis.updateObject.isAvailableForDemo = e.target.checked;\n\t\t\t} else if (\n\t\t\t\te.target.name == \"availableFrom\" ||\n\t\t\t\te.target.name == \"availableTo\"\n\t\t\t) {\n\t\t\t\tif (e.target.value == \"\") this.updateObject[e.target.name] = null;\n\t\t\t\telse this.updateObject[e.target.name] = e.target.value;\n\t\t\t} else this.updateObject[e.target.name] = e.target.value;\n\t\t},\n\t\tdisableNext() {\n\t\t\t// console.log(Object.keys(this.updateObject).length);\n\t\t\tif (\n\t\t\t\tObject.keys(this.updateObject).length == 0 &&\n\t\t\t\tthis.trainersToAssign == null &&\n\t\t\t\tthis.trainersToUnassign == null\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tupdatePermissions(value, id) {\n\t\t\tthis.assignedTrainers = this.assignedTrainers.map((t) => {\n\t\t\t\tif (t.id == id) {\n\t\t\t\t\tt.permissions = value;\n\t\t\t\t}\n\t\t\t\treturn t;\n\t\t\t});\n\t\t},\n\t\tassignTrainer(trainerObject) {\n\t\t\ttrainerObject.id = trainerObject.trainerID;\n\t\t\tvar found = this.assignedTrainers.find((t) => t.id == trainerObject.id);\n\t\t\t// console.log(found, trainerObject);\n\t\t\tif (!found) {\n\t\t\t\tif (this.assignedTrainers) this.assignedTrainers.push(trainerObject);\n\t\t\t\telse this.assignedTrainers = [trainerObject];\n\t\t\t}\n\t\t},\n\t\tunassignTrainer(trainerObject) {\n\t\t\tvar found = this.assignedTrainers.find(\n\t\t\t\t(t) => t.id == trainerObject.trainerID\n\t\t\t);\n\t\t\tconsole.log(\"unAssignTraners\", found, trainerObject);\n\t\t\tif (found)\n\t\t\t\tthis.assignedTrainers = this.assignedTrainers.filter(\n\t\t\t\t\t(t) => t.id != trainerObject.trainerID\n\t\t\t\t);\n\t\t},\n\t\tupdateTrainersToAssign(value) {\n\t\t\tthis.trainersToAssign = value;\n\t\t},\n\t\tupdateTrainersToUnassign(value) {\n\t\t\tthis.trainersToUnassign = value;\n\t\t},\n\t},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible) {\n\t\t\t\tthis.title = this.contentData.title ? this.contentData.title : null;\n\t\t\t\tthis.availableFrom = this.contentData.availableFrom\n\t\t\t\t\t? getInputDateFormat(this.contentData.availableFrom)\n\t\t\t\t\t: null;\n\t\t\t\tthis.availableTo = this.contentData.availableTo\n\t\t\t\t\t? getInputDateFormat(this.contentData.availableTo)\n\t\t\t\t\t: null;\n\t\t\t\tthis.isContentAvailableForDemo =\n\t\t\t\t\tthis.contentData.isAvailableForDemo ||\n\t\t\t\t\tthis.contentData.isContentAvailableForDemo;\n\t\t\t\tthis.getContentTrainers(this.contentData.id).then(() => {\n\t\t\t\t\tthis.trainers = this.trainersByContentId[this.contentData.id];\n\t\t\t\t\tthis.assignedTrainers = this.trainers.map((t) => {\n\t\t\t\t\t\tvar trainerObject = {\n\t\t\t\t\t\t\ttrainerID: t.user.id,\n\t\t\t\t\t\t\tid: t.user.id,\n\t\t\t\t\t\t\tfirstName: t.user.firstName,\n\t\t\t\t\t\t\tlastName: t.user.lastName,\n\t\t\t\t\t\t\tIsShowInTrainerList: t.isShowInTrainerList,\n\t\t\t\t\t\t\tjobTitle: t.jobTitle,\n\t\t\t\t\t\t\tpermissions: t.permissions.split(\",\"),\n\t\t\t\t\t\t\tisActive: t.isActive,\n\t\t\t\t\t\t\temail: t.user.email,\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn trainerObject;\n\t\t\t\t\t});\n\t\t\t\t\tconsole.log(this.trainersByContentId[this.contentData.id]);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style>\n.edit-content-modal {\n\tmin-height: 40rem;\n\twidth: 70vw;\n}\n\n.edit-content-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n}\n\n.edit-content-modal .modal-body .body-container {\n\tpadding: 2.5rem;\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tposition: relative;\n}\n\n.edit-content-modal .edit-content-title {\n\tfont-weight: 450;\n\tfont-size: 2rem;\n\tline-height: 0.75;\n\tmargin: 0.5rem 0 2rem;\n\tcolor: #000000;\n}\n\n.all-trainers-list {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.trainer-list-container {\n\tmargin-top: 1.5rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EditContentModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EditContentModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditContentModal.vue?vue&type=template&id=13b9520d&\"\nimport script from \"./EditContentModal.vue?vue&type=script&lang=js&\"\nexport * from \"./EditContentModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditContentModal.vue?vue&type=style&index=0&id=13b9520d&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"exam-action-modal\",\"dialog-class\":'animate-modal-dialog '+(_vm.isExpanded?'expanded':'shrink'),\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"exam-action-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('div',{staticClass:\"right-close-panel\"},[_c('button',{staticClass:\"close-button expanded-btn mr-3\",attrs:{\"role\":\"button\"},on:{\"click\":function (){ _vm.isExpanded=!_vm.isExpanded; }}},[(!_vm.isExpanded)?_c('i',{staticClass:\"fas fa-expand-alt\"}):_vm._e(),(_vm.isExpanded)?_c('i',{staticClass:\"fas fa-compress-alt\"}):_vm._e()]),_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})])])]),_c('div',[(this.iframeURL)?_c('div',[_c('center',[_c('h6',{staticClass:\"load-head\"},[_c('b-spinner'),_vm._v(\" Loading...\")],1)]),_c('iframe',{staticClass:\"modal-iframe\",attrs:{\"src\":this.iframeURL}},[_vm._v(\" --> \")])],1):_vm._e(),(!this.iframeURL)?_c('div',{staticClass:\"modal-iframe\"}):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal id=\"exam-action-modal\" @change=\"$emit('updateModalState', false)\" :dialog-class=\"'animate-modal-dialog '+(isExpanded?'expanded':'shrink')\"  :visible=\"visible\" hide-header centered\n\t\tcontent-class=\"exam-action-modal\" size=\"xl\" body-class=\"modal-body\" hide-footer modal-class=\"custom-modal\"\n\t\tno-close-on-backdrop>\n\t\t<div class=\"body-container\">\n\t\t\t<div class=\"right-close-panel\">\n\t\t\t\t<button @click=\"()=>{ isExpanded=!isExpanded; }\" class=\"close-button expanded-btn mr-3\" role=\"button\">\n\t\t\t\t\t\t\t<i v-if=\"!isExpanded\" class=\"fas fa-expand-alt\"></i>\n\t\t\t\t\t\t\t<i v-if=\"isExpanded\" class=\"fas fa-compress-alt\"></i>\n\t\t\t\t</button>\n\t\t\t\t<button @click=\"$emit('updateModalState', false)\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t\n\t\t</div>\n\t\t<div >\n\t\t\t<div v-if=\"this.iframeURL\">\n\t\t\t\t<center>\n\t\t\t\t\t<h6 class=\"load-head\"><b-spinner ></b-spinner> Loading...</h6>\n\t\t\t\t</center>\n\t\t\t\t<iframe :src=\"this.iframeURL\" class=\"modal-iframe\"> -->\n\t\t\t\n\t\t\t\t</iframe>\n\t\t\t</div>\n\t\t\t<div v-if=\"!this.iframeURL\"  class=\"modal-iframe\">\n\t\t\t\t<!-- <Loading /> -->\n\t\t\t</div>\n\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport { LegacyExam } from \"../../../constants/exam\";\nimport Loading from \"../../Layout/Loading.vue\";\n\nexport default {\n\tname: \"ExamActionModal\",\n\tprops: {\n\t\tvisible: Boolean,\n\t\titem:Object,\n\t\taction:String\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tiframeURL:null,\n\t\t\tisExpanded:false\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getContentById\"]),\n\t\thandleLegacyExamActions(action) {\n\t\t\tthis.iframeURL=null;\n\t\t\tthis.getContentById({\n\t\t\t\tid: this.item.id,\n\t\t\t\textraParams: { action: action },\n\t\t\t}).then((content) => {\n\t\t\t\tif (content ) {\n\t\t\t\t\tvar examActionUrl =\n\t\t\t\t\t\tcontent.data.redirectUrl;\n\n            if(this.isAppleDevice()) {\n              window.open(\n                  content.data.redirectUrl,\n                  \"_blank\"\n              );\n\n              this.visible = false;\n            } else {\n              this.iframeURL=examActionUrl;\n            }\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n    isAppleDevice() {\n      const userAgent = navigator.userAgent;\n\n      return /Mac|Macintosh|iPhone|iPad/.test(userAgent);\n    }\n\n\t},\n\tcomponents: {\n\t\tLoading,\n\t\tLegacyExam\n\t},\n\tcreated(){\n\t},\n\tcomputed: {\t\n\t},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible==true) {\n\t\t\t\t\tthis.handleLegacyExamActions(this.action);\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n\t.right-close-panel\n\t{\n\t\tposition: absolute;\n    \ttop: 2.5rem;\n    \tright: 2rem;\n\t\tdisplay: flex;\n\t}\n\n\t.right-close-panel .close-button\n\t{\n\t\tposition: initial;\n\t}\n\t\n\t.expanded-btn{\n\t\tcolor: black;\n\t    font-size: 24px;\n\t    margin-right: 15px;\n\t\tpadding-top: 4px;\n\t}\n</style>\n<style>\n.exam-action-modal {\n\tmin-height: 45.375rem;\n\twidth: 90vw;\n\tposition: relative;\n}\n\n\n#exam-action-modal .expanded\n{\n\tmax-width: 96%;\n\tmax-height: 96%;\n\n}\n\n#exam-action-modal .expanded .exam-action-modal\n{\n\theight: 90vh;\n\t\n}\n\n/* .custom-modal .modal-dialog {\n\tmax-width: 70vw;\n} */\n.load-head{\n\tposition: absolute;\n    top: 50%;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    text-align: center;\n\tfont-size: 24px;\n}\n\n.exam-action-modal .modal-body {\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n\tmin-height: 43rem;\n}\n\n.exam-action-modal .modal-body .modal-iframe {\n\twidth: 100%;\n\tposition:absolute;\n\theight: 100%;\n}\n\n\n.exam-action-modal .body-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 2.5rem 2.5rem 1.5rem;\n    position: absolute;\n    z-index: 999999;\n    right: 0;\n\n}\n\n\n.exam-action-modal .body-container .header {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tmargin-right: 30px;\n\n}\n\n.exam-action-modal .exam-action-title {\n\tfont-weight: 450;\n\tfont-size: 2rem;\n\tline-height: 0.75;\n\tmargin: 0.5rem 0 2rem;\n\tcolor: #000000;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExamActionModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExamActionModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ExamActionModal.vue?vue&type=template&id=3240925a&scoped=true&\"\nimport script from \"./ExamActionModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ExamActionModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ExamActionModal.vue?vue&type=style&index=0&id=3240925a&prod&scoped=true&lang=css&\"\nimport style1 from \"./ExamActionModal.vue?vue&type=style&index=1&id=3240925a&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3240925a\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"exam-questions-modal\",\"dialog-class\":'animate-modal-dialog '+(_vm.isExpanded?'expanded':'shrink'),\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"exam-questions-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('div',{staticClass:\"right-close-panel\"},[_c('button',{staticClass:\"close-button expanded-btn mr-3\",attrs:{\"role\":\"button\"},on:{\"click\":function (){ _vm.isExpanded=!_vm.isExpanded; }}},[(!_vm.isExpanded)?_c('i',{staticClass:\"fas fa-expand-alt\"}):_vm._e(),(_vm.isExpanded)?_c('i',{staticClass:\"fas fa-compress-alt\"}):_vm._e()]),_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})])])]),_c('div',[(this.iframeURL)?_c('div',[_c('h6',{staticClass:\"load-head\"},[_c('b-spinner'),_vm._v(\" Loading...\")],1),_c('iframe',{staticClass:\"modal-iframe\",attrs:{\"src\":this.iframeURL}})]):_vm._e(),(!this.iframeURL)?_c('div',{staticClass:\"modal-iframe\"}):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal id=\"exam-questions-modal\" :dialog-class=\"'animate-modal-dialog '+(isExpanded?'expanded':'shrink')\" @change=\"$emit('updateModalState', false)\" :visible=\"visible\" hide-header centered\n\t\tcontent-class=\"exam-questions-modal\" size=\"xl\" body-class=\"modal-body\" hide-footer modal-class=\"custom-modal\"\n\t\tno-close-on-backdrop>\n\t\t<div class=\"body-container\">\n\t\t\t<div class=\"right-close-panel\">\n\t\t\t\t<button @click=\"()=>{ isExpanded=!isExpanded; }\" class=\"close-button expanded-btn mr-3\" role=\"button\">\n\t\t\t\t\t\t\t<i v-if=\"!isExpanded\" class=\"fas fa-expand-alt\"></i>\n\t\t\t\t\t\t\t<i v-if=\"isExpanded\" class=\"fas fa-compress-alt\"></i>\n\t\t\t\t</button>\n\t\t\t\t<button @click=\"$emit('updateModalState', false)\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t\n\t\t</div>\n\t\t<div  >\n\t\t\t<div v-if=\"this.iframeURL\">\n\t\t\t\t<h6 class=\"load-head\" > <b-spinner ></b-spinner> Loading...</h6>\n\t\t\t\t<iframe :src=\"this.iframeURL\" class=\"modal-iframe\">\n\t\t\t\n\t\t\t\t</iframe>\n\t\t\t</div>\n\t\t\t<div v-if=\"!this.iframeURL\"  class=\"modal-iframe\">\n\t\t\t\t<!-- <Loading /> -->\n\t\t\t</div>\n\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport { LegacyExam } from \"../../../constants/exam\";\nimport Loading from \"../../../components/Layout/Loading.vue\";\n\nexport default {\n\tname: \"ExamQuestionsModal\",\n\tprops: {\n\t\tvisible: Boolean,\n\t\titem:Object,\n        mode:String\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tiframeURL:null,\n\t\t\tisExpanded:false\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getContentById\"]),\n\t\thandleLegacyExamActions(action) {\n\t\t\tthis.iframeURL=null;\n\t\t\tthis.getContentById({\n\t\t\t\tid: this.item.id,\n\t\t\t\textraParams: { action: action },\n\t\t\t}).then((content) => {\n\t\t\t\tif (content ) {\n\t\t\t\t\tvar examActionUrl = content.data.redirectUrl;\n\n          if(this.isAppleDevice()) {\n            window.open(\n                examActionUrl,\n                \"_blank\"\n            );\n\n            this.visible = false;\n          } else {\n            this.iframeURL=examActionUrl;\n          }\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n    isAppleDevice() {\n      const userAgent = navigator.userAgent;\n\n      return /Mac|Macintosh|iPhone|iPad/.test(userAgent);\n    }\n\t},\n\tcomponents: {\n\t\tLoading,\n\t\tLegacyExam\n\t},\n\tcreated(){\n\t},\n\tcomputed: {\t\n\t},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible) {\n\t\t\t\tif (!this.mode || this.mode.toLowerCase() == \"list\")\n\t\t\t\t\tthis.handleLegacyExamActions(LegacyExam.GET_EXAM_ACTION.LIST_QUESTION);\n\t\t\t\tif (this.mode && this.mode.toLowerCase() == \"create\")\n\t\t\t\t\tthis.handleLegacyExamActions(LegacyExam.GET_EXAM_ACTION.CREATE_QUESTION);\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n\t.right-close-panel\n\t{\n\t\tposition: absolute;\n    \ttop: 2.5rem;\n    \tright: 2rem;\n\t\tdisplay: flex;\n\t}\n\n\t.right-close-panel .close-button\n\t{\n\t\tposition: initial;\n\t}\n\t\n\t.expanded-btn{\n\t\tcolor: black;\n\t    font-size: 24px;\n\t    margin-right: 15px;\n\t\tpadding-top: 4px;\n\t}\n</style>\n<style>\n.exam-questions-modal {\n\tmin-height: 45.375rem;\n\twidth: 100vw;\n\tposition: relative;\n}\n\n\n#exam-questions-modal .expanded\n{\n\tmax-width: 96%;\n\tmax-height: 96%;\n\n}\n\n#exam-questions-modal .expanded .exam-questions-modal\n{\n\theight: 90vh;\n\t\n}\n\n\n\n/* .custom-modal .modal-dialog {\n\tmax-width: 70vw;\n} */\n.load-head{\n\tposition: absolute;\n}\n\n.exam-questions-modal .modal-body {\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n\tmin-height: 43rem;\n}\n\n.exam-questions-modal .modal-body .modal-iframe {\n\twidth: 100%;\n\tposition:absolute;\n\theight: 100%;\n}\n\n\n.exam-questions-modal .body-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 2.5rem 2.5rem 1.5rem;\n    position: absolute;\n    z-index: 999999;\n    right: 0;\n\n}\n\n\n.exam-questions-modal .body-container .header {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tmargin-right: 30px;\n\n}\n\n.create-meeting-modal .exam-questions-title {\n\tfont-weight: 450;\n\tfont-size: 2rem;\n\tline-height: 0.75;\n\tmargin: 0.5rem 0 2rem;\n\tcolor: #000000;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExamQuestionsModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExamQuestionsModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ExamQuestionsModal.vue?vue&type=template&id=2e8e7ef0&scoped=true&\"\nimport script from \"./ExamQuestionsModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ExamQuestionsModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ExamQuestionsModal.vue?vue&type=style&index=0&id=2e8e7ef0&prod&scoped=true&lang=css&\"\nimport style1 from \"./ExamQuestionsModal.vue?vue&type=style&index=1&id=2e8e7ef0&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2e8e7ef0\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"create-content-activity-container\"},[(_vm.showAddOptions)?_c('b-collapse',{staticClass:\"create-options-container\",attrs:{\"id\":(\"options-collapse\" + (_vm.contentData ? _vm.contentData.id : ''))}},[_c('div',{staticClass:\"option-tabs\"},[_c('ul',{staticClass:\"inline-list\"},[_c('li',{class:[\n\t\t\t\t\t\t'option-tab',\n\t\t\t\t\t\t{ active: _vm.activeTab == _vm.ContentType.LIVE_CLASS } ],attrs:{\"id\":_vm.ContentType.LIVE_CLASS},on:{\"click\":_vm.changeTab}},[_vm._v(\" Live Classes \")]),_c('li',{class:[\n\t\t\t\t\t\t'option-tab',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tactive: _vm.activeTab == _vm.ContentType.RECORDED_VIDEOS,\n\t\t\t\t\t\t} ],attrs:{\"id\":_vm.ContentType.RECORDED_VIDEOS},on:{\"click\":_vm.changeTab}},[_vm._v(\" Recorded Videos \")]),_c('li',{class:[\n\t\t\t\t\t\t'option-tab',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tactive: _vm.activeTab == _vm.ContentType.STUDY_MATERIAL_SERVICE,\n\t\t\t\t\t\t} ],attrs:{\"id\":_vm.ContentType.STUDY_MATERIAL_SERVICE},on:{\"click\":_vm.changeTab}},[_vm._v(\" Study Material \")]),(\n\t\t\t\t\t\tthis.externalServicesList &&\n\t\t\t\t\t\tthis.externalServicesList[_vm.ContentType.EXAM]\n\t\t\t\t\t)?_c('li',{class:['option-tab', { active: _vm.activeTab == _vm.ContentType.EXAM }],attrs:{\"id\":_vm.ContentType.EXAM},on:{\"click\":_vm.changeTab}},[_vm._v(\" Exam \")]):_vm._e(),(_vm.currentTheme=='ebook')?_c('li',{class:['option-tab', { active: _vm.activeTab == _vm.ContentType.ASSIGNMENT }],attrs:{\"id\":_vm.ContentType.ASSIGNMENT},on:{\"click\":_vm.changeTab}},[_vm._v(\" Assignment \")]):_vm._e(),(_vm.currentTheme=='ebook')?_c('li',{class:[\n\t\t\t\t\t'option-tab',\n\t\t\t\t\t{\n\t\t\t\t\t\tactive: _vm.activeTab == _vm.ContentType.FREETEXT,\n\t\t\t\t\t} ],attrs:{\"id\":_vm.ContentType.FREETEXT},on:{\"click\":_vm.changeTab}},[_vm._v(\" Freetext \")]):_vm._e(),(_vm.currentTheme=='ebook')?_c('li',{class:[\n\t\t\t\t\t\t'option-tab',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tactive: _vm.activeTab == _vm.ContentType.FLASHCARDS,\n\t\t\t\t\t\t} ],attrs:{\"id\":_vm.ContentType.FLASHCARDS},on:{\"click\":_vm.changeTab}},[_vm._v(\" Flash Cards \")]):_vm._e()]),_c('button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"options-collapse\" + (_vm.contentData ? _vm.contentData.id : ''))),expression:\"`options-collapse${contentData ? contentData.id : ''}`\"}],staticClass:\"cancel-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.toggleAddOptions}},[_c('img',{staticClass:\"cancel-icon\",attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}}),_vm._v(\" Cancel \")])]),_c('div',{staticClass:\"option-tab-body\"},[(_vm.activeTab==_vm.ContentType.ASSIGNMENT && _vm.currentTheme=='ebook')?_c('div',{staticClass:\"services-list\"},[_c('div',{class:['service-list-item'],on:{\"click\":function($event){return _vm.handleManageAssignmentsClick()}}},[_c('img',{staticClass:\"icon\",attrs:{\"src\":require(\"@/assets/images/exam-test.png\")}}),_c('span',{staticClass:\"title\"},[_vm._v(\"Assignments \")])])]):(_vm.activeTab==_vm.ContentType.FLASHCARDS  && _vm.currentTheme=='ebook')?_c('div',{staticClass:\"services-list\"},[_c('div',{class:['service-list-item'],on:{\"click\":function($event){return _vm.handleFlashCardClick()}}},[_c('img',{staticClass:\"icon\",attrs:{\"src\":require(\"@/assets/images/exam-test.png\")}}),_c('span',{staticClass:\"title\"},[_vm._v(\" Flash Card \")])])]):(_vm.activeTab==_vm.ContentType.FREETEXT  && _vm.currentTheme=='ebook')?_c('div',{staticClass:\"services-list\"},[_c('div',{class:['service-list-item'],on:{\"click\":function($event){return _vm.handleFreeTextClick()}}},[_c('img',{staticClass:\"icon\",attrs:{\"src\":require(\"@/assets/images/exam-test.png\")}}),_c('span',{staticClass:\"title\"},[_vm._v(\"Free Text \")])])]):(!_vm.loading && _vm.serviceProviders[_vm.activeTab])?_c('div',{staticClass:\"services-list\"},[_vm._l((_vm.serviceProviders[_vm.activeTab]),function(service){return (_vm.isAllowService(service))?_c('div',{key:service.serviceProvider,class:[\n\t\t\t\t\t\t'service-list-item',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdisabled:\n\t\t\t\t\t\t\t\t_vm.isVideoLoading &&\n\t\t\t\t\t\t\t\tservice.serviceProvider.toLowerCase() == 'vss',\n\t\t\t\t\t\t} ],on:{\"click\":function($event){return _vm.handleServiceClick(service)}}},[(service.serviceProvider.toLowerCase() == 'zoom')?_c('img',{staticClass:\"zoom-icon\",attrs:{\"src\":require(\"@/assets/images/zoom-logo.png\")}}):(\n\t\t\t\t\t\t\t_vm.isVideoLoading && service.serviceProvider.toLowerCase() == 'vss'\n\t\t\t\t\t\t)?_c('img',{staticClass:\"icon\",attrs:{\"src\":require(\"@/assets/images/study-material.png\")}}):(service.serviceProvider.toLowerCase() == 'vss' && service.serviceType==_vm.ContentType.STUDY_MATERIAL_SERVICE)?_c('img',{staticClass:\"icon\",attrs:{\"src\":require(\"@/assets/images/study-material.png\")}}):(service.serviceProvider.toLowerCase() == 'vss')?_c('img',{staticClass:\"icon\",attrs:{\"src\":require(\"@/assets/images/recorded-lecture.png\")}}):(service.serviceProvider.toLowerCase() == 'youtube')?_c('img',{staticClass:\"icon\",attrs:{\"src\":require(\"@/assets/images/youtube-icon.png\")}}):(\n\t\t\t\t\t\t\tservice.serviceProvider ==\n\t\t\t\t\t\t\t\t_vm.ServiceCodes.EXAM.ExamTestingSystem ||\n\t\t\t\t\t\t\tservice.serviceProvider == _vm.ServiceCodes.EXAM.V3ExamSystem\n\t\t\t\t\t\t)?_c('img',{staticClass:\"icon\",attrs:{\"src\":require(\"@/assets/images/exam-test.png\")}}):(\n\t\t\t\t\t\t\t_vm.activeTab == _vm.ContentType.EXAM\n\t\t\t\t\t\t)?_c('img',{staticClass:\"icon\",attrs:{\"src\":require(\"@/assets/images/study-material.png\")}}):_c('img',{staticClass:\"icon\",attrs:{\"src\":require(\"@/assets/images/study-material.png\")}}),_c('span',{staticClass:\"title\",attrs:{\"title\":_vm.serviceTitle(service)}},[_vm._v(_vm._s(_vm.serviceTitle(service)))])]):_vm._e()}),(_vm.activeTab == _vm.ContentType.EXAM  && _vm.currentTheme=='ebook')?_c('div',{staticClass:\"service-list-item\",on:{\"click\":function($event){return _vm.handleQuizClick()}}},[_c('img',{staticClass:\"icon\",attrs:{\"src\":require(\"@/assets/images/exam-test.png\")}}),_c('span',{staticClass:\"title\",attrs:{\"title\":\"Quiz\"}},[_vm._v(\"Quiz\")])]):_vm._e(),(_vm.serviceProviders[_vm.activeTab].length == 0 && _vm.activeTab != _vm.ContentType.EXAM)?_c('div',{staticClass:\"no-services text-muted\"},[_vm._v(\" No services found \")]):_vm._e()],2):_c('div',{staticClass:\"services-list skeleton\"},[_c('b-skeleton',{attrs:{\"width\":\"11.25rem\",\"height\":\"8.75rem\"}}),_c('b-skeleton',{attrs:{\"width\":\"11.25rem\",\"height\":\"8.75rem\"}}),_c('b-skeleton',{attrs:{\"width\":\"11.25rem\",\"height\":\"8.75rem\"}})],1)])]):_vm._e(),_c('div',{staticClass:\"button-container\"},[(_vm.showAddOptions)?_c('button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"options-collapse\" + (_vm.contentData ? _vm.contentData.id : ''))),expression:\"`options-collapse${contentData ? contentData.id : ''}`\"}],staticClass:\"cancel-content-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.toggleAddOptions}},[_c('img',{staticClass:\"cancel-icon\",attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}}),_vm._v(\" cancel \")]):_c('button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"options-collapse\" + (_vm.contentData ? _vm.contentData.id : ''))),expression:\"`options-collapse${contentData ? contentData.id : ''}`\"}],staticClass:\"add-content-btn\",attrs:{\"disabled\":_vm.mode == 'create',\"role\":\"button\"},on:{\"click\":_vm.toggleAddOptions}},[_c('object',{staticClass:\"color-change-svg\",attrs:{\"data\":require('@/assets/images/add-border-icon-red.svg'),\"alt\":\"\",\"type\":\"image/svg+xml\"}}),_vm._v(\" add activity \")])]),(_vm.serviceProviders[_vm.activeTab] && _vm.selectedService)?_c('UploadRecordedLectureModal',{attrs:{\"showModal\":_vm.showRecordedLectureModal,\"parentContentId\":_vm.parentContentId,\"serviceData\":_vm.serviceData,\"service\":_vm.selectedService,\"contentType\":_vm.selectedService.serviceType},on:{\"updateModalState\":_vm.toggleRecordedVideosModal,\"updateProgress\":_vm.updateVideoProgress}}):_vm._e(),(_vm.serviceProviders[_vm.activeTab] && _vm.selectedService)?_c('UploadYoutubeRecordedLectureModal',{attrs:{\"showModal\":_vm.showYoutubeRecordedLectureModal,\"parentContentId\":_vm.parentContentId,\"serviceData\":_vm.serviceData,\"service\":_vm.selectedService,\"contentType\":_vm.selectedService.serviceType},on:{\"updateModalState\":_vm.toggleYoutubeRecordedVideosModal}}):_vm._e(),(_vm.serviceProviders[_vm.activeTab])?_c('CreateZoomMeetingModal',{attrs:{\"visible\":_vm.showZoomModal,\"parentContentId\":_vm.parentContentId},on:{\"updateModalState\":_vm.toggleZoomModal}}):_vm._e(),(_vm.serviceProviders[_vm.activeTab])?_c('UploadStudyMaterialModal',{attrs:{\"showModal\":_vm.showStudyMaterialModal,\"parentContentId\":_vm.parentContentId,\"allowDownload\":_vm.allowDownload,\"serviceData\":_vm.serviceData,\"serviceProvider\":_vm.selectedProvider},on:{\"updateModalState\":_vm.toggleStudyMaterialModal}}):_vm._e(),(_vm.serviceProviders[_vm.activeTab])?_c('CreateEditExamModal',{attrs:{\"showModal\":_vm.showExamModal,\"parentContentId\":_vm.parentContentId,\"productVariantId\":_vm.productVariantId},on:{\"updateModalState\":_vm.toggleExamModal}}):_vm._e(),(_vm.serviceProviders[_vm.activeTab])?_c('CreateEditLegacyExamModal',{attrs:{\"showModal\":_vm.showLegacyExamModal,\"parentContentId\":_vm.parentContentId,\"productVariantId\":_vm.productVariantId},on:{\"updateModalState\":_vm.toggleLegacyExamModal}}):_vm._e(),_c('FlashCardActionModal',{attrs:{\"isEditMode\":false,\"visible\":this.showFlashCardModel,\"parentContentId\":_vm.parentContentId},on:{\"updateModalState\":_vm.toggleFlashCardModal}}),_c('FreeTextActionModal',{attrs:{\"isEditMode\":false,\"visible\":this.showFreetextModal,\"parentContentId\":_vm.parentContentId},on:{\"updateModalState\":_vm.toggleFreeTextModal}}),_c('AssignmentActionModal',{attrs:{\"isEditMode\":false,\"visible\":this.showManageAssignmentsModal,\"parentContentId\":_vm.parentContentId},on:{\"updateModalState\":_vm.toggleManageAssignmentsModal}}),(_vm.showQuizModal)?_c('CreateEditQuizModal',{attrs:{\"showModal\":_vm.showQuizModal,\"parentContentId\":_vm.parentContentId,\"productVariantId\":_vm.productVariantId},on:{\"updateModalState\":_vm.toggleQuizModal}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"create-content-activity-container\">\n\t\t<b-collapse\n\t\t\t:id=\"`options-collapse${contentData ? contentData.id : ''}`\"\n\t\t\tv-if=\"showAddOptions\"\n\t\t\tclass=\"create-options-container\"\n\t\t>\n\t\t\t<div class=\"option-tabs\">\n\t\t\t\t<ul class=\"inline-list\">\n\t\t\t\t\t<li\n\t\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t\t:id=\"ContentType.LIVE_CLASS\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'option-tab',\n\t\t\t\t\t\t\t{ active: activeTab == ContentType.LIVE_CLASS },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tLive Classes\n\t\t\t\t\t</li>\n\t\t\t\t\t<li\n\t\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t\t:id=\"ContentType.RECORDED_VIDEOS\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'option-tab',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tactive: activeTab == ContentType.RECORDED_VIDEOS,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tRecorded Videos\n\t\t\t\t\t</li>\n\t\t\t\t\t<li\n\t\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t\t:id=\"ContentType.STUDY_MATERIAL_SERVICE\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'option-tab',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tactive: activeTab == ContentType.STUDY_MATERIAL_SERVICE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tStudy Material\n\t\t\t\t\t</li>\n\t\t\t\t\t<li\n\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\tthis.externalServicesList &&\n\t\t\t\t\t\t\tthis.externalServicesList[ContentType.EXAM]\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t\t:id=\"ContentType.EXAM\"\n\t\t\t\t\t\t:class=\"['option-tab', { active: activeTab == ContentType.EXAM }]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tExam\n\t\t\t\t\t</li>\n\t\t\t\t\t<li\n\t\t\t\t\t\tv-if=\"currentTheme=='ebook'\"\n\t\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t\t:id=\"ContentType.ASSIGNMENT\"\n\t\t\t\t\t\t:class=\"['option-tab', { active: activeTab == ContentType.ASSIGNMENT }]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tAssignment\n\t\t\t\t\t</li>\n\t\t\t\t\t<li v-if=\"currentTheme=='ebook'\" @click=\"changeTab\" :id=\"ContentType.FREETEXT\" :class=\"[\n\t\t\t\t\t\t'option-tab',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tactive: activeTab == ContentType.FREETEXT,\n\t\t\t\t\t\t},\n\t\t\t\t\t]\">\n\t\t\t\t\t\tFreetext\n\t\t\t\t\t</li>\n\t\t\t\t\t<li\n\t\t\t\t\t\tv-if=\"currentTheme=='ebook'\"\n\t\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t\t:id=\"ContentType.FLASHCARDS\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'option-tab',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tactive: activeTab == ContentType.FLASHCARDS,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tFlash Cards\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t\t<button\n\t\t\t\t\tv-b-toggle=\"`options-collapse${contentData ? contentData.id : ''}`\"\n\t\t\t\t\t@click=\"toggleAddOptions\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"cancel-button\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" class=\"cancel-icon\" />\n\t\t\t\t\tCancel\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div class=\"option-tab-body\"  >\n\t\t\t\t\n\t\t\t\t<div v-if=\"activeTab==ContentType.ASSIGNMENT && currentTheme=='ebook'\" class=\"services-list\" >\n\t\t\t\t\t<div :class=\"['service-list-item']\" @click=\"handleManageAssignmentsClick()\" >\n\t\t\t\t\t\t<img class=\"icon\" src=\"@/assets/images/exam-test.png\"/>\n\t\t\t\t\t\t<span class=\"title\">Assignments </span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div\n\t\t\t\t\tv-else-if=\"activeTab==ContentType.FLASHCARDS  && currentTheme=='ebook'\"\n\t\t\t\t\tclass=\"services-list\"\n\t\t\t\t>\n\t\t\t\t\t<div :class=\"['service-list-item']\" @click=\"handleFlashCardClick()\" >\n\t\t\t\t\t\t<img class=\"icon\" src=\"@/assets/images/exam-test.png\"/>\n\t\t\t\t\t\t<span class=\"title\"> Flash Card </span>\n\t\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\t\tv-else-if=\"activeTab==ContentType.FREETEXT  && currentTheme=='ebook'\"\n\t\t\t\t\tclass=\"services-list\"\n\t\t\t\t>\n\t\t\t\t\t<div :class=\"['service-list-item']\" @click=\"handleFreeTextClick()\" >\n\t\t\t\t\t\t<img class=\"icon\" src=\"@/assets/images/exam-test.png\"/>\n\t\t\t\t\t\t<span class=\"title\">Free Text </span>\n\t\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t\t<div\n\t\t\t\t\tv-else-if=\"!loading && serviceProviders[activeTab]\"\n\t\t\t\t\tclass=\"services-list\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-for=\"service in serviceProviders[activeTab]\"\n\t\t\t\t\t\tv-if=\"isAllowService(service)\"\n\t\t\t\t\t\t:key=\"service.serviceProvider\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'service-list-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisabled:\n\t\t\t\t\t\t\t\t\tisVideoLoading &&\n\t\t\t\t\t\t\t\t\tservice.serviceProvider.toLowerCase() == 'vss',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t]\"\n\t\t\t\t\t\t@click=\"handleServiceClick(service)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tv-if=\"service.serviceProvider.toLowerCase() == 'zoom'\"\n\t\t\t\t\t\t\tsrc=\"@/assets/images/zoom-logo.png\"\n\t\t\t\t\t\t\tclass=\"zoom-icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<!-- <i\n\t\t\t\t\t\t\tv-else-if=\"\n\t\t\t\t\t\t\t\tisVideoLoading && service.serviceProvider.toLowerCase() == 'vss'\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tclass=\"fas fa-upload icon\"\n\t\t\t\t\t\t></i> -->\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"icon\"\n\t\t\t\t\t\t\tv-else-if=\"\n\t\t\t\t\t\t\t\tisVideoLoading && service.serviceProvider.toLowerCase() == 'vss'\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tsrc=\"@/assets/images/study-material.png\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"icon\"\n\t\t\t\t\t\t\tv-else-if=\"service.serviceProvider.toLowerCase() == 'vss' && service.serviceType==ContentType.STUDY_MATERIAL_SERVICE\"\n\t\t\t\t\t\t\tsrc=\"@/assets/images/study-material.png\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"icon\"\n\t\t\t\t\t\t\tv-else-if=\"service.serviceProvider.toLowerCase() == 'vss'\"\n\t\t\t\t\t\t\tsrc=\"@/assets/images/recorded-lecture.png\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"icon\"\n\t\t\t\t\t\t\tv-else-if=\"service.serviceProvider.toLowerCase() == 'youtube'\"\n\t\t\t\t\t\t\tsrc=\"@/assets/images/youtube-icon.png\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"icon\"\n\t\t\t\t\t\t\tv-else-if=\"\n\t\t\t\t\t\t\t\tservice.serviceProvider ==\n\t\t\t\t\t\t\t\t\tServiceCodes.EXAM.ExamTestingSystem ||\n\t\t\t\t\t\t\t\tservice.serviceProvider == ServiceCodes.EXAM.V3ExamSystem\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tsrc=\"@/assets/images/exam-test.png\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"icon\"\n\t\t\t\t\t\t\tv-else-if=\"\n\t\t\t\t\t\t\t\tactiveTab == ContentType.EXAM\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tsrc=\"@/assets/images/study-material.png\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<!-- <i v-else class=\"far fa-file icon\"></i> -->\n\t\t\t\t\t\t<img class=\"icon\" v-else src=\"@/assets/images/study-material.png\" />\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<span class=\"title\" :title=\"serviceTitle(service)\">{{\n\t\t\t\t\t\t\tserviceTitle(service)\n\t\t\t\t\t\t}}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"activeTab == ContentType.EXAM  && currentTheme=='ebook'\" class=\"service-list-item\" @click=\"handleQuizClick()\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"icon\"\n\t\t\t\t\t\t\tsrc=\"@/assets/images/exam-test.png\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span class=\"title\" title=\"Quiz\">Quiz</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"serviceProviders[activeTab].length == 0 && activeTab != ContentType.EXAM\"\n\t\t\t\t\t\tclass=\"no-services text-muted\"\n\t\t\t\t\t>\n\t\t\t\t\t\tNo services found\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div v-else class=\"services-list skeleton\">\n\t\t\t\t\t<b-skeleton width=\"11.25rem\" height=\"8.75rem\"></b-skeleton>\n\t\t\t\t\t<b-skeleton width=\"11.25rem\" height=\"8.75rem\"></b-skeleton>\n\t\t\t\t\t<b-skeleton width=\"11.25rem\" height=\"8.75rem\"></b-skeleton>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</b-collapse>\n\t\t<div class=\"button-container\">\n\t\t\t<button\n\t\t\t\tv-if=\"showAddOptions\"\n\t\t\t\trole=\"button\"\n\t\t\t\tclass=\"cancel-content-btn\"\n\t\t\t\t@click=\"toggleAddOptions\"\n\t\t\t\tv-b-toggle=\"`options-collapse${contentData ? contentData.id : ''}`\"\n\t\t\t>\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" class=\"cancel-icon\" />\n\t\t\t\tcancel\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\t:disabled=\"mode == 'create'\"\n\t\t\t\tv-else\n\t\t\t\trole=\"button\"\n\t\t\t\tclass=\"add-content-btn\"\n\t\t\t\t@click=\"toggleAddOptions\"\n\t\t\t\tv-b-toggle=\"`options-collapse${contentData ? contentData.id : ''}`\"\n\t\t\t>\n\t\t\t\t<object\n\t\t\t\t\t:data=\"require('@/assets/images/add-border-icon-red.svg')\"\n\t\t\t\t\talt=\"\"\n\t\t\t\t\ttype=\"image/svg+xml\"\n\t\t\t\t\tclass=\"color-change-svg\"\n\t\t\t\t/>\n\t\t\t\tadd activity\n\t\t\t</button>\n\t\t\t<!-- <span>OR</span>\n\t\t\t<button\n\t\t\t\t:disabled=\"mode == 'create'\"\n\t\t\t\trole=\"button\"\n\t\t\t\tclass=\"add-content-btn\"\n\t\t\t>\n\t\t\t\t<img src=\"@/assets/images/add-border-icon-red.svg\" alt=\"\" />\n\t\t\t\timport activity\n\t\t\t</button> -->\n\t\t</div>\n\t\t<UploadRecordedLectureModal\n\t\t\tv-if=\"serviceProviders[activeTab] && selectedService\"\n\t\t\t:showModal=\"showRecordedLectureModal\"\n\t\t\t:parentContentId=\"parentContentId\"\n\t\t\t@updateModalState=\"toggleRecordedVideosModal\"\n\t\t\t:serviceData=\"serviceData\"\n\t\t\t:service=\"selectedService\"\n\t\t\t:contentType=\"selectedService.serviceType\"\n\t\t\t@updateProgress=\"updateVideoProgress\"\n\t\t/>\n\t\t<UploadYoutubeRecordedLectureModal\n\t\t\tv-if=\"serviceProviders[activeTab] && selectedService\"\n\t\t\t:showModal=\"showYoutubeRecordedLectureModal\"\n\t\t\t:parentContentId=\"parentContentId\"\n\t\t\t@updateModalState=\"toggleYoutubeRecordedVideosModal\"\n\t\t\t:serviceData=\"serviceData\"\n\t\t\t:service=\"selectedService\"\n\t\t\t:contentType=\"selectedService.serviceType\"\n\t\t/>\n\t\t<CreateZoomMeetingModal\n\t\t\tv-if=\"serviceProviders[activeTab]\"\n\t\t\t:visible=\"showZoomModal\"\n\t\t\t:parentContentId=\"parentContentId\"\n\t\t\t@updateModalState=\"toggleZoomModal\"\n\t\t/>\n\t\t<UploadStudyMaterialModal\n\t\t\tv-if=\"serviceProviders[activeTab]\"\n\t\t\t:showModal=\"showStudyMaterialModal\"\n\t\t\t:parentContentId=\"parentContentId\"\n\t\t\t:allowDownload=\"allowDownload\"\n\t\t\t@updateModalState=\"toggleStudyMaterialModal\"\n\t\t\t:serviceData=\"serviceData\"\n\t\t\t:serviceProvider=\"selectedProvider\"\n\t\t/>\n\t\t<CreateEditExamModal\n\t\t\tv-if=\"serviceProviders[activeTab]\"\n\t\t\t:showModal=\"showExamModal\"\n\t\t\t:parentContentId=\"parentContentId\"\n\t\t\t@updateModalState=\"toggleExamModal\"\n\t\t\t:productVariantId=\"productVariantId\"\n\t\t/>\n\t\t<CreateEditLegacyExamModal\n\t\t\tv-if=\"serviceProviders[activeTab]\"\n\t\t\t:showModal=\"showLegacyExamModal\"\n\t\t\t:parentContentId=\"parentContentId\"\n\t\t\t@updateModalState=\"toggleLegacyExamModal\"\n\t\t\t:productVariantId=\"productVariantId\"\n\t\t/>\n\n\t\t<FlashCardActionModal\n\t\t\t:isEditMode=\"false\"\n\t\t\t:visible=\"this.showFlashCardModel\"\n\t\t\t:parentContentId=\"parentContentId\"\n\t\t\t@updateModalState=\"toggleFlashCardModal\"\n\t\t/>\n\n\t\t<FreeTextActionModal \n\t\t\t:isEditMode=\"false\"\n\t\t\t:visible=\"this.showFreetextModal\" \n\t\t\t:parentContentId=\"parentContentId\"\n\t\t\t@updateModalState=\"toggleFreeTextModal\" \n\t\t/>\n\n\t\t<AssignmentActionModal\n\t\t\t:isEditMode=\"false\"\n\t\t\t:visible=\"this.showManageAssignmentsModal\"\n\t\t\t:parentContentId=\"parentContentId\"\n\t\t\t@updateModalState=\"toggleManageAssignmentsModal\"\n\t\t/>\n\t\t<CreateEditQuizModal\n\t\t\tv-if=\"showQuizModal\"\n\t\t\t:showModal=\"showQuizModal\"\n\t\t\t:parentContentId=\"parentContentId\"\n\t\t\t@updateModalState=\"toggleQuizModal\"\n\t\t\t:productVariantId=\"productVariantId\"\n\t\t/>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport CreateZoomMeetingModal from \"./CreateZoomMeetingModal.vue\";\nimport UploadRecordedLectureModal from \"./UploadRecordedLectureModal.vue\";\nimport UploadYoutubeRecordedLectureModal from \"./UploadYoutubeRecordedLectureModal.vue\";\nimport UploadStudyMaterialModal from \"./UploadStudyMaterialModal.vue\";\nimport CreateEditExamModal from \"../Exam/CreateEditExamModal.vue\";\nimport CreateEditLegacyExamModal from \"../Exam/CreateEditLegacyExamModal.vue\";\nimport FlashCardActionModal from \"./FlashCardActionModal.vue\"\nimport FreeTextActionModal from \"./FreeTextActionModal.vue\"\nimport AssignmentActionModal from \"./AssignmentActionModal.vue\";\nimport CreateEditQuizModal from \"../Exam/Quiz/CreateEditQuizModal.vue\";\nimport { ContentType } from \"../../../constants/content\";\nimport { ServiceCodes } from \"../../../constants/serviceCodes\";\nexport default {\n\tname: \"ExternalServicesList\",\n\tdata() {\n\t\treturn {\n\t\t\tshowZoomModal: false,\n\t\t\tshowRecordedLectureModal: false,\n\t\t\tshowYoutubeRecordedLectureModal: false,\n\t\t\tshowStudyMaterialModal: false,\n\t\t\tshowManageAssignmentsModal: false,\n\t\t\tshowExamModal: false,\n\t\t\tshowLegacyExamModal: false,\n\t\t\tshowFlashCardModel: false,\n\t\t\tshowFreetextModal: false,\n\t\t\tserviceProviders: {},\n\t\t\tloading: false,\n\t\t\tactiveTab: ContentType.LIVE_CLASS,\n\t\t\tisVideoLoading: false,\n\t\t\tisStudyMaterialLoading: false,\n\t\t\tshowAddOptions: false,\n\t\t\tselectedProvider: null,\n\t\t\tselectedService: null,\n\t\t\tallowDownload: false,\n\t\t\tshowManageAssignmentsModal: false,\n\t\t\tshowQuizModal: false,\n\t\t\tproductVariant:null,\n\t\t\tContentType,\n\t\t\tServiceCodes\n\t\t};\n\t},\n\tprops: {\n\t\tparentContentId: String,\n\t\tmode: String,\n\t\tcontentData: Object,\n\t\tproductVariantId: String,\n\t},\n\tcomponents: {\n\t\tCreateZoomMeetingModal,\n\t\tUploadRecordedLectureModal,\n\t\tUploadStudyMaterialModal,\n\t\tCreateEditExamModal,\n\t\tCreateEditLegacyExamModal,\n\t\tFlashCardActionModal,\n\t\tFreeTextActionModal,\n\t\tAssignmentActionModal,\n\t\tCreateEditQuizModal,\n\t\tUploadYoutubeRecordedLectureModal\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\n\t\t\t\"getContentById\",\n\t\t]),\n\t\t...mapActions(\"appState\", [\"fetchExternalServices\"]),\t\t\n\t\t...mapState(\"content\", [\"content\"]),\n\t\thandleFlashCardClick(){\n\t\t\tthis.showFlashCardModel = !this.showFlashCardModel;\n\t\t\tconsole.log('handle: '+this.showFlashCardModel)\n\t\t},\n\t\ttoggleFlashCardModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showFlashCardModel = state;\n\t\t\t} else {\n\t\t\t\tthis.showFlashCardModel = !this.showFlashCardModel;\n\t\t\t}\n\t\t},\n\t\thandleFreeTextClick() {\n\t\t\tthis.showFreetextModal = !this.showFreetextModal;\n\t\t},\n\t\ttoggleFreeTextModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showFreetextModal = state;\n\t\t\t} else {\n\t\t\t\tthis.showFreetextModal = !this.showFreetextModal;\n\t\t\t}\n\t\t},\n\t\thandleServiceClick(service) {\n\t\t\tconsole.log(service);\n\t\t\tif (service.serviceProvider.toLowerCase() == \"zoom\") {\n\t\t\t\tthis.showZoomModal = true;\n\t\t\t} else if (service.serviceProvider.toLowerCase() == \"vss\") {\n\t\t\t\tthis.showRecordedLectureModal = true;\n\t\t\t\tthis.selectedProvider = service.serviceProvider.toLowerCase();\n\t\t\t\tthis.selectedService = service;\n\t\t\t} else if (service.serviceProvider.toLowerCase() == \"youtube\") {\n\t\t\t\tthis.selectedProvider = service.serviceProvider.toLowerCase();\n\t\t\t\tthis.selectedService = service;\n\t\t\t\tthis.showYoutubeRecordedLectureModal = true;\n\t\t\t}\n\t\t\telse if (\n\t\t\t\tservice.serviceProvider.toLowerCase() == \"local\" ||\n\t\t\t\tservice.serviceProvider.toLowerCase() == \"remote\"\n\t\t\t) {\n\t\t\t\tthis.showStudyMaterialModal = true;\n\t\t\t\tthis.selectedProvider = service.serviceProvider.toLowerCase();\n\t\t\t\tthis.selectedService = service;\n\t\t\t} else if (\n\t\t\t\tservice.serviceProvider == ServiceCodes.EXAM.ExamTestingSystem\n\t\t\t) {\n\t\t\t\tthis.showExamModal = true;\n\t\t\t} else if (service.serviceProvider == ServiceCodes.EXAM.V3ExamSystem) {\n\t\t\t\tthis.showLegacyExamModal = true;\n\t\t\t}\n\t\t},\n\t\thandleManageAssignmentsClick(){\n\t\t\tthis.showManageAssignmentsModal = !this.showManageAssignmentsModal;\n\t\t},\n\t\ttoggleManageAssignmentsModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showManageAssignmentsModal = state;\n\t\t\t} else {\n\t\t\t\tthis.showManageAssignmentsModal = !this.showManageAssignmentsModal;\n\t\t\t}\n\t\t},\n\t\thandleQuizClick() {\n\t\t\tthis.showQuizModal = true;\n\t\t},\n\t\ttoggleZoomModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showZoomModal = state;\n\t\t\t} else {\n\t\t\t\tthis.showZoomModal = !this.showZoomModal;\n\t\t\t}\n\t\t\tif (!this.showZoomModal) {\n\t\t\t\t// this.$emit(\"expandContent\");\n\t\t\t}\n\t\t},\n\t\ttoggleRecordedVideosModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showRecordedLectureModal = state;\n\t\t\t} else {\n\t\t\t\tthis.showRecordedLectureModal = !this.showRecordedLectureModal;\n\t\t\t}\n\t\t\tif (!this.showRecordedLectureModal) {\n\t\t\t\t// this.$emit(\"expandContent\");\n\t\t\t}\n\t\t},\n\t\ttoggleYoutubeRecordedVideosModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showYoutubeRecordedLectureModal = state;\n\t\t\t} else {\n\t\t\t\tthis.showYoutubeRecordedLectureModal = !this.showYoutubeRecordedLectureModal;\n\t\t\t}\n\t\t},\n\t\ttoggleStudyMaterialModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showStudyMaterialModal = state;\n\t\t\t} else {\n\t\t\t\tthis.showStudyMaterialModal = !this.showStudyMaterialModal;\n\t\t\t}\n\t\t\tif (!this.showStudyMaterialModal) {\n\t\t\t\t// this.$emit(\"expandContent\");\n\t\t\t}\n\t\t},\n\t\ttoggleExamModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showExamModal = state;\n\t\t\t} else {\n\t\t\t\tthis.showExamModal = !this.showStudyMaterialModal;\n\t\t\t}\n\t\t},\n\t\ttoggleLegacyExamModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showLegacyExamModal = state;\n\t\t\t} else {\n\t\t\t\tthis.showLegacyExamModal = !this.showStudyMaterialModal;\n\t\t\t}\n\t\t},\n\t\ttoggleQuizModal(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showQuizModal = state;\n\t\t\t} else {\n\t\t\t\tthis.showQuizModal = !this.showQuizModal;\n\t\t\t}\n\t\t},\n\t\tserviceIcon(serviceCode) {\n\t\t\tconsole.log(serviceCode);\n\t\t\tif (serviceCode.toLowerCase() == \"vss\") {\n\t\t\t\treturn <img src=\"@/assets/images/play-icon.svg\" />;\n\t\t\t}\n\t\t},\n\t\tupdateVideoProgress(progress, id) {\n\t\t\tconsole.log(\"external services list\", progress, id);\n\t\t\tif (progress < 100) {\n\t\t\t\tthis.isVideoLoading = true;\n\t\t\t} else {\n\t\t\t\tthis.isVideoLoading = false;\n\t\t\t}\n\t\t\tthis.$emit(\"updateVideo\", progress, id);\n\t\t},\n\t\tchangeTab(e) {\n\t\t\tthis.activeTab = e.target.id;\n\t\t},\n\t\ttoggleAddOptions() {\n\t\t\tif (this.showAddOptions) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.showAddOptions = !this.showAddOptions;\n\t\t\t\t}, 300);\n\t\t\t} else {\n\t\t\t\tthis.$emit(\"expandContent\", true);\n\t\t\t\tthis.showAddOptions = !this.showAddOptions;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tdocument\n\t\t\t\t\t\t.getElementById(`options-collapse${this.contentData.id}`)\n\t\t\t\t\t\t.scrollIntoView({\n\t\t\t\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t\t\t\tblock: \"end\",\n\t\t\t\t\t\t\tinline: \"nearest\",\n\t\t\t\t\t\t});\n\t\t\t\t}, 600);\n\t\t\t}\n\n\t\t\tif (this.showAddOptions) {\n\t\t\t\tthis.loading = true;\n\t\t\t\tif (!this.externalServicesList[this.activeTab]) {\n\t\t\t\t\tthis.fetchExternalServices(this.activeTab).then(() => {\n\t\t\t\t\t\tvar providers = [];\n\t\t\t\t\t\tvar list = this.externalServicesList[this.activeTab].filter(\n\t\t\t\t\t\t\t(service) => {\n\t\t\t\t\t\t\t\tif (!providers.includes(service.serviceProvider)) {\n\t\t\t\t\t\t\t\t\tproviders.push(service.serviceProvider);\n\t\t\t\t\t\t\t\t\treturn service;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.serviceProviders[this.activeTab] = list;\n\t\t\t\t\t\tthis.loading = false;\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tvar providers = [];\n\t\t\t\t\tvar list = this.externalServicesList[this.activeTab].filter((service) => {\n\t\t\t\t\t\tif (!providers.includes(service.serviceProvider)) {\n\t\t\t\t\t\t\tproviders.push(service.serviceProvider);\n\t\t\t\t\t\t\treturn service;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tthis.serviceProviders[this.activeTab] = list;\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t}\n\t\t\t\tif (this.showAddOptions && !this.content[this.contentData.id]) {\n\t\t\t\t\t\n\t\t\t\t\tthis.getContentById({\n\t\t\t\t\t\tid: this.contentData.id,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\n\n\n\n\n\t\t\t}\n\n\n\t\t},\n\t\tserviceTitle(service) {\n\t\t\treturn service.serviceProvider.toLowerCase() == \"vss\"  && service.serviceType==ContentType.STUDY_MATERIAL_SERVICE ?\n\t\t\t\"Upload Secure PDF\":\n\t\t\tservice.serviceProvider.toLowerCase() == \"vss\" ||\n\t\t\t\tservice.serviceProvider.toLowerCase() == \"local\" ||\n\t\t\t\tservice.serviceProvider.toLowerCase() == \"remote\"\n\t\t\t\t? !this.isVideoLoading\n\t\t\t\t\t? \"Upload File\"\n\t\t\t\t\t: \"Uploading...\"\n\t\t\t\t: service.serviceProvider.toLowerCase() == \"zoom\"\n\t\t\t\t? \"Zoom\"\n\t\t\t\t: service.serviceName;\n\t\t},\n\t\tisAllowService(service){\n\t\t\tif(this.currentTheme=='ebook')\n\t\t\t\treturn true;\n\n\t\t\tif(service.serviceType==ContentType.RECORDED_VIDEOS && service.serviceProvider.toLowerCase()=='youtube')\n\t\t\t\treturn false;\n\t\t\telse\n\t\t\t\treturn true;\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"externalServicesList\", \"systemParameters\"]),\n\t\t\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\t\tserviceData() {\n\t\t\tif (this.selectedService) {\n\t\t\t\treturn JSON.parse(this.selectedService.serviceData);\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tcurrentTheme(){\n\t\t\tif( this.productVariants && this.productVariants.items[this.productVariantId] && this.productVariants.items[this.productVariantId].properties)\n\t\t\t\treturn this.productVariants?.items[this.productVariantId]?.properties?.contentViewTheme?.toLowerCase();\n\t\t}\n\t},\n\tcreated() {\n\t\tif (this.systemParameters && this.systemParameters.AllowStudyMaterialDefaultValue) {\n\t\t\t  this.allowDownload = this.systemParameters.AllowStudyMaterialDefaultValue==\"true\";\t\t\t\n\t\t}\n\t\tthis.productVariant=this.productVariants;\n\t},\n\twatch: {\n\t\tactiveTab: function () {\n\t\t\tthis.loading = true;\n\t\t\tif (!this.externalServicesList[this.activeTab]) {\n\t\t\t\tthis.fetchExternalServices(this.activeTab).then(() => {\n\t\t\t\t\tvar providers = [];\n\t\t\t\t\tvar list = (this.externalServicesList[this.activeTab]||[]).filter(\n\t\t\t\t\t\t(service) => {\n\t\t\t\t\t\t\tif (!providers.includes(service.serviceProvider)) {\n\t\t\t\t\t\t\t\tproviders.push(service.serviceProvider);\n\t\t\t\t\t\t\t\treturn service;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tthis.serviceProviders[this.activeTab] = list;\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tvar providers = [];\n\t\t\t\tvar list = this.externalServicesList[this.activeTab]?.filter(\n\t\t\t\t\t(service) => {\n\t\t\t\t\t\tif (!providers.includes(service.serviceProvider)) {\n\t\t\t\t\t\t\tproviders.push(service.serviceProvider);\n\t\t\t\t\t\t\treturn service;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tthis.serviceProviders[this.activeTab] = list;\n\t\t\t\tthis.loading = false;\n\t\t\t}\n\t\t},\n\t\tshowAddOptions: function () {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tvar svg = document.querySelectorAll(\".color-change-svg\");\n\t\t\t\t\t// console.log(\"svg\", svg);\n\t\t\t\t\tfor (var j = 0; j < svg.length; j++) {\n\t\t\t\t\t\tvar data = svg[j].contentDocument;\n\t\t\t\t\t\tif (data) {\n\t\t\t\t\t\t\tvar primary = data.querySelectorAll(\".primary-color\");\n\t\t\t\t\t\t\t// console.log(primary);\n\t\t\t\t\t\t\tfor (var i = 0; i < primary.length; i++) {\n\t\t\t\t\t\t\t\tprimary[i].attributes[\"fill\"].value =\n\t\t\t\t\t\t\t\t\tthis.systemParameters.Theme.PrimaryColor;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, 300);\n\t\t\t});\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tvar svg = document.querySelectorAll(\".color-change-svg\");\n\t\t\t\t// console.log(\"svg\", svg);\n\t\t\t\tfor (var j = 0; j < svg.length; j++) {\n\t\t\t\t\tvar data = svg[j].contentDocument;\n\t\t\t\t\tif (data) {\n\t\t\t\t\t\tvar primary = data.querySelectorAll(\".primary-color\");\n\t\t\t\t\t\tvar secondary = data.querySelectorAll(\".secondary-color\");\n\t\t\t\t\t\t// console.log(primary);\n\t\t\t\t\t\tfor (var i = 0; i < primary.length; i++) {\n\t\t\t\t\t\t\tprimary[i].attributes[\"fill\"].value =\n\t\t\t\t\t\t\t\tthis.systemParameters.Theme.PrimaryColor;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 300);\n\t\t});\n\t},\n};\n</script>\n\n<style scoped>\n.services-list {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1.5rem;\n}\n\n.service-list-item {\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\tborder-radius: 6px;\n\twidth: 11.25rem;\n\theight: 8.75rem;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n\trow-gap: 1.5rem;\n\tposition: relative;\n\tcursor: pointer;\n}\n\n.service-list-item.disabled {\n\topacity: 0.5;\n\tpointer-events: none;\n}\n\n.service-list-item .title {\n\tfont-size: 1rem;\n\tcolor: #000000;\n\tline-height: 1.37;\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 2;\n\t-webkit-box-orient: vertical;\n\toverflow: hidden;\n\tmax-width: 80%;\n\ttext-align: center;\n}\n\n.service-list-item .upload {\n\topacity: 0;\n\tcursor: pointer;\n\tposition: absolute;\n\twidth: 11.25rem;\n\theight: 8.75rem;\n\ttop: 0;\n\tleft: 0;\n}\n\n.service-list-item .icon {\n\tmax-height: 3rem;\n\tfont-size: 2.75rem;\n}\n\n.service-list-item .zoom-icon {\n\twidth: 3.25rem;\n\theight: 3.675rem;\n}\n\n.create-content-activity-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\t/* align-items: center; */\n\tcolumn-gap: 1.25rem;\n}\n\n.create-content-activity-container .button-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1.25rem;\n\tpadding: 2rem 1.5rem;\n\tborder-top: 1px solid #dcdcdc;\n}\n\n.add-content-btn {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\ttext-transform: uppercase;\n\tfont-size: 1rem;\n\tletter-spacing: 0.05em;\n\tcolor: var(--primary-color);\n}\n\n.cancel-content-btn {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\ttext-transform: uppercase;\n\tfont-size: 1rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n}\n\n.no-data {\n\ttext-align: center;\n\tpadding: 1rem 0 1rem;\n\tfont-weight: 500;\n\tcolor: var(--color-gray);\n\tfont-size: 1.5rem;\n}\n\n.option-tabs {\n\tbackground: #ffffff;\n\tborder-bottom: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\t/* border-radius: 6px 6px 0px 0px; */\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 1.5rem;\n}\n\n.option-tab {\n\tpadding: 1.5rem 1.25rem;\n\tfont-weight: 500;\n\tfont-size: 1.125rem;\n\tborder-bottom: 1.5px solid transparent;\n}\n\n.option-tab.active {\n\tborder-bottom: 1.5px solid var(--primary-color);\n}\n\n.option-tab-body {\n\tpadding: 1.75rem;\n\tbackground-color: #f9f9f9;\n}\n\n.option-tabs .cancel-button {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 0.5rem;\n\tmargin-left: auto;\n}\n\n.cancel-icon {\n\twidth: 0.875rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExternalServicesList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExternalServicesList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ExternalServicesList.vue?vue&type=template&id=c7c4cd78&scoped=true&\"\nimport script from \"./ExternalServicesList.vue?vue&type=script&lang=js&\"\nexport * from \"./ExternalServicesList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ExternalServicesList.vue?vue&type=style&index=0&id=c7c4cd78&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c7c4cd78\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"flash-card-modal\",\"dialog-class\":'animate-modal-dialog '+(_vm.isExpanded?'expanded':'shrink'),\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"flash-card-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('div',{staticClass:\"right-close-panel\"},[_c('button',{staticClass:\"close-button expanded-btn mr-3\",attrs:{\"role\":\"button\"},on:{\"click\":function (){ _vm.isExpanded=!_vm.isExpanded; }}},[(!_vm.isExpanded)?_c('i',{staticClass:\"fas fa-expand-alt\"}):_vm._e(),(_vm.isExpanded)?_c('i',{staticClass:\"fas fa-compress-alt\"}):_vm._e()]),_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})])]),_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\" \"+_vm._s(this.isEditMode ? \"Edit\" : \"Create\")+\" Flash Card \")]),(_vm.stepIndex === 0)?_c('div',{staticClass:\"body-content-container\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\"}},[_c('div',{staticClass:\"info-container expand\",staticStyle:{\"flex\":\"1\"}},[_c('div',{staticClass:\"form-group mt-3\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"title\"}},[_vm._v(\"Flash Cards Title (Required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type your flash card title\",\"type\":\"search\",\"name\":\"title\",\"id\":\"title\",\"required\":\"\"},domProps:{\"value\":(_vm.title)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}})]),_c('div',{staticClass:\"form-group \"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-6\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"start-date\"}},[_vm._v(\"Start Date (Optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.startDate),expression:\"startDate\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select start date\",\"type\":\"date\",\"name\":\"start-date\",\"id\":\"start-date\"},domProps:{\"value\":(_vm.startDate)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.startDate=$event.target.value}}})])]),_c('div',{staticClass:\"col-lg-6 pe-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"end-date\"}},[_vm._v(\"End Date (Optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.endDate),expression:\"endDate\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select end date\",\"type\":\"date\",\"name\":\"end-date\",\"id\":\"end-date\"},domProps:{\"value\":(_vm.endDate)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.endDate=$event.target.value}}})])])])]),_c('div',{staticClass:\"form-group mt-4\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isAvailableForDemo),expression:\"isAvailableForDemo\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isAvailableForDemo\"},domProps:{\"checked\":Array.isArray(_vm.isAvailableForDemo)?_vm._i(_vm.isAvailableForDemo,null)>-1:(_vm.isAvailableForDemo)},on:{\"change\":function($event){var $$a=_vm.isAvailableForDemo,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isAvailableForDemo=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isAvailableForDemo=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isAvailableForDemo=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isAvailableForDemo\"}},[_vm._v(\"Available for Demo\")])])])]),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.nextStep()}}},[_vm._v(\" NEXT \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})])])]):(_vm.stepIndex === 1)?_c('div',[_c('div',{staticClass:\"info-container expand\"},[_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.addSlide}},[_c('img',{staticClass:\"me-2\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\"),\"alt\":\"ADD\"}}),_vm._v(\" Add Slide \")])]),_c('table',{staticClass:\"table\"},[_c('thead',[_c('tr',[_c('th',[_c('label',{staticClass:\"form-label\",attrs:{\"for\":'slide-1'}},[_vm._v(\"Slide 1\")])]),_c('th',[_c('label',{staticClass:\"form-label\",attrs:{\"for\":'slide-2'}},[_vm._v(\"Slide 2\")])]),_c('th',{staticStyle:{\"width\":\"30px\"}})])]),_c('draggable',{attrs:{\"tag\":\"tbody\",\"group\":\"content\",\"animation\":\"200\",\"handle\":\".content-handle\"},on:{\"change\":_vm.updateSequence},model:{value:(_vm.flashCards),callback:function ($$v) {_vm.flashCards=$$v},expression:\"flashCards\"}},_vm._l((_vm.flashCards),function(slide,index){return _c('tr',{key:index},[_c('td',[_c('div',{staticClass:\"row align-items-center\"},[_c('img',{staticClass:\"drag-icon content-handle handle mt-3\",attrs:{\"src\":require(\"@/assets/images/drag-icon.svg\")}}),_c('div',{staticClass:\"form-group mb-0 col\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(slide.slide1),expression:\"slide.slide1\"}],staticClass:\"form-control\",attrs:{\"placeholder\":\"Enter your slide content\",\"type\":\"text\",\"name\":'slide-1-' + index,\"id\":'slide-1-' + index},domProps:{\"value\":(slide.slide1)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(slide, \"slide1\", $event.target.value)}}})])])]),_c('td',[_c('div',{staticClass:\"form-group mb-0\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(slide.slide2),expression:\"slide.slide2\"}],staticClass:\"form-control\",attrs:{\"placeholder\":\"Enter your slide content\",\"type\":\"text\",\"name\":'slide-2-' + index,\"id\":'slide-2-' + index},domProps:{\"value\":(slide.slide2)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(slide, \"slide2\", $event.target.value)}}})])]),_c('td',[_c('div',{staticClass:\"step-btn-container\"},[_c('img',{attrs:{\"id\":\"delete-icon\",\"src\":require(\"@/assets/images/delete-icon.svg\")},on:{\"click\":function($event){return _vm.removeSlide(index)}}})])])])}),0)],1)]),_c('div',{staticClass:\"step-btn-container\"},[_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.prevStep()}}},[_vm._v(\" BACK \")])]),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn \",attrs:{\"disabled\":!_vm.validateSlides(),\"role\":\"button\"},on:{\"click\":function($event){{ { _vm.isEditMode ? _vm.updateContentForm() : _vm.submitForm() } }}}},[_vm._v(\" \"+_vm._s(_vm.isEditMode ? \"Update\" : \"Submit\")+\" \")])])])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal id=\"flash-card-modal\" @change=\"$emit('updateModalState', false)\" :dialog-class=\"'animate-modal-dialog '+(isExpanded?'expanded':'shrink')\" :visible=\"visible\" hide-header centered\n\t\tcontent-class=\"flash-card-modal\" size=\"xl\" body-class=\"modal-body\" hide-footer modal-class=\"custom-modal\"\n\t\tno-close-on-backdrop>\n\t\t<div class=\"body-container\">\n\n\t\t\t\n\t\t\t<div class=\"right-close-panel\">\n\t\t\t\t<button @click=\"()=>{ isExpanded=!isExpanded; }\" class=\"close-button expanded-btn mr-3\" role=\"button\">\n\t\t\t\t\t\t\t<i v-if=\"!isExpanded\" class=\"fas fa-expand-alt\"></i>\n\t\t\t\t\t\t\t<i v-if=\"isExpanded\" class=\"fas fa-compress-alt\"></i>\n\t\t\t\t</button><button @click=\"$emit('updateModalState', false)\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t</div>\n\t\t\t\n\t\t\t<h1 class=\"add-content-title\">\n\t\t\t\t{{ this.isEditMode ? \"Edit\" : \"Create\" }} Flash Card\n\t\t\t</h1>\n\n\t\t\t<div v-if=\"stepIndex === 0\" style=\"display: flex; flex-direction: column;\" class=\"body-content-container\">\n\t\t\t\t<div class=\"info-container expand\" style=\"flex: 1;\">\n\n\t\t\t\t\t<div class=\"form-group mt-3\">\n\t\t\t\t\t\t<label for=\"title\" class=\"main-label\">Flash Cards Title (Required)</label>\n\t\t\t\t\t\t<input placeholder=\"Type your flash card title\" class=\"form-input\" type=\"search\" name=\"title\"\n\t\t\t\t\t\t\tid=\"title\" v-model=\"title\" required>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"form-group \">\n\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t<div class=\"col-lg-6\">\n\t\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t\t<label for=\"start-date\" class=\"main-label m-0\">Start Date (Optional)</label>\n\t\t\t\t\t\t\t\t\t<input placeholder=\"Select start date\" class=\"form-input\" type=\"date\" name=\"start-date\"\n\t\t\t\t\t\t\t\t\t\tid=\"start-date\" v-model=\"startDate\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col-lg-6 pe-0\">\n\t\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t\t<label for=\"end-date\" class=\"main-label m-0\">End Date (Optional)</label>\n\t\t\t\t\t\t\t\t\t<input placeholder=\"Select end date\" class=\"form-input\" type=\"date\" name=\"end-date\"\n\t\t\t\t\t\t\t\t\t\tid=\"end-date\" v-model=\"endDate\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"form-group mt-4\">\n\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"isAvailableForDemo\"\n\t\t\t\t\t\t\t\tv-model=\"isAvailableForDemo\" />\n\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isAvailableForDemo\">Available for Demo</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t\t<button @click=\"nextStep()\" role=\"button\" class=\"step-btn\">\n\t\t\t\t\t\tNEXT\n\t\t\t\t\t\t<img src=\"@/assets/images/arrow-right.svg\" />\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div v-else-if=\"stepIndex === 1\" >\n\t\t\t\t<div class=\"info-container expand\">\n\t\t\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t\t\t<button @click=\"addSlide\" role=\"button\" class=\"step-btn\">\n\t\t\t\t\t\t\t<img src=\"@/assets/images/add-border-icon.svg\" alt=\"ADD\" class=\"me-2\" />\n\t\t\t\t\t\t\tAdd Slide\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<table class=\"table\">\n\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t<label :for=\"'slide-1'\" class=\"form-label\">Slide 1</label>\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t<label :for=\"'slide-2'\" class=\"form-label\">Slide 2</label>\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th style=\"width: 30px;\"></th>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t<draggable tag=\"tbody\" v-model=\"flashCards\" group=\"content\" animation=\"200\" handle=\".content-handle\"\n\t\t\t\t\t\t\t@change=\"updateSequence\">\n\t\t\t\t\t\t\t<tr v-for=\"(slide, index) in flashCards\" :key=\"index\">\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<div class=\"row align-items-center\">\n\t\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/drag-icon.svg\" \n\t\t\t\t\t\t\t\t\t\t\tclass=\"drag-icon content-handle handle mt-3\" />\n\t\t\t\t\t\t\t\t\t\t<div class=\"form-group mb-0 col\">\n\t\t\t\t\t\t\t\t\t\t\t<input placeholder=\"Enter your slide content\" class=\"form-control\" type=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t:name=\"'slide-1-' + index\" :id=\"'slide-1-' + index\" v-model=\"slide.slide1\">\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<div class=\"form-group mb-0\">\n\t\t\t\t\t\t\t\t\t\t<input placeholder=\"Enter your slide content\" class=\"form-control\" type=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t:name=\"'slide-2-' + index\" :id=\"'slide-2-' + index\" v-model=\"slide.slide2\">\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t\t\t\t\t\t\t<img id=\"delete-icon\" @click=\"removeSlide(index)\"\n\t\t\t\t\t\t\t\t\t\t\tsrc=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</draggable>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t\t\t<button @click=\"prevStep()\" role=\"button\" class=\"step-btn\">\n\t\t\t\t\t\t\tBACK\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t\t\t<button @click=\" { { isEditMode ? updateContentForm() : submitForm() } }\" :disabled=\"!validateSlides()\" role=\"button\"\n\t\t\t\t\t\t\tclass=\"step-btn \">\n\t\t\t\t\t\t\t{{ isEditMode ? \"Update\" : \"Submit\" }} \n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport Loading from \"../../../components/Layout/Loading.vue\";\nimport draggable from \"vuedraggable\";\nimport { ContentType } from \"../../../constants/content\";\nimport { parseDateToYMD } from \"../../../helpers/FormatHelpers\";\nimport { mapActions } from \"vuex\";\n\nexport default {\n\tname: \"FlashCardActionModal\",\n\tprops: {\n\t\tvisible: Boolean,\n\t\tisEditMode: Boolean,\n\t\tparentContentId: String,\n\t\tcontentData: Object,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\ttitle: null,\n\t\t\tstartDate: null,\n\t\t\tendDate: null,\n\t\t\tisAvailableForDemo: false,\n\t\t\tstepIndex: 0,\n\t\t\tflashCards: [{\n\t\t\t\tslide1: null,\n\t\t\t\tslide2: null,\n\t\t\t\tsequence: 1,\n\t\t\t}],\n\t\t\tisExpanded:false,\n\t\t\tcontent: null,\n\t\t\tcontent: null,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"createFlashCards\", \"getContentById\", \"updateContent\"]),\n\t\tvalidateForm() {\n\t\t\treturn this.title != null\n\t\t},\n\t\tvalidateSlides() {\n\t\t\tfor (let card of this.flashCards) {\n\t\t\t\tif (card.slide1 == null || card.slide1.trim() === '') {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (card.slide2 == null || card.slide2.trim() === '') {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tnextStep() {\n\t\t\tif (this.validateForm()) {\n\t\t\t\tthis.stepIndex = 1;\n\t\t\t}\n\t\t},\n\t\tprevStep() {\n\t\t\tthis.stepIndex = 0;\n\t\t},\n\t\taddSlide() {\n\t\t\tthis.flashCards.push({\n\t\t\t\tslide1: null,\n\t\t\t\tslide2: null,\n\t\t\t\tsequence: this.flashCards.length + 1\n\t\t\t});\n\t\t},\n\t\tremoveSlide(index) {\n\t\t\tif (index !== null && index >= 0 && index < this.flashCards.length && this.flashCards.length > 1) {\n\t\t\t\tthis.flashCards.splice(index, 1);\n\t\t\t\tthis.updateSequence();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconsole.log('Invalid Index')\n\t\t\t}\n\t\t},\n\t\tsubmitForm() {\n\t\t\tif (this.validateSlides()) {\n\t\t\t\tvar tempFlashCards = [];\n\t\t\t\tvar tempStartDate = null;\n\t\t\t\tvar tempEndDate = null;\n\n\t\t\t\tif (this.startDate != null) {\n\t\t\t\t\ttempStartDate = new Date(this.startDate).toISOString();\n\t\t\t\t}\n\n\t\t\t\tif (this.endDate != null) {\n\t\t\t\t\ttempEndDate = new Date(this.endDate).toISOString();\n\t\t\t\t}\n\n\n\t\t\t\tfor (var iterate = 0; iterate < this.flashCards.length; iterate++) {\n\t\t\t\t\ttempFlashCards.push({\n\t\t\t\t\t\t\"Slide1\": this.flashCards[iterate].slide1,\n\t\t\t\t\t\t\"Slide2\": this.flashCards[iterate].slide2,\n\t\t\t\t\t\t\"Sequence\": this.flashCards[iterate].sequence\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tvar submitData = {\n\t\t\t\t\ttitle: this.title,\n\t\t\t\t\tavailableFrom: tempStartDate,\n\t\t\t\t\tavailableTo: tempEndDate,\n\t\t\t\t\tisAvailableForDemo: this.isAvailableForDemo || false,\n\t\t\t\t\tparentDirectoryID: this.parentContentId,\n\t\t\t\t\ttype: ContentType.FLASHCARDS,\n\t\t\t\t\tdata: { \"flashcards\": JSON.stringify(tempFlashCards) },\n\t\t\t\t};\n\n\t\t\t\tconsole.log('primary map:', submitData)\n\t\t\t\tthis.createFlashCards(submitData).then(() => {\n\t\t\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\t\t\tthis.$toasted.success(\"Flash Cards created successfully\", {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.$toasted.error(\"some required fields are empty\", {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t}\n\n\t\t},\n\t\tupdateSequence() {\n\t\t\tfor (var iterate = 0; iterate < this.flashCards.length; iterate++) {\n\t\t\t\tthis.flashCards[iterate].sequence = iterate + 1;\n\t\t\t}\n\t\t},\n\t\tloadEditContent() {\n\t\t\tif (this.isEditMode) {\n\t\t\t\tthis.getContentById({ id: this.content.id }).then((data) => {\n\t\t\t\t\tconsole.log(\"Flash Content \", data);\n\t\t\t\t\tthis.title = data.title;\n\t\t\t\t\tthis.startDate = data.availableFrom\n\t\t\t\t\t\t? parseDateToYMD(data.availableFrom)\n\t\t\t\t\t\t: null;\n\t\t\t\t\tthis.endDate = data.availableTo\n\t\t\t\t\t\t? parseDateToYMD(data.availableTo)\n\t\t\t\t\t\t: null;\n\t\t\t\t\tthis.isAvailableForDemo = data.isContentAvailableForDemo;\n\t\t\t\t\tvar jsonFlashCards = JSON.parse(data.data).Flashcards;\n\t\t\t\t\tvar tempFlashCards = [];\n\n\t\t\t\t\tfor (let card of jsonFlashCards) {\n\t\t\t\t\t\ttempFlashCards.push({\n\t\t\t\t\t\t\tslide1: card.Slide1,\n\t\t\t\t\t\t\tslide2: card.Slide2,\n\t\t\t\t\t\t\tsequence: card.Sequence,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.flashCards = tempFlashCards;\n\t\t\t\t\tthis.content = data;\n\t\t\t\t\tthis.isAvailableForDemo = data.isContentAvailableForDemo;\n\t\t\t\t\tconsole.log(this.$data)\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tupdateContentForm() {\n\t\t\tif (this.validateSlides()) {\n\t\t\t\tif (this.isEditMode && this.content != null) {\n\n\t\t\t\t\tvar tempFlashCards = [];\n\n\t\t\t\t\tfor (var iterate = 0; iterate < this.flashCards.length; iterate++) {\n\t\t\t\t\t\ttempFlashCards.push({\n\t\t\t\t\t\t\t\"Slide1\": this.flashCards[iterate].slide1,\n\t\t\t\t\t\t\t\"Slide2\": this.flashCards[iterate].slide2,\n\t\t\t\t\t\t\t\"Sequence\": this.flashCards[iterate].sequence\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tvar contentObject = {\n\t\t\t\t\t\tid: this.content.id,\n\t\t\t\t\t\ttitle: this.title,\n\t\t\t\t\t\tavailableFrom: this.startDate ? new Date(this.startDate).toISOString() : null,\n\t\t\t\t\t\tavailableTo: this.endDate ? new Date(this.endDate).toISOString() : null,\n\t\t\t\t\t\tisAvailableForDemo: this.isAvailableForDemo,\n\t\t\t\t\t\tparentDirectoryID: this.parentContentId,\n\t\t\t\t\t\ttype: ContentType.FLASHCARDS,\n\t\t\t\t\t\tdata: { \"flashcards\": JSON.stringify(tempFlashCards) },\n\t\t\t\t\t};\n\n\t\t\t\t\tconsole.log(\"content object:\", contentObject);\n\n\t\t\t\t\tthis.updateContent(contentObject).then(() => {\n\t\t\t\t\t\tthis.$toasted.success(\"Flash Cards updated successfully\", {\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\t\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.$toasted.error(\"some required fields are empty\", {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t},\n\tcomponents: {\n\t\tLoading,\n\t\tdraggable,\n\t},\n\tmounted() {\n\n\t},\n\tcreated() {\n\t},\n\tcomputed: {},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible) {\n\t\t\t\tthis.content = this.contentData;\n\t\t\t\tthis.loadEditContent()\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n\n\t.right-close-panel\n\t{\n\t\tposition: absolute;\n    \ttop: 2.5rem;\n    \tright: 2rem;\n\t\tdisplay: flex;\n\t}\n\n\t.right-close-panel .close-button\n\t{\n\t\tposition: initial;\n\t}\n\t\n\t.expanded-btn{\n\t\tcolor: black;\n\t    font-size: 24px;\n\t    margin-right: 15px;\n\t\tpadding-top: 4px;\n\t}\n\n.body-content-container .expand{\n\twidth: 100%  !important;\n\tpadding-right: 0px;\n}\n.info-container .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n\n.info-container .form-group {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-top: 20px;\n}\n\n.info-container .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0.875rem 0;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n}\n\n.form-input:focus {\n\tborder-color: var(--primary-color) !important;\n}\n\n.info-container tbody img {\n\twidth: 40px;\n}\n\n#delete-icon {\n\twidth: 20px;\n\tcursor: pointer;\n\tmargin-top: 30px;\n\tmargin-bottom: auto;\n}\n</style>\n<style>\n.flash-card-modal\n{\n  height: 45.375rem;\n  /* width: 70vw; */\n}\n.flash-card-modal .modal-body.modal-body\n{\n\tdisplay: flex;\n    flex-direction: row;\n    padding: 0 !important;\n\toverflow: auto;\n}\n.flash-card-modal .modal-body.modal-body .body-container\n{\n\t\n    padding: 2.5rem;\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n    position: relative;\n}\n\n#flash-card-modal .expanded\n{\n\tmax-width: 96%;\n\tmax-height: 96%;\n\n}\n\n#flash-card-modal .expanded .flash-card-modal\n{\n\theight: 90vh;\n\t\n}\n\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FlashCardActionModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FlashCardActionModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FlashCardActionModal.vue?vue&type=template&id=75a4427b&scoped=true&\"\nimport script from \"./FlashCardActionModal.vue?vue&type=script&lang=js&\"\nexport * from \"./FlashCardActionModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FlashCardActionModal.vue?vue&type=style&index=0&id=75a4427b&prod&scoped=true&lang=css&\"\nimport style1 from \"./FlashCardActionModal.vue?vue&type=style&index=1&id=75a4427b&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"75a4427b\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"free-text-modal\",\"dialog-class\":'animate-modal-dialog '+(_vm.isExpanded?'expanded':'shrink'),\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"free-text-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('div',{staticClass:\"right-close-panel\"},[_c('button',{staticClass:\"close-button expanded-btn mr-3\",attrs:{\"role\":\"button\"},on:{\"click\":function (){ _vm.isExpanded=!_vm.isExpanded; }}},[(!_vm.isExpanded)?_c('i',{staticClass:\"fas fa-expand-alt\"}):_vm._e(),(_vm.isExpanded)?_c('i',{staticClass:\"fas fa-compress-alt\"}):_vm._e()]),_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})])]),_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\" \"+_vm._s(this.isEditMode ? \"Edit\" : \"Create\")+\" Free Text \")]),_c('div',{staticClass:\"info-container mb-4\"},[_c('div',{staticClass:\"form-group mb-3\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"title\"}},[_vm._v(\"Free Text Title (Required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type your free text title\",\"type\":\"search\",\"name\":\"title\",\"id\":\"title\",\"required\":\"\"},domProps:{\"value\":(_vm.title)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}})]),_c('div',{staticClass:\"quill-editor\",attrs:{\"id\":\"editor\"}})]),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"disabled\":!_vm.validateForm() || _vm.loading,\"role\":\"button\"},on:{\"click\":function($event){return _vm.uploadFreeText()}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Submit \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal id=\"free-text-modal\" @change=\"$emit('updateModalState', false)\"   :dialog-class=\"'animate-modal-dialog '+(isExpanded?'expanded':'shrink')\"  :visible=\"visible\" hide-header centered\n\t\tcontent-class=\"free-text-modal\" size=\"xl\" body-class=\"modal-body\" hide-footer modal-class=\"custom-modal\"\n\t\tno-close-on-backdrop>\n\t\t<div class=\"body-container\">\n\t\t\t<div class=\"right-close-panel\">\n\t\t\t\t<button @click=\"()=>{ isExpanded=!isExpanded; }\" class=\"close-button expanded-btn mr-3\" role=\"button\">\n\t\t\t\t\t\t\t<i v-if=\"!isExpanded\" class=\"fas fa-expand-alt\"></i>\n\t\t\t\t\t\t\t<i v-if=\"isExpanded\" class=\"fas fa-compress-alt\"></i>\n\t\t\t\t</button>\n\t\t\t\t<button @click=\"$emit('updateModalState', false)\" class=\"close-button\" role=\"button\">\n\t\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t\n\t\t\t<h1 class=\"add-content-title\">\n\t\t\t\t{{ this.isEditMode ? \"Edit\" : \"Create\" }} Free Text\n\t\t\t</h1>\n\n\t\t\t<div class=\"info-container mb-4\">\n\n\t\t\t\t<div class=\"form-group mb-3\">\n\t\t\t\t\t<label for=\"title\" class=\"main-label\">Free Text Title (Required)</label>\n\t\t\t\t\t<input placeholder=\"Type your free text title\" class=\"form-input\" type=\"search\" name=\"title\" id=\"title\"\n\t\t\t\t\t\tv-model=\"title\" required>\n\t\t\t\t</div>\n\n\t\t\t\t<div id=\"editor\" class=\"quill-editor\"></div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<button :disabled=\"!validateForm() || loading\" @click=\"uploadFreeText()\" role=\"button\" class=\"step-btn\">\n\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\tSubmit\n\t\t\t\t\t<img src=\"@/assets/images/arrow-right.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\n\n\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport Loading from \"../../../components/Layout/Loading.vue\";\nimport draggable from \"vuedraggable\";\nimport { getFileType } from \"../../../helpers/Converters\"\nimport { mapActions } from \"vuex\";\nexport default {\n\tname: \"FreeTextActionModal\",\n\tprops: {\n\t\tvisible: Boolean,\n\t\tisEditMode: Boolean,\n\t\tparentContentId: String,\n\t\tcontentData: Object,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\ttitle: null,\n\t\t\tfreetext: null,\n\t\t\tquillEditor: null,\n\t\t\tcontent: null,\n\t\t\tloading: false,\n\t\t\tisExpanded:false\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", ['uploadContentFile', 'createFreeTextContent', 'updateContent', 'getContentById']),\n\t\tinitQuillEditor() {\n\t\t\tconst toolbarOptions = [\n\t\t\t\t['bold', 'italic', 'underline', 'strike'],\n\t\t\t\t['blockquote', 'code-block'],\n\t\t\t\t[{ 'header': 1 }, { 'header': 2 }],\n\t\t\t\t[{ 'list': 'ordered' }, { 'list': 'bullet' }],\n\t\t\t\t[{ 'script': 'sub' }, { 'script': 'super' }],\n\t\t\t\t[{ 'indent': '-1' }, { 'indent': '+1' }],\n\t\t\t\t[{ 'align': [] }],\n\t\t\t\t['link', 'image', 'video'],\n\t\t\t\t[{ 'color': [] }, { 'background': [] }],\n\t\t\t\t[{ 'font': [] }],\n\t\t\t\t[{ 'size': ['small', false, 'large', 'huge'] }],\n\t\t\t\t[{ 'header': [1, 2, 3, 4, 5, 6, false] }],\n\t\t\t\t[{ 'direction': 'rtl' }],\n\t\t\t\t['clean']\n\t\t\t];\n\t\t\tconst options = {\n\t\t\t\tmodules: {\n\t\t\t\t\ttoolbar: toolbarOptions\n\t\t\t\t},\n\t\t\t\ttheme: 'snow',\n\t\t\t\tplaceholder: 'Compose an epic...',\n\t\t\t};\n\t\t\tthis.quillEditor = new Quill('#editor', options);\n\t\t\tthis.handleFileInput();\n\t\t\tthis.handleSnippingImagePaste();\n\t\t\t//this.quillEditor.on('text-change', this.handleTextChange.bind(this));\n\t\t},\n\t\tvalidateForm() {\n\t\t\treturn this.title && this.quillEditor;\n\t\t},\n\t\tuploadFreeText() {\n\t\t\tif (this.validateForm()) {\n\t\t\t\t// const delta = this.quillEditor.getContents();\n                this.freetext = this.quillEditor.root.innerHTML;\n            \n\t\t\t\tthis.loading=true;\n                var obj = {\n                    id: this.contentData?.id ?? null,\n                    title: this.title,\n                    data: {\n                        freetext: this.freetext\n                    },\n                    parentDirectoryID: this.parentContentId,\n                    type: \"freetext\",\n                    IsAvailableForDemo: false\n                };\n                var self=this;\n                if(!this.isEditMode) {\n                    this.createFreeTextContent(obj).then((res) => {\n\t\t\t\t\t\tself.loading=false;\n                        if (res) {\n                            this.$toasted.success(\"Free Text created successfully\", {\n                                theme: \"outline\",\n                                position: \"bottom-center\",\n                                duration: 3000,\n                            });\n                            this.$emit('updateModalState', false);\n                        }\n                    }).finally(()=>{\n\t\t\t\t\t\tself.loading=false;\n\t\t\t\t\t});\n                }\n                else {\n                    this.updateContent(obj).then((res) => {\n\t\t\t\t\t\tself.loading=false;\n                        if (res) {\n                            this.$toasted.success(\"Free text updated successfully\", {\n                                theme: \"outline\",\n                                position: \"bottom-center\",\n                                duration: 3000,\n                            });\n                        }\n                        this.$emit('updateModalState', false);\n                    }).finally(()=>{\n\t\t\t\t\t\tself.loading=false;\n\t\t\t\t\t});\n                }\t\t\t\t\n\t\t\t}\n\t\t},\n\t\tasync uploadFile(fileType, fileName, file) {\n\t\t\tlet formData = new FormData();\n\t\t\tformData.append('Type', fileType);\n\t\t\tformData.append('Entity', 'content/freetext');\n\t\t\tformData.append('File', file, fileName);\n\t\t\tformData.append('IsCompressionRequired', 'false');\n\t\t\ttry {\n\t\t\t\treturn await this.uploadContentFile(formData);\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\thandleSnippingImagePaste() {\n\t\t\tconst component = this;\n\t\t\tthis.quillEditor.clipboard.addMatcher('img', async (node, delta) => {\n\t\t\t\tif (node && node.src) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst file = component.dataURItoBlob(node.src);\n\t\t\t\t\t\tfile.name = \"Picture.png\";\n\t\t\t\t\t\tconst range = component.quillEditor.getSelection(true);\n\t\t\t\t\t\tconst url = await component.uploadFile('image', file.name, file);\n\t\t\t\t\t\tif (url) {\n\t\t\t\t\t\t\tcomponent.quillEditor.insertEmbed(range.index, \n\t\t\t\t\t\t\t'image', url, Quill.sources.USER);\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error(\"Error handling image paste:\", error);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn delta;\n\t\t\t});\n\t\t},\n\t\thandleFileInput() {\n\t\t\tvar component = this;\n\t\t\tthis.quillEditor.getModule('toolbar').addHandler('image', function () {\n\t\t\t\tvar input = document.createElement('input');\n\t\t\t\tinput.setAttribute('type', 'file');\n\t\t\t\tinput.click();\n\t\t\t\tinput.addEventListener('change', async function () {\n\t\t\t\t\tvar uploadedFile = input.files[0];\n\t\t\t\t\tvar fileName = uploadedFile.name;\n\t\t\t\t\tvar fileType = getFileType(fileName);\n\t\t\t\t\tif (fileType !== 'unknown') {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst url = await component.uploadFile(fileType, fileName, uploadedFile);\n\t\t\t\t\t\t\tconst range = component.quillEditor.getSelection();\n\t\t\t\t\t\t\tif (fileType === 'image') {\n\t\t\t\t\t\t\t\tcomponent.quillEditor.insertEmbed(range, 'image', url);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileType !== 'video') {\n\t\t\t\t\t\t\t\tconst linkText = fileName.toUpperCase();\n\t\t\t\t\t\t\t\tlet content = `<a href=\"${url}\" class=\"editor-link\" target=\"_blank\">${linkText}</a>`;\n\t\t\t\t\t\t\t\tcomponent.quillEditor.clipboard.dangerouslyPasteHTML(range.index, content);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tconsole.error('Error uploading and inserting link:', error);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tdataURItoBlob(dataURI) {\n\t\t\tconst byteString = atob(dataURI.split(',')[1]);\n\t\t\tconst mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\n\t\t\tconst ab = new ArrayBuffer(byteString.length);\n\t\t\tconst ia = new Uint8Array(ab);\n\t\t\tfor (let i = 0; i < byteString.length; i++) {\n\t\t\t\tia[i] = byteString.charCodeAt(i);\n\t\t\t}\n\t\t\treturn new Blob([ab], { type: mimeString });\n\t\t},\n\t\t// handleTextChange() {\n\t\t// \tconst content = this.quillEditor.getText();\n\t\t// \tconst youtubeRegex = /(?:https?:\\/\\/)?(?:www\\.)?(?:youtube\\.com\\/watch\\?v=|youtu\\.be\\/)([\\w-]{11})/g;\n\t\t// \tlet match = null;\n\t\t// \twhile ((match = youtubeRegex.exec(content)) !== null) {\n\t\t// \t\tconst videoId = match[1];\n\t\t// \t\tconst endIndex = match.index + match[0].length;\n\t\t// \t\tthis.embedVideo(videoId, match.index, endIndex);\n\t\t// \t}\n\t\t// },\n\t\t// embedVideo(videoId, startIndex, endIndex) {\n\t\t// \tconst quillEditor = this.quillEditor;\n\t\t// \tconst index = startIndex + endIndex;\n\t\t// \tif (index >= 0 && index <= quillEditor.getLength()) {\n\t\t// \t\tconst embedCode = `<iframe width=\"400\" height=\"265\" src=\"https://www.youtube.com/embed/${videoId}\" frameborder=\"0\" allowfullscreen></iframe>`;\n\t\t// \t\tquillEditor.insertEmbed(index, 'video', embedCode, 'user');\n\t\t// \t\tquillEditor.setSelection(index + 1);\n\t\t// \t}\n\t\t// },\n\t},\n\tcomponents: {\n\t\tLoading,\n\t\tdraggable,\n\t},\n\tmounted() {\n\t},\n\tcreated() {\n\t\tthis.content = { ...this.contentData };\n\t\tthis.loading=false;\n\t},\n\tcomputed: {},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible) {\n\t\t\t\tthis.loading=false;\n\t\t\t\tsetTimeout(this.initQuillEditor, 500);\n\n                if(this.content && this.isEditMode) {\n                    this.title = this.content.title;\n                }\n\t\t\t}\n\t\t},\n\n        quillEditor: async function () {\n            if(this.quillEditor) {\n                await this.getContentById({ id: this.content.id }).then((res) => {\n                    this.content = res;\n                })\n                if(this.content && this.isEditMode) {\n                    var data = JSON.parse(JSON.stringify(this.content.data));\n    \n                    if(data && this.quillEditor) {\n                        this.quillEditor.root.innerHTML = data;\n                    }\n                }\n            }\n        }\n\t},\n};\n</script>\n\n<style scoped>\n\n\t.right-close-panel\n\t{\n\t\tposition: absolute;\n    \ttop: 2.5rem;\n    \tright: 2rem;\n\t\tdisplay: flex;\n\t}\n\n\t.right-close-panel .close-button\n\t{\n\t\tposition: initial;\n\t}\n\t\n\t.expanded-btn{\n\t\tcolor: black;\n\t    font-size: 24px;\n\t    margin-right: 15px;\n\t\tpadding-top: 4px;\n\t}\n\n.free-text-modal .modal-body .body-container {\n\tpadding: 2.5rem;\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tposition: relative;\n}\n.info-container .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n.info-container .form-group {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-top: 20px;\n}\n.info-container .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0.875rem 0;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n}\n.form-input:focus {\n\tborder-color: var(--primary-color) !important;\n}\n.info-container tbody img {\n\theight: 50px;\n\twidth: 50px;\n}\n.quill-editor {\n\theight: 300px;\n\tborder: 1px solid gray;\n\tpadding: 15px;\n}\n.editor-link {\n\tcolor: var(--color-red);\n\tfont-size: 18px;\n\ttext-decoration: none;\n}\n</style>\n<style>\n\n.free-text-modal\n{\n  height: 45.375rem;\n  /* width: 70vw; */\n}\n.free-text-modal .modal-body.modal-body\n{\n\tdisplay: flex;\n    flex-direction: row;\n    padding: 0 !important;\n\toverflow: auto;\n}\n.free-text-modal .modal-body.modal-body .body-container\n{\n\t\n    padding: 2.5rem;\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n    position: relative;\n}\n\n#free-text-modal .expanded\n{\n\tmax-width: 96%;\n\tmax-height: 96%;\n\n}\n\n#free-text-modal .expanded .free-text-modal\n{\n\theight: 90vh;\n\t\n}\n\t\n</style>","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FreeTextActionModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FreeTextActionModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FreeTextActionModal.vue?vue&type=template&id=1fb9f754&scoped=true&\"\nimport script from \"./FreeTextActionModal.vue?vue&type=script&lang=js&\"\nexport * from \"./FreeTextActionModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FreeTextActionModal.vue?vue&type=style&index=0&id=1fb9f754&prod&scoped=true&lang=css&\"\nimport style1 from \"./FreeTextActionModal.vue?vue&type=style&index=1&id=1fb9f754&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1fb9f754\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"assignment-modal\",\"dialog-class\":'animate-modal-dialog '+(_vm.isExpanded?'expanded':'shrink'),\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":'assignment-modal ',\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[(_vm.contentData)?_c('div',{staticClass:\"body-container\"},[_c('b-tabs',{attrs:{\"content-class\":\"body-container p-0\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"tabs-end\",fn:function(){return [_c('div',{staticStyle:{\"display\":\"flex\",\"flex\":\"1\",\"text-align\":\"right\",\"justify-content\":\"right\"}},[_c('button',{staticClass:\"close-button expanded-btn mr-3\",attrs:{\"role\":\"button\"},on:{\"click\":function (){ _vm.isExpanded=!_vm.isExpanded; }}},[(!_vm.isExpanded)?_c('i',{staticClass:\"fas fa-expand-alt\"}):_vm._e(),(_vm.isExpanded)?_c('i',{staticClass:\"fas fa-compress-alt\"}):_vm._e()]),_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})])])]},proxy:true}],null,false,2393539140),model:{value:(_vm.activeTabIndex),callback:function ($$v) {_vm.activeTabIndex=$$v},expression:\"activeTabIndex\"}},[_c('b-tab',{attrs:{\"title\":_vm.contentData.title,\"title-item-class\":\"modal-Heading add-content-title\",\"disabled\":\"\"}}),_c('b-tab',{attrs:{\"title\":\"Instructions\",\"active\":\"\"}},[(_vm.extraProperties)?_c('div',{staticClass:\"row\",staticStyle:{\"overflow-y\":\"auto\",\"overflow-x\":\"hidden\"}},[_c('div',{staticClass:\"col-md-9 pr-5\"},[(_vm.extraProperties.Discription)?_c('div',{staticClass:\"instructions mt-3\",attrs:{\"id\":\"instructions\"}},[_c('QuillRichTextEditor',{attrs:{\"text\":_vm.extraProperties.Discription,\"isInline\":false,\"editorID\":\"instruction-desc\",\"isReadOnly\":true},model:{value:(_vm.extraProperties.Discription),callback:function ($$v) {_vm.$set(_vm.extraProperties, \"Discription\", $$v)},expression:\"extraProperties.Discription\"}})],1):_vm._e(),(_vm.extraProperties.Files && _vm.extraProperties.Files.length > 0)?_c('div',{staticClass:\"row mt-2\"},_vm._l((_vm.extraProperties.Files),function(file){return _c('div',{staticClass:\"pr-3 col-lg-3 col-md-4\"},[_c('a',{class:'card file-card ' + file.status,attrs:{\"target\":\"_blank\",\"href\":file.Url}},[_c('label',{attrs:{\"title\":file.Name}},[_vm._v(\" \"+_vm._s(file.Name)+\" \"),_c('small',[_c('br'),_vm._v(_vm._s(file.Type))])])])])}),0):_vm._e()]),_c('div',{staticClass:\"col-md-3 box-with-left-shadow mt-5\"},[_c('h6',[_vm._v(\"Assignment Due\")]),_c('input',{staticClass:\"form-control no-due-date\",attrs:{\"disabled\":\"\",\"readonly\":\"\"},domProps:{\"value\":_vm.extraProperties.Deadline? _vm.parseDateTime( _vm.extraProperties.Deadline):'No Due Date'}}),_c('h6',{staticClass:\"mt-4\"},[_vm._v(\"Marks\")]),_c('input',{staticClass:\"form-control no-due-date\",attrs:{\"disabled\":\"\",\"readonly\":\"\"},domProps:{\"value\":_vm.extraProperties.Marks?_vm.extraProperties.Marks:'No Marks'}}),_c('h6',{staticClass:\"mt-4\"},[_vm._v(\"Passing Percentage\")]),_c('input',{staticClass:\"form-control no-due-date\",attrs:{\"disabled\":\"\",\"readonly\":\"\"},domProps:{\"value\":_vm.extraProperties.Marks?_vm.extraProperties.PassingPercentage+'%':'No Passing Percentage'}}),_c('h6',{staticClass:\"mt-4\"},[_vm._v(\"Allowed Submissions\")]),_c('input',{staticClass:\"form-control no-due-date\",attrs:{\"disabled\":\"\",\"readonly\":\"\"},domProps:{\"value\":_vm.extraProperties.AllowedSubmissions\n\t\t\t\t\t\t?_vm.extraProperties.AllowedSubmissions:'1'}})])]):_vm._e()]),_c('b-tab',{attrs:{\"title\":\"Submissions\"}},[(!_vm.selectedStudentAssignment)?_c('div',{staticClass:\"submissions pt-3\",staticStyle:{\"height\":\"100%\"}},[_c('div',{staticStyle:{\"height\":\"inherit\"}},[_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('div',{staticClass:\"d-flex mb-2 gap-3\"},[_c('button',{class:['filter-user-type-btn',{active:_vm.filterType=='all'}],on:{\"click\":function($event){return _vm.setFilterType('all')}}},[_vm._v(\" All \")]),_c('button',{class:['filter-user-type-btn',{active:_vm.filterType=='pending'}],on:{\"click\":function($event){return _vm.setFilterType('pending')}}},[_vm._v(\" Pending \")]),_c('button',{class:['filter-user-type-btn',{active:_vm.filterType=='submitted'}],on:{\"click\":function($event){return _vm.setFilterType('submitted')}}},[_vm._v(\" Submitted \")]),_c('button',{class:['filter-user-type-btn',{active:_vm.filterType=='latesubmitted'}],on:{\"click\":function($event){return _vm.setFilterType('latesubmitted')}}},[_vm._v(\" Late Submitted \")]),_c('button',{class:[\n\t\t\t\t\t\t\t\t\t\t\t\t'filter-user-type-btn'\n\t\t\t\t\t\t\t\t\t\t\t\t,{active:_vm.filterType=='tograde'}\n\t\t\t\t\t\t\t\t\t\t\t],on:{\"click\":function($event){return _vm.setFilterType('tograde')}}},[_vm._v(\" Not Graded \")]),_c('button',{class:[\n\t\t\t\t\t\t\t\t\t\t\t\t'filter-user-type-btn',{active:_vm.filterType=='graded'}\n\t\t\t\t\t\t\t\t\t\t\t],on:{\"click\":function($event){return _vm.setFilterType('graded')}}},[_vm._v(\" Graded \")])]),_c('div',{staticStyle:{\"flex\":\"1\"}}),_c('button',{class:[\n\t\t\t\t\t\t\t\t\t\t\t\t'filter-user-type-btn','active'\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t],staticStyle:{\"margin-right\":\"10px\"},on:{\"click\":_vm.refresh}},[_c('i',{staticClass:\"fa fa-refresh\"}),_vm._v(\" Refresh \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchNameEmail),expression:\"searchNameEmail\"}],staticClass:\"form-control search-box\",attrs:{\"type\":\"search\",\"placeholder\":\"Search By Name\"},domProps:{\"value\":(_vm.searchNameEmail)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.searchNameEmail=$event.target.value}}})]),_c('div',{staticClass:\"tableFixHead\"},[(_vm.assignmentSubmissionsResult && _vm.assignmentSubmissionsResult.length > 0)?_c('table',{staticClass:\"table table-hover table-borderless all-users-table \"},[_c('thead',[_c('th',{staticStyle:{\"width\":\"3%\"}},[_vm._v(\" # \")]),_c('th',{staticStyle:{\"width\":\"10%\"}},[_vm._v(\" Name \")]),_c('th',{staticStyle:{\"width\":\"10%\"}},[_vm._v(\" Status \")]),_c('th',{staticStyle:{\"width\":\"10%\"}},[_vm._v(\" Submitted At \")]),_c('th',{staticClass:\"text-center\",staticStyle:{\"width\":\"5%\"}},[_vm._v(\" Feedback \")]),_c('th',{staticClass:\"text-center\",staticStyle:{\"width\":\"5%\"}},[_vm._v(\" Percentage \")]),_c('th',{staticClass:\"text-center\",staticStyle:{\"width\":\"5%\"}},[_vm._v(\" Result \")]),(_vm.extraProperties.Marks > 0)?_c('th',{staticStyle:{\"width\":\"10%\"}},[_vm._v(\" Marks (Out Of \"+_vm._s(_vm.extraProperties.Marks)+\") \")]):_vm._e()]),_c('tbody',_vm._l((_vm.assignmentSubmissionsResult),function(assignmentResult,i){return _c('tr',{on:{\"click\":function($event){return _vm.selectStudentAssignment(assignmentResult)}}},[_c('td',[_vm._v(_vm._s(i + 1))]),_c('td',{staticClass:\"user-name d-flex align-items-center\"},[(assignmentResult.user.profilePicture)?_c('img',{staticClass:\"user-image user-avatar\",attrs:{\"src\":assignmentResult.user.profilePicture}}):_c('div',{staticClass:\"user-avatar\"},[_vm._v(\" \"+_vm._s(assignmentResult.user.firstName[0])+\" \")]),_c('h6',{staticStyle:{\"margin-left\":\"10px\",\"margin-bottom\":\"0px\"}},[_vm._v(\" \"+_vm._s(assignmentResult.user.firstName)+\" \"+_vm._s(assignmentResult.user.lastName)),_c('br'),_c('small',{staticStyle:{\"color\":\"gray !important\"}},[_vm._v(_vm._s(assignmentResult.user.email))])])]),_c('td',[_c('h6',{staticStyle:{\"margin-top\":\"9px\"}},[(assignmentResult.isGraded == true)?_c('span',{staticStyle:{\"color\":\"green\"}},[_c('i',{staticClass:\"fa fa-check\"}),_vm._v(\" Graded \")]):(assignmentResult.isSubmitAssignment == true)?_c('span',{staticClass:\"submitted-status\"},[_vm._v(\" Submitted \")]):(assignmentResult.isSubmitAssignment == false)?_c('span',{staticClass:\"pending-status\"},[_vm._v(\"Pending \")]):_vm._e()])]),_c('td',{staticClass:\"submitted-box\"},[_c('small',{style:(assignmentResult.isSubmitAssignment == true && assignmentResult.isLateSubmission == true?'font-size: 13px;':'')},[_vm._v(\" \"+_vm._s(_vm.parseDateTime(_vm.mapSubmitted(assignmentResult))))]),(assignmentResult.isSubmitAssignment == true && assignmentResult.isLateSubmission == true)?_c('div',{staticClass:\"status-tag danger late-submitted-status\"},[_c('i',{staticClass:\"fas fa-clock\",staticStyle:{\"margin-right\":\"5px\"}}),_vm._v(\" Late Submission \")]):_vm._e()]),_c('td',{staticClass:\"text-center\"},[_c('div',{staticClass:\"feedback-container\",on:{\"click\":function($event){$event.stopPropagation();}}},[(_vm.mapFeedback(assignmentResult))?_c('b-tooltip',{attrs:{\"target\":'add-dropdown-btn-'+assignmentResult.user.id,\"triggers\":\"hover\"}},[_vm._v(\" \"+_vm._s(_vm.mapFeedback(assignmentResult))+\" \")]):_vm._e(),_c('a',{class:['feedback-btn', { 'disabled': !(assignmentResult && assignmentResult.submissions && assignmentResult.submissions.length > 0) }],attrs:{\"title\":_vm.mapFeedback(assignmentResult),\"id\":'add-dropdown-btn-'+assignmentResult.user.id,\"role\":\"button\",\"data-bs-toggle\":\"dropdown\",\"disabled\":!(assignmentResult && assignmentResult.submissions && assignmentResult.submissions.length > 0)},on:{\"click\":function($event){return _vm.addFeedback(assignmentResult.user.id)}}},[(_vm.mapFeedback(assignmentResult))?_c('span',{staticClass:\"ping\"}):_vm._e(),_c('i',{staticClass:\"fas fa-comments\"})]),_c('div',{staticClass:\"dropdown-menu dropdown-menu-end\",attrs:{\"id\":\"add-dropdown\",\"aria-labelledby\":\"dropdownMenuLink\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.feedback),expression:\"feedback\"}],staticClass:\"add-feedback-input\",attrs:{\"placeholder\":\"Enter feedback\",\"id\":\"add-feedback-input\",\"required\":\"\"},domProps:{\"value\":(_vm.feedback)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.feedback=$event.target.value}}}),_c('div',{staticClass:\"btn-div\"},[_c('div',{staticStyle:{\"flex\":\"1\"}}),(_vm.loading)?_c('b-spinner',{staticStyle:{\"margin-right\":\"10px\"},attrs:{\"small\":\"\"}}):_vm._e(),_c('button',{staticClass:\"filter-user-type-btn save-btn active\",attrs:{\"disabled\":!_vm.feedback || _vm.loading,\"type\":\"submit\"},on:{\"click\":function($event){return _vm.saveFeedback(assignmentResult)}}},[_vm._v(\" Save \")]),_c('button',{staticClass:\"filter-user-type-btn cancel-btn active\",attrs:{\"type\":\"button\",\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.hideDropdown('add-dropdown-btn-'+assignmentResult.user.id)}}},[_vm._v(\" Cancel \")])],1)])],1)]),_c('td',{staticClass:\"submitted-box text-center\"},[(assignmentResult && assignmentResult.result)?_c('div',[_c('span',{style:({\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: assignmentResult.result.toLowerCase() === 'pass' ? 'green' : 'red',\n\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: assignmentResult.result.toLowerCase() === 'pass' ? 'bold' : 'normal'\n\t\t\t\t\t\t\t\t\t\t\t\t})},[_vm._v(\" \"+_vm._s((assignmentResult.percentage || 0).toFixed(2))+\"% \")])]):_c('span',[_vm._v(\" -- \")])]),_c('td',{staticClass:\"submitted-box text-center\"},[(assignmentResult && assignmentResult.result)?_c('div',[_c('span',{style:({\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: assignmentResult.result.toLowerCase() === 'pass' ? 'green' : 'red',\n\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: assignmentResult.result.toLowerCase() === 'pass' ? 'bold' : 'normal'\n\t\t\t\t\t\t\t\t\t\t\t\t})},[_vm._v(\" \"+_vm._s(assignmentResult.result || '--')+\" \")])]):_c('span',[_vm._v(\" -- \")])]),(_vm.extraProperties.Marks && _vm.extraProperties.Marks > 0)?_c('td',{staticClass:\"text-center\"},[_c('div',{staticClass:\"marks-div\",on:{\"click\":function($event){$event.stopPropagation();}}},[(_vm.currentEditableUserID == assignmentResult.user.id)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.updatedMarks),expression:\"updatedMarks\"}],class:'form-control score-box '+(!_vm.validateMarks?'error':''),attrs:{\"min\":\"0\",\"max\":_vm.extraProperties.Marks,\"type\":\"number\"},domProps:{\"value\":(_vm.updatedMarks)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.saveMarks.apply(null, arguments)},\"input\":function($event){if($event.target.composing){ return; }_vm.updatedMarks=$event.target.value}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(assignmentResult.marks),expression:\"assignmentResult.marks\"}],staticClass:\"form-control score-box\",attrs:{\"readonly\":\"\",\"type\":\"number\"},domProps:{\"value\":(assignmentResult.marks)},on:{\"focus\":function($event){return $event.target.select()},\"click\":function($event){return _vm.editMarks(assignmentResult.user.id)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(assignmentResult, \"marks\", $event.target.value)}}}),(_vm.currentEditableUserID == assignmentResult.user.id && !_vm.loading)?_c('a',{staticClass:\"saveMarksBtn\",on:{\"click\":_vm.saveMarks}},[_c('i',{staticClass:\"fa fa-check\"})]):_vm._e(),(_vm.currentEditableUserID == assignmentResult.user.id  && !_vm.loading)?_c('a',{staticClass:\"cancelMarksBtn\",on:{\"click\":_vm.cancelEditMarks}},[_c('i',{staticClass:\"fa fa-times\"})]):_vm._e(),(_vm.currentEditableUserID == assignmentResult.user.id  && _vm.loading)?_c('b-spinner',{staticClass:\"loading-btn\",attrs:{\"small\":\"\"}}):_vm._e()],1)]):_vm._e()])}),0)]):(!_vm.assignmentSubmissionsResult)?_c('div',{staticClass:\"d-flex align-items-center justify-content-center gap-3 p-3 font-500 m-5\"},[_c('b-spinner'),_vm._v(\" Loading... \")],1):(_vm.assignmentSubmissionsResult && _vm.assignmentSubmissionsResult.length <= 0)?_c('h5',{staticClass:\"text-center p-4 m-0\"},[_vm._v(\"No users found\")]):_vm._e()])]),_c('div',{staticClass:\"step-btn-container\"})]):(_vm.selectedStudentAssignment)?_c('div',{staticStyle:{\"height\":\"100%\"}},[_c('AssignmentDetail',{attrs:{\"contentData\":_vm.contentData,\"assignmentResults\":_vm.assignmentSubmissionsResult,\"assignmentResult\":_vm.selectedStudentAssignment},on:{\"closeSubmissionDetail\":function (){ _vm.selectedStudentAssignment=null }}})],1):_vm._e()])],1)],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal id=\"assignment-modal\" @change=\"$emit('updateModalState', false)\" :dialog-class=\"'animate-modal-dialog '+(isExpanded?'expanded':'shrink')\" :visible=\"visible\" hide-header centered\n\t\t:content-class=\"'assignment-modal '\" size=\"xl\" body-class=\"modal-body\" hide-footer modal-class=\"custom-modal\"\n\t\tno-close-on-backdrop>\n\t\t<div class=\"body-container\" v-if=\"contentData\">\n\t\t\t\n\t\t\t<!-- \n\t\t\t<button @click=\"$emit('updateModalState', false)\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button> -->\n\t\t\t<!-- <h1 class=\"add-content-title\">\n\t\t\t\tManage Assignment\n\t\t\t</h1> -->\n\t\t\t<b-tabs content-class=\"body-container p-0\" v-model=\"activeTabIndex\" align=\"center\">\n\n\t\t\t\t<b-tab :title=\"contentData.title\" title-item-class=\"modal-Heading add-content-title\" disabled></b-tab>\n\t\t\t\t<b-tab title=\"Instructions\" active>\n\t\t\t\t\t<div class=\"row\" v-if=\"extraProperties\" style=\"overflow-y: auto; overflow-x: hidden;\">\n\t\t\t\t\t\t<div class=\"col-md-9 pr-5\">\n\t\t\t\t\t\t\t<!-- <h5 class=\"mb-3 mt-3\">\n\t\t\t\t\t\t\t\t{{ contentData.title }}\n\t\t\t\t\t\t\t</h5> -->\n\t\t\t\t\t\t\t<div id=\"instructions\" class=\"instructions mt-3\" v-if=\"extraProperties.Discription\">\n\t\t\t\t\t\t\t<QuillRichTextEditor\n\t\t\t\t\t\t\t\t:text=\"extraProperties.Discription\"\n\t\t\t\t\t\t\t\t:isInline=\"false\"\n\t\t\t\t\t\t\t\teditorID=\"instruction-desc\"\n\t\t\t\t\t\t\t\t:isReadOnly=\"true\"\n\t\t\t\t\t\t\t\tv-model=\"extraProperties.Discription\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"row mt-2\" v-if=\"extraProperties.Files && extraProperties.Files.length > 0\">\n\n\t\t\t\t\t\t\t\t<div class=\"pr-3 col-lg-3 col-md-4\" v-for=\"file in extraProperties.Files\">\n\t\t\t\t\t\t\t\t\t<a :class=\"'card file-card ' + file.status\" target=\"_blank\" :href=\"file.Url\">\n\t\t\t\t\t\t\t\t\t\t<label :title=\"file.Name\">\n\t\t\t\t\t\t\t\t\t\t\t{{ file.Name }}\n\t\t\t\t\t\t\t\t\t\t\t<small><br />{{ file.Type }}</small>\n\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t</a>\n\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-md-3 box-with-left-shadow mt-5\">\n\t\t\t\t\t\t\t<h6>Assignment Due</h6>\n\t\t\t\t\t\t\t<input class=\"form-control no-due-date\"  disabled readonly :value=\"extraProperties.Deadline? parseDateTime( extraProperties.Deadline):'No Due Date'\" />\n\t\t\t\t\t\t\t<h6 class=\"mt-4\">Marks</h6>\n\t\t\t\t\t\t\t<input class=\"form-control no-due-date\" disabled readonly :value=\"extraProperties.Marks?extraProperties.Marks:'No Marks'\" />\n\t\t\t\t\t\t\t<h6 class=\"mt-4\">Passing Percentage</h6>\n\t\t\t\t\t\t\t<input class=\"form-control no-due-date\" disabled readonly :value=\"extraProperties.Marks?extraProperties.PassingPercentage+'%':'No Passing Percentage'\" />\n\t\t\t\t\t\t\t<h6 class=\"mt-4\">Allowed Submissions</h6>\n\t\t\t\t\t\t\t<input class=\"form-control no-due-date\" disabled readonly :value=\"extraProperties.AllowedSubmissions\n\t\t\t\t\t\t\t?extraProperties.AllowedSubmissions:'1'\" />\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t</div>\n\t\t\t\t</b-tab>\n\t\t\t\t<b-tab title=\"Submissions\">\n\n\t\t\t\t\t<div v-if=\"!selectedStudentAssignment\" class=\"submissions pt-3\" style=\"height: 100%;\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div style=\"height: inherit;\">\n\t\t\t\t\t\t\t<div style=\"display: flex;\">\n\t\t\t\t\t\t\t\t<div class=\"d-flex mb-2 gap-3\">\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t@click=\"setFilterType('all')\"\n\t\t\t\t\t\t\t\t\t\t:class=\"['filter-user-type-btn',{active:filterType=='all'}]\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t  All\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t@click=\"setFilterType('pending')\"\n\t\t\t\t\t\t\t\t\t\t:class=\"['filter-user-type-btn',{active:filterType=='pending'}]\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t  Pending\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t@click=\"setFilterType('submitted')\"\n\t\t\t\t\t\t\t\t\t\t:class=\"['filter-user-type-btn',{active:filterType=='submitted'}]\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t  Submitted\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t@click=\"setFilterType('latesubmitted')\"\n\t\t\t\t\t\t\t\t\t\t:class=\"['filter-user-type-btn',{active:filterType=='latesubmitted'}]\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tLate Submitted\n\t\t\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t@click=\"setFilterType('tograde')\"\n\t\t\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t\t\t\t\t\t'filter-user-type-btn'\n\t\t\t\t\t\t\t\t\t\t\t\t\t,{active:filterType=='tograde'}\n\t\t\t\t\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t  Not Graded\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t@click=\"setFilterType('graded')\"\n\t\t\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t\t\t\t\t\t'filter-user-type-btn',{active:filterType=='graded'}\n\t\t\t\t\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t  Graded \n\t\t\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t\t  </div>\n\t\t\t\t\t\t\t\t  \n\t\t\t\t\t\t\t\t\t<div style=\"flex: 1;\" >\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tstyle=\"margin-right: 10px;\"\n\t\t\t\t\t\t\t\t\t\t@click=\"refresh\"\n\t\t\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t\t\t\t\t\t'filter-user-type-btn','active'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t <i class=\"fa fa-refresh\"></i>&nbsp;Refresh\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<input type=\"search\" v-model=\"searchNameEmail\" placeholder=\"Search By Name\" class=\"form-control search-box\" />\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"tableFixHead\">\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<table v-if=\"assignmentSubmissionsResult && assignmentSubmissionsResult.length > 0\"\n\t\t\t\t\t\t\t\t\tclass=\"table table-hover table-borderless all-users-table \">\n\t\t\t\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t\t\t\t<!-- <th style=\"width: 1%; padding-left: 8px;\" class=\"text-center\">\n\t\t\t\t\t\t\t\t\t\t\t<input type=\"checkbox\" name=\"select_all\" id=\"select_all\" v-model=\"isSelectedAll\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"selectAll()\" />\n\t\t\t\t\t\t\t\t\t\t</th> -->\n\t\t\t\t\t\t\t\t\t\t<th style=\"width: 3%;\">\n\t\t\t\t\t\t\t\t\t\t\t#\n\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t<th style=\"width: 10%;\" class=\"\">\n\t\t\t\t\t\t\t\t\t\t\tName\n\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t<th style=\"width: 10%;\">\n\t\t\t\t\t\t\t\t\t\t\tStatus\n\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t<th style=\"width: 10%;\">\n\t\t\t\t\t\t\t\t\t\t\tSubmitted At\n\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t<th style=\"width: 5%;\" class=\"text-center\">\n\t\t\t\t\t\t\t\t\t\t\tFeedback\n\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t<th style=\"width: 5%;\" class=\"text-center\">\n\t\t\t\t\t\t\t\t\t\t\tPercentage\n\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t<th style=\"width: 5%;\" class=\"text-center\">\n\t\t\t\t\t\t\t\t\t\t\tResult\n\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t<th v-if=\"extraProperties.Marks > 0\" style=\"width: 10%;\">\n\t\t\t\t\t\t\t\t\t\t\tMarks (Out Of {{ extraProperties.Marks }})\n\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr v-for=\"(assignmentResult, i) in assignmentSubmissionsResult\"  \n\t\t\t\t\t\t\t\t\t\t@click=\"selectStudentAssignment(assignmentResult)\">\n\t\t\t\t\t\t\t\t\t\t\t<!-- <td class=\"text-center\"><input type=\"checkbox\" v-model=\"selectedUsers[assignmentResult.user.id]\" name=\"select_all\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"select_all\" /></td> -->\n\t\t\t\t\t\t\t\t\t\t\t<td>{{ i + 1 }}</td>\n\t\t\t\t\t\t\t\t\t\t\t<td class=\"user-name d-flex align-items-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<img v-if=\"assignmentResult.user.profilePicture\" class=\"user-image user-avatar\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:src=\"assignmentResult.user.profilePicture\" />\n\t\t\t\t\t\t\t\t\t\t\t\t<div v-else class=\"user-avatar\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ assignmentResult.user.firstName[0] }}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<h6 style=\"margin-left: 10px; margin-bottom: 0px;\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ assignmentResult.user.firstName }} {{ assignmentResult.user.lastName\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<small style=\"color: gray !important;\">{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tassignmentResult.user.email }}</small>\n\t\t\t\t\t\t\t\t\t\t\t\t</h6>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t\t<h6 style=\"margin-top:9px;\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span style=\"color:green\" v-if=\"assignmentResult.isGraded == true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i  class=\"fa fa-check\"></i>\tGraded\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span v-else-if=\"assignmentResult.isSubmitAssignment == true\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"submitted-status\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t    Submitted\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span v-else-if=\"assignmentResult.isSubmitAssignment == false\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pending-status\">Pending\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</h6>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t<td class=\"submitted-box\"><small :style=\"assignmentResult.isSubmitAssignment == true && assignmentResult.isLateSubmission == true?'font-size: 13px;':''\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ parseDateTime(mapSubmitted(assignmentResult)) }}</small>\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"assignmentResult.isSubmitAssignment == true && assignmentResult.isLateSubmission == true\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"status-tag danger late-submitted-status\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fas fa-clock\" style=\"margin-right: 5px;\"></i> Late Submission\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t<td class=\"text-center\">\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"feedback-container\" @click.stop>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<b-tooltip v-if=\"mapFeedback(assignmentResult)\" :target=\"'add-dropdown-btn-'+assignmentResult.user.id\" triggers=\"hover\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{mapFeedback(assignmentResult) }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</b-tooltip>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:title=\"mapFeedback(assignmentResult)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:class=\"['feedback-btn', { 'disabled': !(assignmentResult && assignmentResult.submissions && assignmentResult.submissions.length > 0) }]\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:id=\"'add-dropdown-btn-'+assignmentResult.user.id\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"!(assignmentResult && assignmentResult.submissions && assignmentResult.submissions.length > 0)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"addFeedback(assignmentResult.user.id)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ping\" v-if=\"mapFeedback(assignmentResult)\"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fas fa-comments\"></i>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click.stop\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"add-dropdown\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"dropdown-menu dropdown-menu-end\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-labelledby=\"dropdownMenuLink\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"add-feedback-input\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Enter feedback\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-model=\"feedback\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"add-feedback-input\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t></textarea>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"btn-div\" >\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div style=\"flex:1;\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<b-spinner small v-if=\"loading\" style=\"margin-right: 10px;\"></b-spinner>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"saveFeedback(assignmentResult)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"!feedback || loading\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"filter-user-type-btn save-btn active\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSave\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"hideDropdown('add-dropdown-btn-'+assignmentResult.user.id)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"filter-user-type-btn cancel-btn active\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<!-- <div v-else> -- </div> -->\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t<td class=\"submitted-box text-center\">\n\t\t\t\t\t\t\t\t\t\t\t<div v-if=\"assignmentResult && assignmentResult.result\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\t:style=\"{\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: assignmentResult.result.toLowerCase() === 'pass' ? 'green' : 'red',\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: assignmentResult.result.toLowerCase() === 'pass' ? 'bold' : 'normal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ (assignmentResult.percentage || 0).toFixed(2) }}%\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<span v-else> -- </span>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\n\t\t\t\t\t\t\t\t\t\t\t<td class=\"submitted-box text-center\">\n\t\t\t\t\t\t\t\t\t\t\t<div v-if=\"assignmentResult && assignmentResult.result\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t:style=\"{\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: assignmentResult.result.toLowerCase() === 'pass' ? 'green' : 'red',\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: assignmentResult.result.toLowerCase() === 'pass' ? 'bold' : 'normal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ assignmentResult.result || '--' }}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<span v-else> -- </span>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\n\n\t\t\t\t\t\t\t\t\t\t\t<td v-if=\"extraProperties.Marks && extraProperties.Marks > 0\" class=\"text-center\"  style=\"\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div @click.stop\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"marks-div\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input v-if=\"currentEditableUserID == assignmentResult.user.id\"  v-on:keyup.enter=\"saveMarks\" \n\t\t\t\t\t\t\t\t\t\t\t\t\t  :class=\"'form-control score-box '+(!validateMarks?'error':'')\" min=\"0\" :max=\"extraProperties.Marks\" v-model=\"updatedMarks\" type=\"number\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input v-else  class=\"form-control score-box\" @focus=\"$event.target.select()\" @click=\"editMarks(assignmentResult.user.id)\" v-model=\"assignmentResult.marks\" readonly type=\"number\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"saveMarksBtn\" @click=\"saveMarks\" v-if=\"currentEditableUserID == assignmentResult.user.id && !loading\"><i class=\"fa fa-check\"></i></a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"cancelMarksBtn\" @click=\"cancelEditMarks\" v-if=\"currentEditableUserID == assignmentResult.user.id  && !loading\"><i class=\"fa fa-times\"></i></a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<b-spinner small v-if=\"currentEditableUserID == assignmentResult.user.id  && loading\" class=\"loading-btn\"></b-spinner>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t</table>\n\n\t\t\t\t\t\t\t\t<div v-else-if=\"!assignmentSubmissionsResult\"\n\t\t\t\t\t\t\t\t\tclass=\"d-flex align-items-center justify-content-center gap-3 p-3 font-500 m-5\">\n\t\t\t\t\t\t\t\t\t<b-spinner></b-spinner> Loading...\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<h5 v-else-if=\"assignmentSubmissionsResult && assignmentSubmissionsResult.length <= 0\"\n\t\t\t\t\t\t\t\t\tclass=\"text-center p-4 m-0\">No users found</h5>\n\n\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\n\t\t\t\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t\t\t\t<!-- <a role=\"button\" :disabled=\"!this.assignmentSubmissionsResult || this.assignmentSubmissionsResult.length<=0\" class=\"step-btn export\"><i class=\"fas fa-file-excel\"></i> Export\n\t\t\t\t\t\t\t</a> -->\n\t\t\t\t\t\t\t<!-- <button :disabled=\"!selectedAssignments || selectedAssignments.length<=0\" role=\"button\" class=\"step-btn\">\n\t\t\t\t\t\t\t\tReturn\n\t\t\t\t\t\t\t</button> -->\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else-if=\"selectedStudentAssignment\"\n\t\t\t\t\tstyle=\"height: 100%;\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<AssignmentDetail @closeSubmissionDetail=\"()=>{ selectedStudentAssignment=null }\" :contentData=\"contentData\" :assignmentResults=\"assignmentSubmissionsResult\" :assignmentResult=\"selectedStudentAssignment\"/>\n\t\t\t\t\t</div>\t\t\t\t\t\n\n\n\n\n\n\t\t\t\t\t\n\t\t\t\t</b-tab>\n\t\t\t\t<template #tabs-end>\n\t\t\t\t\t<div style=\"display: flex; flex: 1; text-align: right; justify-content: right;\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<button @click=\"()=>{ isExpanded=!isExpanded; }\" class=\"close-button expanded-btn mr-3\" role=\"button\">\n\t\t\t\t\t\t\t<i v-if=\"!isExpanded\" class=\"fas fa-expand-alt\"></i>\n\t\t\t\t\t\t\t<i v-if=\"isExpanded\" class=\"fas fa-compress-alt\"></i>\n\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t<button @click=\"$emit('updateModalState', false)\" class=\"close-button\" role=\"button\">\n\t\t\t\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\n\t\t\t\t</template>\n\n\t\t\t</b-tabs>\n\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\n\nimport CookieHelpers from \"../../../helpers/CookieHelpers\";\nimport Loading from \"../../../components/Layout/Loading.vue\";\nimport draggable from \"vuedraggable\";\nimport { ContentType } from \"../../../constants/content\";\nimport { parseDateToYMD } from \"../../../helpers/FormatHelpers\";\nimport { mapActions } from \"vuex\";\nimport { POST_FILE_API } from \"./../../../constants/urls\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { mapState } from \"vuex\";\nimport AssignmentDetail from \"./AssignmentDetail.vue\";\nimport QuillRichTextEditor from \"./../../Editors/QuillRichTextEditor.vue\"\nexport default {\n\tname: \"ManageAssignmentModal\",\n\tprops: {\n\t\tvisible: Boolean,\n\t\tparentContentId: String,\n\t\tcontentData: Object\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tfilterType:'all',\n\t\t\tquillEditor: null,\n\t\t\tactiveTabIndex: null,\n\t\t\tassignmentResults: null,\n\t\t\tsearchNameEmail: null,\n\t\t\tselectedUsers:{},\n\t\t\tisSelectedAll:false,\n\t\t\tcurrentEditableUserID:null,\n\t\t\tupdatedMarks:null,\n\t\t\tloading:false,\n\t\t\tfeedback:null,\n\t\t\tselectedStudentAssignment:null,\n\t\t\tisExpanded:false,\n\t\t\tvisibleFeedbackDropdowns: {}\n\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getContentById\", \"updateContent\",\n\t\t\t\"createAssignmentContent\"]),\n\t\t...mapActions(\"assignment\", [\"getSubmittedAssignmentResults\",\"submitAssignmentResult\"]),\n\t\tcloseSubmissionDetail(){\n\t\t\tthis.selectStudentAssignment=null\n\t\t},\n\t\trefresh(){\n\t\t\tthis.filterType=\"all\";\n\t\t\tthis.searchNameEmail=null;\n\t\t\tthis.assignmentResults=null;\n\t\t\tthis.getAssignmentResults();\n\t\t},\n\t\tgetAssignmentResults() {\n\t\t\t\n\t\t\tthis.getSubmittedAssignmentResults(this.contentData.id)\n\t\t\t\t.then(results => {\n\t\t\t\t\tvar data={};\n\t\t\t\t\tresults.forEach(result=>{\n\t\t\t\t\t\tdata[result.user.id]=result;\n\t\t\t\t\t});\n\t\t\t\t\tthis.assignmentResults = data;\n\t\t\t\t});\n\t\t},\n\t\tparseDateTime(time) {\n\t\t\tif (time)\n\t\t\t\treturn new Date(time).toDateString() + \" \" + new Date(time).toLocaleTimeString();\n\n\t\t\treturn \"\";\n\t\t},\n\t\tsetFilterType(filterType){\n\t\t\tthis.selectedUsers={};\n\t\t\tthis.filterType=filterType;\n\t\t},\n\t\tselectAll(){\n\t\t\tif(this.isSelectedAll!=true)\n\t\t\t{\n\t\t\t\tif(this.assignmentSubmissionsResult && this.assignmentSubmissionsResult.length>0)\n\t\t\t\t{\n\t\t\t\t\tthis.assignmentSubmissionsResult\n\t\t\t\t\t.forEach(assignmentResult => {\n\t\t\t\t\t\tthis.selectedUsers[assignmentResult.user.id]=true;\n\t\t\t\t\t});\n\t\t\t\t\tvar temp=this.selectedUsers;\n\t\t\t\t\tthis.selectedUsers=null;\n\t\t\t\t\tthis.selectedUsers=temp;\n\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\tthis.selectedUsers={};\n\t\t\t\t}\n\t\t},\n\t\teditMarks(userId)\n\t\t{\n\t\t\tthis.currentEditableUserID=userId;\n\t\t\tthis.updatedMarks= this.assignmentResults[userId].marks??\"0\";\n\t\t},\n\t\tcancelEditMarks(){\n\t\t\tthis.currentEditableUserID=null;\n\t\t},\n\t\tsaveMarks(){\n\t\t\tvar isValidMarks = this.validateMarks;\n\t\t\tif(this.currentEditableUserID && isValidMarks){\n\t\t\t\tvar assignmentResult = {\n\t\t\t\t\tContentId:this.contentData.id,\n\t\t\t\t\tUserId:this.currentEditableUserID,\n\t\t\t\t\tMarks: parseInt(this.updatedMarks)\n\t\t\t\t}\n\t\t\t\tthis.loading=true;\n\t\t\t\tthis.submitAssignmentResult(assignmentResult).then((submittedAssignmentResult)=>{\n\t\t\t\t\tthis.loading=false;\n\t\t\t\t\tif(submittedAssignmentResult){\n\t\t\t\t\t\tthis.assignmentResults[submittedAssignmentResult.user.id]=submittedAssignmentResult;\n\t\t\t\t\t\tthis.currentEditableUserID=null;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\t\t\n\t\thideDropdown(id) {\n\t\t\tdocument.getElementById(id).click();\n\t\t},\t\t\n\t\taddFeedback(userId) {\n\t\t\t// $('#add-dropdown').show();\n\t\t\tif(this.assignmentResults[userId] && this.mapFeedback(this.assignmentResults[userId]))\n\t\t\t{\n\t\t\t\t\n\t\t\t\tthis.feedback=this.mapFeedback(this.assignmentResults[userId]);\n\t\t\t}\n\t\t\telse{\n\t\t\t\tthis.feedback=\"\";\n\t\t\t}\n\t\t},\n\n\t\tsaveFeedback(result) {\n\n\t\tconst submissions = result && result.submissions || [];\n\t\tif(submissions.length < 1) return;\n\n\t\tlet lastSubmission = result.submissions[submissions.length -1];\n\n\t\tconst feedback = (lastSubmission.feedback === null || lastSubmission.feedback.trim() === '')\n     \t? lastSubmission.feedback : 'Review your submission feedback';\n\n\t\tvar assignmentFeedback = {\n\t\t\tContentId: this.contentData.id,\n\t\t\tUserId: result.user.id,\n\t\t\tsubmissionId: lastSubmission.id,\n\t\t\tfeedback: feedback,\n\t\t\tfeedbackFiles: lastSubmission.feedbackFiles ? lastSubmission.feedbackFiles : []\n\t\t};\n\n\t\tthis.loading = true;\n\n\t\tthis.submitAssignmentFeedback(assignmentFeedback)\n\t\t\t.then((submittedAssignmentFeedback) => {\n\n\t\t\t\tif(submittedAssignmentFeedback){\n\t\t\t\t\tlet currentSubmission = {...this.assignmentResults[result.user.id]};\n\t\t\t\t\tcurrentSubmission[submissions.length -1] = submittedAssignmentFeedback\n\t\t\t\t\tthis.currentEditableUserID = null;\n\t\t\t\t\tthis.hideDropdown('add-dropdown-btn-'+submittedAssignmentFeedback.user.id);\n\t\t\t\t}\n\n\t\t\t\tthis.loading = false;\n\t\t\t});\n\n   \t\t },\n\t\tselectStudentAssignment(studentAssignment){\n\t\t\tthis.selectedStudentAssignment=studentAssignment;\n\t\t},\n\t\tmapFeedback(assignment){\n\t\t\tif(assignment.submissions && assignment.submissions.length>0)\n\t\t\t{\n\t\t\t\treturn assignment.submissions[assignment.submissions.length-1].feedback;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tmapSubmitted(assignment){\n\t\t\tif(assignment.submissions && assignment.submissions.length>0)\n\t\t\t{\n\t\t\t\treturn assignment.submissions[assignment.submissions.length-1].submittedAt;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t},\n\tcomponents: {\n\t\tLoading,\n\t\tAssignmentDetail,\n\t\tQuillRichTextEditor\n\t},\n\tmounted() {\n\t\tif (this.visible) {\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.content = { ...this.contentData };\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"apiURL\"]),\n\t\textraProperties() {\n\t\t\treturn this.contentData && this.contentData.extraProperties && typeof(this.contentData.extraProperties) == 'string' ? JSON.parse(this.contentData.extraProperties) : this.contentData.extraProperties\n\t\t},\n\t\tisSubmissionsActivePanel() {\n\t\t\treturn this.activeTabIndex == 2;\n\t\t},\n\t\tvalidateMarks(){\n\t\t\treturn\tthis.updatedMarks && this.extraProperties && this.extraProperties.Marks && parseInt(this.extraProperties.Marks)>=parseInt(this.updatedMarks)\n\t\t},\n\t\tassignmentSubmissionsResult(){\n\t\t\tif(this.assignmentResults)\n\t\t\t{\n\t\t\t\tvar filtered = Object.values(this.assignmentResults);\n\n\t\t\t\tfiltered = filtered.filter(x=>!this.searchNameEmail || `${x.user.firstName} ${x.user.lastName} ${x.user.email}`.toLowerCase().indexOf(this.searchNameEmail.trim().toLowerCase())>-1);\n\n\t\t\t\tif(this.filterType=='pending')\n\t\t\t\t{\n\t\t\t\t\tfiltered = filtered.filter(x=>x.isSubmitAssignment==false && x.isGraded==false);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif(this.filterType=='latesubmitted')\n\t\t\t\t{\n\t\t\t\t\tfiltered = filtered.filter(x=>x.isSubmitAssignment==true && x.isLateSubmission==true);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif(this.filterType=='submitted')\n\t\t\t\t{\n\t\t\t\t\tfiltered = filtered.filter(x=>x.isSubmitAssignment==true);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif(this.filterType=='tograde')\n\t\t\t\t{\n\t\t\t\t\tfiltered = filtered.filter(x=>x.isSubmitAssignment==true && x.isGraded==false);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif(this.filterType=='graded')\n\t\t\t\t{\n\t\t\t\t\tfiltered = filtered.filter(x=>x.isGraded==true);\n\t\t\t\t}\n\t\t\t\treturn filtered;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tselectedAssignments(){\n\t\t\tif(!this.assignmentSubmissionsResult)\n\t\t\t\treturn [];\n\t\t\treturn this.assignmentSubmissionsResult.filter(x=>this.selectedUsers[x.user.id]==true);\n\t\t},\n\t\t\n\n\t},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible) {\n\n\t\t\t\t//this.loadEditContent()\n\t\t\t}\n\t\t},\n\t\tactiveTabIndex: function () {\n\t\t\tif (this.isSubmissionsActivePanel) {\n\t\t\t\tthis.getAssignmentResults();\n\t\t\t}\n\t\t},\n\t\tselectedUsers:function(){\n\t\t\tif(this.selectedUsers && Object.keys(this.selectedUsers).length>0 && this.assignmentSubmissionsResult.length==Object.keys(this.selectedUsers).length){\n\t\t\t\tthis.isSelectedAll=true;\n\t\t\t}else{\n\t\t\t\tthis.isSelectedAll=false;\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.expanded-btn{\n\tcolor: black;\n    font-size: 24px;\n    margin-right: 15px;\n\tpadding-top: 4px;\n}\n.user-image{\n\tobject-fit: cover;\n}\n.close-button {\n\tposition: inherit;\n}\n\n\n.assignment-modal .modal-body .body-container {\n\tpadding: 0rem;\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tposition: relative;\n}\n\n.info-container .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n\n.form-textarea {\n\twidth: 100%;\n\tpadding: 10px;\n\tborder: 1px solid #ccc;\n\tborder-radius: 4px;\n\tfont-size: 14px;\n\tline-height: 1.5;\n\tresize: vertical;\n\ttransition: border-color 0.2s ease-in-out;\n}\n\n.form-textarea:focus {\n\tborder-color: var(--color-red);\n\toutline: none;\n\tbox-shadow: 0 0 0 0.1rem rgba(0, 123, 255, 0.25);\n}\n\n.info-container .form-group {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-top: 20px;\n}\n\n.info-container .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0.875rem 0;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n}\n\n.form-input:focus {\n\tborder-color: var(--primary-color) !important;\n}\n\n.info-container tbody img {\n\theight: 50px;\n\twidth: 50px;\n}\n\n#delete-icon {\n\theight: 35px;\n\twidth: 30px;\n\tcursor: pointer;\n\tmargin-top: 15px;\n\tmargin-bottom: auto;\n}\n\n.modal-body {\n\tpadding: 0px;\n}\n\n.attach-resources-link {\n\tcolor: var(--primary-color);\n\ttext-decoration: none;\n\tmargin-top: 5px;\n\tmargin-right: 15px;\n\tcursor: pointer;\n}\n\n.attach-resources-link i {\n\tmargin-right: 5px;\n}\n\n.link-box {\n\twidth: auto;\n\tmax-width: none;\n}\n\n.link-box input {\n\tmargin: 10px;\n\n}\n\n.file-card:hover {\n\tbackground-color: whitesmoke;\n}\n\n.file-card {\n\tdisplay: flex;\n\tpadding: 5px;\n\tpadding-top: 8px;\n\tpadding-left: 10px;\n\tpadding-right: 10px;\n\tborder: 1px solid var(--primary-color);\n\tcursor: pointer;\n\tflex-direction: inherit;\n\tmargin-bottom: 10px;\n\ttext-decoration: none;\n\tcolor: black;\n\toverflow: hidden;\n}\n\n.file-card label {\n\tflex: 1;\n\tpadding: 0px;\n\tmargin: 0px;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\twhite-space: nowrap;\n\tfont-size: small;\n\tfont-weight: bold;\n\tcursor: pointer;\n}\n\n.file-card.failed {\n\tbackground-color: rgb(var(--bs-danger-rgb));\n}\n\n.file-card.failed label {\n\tcolor: white;\n}\n\n.file-card label small {\n\tcolor: var(--primary-color);\n\ttext-transform: uppercase;\n\tpadding: 0px;\n\tmargin: 0px;\n\tcursor: pointer;\n\tfont-weight: lighter;\n}\n\n.file-card.failed label small {\n\tcolor: white;\n}\n\n\n.file-card .progress {\n\tposition: absolute;\n\twidth: 100%;\n\tbottom: -2px;\n\tleft: 0px;\n\theight: 7px;\n\n}\n\n.instructions {\n\theight: auto;\n}\n\n.assignment-modal .side-bar {\n\tbox-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;\n}\n\n.box-with-left-shadow {\n\tbox-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;\n\tborder-radius: 15px;\n\tpadding: 15px;\n}\n\n.no-due-date:disabled {\n\tbackground-color: #fafafa;\n\tborder-radius: 5px;\n\theight: 40px;\n\tborder: 0px;\n}\n\n.assignment-modal .tabs {\n\theight: 100%;\n}\n\n.submissions.body-container {\n\theight: 100%;\n}\n\n.step-btn.export {\n\tcolor: rgb(var(--bs-success-rgb)) !important;\n\tborder: 0px;\n}\n\n.step-btn.export:hover {\n\tbackground-color: white !important;\n}\n\n.search-box {\n\tmax-width: 200px;\n\tfloat: right;\n\tborder-radius: 5px !important;\n\theight: 30px;\n}\n\n.late-submitted-status {\n\tpadding: 5px;\n    padding-bottom: 4px;\n    color: white;\n    font-size: xx-small;\n}\n\n.submitted-status {\n\tpadding-top: 10px;\n\tcolor: rgb(var(--bs-success-rgb));\n}\n\n.pending-status {\n\tpadding-top: 10px;\n\tcolor: rgb(var(--bs-danger-rgb));\n}\n\ntable tr td {\n\tvertical-align: middle;\n\tdisplay: table-cell;\n}\n\ntable thead {\n\tborder-top: 1px solid;\n\tborder-color: inherit;\n}\n\ntable th {\n\tpadding: 10px;\n\tpadding-left: 8px;\n}\n\n.tableFixHead {\n\toverflow-y: auto;\n\t/* make the table scrollable if height is more than 200 px  */\n\theight: 90%;\n\t/* gives an initial height of 200px to the table */\n}\n\n.tableFixHead thead {\n\tposition: sticky;\n\t/* make the table heads sticky */\n\ttop: -1px;\n\t/* table head will be placed from the top of the table and sticks to it */\n}\n\ntable {\n\tmargin: 0px;\n\tpadding: 0px;\n\twidth: 100%;\n}\n\ntable thead {\n\tbackground: #fafafa;\n\tbox-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n\tz-index: 9999;\n}\n.filter-user-type-btn{\n\theight: 30px;\n\tbackground-color: #fafafa;\n\tbox-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n\tcursor: pointer !important;\n}\n\n.filter-user-type-btn.active{\n\t\n\tbox-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;\n\tbackground-color: #ffffff;\n}\n.score-box{\n\theight: 30px;\n\twidth: 50px;\n\tfont-size: 24px;\n\tmargin: 0px;\n\tbackground-color: #fafafa;\n}\n.score-box:disabled{\n\tcursor: pointer;\n}\n.saveMarksBtn{\n\tmargin-left: 10px;\n\tmargin-top: 2px;\n\tfont-size: large;\n\tcolor: rgb(var(--bs-success-rgb));\n}\n.cancelMarksBtn{\n\tmargin-left: 10px;\n\tmargin-top: 2px;\n\tfont-size: large;\n\tcolor: rgb(var(--bs-danger-rgb));\n}\n.marks-div{\n\tdisplay: flex;\n\tplace-content: center; \n\ttext-align: center;\n}\n.submitted-box{\n\tpadding-top: 3px;\n\tpadding-bottom: 3px;\n}\n.feedback-container {\n\tmargin-left: auto;\n}\n.feedback-container form{\n\tdisplay: block !important;\n}\n.add-feedback-input {\n\tmax-height: 10rem;\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding:1rem;\n\tfont-size: 1.125rem;\n\tcolor: #000000;\n\twidth: 100%;\n\ttext-align: left;\n\tline-height: 1;\n\tpadding-right: 5.25rem;\n}\n.feedback-container div.btn-div{\n\ttext-align: -webkit-right;\n\tdisplay: flex;\n\theight: 100%;\n\t\n} \n.feedback-container .save-btn{\n\tfont-size: x-small;\n    height: 20px;\n    border-radius: 5px;\n\tbackground-color: var(--primary-color);\n\tcolor: white;\n\tmargin-right: 10px;\n} \n.feedback-container .cancel-btn{\n\tfont-size: x-small;\n    height: 20px;\n    border-radius: 5px;\n}\n.feedback-btn{\n\tcolor: #000000;\n\tposition: relative;\n} \n\n.feedback-btn.disabled {\n  color: #a9a9a9;\n  cursor: not-allowed;\n}\n.feedback-btn:active{\n\tcolor: #000000;\n} \n.feedback-btn .ping{\n    width: 6px;\n    height: 6px;\n    background-color: rgb(var(--bs-danger-rgb));\n    border-radius: 4px;\n    position: absolute;\n} \n</style>\n<style>\n\n.assignment-modal\n{\n  height: 45.375rem;\n  /* width: 70vw; */\n}\n\n#assignment-modal .expanded\n{\n\tmax-width: 96%;\n\tmax-height: 96%;\n\n}\n\n#assignment-modal .expanded .assignment-modal\n{\n\theight: 90vh;\n\t\n}\n\n.assignment-modal  .modal-body.modal-body\n{\n\tdisplay: flex;\n    flex-direction: row;\n    padding: 0 !important;\n\toverflow: auto;\n}\n.assignment-modal  .modal-body.modal-body .body-container\n{\n\t\n    padding: 2.5rem;\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n    position: relative;\n\n}\n\n\n\n.instructions .ql-disabled {\n\tborder: 0px;\n}\n\n.instructions .ql-disabled .ql-editor {\n\tpadding: 0px;\n\tborder: 0px;\n}\n\n.assignment-modal .modal-body .nav-item.modal-Heading {\n\tflex: 1;\n\tfont-weight: bolder;\n}\n\n.assignment-modal .modal-body .nav-item.add-content-title a {\n\tpadding: 0px;\n\tcolor: black;\n\tpointer-events: none;\n\tfont-size: large;\n\tpadding-bottom: 7px;\n}\n\n.assignment-modal .tabs .tab-content {\n\theight: 86%;\n}\n\n.assignment-modal .submissions .tab-content {\n\theight: 100%;\n}\n\n.assignment-modal .tab-pane.active {\n\theight: 100%;\n\twidth: 100%;\n}\n\n.assignment-modal .nav.nav-tabs {\n\n\tborder-bottom: solid 1px #d8dbe0;\n}\n\n.assignment-modal .nav-tabs .nav-link.active {\n\tborder-bottom: 3px solid var(--primary-color);\n\tcolor: black;\n\tfont-weight: bold !important;\n}\n\n.assignment-modal .nav-tabs .nav-item .nav-link {\n\tcolor: black;\n\tfont-weight: lighter;\n}\n.loading-btn{\n\tcolor:#a2a3a2;\n\talign-self: center;\n\tmargin-left: 10px;\n\twidth: 1.4rem !important;\n\theight: 1.4rem !important;\n}\n\n</style>","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ManageAssignmentModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ManageAssignmentModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ManageAssignmentModal.vue?vue&type=template&id=503b77f9&scoped=true&\"\nimport script from \"./ManageAssignmentModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ManageAssignmentModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ManageAssignmentModal.vue?vue&type=style&index=0&id=503b77f9&prod&scoped=true&lang=css&\"\nimport style1 from \"./ManageAssignmentModal.vue?vue&type=style&index=1&id=503b77f9&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"503b77f9\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-form-group',_vm._l((_vm.answerOptions),function(option,index){return _c('h5',{key:index,class:'d-flex align-items-center gap-3'},[_c('b-form-checkbox',{staticStyle:{\"flex-grow\":\"9\"},attrs:{\"value\":index,\"disabled\":!option.option},model:{value:(_vm.selectedAnswer),callback:function ($$v) {_vm.selectedAnswer=$$v},expression:\"selectedAnswer\"}},[_c('QuillRichTextEditor',{staticClass:\"form-input answer-option\",attrs:{\"text\":option.option,\"isInline\":true,\"editorID\":'editor-answeroption-' + index,\"placeholder\":\"Enter option here...\"},model:{value:(option.option),callback:function ($$v) {_vm.$set(option, \"option\", $$v)},expression:\"option.option\"}})],1),_c('button',{staticStyle:{\"flex-grow\":\"1\"},attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.removeOption(index)}}},[_c('img',{staticStyle:{\"max-height\":\"13px\"},attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})])],1)}),0)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <b-form-group>\n      <h5\n        v-for=\"(option, index) in answerOptions\"\n        :key=\"index\"\n        :class=\"'d-flex align-items-center gap-3'\"\n      >\n        <b-form-checkbox\n          v-model=\"selectedAnswer\"\n          :value=\"index\"\n          :disabled=\"!option.option\"\n          style=\"flex-grow: 9\"\n        >\n          <QuillRichTextEditor\n            class=\"form-input answer-option\"\n            :text=\"option.option\"\n            :isInline=\"true\"\n            :editorID=\"'editor-answeroption-' + index\"\n            placeholder=\"Enter option here...\"\n            v-model=\"option.option\"\n          />\n        </b-form-checkbox>\n\n        <button\n          @click=\"removeOption(index)\"\n          class=\"\"\n          role=\"button\"\n          style=\"flex-grow: 1\"\n        >\n          <img src=\"@/assets/images/cancel-icon.svg\" style=\"max-height: 13px\" />\n        </button>\n      </h5>\n    </b-form-group>\n  </div>\n</template>\n\n<script>\nimport QuillRichTextEditor from \"../../../Editors/QuillRichTextEditor.vue\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nexport default {\n  name: \"CheckboxButtonQuestion\",\n  data() {\n    return {\n      selectedAnswer: [],\n    };\n  },\n  props: {\n    answerOptions: Array,\n  },\n  components: {\n    QuillRichTextEditor,\n  },\n  computed: {},\n  mounted() {},\n  methods: {\n    removeOption(index) {\n      if (this.answerOptions.length < 3) {\n        this.$toasted.error(\"Atleast 2 options are required\", {\n          icon: \"exclamation-triangle\",\n          theme: \"outline\",\n          position: \"bottom-center\",\n          singleton: true,\n        });\n        return;\n      }\n\n      this.$emit(\"removeOpt\", index);\n    },\n  },\n  created() {\n    var self = this;\n\n    if (this.answerOptions.length > 0) {\n      self.selectedAnswer = [];\n      this.answerOptions.forEach(function (val, ind, arr) {\n        if (val.isCorrect) {\n          self.selectedAnswer.push(ind);\n        }\n      });\n    }\n  },\n  watch: {\n    selectedAnswer: function () {\n      var objs = this.selectedAnswer.map((index) => {\n        var obj = this.answerOptions[index];\n        obj.index = index;\n        return obj;\n      });\n      this.$emit(\"setAnswer\", objs);\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n.input-option {\n  margin-left: 10px;\n  font-weight: lighter;\n}\n.radio-inputs {\n  /* max-width: 100%; */\n  padding: 5px;\n  border-radius: 10px;\n}\n</style>\n\n<style>\ninput[type=\"checkbox\"] {\n  margin-right: 5px;\n}\n\nlabel.custom-control-label {\n  width: 95%;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CheckboxButtonQuestion.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CheckboxButtonQuestion.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CheckboxButtonQuestion.vue?vue&type=template&id=07c59869&scoped=true&\"\nimport script from \"./CheckboxButtonQuestion.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckboxButtonQuestion.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CheckboxButtonQuestion.vue?vue&type=style&index=0&id=07c59869&prod&scoped=true&lang=css&\"\nimport style1 from \"./CheckboxButtonQuestion.vue?vue&type=style&index=1&id=07c59869&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"07c59869\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-form-group',_vm._l((_vm.answerOptions),function(option,index){return _c('h5',{key:index,class:'d-flex align-items-center'},[_c('b-form-radio',{staticStyle:{\"flex-grow\":\"9\"},attrs:{\"value\":index,\"disabled\":!option.option},model:{value:(_vm.selectedAnswer),callback:function ($$v) {_vm.selectedAnswer=$$v},expression:\"selectedAnswer\"}},[_c('QuillRichTextEditor',{staticClass:\"form-input answer-option\",attrs:{\"text\":option.option,\"isInline\":true,\"editorID\":'editor-answeroption-' + index,\"placeholder\":\"Enter option here...\"},model:{value:(option.option),callback:function ($$v) {_vm.$set(option, \"option\", $$v)},expression:\"option.option\"}})],1),_c('div',{staticStyle:{\"flex-grow\":\"1\"}},[_c('button',{attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.removeOption(index)}}},[_c('img',{staticStyle:{\"max-height\":\"13px\"},attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})])])],1)}),0)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <b-form-group>\n      <h5\n        v-for=\"(option, index) in answerOptions\"\n        :key=\"index\"\n        :class=\"'d-flex align-items-center'\"\n      >\n        <b-form-radio\n          v-model=\"selectedAnswer\"\n          :value=\"index\"\n          :disabled=\"!option.option\"\n          style=\"flex-grow: 9\"\n        >\n          <QuillRichTextEditor\n            class=\"form-input answer-option\"\n            :text=\"option.option\"\n            :isInline=\"true\"\n            :editorID=\"'editor-answeroption-' + index\"\n            placeholder=\"Enter option here...\"\n            v-model=\"option.option\"\n          />\n        </b-form-radio>\n        <div style=\"flex-grow: 1\">\n          <button @click=\"removeOption(index)\" class=\"\" role=\"button\">\n            <img\n              src=\"@/assets/images/cancel-icon.svg\"\n              style=\"max-height: 13px\"\n            />\n          </button>\n        </div>\n      </h5>\n    </b-form-group>\n  </div>\n</template>\n\n<script>\nimport QuillRichTextEditor from \"../../../Editors/QuillRichTextEditor.vue\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nexport default {\n  name: \"RadioButtonQuestion\",\n  data() {\n    return {\n      selectedAnswer: null,\n      text: \"\",\n    };\n  },\n  props: {\n    answerOptions: Array,\n  },\n  components: {\n    QuillRichTextEditor,\n  },\n  computed: {},\n  mounted() {},\n  methods: {\n    removeOption(index) {\n      if (this.answerOptions.length < 3) {\n        this.$toasted.error(\"Atleast 2 options are required\", {\n          icon: \"exclamation-triangle\",\n          theme: \"outline\",\n          position: \"bottom-center\",\n          singleton: true,\n        });\n        return;\n      }\n      this.$emit(\"removeOpt\", index);\n    },\n  },\n  created() {\n    var self = this;\n    if (this.answerOptions.length > 0) {\n      this.answerOptions.forEach(function (val, ind, arr) {\n        if (val.isCorrect) {\n          self.selectedAnswer = ind;\n        }\n      });\n    }\n  },\n  watch: {\n    selectedAnswer: function () {\n      var obj = this.answerOptions[this.selectedAnswer];\n      obj.index = this.selectedAnswer;\n      this.$emit(\"setAnswer\", [obj]);\n    },\n\n    // answerOptions: function () {\n    //   this.$emit(\"updateAnswerOptions\", this.answerOptions);\n    // },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n.input-option {\n  margin-left: 10px;\n  font-weight: lighter;\n}\n.radio-inputs {\n  /* max-width: 100%; */\n  padding: 5px;\n  border-radius: 10px;\n}\n</style>\n\n<style>\ninput[type=\"radio\"] {\n  margin-right: 5px;\n}\n\n.radio-inputs .custom-control-label {\n  margin: 0px;\n}\n\n.custom-control-label {\n  width: 95%;\n}\n</style>\n\n<style scoped>\n.answer-option {\n  padding: 0px;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RadioButtonQuestion.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RadioButtonQuestion.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RadioButtonQuestion.vue?vue&type=template&id=e5ad0b56&scoped=true&\"\nimport script from \"./RadioButtonQuestion.vue?vue&type=script&lang=js&\"\nexport * from \"./RadioButtonQuestion.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RadioButtonQuestion.vue?vue&type=style&index=0&id=e5ad0b56&prod&scoped=true&lang=css&\"\nimport style1 from \"./RadioButtonQuestion.vue?vue&type=style&index=1&id=e5ad0b56&prod&lang=css&\"\nimport style2 from \"./RadioButtonQuestion.vue?vue&type=style&index=2&id=e5ad0b56&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"e5ad0b56\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.answerOptions),function(option,index){return _c('h5',{key:index,class:'d-flex align-items-center gap-3'},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(option.option),expression:\"option.option\"}],staticClass:\"form-input\",attrs:{\"type\":\"text\",\"placeholder\":\"Enter option here\",\"id\":index},domProps:{\"value\":(option.option)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(option, \"option\", $event.target.value)}}}),_c('button',{attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.removeOption(index)}}},[_c('img',{staticStyle:{\"max-height\":\"13px\"},attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})])])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <!-- <b-form-group> -->\n    <h5\n      v-for=\"(option, index) in answerOptions\"\n      :key=\"index\"\n      :class=\"'d-flex align-items-center gap-3'\"\n    >\n      <input\n        class=\"form-input\"\n        type=\"text\"\n        placeholder=\"Enter option here\"\n        :id=\"index\"\n        v-model=\"option.option\"\n      />\n      <!-- <QuillRichTextEditor\n        class=\"form-input answer-option\"\n        :text=\"option.option\"\n        :isInline=\"true\"\n        :editorID=\"'editor-answeroption-' + index\"\n        placeholder=\"Enter option here...\"\n        v-model=\"option.option\"\n      /> -->\n      <button @click=\"removeOption(index)\" class=\"\" role=\"button\">\n        <img src=\"@/assets/images/cancel-icon.svg\" style=\"max-height: 13px\" />\n      </button>\n    </h5>\n    <!-- </b-form-group> -->\n  </div>\n</template>\n\n<script>\nimport QuillRichTextEditor from \"../../../Editors/QuillRichTextEditor.vue\";\n\nexport default {\n  name: \"TextboxButtonQuestion\",\n  data() {\n    return {\n      selectedAnswer: null,\n    };\n  },\n  components: {\n    QuillRichTextEditor,\n  },\n  props: {\n    answerOptions: Array,\n  },\n  computed: {},\n  mounted() {},\n  methods: {\n    removeOption(index) {\n      if (this.answerOptions.length < 2) {\n        this.$toasted.error(\"Atleast 1 option is required\", {\n          icon: \"exclamation-triangle\",\n          theme: \"outline\",\n          position: \"bottom-center\",\n          singleton: true,\n        });\n        return;\n      }\n      this.$emit(\"removeOpt\", index);\n    },\n  },\n  created() {},\n  watch: {\n    // selectedAnswer: function () {\n    //   this.$emit(\"setAnswer\", [this.selectedAnswer]);\n    // },\n    // answerOptions: function () {\n    //   this.$emit(\"setAnswer\", this.answerOptions);\n    // },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n.input-option {\n  margin-left: 10px;\n  font-weight: lighter;\n}\n.radio-inputs {\n  /* max-width: 100%; */\n  padding: 5px;\n  border-radius: 10px;\n}\n</style>\n\n<style>\n.quiz-radio input[type=\"radio\"] {\n  accent-color: var(--primary-color);\n}\n\n.radio-inputs .custom-control-label {\n  margin: 0px;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextboxButtonQuestion.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextboxButtonQuestion.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextboxButtonQuestion.vue?vue&type=template&id=229458f7&scoped=true&\"\nimport script from \"./TextboxButtonQuestion.vue?vue&type=script&lang=js&\"\nexport * from \"./TextboxButtonQuestion.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TextboxButtonQuestion.vue?vue&type=style&index=0&id=229458f7&prod&scoped=true&lang=css&\"\nimport style1 from \"./TextboxButtonQuestion.vue?vue&type=style&index=1&id=229458f7&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"229458f7\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"edit-content-modal\",\"dialog-class\":'animate-modal-dialog '+(_vm.isExpanded?'expanded':'shrink'),\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"edit-content-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('div',{staticClass:\"right-close-panel\"},[_c('button',{staticClass:\"close-button expanded-btn mr-3\",attrs:{\"role\":\"button\"},on:{\"click\":function (){ _vm.isExpanded=!_vm.isExpanded; }}},[(!_vm.isExpanded)?_c('i',{staticClass:\"fas fa-expand-alt\"}):_vm._e(),(_vm.isExpanded)?_c('i',{staticClass:\"fas fa-compress-alt\"}):_vm._e()]),_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})])]),_c('h1',{staticClass:\"edit-content-title\"},[_vm._v(\" \"+_vm._s(_vm.isEditMode ? \"Edit\" : \"Create\")+\" Question \")]),_c('div',{class:['info-container mb-3']},[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label mb-0\",attrs:{\"for\":\"title\"}},[_vm._v(\"Title (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.question.title),expression:\"question.title\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter question title here...\",\"name\":\"title\",\"id\":\"title\",\"required\":\"\"},domProps:{\"value\":(_vm.question.title)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.question, \"title\", $event.target.value)}}})])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"title\"}},[_vm._v(\"Question Text (required)\")]),_c('QuillRichTextEditor',{attrs:{\"text\":_vm.question.questionText,\"isInline\":false,\"editorID\":'editor-questiontext',\"placeholder\":\"Enter question text here...\"},model:{value:(_vm.question.questionText),callback:function ($$v) {_vm.$set(_vm.question, \"questionText\", $$v)},expression:\"question.questionText\"}})],1)]),_c('div',[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"marks\"}},[_vm._v(\"Marks (required)\")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.question.marks),expression:\"question.marks\"}],staticClass:\"form-input\",staticStyle:{\"display\":\"inline\"},attrs:{\"type\":\"number\",\"name\":\"marks\",\"id\":\"marks\",\"placeholder\":\"Enter marks here\",\"min\":\"0\"},domProps:{\"value\":(_vm.question.marks)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.question, \"marks\", $event.target.value)}}})])]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"questionType\"}},[_vm._v(\"Question Type (required)\")]),_c('div',[_c('v-select',{staticClass:\"form-input pt-0\",attrs:{\"reduce\":function (option) { return option.value; },\"options\":[\n                    { label: 'Textbox', value: 'textbox' },\n                    { label: 'Select (dropdown)', value: 'select' },\n                    { label: 'Radio (single-select)', value: 'radio' },\n                    { label: 'Checkbox (multi-select)', value: 'checkbox' } ],\"placeholder\":\"Select question type\",\"appendToBody\":true,\"clearable\":true},model:{value:(_vm.question.type),callback:function ($$v) {_vm.$set(_vm.question, \"type\", $$v)},expression:\"question.type\"}})],1)])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.question.randomizeAnswerOptions),expression:\"question.randomizeAnswerOptions\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isRandom\"},domProps:{\"checked\":Array.isArray(_vm.question.randomizeAnswerOptions)?_vm._i(_vm.question.randomizeAnswerOptions,null)>-1:(_vm.question.randomizeAnswerOptions)},on:{\"change\":function($event){var $$a=_vm.question.randomizeAnswerOptions,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.question, \"randomizeAnswerOptions\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.question, \"randomizeAnswerOptions\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.question, \"randomizeAnswerOptions\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isRandom\"}},[_vm._v(\"Randomize Answer Options \")])])])]),(_vm.question.type)?_c('div',[_c('h3',{staticClass:\"main-label\",attrs:{\"for\":\"marks\"}},[_vm._v(\"Answer Options\")])]):_vm._e(),(_vm.question.type)?_c('div',[_c('button',{staticClass:\"add-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.addOption()}}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\")}}),_vm._v(\" Add Option \")])]):_vm._e(),(_vm.question.type)?_c('div',{staticClass:\"mt-3\"},[(\n                _vm.question.type.toLowerCase() == 'radio' ||\n                _vm.question.type.toLowerCase() == 'select'\n              )?_c('RadioButtonQuestion',{attrs:{\"answerOptions\":_vm.question.answerOptions},on:{\"removeOpt\":_vm.removeOption,\"setAnswer\":_vm.setAnswer,\"updateAnswerOptions\":_vm.updateAnswerOptions}}):_vm._e(),(_vm.question.type.toLowerCase() == 'checkbox')?_c('CheckboxButtonQuestion',{attrs:{\"answerOptions\":_vm.question.answerOptions},on:{\"removeOpt\":_vm.removeOption,\"setAnswer\":_vm.setAnswer}}):_vm._e(),(_vm.question.type.toLowerCase() == 'textbox')?_c('TextboxButtonQuestion',{attrs:{\"answerOptions\":_vm.question.answerOptions},on:{\"removeOpt\":_vm.removeOption,\"setAnswer\":_vm.setAnswer}}):_vm._e()],1):_vm._e()])]),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableSubmitBtn || _vm.loading},on:{\"click\":_vm.create}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.btnText)+\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-modal\n    id=\"edit-content-modal\"\n    @change=\"$emit('updateModalState', false)\"\n    :dialog-class=\"'animate-modal-dialog '+(isExpanded?'expanded':'shrink')\"\n    :visible=\"visible\"\n    hide-header\n    centered\n    content-class=\"edit-content-modal\"\n    size=\"xl\"\n    body-class=\"modal-body\"\n    hide-footer\n    modal-class=\"custom-modal\"\n    no-close-on-backdrop\n  >\n    <div class=\"body-container\">\n     \n      <div class=\"right-close-panel\">\n\t\t\t\t<button @click=\"()=>{ isExpanded=!isExpanded; }\" class=\"close-button expanded-btn mr-3\" role=\"button\">\n\t\t\t\t\t\t\t<i v-if=\"!isExpanded\" class=\"fas fa-expand-alt\"></i>\n\t\t\t\t\t\t\t<i v-if=\"isExpanded\" class=\"fas fa-compress-alt\"></i>\n\t\t\t\t</button>\n        <button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n        <img src=\"@/assets/images/cancel-icon.svg\" />\n      </button>\n\t\t\t</div>\n\t\t\t\n      <h1 class=\"edit-content-title\">\n        {{ isEditMode ? \"Edit\" : \"Create\" }} Question\n      </h1>\n      <div :class=\"['info-container mb-3']\">\n        <div class=\"inline-group\">\n          <div class=\"col\">\n            <label class=\"main-label mb-0\" for=\"title\">Title (required)</label>\n            <input placeholder=\"Enter question title here...\" class=\"form-input\"  name=\"title\" id=\"title\"\n\t\t\t\t\t\tv-model=\"question.title\" required>\n            \n          </div>\n        </div>\n\n        <div class=\"inline-group\">\n          <div class=\"col\">\n            <label class=\"main-label\" for=\"title\"\n              >Question Text (required)</label\n            >\n            <QuillRichTextEditor\n              :text=\"question.questionText\"\n              :isInline=\"false\"\n              :editorID=\"'editor-questiontext'\"\n              placeholder=\"Enter question text here...\"\n              v-model=\"question.questionText\"\n            />\n          </div>\n        </div>\n        <div>\n          <div class=\"inline-group\">\n            <div class=\"col\">\n              <label class=\"main-label\" for=\"marks\">Marks (required)</label>\n              <div>\n                <input\n                  class=\"form-input\"\n                  style=\"display: inline\"\n                  type=\"number\"\n                  name=\"marks\"\n                  id=\"marks\"\n                  placeholder=\"Enter marks here\"\n                  min=\"0\"\n                  v-model=\"question.marks\"\n                />\n              </div>\n            </div>\n\n            <div class=\"col\">\n              <label class=\"main-label\" for=\"questionType\"\n                >Question Type (required)</label\n              >\n              <div>\n                <v-select\n                  class=\"form-input pt-0\"\n                  v-model=\"question.type\"\n                  :reduce=\"(option) => option.value\"\n                  :options=\"[\n                    { label: 'Textbox', value: 'textbox' },\n                    { label: 'Select (dropdown)', value: 'select' },\n                    { label: 'Radio (single-select)', value: 'radio' },\n                    { label: 'Checkbox (multi-select)', value: 'checkbox' },\n                  ]\"\n                  placeholder=\"Select question type\"\n                  :appendToBody=\"true\"\n                  :clearable=\"true\"\n                >\n                </v-select>\n              </div>\n            </div>\n          </div>\n\n          <div class=\"inline-group\">\n            <div class=\"col\">\n              <div class=\"form-check form-switch\">\n                <input\n                  class=\"form-check-input\"\n                  type=\"checkbox\"\n                  role=\"switch\"\n                  id=\"isRandom\"\n                  v-model=\"question.randomizeAnswerOptions\"\n                />\n                <label class=\"form-check-label\" for=\"isRandom\"\n                  >Randomize Answer Options\n                </label>\n              </div>\n            </div>\n          </div>\n\n          <div v-if=\"question.type\">\n            <h3 class=\"main-label\" for=\"marks\">Answer Options</h3>\n          </div>\n\n          <div v-if=\"question.type\">\n            <button class=\"add-btn\" role=\"button\" @click=\"addOption()\">\n              <img\n                src=\"@/assets/images/add-border-icon.svg\"\n                class=\"add-btn-icon\"\n              />\n              Add Option\n            </button>\n          </div>\n          <div v-if=\"question.type\" class=\"mt-3\">\n            <RadioButtonQuestion\n              v-if=\"\n                question.type.toLowerCase() == 'radio' ||\n                question.type.toLowerCase() == 'select'\n              \"\n              :answerOptions=\"question.answerOptions\"\n              @removeOpt=\"removeOption\"\n              @setAnswer=\"setAnswer\"\n              @updateAnswerOptions=\"updateAnswerOptions\"\n            ></RadioButtonQuestion>\n            <CheckboxButtonQuestion\n              v-if=\"question.type.toLowerCase() == 'checkbox'\"\n              :answerOptions=\"question.answerOptions\"\n              @removeOpt=\"removeOption\"\n              @setAnswer=\"setAnswer\"\n            ></CheckboxButtonQuestion>\n            <TextboxButtonQuestion\n              v-if=\"question.type.toLowerCase() == 'textbox'\"\n              :answerOptions=\"question.answerOptions\"\n              @removeOpt=\"removeOption\"\n              @setAnswer=\"setAnswer\"\n            ></TextboxButtonQuestion>\n          </div>\n        </div>\n      </div>\n\n      <!-- <div>{{ question.answerOptions }}</div> -->\n\n      <div class=\"step-btn-container\">\n        <button\n          @click=\"create\"\n          role=\"button\"\n          class=\"step-btn\"\n          :disabled=\"disableSubmitBtn || loading\"\n        >\n          <b-spinner v-if=\"loading\" small></b-spinner>\n          {{ btnText }}\n          <img src=\"@/assets/images/arrow-right.svg\" />\n        </button>\n      </div>\n    </div>\n  </b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n// import { VueEditor } from \"vue2-editor\";\nimport { getFileType } from \"../../../helpers/Converters\";\nimport RadioButtonQuestion from \"./QuizCreationQuestionTypes/RadioButtonQuestion.vue\";\nimport CheckboxButtonQuestion from \"./QuizCreationQuestionTypes/CheckboxButtonQuestion.vue\";\nimport TextboxButtonQuestion from \"./QuizCreationQuestionTypes/TextboxButtonQuestion.vue\";\nimport QuillRichTextEditor from \"../../Editors/QuillRichTextEditor.vue\";\n\nexport default {\n  name: \"QuizQuestionsModal\",\n  props: {\n    visible: Boolean,\n    item: Object,\n    mode: String,\n    questionData: Object,\n  },\n  data() {\n    return {\n      question: {},\n      loading: false,\n      isExpanded: false\n    };\n  },\n  methods: {\n    ...mapActions(\"content\", [\"getContentById\", \"uploadContentFile\"]),\n    ...mapActions(\"quiz\", [\"createQuestion\", \"updateQuestion\"]),\n    async create() {\n      if (\n        this.question.type &&\n        (!this.question.answerOptions ||\n          this.question.answerOptions.length <= 0 ||\n          !this.question.answerOptions.some(\n            (answer) => answer.isCorrect == true\n          ))\n      ) {\n        this.$toasted.error(\"There must be atleast 1 correct answer\", {\n          icon: \"exclamation-triangle\",\n          theme: \"outline\",\n          position: \"bottom-center\",\n          singleton: true,\n        });\n        return;\n      }\n\n      this.question.marks = parseInt(this.question.marks);\n\n      this.loading = true;\n      this.question.marks = parseInt(this.question.marks);\n\n      if (this.isEditMode) {\n        this.question.id = this.questionData.id;\n        await this.updateQuestion(this.question).then((res) => {\n          if (res && res.status.toLowerCase() == \"success\") {\n            this.$emit(\"getData\");\n            this.closeModal();\n          } else if (res && res.status.toLowerCase() == \"error\") {\n            this.$toasted.error(res.error?.message, {\n              icon: \"exclamation-triangle\",\n              theme: \"outline\",\n              position: \"bottom-center\",\n              singleton: true,\n            });\n          }\n        });\n      } else if (!this.isEditMode) {\n        await this.createQuestion(this.question)\n          .then((res) => {\n            if (res && res.status.toLowerCase() == \"success\") {\n              this.$toasted.success(\"Question Created Successfully!\", {\n                icon: \"check\",\n                theme: \"outline\",\n                position: \"bottom-right\",\n                duration: 3000,\n                // singleton: true,\n              });\n              this.closeModal();\n            } else if (res && res.status.toLowerCase() == \"error\") {\n              this.$toasted.error(res.error?.message, {\n                icon: \"exclamation-triangle\",\n                theme: \"outline\",\n                position: \"bottom-center\",\n                singleton: true,\n              });\n            }\n          })\n          .catch((err) => {\n            if (err) {\n              this.$toasted.error(err?.message, {\n                icon: \"exclamation-triangle\",\n                theme: \"outline\",\n                position: \"bottom-center\",\n                singleton: true,\n              });\n            }\n          });\n      }\n\n      this.loading = false;\n    },\n\n    resizeTextarea(event) {\n      const textarea = event.target;\n      textarea.style.height = \"auto\";\n      textarea.style.height = `${textarea.scrollHeight}px`;\n    },\n\n    closeModal() {\n      this.$emit(\"updateModalState\", false);\n    },\n\n    addOption() {\n      if (this.question.type == \"textbox\") {\n        this.question.answerOptions.push({ isCorrect: true, option: \"\" });\n        return;\n      }\n      this.question.answerOptions.push({ isCorrect: false, option: \"\" });\n    },\n\n    removeOption(index) {\n      if (index > -1) {\n        this.question.answerOptions.splice(index, 1);\n      }\n    },\n\n    setAnswer(options) {\n      this.question.answerOptions.map((x) => {\n        x.isCorrect = false;\n      });\n\n      for (let i = 0; i < options.length; i++) {\n        const index = options[i].index;\n        this.question.answerOptions[index].isCorrect = true;\n        this.question.answerOptions[index].identifier = options[i].identifier\n          ? options[i].identifier\n          : null;\n      }\n    },\n\n    updateAnswerOptions(options) {\n      this.question.answerOptions = options;\n    },\n  },\n  components: {\n    RadioButtonQuestion,\n    CheckboxButtonQuestion,\n    TextboxButtonQuestion,\n    QuillRichTextEditor,\n  },\n  created() {\n    if (this.item && this.item.id) {\n      this.question.contentID = this.item.id;\n    }\n  },\n  computed: {\n    btnText: function () {\n      return this.mode?.toLowerCase() == \"edit\" ? \"Edit\" : \"Add\";\n    },\n\n    isEditMode: function () {\n      return this.mode?.toLowerCase() == \"edit\" ? true : false;\n    },\n\n    disableSubmitBtn: function () {\n      if (\n        !this.question ||\n        !this.question.title ||\n        !this.question.questionText ||\n        !this.question.contentID ||\n        !this.question.type ||\n        !this.question.marks ||\n        this.question.marks < 1 ||\n        (this.question.type != \"checkbox\" &&\n          this.question.type != \"radio\" &&\n          this.question.type != \"select\" &&\n          this.question.type != \"textbox\")\n      ) {\n        return true;\n      }\n\n      return false;\n    },\n\n    // questionText: function () {\n    //   return this.quillEditor?.getText();\n    // },\n  },\n  watch: {\n    visible: function () {\n      if (this.visible && !this.isEditMode) {\n        this.question = {\n          title: null,\n          questionText: null,\n          contentID: null,\n          answerOptions: [],\n          extraProperties: null,\n          type: null,\n          marks: 1,\n          randomizeAnswerOptions: true,\n        };\n        this.question.contentID = this.item?.id;\n        // setTimeout(this.initQuillEditorForQuestionText, 500);\n        // setTimeout(this.initQuillEditorForQuestionTitle, 500);\n      } else if (this.visible && this.isEditMode) {\n        this.question = {};\n        this.question.title = this.questionData.title;\n        this.question.questionText = this.questionData.questionText;\n        this.question.contentID = this.questionData.contentID;\n        this.question.extraProperties = this.questionData.extraProperties;\n        this.question.answerOptions = this.questionData.options;\n        this.question.type = this.questionData.type;\n        this.question.marks = this.questionData.marks;\n        this.question.randomizeAnswerOptions =\n          this.questionData.randomizeAnswerOptions;\n\n        this.question.answerOptions.forEach((x, index) => {\n          x.index = index;\n        });\n      }\n    },\n\n    \"question.type\": function () {\n      this.question.answerOptions = this.question.answerOptions\n        ? this.question.answerOptions\n        : [];\n\n      if (\n        this.question.type &&\n        (!this.question.answerOptions ||\n          this.question.answerOptions.length <= 0)\n      ) {\n        if (\n          this.question.type == \"radio\" ||\n          this.question.type == \"select\" ||\n          this.question.type == \"checkbox\"\n        ) {\n          this.question.answerOptions = [\n            { isCorrect: false, option: \"\" },\n            { isCorrect: false, option: \"\" },\n          ];\n        } else if (this.question.type == \"textbox\") {\n          this.question.answerOptions = [{ isCorrect: true, option: \"\" }];\n        }\n      }\n    },\n  },\n};\n</script>\n\n<style>\n.exam-questions-modal {\n  min-height: 45.375rem;\n  /* width: 90vw; */\n  position: relative;\n}\n\n/* .custom-modal .modal-dialog {\n\tmax-width: 70vw;\n} */\n.load-head {\n  position: absolute;\n}\n\n.exam-questions-modal .modal-body {\n  padding: 0 !important;\n  font-size: 1rem;\n  min-height: 43rem;\n}\n\n.exam-questions-modal .modal-body .modal-iframe {\n  width: 100%;\n  position: absolute;\n  height: 100%;\n}\n\n.exam-questions-modal .body-container {\n  display: flex;\n  flex-direction: column;\n  padding: 2.5rem 2.5rem 1.5rem;\n  position: absolute;\n  z-index: 999999;\n  right: 0;\n}\n\n.exam-questions-modal .body-container .header {\n  display: flex;\n  justify-content: space-between;\n  margin-right: 30px;\n}\n\n.create-meeting-modal .exam-questions-title {\n  font-weight: 450;\n  font-size: 2rem;\n  line-height: 0.75;\n  margin: 0.5rem 0 2rem;\n  color: #000000;\n}\n\n#edit-content-modal .expanded\n{\n\tmax-width: 96%;\n\tmax-height: 96%;\n\n}\n\n#edit-content-modal .expanded .edit-content-modal\n{\n\theight: 90vh;\n}\n\n</style>\n\n<style scoped>\n.info-container {\n  max-height: 470px;\n  overflow: scroll;\n}\n\n\t.right-close-panel\n\t{\n\t\tposition: absolute;\n    \ttop: 2.5rem;\n    \tright: 2rem;\n\t\tdisplay: flex;\n\t}\n\n\t.right-close-panel .close-button\n\t{\n\t\tposition: initial;\n\t}\n\t\n\t.expanded-btn{\n\t\tcolor: black;\n\t    font-size: 24px;\n\t    margin-right: 15px;\n\t\tpadding-top: 4px;\n\t}\n</style>\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuizQuestionsModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuizQuestionsModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QuizQuestionsModal.vue?vue&type=template&id=76aa6bb5&scoped=true&\"\nimport script from \"./QuizQuestionsModal.vue?vue&type=script&lang=js&\"\nexport * from \"./QuizQuestionsModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./QuizQuestionsModal.vue?vue&type=style&index=0&id=76aa6bb5&prod&lang=css&\"\nimport style1 from \"./QuizQuestionsModal.vue?vue&type=style&index=1&id=76aa6bb5&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"76aa6bb5\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"trianer-edit-container\"},[_c('h5',{staticClass:\"main-label mt-2\",attrs:{\"for\":\"trainers\"}},[_vm._v(\"Update Trainers:\")]),_c('div',{staticClass:\"trainer-list-container\"},[(\n\t\t\t\t!_vm.loading && _vm.allTrainers && _vm.allTrainers.length > 0 && _vm.assignedTrainers\n\t\t\t)?_c('ul',{staticClass:\"all-trainers-list\"},_vm._l((_vm.allTrainers),function(item){return _c('TrainerPermissionsListItem',{key:item.id,attrs:{\"trainerData\":item,\"trainersList\":_vm.assignedTrainers,\"productVariantId\":_vm.productVariantID},on:{\"editPermissions\":_vm.updatePermissions,\"checkboxToggle\":_vm.checkboxToggle}})}),1):(!_vm.loading && _vm.allTrainers && _vm.allTrainers.length == 0)?_c('div',{staticClass:\"text-black\"},[_vm._v(\" No Trainers found. \")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"trianer-edit-container\">\n\t\t<h5 for=\"trainers\" class=\"main-label mt-2\">Update Trainers:</h5>\n\t\t<div class=\"trainer-list-container\">\n\t\t\t<ul\n\t\t\t\tclass=\"all-trainers-list\"\n\t\t\t\tv-if=\"\n\t\t\t\t\t!loading && allTrainers && allTrainers.length > 0 && assignedTrainers\n\t\t\t\t\"\n\t\t\t>\n\t\t\t\t<TrainerPermissionsListItem\n\t\t\t\t\tv-for=\"item in allTrainers\"\n\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t:trainerData=\"item\"\n\t\t\t\t\t@editPermissions=\"updatePermissions\"\n\t\t\t\t\t:trainersList=\"assignedTrainers\"\n\t\t\t\t\t@checkboxToggle=\"checkboxToggle\"\n\t\t\t\t\t:productVariantId=\"productVariantID\"\n\t\t\t\t/>\n\t\t\t</ul>\n\t\t\t<div\n\t\t\t\tclass=\"text-black\"\n\t\t\t\tv-else-if=\"!loading && allTrainers && allTrainers.length == 0\"\n\t\t\t>\n\t\t\t\tNo Trainers found.\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport TrainerPermissionsListItem from \"../Trainer/TrainerPermissionsListItem.vue\";\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"UpdateContentTrainers\",\n\tdata() {\n\t\treturn {\n\t\t\tupdateTrainersList: null,\n\t\t\tallTrainers: null,\n\t\t\ttrainersToUnassign: null,\n\t\t\tloading: false,\n\t\t};\n\t},\n\tprops: { assignedTrainers: Array, productVariantID: String },\n\tcomponents: { TrainerPermissionsListItem },\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchTrainersList\"]),\n\t\tupdatePermissions(value, id) {\n\t\t\tvar trainerObj = this.assignedTrainers.find(\n\t\t\t\t(trainer) => trainer.id == id\n\t\t\t);\n\t\t\tthis.$emit(\"updateTrainerPermissions\", value, id);\n\t\t\tif (this.updateTrainersList) {\n\t\t\t\tvar found = this.updateTrainersList.find((trainer) => trainer.id == id);\n\t\t\t\tvar updatedTrainer = { ...trainerObj, permissions: value };\n\t\t\t\tif (!found) {\n\t\t\t\t\tthis.updateTrainersList.push(updatedTrainer);\n\t\t\t\t} else {\n\t\t\t\t\tthis.updateTrainersList = this.updateTrainersList.map((trainer) => {\n\t\t\t\t\t\tif (trainer.id == id) {\n\t\t\t\t\t\t\treturn updatedTrainer;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn trainer;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvar updatedTrainer = { ...trainerObj, permissions: value };\n\t\t\t\tthis.updateTrainersList = [updatedTrainer];\n\t\t\t}\n\t\t\t// this.updateTrainersList = this.updateTrainersList.map((item) => {\n\t\t\t// \tif (item.trainerID == id) {\n\t\t\t// \t\titem.permissions = value;\n\t\t\t// \t\tconsole.log(item.permissions);\n\t\t\t// \t}\n\t\t\t// \treturn item;\n\t\t\t// });\n\t\t},\n\t\tcheckboxToggle(e, item) {\n\t\t\tif (e.target.checked) {\n\t\t\t\tvar found = this.assignedTrainers.find((t) => t.id == item.id);\n\t\t\t\tif (found) var permissionsAssigned = found.permissions;\n\n\t\t\t\tvar trainerObject = {\n\t\t\t\t\ttrainerID: item.id,\n\t\t\t\t\tfirstName: item.firstName,\n\t\t\t\t\tlastName: item.lastName,\n\t\t\t\t\tIsShowInTrainerList: true,\n\t\t\t\t\tjobTitle: \"Trainer\",\n\t\t\t\t\tpermissions: permissionsAssigned\n\t\t\t\t\t\t? permissionsAssigned\n\t\t\t\t\t\t: [\"RD\", \"WD\", \"ED\"],\n\t\t\t\t\tisActive: true,\n\t\t\t\t\temail: item.email,\n\t\t\t\t};\n\t\t\t\tconsole.log(e.target.checked, trainerObject);\n\n\t\t\t\tthis.addTrainer(trainerObject);\n\t\t\t} else if (!e.target.checked) {\n\t\t\t\tvar trainerObject = {\n\t\t\t\t\ttrainerID: item.id,\n\t\t\t\t};\n\t\t\t\tthis.removeTrainer(trainerObject);\n\t\t\t}\n\t\t},\n\t\taddTrainer(trainerObject) {\n\t\t\tif (this.trainersToUnassign) {\n\t\t\t\tvar toBeUnassigned = this.trainersToUnassign.find(\n\t\t\t\t\t(t) => t.trainerID == trainerObject.trainerID\n\t\t\t\t);\n\n\t\t\t\tif (toBeUnassigned) {\n\t\t\t\t\tthis.trainersToUnassign = this.trainersToUnassign.filter(\n\t\t\t\t\t\t(t) => t.trainerID != trainerObject.trainerID\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.updateTrainersList) this.updateTrainersList.push(trainerObject);\n\t\t\telse this.updateTrainersList = [trainerObject];\n\t\t\tthis.$emit(\"assignTrainer\", trainerObject);\n\t\t\t// }\n\t\t},\n\t\tremoveTrainer(trainerObject) {\n\t\t\tif (this.updateTrainersList)\n\t\t\t\tthis.updateTrainersList = this.updateTrainersList.filter(\n\t\t\t\t\t(t) => t.id != trainerObject.id\n\t\t\t\t);\n\t\t\tif (this.trainersToUnassign) {\n\t\t\t\tvar found = this.trainersToUnassign.find(\n\t\t\t\t\t(t) => t.trainerID == trainerObject.trainerID\n\t\t\t\t);\n\t\t\t\tif (!found) {\n\t\t\t\t\tthis.trainersToUnassign.push(trainerObject);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.trainersToUnassign = [trainerObject];\n\t\t\t}\n\t\t\tthis.$emit(\"unassignTrainer\", trainerObject);\n\t\t\t// }\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"trainers\"]),\n\t},\n\tcreated() {\n\t\tif (!this.trainers) {\n\t\t\tthis.loading = true;\n\t\t\tthis.fetchTrainersList().then(() => {\n\t\t\t\tthis.allTrainers = this.trainers;\n\t\t\t\tthis.loading = false;\n\t\t\t});\n\t\t} else {\n\t\t\tthis.allTrainers = this.trainers;\n\t\t\tthis.loading = false;\n\t\t}\n\t},\n\twatch: {\n\t\ttrainersToUnassign: function () {\n\t\t\tthis.$emit(\"updateTrainersToUnassign\", this.trainersToUnassign);\n\t\t},\n\t\tupdateTrainersList: function () {\n\t\t\tthis.$emit(\"updateTrainersToAssign\", this.updateTrainersList);\n\t\t},\n\t\ttrainers: function () {\n\t\t\tthis.allTrainers = this.trainers;\n\t\t\tthis.loading = false;\n\t\t},\n\t},\n};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UpdateContentTrainers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UpdateContentTrainers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UpdateContentTrainers.vue?vue&type=template&id=1e031646&scoped=true&\"\nimport script from \"./UpdateContentTrainers.vue?vue&type=script&lang=js&\"\nexport * from \"./UpdateContentTrainers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1e031646\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.isMaximized && _vm.filesInQueueToUpload && _vm.filesInQueueToUpload.length>0)?_c('div',{staticClass:\"upload-lecture-side-background\"},[_c('b-card',{staticClass:\"upload-lecture-side-body\"},[_c('div',{staticClass:\"main-uploading-tab-head\"},[(_vm.currentlyUploadingItem)?_c('p',[_vm._v(\"Uploading \"+_vm._s(_vm.currentlyUploadingItem.PercentComplete)+\"%\")]):_c('p',[_vm._v(\"Uploading Completed\")]),_c('span'),_c('button',{on:{\"click\":function($event){return _vm.openModal()}}},[_c('i',{staticClass:\"fas  fa-window-restore\"})]),_c('button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:('uploadingList'),expression:\"'uploadingList'\"}]},[_c('i',{staticClass:\"fas fa-chevron-down\"})])]),_c('div',[_c('b-collapse',{attrs:{\"id\":\"uploadingList\"}},_vm._l((_vm.filesInQueueToUpload),function(video){return _c('div',{staticClass:\"uploadingList-item\"},[_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/recorded-lecture.png\")}}),_c('div',{staticStyle:{\"flex\":\"1\",\"align-self\":\"center\"}},[_c('h6',{staticStyle:{\"margin\":\"0px\"}},[_vm._v(_vm._s(video.title))])]),_c('div',{staticStyle:{\"align-self\":\"center\",\"margin-right\":\"10px\"}},[(video.status=='failed')?_c('i',{staticClass:\"fa fa-exclamation-triangle failed-icon\"}):_vm._e(),(video.status=='uploading' || video.status=='processing'  || video.status=='processed')?_c('b-spinner',{staticClass:\"spinner\",attrs:{\"small\":\"\"}}):_vm._e(),(video.status=='uploaded')?_c('i',{staticClass:\"fa fa-check uploaded-icon\"}):_vm._e(),(video.status=='cancelled')?_c('i',{staticClass:\"fa fa-times failed-icon\"}):_vm._e()],1)])}),0)],1)])],1):_vm._e(),(_vm.isMaximized)?_c('b-modal',{attrs:{\"id\":\"upload-lecture-background\",\"visible\":true,\"size\":\"xl\",\"hide-header\":\"\",\"hide-footer\":\"\",\"centered\":\"\",\"content-class\":\"upload-lecture-background\",\"body-class\":\"modal-body\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"minimize-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.closeModal()}}},[_c('i',{class:[\n            'fas',\n            'fa-window-minimize'\n          ]})]),(_vm.currentlyUploadingItem==null)?_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.closeCompleteModal()}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]):_vm._e(),_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\" Files Uploading\"),_c('br'),_c('small',{staticStyle:{\"margin-top\":\"3px\"}},[_vm._v(\"Uploaded \"+_vm._s(_vm.currentlyUploaded.length)+\" / \"+_vm._s(_vm.filesInQueueToUpload.length))]),_vm._v(\" \"),(_vm.currentlyFailed.length>0)?_c('span',[_vm._v(\", \"),_c('small',[_vm._v(_vm._s(_vm.currentlyFailed.length)+\" Failed\")])]):_vm._e(),_vm._v(\" \"),(_vm.currentlyCancelled.length>0)?_c('span',[_vm._v(\", \"),_c('small',[_vm._v(_vm._s(_vm.currentlyCancelled.length)+\" Cancelled\")])]):_vm._e()]),_c('div',{staticClass:\"body-content-container\"},[_c('div',{staticClass:\"video-list\"},_vm._l((_vm.filesInQueueToUpload),function(video){return _c('div',{staticClass:\"video-item\"},[_c('div',{staticClass:\"video-thumbnail\"},[(video.contentType=='RecordedVideos')?_c('img',{staticClass:\"icon\",attrs:{\"src\":require(\"@/assets/images/recorded-lecture.png\")}}):_vm._e(),(video.contentType=='StudyMaterial')?_c('img',{staticClass:\"icon\",attrs:{\"src\":require(\"@/assets/images/study-material.png\")}}):_vm._e()]),_c('div',{staticClass:\"video-discription\"},[_c('h6',[_vm._v(_vm._s(video.title)+\" \")]),_c('small',[_vm._v(_vm._s(_vm.convertToMBorGB(video.size)))]),_c('br'),(video.status == 'uploading')?_c('div',{staticClass:\"progressbar\"},[_c('div',{staticClass:\"innerbar\",style:((\"height:100%;width:\" + (video.PercentComplete) + \"%\"))})]):_vm._e(),(video.status == 'queued')?_c('small',{staticClass:\"status-tag warning\"},[_c('i',{staticClass:\"fa fa-clock\"}),_vm._v(\" Queued\")]):_vm._e(),(video.status == 'failed')?_c('small',{staticClass:\"status-tag danger\"},[_c('i',{staticClass:\"fa fa-exclamation-triangle\"}),_vm._v(\" FAILED\")]):_vm._e(),(video.status == 'processing' || video.status == 'processed')?_c('small',{staticClass:\"queue-status\"},[_c('b-spinner',{staticClass:\"spinner\",attrs:{\"small\":\"\"}}),_vm._v(\" UPLOADING\")],1):_vm._e(),(video.status == 'uploaded')?_c('small',{staticClass:\"status-tag success\"},[_c('i',{staticClass:\"fa fa-check-circle\"}),_vm._v(\" UPLOADED\")]):_vm._e(),(video.status == 'cancelled')?_c('small',{staticClass:\"status-tag danger\"},[_c('i',{staticClass:\"fa fa-times\"}),_vm._v(\" CANCELLED\")]):_vm._e(),_c('br')]),_c('div',{staticClass:\"video-upload-status\"},[_c('div',{staticClass:\"button-div\",staticStyle:{\"display\":\"flex\",\"margin-top\":\"30px\"}},[(video.status!='failed' && video.status!='cancelled')?_c('button',{staticClass:\"edit-button\",on:{\"click\":function ($event){ return _vm.editContent(video); }}},[_c('i',{staticClass:\"fa fa-pencil\"})]):_vm._e(),(video.status!='failed' && video.status!='cancelled' && video.status!='uploaded' && video.onCancelCallback)?_c('button',{staticClass:\"cancel-button\",on:{\"click\":function($event){return video.onCancelCallback(video)}}},[_c('i',{staticClass:\"fa fa-times\"})]):_vm._e()])])])}),0)])])]):_vm._e(),_c('UploadStudyMaterialModal',{attrs:{\"showModal\":_vm.showEditModal && _vm.selectedContent && _vm.selectedContent.content.type == 'StudyMaterial' && _vm.showEditModal,\"parentContentId\":_vm.selectedContent?_vm.selectedContent.content.parentDirectoryID:'0',\"contentData\":_vm.selectedContent!=null?_vm.selectedContent.content:null,\"isEditMode\":true},on:{\"updateModalState\":_vm.toggleEditModal}}),_c('UploadRecordedLectureModal',{attrs:{\"showModal\":_vm.showEditModal && _vm.selectedContent && _vm.selectedContent.content.type == 'RecordedVideos' && _vm.showEditModal,\"parentContentId\":_vm.selectedContent?_vm.selectedContent.content.parentDirectoryID:'0',\"contentData\":_vm.selectedContent!=null?_vm.selectedContent.content:null,\"service\":_vm.selectedContent!=null?_vm.selectedContent.content.externalService:null,\"contentType\":_vm.selectedContent!=null?_vm.selectedContent.contentType:null,\"isEditMode\":true},on:{\"updateModalState\":_vm.toggleEditModal}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <div v-if=\"!isMaximized && filesInQueueToUpload && filesInQueueToUpload.length>0\" class=\"upload-lecture-side-background\">\n      <b-card class=\"upload-lecture-side-body\">\n        <div class=\"main-uploading-tab-head\">\n          <p v-if=\"currentlyUploadingItem\" >Uploading {{currentlyUploadingItem.PercentComplete}}%</p>          \n          <p v-else>Uploading Completed</p>\n          <span></span>\n          <button @click=\"openModal()\"><i class=\"fas  fa-window-restore\"></i></button>\n          <button v-b-toggle=\"'uploadingList'\"><i class=\"fas fa-chevron-down\"></i></button>\n          \n        </div>\n        <div>\n          <b-collapse id=\"uploadingList\">\n           \n                <div class=\"uploadingList-item\" v-for=\"video in filesInQueueToUpload\">\n                      <img\n\t\t\t\t\t\n        \t\t\t\t\t\tclass=\"page-view-icon\"\n        \t\t\t\t\t\tsrc=\"@/assets/images/recorded-lecture.png\"\n        \t\t\t\t\t/>\n                  <div style=\"flex: 1; align-self:center\">\n                    <h6 style=\"margin: 0px;\">{{ video.title }}</h6>\n                  </div>\n                  <div style=\"align-self: center; margin-right:10px \" >\n                        <i v-if=\"video.status=='failed'\" class=\"fa fa-exclamation-triangle failed-icon\"></i>\n                        <b-spinner v-if=\"video.status=='uploading' || video.status=='processing'  || video.status=='processed'\" small class=\"spinner\"></b-spinner>\n                        <i v-if=\"video.status=='uploaded'\" class=\"fa fa-check uploaded-icon\" ></i>\n                        <i v-if=\"video.status=='cancelled'\" class=\"fa fa-times failed-icon\"></i>\n                      </div>\n                </div>\n           \n          </b-collapse>\n        </div>\n      </b-card>\n    </div>\n    <b-modal v-if=\"isMaximized\" :id=\"`upload-lecture-background`\" :visible=\"true\" size=\"xl\" hide-header hide-footer\n      centered :content-class=\"`upload-lecture-background`\" body-class=\"modal-body\" modal-class=\"custom-modal\"\n      no-close-on-backdrop>\n      <div class=\"body-container\">\n        <button @click=\"closeModal()\" class=\"minimize-button\" role=\"button\">\n          <i\n            :class=\"[\n              'fas',\n              'fa-window-minimize'\n            ]\"\n        ></i>\n        </button>\n        <button v-if=\"currentlyUploadingItem==null\"  @click=\"closeCompleteModal()\" class=\"close-button\" role=\"button\">\n          <img src=\"@/assets/images/cancel-icon.svg\" />\n        </button>  \n        <h1 class=\"add-content-title\">\n          Files Uploading<br>\n          <small style=\"margin-top: 3px;\">Uploaded {{currentlyUploaded.length}} / {{filesInQueueToUpload.length}}</small> <span  v-if=\"currentlyFailed.length>0\">, <small>{{currentlyFailed.length}} Failed</small></span>   <span v-if=\"currentlyCancelled.length>0\">, <small>{{currentlyCancelled.length}} Cancelled</small></span> \n        </h1>\n        <div class=\"body-content-container\">\n\n          <div class=\"video-list\">\n            <div class=\"video-item\" v-for=\"video in filesInQueueToUpload\">\n                <div class=\"video-thumbnail\">\n                      <img v-if=\"video.contentType=='RecordedVideos'\" class=\"icon\"\tsrc=\"@/assets/images/recorded-lecture.png\"\t/>\n                      <img v-if=\"video.contentType=='StudyMaterial'\" class=\"icon\"\tsrc=\"@/assets/images/study-material.png\"\t/>\n                    </div>\n                  <div class=\"video-discription\">                  \n                   <h6>{{ video.title }} </h6>\n                   <small>{{ convertToMBorGB(video.size) }}</small>\n                   <br/>\n                   <div class=\"progressbar\" v-if=\"video.status == 'uploading'\">\n                    <div class=\"innerbar\"  :style=\"`height:100%;width:${video.PercentComplete}%`\"></div>\n                   </div>\n                   <small class=\"status-tag warning\" v-if=\"video.status == 'queued'\"><i class=\"fa fa-clock\"></i> Queued</small> \n                   <small class=\"status-tag danger\" v-if=\"video.status == 'failed'\"><i class=\"fa fa-exclamation-triangle\"></i> FAILED</small> \n                   <small class=\"queue-status\" v-if=\"video.status == 'processing' || video.status == 'processed'\"><b-spinner small class=\"spinner\"></b-spinner> UPLOADING</small> \n                   <small class=\"status-tag success\" v-if=\"video.status == 'uploaded'\"><i class=\"fa fa-check-circle\"></i> UPLOADED</small> \n                   <small class=\"status-tag danger\" v-if=\"video.status == 'cancelled'\"><i class=\"fa fa-times\"></i> CANCELLED</small> \n                    \n                  <br>\n                  </div>\n                  <div class=\"video-upload-status\">\n                    \n                    <div class=\"button-div\" style=\"display: flex; margin-top: 30px;\">\n                      <button v-if=\"video.status!='failed' && video.status!='cancelled'\" @click=\"$event=>editContent(video)\" class=\"edit-button\"><i class=\"fa fa-pencil\"></i></button>\n                      <button v-if=\"video.status!='failed' && video.status!='cancelled' && video.status!='uploaded' && video.onCancelCallback\" @click=\"video.onCancelCallback(video)\" class=\"cancel-button\"><i class=\"fa fa-times\"></i></button>                    \n                    </div>\n                  </div>\n              </div>\n          </div>\n        </div>\n\n      </div>\n\n    </b-modal>\n    <UploadStudyMaterialModal\n    :showModal=\"showEditModal && selectedContent && selectedContent.content.type == 'StudyMaterial' && showEditModal\"\n    :parentContentId=\"selectedContent?selectedContent.content.parentDirectoryID:'0'\"\n    @updateModalState=\"toggleEditModal\"\n    :contentData=\"selectedContent!=null?selectedContent.content:null\"    \n    :isEditMode=\"true\"\n  />\n   <UploadRecordedLectureModal\n    :showModal=\"showEditModal && selectedContent && selectedContent.content.type == 'RecordedVideos' && showEditModal\"\n    :parentContentId=\"selectedContent?selectedContent.content.parentDirectoryID:'0'\"\n    @updateModalState=\"toggleEditModal\"\n    :contentData=\"selectedContent!=null?selectedContent.content:null\"    \n    :service=\"selectedContent!=null?selectedContent.content.externalService:null\"\n    :contentType=\"selectedContent!=null?selectedContent.contentType:null\"\n    :isEditMode=\"true\"\n  />\n  </div>\n  \n</template>\n\n<script>\n\nimport { f } from \"vue-slick-carousel\";\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n  name: \"UploadRecordedLectureInBackgroundModal\",\n  components: {\n    UploadRecordedLectureModal: () => import('./UploadRecordedLectureModal.vue'),\n    UploadStudyMaterialModal: () => import('./UploadStudyMaterialModal.vue')\n    // UploadRecordedLectureModal\n  },\n  props: {\n  },\n  data: function () {\n    return {\n      selectedContent:null,\n      showEditModal:false\n    };\n  },\n  methods: {\n    ...mapActions(\"bulkFileUploading\", [\"toggleBulkFileUploadingModel\",\"CloseComplete\",\"processQueuedFileAndFetchingUploadURL\"]),\n    ...mapActions(\"content\", [\n      \"getContentById\",\n    ]),    \n    openModal() {\n      this.toggleBulkFileUploadingModel(true);\n    },\n    closeModal() {\n      this.toggleBulkFileUploadingModel(false);\n    },\n    convertToMBorGB(bytes) {\n      var result=\"\";\n      if (bytes < 1024 * 1024) {\n        result = (bytes / 1024).toFixed(2) + ' KB';\n      } else if (bytes < 1024 * 1024 * 1024) {\n        result = (bytes / (1024 * 1024)).toFixed(2) + ' MB';\n      } else {\n        result = (bytes / (1024 * 1024 * 1024)).toFixed(2) + ' GB';\n      }\n      return result;\n    },\n    editContent(content){\n      if(content.status.toLowerCase()==\"queued\" && !content.content)\n      {\n        var self=this;\n        this.processQueuedFileAndFetchingUploadURL(content).then(function(object){\n          self.selectedContent=object;\n          self.selectedContent.content.parentDirectoryID=self.selectedContent.parentContentID;\n          self.showEditModal = true;\n        });\n      }else{        \n        this.selectedContent=content;        \n        this.selectedContent.content.parentDirectoryID=this.selectedContent.parentContentID;\n        this.showEditModal = true;\n      }\n\n    },\n    async toggleEditModal(){\n      var self=this;\n      if(this.selectedContent){\n        await this.getContentById({id:this.selectedContent.content.id}).then(function (content) {\n         debugger;\n          var tempData=self.selectedContent.content.data?JSON.parse(JSON.stringify(self.selectedContent.content.data)):null;\n          var temp=self.selectedContent.content.parentDirectoryID;  \n          self.selectedContent.content=content;\n          self.selectedContent.title=content.title;\n          self.selectedContent.content.parentDirectoryID=temp;\n            \n            self.selectedContent.content.data=tempData;\n      });      \n      }\n      // this.selectedContent=null;\n      this.showEditModal = false;      \n    },\n    closeCompleteModal(){\n      if(this.currentlyUploadingItem==null)\n      {   this.toggleBulkFileUploadingModel(false);\n          this.CloseComplete();\n      }\n    },\n    handleBeforeUnload(event) {\n      console.log(\"before\");\n      if (this.currentlyUploadingItem != null) {\n        event.preventDefault();\n        event.returnValue = \"\";\n      }\n    }\n  },\n  computed: {\n    ...mapState(\"bulkFileUploading\", [\"isMaximized\",\"filesInQueueToUpload\"]),\n    // ...mapState(\"content\", [\"copiedSection\"]),\n    currentlyUploadingItem(){\n      return this.filesInQueueToUpload.find(x=>x.status==\"uploading\" || x.status==\"processing\" || x.status==\"processed\");\n    },\n    currentlyUploaded(){\n      return this.filesInQueueToUpload.filter(x=>x.status==\"uploaded\");\n    },\n    currentlyFailed(){\n      return this.filesInQueueToUpload.filter(x=>x.status==\"failed\");\n    },\n    currentlyCancelled(){\n      return this.filesInQueueToUpload.filter(x=>x.status==\"cancelled\");\n    }\n  },\n  watch: {\n    visible: function () {\n\n    },\n  },\n  mounted() {\n    // window.addEventListener(\"beforeunload\", this.handleBeforeUnload);\n  },\n  beforeUnmount() {\n    // window.removeEventListener(\"beforeunload\", this.handleBeforeUnload);\n  }\n};\n</script>\n\n<style>\n.upload-lecture-side-background {\n  width: 360px;\n  position: absolute;\n  z-index: 500;\n  bottom: 0px;\n  right: 35px;\n  border-radius: 10px 10px 0px 0px;\n}\n\n.upload-lecture-side-background .upload-lecture-side-body {\n  border-radius: 10px 10px 0px 0px;\n}\n\n.upload-lecture-side-background .upload-lecture-side-body .card-body {\n  padding: 0%;\n  background: white;\n  border-radius: 10px 10px 0px 0px;\n}\n\n.main-uploading-tab-head {\n  padding: 10px 18px;\n  background: #313131;\n  color: white;\n  align-items: center;\n  border-radius: 10px 10px 0px 0px;\n  display: flex;\n}\n\n.main-uploading-tab-head span {\n  flex: 1;\n}\n\n.main-uploading-tab-head p {\n  margin: 0px;\n  font-size: 1.1rem;\n}\n\n.main-uploading-tab-head button {\n  background-color: transparent;\n  color: white;\n  border: none;\n  padding: 5px;\n  border-radius: 50%;\n  width: 35px;\n  height: 35px;\n  box-shadow: 0 2px 4px darkslategray;\n  cursor: pointer;\n  transition: all 0.2s ease;\n  margin-left: 5px;\n}\n\n.main-uploading-tab-head button i {\n  font-size: 20px;\n  font-weight: 0;\n}\n\n.main-uploading-tab-head button:hover {\n  background-color: darkgray;\n}\n.video-list{\n  margin-top: 10px;\n  width: 100%;\n  height: 100%;\n  padding: 25px;;\n}\n.video-thumbnail\n{\n    margin-right: 15px;\n    height: 94px;\n    width: 168px;\n    background-color: #e3e3e3;\n    border-radius: 8px;\n    text-align-last: center;\n}\n.video-thumbnail img\n{\n   \n    height: 60px;\n    width: 60px;\n    margin-top:15px ;\n}\n.video-item{\n  display: flex;\n  margin-bottom: 15px;\n}\n.video-discription{\n  flex: 1;\n  padding-top: 5px;\n}\n.video-discription h6{\n color: black; \n margin: 0px;\n}\n.minimize-button {\n  position: absolute;\n  color: #000000;\n  right: 2rem;\n  font-size: 1.5rem;\n  line-height: 1;\n  margin-top: -0.25rem;\n}\n.video-upload-status\n{\n  text-align-last: right;\n}\n.video-upload-status small {\n  font-size: medium;\n}\n.video-upload-status .button-div {\n  margin-top: 10px;\n}\n.video-upload-status .cancel-button {\n  background: white;\n  flex: 1;\n  box-sizing: border-box;\n  border-radius: 8px;\n  display: flex !important;\n  align-items: center;\n  justify-content: center;\n  padding: 0.625rem 0.625rem;\n  text-transform: uppercase;\n  font-weight: 500;\n  font-size: 0.875rem;\n  line-height: 1.125rem;\n  letter-spacing: 0.05em;\n  text-decoration: none;\n  border: 1px solid var(--primary-color);\n  transition: all 0.3s ease;\n    margin-left: 10px;\n    flex: 1;\n  }\n.video-upload-status .edit-button {\n    background: white;\n    flex: 1;\n    box-sizing: border-box;\n    border-radius: 8px;\n    display: flex !important;\n    align-items: center;\n    justify-content: center;\n    padding: 0.625rem 0.625rem;\n    text-transform: uppercase;\n    font-weight: 500;\n    font-size: 0.875rem;\n    line-height: 1.125rem;\n    letter-spacing: 0.05em;\n    color:var(--primary-color);\n    text-decoration: none;\n    border: 1px solid var(--primary-color);\n    transition: all 0.3s ease;\n\n}\n.progressbar {\n  height: 20px;\n  width: 98%;  \n  background-color: #f1f1f1!important;\n  margin-right: 10px;\n}\n.progressbar .innerbar\n{\n  background-color: #1c2e4e !important;\n} \n.video-upload-status .queue-status .spinner\n{\n  color: #1c2e4e !important;\n} \n.video-upload-status .queue-status{\n  font-size: 18px;\n}\n.video-upload-status .queue-status.uploaded{\n  color: #4BB543;\n}\n\n.video-upload-status .queue-status.failed{\n  color: #f44336;\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  box-shadow: 2px 3px 5px rgb(197 197 197 / 25%);\n  border-radius: 4px;\n  padding: 0.25rem 0.5rem;\n  color: var(--primary-color);\n  display: flex;\n  -moz-column-gap: 0.5rem;\n  column-gap: 0.5rem;\n  align-items: center;\n}\n.uploadingList .uploadingList-item {\n  padding: 5px;\n}\n.page-view-icon{\n  width: 40px;\n  height: 40px;\n  margin-right: 10px;\n}\n.uploaded-icon\n{\n  color: #4BB543;\n  size: 16px;\n}\n\n.failed-icon\n{\n  color: #f44336;\n}\n.uploadingList-item\n{\n  padding: 10px; display:flex; border-bottom:1px solid #e3e3e3\n}\n\n.uploadingList-item:hover \n{\n  background-color: #e3e3e3;\n}\n.upload-lecture-background .modal-body\n{\n    max-height: 80vh;\n    overflow: auto;\n}\n#uploadingList\n{\n  max-height: 40vh;\n    overflow: auto;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UploadRecordedLectureInBackgroundModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UploadRecordedLectureInBackgroundModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UploadRecordedLectureInBackgroundModal.vue?vue&type=template&id=1008cf25&\"\nimport script from \"./UploadRecordedLectureInBackgroundModal.vue?vue&type=script&lang=js&\"\nexport * from \"./UploadRecordedLectureInBackgroundModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UploadRecordedLectureInBackgroundModal.vue?vue&type=style&index=0&id=1008cf25&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":(\"upload-video-modal-\" + _vm.parentContentId),\"visible\":_vm.visible,\"size\":\"xl\",\"hide-header\":\"\",\"hide-footer\":\"\",\"centered\":\"\",\"content-class\":(\"upload-video-modal \" + _vm.parentContentId),\"body-class\":\"modal-body\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\",\"data-id\":_vm.parentContentId},on:{\"change\":function($event){return _vm.closeModal()}}},[_c('div',{staticClass:\"body-container\"},[(_vm.loading && _vm.isMinimized)?_c('b-spinner',{staticClass:\"close-button\",attrs:{\"small\":\"\"}}):_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.closeModal()}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\" \"+_vm._s(_vm.isEditMode ? \"Edit\" : \"Upload\")+\" \"+_vm._s((_vm.contentType==\"RecordedVideos\")?\"Recorded Videos\":\"Study Material\")+\" \")]),_c('div',{staticClass:\"body-content-container\"},[_c('div',{class:[\n\t\t\t\t\t\t'info-container',\n\t\t\t\t\t\t{ expand: _vm.isFileAdded, link: _vm.isLinkUpload } ]},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"title\"}},[_vm._v(\"Video Title (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type your lecture name here...\",\"type\":\"search\",\"name\":\"title\",\"id\":\"title\",\"required\":\"\"},domProps:{\"value\":(_vm.title)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}})]),(_vm.isLinkUpload)?_c('div',{staticClass:\"form-group mt-5\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"fileUrl\"}},[_vm._v(\"Video Link (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.fileUrl),expression:\"fileUrl\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter Video Link to upload ...\",\"type\":\"search\",\"name\":\"fileUrl\",\"id\":\"fileUrl\",\"required\":\"\"},domProps:{\"value\":(_vm.fileUrl)},on:{\"change\":_vm.validateURL,\"input\":function($event){if($event.target.composing){ return; }_vm.fileUrl=$event.target.value}}})]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"flex-row mt-5\"},[_c('div',{staticClass:\"col-lg-6 ps-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"start-date\"}},[_vm._v(\"start date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.startDate),expression:\"startDate\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select start date\",\"type\":\"date\",\"name\":\"start-date\",\"id\":\"start-date\"},domProps:{\"value\":(_vm.startDate)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.startDate=$event.target.value}}})])]),_c('div',{staticClass:\"col-lg-6 pe-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"end-date\"}},[_vm._v(\"end date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.endDate),expression:\"endDate\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select end date\",\"type\":\"date\",\"name\":\"end-date\",\"id\":\"end-date\"},domProps:{\"value\":(_vm.endDate)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.endDate=$event.target.value}}})])])])]),_c('div',{staticClass:\"form-group mt-4\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isAvailableForDemo),expression:\"isAvailableForDemo\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isAvailableForDemo\"},domProps:{\"checked\":Array.isArray(_vm.isAvailableForDemo)?_vm._i(_vm.isAvailableForDemo,null)>-1:(_vm.isAvailableForDemo)},on:{\"change\":function($event){var $$a=_vm.isAvailableForDemo,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isAvailableForDemo=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isAvailableForDemo=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isAvailableForDemo=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isAvailableForDemo\"}},[_vm._v(\"Available for Demo\")])])])]),_c('div',{class:[\n\t\t\t\t\t\t'upload-container',\n\t\t\t\t\t\t{ shrink: _vm.isFileAdded, 'd-none': _vm.isLinkUpload } ]},[_c('keep-alive',[(!_vm.isEditMode && this.showModal)?_c('vue-dropzone',{ref:\"myVueDropzone\",attrs:{\"id\":\"dropzone\",\"options\":_vm.dropzoneOptions,\"useCustomSlot\":true},on:{\"vdropzone-file-added\":_vm.uploadVideo,\"vdropzone-removed-file\":_vm.removeVideo,\"vdropzone-sending\":_vm.sendingUploadRequest,\"vdropzone-total-upload-progress\":_vm.updateVideoProgress,\"vdropzone-success\":_vm.completeUpload}},[_c('div',{staticClass:\"dropzone-custom-content\"},[_c('h3',{staticClass:\"dropzone-custom-title\"},[_vm._v(\" Drag and drop to upload content! \")]),_c('div',{staticClass:\"subtitle\"},[_vm._v(\" ...or click to select a file from your computer \")]),_c('button',{staticClass:\"upload-btn mt-4\",attrs:{\"role\":\"button\"}},[_c('i',{staticClass:\"fas fa-file-import\"}),_vm._v(\" Select File \")]),_c('button',{staticClass:\"upload-btn ms-3 mt-4\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.uploadWithLink}},[_c('i',{staticClass:\"fas fa-link\"}),_vm._v(\" Upload Using Link \")])])]):_c('b-overlay',{staticClass:\"preview\",attrs:{\"show\":_vm.previewLoading}},[_c('img',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.bottom\",value:('Preview Video'),expression:\"'Preview Video'\",modifiers:{\"hover\":true,\"bottom\":true}}],attrs:{\"src\":require(\"@/assets/images/recorded-lecture.png\")},on:{\"click\":_vm.showVideo}})])],1)],1)]),(!_vm.allOk)?_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.dateErrorText))]):_vm._e(),_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errorText))]),(_vm.isFileAdded)?_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext() || _vm.loading},on:{\"click\":_vm.upload}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.isEditMode ? \"Update\" : \"Upload\")+\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1)]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  \n  <b-modal\n      @change=\"closeModal()\"\n      :id=\"`upload-video-modal-${parentContentId}`\"\n      :visible=\"visible\"\n      size=\"xl\"\n      hide-header\n      hide-footer\n      centered\n      :content-class=\"`upload-video-modal ${parentContentId}`\"\n      body-class=\"modal-body\"\n      modal-class=\"custom-modal\"\n      no-close-on-backdrop\n      :data-id=\"parentContentId\"\n  >\n    <div class=\"body-container\">\n      <b-spinner\n          small\n          class=\"close-button\"\n          v-if=\"loading && isMinimized\"\n      ></b-spinner>\n      <button v-else @click=\"closeModal()\" class=\"close-button\" role=\"button\">\n        <img src=\"@/assets/images/cancel-icon.svg\" />\n      </button>      \n      <h1 class=\"add-content-title\">\n        {{ isEditMode ? \"Edit\" : \"Upload\" }} {{ (contentType==\"RecordedVideos\")?\"Recorded Videos\":\"Study Material\"}} \n      </h1>\n      <div class=\"body-content-container\">\n        <div\n            :class=\"[\n\t\t\t\t\t\t'info-container',\n\t\t\t\t\t\t{ expand: isFileAdded, link: isLinkUpload },\n\t\t\t\t\t]\"\n        >\n          <div class=\"form-group\">\n            <label class=\"main-label\" for=\"title\">Video Title (required)</label>\n            <input\n                placeholder=\"Type your lecture name here...\"\n                class=\"form-input\"\n                type=\"search\"\n                name=\"title\"\n                id=\"title\"\n                v-model=\"title\"\n                required\n            />\n          </div>\n          <div v-if=\"isLinkUpload\" class=\"form-group mt-5\">\n            <label class=\"main-label\" for=\"fileUrl\"\n            >Video Link (required)</label\n            >\n            <input\n                placeholder=\"Enter Video Link to upload ...\"\n                class=\"form-input\"\n                type=\"search\"\n                name=\"fileUrl\"\n                id=\"fileUrl\"\n                v-model=\"fileUrl\"\n                required\n                @change=\"validateURL\"\n            />\n          </div>\n          <div class=\"form-group\">\n            <div class=\"flex-row mt-5\">\n              <div class=\"col-lg-6 ps-0\">\n                <div class=\"form-group\">\n                  <label for=\"start-date\" class=\"main-label m-0\"\n                  >start date (optional)</label\n                  >\n                  <input\n                      placeholder=\"Select start date\"\n                      class=\"form-input\"\n                      type=\"date\"\n                      name=\"start-date\"\n                      id=\"start-date\"\n                      v-model=\"startDate\"\n                  />\n                </div>\n              </div>\n              <div class=\"col-lg-6 pe-0\">\n                <div class=\"form-group\">\n                  <label for=\"end-date\" class=\"main-label m-0\"\n                  >end date (optional)</label\n                  >\n                  <input\n                      placeholder=\"Select end date\"\n                      class=\"form-input\"\n                      type=\"date\"\n                      name=\"end-date\"\n                      id=\"end-date\"\n                      v-model=\"endDate\"\n                  />\n                </div>\n              </div>\n            </div>\n          </div>\n          <div class=\"form-group mt-4\">\n            <div class=\"form-check form-switch\">\n              <input\n                  class=\"form-check-input\"\n                  type=\"checkbox\"\n                  role=\"switch\"\n                  id=\"isAvailableForDemo\"\n                  v-model=\"isAvailableForDemo\"\n              />\n              <label class=\"form-check-label\" for=\"isAvailableForDemo\"\n              >Available for Demo</label\n              >\n            </div>\n          </div>\n        </div>\n        <div\n            :class=\"[\n\t\t\t\t\t\t'upload-container',\n\t\t\t\t\t\t{ shrink: isFileAdded, 'd-none': isLinkUpload },\n\t\t\t\t\t]\"\n        >\n          <keep-alive>\n            <vue-dropzone\n                v-if=\"!isEditMode && this.showModal\"\n                ref=\"myVueDropzone\"\n                id=\"dropzone\"\n                :options=\"dropzoneOptions\"\n                :useCustomSlot=\"true\"\n                v-on:vdropzone-file-added=\"uploadVideo\"\n                v-on:vdropzone-removed-file=\"removeVideo\"\n                v-on:vdropzone-sending=\"sendingUploadRequest\"\n                v-on:vdropzone-total-upload-progress=\"updateVideoProgress\"\n                v-on:vdropzone-success=\"completeUpload\"\n            >\n              <div class=\"dropzone-custom-content\">\n                <h3 class=\"dropzone-custom-title\">\n                  Drag and drop to upload content!\n                </h3>\n                <div class=\"subtitle\">\n                  ...or click to select a file from your computer\n                </div>\n                <button role=\"button\" class=\"upload-btn mt-4\">\n                  <i class=\"fas fa-file-import\"></i>\n                  Select File\n                </button>\n                <button\n                    @click=\"uploadWithLink\"\n                    role=\"button\"\n                    class=\"upload-btn ms-3 mt-4\"\n                >\n                  <i class=\"fas fa-link\"></i>\n                  Upload Using Link\n                </button>\n              </div>\n            </vue-dropzone>\n            <b-overlay class=\"preview\" v-else :show=\"previewLoading\">\n              <img\n                  @click=\"showVideo\"\n                  v-b-tooltip.hover.bottom=\"'Preview Video'\"\n                  src=\"@/assets/images/recorded-lecture.png\"\n              />\n            </b-overlay>\n          </keep-alive>\n        </div>\n      </div>\n      <p v-if=\"!allOk\" class=\"text-danger\">{{ dateErrorText }}</p>\n      <p class=\"text-danger\">{{ errorText }}</p>\n      <div v-if=\"isFileAdded\" class=\"step-btn-container\">\n        <button\n            @click=\"upload\"\n            role=\"button\"\n            class=\"step-btn\"\n            :disabled=\"disableNext() || loading\"\n        >\n          <b-spinner small v-if=\"loading\"></b-spinner>\n          {{ isEditMode ? \"Update\" : \"Upload\" }}\n          <img src=\"@/assets/images/arrow-right.svg\" />\n        </button>\n      </div>\n    </div>\n  </b-modal>\n</template>\n\n<script>\nimport vue2Dropzone from \"vue2-dropzone\";\nimport { mapActions, mapMutations, mapState } from \"vuex\"; // import CryptoJS from \"crypto-js\";\nimport RecordedVideo from \"../../../models/content/recordedVideo\";\nimport { contentService } from \"../../../services/content.service\";\nimport { getInputDateFormat } from \"../../../helpers/FormatHelpers\";\n\nexport default {\n  name: \"UploadRecordedLectureModal\",\n  components: {\n    vueDropzone: vue2Dropzone\n  },\n  computed: {\n    ...mapState(\"content\", [\"loading\"]),\n    visible() {\n      return this.showModal;\n    },\n  },\n  props: {\n    showModal: Boolean,\n    parentContentId: String,\n    serviceData: Object,\n    service: Object,\n    contentType: String,\n    isEditMode: Boolean,\n    contentData: RecordedVideo,\n    productVariantId: String,\n  },\n  data: function () {\n    return {\n      dropzoneOptions: {\n        url: \" \",\n        thumbnailWidth: 300,\n        timeout: 100000000,\n        uploadMultiple: true,\n        autoProcessQueue: false,\n        acceptedFiles: (this.contentType==\"RecordedVideos\") ? \"video/*\": \".pdf\",\n      },\n      fileName: null,\n      isFileAdded: false,\n      type: \"RecordedVideo\",\n      entity: \"Content\",\n      title: null,\n      startDate: null,\n      endDate: null,\n      isAvailableForDemo: false,\n      filehash: \"368B3C12BF01D191B690764EF94D962A\",\n      videoIsValid: true,\n      isError: false,\n      errorText: \"\",\n      fileUrl: null,\n      isLinkUpload: false,\n      isMinimized: false,\n      id: null,\n      fileProgress: 0,\n      videoDetailsList: [],\n      allOk: true,\n      dateErrorText: \"\",\n      fileUploadSuccess: false,\n      previewLoading: false,\n      uploadURL: null,\n      notifyURL: null,\n    };\n  },\n  methods: {\n    ...mapActions(\"content\", [\n      \"createRecordedVideosContent\",\n      \"updateContent\",\n      \"getContentById\",\n    ]),    \n    ...mapActions(\"bulkFileUploading\", [\"toggleBulkFileUploadingModel\",\"addFileInUploadQueue\"]),\n    ...mapMutations(\"content\", [\"setUploading\"]),\n    uploadVideo(file) {\n\n      // const reader = new FileReader()\n      // reader.readAsText(file)\n      // reader.onload = async () => {\n      //   debugger;\n      //   const fileContent = reader.result\n      //   console.log(fileContent)\n      // };\n      this.closeModal();\n      this.toggleBulkFileUploadingModel(true);\n      this.addFileInUploadQueue({file:file, parentContentID:this.parentContentId, service:this.service});\n      \n    //   this.isFileAdded = true;\n    //   // console.log(\"file uploaded\", file);\n    //   $(\".dropzone .dz-preview:last-child\").attr(\"id\", \"preview-\" + this.id);\n\n    //   this.fileName = file.name;\n    //   var parsedFilename = this.fileName.split(\".\")[0];\n\n    //   this.title = parsedFilename;\n    //   // this.isAvailableForDemo = true;\n    //   document.getElementById(\"title\").focus();\n\n    //   var recordedVideoObject = {\n    //     title: this.title,\n    //     data: {\n    //       servicecode: \"VSS\",\n    //       filehash: this.filehash,\n    //       filename: this.fileName,\n    //     },\n    //     isAvailableForDemo: this.isAvailableForDemo,\n    //     parentDirectoryID: this.parentContentId,\n    //     type: \"RecordedVideos\",\n    //   };\n\n    //   var videoDetails = {\n    //     title: this.fileName,\n    //     startDate: this.startDate,\n    //     endDate: this.endDate,\n    //     isAvailableForDemo: this.isAvailableForDemo,\n    //   };\n\n    //   this.videoDetailsList.push(videoDetails);\n\n    //   if (this.videoIsValid)\n    //     this.createRecordedVideosContent(recordedVideoObject).then((video) => {\n    //       // console.log(\"recorded video uploaded\", video);\n    //       this.id = video.id;\n    //       if (video.data.uploadingUrl) {\n    //         const { uploadURL, notifyURL } = this.processUploadingURL(\n    //             video.data.uploadingUrl\n    //         );\n    //         this.uploadURL = uploadURL;\n    //         this.notifyURL = notifyURL;\n    //         this.$refs.myVueDropzone.setOption(\"url\", uploadURL);\n\n    //         // console.log(this.$refs);\n    //         this.$refs.myVueDropzone.dropzone.processQueue();\n    //         this.setUploading(true);\n    //       } else {\n    //         this.errorText = \"Something went wrong, Upload URL not found!\";\n    //       }\n    //     });\n    //   else {\n    //     this.errorText = \"Please upload a valid video file!\";\n    //   }\n    },\n    removeVideo(file, error, xhr) {\n      this.fileName = null;\n      this.isFileAdded = false;\n    },\n    disableNext() {\n      if (this.isEditMode) return false;\n      if (!this.isLinkUpload && !this.fileUploadSuccess) {\n        return true;\n      }\n      if (this.isLinkUpload) {\n        if (this.title && this.fileUrl && this.allOk) {\n          return false;\n        } else return true;\n      } else if (this.title) return false;\n      return true;\n    },\n    upload() {\n      if (this.startDate && this.endDate) {\n        this.allOk = new Date(this.startDate) <= new Date(this.endDate);\n        // console.log(this.allOk);\n        if (!this.allOk) {\n          this.dateErrorText = \"Start Date cannot be after End Date\";\n        } else {\n          this.allOk = true;\n          this.dateErrorText = \"\";\n        }\n      }\n\n      if (this.allOk) {\n        if (this.isLinkUpload) {\n          var recordedVideoObject = {\n            title: this.title,\n            data: {\n              servicecode: \"VSS\",\n              source: this.fileUrl,\n              filename: this.title,\n            },\n            isAvailableForDemo: this.isAvailableForDemo,\n            parentDirectoryID: this.parentContentId,\n            type: \"RecordedVideos\",\n          };\n          this.createRecordedVideosContent(recordedVideoObject).then(\n              (video) => {\n                // console.log(\"recorded video uploaded\");\n                this.$toasted.success(\"Recorded Video uploaded successfully\", {\n                  theme: \"outline\",\n                  position: \"bottom-center\",\n                  duration: 3000,\n                });\n                this.closeModal();\n              }\n          );\n          return;\n        } else {\n          var videoObj = {\n            id: this.id,\n            parentDirectoryID: this.parentContentId,\n            title: this.title,\n            availableFrom: this.startDate\n                ? new Date(this.startDate).toISOString()\n                : null,\n            availableTo: this.endDate\n                ? new Date(this.endDate).toISOString()\n                : null,\n            isAvailableForDemo: this.isAvailableForDemo,\n          };\n          this.updateContent(videoObj).then(() => this.closeModal());\n        }\n      }\n    },\n    validateURL(e) {\n      console.log(\"video check\", e);\n      if (e.target.value == \"\") {\n        this.isError = false;\n        this.videoIsValid = true;\n        this.errorText = \"\";\n        this.allOk = true;\n        return;\n      }\n      this.checkVideoLink(e.target.value).then((res) => {\n        if (!res) {\n          this.error();\n          this.errorText =\n              \"The entered video link is not a valid video URL. Please enter a valid video URL.\";\n          return;\n        }\n\n        this.isError = false;\n        this.videoIsValid = true;\n        this.errorText = \"\";\n        this.allOk = true;\n      });\n    },\n    checkVideoLink(link) {\n      return new Promise((resolve) => {\n        var v = document.createElement(\"VIDEO\");\n        try {\n          v.onloadedmetadata = () => {\n            resolve(v.videoWidth > 0 && v.videoHeight > 0);\n          };\n          v.onerror = () => {\n            resolve(false);\n          };\n        } catch (error) {\n          resolve(false);\n        }\n        var isURL = new RegExp(\n            \"^(https?:\\\\/\\\\/)?\" + // protocol\n            \"((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|\" + // domain name\n            \"((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))\" + // OR ip (v4) address\n            \"(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*\" + // port and path\n            \"(\\\\?[;&a-z\\\\d%_.~+=-]*)?\" + // query string\n            \"(\\\\#[-a-z\\\\d_]*)?$\",\n            \"i\"\n        ); // fragment locator\n        if (!!isURL.test(link)) {\n          v.src = link;\n        } else {\n          resolve(false);\n        }\n      });\n    },\n    error() {\n      this.videoIsValid = false;\n      this.isError = true;\n      this.allOk = false;\n    },\n    uploadWithLink(e) {\n      e.stopPropagation();\n      // console.log(\"upload with link\");\n      this.isFileAdded = true;\n      this.isLinkUpload = true;\n      this.fileType = \"link\";\n    },\n    closeModal() {\n      var confirmed = false;\n      if (\n          !this.fileUploadSuccess &&\n          this.isFileAdded &&\n          !this.isEditMode &&\n          !this.isLinkUpload\n      ) {\n        confirmed = window.confirm(\n            \"Are you sure? You will lose all upload progress if you close this window now\"\n        );\n      } else {\n        confirmed = true;\n      }\n      if (confirmed) {\n        $(`.upload-video-modal.${this.parentContentId}`).removeClass(\"min\");\n        $(\".minmaxCon\").remove(\n            $(`.upload-video-modal.${this.parentContentId}`)\n        );\n        Object.assign(this.$data, this.$options.data.call(this));\n        this.setUploading(false);\n        this.$emit(\"updateModalState\", false);\n      }\n    },\n    hideModal() {\n      this.$emit(\"updateModalState\", false);\n    },\n    updateVideoProgress(totaluploadprogress, totalBytes, totalBytesSent) {\n      this.$emit(\"updateProgress\", totaluploadprogress, this.id);\n      this.fileProgress = totaluploadprogress;\n    },\n    uploadInBackground() {\n      $(`.modal-backdrop`).addClass(\"display-none\");\n      $(`.upload-video-modal.${this.parentContentId}`).toggleClass(\"min\");\n\n      if ($(`.upload-video-modal.${this.parentContentId}`).hasClass(\"min\")) {\n        this.isMinimized = true;\n        $(\".minmaxCon\").append(\n            $(`.upload-video-modal.${this.parentContentId}`)\n        );\n        $(`#upload-video-modal-${this.parentContentId}`).remove(\n            $(`.upload-video-modal.${this.parentContentId}`)\n        );\n        $(`#upload-video-modal-${this.parentContentId}`).addClass(\n            \"display-none\"\n        );\n        $(\n            `.upload-video-modal.${this.parentContentId} .body-content-container`\n        ).addClass(\"display-none\");\n        $(`[data-id=${this.parentContentId}]`).css(\"z-index\", 1050);\n      } else {\n        this.isMinimized = false;\n        $(`#upload-video-modal-${this.parentContentId}`).removeClass(\n            \"display-none\"\n        );\n        $(`#upload-video-modal-${this.parentContentId} .modal-dialog`).append(\n            $(`.upload-video-modal.${this.parentContentId}`)\n        );\n        $(\".minmaxCon\").remove(\n            $(`.upload-video-modal.${this.parentContentId}`)\n        );\n        $(\n            `.upload-video-modal.${this.parentContentId} .body-content-container`\n        ).removeClass(\"display-none\");\n        $(`[data-id=${this.parentContentId}]`).css(\"z-index\", 9999);\n      }\n    },\n    completeUpload(file, response) {\n      if (this.notifyURL) {\n        const uploadCompleteNotificationURL = this.notifyURL;\n        console.log({event: 'completeUpload', notifyUrl: this.notifyURL, file, response});\n        const filesizeInMB = file.size / 1024.0 / 1024.0;\n        console.log({filesizeInMB});\n        let video = document.createElement('video');\n        video.preload = 'metadata';\n\n        video.onloadedmetadata = function() {\n          window.URL.revokeObjectURL(video.src);\n          const duration = video.duration;\n          console.log({uploadCompleteNotificationURL, duration});\n\n          if(filesizeInMB && duration) {\n            fetch(`${uploadCompleteNotificationURL}&FileSize=${filesizeInMB}&Duration=${duration}`);\n          } else {\n            fetch(uploadCompleteNotificationURL);\n          }\n\n        }\n\n        video.src = URL.createObjectURL(file);\n\n      }\n      this.fileUploadSuccess = true;\n      this.$toasted.success(\"Recorded Video File uploaded successfully\", {\n        theme: \"outline\",\n        position: \"bottom-center\",\n        duration: 3000,\n      });\n      this.setUploading(false);\n      if (this.isMinimized) this.upload();\n    },\n    showVideo() {\n      var contentLink =\n          \"/content/video/\" +\n          this.contentData.title\n              .toLowerCase()\n              .replace(/[^a-zA-Z0-9 ]/g, \"\")\n              .split(\" \")\n              .join(\"-\") +\n          \"-\" +\n          this.contentData.id +\n          \"_\" +\n          this.productVariantId;\n      // console.log(\"showVideo\");\n      this.previewLoading = true;\n      this.getContentById({\n        id: this.contentData.id,\n        extraParams: { Platform: contentService.getCurrentPlatform() },\n      }).then(() => {\n        this.previewLoading = false;\n        window.open(contentLink, \"_blank\");\n      });\n    },\n    processUploadingURL(url) {\n      var queryString = url.split(\"?\")[1];\n      var uploadURL = url;\n      var notifyURL = null;\n      var params = new URLSearchParams(queryString);\n      for (const param of params) {\n        if (param[0] == \"notifyUploadCompletionAt\") {\n          notifyURL = param[1];\n          uploadURL = url.slice(0, url.indexOf(param[0]) - 1);\n          console.log(uploadURL, notifyURL);\n        }\n      }\n      // console.log({ uploadURL, notifyURL });\n      return { uploadURL, notifyURL };\n    },\n    sendingUploadRequest(file, xhr, formData) {\n      console.log({event: 'sendingUploadRequest', xhr, formData});\n      this.changeRequestHeadersForAWSPresignedUrlUpload(file, xhr, formData);\n    },\n    changeRequestHeadersForAWSPresignedUrlUpload(file, xhr, formData) {\n      const isAWSFileUpload = this.notifyURL && this.notifyURL != null;\n\n      console.log({isAWSFileUpload});\n\n      if(isAWSFileUpload) {\n        const _send = xhr.send;\n        xhr.send = function() {\n          xhr.setRequestHeader('Content-Type', \"application/octet-stream\");\n          _send.call(xhr, file);\n        }\n      }\n    }\n  },\n  watch: {\n    visible: function () {   \n      console.log(this.serviceData,\"service\");   \n      if (this.visible) {\n        if (this.isEditMode) {\n          this.id = this.contentData.id;\n          this.isFileAdded = true;\n          this.title = this.contentData.title;\n          this.startDate = this.contentData.availableFrom\n              ? getInputDateFormat(this.contentData.availableFrom)\n              : null;\n          this.endDate = this.contentData.availableTo\n              ? getInputDateFormat(this.contentData.availableTo)\n              : null;\n          this.isAvailableForDemo = this.contentData.isContentAvailableForDemo;\n          return;\n        }\n        if (this.serviceData && this.serviceData.fileUploadLimit) {\n          setTimeout(() => {\n            this.$refs.myVueDropzone.setOption(\n                \"maxFilesize\",\n                this.serviceData.fileUploadLimit\n            );\n            // console.log(\"ref\", this.$refs.myVueDropzone);\n          }, 300);\n        }\n      }\n    },\n    // fileUrl: function () {\n    // \tthis.validateVideoLink();\n    // },\n  },\n  // mounted() {\n  // },\n};\n</script>\n\n<style>\n.upload-video-modal {\n  height: 45.375rem;\n  width: 70vw;\n}\n/* .custom-modal .modal-dialog {\n\tmax-width: 70vw;\n} */\n\n.upload-video-modal .modal-body {\n  display: flex;\n  flex-direction: row;\n  padding: 0 !important;\n  font-size: 1rem;\n}\n\n.upload-video-modal .modal-body .body-container {\n  padding: 2.5rem;\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n  position: relative;\n}\n\n.body-content-container {\n  display: flex;\n  flex-direction: row;\n  /* column-gap: 1rem; */\n  align-items: flex-start;\n  margin-top: 1rem;\n  height: 100%;\n}\n\n.body-content-container .info-container {\n  width: 0;\n  opacity: 0;\n  transition: all 0.6s ease-in-out;\n}\n\n.body-content-container .info-container.expand {\n  width: 70% !important;\n  opacity: 1 !important;\n  padding-right: 4rem;\n}\n.body-content-container .info-container.expand.link {\n  width: 100% !important;\n  padding: 0;\n}\n.body-content-container .upload-container {\n  width: 100%;\n  height: 100%;\n  transition: all 0.6s ease-in-out;\n}\n\n.body-content-container .upload-container.shrink {\n  width: 30% !important;\n  height: 50% !important;\n}\n\n.body-content-container .upload-container.shrink.multiple {\n  width: 30% !important;\n  height: 90% !important;\n}\n\n.body-content-container .upload-container #dropzone {\n  border-radius: 8px;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  font-family: unset;\n  overflow-y: auto;\n  overflow-x: hidden;\n  max-height: 34.375rem;\n}\n.body-content-container .upload-container .preview {\n  border-radius: 8px;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  font-family: unset;\n  overflow-y: auto;\n  overflow-x: hidden;\n  max-height: 34.375rem;\n  background: #eeeeee;\n  border: 1px solid #ddd;\n}\n\n.body-content-container .upload-container .preview img {\n  transition: all 0.3s ease;\n}\n\n.body-content-container .upload-container .preview img:hover {\n  box-shadow: 0 0 3px 6px rgba(0, 0, 0, 0.05);\n  border-radius: 50%;\n  background-color: #ffffff;\n  cursor: pointer;\n}\n\n.body-content-container .upload-container.shrink #dropzone {\n  justify-content: flex-start;\n}\n\n.dropzone .dz-preview {\n  min-height: unset !important;\n}\n\n.info-container .main-label {\n  font-weight: 500;\n  font-size: 1rem;\n  line-height: 1.37;\n  text-transform: uppercase;\n  color: #727272;\n  margin-bottom: 1rem;\n}\n\n.info-container .form-group {\n  display: flex;\n  flex-direction: column;\n}\n.info-container .form-input {\n  border: 0;\n  border-bottom: 1.5px solid #b2b2b2;\n  font-size: 1rem;\n  outline: none;\n  padding: 0.875rem 0;\n  /* max-width: 21.625rem; */\n  width: 100%;\n}\n\n.form-input:focus {\n  border-color: var(--primary-color) !important;\n}\n\n.vue-dropzone > .dz-preview {\n  width: 90%;\n  display: flex;\n  flex-direction: column;\n}\n\n.vue-dropzone > .dz-preview .dz-details {\n  /* color: #fff !important; */\n  background-color: #dddddd !important;\n  transition: all 0.6s linear;\n  border-radius: 8px;\n}\n\n.vue-dropzone > .dz-preview.dz-success .dz-details {\n  background-color: #21cf47 !important;\n}\n\n.vue-dropzone > .dz-preview.dz-error .dz-details {\n  background-color: var(--color-danger) !important;\n}\n\n.vue-dropzone > .dz-preview .dz-remove {\n  border-radius: 8px;\n  /* background-color: #dcdcdc !important;\n  color: #000000 !important;\n  margin: 0 !important;\n  transform: translateX(-50%) !important;\n  left: 50%; */\n  /* width: 100%; */\n}\n\n.vue-dropzone > .dz-preview .dz-filename,\n.vue-dropzone > .dz-preview .dz-size {\n  color: #000000;\n}\n\n.vue-dropzone > .dz-preview.dz-success .dz-filename,\n.vue-dropzone > .dz-preview.dz-error .dz-filename,\n.vue-dropzone > .dz-preview.dz-success .dz-size,\n.vue-dropzone > .dz-preview.dz-error .dz-size {\n  color: #ffffff;\n}\n\n.minimize-button {\n  position: absolute;\n  color: #000000;\n  right: 5rem;\n  font-size: 1.5rem;\n  line-height: 1;\n  margin-top: -0.25rem;\n}\n\n.min .minimize-button {\n  right: 3rem !important;\n  font-size: 1.25rem !important;\n  top: 1.125rem;\n}\n\n.video-title {\n  position: absolute;\n  color: #000000;\n  font-size: 1rem;\n  left: 1rem;\n  display: none;\n  top: 0.675rem;\n}\n\n.min .video-title {\n  display: block !important;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  max-width: 15rem;\n}\n\n.min {\n  width: 22rem !important;\n  height: 3rem !important;\n  overflow: hidden !important;\n  padding: 0px !important;\n  margin: 0px;\n\n  float: left;\n  position: static !important;\n}\n\n.min .modal-dialog,\n.min .modal-content {\n  height: 100%;\n  width: 100%;\n  margin: 0px !important;\n  padding: 0px !important;\n}\n\n.display-none {\n  display: none !important;\n}\n\n.minmaxCon {\n  height: 3rem;\n  bottom: 0.5rem;\n  right: 0.5rem;\n  position: fixed;\n  /* right: 1px; */\n  z-index: 9999;\n  display: flex;\n  column-gap: 0.5rem;\n}\n\n.min .close-button {\n  position: absolute;\n  top: 0.675rem;\n  right: 1rem;\n}\n\n.min .close-button img {\n  width: 1rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UploadRecordedLectureModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UploadRecordedLectureModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UploadRecordedLectureModal.vue?vue&type=template&id=f0041d24&\"\nimport script from \"./UploadRecordedLectureModal.vue?vue&type=script&lang=js&\"\nexport * from \"./UploadRecordedLectureModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UploadRecordedLectureModal.vue?vue&type=style&index=0&id=f0041d24&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":(\"upload-study-material-modal-\" + _vm.parentContentId),\"visible\":_vm.visible,\"size\":\"xl\",\"hide-header\":\"\",\"hide-footer\":\"\",\"centered\":\"\",\"content-class\":(\"upload-study-material-modal \" + _vm.parentContentId),\"body-class\":\"modal-body\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.closeModal()}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.closeModal()}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),(_vm.isFileAdded && !_vm.isLinkUpload && !_vm.isEditMode)?_c('button',{staticClass:\"minimize-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.uploadInBackground()}}},[_c('i',{class:[\n\t\t\t\t\t\t'fas',\n\t\t\t\t\t\t{ 'fa-window-minimize': !_vm.isMinimized, 'fa-clone': _vm.isMinimized } ]})]):_vm._e(),_c('span',{staticClass:\"video-title\"},[_vm._v(\" \"+_vm._s(parseInt(_vm.fileProgress))+\"% - \"+_vm._s(_vm.title)+\" \")]),_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\" \"+_vm._s(_vm.isEditMode ? \"Edit\" : \"Upload\")+\" Study Material \")]),_c('div',{staticClass:\"body-content-container\"},[_c('div',{class:[\n\t\t\t\t\t\t'info-container',\n\t\t\t\t\t\t{ expand: _vm.isFileAdded, link: _vm.isLinkUpload } ]},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"title\"}},[_vm._v(\"Study Material Title (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type your lecture name here...\",\"type\":\"search\",\"name\":\"title\",\"id\":\"title\",\"required\":\"\"},domProps:{\"value\":(_vm.title)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}})]),(_vm.isLinkUpload)?_c('div',{staticClass:\"form-group mt-5\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"fileUrl\"}},[_vm._v(\"File Link (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.fileUrl),expression:\"fileUrl\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter Link to upload ...\",\"type\":\"search\",\"name\":\"fileUrl\",\"id\":\"fileUrl\",\"required\":\"\"},domProps:{\"value\":(_vm.fileUrl)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.fileUrl=$event.target.value}}})]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"flex-row mt-5\"},[_c('div',{staticClass:\"col-lg-6 ps-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"start-date\"}},[_vm._v(\"start date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.startDate),expression:\"startDate\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select start date\",\"type\":\"date\",\"name\":\"start-date\",\"id\":\"start-date\"},domProps:{\"value\":(_vm.startDate)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.startDate=$event.target.value}}})])]),_c('div',{staticClass:\"col-lg-6 pe-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"end-date\"}},[_vm._v(\"end date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.endDate),expression:\"endDate\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select end date\",\"type\":\"date\",\"name\":\"end-date\",\"id\":\"end-date\"},domProps:{\"value\":(_vm.endDate)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.endDate=$event.target.value}}})])])])]),_c('div',{staticClass:\"form-group mt-4\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isAvailableForDemo),expression:\"isAvailableForDemo\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isAvailableForDemo\"},domProps:{\"checked\":Array.isArray(_vm.isAvailableForDemo)?_vm._i(_vm.isAvailableForDemo,null)>-1:(_vm.isAvailableForDemo)},on:{\"change\":function($event){var $$a=_vm.isAvailableForDemo,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isAvailableForDemo=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isAvailableForDemo=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isAvailableForDemo=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isAvailableForDemo\"}},[_vm._v(\"Available for Demo\")])])]),_c('div',{staticClass:\"form-group mt-4\"},[(!_vm.isPDFVSS)?_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.allowdownload),expression:\"allowdownload\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"allowDownload\"},domProps:{\"checked\":Array.isArray(_vm.allowdownload)?_vm._i(_vm.allowdownload,null)>-1:(_vm.allowdownload)},on:{\"change\":function($event){var $$a=_vm.allowdownload,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.allowdownload=$$a.concat([$$v]))}else{$$i>-1&&(_vm.allowdownload=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.allowdownload=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"allowDownload\"}},[_vm._v(\"Show Download/Print Button?\")])]):_vm._e()])]),_c('div',{class:[\n\t\t\t\t\t\t'upload-container',\n\t\t\t\t\t\t{ shrink: _vm.isFileAdded, 'd-none': _vm.isLinkUpload } ]},[(!_vm.isEditMode)?_c('vue-dropzone',{ref:\"fileDropzone\",attrs:{\"id\":\"dropzone\",\"options\":_vm.dropzoneOptions,\"useCustomSlot\":true},on:{\"vdropzone-file-added\":_vm.uploadFile,\"vdropzone-sending\":_vm.sendingEvent,\"vdropzone-success\":_vm.getFileUrl,\"vdropzone-total-upload-progress\":_vm.updateStudyMaterialProgress}},[_c('div',{staticClass:\"dropzone-custom-content\"},[_c('h3',{staticClass:\"dropzone-custom-title\"},[_vm._v(\" Drag and drop to upload content! \")]),_c('div',{staticClass:\"subtitle\"},[_vm._v(\" ...or click to select a file from your computer \")]),_c('button',{staticClass:\"upload-btn mt-4\",attrs:{\"role\":\"button\"}},[_c('i',{staticClass:\"fas fa-file-import\"}),_vm._v(\" Select File \")]),_c('button',{staticClass:\"upload-btn ms-3 mt-4\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.uploadWithLink}},[_c('i',{staticClass:\"fas fa-link\"}),_vm._v(\" Upload Using Link \")])])]):_c('b-overlay',{staticClass:\"preview square\",attrs:{\"show\":_vm.previewLoading}},[_c('img',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.bottom\",value:('View'),expression:\"'View'\",modifiers:{\"hover\":true,\"bottom\":true}}],attrs:{\"src\":require(\"@/assets/images/study-material.png\")},on:{\"click\":function($event){return _vm.toggleStudyMaterialModal(true)}}})])],1)]),_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.dateErrorText))]),(_vm.isFileAdded)?_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext() || _vm.loading},on:{\"click\":_vm.upload}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.isEditMode ? \"Update\" : \"Upload\")+\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1)]):_vm._e()]),(_vm.isEditMode && _vm.contentData.type == _vm.ContentType.STUDY_MATERIAL)?_c('StudyMaterial',{attrs:{\"showModal\":_vm.showStudyMaterialModal,\"contentId\":_vm.contentData.id},on:{\"updateModalState\":_vm.toggleStudyMaterialModal}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-modal\n      @change=\"closeModal()\"\n      :id=\"`upload-study-material-modal-${parentContentId}`\"\n      :visible=\"visible\"\n      size=\"xl\"\n      hide-header\n      hide-footer\n      centered\n      :content-class=\"`upload-study-material-modal ${parentContentId}`\"\n      body-class=\"modal-body\"\n      modal-class=\"custom-modal\"\n      no-close-on-backdrop\n  >\n    <div class=\"body-container\">\n      <button @click=\"closeModal()\" class=\"close-button\" role=\"button\">\n        <img src=\"@/assets/images/cancel-icon.svg\" />\n      </button>\n      <button\n          v-if=\"isFileAdded && !isLinkUpload && !isEditMode\"\n          @click=\"uploadInBackground()\"\n          class=\"minimize-button\"\n          role=\"button\"\n      >\n        <i\n            :class=\"[\n\t\t\t\t\t\t'fas',\n\t\t\t\t\t\t{ 'fa-window-minimize': !isMinimized, 'fa-clone': isMinimized },\n\t\t\t\t\t]\"\n        ></i>\n      </button>\n      <span class=\"video-title\">\n\t\t\t\t{{ parseInt(fileProgress) }}% - {{ title }}\n\t\t\t</span>\n      <h1 class=\"add-content-title\">\n        {{ isEditMode ? \"Edit\" : \"Upload\" }} Study Material\n      </h1>\n      <!-- <form> -->\n      <div class=\"body-content-container\">\n        <div\n            :class=\"[\n\t\t\t\t\t\t'info-container',\n\t\t\t\t\t\t{ expand: isFileAdded, link: isLinkUpload },\n\t\t\t\t\t]\"\n        >\n          <div class=\"form-group\">\n            <label class=\"main-label\" for=\"title\"\n            >Study Material Title (required)</label\n            >\n            <input\n                placeholder=\"Type your lecture name here...\"\n                class=\"form-input\"\n                type=\"search\"\n                name=\"title\"\n                id=\"title\"\n                v-model=\"title\"\n                required\n            />\n          </div>\n          <div v-if=\"isLinkUpload\" class=\"form-group mt-5\">\n            <label class=\"main-label\" for=\"fileUrl\">File Link (required)</label>\n            <input\n                placeholder=\"Enter Link to upload ...\"\n                class=\"form-input\"\n                type=\"search\"\n                name=\"fileUrl\"\n                id=\"fileUrl\"\n                v-model=\"fileUrl\"\n                required\n            />\n          </div>\n          <div class=\"form-group\">\n            <div class=\"flex-row mt-5\">\n              <div class=\"col-lg-6 ps-0\">\n                <div class=\"form-group\">\n                  <label for=\"start-date\" class=\"main-label m-0\"\n                  >start date (optional)</label\n                  >\n                  <input\n                      placeholder=\"Select start date\"\n                      class=\"form-input\"\n                      type=\"date\"\n                      name=\"start-date\"\n                      id=\"start-date\"\n                      v-model=\"startDate\"\n                  />\n                </div>\n              </div>\n              <div class=\"col-lg-6 pe-0\">\n                <div class=\"form-group\">\n                  <label for=\"end-date\" class=\"main-label m-0\"\n                  >end date (optional)</label\n                  >\n                  <input\n                      placeholder=\"Select end date\"\n                      class=\"form-input\"\n                      type=\"date\"\n                      name=\"end-date\"\n                      id=\"end-date\"\n                      v-model=\"endDate\"\n                  />\n                </div>\n              </div>\n            </div>\n          </div>\n          <div class=\"form-group mt-4\">\n            <div class=\"form-check form-switch\">\n              <input\n                  class=\"form-check-input\"\n                  type=\"checkbox\"\n                  role=\"switch\"\n                  id=\"isAvailableForDemo\"\n                  v-model=\"isAvailableForDemo\"\n              />\n              <label class=\"form-check-label\" for=\"isAvailableForDemo\"\n              >Available for Demo</label\n              >\n            </div>\n          </div>\n          <div class=\"form-group mt-4\" >\n            <div class=\"form-check form-switch\" v-if=\"!isPDFVSS\">\n              <input\n                  class=\"form-check-input\"\n                  type=\"checkbox\"\n                  role=\"switch\"\n                  id=\"allowDownload\"\n                  v-model=\"allowdownload\"\n              />\n              <label class=\"form-check-label\" for=\"allowDownload\"\n              >Show Download/Print Button?</label\n              >\n            </div>\n          </div>\n        </div>\n        <div\n            :class=\"[\n\t\t\t\t\t\t'upload-container',\n\t\t\t\t\t\t{ shrink: isFileAdded, 'd-none': isLinkUpload },\n\t\t\t\t\t]\"\n        >\n          <vue-dropzone\n              v-if=\"!isEditMode\"\n              ref=\"fileDropzone\"\n              id=\"dropzone\"\n              :options=\"dropzoneOptions\"\n              :useCustomSlot=\"true\"\n              v-on:vdropzone-file-added=\"uploadFile\"\n              v-on:vdropzone-sending=\"sendingEvent\"\n              v-on:vdropzone-success=\"getFileUrl\"\n              v-on:vdropzone-total-upload-progress=\"updateStudyMaterialProgress\"\n          >\n            <div class=\"dropzone-custom-content\">\n              <h3 class=\"dropzone-custom-title\">\n                Drag and drop to upload content!\n              </h3>\n              <div class=\"subtitle\">\n                ...or click to select a file from your computer\n              </div>\n              <button role=\"button\" class=\"upload-btn mt-4\">\n                <i class=\"fas fa-file-import\"></i>\n                Select File\n              </button>\n              <button\n                  @click=\"uploadWithLink\"\n                  role=\"button\"\n                  class=\"upload-btn ms-3 mt-4\"\n              >\n                <i class=\"fas fa-link\"></i>\n                Upload Using Link\n              </button>\n            </div>\n          </vue-dropzone>\n          <b-overlay class=\"preview square\" v-else :show=\"previewLoading\">\n            <img\n                @click=\"toggleStudyMaterialModal(true)\"\n                v-b-tooltip.hover.bottom=\"'View'\"\n                src=\"@/assets/images/study-material.png\"\n            />\n          </b-overlay>\n        </div>\n      </div>\n      <p class=\"text-danger\">{{ dateErrorText }}</p>\n      <div v-if=\"isFileAdded\" class=\"step-btn-container\">\n        <button\n            @click=\"upload\"\n            role=\"button\"\n            class=\"step-btn\"\n            :disabled=\"disableNext() || loading\"\n        >\n          <b-spinner v-if=\"loading\" small></b-spinner>\n          {{ isEditMode ? \"Update\" : \"Upload\" }}\n          <img src=\"@/assets/images/arrow-right.svg\" />\n        </button>\n      </div>\n      <!-- </form> -->\n    </div>\n    <StudyMaterial\n        v-if=\"isEditMode && contentData.type == ContentType.STUDY_MATERIAL\"\n        :showModal=\"showStudyMaterialModal\"\n        @updateModalState=\"toggleStudyMaterialModal\"\n        :contentId=\"contentData.id\"\n    />\n  </b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState, mapGetters } from \"vuex\";\nimport vue2Dropzone from \"vue2-dropzone\";\nimport { POST_FILE_API } from \"../../../constants/urls\";\nimport { ContentType } from \"../../../constants/content\";\nimport CookieHelpers from \"../../../helpers/CookieHelpers\";\nimport { getInputDateFormat } from \"../../../helpers/FormatHelpers\";\nimport StudyMaterial from \"../../../components/Content/StudyMaterial.vue\";\n\nexport default {\n  name: \"UploadStudyMaterialModal\",\n  components: {\n    StudyMaterial,\n    vueDropzone: vue2Dropzone,\n  },\n  data() {\n    return {\n      dropzoneOptions: {\n        url: this.getUploadURL,\n        timeout: 100000000,\n        thumbnailWidth: 300,\n        uploadMultiple: false,\n        maxFiles: 1,\n        method: \"POST\",\n        autoProcessQueue: true,\n        createImageThumbnails: false,\n        headers: {\n          AuthToken: \"System123\",\n          Authorization: `Bearer ${CookieHelpers.getCookie(\"token\")}`,\n        },\n      },\n      fileName: null,\n      isFileAdded: false,\n      type: \"StudyMaterial\",\n      entity: \"Content\",\n      title: null,\n      startDate: null,\n      endDate: null,\n      isAvailableForDemo: false,\n      allowdownload: false,\n      fileUrl: null,\n      fileType: null,\n      isLinkUpload: false,\n      isMinimized: false,\n      fileProgress: 0,\n      allOk: true,\n      dateErrorText: \"\",\n      showStudyMaterialModal: false,\n      previewLoading: false,\n      ContentType,\n    };\n  },\n  methods: {\n    ...mapActions(\"content\", [\n      \"createStudyMaterialContent\",\n      \"uploadContentFile\",\n      \"getContentById\",\n      \"updateContent\",\n    ]),\n    uploadFile(file) {\n      // document.getElementById(\"fileaname\").value = \"\";\n      // var file = document.getElementById(\"file\").files[0];\n      console.log(file);\n      this.isFileAdded = true;\n      this.fileName = file.name;\n\n      var fileExt = this.fileName.toLowerCase().split(\".\").at(-1);\n      console.log(fileExt);\n      switch (fileExt) {\n        case \"ppt\":\n        case \"pptx\":\n        case \"doc\":\n        case \"docx\":\n        case \"xls\":\n        case \"xlsx\":\n        case \"csv\":\n          this.fileType = \"document\";\n          break;\n        case \"pdf\":\n          this.fileType = \"pdf\";\n          break;\n        case \"txt\":\n          this.fileType = \"text\";\n          break;\n        case \"jpg\":\n        case \"jpeg\":\n        case \"png\":\n        case \"svg\":\n        case \"gif\":\n          this.fileType = \"image\";\n          break;\n      }\n\n      var parsedFilename = this.fileName.split(\".\")[0];\n\n      this.title = parsedFilename;\n      // this.isAvailableForDemo = true;\n      document.getElementById(\"title\").focus();\n      // this.$refs.fileDropzone.dropzone.processQueue();\n\n      // var formData = new FormData();\n      // formData.append(\"type\", this.type);\n      // formData.append(\"entity\", this.entity);\n      // formData.append(\"file\", file);\n      // console.log(formData);\n\n      // var fileUpload = {\n      // \ttype: this.type,\n      // \tentity: this.entity,\n      // \tfile: file,\n      // };\n\n      // this.uploadContentFile(formData).then(() => {\n      // \tconsole.log(\"file has been uploaded\");\n      // });\n    },\n    sendingEvent(file, xhr, formData) {\n      formData.append(\"entity\", this.entity);\n      formData.append(\"type\", this.type);\n    },\n    getFileUrl(file, response) {\n      if (response && response.payload) this.fileUrl = response.payload;\n      console.log(this.fileUrl);\n    },\n    disableNext() {\n      if (this.isEditMode) return false;\n      if (!this.isLinkUpload && this.fileProgress < 100) {\n        return true;\n      }\n      if (this.isLinkUpload) {\n        if (this.title && this.fileUrl) {\n          return false;\n        } else return true;\n      } else if (this.title && this.fileUrl) return false;\n      return true;\n      // return false;\n    },\n    upload() {\n      if (this.startDate && this.endDate) {\n        this.allOk = new Date(this.startDate) <= new Date(this.endDate);\n        console.log(this.allOk);\n        if (!this.allOk) {\n          this.dateErrorText = \"Start Date cannot be after End Date\";\n        } else {\n          this.allOk = true;\n          this.dateErrorText = \"\";\n        }\n      }\n\n      if (this.allOk) {\n        if (this.isEditMode) {\n          var obj = {\n            id: this.id,\n            parentDirectoryID: this.parentContentId,\n            title: this.title,\n            availableFrom: this.startDate\n                ? new Date(this.startDate).toISOString()\n                : null,\n            availableTo: this.endDate\n                ? new Date(this.endDate).toISOString()\n                : null,\n            isAvailableForDemo: this.isAvailableForDemo,\n            data: {\n              allowdownload: this.allowdownload.toString(),\n            },\n          };\n          this.updateContent(obj).then(() => this.closeModal());\n          return;\n        }\n        var studyMaterial = {\n          title: this.title,\n          data: {\n            servicecode: this.serviceProvider ? this.serviceProvider : \"local\",\n            source: this.fileUrl,\n            type: this.fileType,\n            allowdownload: this.allowdownload.toString(),\n          },\n          sequence: 1,\n          isAvailableForDemo: this.isAvailableForDemo,\n          type: this.type,\n          parentDirectoryID: this.parentContentId,\n          availableFrom: this.startDate,\n          availableTo: this.endDate,\n        };\n\n        // if (this.startDate) {\n        // \tstudyMaterial.availableFrom = this.startDate;\n        // }\n\n        // if (this.endDate) {\n        // \tstudyMaterial.availableTo = this.endDate;\n        // }\n\n        this.createStudyMaterialContent(studyMaterial).then(() => {\n          console.log(\"StudyMaterial upload successful\");\n          // this.getContentById(this.parentContentId);\n          this.$toasted.success(\"Study Material uploaded successful\", {\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n          });\n          this.closeModal();\n        });\n      }\n      // this.closeModal();\n      // this.$emit(\"updateModalState\", false);\n    },\n    uploadWithLink(e) {\n      e.stopPropagation();\n      console.log(\"upload with link\");\n      this.isFileAdded = true;\n      this.isLinkUpload = true;\n      this.fileType = \"link\";\n    },\n    closeModal() {\n      $(`.upload-study-material-modal.${this.parentContentId}`).removeClass(\n          \"min\"\n      );\n      $(\".minmaxCon\").remove(\n          $(`.upload-study-material-modal.${this.parentContentId}`)\n      );\n      // $(\".upload-study-material-modal\").removeClass(\"min\");\n      // $(\".minmaxCon\").remove($(\".upload-study-material-modal\"));\n      Object.assign(this.$data, this.$options.data.call(this));\n      this.$emit(\"updateModalState\", false);\n    },\n    uploadInBackground() {\n      $(`.modal-backdrop`).addClass(\"display-none\");\n      $(`.upload-study-material-modal.${this.parentContentId}`).toggleClass(\n          \"min\"\n      );\n\n      if (\n          $(`.upload-study-material-modal.${this.parentContentId}`).hasClass(\n              \"min\"\n          )\n      ) {\n        this.isMinimized = true;\n        $(\".minmaxCon\").append(\n            $(`.upload-study-material-modal.${this.parentContentId}`)\n        );\n        $(`#upload-study-material-modal-${this.parentContentId}`).remove(\n            $(`.upload-study-material-modal.${this.parentContentId}`)\n        );\n        $(`#upload-study-material-modal-${this.parentContentId}`).addClass(\n            \"display-none\"\n        );\n        $(\n            `.upload-study-material-modal.${this.parentContentId} .body-content-container`\n        ).addClass(\"display-none\");\n        $(`[data-id=${this.parentContentId}]`).css(\"z-index\", 1050);\n      } else {\n        this.isMinimized = false;\n        $(`#upload-study-material-modal-${this.parentContentId}`).removeClass(\n            \"display-none\"\n        );\n        $(\n            `#upload-study-material-modal-${this.parentContentId} .modal-dialog`\n        ).append($(`.upload-study-material-modal.${this.parentContentId}`));\n        $(\".minmaxCon\").remove(\n            $(`.upload-study-material-modal.${this.parentContentId}`)\n        );\n        $(\n            `.upload-study-material-modal.${this.parentContentId} .body-content-container`\n        ).removeClass(\"display-none\");\n        $(`[data-id=${this.parentContentId}]`).css(\"z-index\", 9999);\n      }\n    },\n    updateStudyMaterialProgress(\n        totaluploadprogress,\n        totalBytes,\n        totalBytesSent\n    ) {\n      this.$emit(\"updateProgress\", totaluploadprogress, this.id);\n      this.fileProgress = totaluploadprogress;\n    },\n    getUploadURL() {\n      console.log(\"getUploadURL\");\n      return this.apiURL + POST_FILE_API;\n    },\n    toggleStudyMaterialModal(state) {\n      if (state !== undefined) {\n        this.showStudyMaterialModal = state;\n      } else {\n        this.showStudyMaterialModal = !this.showStudyMaterialModal;\n      }\n    },\n  },\n  computed: {\n    ...mapGetters(\"content\", [\"getContent\"]),\n    ...mapState(\"content\", [\"loading\"]),\n    ...mapState(\"appState\", [\"apiURL\"]),\n    visible() {\n      // debugger;\n      return this.showModal;\n    },\n\n    isPDFVSS() {\n      return this.contentData && this.contentData.externalService\n      && this.contentData.externalService.serviceCode.toString().toLowerCase() === 'pdfvss';\n    }\n\n  },\n  props: {\n    showModal: Boolean,\n    parentContentId: String,\n    serviceProvider: String,\n    isEditMode: Boolean,\n    contentData: Object,\n    productVariantId: String,\n    allowDownload: Boolean,\n  },\n  created() {\n    // var token = CookieHelpers.getCookie(\"token\");\n    // var headerObject = {\n    // \tAuthToken: \"System123\",\n    // \tAuthorization: `Bearer ${CookieHelpers.getCookie(\"token\")}`,\n    // };\n    // this.dropzoneOptions.headers = headerObject;\n    // this.dropzoneOptions.url = apiURL + POST_FILE_API;\n    // if (this.systemParameters && this.systemParameters.StudyMaterial) {\n\t\t// \t  this.allowDownload = this.systemParameters.StudyMaterial.allowDownload;\t\t\t\n\t\t// }\n  },\n  watch: {\n    visible: async function () {\n      if (this.visible) {\n        if (this.isEditMode) {\n\n         if (this.contentData.id && !isNaN(parseInt(this.contentData.id))) {\n            var contentData = await this.getContentById({ id: this.contentData.id });\n          }\n\n          this.id = this.contentData.id;\n          this.isFileAdded = true;\n          this.title = this.contentData.title;\n          this.startDate = this.contentData.availableFrom\n              ? getInputDateFormat(this.contentData.availableFrom)\n              : null;\n          this.endDate = this.contentData.availableTo\n              ? getInputDateFormat(this.contentData.availableTo)\n              : null;\n          this.isAvailableForDemo = this.contentData.isContentAvailableForDemo;\n          // this is done the keep prop property seperate when updating \n          this.allowdownload = contentData && contentData.data && contentData.data.AllowDownload == 'true'; \n        }\n      }\n      // console.log(\n      // \t\"content in store was updated, logged from UploadStudyMaterialModal\"\n      // );\n    },\n  },\n};\n</script>\n\n<style>\n.upload-study-material-modal {\n  height: 45.375rem;\n  /* height: fit-content; */\n  width: 70vw;\n}\n\n/* .custom-modal .modal-dialog {\n\tmax-width: 70vw;\n} */\n\n.upload-study-material-modal .modal-body {\n  display: flex;\n  flex-direction: row;\n  padding: 0 !important;\n  font-size: 1rem;\n}\n\n.upload-study-material-modal .modal-body .body-container {\n  padding: 2.5rem;\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n  position: relative;\n}\n\n.dropzone-form {\n  border-radius: 8px;\n  height: 100%;\n}\n\n.br_dropzone {\n  position: relative;\n  border: 1px solid rgba(#000, 0.1);\n  width: 100%;\n  height: 100%;\n  display: block;\n  border-radius: 4px;\n  box-sizing: border-box;\n\n  background-image: linear-gradient(\n      135deg,\n      rgba(0, 0, 0, 0.03) 25%,\n      transparent 25%,\n      transparent 50%,\n      rgba(0, 0, 0, 0.03) 50%,\n      rgba(0, 0, 0, 0.03) 75%,\n      transparent 75%,\n      transparent\n  );\n  background-color: #fafcfd;\n  background-size: 16px 16px;\n}\n\n.br_dropzone input[type=\"file\"] {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: 0;\n  font-size: 2rem;\n  opacity: 0;\n  width: 100%;\n  height: 100%;\n  cursor: pointer;\n  box-sizing: border-box;\n}\n\n.br_dropzone input[type=\"text\"] {\n  background: none;\n  border: none;\n  padding: 0.5em;\n  width: 100%;\n  height: 100%;\n  text-align: center;\n  font-size: 2rem;\n  box-sizing: border-box;\n}\n\n.br_dropzone.dragover {\n  background-color: #eee;\n  border: 6px dashed rgba(#000, 0.1);\n}\n\n.upload-container.shrink .br_dropzone input[type=\"text\"] {\n  font-size: 1rem !important;\n}\n\n.file-icon {\n  position: absolute;\n  /* top: 5rem; */\n  font-size: 5rem;\n  left: 50%;\n  top: 30%;\n  transform: translate(-50%, -20%);\n  /* transform: translateY(-30%); */\n}\n\n.upload-container.shrink .file-icon {\n  font-size: 2rem !important;\n}\n\n.body-content-container .upload-container .preview.square img:hover {\n  border-radius: 1rem;\n}\n\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UploadStudyMaterialModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UploadStudyMaterialModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UploadStudyMaterialModal.vue?vue&type=template&id=1cee0bb3&\"\nimport script from \"./UploadStudyMaterialModal.vue?vue&type=script&lang=js&\"\nexport * from \"./UploadStudyMaterialModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UploadStudyMaterialModal.vue?vue&type=style&index=0&id=1cee0bb3&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":(\"upload-video-modal-\" + _vm.parentContentId),\"visible\":_vm.visible,\"size\":\"xl\",\"hide-header\":\"\",\"hide-footer\":\"\",\"centered\":\"\",\"content-class\":(\"upload-video-modal \" + _vm.parentContentId),\"body-class\":\"modal-body\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\",\"data-id\":_vm.parentContentId},on:{\"change\":function($event){return _vm.closeModal()}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.closeModal()}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\" \"+_vm._s(_vm.isEditMode ? \"Edit\" : \"Create\")+\" Youtube Content \")]),_c('div',{class:['info-container']},[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"title\"}},[_vm._v(\"Title (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type Title here...\",\"type\":\"search\",\"name\":\"title\",\"id\":\"title\"},domProps:{\"value\":(_vm.title)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}})])]),_c('div',[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"passingPercentage\"}},[_vm._v(\"Video URL\")]),(!_vm.validateUrl && _vm.url)?_c('p',{staticClass:\"text-danger\"},[_vm._v(\"Invalid URL! Valid URL format: https://youtube.com/watch?v=your_video_id\")]):_vm._e(),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.url),expression:\"url\"}],staticClass:\"form-input\",staticStyle:{\"display\":\"inline\"},attrs:{\"type\":\"url\",\"placeholder\":\"Type your Video URL here\"},domProps:{\"value\":(_vm.url)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.url=$event.target.value}}})])])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isAvailableForDemo),expression:\"isAvailableForDemo\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isRandom\"},domProps:{\"checked\":Array.isArray(_vm.isAvailableForDemo)?_vm._i(_vm.isAvailableForDemo,null)>-1:(_vm.isAvailableForDemo)},on:{\"change\":function($event){var $$a=_vm.isAvailableForDemo,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isAvailableForDemo=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isAvailableForDemo=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isAvailableForDemo=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isRandom\"}},[_vm._v(\"Available for Demo \")])])])])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"start-date\"}},[_vm._v(\"start date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.startDate),expression:\"startDate\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select start date\",\"type\":\"date\",\"name\":\"availableFrom\",\"id\":\"availableFrom\"},domProps:{\"value\":(_vm.startDate)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.startDate=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"end-date\"}},[_vm._v(\"end date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.endDate),expression:\"endDate\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select end date\",\"type\":\"date\",\"name\":\"availableTo\",\"id\":\"availableTo\"},domProps:{\"value\":(_vm.endDate)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.endDate=$event.target.value}}})])])]),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.loading || !_vm.title || !_vm.url || !_vm.validateUrl},on:{\"click\":_vm.createEditContent}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Submit \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-modal @change=\"closeModal()\" :id=\"`upload-video-modal-${parentContentId}`\" :visible=\"visible\" size=\"xl\" hide-header\n    hide-footer centered :content-class=\"`upload-video-modal ${parentContentId}`\" body-class=\"modal-body\"\n    modal-class=\"custom-modal\" no-close-on-backdrop :data-id=\"parentContentId\">\n    <div class=\"body-container\">\n      <button @click=\"closeModal()\" class=\"close-button\" role=\"button\">\n        <img src=\"@/assets/images/cancel-icon.svg\" />\n      </button>\n      <h1 class=\"add-content-title\">\n        {{ isEditMode ? \"Edit\" : \"Create\" }} Youtube Content\n      </h1>\n      <div :class=\"['info-container']\">\n        <div class=\"inline-group\">\n\n          <div class=\"col\">\n            <label class=\"main-label\" for=\"title\">Title (required)</label>\n            <input placeholder=\"Type Title here...\" class=\"form-input\" type=\"search\" name=\"title\" id=\"title\"\n              v-model=\"title\" />\n          </div>\n        </div>\n        <div>\n          <div class=\"inline-group\">\n            <div class=\"col\">\n              <label class=\"main-label\" for=\"passingPercentage\">Video URL</label>\n              <p v-if=\"!validateUrl && url\" class=\"text-danger\">Invalid URL! Valid URL format:\n                https://youtube.com/watch?v=your_video_id</p>\n              <div>\n                <input class=\"form-input\" style=\"display: inline\" type=\"url\" placeholder=\"Type your Video URL here\"\n                  v-model=\"url\" />\n              </div>\n            </div>\n          </div>\n\n          <div class=\"inline-group\">\n            <div class=\"col\">\n              <div class=\"form-check form-switch\">\n                <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"isRandom\"\n                  v-model=\"isAvailableForDemo\" />\n                <label class=\"form-check-label\" for=\"isRandom\">Available for Demo\n                </label>\n              </div>\n            </div>\n          </div>\n        </div>\n\n        <div class=\"inline-group\">\n          <div class=\"col\">\n            <label for=\"start-date\" class=\"main-label m-0\">start date (optional)</label>\n            <input placeholder=\"Select start date\" class=\"form-input\" type=\"date\" name=\"availableFrom\" id=\"availableFrom\"\n              v-model=\"startDate\" />\n          </div>\n          <div class=\"col\">\n            <label for=\"end-date\" class=\"main-label m-0\">end date (optional)</label>\n            <input placeholder=\"Select end date\" class=\"form-input\" type=\"date\" name=\"availableTo\" id=\"availableTo\"\n              v-model=\"endDate\" />\n          </div>\n        </div>\n      </div>\n      <div class=\"step-btn-container\">\n        <button @click=\"createEditContent\" role=\"button\" class=\"step-btn\" :disabled=\"loading || !title || !url || !validateUrl\n          \">\n          <b-spinner v-if=\"loading\" small></b-spinner>\n          Submit\n          <img src=\"@/assets/images/arrow-right.svg\" />\n        </button>\n      </div>\n    </div>\n\n  </b-modal>\n</template>\n  \n<script>\nimport { mapActions, mapMutations, mapState } from \"vuex\"; // import CryptoJS from \"crypto-js\";\nimport RecordedVideo from \"../../../models/content/recordedVideo\";\nimport { contentService } from \"../../../services/content.service\";\nimport { getInputDateFormat } from \"../../../helpers/FormatHelpers\";\n\nexport default {\n  name: \"UploadYoutubeRecordedLectureModal\",\n  components: {\n  },\n  computed: {\n    ...mapState(\"content\", [\"loading\"]),\n    visible() {\n      return this.showModal;\n    },\n\n    validateUrl() {\n      if (this.url) {\n        if (this.validateYouTubeUrl(this.url)) {\n          return true;\n        }\n      }\n      return false;\n    }\n  },\n  props: {\n    showModal: Boolean,\n    parentContentId: String,\n    serviceData: Object,\n    service: Object,\n    contentType: String,\n    isEditMode: Boolean,\n    contentData: Object,\n    productVariantId: String,\n  },\n  data: function () {\n    return {\n      type: \"RecordedVideos\",\n      title: null,\n      startDate: null,\n      endDate: null,\n      isAvailableForDemo: false,\n      url: null\n    };\n  },\n  methods: {\n    ...mapActions(\"content\", [\n      \"createYoutubeContent\",\n      \"updateContent\",\n      \"getContentById\",\n    ]),\n\n    async createEditContent() {\n      var obj = {\n        id: this.contentData?.id ?? null,\n        title: this.title,\n        data: {\n          url: this.url,\n          servicecode: 'youtube'\n        },\n        availableFrom: this.startDate,\n        availableTo: this.endDate,\n        isAvailableForDemo: this.isAvailableForDemo,\n        parentDirectoryID: this.parentContentId,\n        type: \"RecordedVideos\"\n      };\n\n      if (!this.isEditMode) {\n        await this.createYoutubeContent(obj).then((res) => {\n          if (res) {\n            this.$toasted.success(\"content created successfully\", {\n              duration: 5000,\n              theme: \"outline\",\n              position: \"bottom-center\",\n            });\n          }\n        });\n      }\n      else {\n        await this.updateContent(obj).then((res) => {\n          if (res) {\n            this.$toasted.success(\"content updated successfully\", {\n              duration: 5000,\n              theme: \"outline\",\n              position: \"bottom-center\",\n            });\n          }\n        });\n      }\n      this.closeModal();\n\n    },\n\n    closeModal() {\n      this.$emit(\"updateModalState\", false);\n    },\n\n    validateYouTubeUrl(url) {\n      var regExp = /^(https?:\\/\\/)?(www\\.)?(youtube\\.com\\/(?:[^\\/\\n\\s]+\\/\\S+\\/|(?:v|e(?:mbed)?)\\/|\\S*?[?&]v=)|youtu\\.be\\/)([a-zA-Z0-9_-]{11})/;\n      var match = url.match(regExp);\n      return match !== null;\n    }\n  },\n  watch: {\n    visible: function () {\n      console.log(this.serviceData, \"service\");\n      if (this.visible) {\n        if (this.isEditMode) {\n          this.getContentById({ id: this.contentData.id }).then((res) => {\n            if (res) {\n              this.id = res.id;\n              this.title = res.title;\n              this.title = res.title;\n              this.startDate = res.availableFrom\n                ? getInputDateFormat(res.availableFrom)\n                : null;\n              this.endDate = res.availableTo\n                ? getInputDateFormat(res.availableTo)\n                : null;\n              this.isAvailableForDemo = res.isContentAvailableForDemo;\n              this.url = this.contentData && res.data && res.data.url ? res.data.url : null;\n            }\n          });\n          return;\n        }\n\n        this.url = null;\n        this.title = null;\n        this.startDate = null;\n        this.endDate = null;\n        this.isAvailableForDemo = false;\n\n      }\n    },\n  },\n};\n</script>\n  \n<style>\n.upload-video-modal {\n  height: 45.375rem;\n  width: 70vw;\n}\n\n/* .custom-modal .modal-dialog {\n      max-width: 70vw;\n  } */\n\n.upload-video-modal .modal-body {\n  display: flex;\n  flex-direction: row;\n  padding: 0 !important;\n  font-size: 1rem;\n}\n\n.upload-video-modal .modal-body .body-container {\n  padding: 2.5rem;\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n  position: relative;\n}\n\n.body-content-container {\n  display: flex;\n  flex-direction: row;\n  /* column-gap: 1rem; */\n  align-items: flex-start;\n  margin-top: 1rem;\n  height: 100%;\n}\n\n.body-content-container .info-container {\n  width: 0;\n  opacity: 0;\n  transition: all 0.6s ease-in-out;\n}\n\n.body-content-container .info-container.expand {\n  width: 70% !important;\n  opacity: 1 !important;\n  padding-right: 4rem;\n}\n\n.body-content-container .info-container.expand.link {\n  width: 100% !important;\n  padding: 0;\n}\n\n.body-content-container .upload-container {\n  width: 100%;\n  height: 100%;\n  transition: all 0.6s ease-in-out;\n}\n\n.body-content-container .upload-container.shrink {\n  width: 30% !important;\n  height: 50% !important;\n}\n\n.body-content-container .upload-container.shrink.multiple {\n  width: 30% !important;\n  height: 90% !important;\n}\n\n.body-content-container .upload-container #dropzone {\n  border-radius: 8px;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  font-family: unset;\n  overflow-y: auto;\n  overflow-x: hidden;\n  max-height: 34.375rem;\n}\n\n.body-content-container .upload-container .preview {\n  border-radius: 8px;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  font-family: unset;\n  overflow-y: auto;\n  overflow-x: hidden;\n  max-height: 34.375rem;\n  background: #eeeeee;\n  border: 1px solid #ddd;\n}\n\n.body-content-container .upload-container .preview img {\n  transition: all 0.3s ease;\n}\n\n.body-content-container .upload-container .preview img:hover {\n  box-shadow: 0 0 3px 6px rgba(0, 0, 0, 0.05);\n  border-radius: 50%;\n  background-color: #ffffff;\n  cursor: pointer;\n}\n\n.body-content-container .upload-container.shrink #dropzone {\n  justify-content: flex-start;\n}\n\n.dropzone .dz-preview {\n  min-height: unset !important;\n}\n\n.info-container .main-label {\n  font-weight: 500;\n  font-size: 1rem;\n  line-height: 1.37;\n  text-transform: uppercase;\n  color: #727272;\n  margin-bottom: 1rem;\n}\n\n.info-container .form-group {\n  display: flex;\n  flex-direction: column;\n}\n\n.info-container .form-input {\n  border: 0;\n  border-bottom: 1.5px solid #b2b2b2;\n  font-size: 1rem;\n  outline: none;\n  padding: 0.875rem 0;\n  /* max-width: 21.625rem; */\n  width: 100%;\n}\n\n.form-input:focus {\n  border-color: var(--primary-color) !important;\n}\n\n.vue-dropzone>.dz-preview {\n  width: 90%;\n  display: flex;\n  flex-direction: column;\n}\n\n.vue-dropzone>.dz-preview .dz-details {\n  /* color: #fff !important; */\n  background-color: #dddddd !important;\n  transition: all 0.6s linear;\n  border-radius: 8px;\n}\n\n.vue-dropzone>.dz-preview.dz-success .dz-details {\n  background-color: #21cf47 !important;\n}\n\n.vue-dropzone>.dz-preview.dz-error .dz-details {\n  background-color: var(--color-danger) !important;\n}\n\n.vue-dropzone>.dz-preview .dz-remove {\n  border-radius: 8px;\n  /* background-color: #dcdcdc !important;\n    color: #000000 !important;\n    margin: 0 !important;\n    transform: translateX(-50%) !important;\n    left: 50%; */\n  /* width: 100%; */\n}\n\n.vue-dropzone>.dz-preview .dz-filename,\n.vue-dropzone>.dz-preview .dz-size {\n  color: #000000;\n}\n\n.vue-dropzone>.dz-preview.dz-success .dz-filename,\n.vue-dropzone>.dz-preview.dz-error .dz-filename,\n.vue-dropzone>.dz-preview.dz-success .dz-size,\n.vue-dropzone>.dz-preview.dz-error .dz-size {\n  color: #ffffff;\n}\n\n.minimize-button {\n  position: absolute;\n  color: #000000;\n  right: 5rem;\n  font-size: 1.5rem;\n  line-height: 1;\n  margin-top: -0.25rem;\n}\n\n.min .minimize-button {\n  right: 3rem !important;\n  font-size: 1.25rem !important;\n  top: 1.125rem;\n}\n\n.video-title {\n  position: absolute;\n  color: #000000;\n  font-size: 1rem;\n  left: 1rem;\n  display: none;\n  top: 0.675rem;\n}\n\n.min .video-title {\n  display: block !important;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  max-width: 15rem;\n}\n\n.min {\n  width: 22rem !important;\n  height: 3rem !important;\n  overflow: hidden !important;\n  padding: 0px !important;\n  margin: 0px;\n\n  float: left;\n  position: static !important;\n}\n\n.min .modal-dialog,\n.min .modal-content {\n  height: 100%;\n  width: 100%;\n  margin: 0px !important;\n  padding: 0px !important;\n}\n\n.display-none {\n  display: none !important;\n}\n\n.minmaxCon {\n  height: 3rem;\n  bottom: 0.5rem;\n  right: 0.5rem;\n  position: fixed;\n  /* right: 1px; */\n  z-index: 9999;\n  display: flex;\n  column-gap: 0.5rem;\n}\n\n.min .close-button {\n  position: absolute;\n  top: 0.675rem;\n  right: 1rem;\n}\n\n.min .close-button img {\n  width: 1rem;\n}\n</style>\n  ","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UploadYoutubeRecordedLectureModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UploadYoutubeRecordedLectureModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UploadYoutubeRecordedLectureModal.vue?vue&type=template&id=62f771d0&\"\nimport script from \"./UploadYoutubeRecordedLectureModal.vue?vue&type=script&lang=js&\"\nexport * from \"./UploadYoutubeRecordedLectureModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UploadYoutubeRecordedLectureModal.vue?vue&type=style&index=0&id=62f771d0&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"invoice-detail-modal\",\"dialog-class\":'animate-modal-dialog '+(_vm.isExpanded?'expanded':'shrink'),\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"invoice-detail-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState')}}},[_c('div',{staticClass:\"body-container\"},[_c('div',{staticClass:\"right-close-panel\"},[_c('button',{staticClass:\"close-button expanded-btn mr-3\",attrs:{\"role\":\"button\"},on:{\"click\":function (){ _vm.isExpanded=!_vm.isExpanded; }}},[(!_vm.isExpanded)?_c('i',{staticClass:\"fas fa-expand-alt\"}):_vm._e(),(_vm.isExpanded)?_c('i',{staticClass:\"fas fa-compress-alt\"}):_vm._e()]),_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})])]),_c('div',{staticClass:\"d-flex justify-content-between align-items-end\"},[_c('div')]),_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"invoice-details\"}},[_vm._v(\" Questions \")]),_c('table',{staticClass:\"table table-borderless enrolled-users-table\"},[_c('thead',[_c('tr',{staticClass:\"d-flex\"},[_c('th',[_vm._v(\"ID\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Title\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Type\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Marks\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Randomize Answers\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Action\")])])]),(!_vm.loading && _vm.questions && _vm.questions.length > 0)?_c('tbody',_vm._l((_vm.questions),function(question,index){return _c('tr',{key:index,staticClass:\"d-flex cursor-pointer\",on:{\"click\":function($event){return _vm.toggleQuizQuestionsModal(true, question)}}},[_c('td',[_vm._v(_vm._s(question.id))]),_c('td',{staticClass:\"col\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(question.title)}})]),_c('td',{staticClass:\"col\"},[_vm._v(_vm._s(question.type))]),_c('td',{staticClass:\"col\"},[_vm._v(_vm._s(question.marks))]),_c('td',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(question.randomizeAnswerOptions ? \"Yes\" : \"No\")+\" \")]),_c('td',{staticClass:\"col\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.showDeleteConfirmPopup(question.id)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon \",staticStyle:{\"margin-left\":\"20px\"},attrs:{\"id\":'button-' + question.id,\"href\":\"#\",\"tabindex\":\"0\"}},[_c('i',{staticClass:\"fa fa-eye\"})]),_c('b-popover',{attrs:{\"target\":'button-' + question.id,\"placement\":\"bottom\",\"triggers\":\"focus\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(question.questionText)}})])],1)])}),0):(_vm.loading)?_c('div',{staticClass:\"no-content\"},[_c('b-spinner'),_vm._v(\" Loading... \")],1):(!_vm.loading && (!_vm.questions || _vm.questions.length <= 0))?_c('div',{staticClass:\"no-content\"},[_vm._v(\" No Questions found \")]):_vm._e()]),_c('QuizQuestionsModal',{attrs:{\"visible\":_vm.showQuizQuestionsModal,\"item\":_vm.contentData,\"questionData\":_vm.question,\"mode\":'edit'},on:{\"updateModalState\":_vm.toggleQuizQuestionsModal,\"getData\":_vm.get}}),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"skip-step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_vm._v(\" Close \")])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-modal id=\"invoice-detail-modal\" @change=\"$emit('updateModalState')\" :dialog-class=\"'animate-modal-dialog '+(isExpanded?'expanded':'shrink')\" :visible=\"visible\" hide-header centered\n    content-class=\"invoice-detail-modal\" size=\"xl\" body-class=\"modal-body\" hide-footer modal-class=\"custom-modal\"\n    no-close-on-backdrop>\n\n    <div class=\"body-container\">\n      <div class=\"right-close-panel\">\n\t\t\t\t<button @click=\"()=>{ isExpanded=!isExpanded; }\" class=\"close-button expanded-btn mr-3\" role=\"button\">\n\t\t\t\t\t\t\t<i v-if=\"!isExpanded\" class=\"fas fa-expand-alt\"></i>\n\t\t\t\t\t\t\t<i v-if=\"isExpanded\" class=\"fas fa-compress-alt\"></i>\n\t\t\t\t</button>\n\t\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t\n      \n      <div class=\"d-flex justify-content-between align-items-end\">\n        <div>\n          <!-- <h1 v-if=\"invoice\" class=\"add-enroll-title\">\n            Invoice # {{ invoice.id }}\n          </h1>\n          <div v-if=\"invoice\" class=\"d-flex align-items-center gap-3 mb-4\">\n            <div\n              :class=\"[\n                'status-tag',\n                {\n                  success: invoice.status == InvoiceStatus.PAID,\n                  danger:\n                    invoice.status == InvoiceStatus.UNPAID ||\n                    invoice.status == InvoiceStatus.OVER_PAID,\n                  warning: invoice.status == InvoiceStatus.PARTIALLY_PAID,\n                },\n              ]\"\n            >\n              {{ invoice.status }}\n            </div>\n            <span>{{ user.firstName }} {{ user.lastName }}</span>\n          </div> -->\n        </div>\n      </div>\n\n      <label for=\"invoice-details\" class=\"main-label\"> Questions </label>\n      <table class=\"table table-borderless enrolled-users-table\">\n        <thead>\n          <tr class=\"d-flex\">\n            <th>ID</th>\n            <th class=\"col\">Title</th>\n            <!-- <th class=\"col\">Text</th> -->\n            <th class=\"col\">Type</th>\n            <th class=\"col\">Marks</th>\n            <th class=\"col\">Randomize Answers</th>\n            <th class=\"col\">Action</th>\n          </tr>\n        </thead>\n        <tbody v-if=\"!loading && questions && questions.length > 0\">\n          <!-- <InvoiceDetailItem\n            v-for=\"detail in invoice.details\"\n            :key=\"detail.id\"\n            :invoiceDetail=\"detail\"\n            :selectedDetails=\"selectedDetails\"\n            @toggleSelect=\"toggleInvoiceSelect\"\n            :arePaymentsAdded=\"arePaymentsAdded()\"\n            :currency=\"invoice.currency\"\n            @updateAmount=\"updatePayment\"\n            @updateDiscount=\"discountUpdate\"\n            @updateError=\"error\"\n            @updateDueDate=\"dueDateUpdate\"\n            :mode=\"mode\"\n            :error=\"isError\"\n            :invoiceId=\"invoice.id\"\n            :userId=\"user.id\"\n          /> -->\n          <tr class=\"d-flex cursor-pointer\" v-for=\"(question, index) in questions\" :key=\"index\"\n            @click=\"toggleQuizQuestionsModal(true, question)\">\n            <td>{{ question.id }}</td>\n            <td class=\"col\">\n              <span v-html=\"question.title\"> </span>\n            </td>\n            <!-- <td class=\"col\">\n              <span v-html=\"question.questionText\"> </span>\n            </td> -->\n            <td class=\"col\">{{ question.type }}</td>\n            <td class=\"col\">{{ question.marks }}</td>\n            <td class=\"col\">\n              {{ question.randomizeAnswerOptions ? \"Yes\" : \"No\" }}\n            </td>\n            <td class=\"col\" @click.stop>\n              <a @click=\"showDeleteConfirmPopup(question.id)\" role=\"button\" class=\"right-menu-icon delete\">\n                <img src=\"@/assets/images/delete-icon.svg\" />\n              </a>\n              <a :id=\"'button-' + question.id\" href=\"#\" tabindex=\"0\" class=\"right-menu-icon \" style=\"margin-left: 20px;;\">\n                <i class=\"fa fa-eye\"></i>\n              </a>\n\n              <!-- <a id=\"popover-button-variant\" href=\"#\" tabindex=\"0\">Button</a> -->\n              <b-popover :target=\"'button-' + question.id\" placement=\"bottom\" triggers=\"focus\">\n                <!-- <template #title>Danger!</template> -->\n                <span v-html=\"question.questionText\"> </span>\n              </b-popover>\n            </td>\n          </tr>\n        </tbody>\n        <div v-else-if=\"loading\" class=\"no-content\">\n          <b-spinner></b-spinner> Loading...\n        </div>\n        <div v-else-if=\"!loading && (!questions || questions.length <= 0)\" class=\"no-content\">\n          No Questions found\n        </div>\n      </table>\n\n      <QuizQuestionsModal @updateModalState=\"toggleQuizQuestionsModal\" :visible=\"showQuizQuestionsModal\"\n        :item=\"contentData\" :questionData=\"question\" :mode=\"'edit'\" @getData=\"get\" />\n\n      <div class=\"step-btn-container\">\n        <button @click=\"closeModal\" role=\"button\" class=\"skip-step-btn\">\n          Close\n        </button>\n        <!-- <button\n          :disabled=\"disableSave()\"\n          @click=\"\n            mode == 'pay' || mode == 'refund' ? payInvoice() : invoiceEdit()\n          \"\n          role=\"button\"\n          class=\"step-btn\"\n        >\n          <b-spinner v-if=\"loading\" small></b-spinner>\n          \n          <img src=\"@/assets/images/arrow-right.svg\" />\n        </button> -->\n      </div>\n    </div>\n  </b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport QuizQuestionsModal from \"./QuizQuestionsModal.vue\";\n// import InvoiceDetailItem from \"./InvoiceDetailItem.vue\";\nimport { currencyCodes } from \"../../../constants/currencyCodes\";\nimport { createPopper } from \"@popperjs/core\";\nimport { getInputDateFormat } from \"../../../helpers/FormatHelpers\";\nimport { InvoiceStatus } from \"../../../constants/pricing\";\n\nexport default {\n  name: \"UserInvoiceDetailModal\",\n  props: {\n    contentData: Object,\n    showModal: Boolean,\n  },\n  components: {\n    // InvoiceDetailItem,\n    QuizQuestionsModal,\n  },\n  data() {\n    return {\n      questions: [],\n      showQuizQuestionsModal: false,\n      question: {},\n      isExpanded:false\n    };\n  },\n  computed: {\n    ...mapState(\"quiz\", [\"loading\"]),\n\n    visible() {\n      return this.showModal;\n    },\n  },\n  methods: {\n    ...mapActions(\"quiz\", [\"getQuizQuestions\", \"deleteQuestion\"]),\n    closeModal() {\n      this.$emit(\"updateModalState\", false);\n    },\n\n    showDeleteConfirmPopup(questionID) {\n      this.$bvModal\n        .msgBoxConfirm(`Are you sure you want to delete Question?`, {\n          title: \"Are you sure?\",\n          size: \"sm\",\n          buttonSize: \"sm\",\n          okVariant: \"danger\",\n          okTitle: \"Yes\",\n          cancelTitle: \"No\",\n          footerClass: \"p-2\",\n          hideHeaderClose: false,\n          centered: true,\n          bodyClass: \"confirm-modal-body\",\n        })\n        .then((value) => {\n          // this.isConfirm = value;\n          if (value) {\n            this.delete(questionID);\n          }\n        })\n        .catch((err) => {\n          console.error(err);\n          // An error occurred\n        });\n    },\n\n    delete(id) {\n      this.deleteQuestion(id).then((response) => {\n        if (response?.status.toLowerCase() == \"success\") {\n          this.get();\n          this.$toasted.success(\"Question Deleted Successful!\", {\n            icon: \"check\",\n            theme: \"outline\",\n            position: \"bottom-right\",\n            duration: 5000,\n          });\n          // this.closeModal();\n        }\n      });\n    },\n\n    get() {\n      if (this.contentData.id) {\n        this.getQuizQuestions(this.contentData.id).then((res) => {\n          if (res) {\n            this.questions = res;\n          }\n        });\n      }\n    },\n\n    toggleQuizQuestionsModal(state, q) {\n      this.question = q;\n      this.showQuizQuestionsModal = state;\n    },\n  },\n  created() {\n    this.get();\n  },\n  watch: {\n    // mode: function () {\n    // },\n  },\n};\n</script>\n\n<style>\n.status-tag {\n  border-radius: 6px;\n  padding: 0.25rem 0.5rem;\n  text-transform: uppercase;\n  color: #ffffff;\n  font-size: 0.75rem;\n  font-weight: normal;\n  line-height: 1;\n  width: fit-content;\n  height: fit-content;\n}\n\n.status-tag.success {\n  background-color: #00c672;\n}\n\n.status-tag.danger {\n  background-color: var(--color-danger);\n}\n\n.status-tag.warning {\n  background-color: var(--color-warning);\n}\n\n.invoice-detail-modal input[type=\"checkbox\"] {\n  /* margin-left: 1.5rem; */\n  background: #ffffff;\n  border: 1px solid #b2b2b2;\n  box-sizing: border-box;\n  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n  border-radius: 3px;\n  width: 1.25rem;\n  height: 1.25rem;\n}\n\n.enrolled-users-table td {\n  min-height: 4rem;\n  height: unset;\n  vertical-align: middle;\n}\n\n.add-btn {\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  border-radius: 8px;\n  display: flex !important;\n  align-items: center;\n  justify-content: center;\n  padding: 0.625rem 1rem;\n  text-transform: uppercase;\n  font-weight: 500;\n  font-size: 0.875rem;\n  line-height: 1.125rem;\n  letter-spacing: 0.05em;\n  color: #000000;\n  text-decoration: none;\n  transition: all 0.3s ease;\n}\n\n.add-btn:hover {\n  box-shadow: 4px 6px 5px 0px rgb(197 197 197 / 20%);\n}\n\n.add-btn-icon {\n  margin-right: 0.625rem;\n  width: 1rem;\n  height: 1rem;\n}\n\n.add-btn::after {\n  display: none !important;\n}\n\n.cursor-pointer {\n  cursor: pointer;\n}\n\nth.shrink {\n  width: fit-content !important;\n  padding-right: 1rem !important;\n}\n\n\n#invoice-detail-modal .expanded\n{\n\tmax-width: 96%;\n\tmax-height: 96%;\n\n}\n\n#invoice-detail-modal .expanded .invoice-detail-modal\n{\n\theight: 90vh;\n\t\n}\n\n</style>\n\n<style scoped>\n\t.right-close-panel\n\t{\n\t\tposition: absolute;\n    \ttop: 2.5rem;\n    \tright: 2rem;\n\t\tdisplay: flex;\n\t}\n\n\t.right-close-panel .close-button\n\t{\n\t\tposition: initial;\n\t}\n\t\n\t.expanded-btn{\n\t\tcolor: black;\n\t    font-size: 24px;\n\t    margin-right: 15px;\n\t\tpadding-top: 4px;\n\t}\ntbody {\n  display: block;\n  height: 350px;\n  overflow: scroll;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ViewQuizQuestionsModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ViewQuizQuestionsModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ViewQuizQuestionsModal.vue?vue&type=template&id=d95aff68&scoped=true&\"\nimport script from \"./ViewQuizQuestionsModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ViewQuizQuestionsModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ViewQuizQuestionsModal.vue?vue&type=style&index=0&id=d95aff68&prod&lang=css&\"\nimport style1 from \"./ViewQuizQuestionsModal.vue?vue&type=style&index=1&id=d95aff68&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"d95aff68\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"add-enroll-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"add-enroll-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),(_vm.currentStep == 1)?_c('div',{staticClass:\"step1\"},[_c('h1',{staticClass:\"add-enroll-title mb-5\"},[_vm._v(\" Enroll Courses for \"+_vm._s(_vm.user.firstName)+\" \"+_vm._s(_vm.user.lastName)+\" \")]),(_vm.productVariants.length > 0)?_c('div',[_c('div',{staticClass:\"d-flex align-items-center mb-2 gap-3\"},[_c('div',{staticClass:\"flex-grow-1 col-8\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"variant-search\"}},[_vm._v(\"Search\")]),_c('div',{staticClass:\"searchbar\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"autocomplete\":\"off\",\"id\":\"variant-search\",\"placeholder\":\"Search by id or course/batch name\"},domProps:{\"value\":(_vm.searchText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}}),_c('a',{attrs:{\"role\":\"button\"}},[_c('img',{staticClass:\"search-icon\",attrs:{\"src\":require(\"@/assets/images/search-icon.svg\")}})])])]),_c('div',{staticClass:\"flex-grow-1 col-3\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"enrollmentType\"}},[_vm._v(\"Enrollment Type\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"id\":\"enrollmentType\",\"reduce\":function (option) { return option.value; },\"options\":_vm.enrollmentTypeOptions,\"placeholder\":\"Select enrollment type\",\"clearable\":false},model:{value:(_vm.enrollmentType),callback:function ($$v) {_vm.enrollmentType=$$v},expression:\"enrollmentType\"}})],1)]),_c('button',{staticClass:\"select-all\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.toggleSelectAll}},[_vm._v(\" \"+_vm._s(_vm.selectBtnText)+\" \")]),_c('form',[_c('div',{staticClass:\"product-variant-list\"},[_vm._l((_vm.filteredVariantsList),function(item){return _c('EnrollmentCourseListItem',{key:item.id,attrs:{\"item\":item,\"enrollmentType\":_vm.enrollmentType,\"selectedVariants\":_vm.selectedVariants,\"directEnrollVariants\":_vm.directEnrollVariants},on:{\"updateEnrollmentLists\":_vm.updateEnrollments}})}),(_vm.filteredVariantsList.length == 0)?_c('div',{staticClass:\"no-content text-center\"},[_vm._v(\" No courses found! \")]):_vm._e(),(_vm.loading && !_vm.filteredVariantsList)?_c('div'):_vm._e()],2)])]):_vm._e()]):_vm._e(),(_vm.currentStep == 2)?_c('div',{staticClass:\"step2\"},[_c('h1',{staticClass:\"add-enroll-title\"},[_vm._v(\" Enroll Courses for \"+_vm._s(_vm.user.firstName)+\" \"+_vm._s(_vm.user.lastName)+\" \")]),(_vm.selectedVariants.length > 0)?_c('div',[_c('h4',[_vm._v(\"Paid Courses\")]),_c('table',{attrs:{\"id\":\"product-variants\"}},[_c('tr',{staticClass:\"head\"},[_c('th',[_vm._v(\"ID\")]),_c('th',[_vm._v(\"Course Name\")]),_c('th')]),_c('tbody',_vm._l((_vm.selectedVariants),function(productVariant,index){return _c('div',{key:index,staticClass:\"product-variant-item\"},[_c('tr',{attrs:{\"data-bs-toggle\":\"collapse\",\"data-bs-target\":(\"#variant-collapse-\" + (productVariant.id)),\"aria-expanded\":\"true\"}},[_c('td',[_vm._v(_vm._s(productVariant.id))]),_c('td',[_vm._v(\" \"+_vm._s(productVariant.product.title)+\" (\"+_vm._s(productVariant.title)+\") \")]),_c('td'),_c('td'),_c('td'),_c('td',[_c('img',{attrs:{\"src\":require(\"@/assets/images/caret-down.svg\")}})])]),_c('div',{staticClass:\"collapse show ps-4 pe-4\",attrs:{\"id\":(\"variant-collapse-\" + (productVariant.id))}},[(productVariant.pricingStatus.toLowerCase() != 'free')?_c('EnrollmentPricingPlans',{ref:(\"plan-\" + (productVariant.id)),refInFor:true,attrs:{\"productVariantId\":productVariant.id,\"showDone\":true,\"user\":_vm.user,\"parent\":\"userenroll\"},on:{\"invoiceDetailAdd\":_vm.addInvoiceDetail,\"error\":_vm.setError}}):_vm._e()],1)])}),0)])]):_vm._e(),(_vm.directEnrollVariants.length > 0)?_c('div',[_c('h4',{staticClass:\"mt-4\"},[_vm._v(\"Free/Direct Enrollment Courses\")]),_c('table',{staticClass:\"mt-2\",attrs:{\"id\":\"product-variants\"}},[_c('tr',{staticClass:\"head\"},[_c('th',[_vm._v(\"ID\")]),_c('th',[_vm._v(\"Course Name\")]),_c('th'),_c('th'),_c('th')]),_c('tbody',_vm._l((_vm.directEnrollVariants),function(productVariant,index){return _c('tr',{key:index,staticClass:\"product-variant-item\"},[_c('td',[_vm._v(_vm._s(productVariant.id))]),_c('td',[_vm._v(\" \"+_vm._s(productVariant.product.title)+\" (\"+_vm._s(productVariant.title)+\") \")]),_c('td'),_c('td'),_c('td'),_c('td')])}),0)])]):_vm._e()]):_vm._e(),(_vm.isError())?_c('p',{staticClass:\"text-danger\"},[_c('i',{staticClass:\"fa fa-exclamation-circle\"}),_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")]):_vm._e(),_c('div',{staticClass:\"step-btn-container\"},[(_vm.showPrev)?_c('a',{staticClass:\"step-btn prev\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prev}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}}),_vm._v(\" prev \")]):_vm._e(),_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext || _vm.loading || _vm.isCurrentLoading || _vm.checkInvoiceDetails() || _vm.isError()},on:{\"click\":_vm.next}},[((_vm.loading || _vm.isCurrentLoading))?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.stepButtonContent)+\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\tid=\"add-enroll-modal\"\n\t\t@change=\"$emit('updateModalState', false)\"\n\t\t:visible=\"visible\"\n\t\thide-header\n\t\tcentered\n\t\tcontent-class=\"add-enroll-modal\"\n\t\tsize=\"xl\"\n\t\tbody-class=\"modal-body\"\n\t\thide-footer\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t>\n\t\t<div class=\"body-container\">\n\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<div class=\"step1\" v-if=\"currentStep == 1\">\n\t\t\t\t<h1 class=\"add-enroll-title mb-5\">\n\t\t\t\t\tEnroll Courses for {{ user.firstName }} {{ user.lastName }}\n\t\t\t\t</h1>\n\t\t\t\t<!-- <p class=\"mb-5\">Select Courses to enroll (required)</p> -->\n\t\t\t\t<div v-if=\"productVariants.length > 0\">\n\t\t\t\t\t<div class=\"d-flex align-items-center mb-2 gap-3\">\n\t\t\t\t\t\t<div class=\"flex-grow-1 col-8\">\n\t\t\t\t\t\t\t<label for=\"variant-search\" class=\"main-label\">Search</label>\n\t\t\t\t\t\t\t<div class=\"searchbar\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t\t\t\tid=\"variant-search\"\n\t\t\t\t\t\t\t\t\tplaceholder=\"Search by id or course/batch name\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\tv-model=\"searchText\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<a role=\"button\"\n\t\t\t\t\t\t\t\t\t><img\n\t\t\t\t\t\t\t\t\t\tclass=\"search-icon\"\n\t\t\t\t\t\t\t\t\t\tsrc=\"@/assets/images/search-icon.svg\"\n\t\t\t\t\t\t\t\t/></a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"flex-grow-1 col-3\">\n\t\t\t\t\t\t\t<label for=\"enrollmentType\" class=\"main-label\"\n\t\t\t\t\t\t\t\t>Enrollment Type</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\tid=\"enrollmentType\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\tv-model=\"enrollmentType\"\n\t\t\t\t\t\t\t\t:reduce=\"(option) => option.value\"\n\t\t\t\t\t\t\t\t:options=\"enrollmentTypeOptions\"\n\t\t\t\t\t\t\t\tplaceholder=\"Select enrollment type\"\n\t\t\t\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</v-select>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<button @click=\"toggleSelectAll\" type=\"button\" class=\"select-all\">\n\t\t\t\t\t\t{{ selectBtnText }}\n\t\t\t\t\t</button>\n\t\t\t\t\t<form>\n\t\t\t\t\t\t<div class=\"product-variant-list\">\n\t\t\t\t\t\t\t<EnrollmentCourseListItem\n\t\t\t\t\t\t\t\tv-for=\"item in filteredVariantsList\"\n\t\t\t\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t\t\t\t:enrollmentType=\"enrollmentType\"\n\t\t\t\t\t\t\t\t:selectedVariants=\"selectedVariants\"\n\t\t\t\t\t\t\t\t:directEnrollVariants=\"directEnrollVariants\"\n\t\t\t\t\t\t\t\t@updateEnrollmentLists=\"updateEnrollments\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"no-content text-center\"\n\t\t\t\t\t\t\t\tv-if=\"filteredVariantsList.length == 0\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tNo courses found!\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-if=\"loading && !filteredVariantsList\"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"step2\" v-if=\"currentStep == 2\">\n\t\t\t\t<h1 class=\"add-enroll-title\">\n\t\t\t\t\tEnroll Courses for {{ user.firstName }} {{ user.lastName }}\n\t\t\t\t</h1>\n\t\t\t\t<!-- <p v-if=\"selectedVariants.length > 0\" class=\"mb-5\">\n\t\t\t\t\tSelect Pricing Plans and Mark As Paid\n\t\t\t\t</p> -->\n\t\t\t\t<div v-if=\"selectedVariants.length > 0\">\n\t\t\t\t\t<h4>Paid Courses</h4>\n\t\t\t\t\t<table id=\"product-variants\">\n\t\t\t\t\t\t<tr class=\"head\">\n\t\t\t\t\t\t\t<th>ID</th>\n\t\t\t\t\t\t\t<th>Course Name</th>\n\t\t\t\t\t\t\t<!-- <th>Trainer</th>\n\t\t\t\t\t\t\t<th>Price from</th>\n\t\t\t\t\t\t\t<th>Start Date</th> -->\n\t\t\t\t\t\t\t<th></th>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tv-for=\"(productVariant, index) in selectedVariants\"\n\t\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\t\tclass=\"product-variant-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<tr\n\t\t\t\t\t\t\t\t\tdata-bs-toggle=\"collapse\"\n\t\t\t\t\t\t\t\t\t:data-bs-target=\"`#variant-collapse-${productVariant.id}`\"\n\t\t\t\t\t\t\t\t\taria-expanded=\"true\"\n\t\t\t\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<td>{{ productVariant.id }}</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t{{ productVariant.product.title }} ({{\n\t\t\t\t\t\t\t\t\t\t\tproductVariant.title\n\t\t\t\t\t\t\t\t\t\t}})\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t<!-- {{ productVariant.creator.name }} -->\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t<!-- {{\n\t\t\t\t\t\t\t\t\t\t\tcurrencyParser(\n\t\t\t\t\t\t\t\t\t\t\t\tproductVariant.pricing.amount,\n\t\t\t\t\t\t\t\t\t\t\t\tproductVariant.pricing.currency\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}} -->\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t<!-- {{ new Date(productVariant.startDate).toDateString() }} -->\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/caret-down.svg\" />\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclass=\"collapse show ps-4 pe-4\"\n\t\t\t\t\t\t\t\t\t:id=\"`variant-collapse-${productVariant.id}`\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<EnrollmentPricingPlans\n\t\t\t\t\t\t\t\t\t\tv-if=\"productVariant.pricingStatus.toLowerCase() != 'free'\"\n\t\t\t\t\t\t\t\t\t\t:productVariantId=\"productVariant.id\"\n\t\t\t\t\t\t\t\t\t\t:showDone=\"true\"\n\t\t\t\t\t\t\t\t\t\t@invoiceDetailAdd=\"addInvoiceDetail\"\n\t\t\t\t\t\t\t\t\t\t:ref=\"`plan-${productVariant.id}`\"\n\t\t\t\t\t\t\t\t\t\t:user=\"user\"\n\t\t\t\t\t\t\t\t\t\t@error=\"setError\"\n\t\t\t\t\t\t\t\t\t\tparent=\"userenroll\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\n\t\t\t\t<div v-if=\"directEnrollVariants.length > 0\">\n\t\t\t\t\t<h4 class=\"mt-4\">Free/Direct Enrollment Courses</h4>\n\t\t\t\t\t<table id=\"product-variants\" class=\"mt-2\">\n\t\t\t\t\t\t<tr class=\"head\">\n\t\t\t\t\t\t\t<th>ID</th>\n\t\t\t\t\t\t\t<th>Course Name</th>\n\t\t\t\t\t\t\t<!-- <th>Tutor</th>\n\t\t\t\t\t\t\t<th>Price from</th>\n\t\t\t\t\t\t\t<th>Start Date</th> -->\n\t\t\t\t\t\t\t<th></th>\n\t\t\t\t\t\t\t<th></th>\n\t\t\t\t\t\t\t<th></th>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr\n\t\t\t\t\t\t\t\tv-for=\"(productVariant, index) in directEnrollVariants\"\n\t\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\t\tclass=\"product-variant-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<td>{{ productVariant.id }}</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t{{ productVariant.product.title }} ({{\n\t\t\t\t\t\t\t\t\t\tproductVariant.title\n\t\t\t\t\t\t\t\t\t}})\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<!-- {{ productVariant.creator.name }} -->\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<!-- {{ productVariant.pricingStatus }} -->\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<!-- {{\n\t\t\t\t\t\t\t\t\t\tproductVariant.startDate\n\t\t\t\t\t\t\t\t\t\t\t? new Date(productVariant.startDate).toDateString()\n\t\t\t\t\t\t\t\t\t\t\t: \"-\"\n\t\t\t\t\t\t\t\t\t}} -->\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<!-- <img src=\"@/assets/images/caret-down.svg\" /> -->\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<p v-if=\"isError()\" class=\"text-danger\">\n\t\t\t\t<i class=\"fa fa-exclamation-circle\"></i> {{ errorText }}\n\t\t\t</p>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<a @click=\"prev\" v-if=\"showPrev\" role=\"button\" class=\"step-btn prev\"\n\t\t\t\t\t><img src=\"@/assets/images/arrow-right.svg\" /> prev\n\t\t\t\t</a>\n\t\t\t\t<button\n\t\t\t\t\t@click=\"next\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t:disabled=\"\n\t\t\t\t\t\tdisableNext || loading || isCurrentLoading || checkInvoiceDetails() || isError()\n\t\t\t\t\t\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner small v-if=\"(loading || isCurrentLoading)\"></b-spinner>\n\t\t\t\t\t{{ stepButtonContent }}\n\t\t\t\t\t<img src=\"@/assets/images/arrow-right.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport formatter from \"../../../helpers/FormatHelpers\";\nimport EnrollmentPricingPlans from \"./EnrollmentPricingPlans.vue\";\nimport { ProductVariantEnrollmentType } from \"../../../constants/productVariant\";\nimport { ProductVariantPricingStatus } from \"../../../constants/pricing\";\nimport EnrollmentCourseListItem from \"./EnrollmentCourseListItem.vue\";\nimport Vue from \"vue\";\nexport default {\n\tname: \"AddUserEnrollmentModal\",\n\tdata() {\n\t\treturn {\n\t\t\tsearchText: \"\",\n\t\t\tselectedVariants: [],\n\t\t\tcurrentStep: 1,\n\t\t\ttotalSteps: 2,\n\t\t\tinvoiceDetails: [],\n\t\t\tdirectEnrollVariants: [],\n\t\t\tenrolledVariants: [],\n\t\t\tselectedPlan: {\n\t\t\t\titem: null,\n\t\t\t\tpayments: null,\n\t\t\t\tplanCycles: null,\n\t\t\t},\n\t\t\terrorText: \"\",\n\t\t\t// isError: false,\n\t\t\terrorsList: {},\n\t\t\tenrollmentType: \"Custom\",\n\t\t\tenrollmentTypeOptions: [\n\t\t\t\t{\n\t\t\t\t\tlabel: \"Direct Enrollment\",\n\t\t\t\t\tvalue: ProductVariantEnrollmentType.DIRECT_ENROLLMENT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: \"Pricing Plan\",\n\t\t\t\t\tvalue: ProductVariantEnrollmentType.PRICING_PLAN,\n\t\t\t\t},\n\t\t\t\t{ label: \"Custom\", value: \"Custom\" },\n\t\t\t],\n\t\t\tisCurrentLoading:false,\n\t\t\tProductVariantEnrollmentType,\n\t\t\tProductVariantPricingStatus,\n\t\t\t\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"fetchAllProductVariants\"]),\n\t\t...mapActions(\"pricing\", [\n\t\t\t\"createBulkInvoice\",\n\t\t\t\"fetchInvoiceByUserId\",\n\t\t\t\"fetchPaymentsByUserId\",\n\t\t]),\n\t\t...mapActions(\"user\", [\"fetchUserById\", \"enrollUserInProductVariant\"]),\n\t\tcloseModal() {\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t},\n\t\ttoggleSelectAll() {\n\t\t\tif (\n\t\t\t\tthis.filteredVariantsList.length &&\n\t\t\t\t(this.selectedVariants.length || this.directEnrollVariants.length)\n\t\t\t) {\n\t\t\t\tvar availableVariants = this.filteredVariantsList.filter((variant) => {\n\t\t\t\t\tif (!this.isCourseEnded(variant) && !this.isDisabled(variant)) {\n\t\t\t\t\t\treturn variant;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (\n\t\t\t\t\tavailableVariants.length ==\n\t\t\t\t\tthis.selectedVariants.length + this.directEnrollVariants.length\n\t\t\t\t) {\n\t\t\t\t\tthis.selectedVariants = [];\n\t\t\t\t\tthis.directEnrollVariants = [];\n\t\t\t\t} else if(this.enrollmentType == ProductVariantEnrollmentType.PRICING_PLAN) {\n\t\t\t\t\tthis.directEnrollVariants = [];\n\t\t\t\t\tthis.selectedVariants = availableVariants.filter(\n\t\t\t\t\t\t(v) => v.pricingStatus.toLowerCase() == \"paid\"\n\t\t\t\t\t);\n\t\t\t\t} else if(this.enrollmentType == ProductVariantEnrollmentType.DIRECT_ENROLLMENT) {\n\t\t\t\t\tthis.selectedVariants = [];\n\t\t\t\t\tthis.directEnrollVariants = availableVariants;\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectedVariants = availableVariants.filter(\n\t\t\t\t\t\t(v) => v.pricingStatus.toLowerCase() == \"paid\"\n\t\t\t\t\t);\n\t\t\t\t\tthis.directEnrollVariants = availableVariants.filter(\n\t\t\t\t\t\t(v) => v.pricingStatus.toLowerCase() != \"paid\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tprev() {\n\t\t\tif (this.currentStep > 1) {\n\t\t\t\tthis.currentStep -= 1;\n\t\t\t\tthis.invoiceDetails = [];\n\t\t\t\t// this.errorsList = {};\n\t\t\t\t// this.errorText = \"\";\n\t\t\t}\n\t\t},\n\t\tasync next() {\n\t\t\tif (this.currentStep < this.totalSteps) {\n\t\t\t\tthis.currentStep += 1;\n\t\t\t} else {\n\t\t\t\tthis.isCurrentLoading=true;\n\t\t\t\tObject.values(this.$refs).forEach((ref) => {\n\t\t\t\t\tconsole.log(ref);\n\t\t\t\t\t// this.getInvoicesAndPaymentData(ref);\n\t\t\t\t\tif (ref[0]) ref[0].emitInvoiceDetails();\n\t\t\t\t});\n\n\t\t\t\tif (\n\t\t\t\t\tthis.selectedVariants &&\n\t\t\t\t\tthis.selectedVariants.length > 0 &&\n\t\t\t\t\t!this.isError()\n\t\t\t\t)\n\t\t\t\t\tawait this.generateInvoice();\n\t\t\t\t// console.log(\"generateInvoice\", this.errorsList);\n\n\t\t\t\tif (\n\t\t\t\t\tthis.directEnrollVariants &&\n\t\t\t\t\tthis.directEnrollVariants.length > 0 &&\n\t\t\t\t\t!this.isError()\n\t\t\t\t)\n\t\t\t\t\tawait this.directlyEnrollCourses();\n\t\t\t\t\n\t\t\t\t\tthis.isCurrentLoading=false;\n\t\t\t\t\t\n\t\t\t\t// console.log(\"directlyEnrollCourses\");\n\t\t\t}\n\t\t},\n\t\tcurrencyParser(amount, currency) {\n\t\t\t// console.log(formatter.toCurrencyString(amount, this.planCurrency, 0));\n\t\t\treturn formatter.toCurrencyString(amount, currency, 0);\n\t\t},\n\t\taddInvoiceDetail(details) {\n\t\t\tconsole.log(details);\n\t\t\tdetails.forEach((detail) => {\n\t\t\t\tvar found = this.invoiceDetails.find(\n\t\t\t\t\t(invoice) => invoice.planDetailID == detail.planDetailID\n\t\t\t\t);\n\t\t\t\tif (!found) {\n\t\t\t\t\tthis.invoiceDetails = [...this.invoiceDetails, detail];\n\t\t\t\t} else {\n\t\t\t\t\tthis.invoiceDetails = this.invoiceDetails.map((d) => {\n\t\t\t\t\t\tif (detail.planDetailID == d.planDetailID) {\n\t\t\t\t\t\t\treturn detail;\n\t\t\t\t\t\t} else return d;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tgenerateInvoice() {\n\t\t\tthis.isCurrentLoading=true;\n\t\t\tvar invoice = {\n\t\t\t\tcustomerID: this.user.id,\n\t\t\t\tinvoiceDate: new Date().toISOString(),\n\t\t\t\tcurrency: \"PKR\",\n\t\t\t\tstatus: \"unpaid\",\n\t\t\t\tdetails: this.invoiceDetails,\n\t\t\t};\n\n\t\t\tthis.createBulkInvoice([invoice]).then((res) => {\n\t\t\t\tthis.isCurrentLoading = false;\n\t\t\t\tif (res && res.length && res[0].id != 0) {\n\t\t\t\t\tthis.fetchUserById(this.user.id);\n\t\t\t\t\tthis.fetchInvoiceByUserId(this.user.id).then(() => {\n\t\t\t\t\t\tthis.fetchPaymentsByUserId(this.user.id).then(() => {\n\t\t\t\t\t\t\tconsole.log(this.invoicesByUserId);\n\t\t\t\t\t\t\tthis.closeModal();\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}else if (res && res.length && res.length>0) {\n\t\t\t\t\tthis.closeModal();\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tdirectlyEnrollCourses() {\n\n\t\t\tthis.directEnrollVariants.forEach((variant) => {\n\t\t\t\tthis.isCurrentLoading=true;\n\t\t\t\tif (variant.endDate && new Date(variant.endDate) < new Date()) {\n\t\t\t\t\tthis.errorsList[variant.id] = true;\n\t\t\t\t\tthis.errorText =\n\t\t\t\t\t\t\"You cannot enroll students in courses that have ended.\";\n\t\t\t\t\tthis.showErrorMessage(variant);\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tthis.errorsList[variant.id] = false;\n\t\t\t\t\tthis.errorText = \"\";\n\t\t\t\t}\n\t\t\t\tvar requestObj = {\n\t\t\t\t\tuserID: this.user.id,\n\t\t\t\t\tproductVariantID: variant.id,\n\t\t\t\t\tallowedRanges: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstartsFrom: variant.startDate\n\t\t\t\t\t\t\t\t? variant.startDate\n\t\t\t\t\t\t\t\t: new Date(\"12/31/1970\").toISOString(),\n\t\t\t\t\t\t\tendsAt: variant.endDate\n\t\t\t\t\t\t\t\t? variant.endDate\n\t\t\t\t\t\t\t\t: new Date(\"12/31/2070\").toISOString(),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t\tthis.enrollUserInProductVariant({\n\t\t\t\t\tuser: this.user,\n\t\t\t\t\trequestObj,\n\t\t\t\t}).then(() => {\n\t\t\t\t\tthis.isCurrentLoading=false;\n\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t`User ${this.user.id} enrolled in variant ${variant.id}.`\n\t\t\t\t\t);\n\t\t\t\t\t// this.disableEnroll = false;\n\t\t\t\t\tthis.enrolledVariants.push(variant);\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.enrolledVariants.length == this.directEnrollVariants.length\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.isCurrentLoading=true;\n\t\t\t\t\t\tthis.fetchUserById(this.user.id).then(() =>\n\t\t\t\t\t\t this.closeModal()\n\t\t\t\t\t\t );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tcheckInvoiceDetails() {\n\t\t\tconsole.log(this.selectedVariants.length, this.invoiceDetails.length);\n\t\t\tif (this.currentStep == 2)\n\t\t\t\tif (this.selectedVariants && this.selectedVariants.length > 0) {\n\t\t\t\t\tif (this.selectedVariants.length > this.invoiceDetails.length) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else return false;\n\t\t\t\t} else return false;\n\t\t},\n\t\tsetError({ text, status, id }) {\n\t\t\tthis.errorText = text;\n\t\t\tthis.errorsList[id] = status;\n\n\t\t\tvar errorVariants = [];\n\t\t\tfor (var e in this.errorsList) {\n\t\t\t\tif (this.errorsList[e] == true) {\n\t\t\t\t\terrorVariants.push(e);\n\t\t\t\t} else {\n\t\t\t\t\terrorVariants = errorVariants.filter((v) => v !== true);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.errorText =\n\t\t\t\t// this.errorText.concat(\n\t\t\t\t`Missing information in courses: ${errorVariants\n\t\t\t\t\t.toString()\n\t\t\t\t\t.replace(\",\", \", \")}`;\n\t\t\t// );\n\t\t\t// this.isError = status;\n\t\t},\n\t\t// getInvoicesAndPaymentData(ref) {\n\t\t// \tconsole.log(ref[0]);\n\t\t// \tif (ref[0].selectedPlan) {\n\t\t// \t\tthis.selectedPlan.item = ref[0].selectedPlan;\n\t\t// \t\tif (this.selectedPlan.item.type == \"OneTime\") {\n\t\t// \t\t\tif (ref[0].isSinglePlanPaid) {\n\t\t// \t\t\t\tif (!ref.singlePlanReceived) {\n\t\t// \t\t\t\t\tthis.errorText = \"Please enter received amount\";\n\t\t// \t\t\t\t\tthis.isError = true;\n\t\t// \t\t\t\t} else if (!ref.paymentMethod) {\n\t\t// \t\t\t\t\tthis.errorText = \"Please select a payment method\";\n\t\t// \t\t\t\t\tthis.isError = true;\n\t\t// \t\t\t\t} else {\n\t\t// \t\t\t\t\tthis.errorText = \"\";\n\t\t// \t\t\t\t\tthis.isError = false;\n\t\t// \t\t\t\t\tvar payments = {\n\t\t// \t\t\t\t\t\tpaymentMethod: ref[0].paymentMethod,\n\t\t// \t\t\t\t\t\tpaymentComments: ref[0].paymentComments,\n\t\t// \t\t\t\t\t};\n\t\t// \t\t\t\t\tpayments[this.selectedPlan.item.details[0].id] = {\n\t\t// \t\t\t\t\t\treceived: ref[0].singlePlanReceived,\n\t\t// \t\t\t\t\t\tdiscount: ref[0].singlePlanDiscount,\n\t\t// \t\t\t\t\t};\n\t\t// \t\t\t\t\tthis.selectedPlan.payments = payments;\n\t\t// \t\t\t\t}\n\t\t// \t\t\t}\n\t\t// \t\t} else {\n\t\t// \t\t\tconsole.log(Object.keys(ref[0].multiplePlanPayments).length > 0);\n\t\t// \t\t\tif (Object.keys(ref[0].multiplePlanPayments).length > 0) {\n\t\t// \t\t\t\tif (!ref.paymentMethod) {\n\t\t// \t\t\t\t\tthis.errorText = \"Please select a payment method\";\n\t\t// \t\t\t\t\tthis.isError = true;\n\t\t// \t\t\t\t} else if (!ref.selectedCycles) {\n\t\t// \t\t\t\t\tthis.errorText = \"Please select plan cycles\";\n\t\t// \t\t\t\t\tthis.isError = true;\n\t\t// \t\t\t\t} else {\n\t\t// \t\t\t\t\tthis.isError = false;\n\t\t// \t\t\t\t\tthis.errorText = \"\";\n\t\t// \t\t\t\t\tthis.selectedPlan.payments = ref[0].multiplePlanPayments;\n\t\t// \t\t\t\t\tthis.selectedPlan.payments.paymentMethod = ref[0].paymentMethod;\n\t\t// \t\t\t\t\tthis.selectedPlan.payments.paymentComments =\n\t\t// \t\t\t\t\t\tref[0].paymentComments;\n\t\t// \t\t\t\t}\n\t\t// \t\t\t}\n\t\t// \t\t\tthis.selectedPlan.planCycles = ref[0].selectedCycles;\n\t\t// \t\t}\n\t\t// \t}\n\t\t// },\n\t\tisError() {\n\t\t\t// console.log(\n\t\t\t// \t\"isError\",\n\t\t\t// \tObject.values(this.errorsList).find((e) => e == true)\n\t\t\t// );\n\n\t\t\treturn Object.values(this.errorsList).find((e) => e == true)\n\t\t\t\t? Object.values(this.errorsList).find((e) => e == true)\n\t\t\t\t: false;\n\t\t},\n\t\tshowErrorMessage(variant) {\n\t\t\t// e.preventDefault();\n\t\t\tthis.$bvModal.msgBoxOk(\n\t\t\t\t`You cannot enroll students in courses that have ended. Course ended: ${variant.product.title} ${variant.title}`,\n\t\t\t\t{\n\t\t\t\t\ttitle: \"Warning!\",\n\t\t\t\t\tsize: \"md\",\n\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\tokTitle: \"Ok\",\n\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\tcentered: true,\n\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\tupdateEnrollments(variant, enrollmentType) {\n\t\t\tvar found;\n\t\t\tswitch (enrollmentType) {\n\t\t\t\tcase ProductVariantEnrollmentType.PRICING_PLAN:\n\t\t\t\t\tfound = this.selectedVariants.find((s) => s.id == variant.id);\n\t\t\t\t\tif (!found) {\n\t\t\t\t\t\tthis.selectedVariants.push(variant);\n\t\t\t\t\t}\n\t\t\t\t\tfound = this.directEnrollVariants.find((s) => s.id == variant.id);\n\t\t\t\t\tif (found) {\n\t\t\t\t\t\tthis.directEnrollVariants = this.directEnrollVariants.filter(\n\t\t\t\t\t\t\t(dv) => dv.id != variant.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\tcase ProductVariantEnrollmentType.DIRECT_ENROLLMENT:\n\t\t\t\t\tfound = this.directEnrollVariants.find((s) => s.id == variant.id);\n\t\t\t\t\tif (!found) {\n\t\t\t\t\t\tthis.directEnrollVariants.push(variant);\n\t\t\t\t\t}\n\t\t\t\t\tfound = this.selectedVariants.find((s) => s.id == variant.id);\n\t\t\t\t\tif (found) {\n\t\t\t\t\t\tthis.selectedVariants = this.selectedVariants.filter(\n\t\t\t\t\t\t\t(sv) => sv.id != variant.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\tcase null:\n\t\t\t\t\tthis.selectedVariants = this.selectedVariants.filter(\n\t\t\t\t\t\t(sv) => sv.id != variant.id\n\t\t\t\t\t);\n\t\t\t\t\tthis.directEnrollVariants = this.directEnrollVariants.filter(\n\t\t\t\t\t\t(dv) => dv.id != variant.id\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\t\tisCourseEnded(course) {\n\t\t\treturn course.endDate && new Date(course.endDate) < new Date();\n\t\t},\n\t\tisDisabled(course) {\n\t\t\treturn (\n\t\t\t\tthis.enrollmentType == ProductVariantEnrollmentType.PRICING_PLAN &&\n\t\t\t\tcourse.pricingStatus == ProductVariantPricingStatus.FREE\n\t\t\t);\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\t\t...mapState(\"pricing\", [\"invoicesByUserId\", \"loading\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tfilteredVariantsList() {\n\t\t\tif (this.productVariants.length > 0) {\n\t\t\t\tvar remainingCourses = Object.values(this.productVariants.items).filter(\n\t\t\t\t\t(variant) => {\n\t\t\t\t\t\t// var toOmit = this.enrolledCourses.find(\n\t\t\t\t\t\t// \t(v) => v.productVariantID == variant.id\n\t\t\t\t\t\t// );\n\n            var toOmit = false;\n\n\t\t\t\t\t\tif (!toOmit) {\n\t\t\t\t\t\t\treturn variant;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tvar result = remainingCourses.filter((variant) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t(variant.title || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(variant.id || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(variant.product &&\n\t\t\t\t\t\t\t(variant.product.title || \"\")\n\t\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1)\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\t\tselectBtnText() {\n\t\t\tif (\n\t\t\t\tthis.filteredVariantsList.length &&\n\t\t\t\t(this.selectedVariants.length || this.directEnrollVariants.length)\n\t\t\t) {\n\t\t\t\tvar availableVariants = this.filteredVariantsList.filter((variant) => {\n\t\t\t\t\tif (!this.isCourseEnded(variant) && !this.isDisabled(variant)) {\n\t\t\t\t\t\treturn variant;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (\n\t\t\t\t\tavailableVariants.length ==\n\t\t\t\t\tthis.selectedVariants.length + this.directEnrollVariants.length\n\t\t\t\t) {\n\t\t\t\t\treturn \"Deselect All\";\n\t\t\t\t} else {\n\t\t\t\t\treturn \"Select All\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstepButtonContent() {\n\t\t\tif (this.currentStep != this.totalSteps) {\n\t\t\t\treturn \"Next\";\n\t\t\t} else return \"Finish\";\n\t\t},\n\t\tshowPrev() {\n\t\t\treturn this.currentStep > 1;\n\t\t},\n\t\tdisableNext() {\n\t\t\tif (this.currentStep == 1) {\n\t\t\t\tif (\n\t\t\t\t\t(this.selectedVariants && this.selectedVariants.length > 0) ||\n\t\t\t\t\t(this.directEnrollVariants && this.directEnrollVariants.length > 0)\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} else if (this.currentStep == 2) {\n\t\t\t\treturn false;\n\n\t\t\t\t// if (this.planDetailItems.length < 2) {\n\t\t\t\t// \treturn true;\n\t\t\t\t// } else return false;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t},\n\tprops: {\n\t\tshowModal: Boolean,\n\t\tuser: Object,\n\t\tenrolledCourses: Array,\n\t},\n\tcomponents: {\n\t\tEnrollmentPricingPlans,\n\t\tEnrollmentCourseListItem,\n\t},\n\twatch: {\n\t\tdirectEnrollVariants: function () {\n\t\t\tvar mergedVariants = [\n\t\t\t\t...this.directEnrollVariants,\n\t\t\t\t...this.selectedVariants,\n\t\t\t];\n\t\t\tconsole.log(\"directenrolll change\");\n\t\t\tmergedVariants.forEach((variant) => {\n\t\t\t\tif (variant.endDate && new Date(variant.endDate) < new Date()) {\n\t\t\t\t\tthis.errorsList[variant.id] = true;\n\t\t\t\t\tthis.errorText =\n\t\t\t\t\t\t\"You cannot enroll students in courses that have ended.\";\n\t\t\t\t\tthis.showErrorMessage(variant);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t\tObject.keys(this.errorsList).forEach((id) => {\n\t\t\t\tvar isAddedForEnrollment = mergedVariants.find((v) => v.id == id);\n\t\t\t\tif (!isAddedForEnrollment) {\n\t\t\t\t\tthis.errorsList[id] = false;\n\t\t\t\t}\n\t\t\t\tif (Object.keys(this.errorsList).length == 0) this.errorText = \"\";\n\t\t\t});\n\t\t},\n\t\tselectedVariants: function () {\n\t\t\tconsole.log(\"selectedVariants change\");\n\t\t\tvar mergedVariants = [\n\t\t\t\t...this.directEnrollVariants,\n\t\t\t\t...this.selectedVariants,\n\t\t\t];\n\t\t\tmergedVariants.forEach((variant) => {\n\t\t\t\tif (variant.endDate && new Date(variant.endDate) < new Date()) {\n\t\t\t\t\tthis.errorsList[variant.id] = true;\n\t\t\t\t\tthis.errorText =\n\t\t\t\t\t\t\"You cannot enroll students in courses that have ended.\";\n\t\t\t\t\tthis.showErrorMessage(variant);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t\tObject.keys(this.errorsList).forEach((id) => {\n\t\t\t\tvar isAddedForEnrollment = mergedVariants.find((v) => v.id == id);\n\t\t\t\tif (!isAddedForEnrollment) {\n\t\t\t\t\tthis.errorsList[id] = false;\n\t\t\t\t}\n\t\t\t\tif (Object.keys(this.errorsList).length == 0) this.errorText = \"\";\n\t\t\t});\n\t\t},\n\t\tenrollmentType: function () {\n\t\t\tswitch (this.enrollmentType) {\n\t\t\t\tcase ProductVariantEnrollmentType.PRICING_PLAN:\n\t\t\t\t\tthis.directEnrollVariants = [];\n\t\t\t\t\treturn;\n\t\t\t\tcase ProductVariantEnrollmentType.DIRECT_ENROLLMENT:\n\t\t\t\t\tthis.selectedVariants = [];\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.searchbar {\n\t/* flex-grow: 16; */\n\tfont-size: 1rem;\n\tposition: relative;\n\t/* max-width: 45.75rem; */\n\t/* margin-bottom: 1rem; */\n}\n\n.searchbar .search-icon {\n\tposition: absolute;\n\tmargin-right: 0.75rem;\n\tright: 0;\n\twidth: 1.375rem;\n\ttop: 0.25rem;\n}\n\n.product-variant-list {\n\tmax-height: 22rem;\n\toverflow-y: auto;\n\tmargin-bottom: 2rem;\n}\n\n.select-all {\n\tmargin-left: auto;\n\tfont-size: 1rem;\n\tcolor: var(--primary-color);\n}\n\n#product-variants {\n\twidth: 100%;\n\tmargin-top: 2rem;\n\t/* max-height: 20rem; */\n}\n\n#product-variants tbody {\n\tmax-height: 1rem;\n}\n\n#product-variants tr,\n.add-payment-cycle-btn {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0.75rem 1.125rem;\n\tbackground: #ffffff;\n\tborder: 1px solid #d8d8d8;\n\tborder-radius: 6px;\n\tmargin-bottom: 1rem;\n}\n\n.add-payment-cycle-btn {\n\twidth: 100%;\n\tjustify-content: center;\n\tfont-size: 1rem;\n\tcolumn-gap: 0.5rem;\n\talign-items: center;\n}\n\n#product-variants tr td:nth-of-type(2),\n#product-variants tr th:nth-of-type(2) {\n\tflex-basis: 42%;\n\t/* text-align: center; */\n}\n\n#product-variants tr td:last-of-type,\n#product-variants tr th:last-of-type,\n#product-variants tr td:first-of-type,\n#product-variants tr th:first-of-type {\n\tflex-basis: 5%;\n}\n\n#product-variants tr.head {\n\tborder: none;\n\tmargin: 0;\n}\n\n#product-variants tr td,\n#product-variants tr th {\n\tfont-weight: 500;\n\tflex-shrink: 0;\n\tflex-basis: 17%;\n\tfont-size: 1rem;\n}\n\n#product-variants tr th {\n\ttext-transform: uppercase;\n\tcolor: #727272;\n}\n\n#product-variants tr td {\n\tcolor: #000000;\n}\n\n#product-variants .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tmargin-left: auto;\n\tmargin-right: 0.75rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n\tposition: relative;\n\tright: 4rem;\n}\n\n#product-variants tr:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n#product-variants .right-menu-icon {\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n#product-variants .right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n#product-variants .right-menu-icon img {\n\tmax-height: 0.75rem;\n}\n\n.product-variant-item .collapse.show {\n\tpadding: 1.5rem;\n\tborder: 1px solid #cbcbcb;\n\tborder-top: 0;\n\tborder-radius: 0 0 6px 6px;\n\tmargin-bottom: 1rem;\n}\n\n.product-variant-item tr:not(.collapsed) {\n\t/* border-bottom: 0 !important; */\n\tmargin-bottom: 0 !important;\n\tborder-radius: 6px 6px 0 0 !important;\n}\n\n.product-variant-item {\n\tcursor: pointer;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddUserEnrollmentModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddUserEnrollmentModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddUserEnrollmentModal.vue?vue&type=template&id=1398c345&scoped=true&\"\nimport script from \"./AddUserEnrollmentModal.vue?vue&type=script&lang=js&\"\nexport * from \"./AddUserEnrollmentModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AddUserEnrollmentModal.vue?vue&type=style&index=0&id=1398c345&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1398c345\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"enrollment-container\"},[_c('div',{staticClass:\"title-container mb-4\"},[_c('h1',{staticClass:\"page-title\"},[_vm._v(\"Enrollment\")]),_c('div',{staticClass:\"ms-auto\",attrs:{\"title\":_vm.productVariantData.endDate &&\n\t\t\t\tnew Date(_vm.productVariantData.endDate) <= new Date()\n\t\t\t\t\t? 'You cannot enroll students in courses that have ended.'\n\t\t\t\t\t: ''}},[_c('a',{staticClass:\"add-btn dropdown-toggle\",attrs:{\"data-bs-toggle\":\"dropdown\",\"role\":\"button\",\"disabled\":_vm.productVariantData.endDate &&\n\t\t\t\t\tnew Date(_vm.productVariantData.endDate) <= new Date()}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\")}}),_vm._v(\" new enrollment \")]),_c('ul',{staticClass:\"dropdown-menu dropdown-menu-end\"},[_c('li',{staticClass:\"dropdown-item\",on:{\"click\":function($event){return _vm.toggleEnrollmentModal(\n\t\t\t\t\t\t\t_vm.ProductVariantEnrollmentType.DIRECT_ENROLLMENT\n\t\t\t\t\t\t)}}},[_vm._v(\" Direct Enrollment \")]),_c('li',{staticClass:\"dropdown-item\",on:{\"click\":function($event){return _vm.toggleEnrollmentModal(_vm.ProductVariantEnrollmentType.PRICING_PLAN)}}},[_vm._v(\" Pricing Plan Enrollment \")])])]),_c('div',{staticClass:\"ms-2\"},[_c('a',{staticClass:\"add-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.exportUsersEnrollmentData()}}},[_c('i',{staticClass:\"fas fa-file-csv me-2\"}),_vm._v(\" \"+_vm._s(_vm.exportLoading ? \" Exporting, Please wait...\": \"Export Enrollments\")+\" \")])]),_c('CreateEditEnrollmentModal',{attrs:{\"showModal\":_vm.showModal,\"productVariantId\":_vm.productVariantData.id,\"productVariantData\":_vm.productVariantData,\"enrolledUsers\":_vm.users,\"isFree\":_vm.isFree},on:{\"updateModalState\":_vm.toggleEnrollmentModal}})],1),_c('div',{staticClass:\"filters-container\"},[_c('div',{staticClass:\"filter-inputs\"},[_c('div',{staticClass:\"searchbar position-relative d-flex align-items-center flex-grow-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],staticClass:\"search-input\",attrs:{\"type\":\"search\",\"placeholder\":\"Search by student id, name, username, email or phone number\"},domProps:{\"value\":(_vm.searchText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}}),_vm._m(0)])])]),_c('div',{staticClass:\"d-flex mb-4 gap-3\"},[_c('button',{class:['filter-user-type-btn', { active: _vm.enrollmentStatus == 'all' }],on:{\"click\":function($event){return _vm.setEnrollmentStatus('all')}}},[_vm._v(\" All (\"+_vm._s(_vm.users.length)+\") \")]),_c('button',{class:[\n\t\t\t\t'filter-user-type-btn',\n\t\t\t\t{ active: _vm.enrollmentStatus == 'allowed' } ],on:{\"click\":function($event){return _vm.setEnrollmentStatus('allowed')}}},[_vm._v(\" Allowed (\"+_vm._s(_vm.allowedUsers.length)+\") \")]),_c('button',{class:[\n\t\t\t\t'filter-user-type-btn',\n\t\t\t\t{ active: _vm.enrollmentStatus == 'blocked' } ],on:{\"click\":function($event){return _vm.setEnrollmentStatus('blocked')}}},[_vm._v(\" Blocked (\"+_vm._s(_vm.blockUsers.length)+\") \")]),_c('button',{class:[\n\t\t\t\t'filter-user-type-btn',\n\t\t\t\t{ active: _vm.enrollmentStatus == 'unenrolled' } ],on:{\"click\":function($event){return _vm.setEnrollmentStatus('unenrolled')}}},[_vm._v(\" Unenrolled (\"+_vm._s(_vm.unenrolledUsers.length)+\") \")]),_c('button',{class:[\n\t\t\t\t'filter-user-type-btn',\n\t\t\t\t{ active: _vm.enrollmentStatus == 'expired' } ],on:{\"click\":function($event){return _vm.setEnrollmentStatus('expired')}}},[_vm._v(\" Expired (\"+_vm._s(_vm.expiredUsers.length)+\") \")]),(_vm.selectedUsers && _vm.selectedUsers.length>0)?_c('div',{staticClass:\"btn-box\"},[_c('b-dropdown',{ref:\"dropdown\",staticClass:\"dropdown-btn active\",attrs:{\"id\":\"dropdown-form\",\"text\":\"Change Expiry Date\",\"variant\":\"none\",\"block\":\"\",\"menu-class\":\"w-100\"}},[_c('b-dropdown-group',{attrs:{\"id\":\"dropdown-group-1\",\"header\":\"New Expiry Date\"}},[_c('b-dropdown-form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.updatedExpiresAt),expression:\"updatedExpiresAt\"}],staticClass:\"form-control\",attrs:{\"placeholder\":\"Expires At\",\"type\":\"date\",\"name\":\"expiresAt\",\"id\":\"expires-at\"},domProps:{\"value\":(_vm.updatedExpiresAt)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.updatedExpiresAt=$event.target.value}}}),_c('button',{staticClass:\"btn btn-sm\",on:{\"click\":_vm.submitChangeExpiryDate}},[_vm._v(\"Submit\")])])],1)],1)],1):_vm._e()]),_c('div',{staticClass:\"table-container\"},[(this.users && this.users.length > 0)?_c('b-overlay',{attrs:{\"show\":_vm.loading || _vm.processing,\"rounded\":\"sm\"}},[_c('table',{staticClass:\"table table-hover table-borderless enrolled-users-table\"},[_c('thead',[_c('th',[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_all\",\"id\":\"select_all\"},domProps:{\"checked\":_vm.isSelectedAll()},on:{\"click\":function($event){return _vm.toggleSelectAll()}}})]),_c('th',[_vm._v(\"S.No #\")]),_c('th',[_vm._v(\"Student ID\")]),_c('th',[_vm._v(\"Student Name\")]),_c('th',[_vm._v(\"Student Email\")]),_c('th',[_vm._v(\"Enrollment Type\")]),_c('th',[_vm._v(\"Expires At\")]),_c('th',[_vm._v(\"Enrollment Status\")]),_c('th',[_vm._v(\"Actions\")])]),_c('tbody',_vm._l((_vm.filteredEnrollments),function(user,index){return _c('tr',{key:index,staticClass:\"row-hover-cursor-pointer\",on:{\"click\":function($event){return _vm.toggleViewEditUser(user)}}},[_c('td',{on:{\"click\":function($event){$event.stopPropagation();}}},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_1\",\"disabled\":_vm.loading,\"id\":user.id},domProps:{\"checked\":_vm.isChecked(user.id)},on:{\"click\":function($event){return _vm.toggleUserSelect(user)}}})]),_c('td',[_vm._v(_vm._s((index + 1).toString().padStart(3, \"0\")))]),_c('td',[_vm._v(_vm._s(user.id))]),_c('td',[_vm._v(_vm._s(user.firstName)+\" \"+_vm._s(user.lastName))]),_c('td',[_vm._v(_vm._s(user.email))]),_c('td',[_vm._v(\" \"+_vm._s(user.enrollmentType ? user.enrollmentType : \"-\")+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(user.expiresAt ? new Date(user.expiresAt).toLocaleDateString('en-us', { weekday:\"long\", year:\"numeric\", month:\"short\", day:\"numeric\"}) : \"-\")+\" \")]),(user.expiresAt && new Date(user.expiresAt) < new Date())?_c('td',{class:(\"\" + (user.enrollmentStatus ==\n\t\t\t\t\t\t\t\t_vm.ProductVariantSubscriptionStatus.BLOCKED\n\t\t\t\t\t\t\t\t\t? 'text-danger'\n\t\t\t\t\t\t\t\t\t: ''))},[_vm._v(\" \"+_vm._s(\"Expired\")+\" \")]):_c('td',{class:(\"\" + (user.enrollmentStatus ==\n\t\t\t\t\t\t\t\t_vm.ProductVariantSubscriptionStatus.BLOCKED\n\t\t\t\t\t\t\t\t\t? 'text-danger'\n\t\t\t\t\t\t\t\t\t: ''))},[_vm._v(\" \"+_vm._s(user.enrollmentStatus ? user.enrollmentStatus : \"-\")+\" \")]),_c('td',{on:{\"click\":function($event){$event.stopPropagation();}}},[(user.enrollmentStatus !=\n\t\t\t\t\t\t\t_vm.ProductVariantSubscriptionStatus.UNENROLLED)?_c('div',{staticClass:\"right-menu\"},[(\n\t\t\t\t\t\t\t\t\t\tuser.enrollmentStatus !=\n\t\t\t\t\t\t\t\t\t\t_vm.ProductVariantSubscriptionStatus.BLOCKED\n\t\t\t\t\t\t\t\t\t)?_c('button',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\",\"title\":\"Block\"},on:{\"click\":function($event){return _vm.showConfirmationModal('block', user)}}},[_c('i',{staticClass:\"fa fa-ban\"}),_vm._v(\" \"),_c('span',[_vm._v(\"Block\")])]):_c('button',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\",\"title\":\"Unblock\"},on:{\"click\":function($event){return _vm.showConfirmationModal('allow', user)}}},[_c('i',{staticClass:\"far fa-unlock\"}),_vm._v(\" \"),_c('span',[_vm._v(\"Unblock\")])]),(\n\t\t\t\t\t\t\t\t\t\tuser.enrollmentType ==\n\t\t\t\t\t\t\t\t\t\t_vm.ProductVariantEnrollmentType.DIRECT_ENROLLMENT\n\t\t\t\t\t\t\t\t\t)?_c('button',{staticClass:\"right-menu-icon delete text-danger\",attrs:{\"role\":\"button\",\"title\":\"Unenroll\"},on:{\"click\":function($event){return _vm.showConfirmationModal('unenroll', user)}}},[_c('i',{staticClass:\"fas fa-times\"}),_vm._v(\" \"),_c('span',[_vm._v(\"Unenroll\")])]):_vm._e()]):_vm._e()])])}),0)])]):_c('h5',{staticClass:\"text-center p-4 m-0\"},[_vm._v(\"No enrolled users\")])],1),_c('ViewEditUserModal',{attrs:{\"user\":_vm.userToViewEdit.user,\"openTab\":_vm.userToViewEdit.openTab,\"showModal\":_vm.showUserDetailModal,\"viewOnly\":\"\"},on:{\"updateModalState\":_vm.toggleViewEditUser}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"search-icon text-black\",attrs:{\"role\":\"button\"}},[_c('i',{staticClass:\"fa fa-search\"})])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"enrollment-container\">\n\t\t<div class=\"title-container mb-4\">\n\t\t\t<h1 class=\"page-title\">Enrollment</h1>\n\t\t\t<!-- <b-spinner v-if=\"loading\" class=\"ms-4\"></b-spinner> -->\n\t\t\t<div\n\t\t\t\tclass=\"ms-auto\"\n\t\t\t\t:title=\"\n\t\t\t\t\tproductVariantData.endDate &&\n\t\t\t\t\tnew Date(productVariantData.endDate) <= new Date()\n\t\t\t\t\t\t? 'You cannot enroll students in courses that have ended.'\n\t\t\t\t\t\t: ''\n\t\t\t\t\"\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\tclass=\"add-btn dropdown-toggle\"\n\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\t:disabled=\"\n\t\t\t\t\t\tproductVariantData.endDate &&\n\t\t\t\t\t\tnew Date(productVariantData.endDate) <= new Date()\n\t\t\t\t\t\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/add-border-icon.svg\" class=\"add-btn-icon\" />\n\t\t\t\t\tnew enrollment\n\t\t\t\t</a>\n\t\t\t\t<ul class=\"dropdown-menu dropdown-menu-end\">\n\t\t\t\t\t<li\n\t\t\t\t\t\t@click=\"\n\t\t\t\t\t\t\ttoggleEnrollmentModal(\n\t\t\t\t\t\t\t\tProductVariantEnrollmentType.DIRECT_ENROLLMENT\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\"\n\t\t\t\t\t\tclass=\"dropdown-item\"\n\t\t\t\t\t>\n\t\t\t\t\t\tDirect Enrollment\n\t\t\t\t\t</li>\n\t\t\t\t\t<li\n\t\t\t\t\t\t@click=\"\n\t\t\t\t\t\t\ttoggleEnrollmentModal(ProductVariantEnrollmentType.PRICING_PLAN)\n\t\t\t\t\t\t\"\n\t\t\t\t\t\tclass=\"dropdown-item\"\n\t\t\t\t\t>\n\t\t\t\t\t\tPricing Plan Enrollment\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t\t<!-- <button\n\t\t\t\t\t:disabled=\"\n\t\t\t\t\t\tproductVariantData.endDate &&\n\t\t\t\t\t\tnew Date(productVariantData.endDate) <= new Date()\n\t\t\t\t\t\"\n\t\t\t\t\tclass=\"add-btn\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\t@click=\"toggleEnrollmentModal\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/add-border-icon.svg\" class=\"add-btn-icon\" />\n\t\t\t\t\tnew enrollment\n\t\t\t\t</button> -->\n\t\t\t</div>\n\t\t\t<div class=\"ms-2\">\n\t\t\t\t<a\n\t\t\t\t\tclass=\"add-btn\"\n\t\t\t\t\t@click=\"exportUsersEnrollmentData()\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t>\n\t\t\t\t\t<i class=\"fas fa-file-csv me-2\"></i>\n\t\t\t\t\t{{ exportLoading ? \"&nbsp;Exporting, Please wait...\": \"Export Enrollments\" }}\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t\t<CreateEditEnrollmentModal\n\t\t\t\t:showModal=\"showModal\"\n\t\t\t\t@updateModalState=\"toggleEnrollmentModal\"\n\t\t\t\t:productVariantId=\"productVariantData.id\"\n\t\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t\t:enrolledUsers=\"users\"\n\t\t\t\t:isFree=\"isFree\"\n\t\t\t/>\n\t\t</div>\n\t\t<div class=\"filters-container\">\n\t\t\t<!-- <label class=\"main-label\">filters</label> -->\n\t\t\t<div class=\"filter-inputs\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"searchbar position-relative d-flex align-items-center flex-grow-1\"\n\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\tv-model=\"searchText\"\n\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tplaceholder=\"Search by student id, name, username, email or phone number\"\n\t\t\t\t\t/>\n\t\t\t\t\t<a role=\"button\" class=\"search-icon text-black\">\n\t\t\t\t\t\t<i class=\"fa fa-search\"></i>\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t\t<!-- <input\n\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tplaceholder=\"Select Access Start Date\"\n\t\t\t\t\tonfocus=\"this.type = 'date'\"\n\t\t\t\t/>\n\t\t\t\t<input\n\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tplaceholder=\"Select Access End Date\"\n\t\t\t\t\tonfocus=\"this.type = 'date'\"\n\t\t\t\t/>\n\t\t\t\t<v-select\n\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\tplaceholder=\"Select Pricing Plan\"\n\t\t\t\t\t:options=\"pricingOptions\"\n\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t>\n\t\t\t\t</v-select> -->\n\t\t\t\t<!-- <v-select\n\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\tplaceholder=\"Select Enrollment Status\"\n\t\t\t\t\t:options=\"enrollOptions\"\n\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t>\n\t\t\t\t</v-select> -->\n\t\t\t\t<!-- <button class=\"search-button\">\n\t\t\t\t\t<img src=\"@/assets/images/settings-icon.svg\" /> Filter\n\t\t\t\t</button> -->\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"d-flex mb-4 gap-3\">\n\t\t\t<button\n\t\t\t\t@click=\"setEnrollmentStatus('all')\"\n\t\t\t\t:class=\"['filter-user-type-btn', { active: enrollmentStatus == 'all' }]\"\n\t\t\t>\n\t\t\t\tAll ({{ users.length }})\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\t@click=\"setEnrollmentStatus('allowed')\"\n\t\t\t\t:class=\"[\n\t\t\t\t\t'filter-user-type-btn',\n\t\t\t\t\t{ active: enrollmentStatus == 'allowed' },\n\t\t\t\t]\"\n\t\t\t>\n\t\t\t\tAllowed ({{ allowedUsers.length }})\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\t@click=\"setEnrollmentStatus('blocked')\"\n\t\t\t\t:class=\"[\n\t\t\t\t\t'filter-user-type-btn',\n\t\t\t\t\t{ active: enrollmentStatus == 'blocked' },\n\t\t\t\t]\"\n\t\t\t>\n\t\t\t\tBlocked ({{ blockUsers.length }})\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\t@click=\"setEnrollmentStatus('unenrolled')\"\n\t\t\t\t:class=\"[\n\t\t\t\t\t'filter-user-type-btn',\n\t\t\t\t\t{ active: enrollmentStatus == 'unenrolled' },\n\t\t\t\t]\"\n\t\t\t>\n\t\t\t\tUnenrolled ({{ unenrolledUsers.length }})\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\t@click=\"setEnrollmentStatus('expired')\"\n\t\t\t\t:class=\"[\n\t\t\t\t\t'filter-user-type-btn',\n\t\t\t\t\t{ active: enrollmentStatus == 'expired' },\n\t\t\t\t]\"\n\t\t\t>\n\t\t\t\tExpired ({{ expiredUsers.length }})\n\t\t\t</button>\n\t\t\t<div v-if=\"selectedUsers && selectedUsers.length>0\" class=\"btn-box\">\n\t\t\t\t<!-- <button :class=\"[\n\t\t\t\t\t\t\t\t'filter-user-type-btn active'\n\t\t\t\t\t\t\t]\">\n\t\t\t\t\t\t\tChange Expiry Date\n\t\t\t\t\t\n\t\t\t\t</button> -->\n\t\t\t\t<b-dropdown id=\"dropdown-form\" text=\"Change Expiry Date\" variant=\"none\" block menu-class=\"w-100\" ref=\"dropdown\" class=\"dropdown-btn active\">\n\t\t\t\t\t<b-dropdown-group id=\"dropdown-group-1\" header=\"New Expiry Date\">\n\t\t\t\t\t\t<b-dropdown-form  @submit.stop.prevent>\n\t\t\t\t\t\t\t<input placeholder=\"Expires At\" class=\"form-control\" type=\"date\"\n\t\t\t\t\t\t\tv-model=\"updatedExpiresAt\"\n\t\t\t\t\t\t\tname=\"expiresAt\" id=\"expires-at\" />\n\t\t\t\t\t\t\t<button class=\"btn btn-sm\" @click=\"submitChangeExpiryDate\">Submit</button>\n\t\t\t\t\t\t</b-dropdown-form>\n\t\t\t\t\t</b-dropdown-group>\n\t\t\t\t</b-dropdown>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"table-container\">\n\t\t\t<b-overlay\n\t\t\t\tv-if=\"this.users && this.users.length > 0\"\n\t\t\t\t:show=\"loading || processing\"\n\t\t\t\trounded=\"sm\"\n\t\t\t>\n\t\t\t\t<table class=\"table table-hover table-borderless enrolled-users-table\">\n\t\t\t\t\t<thead>\n\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tname=\"select_all\"\n\t\t\t\t\t\t\t\tid=\"select_all\"\n\t\t\t\t\t\t\t\t@click=\"toggleSelectAll()\"\n\t\t\t\t\t\t\t\t:checked=\"isSelectedAll()\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th>S.No #</th>\n\t\t\t\t\t\t<th>Student ID</th>\n\t\t\t\t\t\t<th>Student Name</th>\n\t\t\t\t\t\t<th>Student Email</th>\n\t\t\t\t\t\t<!-- <th>Access Start Date</th>\n\t\t\t\t\t\t<th>Access End Date</th> -->\n\t\t\t\t\t\t<!-- <th>Pricing Plan</th> -->\n\t\t\t\t\t\t<th>Enrollment Type</th>\n\t\t\t\t\t\t<th>Expires At</th>\n\t\t\t\t\t\t<th>Enrollment Status</th>\n\t\t\t\t\t\t<th>Actions</th>\n\t\t\t\t\t</thead>\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t<tr v-for=\"(user, index) in filteredEnrollments\" :key=\"index\" @click=\"toggleViewEditUser(user)\" class=\"row-hover-cursor-pointer\">\n\t\t\t\t\t\t\t<td @click.stop>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\tname=\"select_1\"\n\t\t\t\t\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\t\t\t\t\t:id=\"user.id\"\n\t\t\t\t\t\t\t\t\t@click=\"toggleUserSelect(user)\"\n\t\t\t\t\t\t\t\t\t:checked=\"isChecked(user.id)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td>{{ (index + 1).toString().padStart(3, \"0\") }}</td>\n\t\t\t\t\t\t\t<td>{{ user.id }}</td>\n\t\t\t\t\t\t\t<td>{{ user.firstName }} {{ user.lastName }}</td>\n\t\t\t\t\t\t\t<td>{{ user.email }}</td>\n\t\t\t\t\t\t\t<!-- <td>\n\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\tuser.access_start_date\n\t\t\t\t\t\t\t\t\t\t? dateParser(user.access_start_date)\n\t\t\t\t\t\t\t\t\t\t: \"-\"\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\tuser.access_end_date ? dateParser(user.access_end_date) : \"-\"\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td>{{ user.pricing_plan ? user.pricing_plan : \"-\" }}</td> -->\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t{{ user.enrollmentType ? user.enrollmentType : \"-\" }}\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td >\n\t\t\t\t\t\t\t\t{{ user.expiresAt ? new Date(user.expiresAt).toLocaleDateString('en-us', { weekday:\"long\",\n\t\t\t\t\t\t\t\tyear:\"numeric\",\n\t\t\t\t\t\t\t\tmonth:\"short\",\n\t\t\t\t\t\t\t\tday:\"numeric\"}) : \"-\" }}\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\tv-if=\"user.expiresAt && new Date(user.expiresAt) < new Date()\"\n\t\t\t\t\t\t\t\t:class=\"`${\n\t\t\t\t\t\t\t\t\tuser.enrollmentStatus ==\n\t\t\t\t\t\t\t\t\tProductVariantSubscriptionStatus.BLOCKED\n\t\t\t\t\t\t\t\t\t\t? 'text-danger'\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t}`\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{ \"Expired\" }}\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td \n\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\t:class=\"`${\n\t\t\t\t\t\t\t\t\tuser.enrollmentStatus ==\n\t\t\t\t\t\t\t\t\tProductVariantSubscriptionStatus.BLOCKED\n\t\t\t\t\t\t\t\t\t\t? 'text-danger'\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t}`\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{ user.enrollmentStatus ? user.enrollmentStatus : \"-\" }}\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td @click.stop>\n\t\t\t\t\t\t\t\t<div class=\"right-menu\" v-if=\"user.enrollmentStatus !=\n\t\t\t\t\t\t\t\tProductVariantSubscriptionStatus.UNENROLLED\">\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\t\t\t\t@click=\"showConfirmationModal('block', user)\"\n\t\t\t\t\t\t\t\t\t\ttitle=\"Block\"\n\t\t\t\t\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\t\t\t\t\tuser.enrollmentStatus !=\n\t\t\t\t\t\t\t\t\t\t\tProductVariantSubscriptionStatus.BLOCKED\n\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-ban\"></i> <span>Block</span>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\t\t\t\t@click=\"showConfirmationModal('allow', user)\"\n\t\t\t\t\t\t\t\t\t\ttitle=\"Unblock\"\n\t\t\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-unlock\"></i> <span>Unblock</span>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\tclass=\"right-menu-icon delete text-danger\"\n\t\t\t\t\t\t\t\t\t\t@click=\"showConfirmationModal('unenroll', user)\"\n\t\t\t\t\t\t\t\t\t\ttitle=\"Unenroll\"\n\t\t\t\t\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\t\t\t\t\tuser.enrollmentType ==\n\t\t\t\t\t\t\t\t\t\t\tProductVariantEnrollmentType.DIRECT_ENROLLMENT\n\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<i class=\"fas fa-times\"></i> <span>Unenroll</span>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t</b-overlay>\n\t\t\t<h5 v-else class=\"text-center p-4 m-0\">No enrolled users</h5>\n\t\t</div>\n\t\t<ViewEditUserModal\n\t\t\t:user=\"userToViewEdit.user\"\n\t\t\t:openTab=\"userToViewEdit.openTab\"\n\t\t\t@updateModalState=\"toggleViewEditUser\"\n\t\t\t:showModal=\"showUserDetailModal\"\n\t\t\tviewOnly\n\t\t/>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport CreateEditEnrollmentModal from \"./CreateEditEnrollmentModal.vue\";\nimport formatter from \"../../../helpers/FormatHelpers\";\nimport { createPopper } from \"@popperjs/core\";\nimport {\n\tProductVariantEnrollmentType,\n\tProductVariantSubscriptionStatus,\n} from \"../../../constants/productVariant\";\nimport ViewEditUserModal from \"../Users/ViewEditUserModal.vue\";\n\nexport default {\n\tname: \"CourseEnrollment\",\n\tdata() {\n\t\treturn {\n\t\t\tfields: [\n\t\t\t\t\"student_name\",\n\t\t\t\t\"student_email\",\n\t\t\t\t\"access_start_date\",\n\t\t\t\t\"access_end_date\",\n\t\t\t\t\"pricing_plan\",\n\t\t\t\t\"enrollment_status\",\n\t\t\t],\n\t\t\tpricingOptions: [\n\t\t\t\t{ label: \"Monthly\", value: \"monthly\" },\n\t\t\t\t{ label: \"Bi-Monthly\", value: \"bi-monthly\" },\n\t\t\t],\n\t\t\tenrollOptions: [\n\t\t\t\t{ label: \"Allowed\", value: \"allowed\" },\n\t\t\t\t{ label: \"Blocked\", value: \"blocked\" },\n\t\t\t],\n\t\t\tprocessing:false,\n\t\t\tusers: null,\n\t\t\tselectedUsers: [],\n\t\t\tshowModal: false,\n\t\t\tenrollmentStatus: \"all\",\n\t\t\tsearchText: \"\",\n\t\t\tselectedEnrollmentType: null,\n\t\t\tProductVariantEnrollmentType,\n\t\t\tProductVariantSubscriptionStatus,\n\t\t\tupdatedExpiresAt:new Date().toISOString().slice(0,10),\n\t\t\tshowUserDetailModal: false,\n\t\t\tuserToViewEdit: {\n\t\t\t\tuser: null,\n\t\t\t\topenTab: 0,\n\t\t\t},\n\t\t\texportLoading: false\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\n\t\t\t\"fetchUsersByProductVariant\",\n\t\t\t\"editUserErollmentInProductVariant\",\n\t\t\t\"editUserSubscription\",\n\t\t\t\"exportUsersEnrollmentReport\"\n\t\t]),\n\n\t\texportUsersEnrollmentData() {\n\t\t\tthis.exportLoading = true;\n\t\t\tthis.exportUsersEnrollmentReport(this.productVariantData.id).then((result) => {\n\n\t\t\t\tif (result && result.url) {\n\t\t\t\tconst link = document.createElement('a');\n\t\t\t\tlink.href = result.url;\n\t\t\t\tlink.setAttribute('download',result.name?result.name:`users-enrollments-export.csv`);\n\t\t\t\tdocument.body.appendChild(link);          \n\t\t\t\tthis.exportLoading = false;\n\t\t\t\tlink.click();\n\t\t\t\tlink.parentNode.removeChild(link);\n\t\t\t\t\t\t\t// clean up Url\n\t\t\t\twindow.URL.revokeObjectURL(result);\n\t\t\t\t}\n\t\t\t}).catch((err) => {\n\t\t\t\tconsole.log({ err });\n\t\t\t\t\n\t\t\t\tthis.exportLoading = false;\n\t\t\t});\n\t\t},\n\n\t\ttoggleViewEditUser(user) {\n\t\t\tif(user) {\n\t\t\t\tthis.userToViewEdit.user = user;\n\t\t\t\tconsole.log({user});\n\t\t\t}\n\n\t\t\tthis.showUserDetailModal = !this.showUserDetailModal;\n\t\t\tif (!this.showUserDetailModal) {\n\t\t\t\t// this.userToViewEdit.user = null;\n\t\t\t\tthis.userToViewEdit.openTab = 0;\n\t\t\t}\n\t\t},\n\n\t\ttoggleEnrollmentModal(type = null) {\n\t\t\tif (type) {\n\t\t\t\tthis.selectedEnrollmentType = type;\n\t\t\t}\n\t\t\tthis.showModal = !this.showModal;\n\t\t},\n\t\ttoggleSelectAll() {\n\t\t\tif (\n\t\t\t\tthis.users &&\n\t\t\t\tthis.users.length > 0 &&\n\t\t\t\tthis.selectedUsers.length != this.users.length\n\t\t\t) {\n\t\t\t\tthis.selectedUsers = this.users;\n\t\t\t} else {\n\t\t\t\tthis.selectedUsers = [];\n\t\t\t}\n\t\t},\n\t\tsubmitChangeExpiryDate(){\n\t\t\tif(this.selectedUsers.length>0)\n\t\t\t{\n\t\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to update course expiry for selected users?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t).then(async (val)=>{\n\t\t\t\t\t\n\t\t\t\t\tif(val){\n\t\t\t\t\t\tvar date = new Date(this.updatedExpiresAt);\n\t\t\t\t\t\tdate.setHours(23, 59, 59);\n                        var productVariantID=this.productVariantData.id;\n\t\t\t\t\t\tthis.processing=true;\t\t\t\t\t\t\n\t\t\t\t\t\tfor(var i=0;i<this.selectedUsers.length;i++){\n\t\t\t\t\t\t\tvar user=this.selectedUsers[i];\n\t\t\t\t\t\t\tvar requestObj = {\n\t\t\t\t\t\t\t\tuserID: user.id,\n\t\t\t\t\t\t\t\tproductVariantID:productVariantID,\n\t\t\t\t\t\t\t\texpiresAt: date\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tawait this.editUserSubscription(requestObj);\t\n\t\t\t\t\t\t\tif(i==this.selectedUsers.length-1)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthis.selectedUsers = [];\n\t\t\t\t\t\t\t\tthis.processing=false;\t\n\t\t\t\t\t\t\t\tthis.$toasted.success(\"Expires date updated successfully\", {\n\t\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.fetchUsersByProductVariant(this.productVariantData.id).then(() => {\n\t\t\t\t\t\t\t\t\tthis.users = this.usersByProductVariant[this.productVariantData.id];\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tisChecked(id) {\n\t\t\tvar found = this.selectedUsers.find((user) => user.id == id);\n\t\t\t// console.log(found);\n\t\t\tif (found) {\n\t\t\t\treturn true;\n\t\t\t} else return false;\n\t\t},\n\t\tisSelectedAll() {\n\t\t\tif (this.users) {\n\t\t\t\treturn this.users.length == this.selectedUsers.length;\n\t\t\t}\n\t\t},\n\t\ttoggleUserSelect(user) {\n\t\t\tvar found = this.selectedUsers.find((s) => s.id == user.id);\n\t\t\tconsole.log(found);\n\t\t\tif (!found) {\n\t\t\t\tthis.selectedUsers.push(user);\n\t\t\t} else {\n\t\t\t\tthis.selectedUsers = this.selectedUsers.filter(\n\t\t\t\t\t(su) => su.id != user.id\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tdateParser(date) {\n\t\t\treturn formatter.toShortDateString(date);\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\t// console.log(dropdownList, component.$refs.toggle, { width });\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t\tshowConfirmationModal(type, user) {\n\t\t\t// e.preventDefault();\n\t\t\t// e.stopPropagation();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to ${\n\t\t\t\t\t\ttype.toLowerCase() == \"allow\" ? \"unblock\" : type\n\t\t\t\t\t} ${user.firstName} ${user.lastName} from ${\n\t\t\t\t\t\tthis.productVariantData.title\n\t\t\t\t\t}?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then(async (value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tvar requestObj = {\n\t\t\t\t\t\t\tuserID: user.id,\n\t\t\t\t\t\t\tproductVariantID: this.productVariantData.id,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (type.toLowerCase() == \"unenroll\")\n\t\t\t\t\t\t\trequestObj.status = \"Unenrolled\";\n\t\t\t\t\t\telse if (type.toLowerCase() == \"block\")\n\t\t\t\t\t\t\trequestObj.status = \"Blocked\";\n\t\t\t\t\t\telse if (type.toLowerCase() == \"allow\")\n\t\t\t\t\t\t\trequestObj.status = \"Allowed\";\n\n\t\t\t\t\t\tawait this.editUserErollmentInProductVariant(requestObj);\n\t\t\t\t\t\tthis.fetchUsersByProductVariant(this.productVariantData.id).then(() => {\n\t\t\t\t\t\t\tthis.users = this.usersByProductVariant[this.productVariantData.id];\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t\tsetEnrollmentStatus(status) {\n\t\t\tthis.enrollmentStatus = status;\n\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"usersByProductVariant\", \"loading\"]),\n\t\tfilteredEnrollments() {\n\t\t\treturn this.users.filter((user) => {\n\t\t\t\treturn (\n\t\t\t\t\t((user.firstName + \" \" + user.lastName || \"\")\n\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(user.firstName || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(user.lastName || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(user.id || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(user.email || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(user.username || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(user.phone || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1) &&\n\t\t\t\t\t(this.enrollmentStatus == \"all\" ||\n\t\t\t\t\t(this.enrollmentStatus == \"expired\" &&  user.expiresAt && new Date(user.expiresAt)<new Date()) || \t\t\t\t\t\n\t\t\t\t\t(this.enrollmentStatus == \"unenrolled\" && user.enrollmentStatus.toLowerCase() == this.enrollmentStatus.toLowerCase() && (!user.expiresAt || new Date(user.expiresAt) > new Date())) || \n\t\t\t\t\t(this.enrollmentStatus != \"unenrolled\" && user.enrollmentStatus.toLowerCase() ==\n\t\t\t\t\t\t\tthis.enrollmentStatus.toLowerCase()))\n\t\t\t\t);\n\t\t\t});\n\t\t},\n\t\tblockUsers(){\n\t\t\tif(this.users && this.users.length>0)\n\t\t\t{\n\t\t\t\treturn this.users.filter(x=>x.enrollmentStatus.toLowerCase()==\"blocked\");\n\t\t\t}\n\t\t\treturn [];\n\t\t},\n\t\t\n\t\texpiredUsers(){\n\t\t\tif(this.users && this.users.length>0)\n\t\t\t{\n\t\t\t\treturn this.users.filter(x=>x.expiresAt && new Date(x.expiresAt)<new Date());\n\t\t\t}\n\t\t\treturn [];\n\t\t},\n\t\tunenrolledUsers(){\n\t\t\tif(this.users && this.users.length>0)\n\t\t\t{\n\t\t\t\treturn this.users.filter(x=>(x.enrollmentStatus.toLowerCase() == \"unenrolled\") && (!x.expiresAt || new Date(x.expiresAt) > new Date()));\n\t\t\t}\n\t\t\treturn [];\n\t\t},\n\t\tallowedUsers(){\n\t\t\tif(this.users && this.users.length>0)\n\t\t\t{\n\t\t\t\treturn this.users.filter(x=>x.enrollmentStatus.toLowerCase() == \"allowed\" );\n\t\t\t}\n\t\t\treturn [];\n\t\t},\n\t\tisFree() {\n\t\t\treturn (\n\t\t\t\tthis.selectedEnrollmentType ==\n\t\t\t\tProductVariantEnrollmentType.DIRECT_ENROLLMENT\n\t\t\t);\n\t\t},\n\t},\n\tcomponents: {\n\t\tCreateEditEnrollmentModal,ViewEditUserModal\n\t},\n\tprops: {\n\t\tproductVariantData: Object,\n\t},\n\tcreated() {\n\t\tif (!this.usersByProductVariant[this.productVariantData.id]) {\n\t\t\tthis.fetchUsersByProductVariant(this.productVariantData.id).then(() => {\n\t\t\t\tthis.users = this.usersByProductVariant[this.productVariantData.id];\n\t\t\t});\n\t\t}\n\t\tthis.users = this.usersByProductVariant[this.productVariantData.id];\n\t},\n\twatch: {\n\t\tusersByProductVariant: function () {\n\t\t\tconsole.log(\n\t\t\t\t\"usersByProductVariant\",\n\t\t\t\tthis.usersByProductVariant[this.productVariantData.id]\n\t\t\t);\n\t\t\tif (this.usersByProductVariant[this.productVariantData.id]) {\n\t\t\t\tthis.users = this.usersByProductVariant[this.productVariantData.id];\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.row-hover-cursor-pointer{ \n\tcursor: pointer;\n}\n\n.enrollment-container {\n\tbackground-color: #f5f5f5;\n\theight: calc(100vh - 5rem);\n\tpadding: 1.875rem;\n\toverflow-y: auto;\n}\n\n.title-container {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.page-title {\n\tfont-weight: 500;\n\tfont-size: 1.25rem;\n\tline-height: 1.5rem;\n\tcolor: #000000;\n\tdisplay: inline-block;\n\tmargin: 0;\n}\n\n.add-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0.625rem 1rem;\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.875rem;\n\tline-height: 1.125rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\ttext-decoration: none;\n\ttransition: all 0.3s ease;\n}\n\n.add-btn:hover {\n\tbox-shadow: 4px 6px 5px 0px rgb(197 197 197 / 20%);\n}\n\n.add-btn-icon {\n\tmargin-right: 0.625rem;\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.table-container {\n\tbackground-color: #ffffff;\n\tborder-radius: 8px;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n}\n\n.enrolled-users-table thead,\n.enrolled-users-table td {\n\theight: 4rem;\n\tvertical-align: middle;\n}\n\n.enrolled-users-table td:first-of-type {\n\tpadding-left: 0;\n}\n\n.enrolled-users-table input[type=\"checkbox\"] {\n\tmargin-left: 1.5rem;\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n\n.filters-container {\n\tpadding: 1.5rem;\n\tborder-radius: 8px;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n\tbackground-color: #ffffff;\n\tmargin-bottom: 1.5rem;\n}\n\n.filters-container .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n\n.filter-inputs {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n}\n\n.search-input {\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.5rem 0.75rem;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: #000000;\n\tfont-size: 1rem;\n\tcolumn-gap: 0.75rem;\n\tposition: relative;\n\toutline: none;\n}\n\n.search-button {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.5rem 2rem;\n\tfilter: drop-shadow(3px 5px 6px rgba(197, 197, 197, 0.3));\n\ttext-decoration: none;\n\tcolor: #000000;\n\tdisplay: flex;\n\tcolumn-gap: 0.5rem;\n\talign-items: center;\n}\n\n.enrolled-users-table .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n}\n\n.right-menu-icon {\n\t/* width: 2rem; */\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-size: 1.125rem;\n\tcolumn-gap: 0.25rem;\n}\n\n.right-menu-icon img {\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n.filter-user-type-btn {\n\tbackground: #ffffff;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0.625rem 1rem;\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.875rem;\n\tline-height: 1.125rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\ttext-decoration: none;\n\tborder: 1px solid transparent;\n\ttransition: all 0.3s ease;\n}\n\n.filter-user-type-btn.active {\n\tborder: 1px solid var(--primary-color);\n}\n.dropdown-item {\n\tcursor: pointer;\n}\n.btn-box{\n\tflex: 1;\t\n}\n.btn-box button{\n\tfloat: right;\n}\n\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseEnrollment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseEnrollment.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourseEnrollment.vue?vue&type=template&id=0f1a6ce1&scoped=true&\"\nimport script from \"./CourseEnrollment.vue?vue&type=script&lang=js&\"\nexport * from \"./CourseEnrollment.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CourseEnrollment.vue?vue&type=style&index=0&id=0f1a6ce1&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0f1a6ce1\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"create-edit-enrollment-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"create-edit-enrollment-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState')}}},[(!_vm.isConfirm)?_c('div',{staticClass:\"custom-stepper-container\"},[_c('div',{staticClass:\"custom-stepper\"},[_c('div',{staticClass:\"custom-stepper-step\"},[_c('div',{class:[\n\t\t\t\t\t'step-icon first',\n\t\t\t\t\t{ active: _vm.currentStep == 1, complete: _vm.currentStep > 1 } ]},[_vm._v(\" 1 \")]),_c('div',{staticClass:\"step-text\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\"Select Students\")]),_c('h3',{staticClass:\"subtitle\"},[_vm._v(\"Select students you wish to enroll\")])])]),_c('div',{staticClass:\"custom-stepper-step\"},[_c('div',{class:[\n\t\t\t\t\t'step-icon',\n\t\t\t\t\t{ active: _vm.currentStep == 2, complete: _vm.currentStep > 2 } ]},[_vm._v(\" 2 \")]),_c('div',{staticClass:\"step-text\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\"Manage Pricing and Payments\")]),_c('h3',{staticClass:\"subtitle\"},[_vm._v(\"Select Pricing Plans and generate Invoices\")])])])])]):_vm._e(),_c('div',{class:['body-container', { 'width-100': _vm.isConfirm }]},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){_vm.currentStep > 1 ? _vm.showCloseConfirmPopup() : _vm.closeModal()}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),(_vm.currentStep == 1 && !_vm.isConfirm)?_c('div',{attrs:{\"id\":\"page1\"}},[_c('div',{staticClass:\"mb-4\"},[_c('h1',{staticClass:\"add-enroll-title\"},[_vm._v(\"Add New Enrollment\")]),_c('span',{staticClass:\"add-pricing-sub-title mb-4\"},[_vm._v(\" Select students you wish to enroll \")])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\"},[_vm._v(\"Students\")]),_c('div',{staticClass:\"searchbar\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"autocomplete\":\"off\",\"placeholder\":\"Search by student name or email or phone number\"},domProps:{\"value\":(_vm.searchText)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.searchData.apply(null, arguments)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}}),_c('a',{attrs:{\"role\":\"button\"},on:{\"click\":_vm.searchData}},[_c('img',{staticClass:\"search-icon\",attrs:{\"src\":require(\"@/assets/images/search-icon.svg\")}})])])]),_c('b-overlay',{attrs:{\"show\":_vm.isSearching,\"rounded\":\"sm\"}},[_c('div',{staticClass:\"students-list\",attrs:{\"id\":\"students-list\"},on:{\"scroll\":_vm.handleScroll}},[_vm._l((_vm.filteredStudentList),function(item){return _c('div',{key:item.id,staticClass:\"student\"},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"student\",\"id\":(\"student\" + (item.id))},domProps:{\"checked\":_vm.isChecked(item.id)},on:{\"change\":function($event){return _vm.checkboxToggle(item)}}}),_c('label',{attrs:{\"for\":(\"student\" + (item.id))}},[_vm._v(_vm._s(item.firstName)+\" \"+_vm._s(item.lastName)+\" (\"+_vm._s(item.email)+\") \")])])}),((_vm.isNextRecordAvailable && !_vm.isSearching && !_vm.fetchingNextRows))?_c('div',[_c('br'),_c('button',{staticClass:\"select-all\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.fetchNextRows()}}},[_vm._v(\" Load More..... \")])]):_vm._e()],2)])],1):_vm._e(),(_vm.currentStep == 2 && !_vm.isConfirm)?_c('div',{attrs:{\"id\":\"page2\"}},[_c('div',{staticClass:\"mb-4\"},[_c('h1',{staticClass:\"add-enroll-title\"},[_vm._v(\"Manage Pricing and Payments\")]),(_vm.productVariantData.pricingStatus.toLowerCase() != 'free')?_c('EnrollmentPricingPlans',{ref:\"payments\",attrs:{\"productVariantId\":_vm.productVariantData.id,\"parent\":\"variantenroll\"},on:{\"error\":_vm.setError,\"updatePlan\":_vm.planUpdate,\"updatePayments\":_vm.getInvoicesAndPaymentData,\"removePayments\":_vm.paymentsRemove}}):_vm._e()],1)]):_vm._e(),(_vm.isConfirm && !_vm.isError)?_c('div',[_c('ValidateAndGenerateInvoices',{attrs:{\"selectedPlan\":_vm.selectedPlan,\"productVariantId\":_vm.productVariantData.id,\"selectedStudents\":_vm.selectedStudents},on:{\"setLoading\":_vm.setError}})],1):_vm._e(),(_vm.isError)?_c('p',{staticClass:\"text-danger\"},[_c('i',{staticClass:\"fa fa-exclamation-circle\"}),_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")]):_vm._e(),_c('div',{staticClass:\"step-btn-container\"},[(_vm.showPrev && !_vm.isConfirm)?_c('a',{staticClass:\"step-btn prev\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prev}},[_c('i',{staticClass:\"fas fa-long-arrow-alt-left\"}),_vm._v(\" prev \")]):_vm._e(),(!_vm.isConfirm)?_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext || _vm.disableEnroll},on:{\"click\":_vm.next}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.stepButtonContent)+\" \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})],1):_vm._e(),(_vm.isConfirm)?_c('a',{staticClass:\"step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.comfirmInvoices}},[_vm._v(\"Done \")]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal id=\"create-edit-enrollment-modal\" @change=\"$emit('updateModalState')\" :visible=\"visible\" hide-header\n\t\tcentered content-class=\"create-edit-enrollment-modal\" size=\"xl\" body-class=\"modal-body\" hide-footer\n\t\tmodal-class=\"custom-modal\" no-close-on-backdrop>\n\t\t<div v-if=\"!isConfirm\" class=\"custom-stepper-container\">\n\t\t\t<div class=\"custom-stepper\">\n\t\t\t\t<div class=\"custom-stepper-step\">\n\t\t\t\t\t<div :class=\"[\n\t\t\t\t\t\t'step-icon first',\n\t\t\t\t\t\t{ active: currentStep == 1, complete: currentStep > 1 },\n\t\t\t\t\t]\">\n\t\t\t\t\t\t1\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t<h1 class=\"title\">Select Students</h1>\n\t\t\t\t\t\t<h3 class=\"subtitle\">Select students you wish to enroll</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"custom-stepper-step\">\n\t\t\t\t\t<div :class=\"[\n\t\t\t\t\t\t'step-icon',\n\t\t\t\t\t\t{ active: currentStep == 2, complete: currentStep > 2 },\n\t\t\t\t\t]\">\n\t\t\t\t\t\t2\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t<h1 class=\"title\">Manage Pricing and Payments</h1>\n\t\t\t\t\t\t<h3 class=\"subtitle\">Select Pricing Plans and generate Invoices</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!-- Custom Stepper -->\n\t\t</div>\n\t\t<div :class=\"['body-container', { 'width-100': isConfirm }]\">\n\t\t\t<button @click=\"currentStep > 1 ? showCloseConfirmPopup() : closeModal()\" class=\"close-button\"\n\t\t\t\trole=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\n\t\t\t<div v-if=\"currentStep == 1 && !isConfirm\" id=\"page1\">\n\t\t\t\t<div class=\"mb-4\">\n\t\t\t\t\t<h1 class=\"add-enroll-title\">Add New Enrollment</h1>\n\t\t\t\t\t<span class=\"add-pricing-sub-title mb-4\">\n\t\t\t\t\t\tSelect students you wish to enroll\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<label class=\"main-label\">Students</label>\n\t\t\t\t\t<div class=\"searchbar\">\n\t\t\t\t\t\t<input type=\"search\" autocomplete=\"off\"\n\t\t\t\t\t\t\tplaceholder=\"Search by student name or email or phone number\" class=\"form-input\"\n\t\t\t\t\t\t\tv-model=\"searchText\" \n\t\t\t\t\t\t\t@keyup.enter=\"searchData\" />\n\t\t\t\t\t\t<a role=\"button\" @click=\"searchData\"><img class=\"search-icon\" src=\"@/assets/images/search-icon.svg\" /></a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<!-- <input\n\t\t\t\ttype=\"search\"\n\t\t\t\tid=\"student-search\"\n\t\t\t\tplaceholder=\"Search by student name or email\"\n\t\t\t\tclass=\"form-input\"\n\t\t\t/> -->\n\t\t\t\t<b-overlay :show=\"isSearching\" rounded=\"sm\">\n\t\t\t\t\t<div class=\"students-list\" @scroll=\"handleScroll\"  id=\"students-list\">\n\t\t\t\t\t\t<div v-for=\"item in filteredStudentList\" :key=\"item.id\" class=\"student\">\n\t\t\t\t\t\t\t<input type=\"checkbox\" name=\"student\" :id=\"`student${item.id}`\"\n\t\t\t\t\t\t\t\t@change=\"checkboxToggle(item)\" :checked=\"isChecked(item.id)\" />\n\t\t\t\t\t\t\t<label :for=\"`student${item.id}`\">{{ item.firstName }} {{ item.lastName }} ({{ item.email\n\t\t\t\t\t\t\t}})\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if=\"(isNextRecordAvailable && !isSearching && !fetchingNextRows)\" >\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<button @click=\"fetchNextRows()\" type=\"button\" class=\"select-all\">\n\t\t\t\t\t\t\t\tLoad More..... \n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t</b-overlay>\n\t\t\t</div>\n\t\t\t<div v-if=\"currentStep == 2 && !isConfirm\" id=\"page2\">\n\t\t\t\t<div class=\"mb-4\">\n\t\t\t\t\t<h1 class=\"add-enroll-title\">Manage Pricing and Payments</h1>\n\t\t\t\t\t<!-- <span class=\"add-pricing-sub-title mb-4\">\n\t\t\t\t\t\tSelect Students you wish to enroll\n\t\t\t\t\t</span> -->\n\t\t\t\t\t<EnrollmentPricingPlans v-if=\"productVariantData.pricingStatus.toLowerCase() != 'free'\"\n\t\t\t\t\t\t@error=\"setError\" ref=\"payments\" :productVariantId=\"productVariantData.id\"\n\t\t\t\t\t\t@updatePlan=\"planUpdate\" @updatePayments=\"getInvoicesAndPaymentData\"\n\t\t\t\t\t\t@removePayments=\"paymentsRemove\" parent=\"variantenroll\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-if=\"isConfirm && !isError\">\n\t\t\t\t<ValidateAndGenerateInvoices :selectedPlan=\"selectedPlan\" :productVariantId=\"productVariantData.id\"\n\t\t\t\t\t:selectedStudents=\"selectedStudents\" @setLoading=\"setError\" />\n\t\t\t</div>\n\t\t\t<p v-if=\"isError\" class=\"text-danger\">\n\t\t\t\t<i class=\"fa fa-exclamation-circle\"></i> {{ errorText }}\n\t\t\t</p>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<a @click=\"prev\" v-if=\"showPrev && !isConfirm\" role=\"button\" class=\"step-btn prev\"><i\n\t\t\t\t\t\tclass=\"fas fa-long-arrow-alt-left\"></i> prev\n\t\t\t\t</a>\n\t\t\t\t<button v-if=\"!isConfirm\" @click=\"next\" role=\"button\" class=\"step-btn\"\n\t\t\t\t\t:disabled=\"disableNext || disableEnroll\">\n\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\t{{ stepButtonContent }} <i class=\"fas fa-long-arrow-alt-right\"></i>\n\t\t\t\t</button>\n\t\t\t\t<a @click=\"comfirmInvoices\" v-if=\"isConfirm\" role=\"button\" class=\"step-btn\">Done\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport EnrollmentPricingPlans from \"./EnrollmentPricingPlans.vue\";\nimport ValidateAndGenerateInvoices from \"./ValidateAndGenerateInvoices.vue\";\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"CreateEditEnrollmentModal\",\n\tdata() {\n\t\treturn {\n\t\t\tcurrentStep: 1,\n\t\t\ttotalSteps: 2,\n\t\t\tstudentList: [],\n\t\t\tselectedStudents: [],\n\t\t\tdisableEnroll: false,\n\t\t\tisConfirm: false,\n\t\t\tselectedPlan: {\n\t\t\t\titem: null,\n\t\t\t\tpayments: null,\n\t\t\t\tplanCycles: null,\n\t\t\t},\n\t\t\tsearchText: \"\",\n\t\t\tenrolledStudents: [],\n\t\t\terrorText: \"\",\n\t\t\tisError: false,\n\t\t\tusersLoading: false,\n\t\t\tnextPageToken: undefined,\n\t\t\tpageSize: 50,\n\t\t\tsearchString: undefined,\n\t\t\tfetchingNextRows: false,\n\t\t\tisSearching: false,\n\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchPaginatedUsersList\", \"fetchUsersList\", \"enrollUserInProductVariant\"]),\n\t\t\n\t\tisChecked(id) {\n\t\t\n\t\t\tvar found = this.selectedStudents.find((cycle) => cycle.id == id);\n\t\t\t// console.log(found);\n\t\t\tif (found) {\n\t\t\t\treturn true;\n\t\t\t} else return false;\n\t\t},\n\t\tcheckboxToggle(student) {\n\t\t\tvar found = this.selectedStudents.find((s) => s.id == student.id);\n\t\t\t// console.log(found);\n\t\t\tif (!found) {\n\t\t\t\tthis.selectedStudents.push(student);\n\t\t\t} else {\n\t\t\t\tthis.selectedStudents = this.selectedStudents.filter(\n\t\t\t\t\t(su) => su.id != student.id\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\ttoggleSelectAll() {\n\t\t\tif (\n\t\t\t\tthis.selectedStudents.length > 0 &&\n\t\t\t\tthis.filteredStudentList.length > 0\n\t\t\t) {\n\t\t\t\tif (this.filteredStudentList.length == this.selectedStudents.length) {\n\t\t\t\t\tthis.selectedStudents = [];\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectedStudents = this.filteredStudentList;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tnext() {\n\t\t\t// console.log(\"selectedPlan\", this.$refs);\n\t\t\tif (this.currentStep < this.totalSteps) {\n\t\t\t\tif (!this.isError) this.currentStep += 1;\n\t\t\t} else if (this.currentStep == this.totalSteps) {\n\t\t\t\tif (this.isFree) this.enrollUsersInVariant();\n\t\t\t\telse this.showEnrollConfirmPopup();\n\t\t\t}\n\t\t},\n\t\tprev() {\n\t\t\tif (this.currentStep > 1) {\n\t\t\t\tthis.currentStep -= 1;\n\t\t\t\tthis.errorText = \"\";\n\t\t\t\tthis.isError = false;\n\t\t\t}\n\t\t},\n\t\tsetError(error) {\n\t\t\tthis.disableEnroll = error.status;\n\t\t},\n\t\tshowEnrollConfirmPopup() {\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t\"Please confirm that you want to enroll these students. Clicking yes will enroll them in this course and generate their invoice\",\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Please Confirm Enrollment\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.getInvoicesAndPaymentData();\n\t\t\t\t\t\tif (!this.isError) this.isConfirm = value;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t\tshowCloseConfirmPopup() {\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t\"Are you sure you want to exit? All your progress will be lost if you exit now.\",\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.closeModal();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t},\n\t\tcomfirmInvoices() {\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t},\n\t\tgetInvoicesAndPaymentData() {\n\t\t\tif (this.$refs.payments.selectedPlan) {\n\t\t\t\tthis.selectedPlan.item = this.$refs.payments.selectedPlan;\n\t\t\t\tif (this.selectedPlan.item.type == \"OneTime\") {\n\t\t\t\t\tif (this.$refs.payments.isSinglePlanPaid) {\n\t\t\t\t\t\tif (!this.$refs.payments.singlePlanReceived) {\n\t\t\t\t\t\t\tthis.errorText = \"Please enter received amount\";\n\t\t\t\t\t\t\tthis.isError = true;\n\t\t\t\t\t\t} else if (!this.$refs.payments.paymentMethod) {\n\t\t\t\t\t\t\tthis.errorText = \"Please select a payment method\";\n\t\t\t\t\t\t\tthis.isError = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.errorText = \"\";\n\t\t\t\t\t\t\tthis.isError = false;\n\t\t\t\t\t\t\tthis.disableEnroll = false;\n\t\t\t\t\t\t\tvar payments = {\n\t\t\t\t\t\t\t\tpaymentMethod: this.$refs.payments.paymentMethod,\n\t\t\t\t\t\t\t\tpaymentComments: this.$refs.payments.paymentComments,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tpayments[this.selectedPlan.item.details[0].id] = {\n\t\t\t\t\t\t\t\treceived: this.$refs.payments.singlePlanReceived,\n\t\t\t\t\t\t\t\tdiscount: this.$refs.payments.singlePlanDiscount,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tthis.selectedPlan.payments = payments;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// console.log(\n\t\t\t\t\t// \tObject.keys(this.$refs.payments.multiplePlanPayments).length > 0\n\t\t\t\t\t// );\n\t\t\t\t\tif (\n\t\t\t\t\t\tObject.keys(this.$refs.payments.multiplePlanPayments).length > 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tif (!this.$refs.payments.paymentMethod) {\n\t\t\t\t\t\t\tthis.errorText = \"Please select a payment method\";\n\t\t\t\t\t\t\tthis.isError = true;\n\t\t\t\t\t\t} else if (!this.$refs.payments.selectedCycles) {\n\t\t\t\t\t\t\tthis.errorText = \"Please enter received amount\";\n\t\t\t\t\t\t\tthis.isError = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.isError = false;\n\t\t\t\t\t\t\tthis.disableEnroll = false;\n\t\t\t\t\t\t\tthis.errorText = \"\";\n\t\t\t\t\t\t\tthis.selectedPlan.payments =\n\t\t\t\t\t\t\t\tthis.$refs.payments.multiplePlanPayments;\n\t\t\t\t\t\t\tthis.selectedPlan.payments.paymentMethod =\n\t\t\t\t\t\t\t\tthis.$refs.payments.paymentMethod;\n\t\t\t\t\t\t\tthis.selectedPlan.payments.paymentComments =\n\t\t\t\t\t\t\t\tthis.$refs.payments.paymentComments;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthis.selectedPlan.planCycles = this.$refs.payments.selectedCycles;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tenrollUsersInVariant() {\n\t\t\tthis.selectedStudents.forEach((student) => {\n\t\t\t\tvar requestObj = {\n\t\t\t\t\tuserID: student.id,\n\t\t\t\t\tproductVariantID: this.productVariantData.id,\n\t\t\t\t\texpiresAt: this.productVariantData.endDate\n\t\t\t\t\t\t? this.productVariantData.endDate\n\t\t\t\t\t\t: new Date(\"12/31/2070\").toISOString(),\n\t\t\t\t\tallowedRanges: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstartsFrom: this.productVariantData.startDate\n\t\t\t\t\t\t\t\t? this.productVariantData.startDate\n\t\t\t\t\t\t\t\t: new Date(\"12/31/1970\").toISOString(),\n\t\t\t\t\t\t\tendsAt: this.productVariantData.endDate\n\t\t\t\t\t\t\t\t? this.productVariantData.endDate\n\t\t\t\t\t\t\t\t: new Date(\"12/31/2070\").toISOString(),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t\tthis.disableEnroll = true;\n\t\t\t\tthis.enrollUserInProductVariant({\n\t\t\t\t\tuser: student,\n\t\t\t\t\trequestObj,\n\t\t\t\t}).then(() => {\n\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t`User ${student.id} enrolled in variant ${this.productVariantData.id}.`\n\t\t\t\t\t);\n\t\t\t\t\tthis.disableEnroll = false;\n\t\t\t\t\tthis.enrolledStudents.push(student);\n\t\t\t\t\tif (this.enrolledStudents.length == this.selectedStudents.length)\n\t\t\t\t\t\tthis.comfirmInvoices();\n\t\t\t\t});\n\n\t\t\t\t// .then(this.comfirmInvoices());\n\t\t\t});\n\t\t},\n\t\tplanUpdate(plan) {\n\t\t\tthis.selectedPlan.item = plan;\n\t\t},\n\t\tpaymentsRemove() {\n\t\t\tconsole.log(\"Payments remove\");\n\t\t\tthis.selectedPlan.payments = null;\n\t\t},\n\t\tsearchData() {\n\t\t\tthis.nextPageToken = undefined;\n\t\t\tthis.searchString = this.searchText;\n\t\t\tthis.fetchingNextRows = true;\n\t\t\tthis.isSearching = true;\n\n\t\t\tthis.fetchPaginatedUsersList({ type: \"student\", pageSize: this.pageSize, nextPageToken: this.nextPageToken, searchString: this.searchString }).then((result) => {\n\t\t\t\t\t\t\t\t\n\t\t\t\tthis.studentList = this.allUsers.filter((student) => {\n\t\t\t\t\tif (this.enrolledUsers) {\n\t\t\t\t\t\tvar found = this.enrolledUsers.find((s) => s.id == student.id);\n\t\t\t\t\t\tif (!found) {\n\t\t\t\t\t\t\treturn student;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else return student;\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tthis.fetchingNextRows = false;\n\t\t\t\tif(this.studentList && this.studentList.length<=5)\n\t\t\t\t{\n\t\t\t\t\tthis.fetchNextRows();\n\t\t\t\t}\t\t\t\n\t\t\t\t\t\n\t\t\t\tthis.isSearching = false;\n                \n\t\t\t\tif (result && result.nextPageToken) {\n\t\t\t\t\tthis.nextPageToken = result.nextPageToken;\n\t\t\t\t}\n\t\t\t}).catch((err) => {\n\t\t\t\tthis.fetchingNextRows = false;\n\t\t\t\tthis.isSearching = false;\n\t\t\t\tconsole.log({ err });\n\n\t\t\t});\n\t\t},\n\t\tfetchNextRows() {\n\t\t\tif (!this.fetchingNextRows && this.isNextRecordAvailable) {\n\t\t\t\tthis.fetchingNextRows = true;\n\t\t\t\tthis.fetchPaginatedUsersList({ pageSize: this.pageSize, nextPageToken: this.nextPageToken, searchString: this.searchString }).then((result) => {\n\t\t\t\t\tthis.fetchingNextRows = false;\n\t\t\t\t\tthis.studentList = this.allUsers.filter((student) => {\n\t\t\t\t\t\tif (this.enrolledUsers) {\n\t\t\t\t\t\t\tvar found = this.enrolledUsers.find((s) => s.id == student.id);\n\t\t\t\t\t\t\tif (!found) {\n\t\t\t\t\t\t\t\treturn student;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else return student;\n\t\t\t\t\t});\n\t\t\t\t\tif (result && result.nextPageToken) {\n\t\t\t\t\t\tthis.nextPageToken = result.nextPageToken;\n\t\t\t\t\t}\n\t\t\t\t}).catch((err) => {\n\t\t\t\t\tthis.fetchingNextRows = false;\n\t\t\t\t\tconsole.log({ err });\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\thandleScroll(e){\n\t\t\tif($(e.target).scrollTop() + $(e.target).innerHeight() >= $(e.target)[0].scrollHeight - 10){\n\t\t\t\tthis.fetchNextRows();\n\t\t\t}\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"allUsers\", \"loading\", \"isNextRecordAvailable\"]),\n\t\t// ...mapState(\"user\", [\"allStudents\", \"loading\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tstepButtonContent() {\n\t\t\tif (this.currentStep != this.totalSteps) {\n\t\t\t\treturn \"Next\";\n\t\t\t} else return \"Enroll\";\n\t\t},\n\t\tshowPrev() {\n\t\t\treturn this.currentStep > 1;\n\t\t},\n\t\tdisableNext() {\n\t\t\t// if (value) return value;\n\t\t\tif (this.currentStep == 1) {\n\t\t\t\tif (this.selectedStudents && this.selectedStudents.length > 0) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else return true;\n\t\t\t\t// if (this.topic && this.startTime && this.duration && this.zoomId) {\n\t\t\t\t// return false;\n\t\t\t\t// } else return true;\n\t\t\t} else if (this.currentStep == 2) {\n\t\t\t\tif (\n\t\t\t\t\t!this.selectedPlan.item ||\n\t\t\t\t\tthis.isError ||\n\t\t\t\t\t((!this.selectedPlan.planCycles ||\n\t\t\t\t\t\t(this.selectedPlan.planCycles &&\n\t\t\t\t\t\t\tthis.selectedPlan.planCycles.length == 0)) &&\n\t\t\t\t\t\tthis.selectedPlan.item &&\n\t\t\t\t\t\tthis.selectedPlan.item.type == \"MultiplePaymentCycles\")\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\t// console.log(this.$refs.payments ? this.$refs.payments.isError : false);\n\t\t\t\t// }\n\t\t\t\t// console.log(this.$refs.payments);\n\t\t\t\t// if (this.$refs.payments && this.$refs.payments.selectedPlan) {\n\t\t\t\treturn false;\n\t\t\t\t// } else return true;\n\t\t\t}\n\t\t},\n\t\tselectBtnText() {\n\t\t\tif (\n\t\t\t\tthis.selectedStudents.length > 0 &&\n\t\t\t\tthis.filteredStudentList.length > 0\n\t\t\t) {\n\t\t\t\tif (this.selectedStudents.length == this.filteredStudentList.length) {\n\t\t\t\t\treturn \"Deselect All\";\n\t\t\t\t} else {\n\t\t\t\t\treturn \"Select All\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tfilteredStudentList() {\n\t\t\t\n\t\t\treturn this.studentList;\n\t\t},\n\t\n\t},\n\tprops: {\n\t\tshowModal: Boolean,\n\t\tproductVariantId: String,\n\t\tenrolledUsers: Array,\n\t\tproductVariantData: Object,\n\t\tisFree: Boolean,\n\t},\n\tcomponents: {\n\t\tEnrollmentPricingPlans,\n\t\tValidateAndGenerateInvoices,\n\t},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible) {\n\t\t\t\tthis.usersLoading = true;\n\t\t\t\tif (this.searchData) {\n\t\t\t\t\tthis.searchData();\n\t\t\t\t}\n\t\t\t\tif (this.isFree) {\n\t\t\t\t\t// this.isFree = true;\n\t\t\t\t\tthis.totalSteps = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcurrentStep: function () {\n\t\t\tif (this.currentStep == 2) {\n\t\t\t\tsetTimeout(() => console.log(this.$refs.payments.selectedPlan), 300);\n\t\t\t}\n\t\t},\n\t},\n};\n\n</script>\n\n<style>\n.create-edit-enrollment-modal {\n\tmin-height: 45.375rem;\n\twidth: 70vw;\n}\n\n/* .custom-modal .modal-dialog {\n\tmax-width: 70vw;\n} */\n\n.create-edit-enrollment-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n}\n\n.confirm-modal-body {\n\tpadding: 1rem !important;\n\tfont-size: 1.125rem;\n}\n\n.create-edit-enrollment-modal .body-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 2.5rem 2.5rem 1.5rem;\n\twidth: 70%;\n}\n\n.create-edit-enrollment-modal .add-enroll-title {\n\tfont-weight: 450;\n\tfont-size: 2rem;\n\tline-height: 0.75;\n\tmargin: 0.5rem 0 1rem;\n\tcolor: #000000;\n}\n\n.create-edit-enrollment-modal .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n\n.students-list {\n\tmax-height: 22rem;\n\toverflow-y: auto;\n\tmargin-bottom: 2rem;\n}\n\n.students-list .student {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 0.75rem;\n\tpadding: 0.75rem 0;\n\tfont-size: 1rem;\n\tborder-bottom: 1px solid #dcdcdc;\n\tcolor: #000000;\n}\n\n.students-list .student input,\n.students-list .student label {\n\tmargin: 0;\n}\n\n.students-list input[type=\"checkbox\"] {\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n\n.create-edit-enrollment-modal .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0 0 0.875rem;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n\tborder-radius: 0;\n\tbox-shadow: none !important;\n\tposition: relative;\n\theight: 40px;\n}\n\n.create-edit-enrollment-modal .searchbar {\n\t/* flex-grow: 16; */\n\tfont-size: 1rem;\n\tposition: relative;\n\t/* max-width: 45.75rem; */\n\t/* margin-bottom: 1rem; */\n}\n\n.create-edit-enrollment-modal .searchbar .search-icon {\n\tposition: absolute;\n\tmargin-right: 0.75rem;\n\tright: 0;\n\twidth: 1.375rem;\n\ttop: 0.25rem;\n}\n\n.create-edit-enrollment-modal .select-all {\n\tmargin-left: auto;\n\tfont-size: 1rem;\n\tcolor: var(--primary-color);\n}\n</style>\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateEditEnrollmentModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateEditEnrollmentModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreateEditEnrollmentModal.vue?vue&type=template&id=a3ef2052&\"\nimport script from \"./CreateEditEnrollmentModal.vue?vue&type=script&lang=js&\"\nexport * from \"./CreateEditEnrollmentModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CreateEditEnrollmentModal.vue?vue&type=style&index=0&id=a3ef2052&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip:hover\",arg:\"hover\"}],staticClass:\"variant\",attrs:{\"title\":_vm.titleText}},[_c('input',{staticClass:\"mt-1\",attrs:{\"type\":\"checkbox\",\"name\":\"variant\",\"id\":(\"variant\" + (_vm.item.id)),\"disabled\":_vm.isDisabled || _vm.isCourseEnded},domProps:{\"checked\":_vm.isChecked},on:{\"change\":function($event){return _vm.checkboxToggle(_vm.item)}}}),_c('label',{staticClass:\"d-flex flex-grow-1 flex-column cursor-pointer\",attrs:{\"for\":(\"variant\" + (_vm.item.id))}},[_c('div',{staticClass:\"d-flex flex-grow-1\"},[_c('span',{staticClass:\"col-1 text-center\"},[_vm._v(_vm._s(_vm.item.id))]),_c('span',{staticClass:\"flex-grow-1\"},[_c('span',{staticClass:\"text-bold\"},[_vm._v(\" \"+_vm._s(_vm.item.product && _vm.item.product.title)+\" (\"+_vm._s(_vm.item.title)+\") \")]),(_vm.isChecked && _vm.isCustomEnrollment)?_c('div',{staticClass:\"d-flex mt-2 gap-2\"},[_c('strong',[_vm._v(\"Enrollment Type:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.variantEnrollmentType),expression:\"variantEnrollmentType\"}],attrs:{\"disabled\":_vm.item.pricingStatus == _vm.ProductVariantPricingStatus.FREE,\"type\":\"radio\",\"id\":(\"pricing-plan-\" + (_vm.item.id)),\"name\":(\"enrollmentType-\" + (_vm.item.id))},domProps:{\"value\":_vm.ProductVariantEnrollmentType.PRICING_PLAN,\"checked\":_vm._q(_vm.variantEnrollmentType,_vm.ProductVariantEnrollmentType.PRICING_PLAN)},on:{\"change\":function($event){_vm.variantEnrollmentType=_vm.ProductVariantEnrollmentType.PRICING_PLAN}}}),_c('label',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"title\":_vm.item.pricingStatus == _vm.ProductVariantPricingStatus.FREE\n\t\t\t\t\t\t\t\t? 'Please change course pricing status to Paid to enroll with pricing plan'\n\t\t\t\t\t\t\t\t: '',\"for\":(\"pricing-plan-\" + (_vm.item.id))}},[_vm._v(\" Pricing Plan \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.variantEnrollmentType),expression:\"variantEnrollmentType\"}],attrs:{\"type\":\"radio\",\"id\":(\"direct-enroll-\" + (_vm.item.id)),\"name\":(\"enrollmentType-\" + (_vm.item.id))},domProps:{\"value\":_vm.ProductVariantEnrollmentType.DIRECT_ENROLLMENT,\"checked\":_vm._q(_vm.variantEnrollmentType,_vm.ProductVariantEnrollmentType.DIRECT_ENROLLMENT)},on:{\"change\":function($event){_vm.variantEnrollmentType=_vm.ProductVariantEnrollmentType.DIRECT_ENROLLMENT}}}),_c('label',{attrs:{\"for\":(\"direct-enroll-\" + (_vm.item.id))}},[_vm._v(\" Direct Enrollment \")])]):_vm._e()])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"variant\" :title=\"titleText\" v-b-tooltip:hover>\n\t\t<input\n\t\t\ttype=\"checkbox\"\n\t\t\tname=\"variant\"\n\t\t\t:id=\"`variant${item.id}`\"\n\t\t\t@change=\"checkboxToggle(item)\"\n\t\t\t:checked=\"isChecked\"\n\t\t\tclass=\"mt-1\"\n\t\t\t:disabled=\"isDisabled || isCourseEnded\"\n\t\t/>\n\t\t<label\n\t\t\tclass=\"d-flex flex-grow-1 flex-column cursor-pointer\"\n\t\t\t:for=\"`variant${item.id}`\"\n\t\t>\n\t\t\t<div class=\"d-flex flex-grow-1\">\n\t\t\t\t<span class=\"col-1 text-center\">{{ item.id }}</span>\n\t\t\t\t<span class=\"flex-grow-1\">\n\t\t\t\t\t<span class=\"text-bold\">\n\t\t\t\t\t\t{{ item.product && item.product.title }} ({{ item.title }})\n\t\t\t\t\t</span>\n\t\t\t\t\t<div v-if=\"isChecked && isCustomEnrollment\" class=\"d-flex mt-2 gap-2\">\n\t\t\t\t\t\t<strong>Enrollment Type:</strong>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t:disabled=\"item.pricingStatus == ProductVariantPricingStatus.FREE\"\n\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t:id=\"`pricing-plan-${item.id}`\"\n\t\t\t\t\t\t\t:value=\"ProductVariantEnrollmentType.PRICING_PLAN\"\n\t\t\t\t\t\t\t:name=\"`enrollmentType-${item.id}`\"\n\t\t\t\t\t\t\tv-model=\"variantEnrollmentType\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t:title=\"\n\t\t\t\t\t\t\t\titem.pricingStatus == ProductVariantPricingStatus.FREE\n\t\t\t\t\t\t\t\t\t? 'Please change course pricing status to Paid to enroll with pricing plan'\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t:for=\"`pricing-plan-${item.id}`\"\n\t\t\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tPricing Plan\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t:id=\"`direct-enroll-${item.id}`\"\n\t\t\t\t\t\t\t:value=\"ProductVariantEnrollmentType.DIRECT_ENROLLMENT\"\n\t\t\t\t\t\t\t:name=\"`enrollmentType-${item.id}`\"\n\t\t\t\t\t\t\tv-model=\"variantEnrollmentType\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label :for=\"`direct-enroll-${item.id}`\"> Direct Enrollment </label>\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</label>\n\t</div>\n</template>\n\n<script>\nimport { ProductVariantEnrollmentType } from \"../../../constants/productVariant\";\nimport { ProductVariantPricingStatus } from \"../../../constants/pricing\";\n\nexport default {\n\tname: \"EnrollmentCourseListItem\",\n\tdata() {\n\t\treturn {\n\t\t\tProductVariantEnrollmentType,\n\t\t\tProductVariantPricingStatus,\n\t\t\tvariantEnrollmentType: null,\n\t\t};\n\t},\n\tprops: {\n\t\titem: Object,\n\t\tenrollmentType: String,\n\t\tselectedVariants: Array,\n\t\tdirectEnrollVariants: Array,\n\t},\n\tmethods: {\n\t\tcheckboxToggle() {\n\t\t\tif (this.variantEnrollmentType) {\n\t\t\t\tthis.variantEnrollmentType = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!this.isCustomEnrollment) {\n\t\t\t\tthis.variantEnrollmentType = this.enrollmentType;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.variantEnrollmentType =\n\t\t\t\tthis.item.pricingStatus == ProductVariantPricingStatus.PAID\n\t\t\t\t\t? ProductVariantEnrollmentType.PRICING_PLAN\n\t\t\t\t\t: ProductVariantEnrollmentType.DIRECT_ENROLLMENT;\n\t\t},\n\t},\n\tcomputed: {\n\t\tisChecked() {\n\t\t\treturn this.variantEnrollmentType != null;\n\t\t},\n\t\tisCourseEnded() {\n\t\t\treturn this.item.endDate && new Date(this.item.endDate) < new Date();\n\t\t},\n\t\tisDisabled() {\n\t\t\treturn (\n\t\t\t\tthis.enrollmentType == ProductVariantEnrollmentType.PRICING_PLAN &&\n\t\t\t\tthis.item.pricingStatus == ProductVariantPricingStatus.FREE\n\t\t\t);\n\t\t},\n\t\tisCustomEnrollment() {\n\t\t\treturn this.enrollmentType == \"Custom\";\n\t\t},\n\t\ttitleText() {\n\t\t\tif (this.isDisabled) {\n\t\t\t\treturn \"You cannot enroll with pricing plan in a free course.\";\n\t\t\t}\n\t\t\tif (this.isCourseEnded) {\n\t\t\t\treturn \"You cannot enroll course that has ended.\";\n\t\t\t}\n\t\t\treturn \"\";\n\t\t},\n\t},\n\twatch: {\n\t\tenrollmentType: function () {\n\t\t\tif (!this.isCustomEnrollment && this.variantEnrollmentType) {\n\t\t\t\tif (this.isDisabled) {\n\t\t\t\t\tthis.variantEnrollmentType = null;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.variantEnrollmentType = this.enrollmentType;\n\t\t\t}\n\t\t},\n\t\tvariantEnrollmentType: function () {\n\t\t\tthis.$emit(\n\t\t\t\t\"updateEnrollmentLists\",\n\t\t\t\tthis.item,\n\t\t\t\tthis.variantEnrollmentType\n\t\t\t);\n\t\t},\n\t\tdirectEnrollVariants: function () {\n\t\t\tvar found;\n\t\t\tfound = this.directEnrollVariants.find((dv) => dv.id == this.item.id);\n\t\t\tif (!found) {\n\t\t\t\tfound = this.selectedVariants.find((sv) => sv.id == this.item.id);\n\t\t\t\tif (!found) {\n\t\t\t\t\tthis.variantEnrollmentType = null;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.variantEnrollmentType = ProductVariantEnrollmentType.PRICING_PLAN;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.variantEnrollmentType =\n\t\t\t\tProductVariantEnrollmentType.DIRECT_ENROLLMENT;\n\t\t},\n\t\tselectedVariants: function () {\n\t\t\tvar found;\n\t\t\tfound = this.selectedVariants.find((dv) => dv.id == this.item.id);\n\t\t\tif (!found) {\n\t\t\t\tfound = this.directEnrollVariants.find((sv) => sv.id == this.item.id);\n\t\t\t\tif (!found) {\n\t\t\t\t\tthis.variantEnrollmentType = null;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.variantEnrollmentType =\n\t\t\t\t\tProductVariantEnrollmentType.DIRECT_ENROLLMENT;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.variantEnrollmentType = ProductVariantEnrollmentType.PRICING_PLAN;\n\t\t},\n\t},\n\tcreated() {\n\t\tvar found;\n\t\tif (this.selectedVariants.length && !found) {\n\t\t\tfound = this.selectedVariants.find((sv) => sv.id == this.item.id);\n\t\t}\n\t\tif (this.directEnrollVariants.length && !found) {\n\t\t\tfound = this.directEnrollVariants.find((dv) => dv.id == this.item.id);\n\t\t}\n\t\tif (!found) {\n\t\t\treturn;\n\t\t}\n\t\tthis.variantEnrollmentType =\n\t\t\tthis.item.pricingStatus == ProductVariantPricingStatus.PAID\n\t\t\t\t? ProductVariantEnrollmentType.PRICING_PLAN\n\t\t\t\t: ProductVariantEnrollmentType.DIRECT_ENROLLMENT;\n\t},\n};\n</script>\n\n<style>\n.product-variant-list .variant {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: flex-start;\n\tcolumn-gap: 0.75rem;\n\tpadding: 0.75rem 0;\n\tfont-size: 1rem;\n\tborder-bottom: 1px solid #dcdcdc;\n\tcolor: #000000;\n}\n\n.product-variant-list .variant input,\n.product-variant-list .variant label {\n\tmargin: 0;\n}\n\n.product-variant-list input[type=\"checkbox\"] {\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EnrollmentCourseListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EnrollmentCourseListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EnrollmentCourseListItem.vue?vue&type=template&id=b464ba16&\"\nimport script from \"./EnrollmentCourseListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./EnrollmentCourseListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EnrollmentCourseListItem.vue?vue&type=style&index=0&id=b464ba16&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"form-group mt-4\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"plan\"}},[_vm._v(\" Pricing Plan (required) \")]),(_vm.arePlansLoaded)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedPlan),expression:\"selectedPlan\"}],staticClass:\"form-input mb-4\",attrs:{\"placeholder\":\"Select a plan\",\"disabled\":_vm.selectedCycles.length > 0,\"title\":_vm.selectedCycles.length > 0\n\t\t\t\t\t? 'You cannot select plan-cycles from multiple plans. Please deselect any plan-cycles selected to change plan.'\n\t\t\t\t\t: ''},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedPlan=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"disabled\":\"\",\"selected\":\"\"},domProps:{\"value\":null}},[_vm._v(\"Select a plan\")]),(\n\t\t\t\t\t_vm.plansByType(_vm.planTypes.ONE_TIME) &&\n\t\t\t\t\t_vm.plansByType(_vm.planTypes.ONE_TIME).length > 0\n\t\t\t\t)?_c('optgroup',{attrs:{\"label\":\"One-Time Plans\"}},_vm._l((_vm.plansByType(_vm.planTypes.ONE_TIME)),function(plan){return _c('option',{key:plan.id,domProps:{\"value\":plan}},[_vm._v(\" \"+_vm._s(plan.title)+\" \")])}),0):_vm._e(),(\n\t\t\t\t\t_vm.plansByType(_vm.planTypes.MULTIPLE_PAYMENT_CYCLES) &&\n\t\t\t\t\t_vm.plansByType(_vm.planTypes.MULTIPLE_PAYMENT_CYCLES).length > 0\n\t\t\t\t)?_c('optgroup',{attrs:{\"label\":\"Multiple-Cycle Plans\"}},_vm._l((_vm.plansByType(_vm.planTypes.MULTIPLE_PAYMENT_CYCLES)),function(plan){return _c('option',{key:plan.id,domProps:{\"value\":plan}},[_vm._v(\" \"+_vm._s(plan.title)+\" \")])}),0):_vm._e(),(\n\t\t\t\t\t_vm.plansByType(_vm.planTypes.MULTIPLE_PAYMENT_CYCLES) &&\n\t\t\t\t\t_vm.plansByType(_vm.planTypes.MULTIPLE_PAYMENT_CYCLES).length == 0 &&\n\t\t\t\t\t_vm.plansByType(_vm.planTypes.ONE_TIME) &&\n\t\t\t\t\t_vm.plansByType(_vm.planTypes.ONE_TIME).length == 0\n\t\t\t\t)?_c('option',{attrs:{\"disabled\":\"\"},domProps:{\"value\":null}},[_vm._v(\" No pricing plans available. Please add a plan first... \")]):_vm._e()]):_c('div',[_c('b-skeleton',{staticClass:\"mb-3\",attrs:{\"width\":\"100%\",\"height\":\"2.5rem\"}})],1)]),(_vm.planType == _vm.planTypes.MULTIPLE_PAYMENT_CYCLES)?_c('div',[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"plan\"}},[_vm._v(\" Plan Cycles \")]),_c('table',{staticClass:\"table table-hover table-borderless enrolled-users-table\"},[_c('thead',[_c('tr',{staticClass:\"d-flex\"},[_c('th',{staticClass:\"col-1\"},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_all\",\"id\":\"select_all\"},domProps:{\"checked\":_vm.isSelectedAll()},on:{\"click\":function($event){return _vm.toggleSelectAll()}}})]),_c('th',{staticClass:\"col-2\"},[_vm._v(\"Cycle Name\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Price\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Late Price\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Start Date\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"End Date\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Grace Period\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Payments\")])])]),_c('tbody',_vm._l((_vm.planCycles),function(cycle){return _c('tr',{key:cycle.id,staticClass:\"d-flex\"},[_c('td',{staticClass:\"col-1\"},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_1\",\"id\":cycle.id},domProps:{\"checked\":_vm.isChecked(cycle.id)},on:{\"click\":function($event){return _vm.togglePlanCycleSelect(cycle)}}})]),_c('td',{staticClass:\"col-2\"},[_vm._v(_vm._s(cycle.title))]),_c('td',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.currencyParser(cycle.amount))+\" \")]),_c('td',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.currencyParser(cycle.amount))+\" \")]),_c('td',{staticClass:\"col\"},[_vm._v(_vm._s(_vm.dateParser(cycle.startAt)))]),_c('td',{staticClass:\"col\"},[_vm._v(_vm._s(_vm.dateParser(cycle.endAt)))]),_c('td',{staticClass:\"col\"},[_vm._v(_vm._s(cycle.gracePeriod)+\" days\")]),_c('td',{staticClass:\"col\"},[_c('button',{class:[\n\t\t\t\t\t\t\t\t'dropdown-toggle add-payment',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'success-btn': _vm.isPaid(cycle.id),\n\t\t\t\t\t\t\t\t\t'primary-btn': !_vm.isPaid(cycle.id),\n\t\t\t\t\t\t\t\t} ],attrs:{\"type\":\"button\",\"name\":\"select_1\",\"id\":(\"payment-\" + (cycle.id)),\"disabled\":!_vm.isChecked(cycle.id),\"data-bs-toggle\":\"dropdown\"}},[_vm._v(\" \"+_vm._s(_vm.paymentButtonText(cycle.id))+\" \")]),_c('PlanCyclePaymentDropdown',{attrs:{\"cycle\":cycle,\"selectedCycles\":_vm.selectedCycles,\"multiplePlanPayments\":_vm.multiplePlanPayments},on:{\"payment\":_vm.addMultiplePayment}})],1)])}),0)]),(Object.keys(_vm.multiplePlanPayments).length > 0)?_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"paymentMethod\"}},[_vm._v(\"Payment Method (required)\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"placeholder\":\"Select Payment Method\",\"id\":\"paymentMethod\",\"options\":_vm.externalServicesList.PaymentGateway,\"label\":\"serviceName\",\"required\":\"\",\"appendToBody\":true,\"calculate-position\":_vm.withPopper},model:{value:(_vm.paymentMethod),callback:function ($$v) {_vm.paymentMethod=$$v},expression:\"paymentMethod\"}})],1),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"paymentComments\"}},[_vm._v(\"Comments (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentComments),expression:\"paymentComments\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"id\":\"paymentComments\",\"placeholder\":\"Comments (if any)\"},domProps:{\"value\":(_vm.paymentComments)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.paymentComments=$event.target.value}}})])]):_vm._e()]):(_vm.planType == _vm.planTypes.ONE_TIME)?_c('div',[_c('div',{staticClass:\"form-check form-switch mb-4\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isSinglePlanPaid),expression:\"isSinglePlanPaid\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":(\"isPaid-\" + _vm.productVariantId),\"role\":\"switch\"},domProps:{\"checked\":Array.isArray(_vm.isSinglePlanPaid)?_vm._i(_vm.isSinglePlanPaid,null)>-1:(_vm.isSinglePlanPaid)},on:{\"change\":function($event){var $$a=_vm.isSinglePlanPaid,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isSinglePlanPaid=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isSinglePlanPaid=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isSinglePlanPaid=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":(\"isPaid-\" + _vm.productVariantId)}},[_vm._v(\"Mark as Paid\")])]),(_vm.isSinglePlanPaid)?_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label extended\",attrs:{\"for\":\"amountPayable\"}},[_vm._v(\"Course Price\")]),_c('input',{staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter payable amount\",\"type\":\"number\",\"id\":\"amountPayable\",\"disabled\":\"\"},domProps:{\"value\":_vm.selectedPlan.details[0].amount}})]),_c('div',{staticClass:\"col\"},[_c('label',{class:['main-label extended', { 'text-danger': _vm.isError }],attrs:{\"for\":\"amountReceived\"}},[_vm._v(\"Amount Received (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.singlePlanReceived),expression:\"singlePlanReceived\"}],class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter received amount\",\"type\":\"number\",\"id\":\"amountReceived\",\"max\":_vm.selectedPlan.details[0].amount - _vm.singlePlanDiscount},domProps:{\"value\":(_vm.singlePlanReceived)},on:{\"change\":_vm.validateAmount,\"input\":function($event){if($event.target.composing){ return; }_vm.singlePlanReceived=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{class:['main-label extended', { 'text-danger': _vm.isError }],attrs:{\"for\":\"amountDiscount\"}},[_vm._v(\"Discount (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.singlePlanDiscount),expression:\"singlePlanDiscount\"}],class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter discount\",\"type\":\"number\",\"id\":\"amountDiscount\",\"max\":_vm.selectedPlan.details[0].amount - _vm.singlePlanReceived},domProps:{\"value\":(_vm.singlePlanDiscount)},on:{\"change\":_vm.validateAmount,\"input\":function($event){if($event.target.composing){ return; }_vm.singlePlanDiscount=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{class:['main-label extended', { 'text-danger': _vm.isError }],attrs:{\"for\":\"amountBalance\"}},[_vm._v(\"Outstanding\")]),_c('input',{class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter balance\",\"type\":\"search\",\"id\":\"amountBalance\",\"disabled\":\"\"},domProps:{\"value\":_vm.singlePlanOutstanding()}})])]):_vm._e(),(_vm.isError)?_c('p',{staticClass:\"text-danger\"},[_c('i',{staticClass:\"fas fa-exclamation-circle\"}),_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")]):_vm._e(),(_vm.isSinglePlanPaid)?_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"paymentMethod\"}},[_vm._v(\"Payment Method (required)\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"placeholder\":\"Select Payment Method\",\"id\":\"paymentMethod\",\"options\":_vm.externalServicesList.PaymentGateway,\"label\":\"serviceName\",\"appendToBody\":true,\"calculate-position\":_vm.withPopper},model:{value:(_vm.paymentMethod),callback:function ($$v) {_vm.paymentMethod=$$v},expression:\"paymentMethod\"}})],1),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"paymentComments\"}},[_vm._v(\"Comments (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentComments),expression:\"paymentComments\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"id\":\"paymentComments\",\"placeholder\":\"Comments (if any)\"},domProps:{\"value\":(_vm.paymentComments)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.paymentComments=$event.target.value}}})])]):_vm._e()]):_vm._e(),(_vm.missingError)?_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errorText))]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div class=\"form-group mt-4\">\n\t\t\t<label for=\"plan\" class=\"main-label\"> Pricing Plan (required) </label>\n\t\t\t<select\n\t\t\t\tplaceholder=\"Select a plan\"\n\t\t\t\tclass=\"form-input mb-4\"\n\t\t\t\tv-model=\"selectedPlan\"\n\t\t\t\t:disabled=\"selectedCycles.length > 0\"\n\t\t\t\t:title=\"\n\t\t\t\t\tselectedCycles.length > 0\n\t\t\t\t\t\t? 'You cannot select plan-cycles from multiple plans. Please deselect any plan-cycles selected to change plan.'\n\t\t\t\t\t\t: ''\n\t\t\t\t\"\n\t\t\t\tv-if=\"arePlansLoaded\"\n\t\t\t>\n\t\t\t\t<option :value=\"null\" disabled selected>Select a plan</option>\n\t\t\t\t<optgroup\n\t\t\t\t\tv-if=\"\n\t\t\t\t\t\tplansByType(planTypes.ONE_TIME) &&\n\t\t\t\t\t\tplansByType(planTypes.ONE_TIME).length > 0\n\t\t\t\t\t\"\n\t\t\t\t\tlabel=\"One-Time Plans\"\n\t\t\t\t>\n\t\t\t\t\t<option\n\t\t\t\t\t\tv-for=\"plan in plansByType(planTypes.ONE_TIME)\"\n\t\t\t\t\t\t:value=\"plan\"\n\t\t\t\t\t\t:key=\"plan.id\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ plan.title }}\n\t\t\t\t\t</option>\n\t\t\t\t</optgroup>\n\t\t\t\t<optgroup\n\t\t\t\t\tv-if=\"\n\t\t\t\t\t\tplansByType(planTypes.MULTIPLE_PAYMENT_CYCLES) &&\n\t\t\t\t\t\tplansByType(planTypes.MULTIPLE_PAYMENT_CYCLES).length > 0\n\t\t\t\t\t\"\n\t\t\t\t\tlabel=\"Multiple-Cycle Plans\"\n\t\t\t\t>\n\t\t\t\t\t<option\n\t\t\t\t\t\t:value=\"plan\"\n\t\t\t\t\t\tv-for=\"plan in plansByType(planTypes.MULTIPLE_PAYMENT_CYCLES)\"\n\t\t\t\t\t\t:key=\"plan.id\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ plan.title }}\n\t\t\t\t\t</option>\n\t\t\t\t</optgroup>\n\t\t\t\t<option\n\t\t\t\t\tdisabled\n\t\t\t\t\tv-if=\"\n\t\t\t\t\t\tplansByType(planTypes.MULTIPLE_PAYMENT_CYCLES) &&\n\t\t\t\t\t\tplansByType(planTypes.MULTIPLE_PAYMENT_CYCLES).length == 0 &&\n\t\t\t\t\t\tplansByType(planTypes.ONE_TIME) &&\n\t\t\t\t\t\tplansByType(planTypes.ONE_TIME).length == 0\n\t\t\t\t\t\"\n\t\t\t\t\t:value=\"null\"\n\t\t\t\t>\n\t\t\t\t\tNo pricing plans available. Please add a plan first...\n\t\t\t\t</option>\n\t\t\t</select>\n\t\t\t<div v-else>\n\t\t\t\t<b-skeleton width=\"100%\" height=\"2.5rem\" class=\"mb-3\"></b-skeleton>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-if=\"planType == planTypes.MULTIPLE_PAYMENT_CYCLES\">\n\t\t\t<!-- <div class=\"form-group\"> -->\n\t\t\t<label for=\"plan\" class=\"main-label\"> Plan Cycles </label>\n\t\t\t<!-- </div> -->\n\t\t\t<table class=\"table table-hover table-borderless enrolled-users-table\">\n\t\t\t\t<thead>\n\t\t\t\t\t<tr class=\"d-flex\">\n\t\t\t\t\t\t<th class=\"col-1\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tname=\"select_all\"\n\t\t\t\t\t\t\t\tid=\"select_all\"\n\t\t\t\t\t\t\t\t@click=\"toggleSelectAll()\"\n\t\t\t\t\t\t\t\t:checked=\"isSelectedAll()\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th class=\"col-2\">Cycle Name</th>\n\t\t\t\t\t\t<th class=\"col\">Price</th>\n\t\t\t\t\t\t<th class=\"col\">Late Price</th>\n\t\t\t\t\t\t<th class=\"col\">Start Date</th>\n\t\t\t\t\t\t<th class=\"col\">End Date</th>\n\t\t\t\t\t\t<th class=\"col\">Grace Period</th>\n\t\t\t\t\t\t<th class=\"col\">Payments</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr class=\"d-flex\" v-for=\"cycle in planCycles\" :key=\"cycle.id\">\n\t\t\t\t\t\t<td class=\"col-1\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tname=\"select_1\"\n\t\t\t\t\t\t\t\t:id=\"cycle.id\"\n\t\t\t\t\t\t\t\t@click=\"togglePlanCycleSelect(cycle)\"\n\t\t\t\t\t\t\t\t:checked=\"isChecked(cycle.id)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td class=\"col-2\">{{ cycle.title }}</td>\n\t\t\t\t\t\t<td class=\"col\">\n\t\t\t\t\t\t\t{{ currencyParser(cycle.amount) }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td class=\"col\">\n\t\t\t\t\t\t\t{{ currencyParser(cycle.amount) }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td class=\"col\">{{ dateParser(cycle.startAt) }}</td>\n\t\t\t\t\t\t<td class=\"col\">{{ dateParser(cycle.endAt) }}</td>\n\t\t\t\t\t\t<td class=\"col\">{{ cycle.gracePeriod }} days</td>\n\t\t\t\t\t\t<td class=\"col\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t\t'dropdown-toggle add-payment',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'success-btn': isPaid(cycle.id),\n\t\t\t\t\t\t\t\t\t\t'primary-btn': !isPaid(cycle.id),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t\tname=\"select_1\"\n\t\t\t\t\t\t\t\t:id=\"`payment-${cycle.id}`\"\n\t\t\t\t\t\t\t\t:disabled=\"!isChecked(cycle.id)\"\n\t\t\t\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<!-- @click=\"markPaid(cycle.id)\"\n\t\t\t\t\t\t\t\t:checked=\"isPaid(cycle.id)\" -->\n\t\t\t\t\t\t\t\t{{ paymentButtonText(cycle.id) }}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<PlanCyclePaymentDropdown\n\t\t\t\t\t\t\t\t:cycle=\"cycle\"\n\t\t\t\t\t\t\t\t:selectedCycles=\"selectedCycles\"\n\t\t\t\t\t\t\t\t@payment=\"addMultiplePayment\"\n\t\t\t\t\t\t\t\t:multiplePlanPayments=\"multiplePlanPayments\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tv-if=\"Object.keys(multiplePlanPayments).length > 0\"\n\t\t\t\tclass=\"inline-group\"\n\t\t\t>\n\t\t\t\t<div class=\"col\">\n\t\t\t\t\t<label for=\"paymentMethod\" class=\"main-label\"\n\t\t\t\t\t\t>Payment Method (required)</label\n\t\t\t\t\t>\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tplaceholder=\"Select Payment Method\"\n\t\t\t\t\t\tid=\"paymentMethod\"\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t:options=\"externalServicesList.PaymentGateway\"\n\t\t\t\t\t\tlabel=\"serviceName\"\n\t\t\t\t\t\tv-model=\"paymentMethod\"\n\t\t\t\t\t\trequired\n\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t></v-select>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col\">\n\t\t\t\t\t<label for=\"paymentComments\" class=\"main-label\"\n\t\t\t\t\t\t>Comments (optional)</label\n\t\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tid=\"paymentComments\"\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\tplaceholder=\"Comments (if any)\"\n\t\t\t\t\t\tv-model=\"paymentComments\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-else-if=\"planType == planTypes.ONE_TIME\">\n\t\t\t<div class=\"form-check form-switch mb-4\">\n\t\t\t\t<input\n\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t:id=\"`isPaid-${productVariantId}`\"\n\t\t\t\t\trole=\"switch\"\n\t\t\t\t\tv-model=\"isSinglePlanPaid\"\n\t\t\t\t/>\n\t\t\t\t<label class=\"form-check-label\" :for=\"`isPaid-${productVariantId}`\"\n\t\t\t\t\t>Mark as Paid</label\n\t\t\t\t>\n\t\t\t</div>\n\t\t\t<div v-if=\"isSinglePlanPaid\" class=\"inline-group\">\n\t\t\t\t<div class=\"col\">\n\t\t\t\t\t<label for=\"amountPayable\" class=\"main-label extended\"\n\t\t\t\t\t\t>Course Price</label\n\t\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\tplaceholder=\"Enter payable amount\"\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tid=\"amountPayable\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t:value=\"selectedPlan.details[0].amount\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col\">\n\t\t\t\t\t<label\n\t\t\t\t\t\tfor=\"amountReceived\"\n\t\t\t\t\t\t:class=\"['main-label extended', { 'text-danger': isError }]\"\n\t\t\t\t\t\t>Amount Received (required)</label\n\t\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\tplaceholder=\"Enter received amount\"\n\t\t\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tid=\"amountReceived\"\n\t\t\t\t\t\tv-model=\"singlePlanReceived\"\n\t\t\t\t\t\t:max=\"selectedPlan.details[0].amount - singlePlanDiscount\"\n\t\t\t\t\t\t@change=\"validateAmount\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col\">\n\t\t\t\t\t<label\n\t\t\t\t\t\tfor=\"amountDiscount\"\n\t\t\t\t\t\t:class=\"['main-label extended', { 'text-danger': isError }]\"\n\t\t\t\t\t\t>Discount (optional)</label\n\t\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\tplaceholder=\"Enter discount\"\n\t\t\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tid=\"amountDiscount\"\n\t\t\t\t\t\tv-model=\"singlePlanDiscount\"\n\t\t\t\t\t\t:max=\"selectedPlan.details[0].amount - singlePlanReceived\"\n\t\t\t\t\t\t@change=\"validateAmount\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col\">\n\t\t\t\t\t<label\n\t\t\t\t\t\tfor=\"amountBalance\"\n\t\t\t\t\t\t:class=\"['main-label extended', { 'text-danger': isError }]\"\n\t\t\t\t\t\t>Outstanding</label\n\t\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\tplaceholder=\"Enter balance\"\n\t\t\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tid=\"amountBalance\"\n\t\t\t\t\t\t:value=\"singlePlanOutstanding()\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<p v-if=\"isError\" class=\"text-danger\">\n\t\t\t\t<i class=\"fas fa-exclamation-circle\"></i> {{ errorText }}\n\t\t\t</p>\n\t\t\t<div v-if=\"isSinglePlanPaid\" class=\"inline-group\">\n\t\t\t\t<div class=\"col\">\n\t\t\t\t\t<label for=\"paymentMethod\" class=\"main-label\"\n\t\t\t\t\t\t>Payment Method (required)</label\n\t\t\t\t\t>\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tplaceholder=\"Select Payment Method\"\n\t\t\t\t\t\tid=\"paymentMethod\"\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t:options=\"externalServicesList.PaymentGateway\"\n\t\t\t\t\t\tlabel=\"serviceName\"\n\t\t\t\t\t\tv-model=\"paymentMethod\"\n\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t></v-select>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col\">\n\t\t\t\t\t<label for=\"paymentComments\" class=\"main-label\"\n\t\t\t\t\t\t>Comments (optional)</label\n\t\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tid=\"paymentComments\"\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\tplaceholder=\"Comments (if any)\"\n\t\t\t\t\t\tv-model=\"paymentComments\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<p v-if=\"missingError\" class=\"text-danger\">{{ errorText }}</p>\n\t\t<!-- <button\n\t\t\tv-if=\"showDone\"\n\t\t\tclass=\"step-btn ms-auto collapsed\"\n\t\t\t@click=\"emitInvoiceDetails\"\n\t\t\tdata-bs-toggle=\"collapse\"\n\t\t\t:data-bs-target=\"`#variant-collapse-${productVariantId}`\"\n\t\t\taria-expanded=\"false\"\n\t\t\t:disabled=\"!selectedPlan\"\n\t\t>\n\t\t\tDone\n\t\t</button> -->\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport PlanCyclePaymentDropdown from \"./PlanCyclePaymentDropdown.vue\";\nimport formatter from \"../../../helpers/FormatHelpers\";\nimport { createPopper } from \"@popperjs/core\";\nexport default {\n\tname: \"EnrollmentPricingPlans\",\n\tdata() {\n\t\treturn {\n\t\t\tselectedCycles: [],\n\t\t\tisSinglePlanPaid: false,\n\t\t\tselectedPlan: null,\n\t\t\tsinglePlanDiscount: null,\n\t\t\tsinglePlanReceived: null,\n\t\t\tpaymentMethod: null,\n\t\t\tpaymentComments: null,\n\t\t\tmultiplePlanPayments: {},\n\t\t\tarePlansLoaded: false,\n\t\t\tplanTypes: {\n\t\t\t\tONE_TIME: \"OneTime\",\n\t\t\t\tMULTIPLE_PAYMENT_CYCLES: \"MultiplePaymentCycles\",\n\t\t\t},\n\t\t\terrorText: \"\",\n\t\t\tmissingError: false,\n\t\t\tisError: false,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"appState\", [\"fetchExternalServices\"]),\n\t\t...mapActions(\"pricing\", [\"fetchPricingPlanByProductVariantId\"]),\n\t\tplansByType(planType) {\n\t\t\tif (this.pricingPlanByProductVariantId[this.productVariantId]) {\n\t\t\t\tvar filteredPlans = this.pricingPlanByProductVariantId[\n\t\t\t\t\tthis.productVariantId\n\t\t\t\t].filter((plan) => plan.type == planType);\n\t\t\t\treturn filteredPlans;\n\t\t\t}\n\t\t\treturn [];\n\t\t},\n\t\ttoggleSelectAll() {\n\t\t\tif (\n\t\t\t\tthis.planCycles &&\n\t\t\t\tthis.planCycles.length > 0 &&\n\t\t\t\tthis.selectedCycles.length != this.planCycles.length\n\t\t\t) {\n\t\t\t\tthis.selectedCycles = this.planCycles;\n\t\t\t} else {\n\t\t\t\tthis.selectedCycles = [];\n\t\t\t}\n\t\t},\n\t\tisSelectedAll() {\n\t\t\treturn this.planCycles.length == this.selectedCycles.length;\n\t\t},\n\t\ttogglePlanCycleSelect(cycle) {\n\t\t\tvar found = this.selectedCycles.find((s) => s.id == cycle.id);\n\t\t\tconsole.log(found, cycle);\n\t\t\tif (!found) {\n\t\t\t\tthis.selectedCycles.push(cycle);\n\t\t\t} else {\n\t\t\t\tthis.selectedCycles = this.selectedCycles.filter(\n\t\t\t\t\t(su) => su.id != cycle.id\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tisChecked(id) {\n\t\t\tvar found = this.selectedCycles.find((cycle) => cycle.id == id);\n\t\t\t// console.log(found);\n\t\t\tif (found) {\n\t\t\t\treturn true;\n\t\t\t} else return false;\n\t\t},\n\t\tmarkPaid(id) {\n\t\t\tthis.selectedCycles = this.selectedCycles.map((cycle) => {\n\t\t\t\tif (cycle.id == id) {\n\t\t\t\t\tconsole.log(cycle.title);\n\t\t\t\t\tif (!cycle.isPaid) {\n\t\t\t\t\t\tvar currentCycle = cycle;\n\t\t\t\t\t\tcurrentCycle.isPaid = true;\n\t\t\t\t\t\tcycle = currentCycle;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn cycle;\n\t\t\t});\n\t\t},\n\t\tisPaid(id) {\n\t\t\tvar found = this.multiplePlanPayments[id];\n\t\t\tif (found) {\n\t\t\t\treturn true;\n\t\t\t} else return false;\n\t\t},\n\t\tsinglePlanOutstanding() {\n\t\t\tvar balance;\n\t\t\tif (this.selectedPlan)\n\t\t\t\tbalance =\n\t\t\t\t\tthis.selectedPlan.details[0].amount -\n\t\t\t\t\tthis.singlePlanDiscount -\n\t\t\t\t\tthis.singlePlanReceived;\n\t\t\telse balance = 0;\n\t\t\tif (balance >= 0) return balance;\n\t\t\telse {\n\t\t\t\tthis.isError = true;\n\t\t\t\tthis.errorText = \"Paid amount cannot be greater than course amount\";\n\t\t\t\treturn \"Invalid amount\";\n\t\t\t}\n\t\t},\n\t\taddMultiplePayment(payment) {\n\t\t\tthis.multiplePlanPayments[payment.id] = payment.amount;\n\t\t\tthis.markPaid(payment.id);\n\t\t\tdocument.getElementById(`payment-${payment.id}`).click();\n\t\t},\n\t\tpaymentButtonText(id) {\n\t\t\tif (this.multiplePlanPayments[id]) {\n\t\t\t\tvar amount =\n\t\t\t\t\tparseInt(this.multiplePlanPayments[id].received) +\n\t\t\t\t\tparseInt(this.multiplePlanPayments[id].discount);\n\t\t\t\t// console.log(amount);\n\n\t\t\t\treturn formatter.toCurrencyString(\n\t\t\t\t\tamount,\n\t\t\t\t\tthis.selectedPlan.currency,\n\t\t\t\t\t0\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn \"+ Add\";\n\t\t\t}\n\t\t},\n\t\tcurrencyParser(amount) {\n\t\t\treturn formatter.toCurrencyString(\n\t\t\t\tparseInt(amount),\n\t\t\t\tthis.selectedPlan.currency,\n\t\t\t\t0\n\t\t\t);\n\t\t},\n\t\tdateParser(date) {\n\t\t\treturn formatter.toShortDateString(date);\n\t\t},\n\t\temitInvoiceDetails() {\n\t\t\tvar invoiceDetail = [];\n\t\t\tif (\n\t\t\t\tthis.selectedPlan &&\n\t\t\t\tthis.selectedPlan.type.toLowerCase() ==\n\t\t\t\t\tthis.planTypes.ONE_TIME.toLowerCase()\n\t\t\t) {\n\t\t\t\tinvoiceDetail = [\n\t\t\t\t\t{\n\t\t\t\t\t\tplanDetailID: parseInt(this.selectedPlan.details[0].id),\n\t\t\t\t\t\tamount: 0, //this.selectedPlan.details[0].amount,\n\t\t\t\t\t\tstatus: \"unpaid\",\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\tvar dueDate = new Date().setDate(\n\t\t\t\t\tnew Date().getDate() + this.selectedPlan.details[0].gracePeriod\n\t\t\t\t);\n\t\t\t\tdueDate = new Date(dueDate).setHours(23, 59, 59);\n\t\t\t\tconsole.log(dueDate);\n\t\t\t\tinvoiceDetail[0].dueDate = new Date(dueDate).toISOString();\n\t\t\t\tinvoiceDetail[0].discount = 0.0;\n\t\t\t\tinvoiceDetail[0].discountType = null;\n\t\t\t\tinvoiceDetail[0].isPaid = this.isSinglePlanPaid;\n\t\t\t\tif (this.isSinglePlanPaid) {\n\t\t\t\t\tif (!this.singlePlanReceived) {\n\t\t\t\t\t\tthis.errorText =\n\t\t\t\t\t\t\t\"Please enter received amount or check if entered amount is valid\";\n\t\t\t\t\t\tthis.missingError = true;\n\t\t\t\t\t\tthis.$emit(\"error\", {\n\t\t\t\t\t\t\ttext: \"Please enter received amount or check if entered amount is valid\",\n\t\t\t\t\t\t\tstatus: true,\n\t\t\t\t\t\t\tid: this.productVariantId,\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (!this.paymentMethod) {\n\t\t\t\t\t\tthis.errorText = \"Please select a payment method\";\n\t\t\t\t\t\tthis.missingError = true;\n\t\t\t\t\t\tthis.$emit(\"error\", {\n\t\t\t\t\t\t\ttext: \"Please select a payment method\",\n\t\t\t\t\t\t\tstatus: true,\n\t\t\t\t\t\t\tid: this.productVariantId,\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.missingError = false;\n\t\t\t\t\t\tthis.errorText = \"\";\n\t\t\t\t\t\tthis.$emit(\"error\", {\n\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\tstatus: false,\n\t\t\t\t\t\t\tid: this.productVariantId,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tinvoiceDetail[0].payment = {\n\t\t\t\t\t\t\tcustomerID: this.user.id,\n\t\t\t\t\t\t\tpaymentDate: new Date().toISOString(),\n\t\t\t\t\t\t\tmethod: this.paymentMethod.serviceName,\n\t\t\t\t\t\t\tmethodProvider: this.paymentMethod.serviceProvider,\n\t\t\t\t\t\t\tmethodProviderID: this.paymentMethod.serviceCode,\n\t\t\t\t\t\t\tdetails: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tamount: parseFloat(this.singlePlanReceived),\n\t\t\t\t\t\t\t\t\ttype: \"received\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstatus: \"Completed\",\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// var isDiscount = this.singlePlanDiscount;\n\t\t\t\t// console.log(isDiscount);\n\t\t\t\t// if (isDiscount) {\n\t\t\t\t// \tinvoiceDetail[0].discount = isDiscount;\n\t\t\t\t// \tinvoiceDetail[0].discountType = \"amount\";\n\t\t\t\t// }\n\t\t\t} else {\n\t\t\t\tthis.selectedCycles.forEach((cycle) => {\n\t\t\t\t\tvar detail = {\n\t\t\t\t\t\tplanDetailID: parseInt(cycle.id),\n\t\t\t\t\t\tamount: 0, //cycle.amount,\n\t\t\t\t\t\tstatus: \"unpaid\",\n\t\t\t\t\t};\n\t\t\t\t\tvar dueDate = new Date().setDate(\n\t\t\t\t\t\tnew Date().getDate() + cycle.gracePeriod\n\t\t\t\t\t);\n\t\t\t\t\tdueDate = new Date(dueDate).setHours(23, 59, 59);\n\n\t\t\t\t\tconsole.log(dueDate);\n\n\t\t\t\t\tdetail.dueDate = new Date(dueDate).toISOString();\n\t\t\t\t\tdetail.discount = 0.0;\n\t\t\t\t\tdetail.discountType = null;\n\t\t\t\t\tif (\n\t\t\t\t\t\tObject.values(this.multiplePlanPayments).length > 0 &&\n\t\t\t\t\t\tthis.multiplePlanPayments[cycle.id]\n\t\t\t\t\t) {\n\t\t\t\t\t\tif (!this.paymentMethod) {\n\t\t\t\t\t\t\tthis.errorText = \"Please select a payment method\";\n\t\t\t\t\t\t\tthis.missingError = true;\n\t\t\t\t\t\t\tthis.$emit(\"error\", {\n\t\t\t\t\t\t\t\ttext: \"Please select a payment method\",\n\t\t\t\t\t\t\t\tstatus: true,\n\t\t\t\t\t\t\t\tid: this.productVariantId,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (!this.multiplePlanPayments[cycle.id].received) {\n\t\t\t\t\t\t\tthis.errorText =\n\t\t\t\t\t\t\t\t\"Please enter received amount or check if entered amount is valid\";\n\t\t\t\t\t\t\tthis.missingError = true;\n\t\t\t\t\t\t\tthis.$emit(\"error\", {\n\t\t\t\t\t\t\t\ttext: \"Please enter received amount or check if entered amount is valid\",\n\t\t\t\t\t\t\t\tstatus: true,\n\t\t\t\t\t\t\t\tid: this.productVariantId,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.missingError = false;\n\t\t\t\t\t\t\tthis.errorText = \"\";\n\t\t\t\t\t\t\tthis.$emit(\"error\", {\n\t\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\t\tstatus: false,\n\t\t\t\t\t\t\t\tid: this.productVariantId,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tconsole.log(this.multiplePlanPayments[cycle.id]);\n\t\t\t\t\t\t\tvar payAmount = this.multiplePlanPayments[cycle.id];\n\t\t\t\t\t\t\tdetail.payment = {\n\t\t\t\t\t\t\t\tcustomerID: this.user.id,\n\t\t\t\t\t\t\t\tpaymentDate: new Date().toISOString(),\n\t\t\t\t\t\t\t\tmethod: this.paymentMethod.serviceName,\n\t\t\t\t\t\t\t\tmethodProvider: this.paymentMethod.serviceProvider,\n\t\t\t\t\t\t\t\tmethodProviderID: this.paymentMethod.serviceCode,\n\n\t\t\t\t\t\t\t\tdetails: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tamount: parseFloat(payAmount.received),\n\t\t\t\t\t\t\t\t\t\ttype: \"received\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tstatus: \"Completed\",\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t} // var isDiscount =\n\t\t\t\t\t// \tthis.multiplePlanPayments[cycle.id] &&\n\t\t\t\t\t// \tthis.multiplePlanPayments[cycle.id].discount;\n\t\t\t\t\t// if (isDiscount) {\n\t\t\t\t\t// \tdetail.discount = isDiscount;\n\t\t\t\t\t// \tdetail.discountType = \"amount\";\n\t\t\t\t\t// }\n\t\t\t\t\tinvoiceDetail.push(detail);\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.$emit(\"invoiceDetailAdd\", invoiceDetail);\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\t// console.log(dropdownList, component.$refs.toggle, { width });\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t\tvalidateAmount(e) {\n\t\t\tconsole.log(\"validateAmount\", e.target.value);\n\t\t\tif (e.target.value < 0) {\n\t\t\t\tthis.isError = true;\n\t\t\t\tconsole.log(\"error\", e.target.id);\n\t\t\t\tthis.errorText = `Enter a valid amount ${\n\t\t\t\t\te.target.id == \"amountReceived\"\n\t\t\t\t\t\t? \"(Amount Received)\"\n\t\t\t\t\t\t: e.target.id == \"amountDiscount\"\n\t\t\t\t\t\t? \"(Discount)\"\n\t\t\t\t\t\t: \"\"\n\t\t\t\t}`;\n\t\t\t} else {\n\t\t\t\tthis.isError = false;\n\t\t\t\tthis.errorText = \"\";\n\t\t\t}\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"externalServicesList\"]),\n\t\t...mapState(\"pricing\", [\"pricingPlanByProductVariantId\"]),\n\t\tplanType() {\n\t\t\tif (this.selectedPlan) return this.selectedPlan.type;\n\t\t},\n\t\t// isError() {\n\t\t// \tvar error = this.singlePlanOutstanding() == \"Invalid amount\";\n\t\t// \t// if (error) {\n\t\t// \t// \tthis.$emit(\"error\", error);\n\t\t// \t// }\n\t\t// \treturn error;\n\t\t// },\n\t\tplanCycles() {\n\t\t\t// var planCycles = new Array();\n\t\t\tvar planCycles = this.selectedPlan.details;\n\t\t\tplanCycles = JSON.parse(JSON.stringify(planCycles));\n\t\t\t// Object.freeze(planCycles);\n\t\t\treturn planCycles;\n\t\t},\n\t\t// selectedCycleReceived: {\n\t\t// \tget: function(e) {\n\t\t// \t\tconst id = e.target.id;\n\t\t// \t\tconsole.log(id);\n\t\t// \t\tvar currentCycle = this.selectedCycles.find((c) => c.id == id);\n\t\t// \t\tif (currentCycle.payments) {\n\t\t// \t\t\treturn currentCycle.payments.receivedAmount;\n\t\t// \t\t} else return null;\n\t\t// \t},\n\t\t// \tset: function(e, value) {\n\t\t// \t\tconst id = e.target.id;\n\t\t// \t\tvar currentCycle = this.selectedCycles.find((c) => c.id == id);\n\t\t// \t\tif (currentCycle.payments) {\n\t\t// \t\t\tcurrentCycle.payments.receivedAmount = value;\n\t\t// \t\t}\n\t\t// \t},\n\t\t// },\n\t},\n\tcreated() {\n\t\tconsole.log(this.$parent.$data);\n\t\tif (!this.externalServicesList.PaymentGateway) {\n\t\t\tthis.fetchExternalServices(\"PaymentGateway\").then(\n\t\t\t\tconsole.log(this.externalServicesList.PaymentGateway)\n\t\t\t);\n\t\t}\n\t\tif (!this.pricingPlanByProductVariantId[this.productVariantId]) {\n\t\t\tthis.fetchPricingPlanByProductVariantId(this.productVariantId).then(\n\t\t\t\t() => (this.arePlansLoaded = true),\n\t\t\t\tconsole.log(this.pricingPlanByProductVariantId[this.productVariantId])\n\t\t\t);\n\t\t} else this.arePlansLoaded = true;\n\t},\n\tprops: {\n\t\tproductVariantId: String,\n\t\tshowDone: Boolean,\n\t\tuser: Object,\n\t\tparent: String,\n\t},\n\tcomponents: { PlanCyclePaymentDropdown },\n\twatch: {\n\t\tisError: function () {\n\t\t\tthis.$emit(\"error\", {\n\t\t\t\ttext: this.errorText,\n\t\t\t\tstatus: this.isError,\n\t\t\t\tid: this.productVariantId,\n\t\t\t});\n\t\t},\n\t\tselectedPlan: function () {\n\t\t\tthis.emitInvoiceDetails();\n\t\t\tthis.$emit(\"updatePlan\", this.selectedPlan);\n\t\t},\n\t\tselectedCycles: function () {\n\t\t\tif (this.parent == \"userenroll\") this.emitInvoiceDetails();\n\t\t\telse if (this.parent == \"variantenroll\") this.$emit(\"updatePayments\");\n\t\t\t// this.emitInvoiceDetails();\n\t\t},\n\t\tpaymentMethod: function () {\n\t\t\tif (this.paymentMethod) {\n\t\t\t\tif (this.parent == \"userenroll\") this.emitInvoiceDetails();\n\t\t\t\telse if (this.parent == \"variantenroll\") this.$emit(\"updatePayments\");\n\t\t\t\tthis.isError = false;\n\t\t\t\tthis.missingError = false;\n\t\t\t}\n\t\t},\n\t\tisSinglePlanPaid: function () {\n\t\t\tif (!this.isSinglePlanPaid) {\n\t\t\t\tthis.$emit(\"removePayments\");\n\t\t\t\tthis.isError = false;\n\t\t\t\tthis.missingError = false;\n\t\t\t\tthis.$emit(\"error\", {\n\t\t\t\t\ttext: \"\",\n\t\t\t\t\tstatus: this.isError,\n\t\t\t\t\tid: this.productVariantId,\n\t\t\t\t});\n\t\t\t} else if (this.parent == \"variantenroll\" && this.singlePlanReceived)\n\t\t\t\tthis.$emit(\"updatePayments\");\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.table-container {\n\tbackground-color: #ffffff;\n\tborder-radius: 8px;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n}\n\n.enrolled-users-table thead th,\n.enrolled-users-table td {\n\tmin-height: 4rem;\n\tvertical-align: middle;\n}\n\n/* .enrolled-users-table td:first-of-type {\n\tpadding-left: 0;\n} */\n\n.enrolled-users-table input[type=\"checkbox\"] {\n\t/* margin-left: 1.5rem; */\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n\n.enrolled-users-table tbody {\n\tdisplay: block;\n\tmax-height: 14rem !important;\n\toverflow-y: auto;\n}\n\n.enrolled-users-table thead tr,\n.enrolled-users-table tbody tr {\n\tdisplay: table !important;\n\twidth: 100%;\n\ttable-layout: fixed;\n}\n\n.add-payment:after {\n\tdisplay: none !important;\n}\n\n.main-label.extended {\n\tmin-height: 2.75rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EnrollmentPricingPlans.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EnrollmentPricingPlans.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EnrollmentPricingPlans.vue?vue&type=template&id=3e8b2af4&scoped=true&\"\nimport script from \"./EnrollmentPricingPlans.vue?vue&type=script&lang=js&\"\nexport * from \"./EnrollmentPricingPlans.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EnrollmentPricingPlans.vue?vue&type=style&index=0&id=3e8b2af4&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3e8b2af4\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown-menu dropdown-menu-lg-end add-payment-dropdown\",attrs:{\"aria-labelledby\":(\"payment-\" + (_vm.cycle.id))},on:{\"click\":function (e) { return e.stopPropagation(); }}},[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label extended\",attrs:{\"for\":\"amountPayable\"}},[_vm._v(\"Course Price\")]),_c('input',{staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter payable amount\",\"type\":\"text\",\"id\":\"amountPayable\",\"disabled\":\"\"},domProps:{\"value\":_vm.selectedCyclePrice(_vm.cycle.id)}})]),_c('div',{staticClass:\"col\"},[_c('label',{class:['main-label extended', { 'text-danger': _vm.isError }],attrs:{\"for\":\"amountReceived\"}},[_vm._v(\"Amount Received (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.cycleReceived),expression:\"cycleReceived\"}],class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter received amount\",\"type\":\"number\",\"id\":\"amountReceived\",\"max\":_vm.selectedCyclePrice(_vm.cycle.id) - _vm.cycleDiscount},domProps:{\"value\":(_vm.cycleReceived)},on:{\"change\":_vm.validateAmount,\"input\":function($event){if($event.target.composing){ return; }_vm.cycleReceived=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{class:['main-label extended', { 'text-danger': _vm.isError }],attrs:{\"for\":\"amountDiscount\"}},[_vm._v(\"Discount (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.cycleDiscount),expression:\"cycleDiscount\"}],class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter discount\",\"type\":\"number\",\"id\":\"amountDiscount\",\"max\":_vm.selectedCyclePrice(_vm.cycle.id) - _vm.cycleReceived},domProps:{\"value\":(_vm.cycleDiscount)},on:{\"change\":_vm.validateAmount,\"input\":function($event){if($event.target.composing){ return; }_vm.cycleDiscount=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{class:['main-label extended', { 'text-danger': _vm.isError }],attrs:{\"for\":\"amountBalance\"}},[_vm._v(\"Outstanding\")]),_c('input',{class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter balance\",\"type\":\"text\",\"id\":\"amountBalance\",\"disabled\":\"\"},domProps:{\"value\":_vm.cycleOutstanding}})])]),(_vm.isError)?_c('p',{staticClass:\"text-danger\"},[_c('i',{staticClass:\"fas fa-exclamation-circle\"}),_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")]):_vm._e(),(_vm.amountError)?_c('p',{staticClass:\"text-danger\"},[_c('i',{staticClass:\"fas fa-exclamation-circle\"}),_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")]):_vm._e(),_c('div',{staticClass:\"buttons\"},[_c('button',{staticClass:\"skip-step-btn\",on:{\"click\":function($event){return _vm.closeDropdown(_vm.cycle.id)}}},[_vm._v(\" Cancel \")]),_c('button',{staticClass:\"step-btn\",attrs:{\"disabled\":_vm.isError},on:{\"click\":function($event){!_vm.isError && _vm.togglePaid($event, _vm.cycle.id)}}},[_vm._v(\" Mark as Paid \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\tclass=\"dropdown-menu dropdown-menu-lg-end add-payment-dropdown\"\n\t\t@click=\"(e) => e.stopPropagation()\"\n\t\t:aria-labelledby=\"`payment-${cycle.id}`\"\n\t>\n\t\t<div class=\"inline-group\">\n\t\t\t<div class=\"col\">\n\t\t\t\t<label for=\"amountPayable\" class=\"main-label extended\"\n\t\t\t\t\t>Course Price</label\n\t\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tplaceholder=\"Enter payable amount\"\n\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tid=\"amountPayable\"\n\t\t\t\t\tdisabled\n\t\t\t\t\t:value=\"selectedCyclePrice(cycle.id)\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"col\">\n\t\t\t\t<label\n\t\t\t\t\tfor=\"amountReceived\"\n\t\t\t\t\t:class=\"['main-label extended', { 'text-danger': isError }]\"\n\t\t\t\t\t>Amount Received (required)</label\n\t\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tplaceholder=\"Enter received amount\"\n\t\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tid=\"amountReceived\"\n\t\t\t\t\tv-model=\"cycleReceived\"\n\t\t\t\t\t:max=\"selectedCyclePrice(cycle.id) - cycleDiscount\"\n\t\t\t\t\t@change=\"validateAmount\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"col\">\n\t\t\t\t<label\n\t\t\t\t\tfor=\"amountDiscount\"\n\t\t\t\t\t:class=\"['main-label extended', { 'text-danger': isError }]\"\n\t\t\t\t\t>Discount (optional)</label\n\t\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tplaceholder=\"Enter discount\"\n\t\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tid=\"amountDiscount\"\n\t\t\t\t\tv-model=\"cycleDiscount\"\n\t\t\t\t\t:max=\"selectedCyclePrice(cycle.id) - cycleReceived\"\n\t\t\t\t\t@change=\"validateAmount\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"col\">\n\t\t\t\t<label\n\t\t\t\t\tfor=\"amountBalance\"\n\t\t\t\t\t:class=\"['main-label extended', { 'text-danger': isError }]\"\n\t\t\t\t\t>Outstanding</label\n\t\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tplaceholder=\"Enter balance\"\n\t\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tid=\"amountBalance\"\n\t\t\t\t\t:value=\"cycleOutstanding\"\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t\t<p v-if=\"isError\" class=\"text-danger\">\n\t\t\t<i class=\"fas fa-exclamation-circle\"></i> {{ errorText }}\n\t\t</p>\n\t\t<p class=\"text-danger\" v-if=\"amountError\">\n\t\t\t<i class=\"fas fa-exclamation-circle\"></i> {{ errorText }}\n\t\t</p>\n\t\t<div class=\"buttons\">\n\t\t\t<button class=\"skip-step-btn\" @click=\"closeDropdown(cycle.id)\">\n\t\t\t\tCancel\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\t:disabled=\"isError\"\n\t\t\t\tclass=\"step-btn\"\n\t\t\t\t@click=\"!isError && togglePaid($event, cycle.id)\"\n\t\t\t>\n\t\t\t\tMark as Paid\n\t\t\t</button>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"PlanCyclePaymentDropdown\",\n\tprops: { cycle: Object, selectedCycles: Array, multiplePlanPayments: Object },\n\tdata() {\n\t\treturn {\n\t\t\tcycleReceived: null,\n\t\t\tcycleDiscount: null,\n\t\t\tamountError: false,\n\t\t\terrorText: \"\",\n\t\t\tisError: false,\n\t\t\t// cycleOutstanding: null,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"appState\", [\"fetchExternalServices\"]),\n\t\ttogglePaid(e, id) {\n\t\t\tif (!this.cycleReceived) {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.errorText = \"Please enter received amount\";\n\t\t\t\tthis.amountError = true;\n\t\t\t} else {\n\t\t\t\tvar amount = {\n\t\t\t\t\treceived: this.cycleReceived,\n\t\t\t\t\tdiscount: this.cycleDiscount ? this.cycleDiscount : \"0\",\n\t\t\t\t};\n\t\t\t\tthis.$emit(\"payment\", { id, amount });\n\t\t\t}\n\t\t},\n\t\tselectedCyclePrice(id) {\n\t\t\tvar currentCycle = this.selectedCycles.find((cycle) => cycle.id == id);\n\t\t\treturn currentCycle ? currentCycle.amount : 0;\n\t\t},\n\t\tcloseDropdown(id) {\n\t\t\tdocument.getElementById(`payment-${id}`).click();\n\t\t},\n\t\tvalidateAmount(e) {\n\t\t\tconsole.log(\"validateAmount\", e.target.value);\n\t\t\tif (e.target.value < 0) {\n\t\t\t\tthis.isError = true;\n\t\t\t\tconsole.log(\"error\", e.target.id);\n\t\t\t\tthis.errorText = `Enter a valid amount ${\n\t\t\t\t\te.target.id == \"amountReceived\"\n\t\t\t\t\t\t? \"(Amount Received)\"\n\t\t\t\t\t\t: e.target.id == \"amountDiscount\"\n\t\t\t\t\t\t? \"(Discount)\"\n\t\t\t\t\t\t: \"\"\n\t\t\t\t}`;\n\t\t\t} else {\n\t\t\t\treturn this.cycleOutstanding;\n\t\t\t}\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"externalServicesList\"]),\n\t\t// isError() {\n\t\t// \tvar error = this.cycleOutstanding == \"Invalid amount\";\n\t\t// \t// if (error) {\n\t\t// \t// \tthis.$emit(\"error\", error);\n\t\t// \t// }\n\t\t// \treturn error;\n\t\t// },\n\t\tcycleOutstanding() {\n\t\t\tvar balance;\n\t\t\tif (this.cycle)\n\t\t\t\tbalance = this.cycle.amount - this.cycleDiscount - this.cycleReceived;\n\t\t\telse balance = 0;\n\t\t\tif (balance >= 0) {\n\t\t\t\tthis.isError = false;\n\t\t\t\tthis.errorText = \"\";\n\t\t\t\treturn balance;\n\t\t\t} else {\n\t\t\t\tthis.isError = true;\n\t\t\t\tthis.errorText = \"Paid amount cannot be greater than course amount\";\n\t\t\t\treturn \"Invalid amount\";\n\t\t\t}\n\t\t},\n\t},\n\tcreated() {\n\t\tif (this.cycle.isPaid) {\n\t\t\tthis.cycleReceived = this.multiplePlanPayments[this.cycle.id].received;\n\t\t\tthis.cycleDiscount = this.multiplePlanPayments[this.cycle.id].discount;\n\t\t}\n\t\t// document\n\t\t// \t.getElementById(\"add-payment-dropdown\")\n\t\t// \t.onclick((e) => e.stopPropagation());\n\t},\n};\n</script>\n\n<style scoped>\n.add-payment-dropdown {\n\tmax-width: 50rem;\n\tpadding: 1.5rem;\n}\n\n.buttons {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: flex-end;\n\tcolumn-gap: 1rem;\n}\n\n.main-label.extended {\n\tmin-height: 2.75rem !important;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PlanCyclePaymentDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PlanCyclePaymentDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PlanCyclePaymentDropdown.vue?vue&type=template&id=418159d8&scoped=true&\"\nimport script from \"./PlanCyclePaymentDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./PlanCyclePaymentDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PlanCyclePaymentDropdown.vue?vue&type=style&index=0&id=418159d8&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"418159d8\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-modal-tab-body enrollment\"},[(_vm.user.productVariants == null || _vm.user.productVariants.length == 0)?_c('div',{staticClass:\"no-content\"},[_c('h5',{staticClass:\"text-center\"},[_vm._v(\"No enrolled Courses\")])]):_vm._e(),_c('div',{staticClass:\"d-flex flex-column width-100 align-items-end\"},[(_vm.user.productVariants && _vm.user.productVariants.length > 0)?_c('table',{staticClass:\"table table-hover table-borderless enrolled-users-table\",attrs:{\"id\":\"product-variants\"}},[_vm._m(0),_c('tbody',_vm._l((_vm.user.productVariants),function(productVariant,index){return _c('tr',{key:index},[_c('td',{staticClass:\"col\"},[_vm._v(_vm._s(productVariant.productVariantID))]),_c('td',{staticClass:\"col title\"},[_vm._v(\" \"+_vm._s(productVariant.product.productTitle)+\" (\"+_vm._s(productVariant.productVariantTitle)+\") \"),_c('br'),(\n                  productVariant.enrollmentType ==\n                  _vm.ProductVariantEnrollmentType.DIRECT_ENROLLMENT\n                )?_c('span',{staticStyle:{\"display\":\"flex\"}},[_c('span',[_vm._v(_vm._s(productVariant.enrollmentType)+\" | \"),_c('b',[_vm._v(\"Expires At :\")])]),(\n                    productVariant.enrollmentType ==\n                    _vm.ProductVariantEnrollmentType.DIRECT_ENROLLMENT\n                  )?_c('span',[(_vm.editIndex == index)?_c('span',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.updatedExpiresAt),expression:\"updatedExpiresAt\"}],staticClass:\"form-input expires-at-input\",staticStyle:{\"width\":\"110px\",\"height\":\"20px\",\"padding\":\"0px\",\"margin-left\":\"10px\"},attrs:{\"placeholder\":\"Expires At\",\"type\":\"date\",\"name\":\"expiresAt\",\"id\":\"expires-at\"},domProps:{\"value\":(_vm.updatedExpiresAt)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.updatedExpiresAt=$event.target.value}}}),_vm._v(\"    \"),_c('a',{staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.updatedExpiresAtClick(productVariant)}}},[_c('i',{staticClass:\"fa fa-save fa-sm\"})]),_vm._v(\"    \"),_c('a',{staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.editExpiresAt(-1, null)}}},[_c('i',{staticClass:\"fa fa-times text-danger\"})])]):(productVariant.expiresAt)?_c('span',[_vm._v(\"  \"+_vm._s(new Date(productVariant.expiresAt).toLocaleDateString( \"en-us\", { weekday: \"long\", year: \"numeric\", month: \"short\", day: \"numeric\", } ))+\"    \"),_c('a',{staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){_vm.editExpiresAt(\n                          index,\n                          new Date(\n                            productVariant.expiresAt\n                          ).toLocaleDateString()\n                        )}}},[_c('img',{attrs:{\"src\":\"/img/edit-icon.637375ac.svg\"}})])]):_c('span',[_vm._v(\"End of batch    \"),_c('a',{staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){_vm.editExpiresAt(\n                          index,\n                          new Date(productVariant.endDate).toLocaleDateString()\n                        )}}},[_c('img',{attrs:{\"src\":\"/img/edit-icon.637375ac.svg\"}})])])]):_vm._e()]):_c('span',[_vm._v(\" \"+_vm._s(productVariant.enrollmentType)+\" \")]),_c('span',{staticClass:\"text-muted\"},[_vm._v(_vm._s(productVariant.shortDescription))]),(productVariant.subscriptionStatus == _vm.ProductVariantSubscriptionStatus.UNENROLLED)?_c('div',[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"Unenrolled By:\")]),_vm._v(\" \"+_vm._s(productVariant.unenrolledBy ? productVariant.unenrolledBy : '-')+\" \")]):_vm._e()]),_c('td',[_c('div',{class:[\n                  'status-tag',\n                  {\n                    success:\n                      productVariant.subscriptionStatus ==\n                      _vm.ProductVariantSubscriptionStatus.ALLOWED,\n                    danger:\n                      productVariant.subscriptionStatus !=\n                      _vm.ProductVariantSubscriptionStatus.ALLOWED,\n                  } ]},[_vm._v(\" \"+_vm._s(productVariant.subscriptionStatus)+\" \")])]),_c('td',{staticClass:\"col-2\"},[_c('div',{staticClass:\"right-menu\"},[(\n                    productVariant.subscriptionStatus &&\n                    productVariant.subscriptionStatus !=\n                      _vm.ProductVariantSubscriptionStatus.UNENROLLED &&\n                    productVariant.subscriptionStatus.toLowerCase() != 'blocked'\n                  )?_c('button',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\",\"title\":\"Block\"},on:{\"click\":function($event){return _vm.showConfirmationModal('block', productVariant)}}},[_c('i',{staticClass:\"fa fa-ban\"}),_vm._v(\" \"),_c('span',[_vm._v(\"Block\")])]):(\n                    productVariant.subscriptionStatus.toLowerCase() == 'blocked'\n                  )?_c('button',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\",\"title\":\"Unblock\"},on:{\"click\":function($event){return _vm.showConfirmationModal('allow', productVariant)}}},[_c('i',{staticClass:\"far fa-unlock\"}),_vm._v(\" \"),_c('span',[_vm._v(\"Unblock\")])]):_vm._e(),(\n                    productVariant.enrollmentType ==\n                      _vm.ProductVariantEnrollmentType.DIRECT_ENROLLMENT &&\n                    productVariant.subscriptionStatus !=\n                      _vm.ProductVariantSubscriptionStatus.UNENROLLED\n                  )?_c('button',{staticClass:\"right-menu-icon delete text-danger\",attrs:{\"role\":\"button\",\"title\":\"Unenroll\"},on:{\"click\":function($event){return _vm.showConfirmationModal('unenroll', productVariant)}}},[_c('i',{staticClass:\"fas fa-times\"}),_vm._v(\" \"),_c('span',[_vm._v(\"Unenroll\")])]):_vm._e()])])])}),0)]):_vm._e()]),_c('AddUserEnrollmentModal',{attrs:{\"showModal\":_vm.showEnrollModal,\"user\":_vm.user,\"enrolledCourses\":_vm.user.productVariants},on:{\"updateModalState\":_vm.toggleEnrollModal}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"ID\")]),_c('th',[_vm._v(\"Course Name\")]),_c('th',[_vm._v(\"Status\")]),_c('th',[_vm._v(\"Actions\")])])])}]\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"user-modal-tab-body enrollment\">\n    <div\n      v-if=\"user.productVariants == null || user.productVariants.length == 0\"\n      class=\"no-content\"\n    >\n      <h5 class=\"text-center\">No enrolled Courses</h5>\n    </div>\n    <div class=\"d-flex flex-column width-100 align-items-end\">\n      <table\n        v-if=\"user.productVariants && user.productVariants.length > 0\"\n        id=\"product-variants\"\n        class=\"table table-hover table-borderless enrolled-users-table\"\n      >\n        <thead>\n          <tr>\n            <th>ID</th>\n            <th>Course Name</th>\n            <th>Status</th>\n            <th>Actions</th>\n          </tr>\n        </thead>\n        <tbody>\n          <!-- <div> -->\n          <tr\n            v-for=\"(productVariant, index) in user.productVariants\"\n            :key=\"index\"\n            class=\"\"\n          >\n            <td class=\"col\">{{ productVariant.productVariantID }}</td>\n            <td class=\"col title\">\n              {{ productVariant.product.productTitle }} ({{\n                productVariant.productVariantTitle\n              }})\n              <br />\n              <span\n                style=\"display: flex\"\n                v-if=\"\n                  productVariant.enrollmentType ==\n                  ProductVariantEnrollmentType.DIRECT_ENROLLMENT\n                \"\n                ><span\n                  >{{ productVariant.enrollmentType }} | <b>Expires At :</b>\n                </span>\n                <span\n                  v-if=\"\n                    productVariant.enrollmentType ==\n                    ProductVariantEnrollmentType.DIRECT_ENROLLMENT\n                  \"\n                >\n                  <span v-if=\"editIndex == index\">\n                    <input\n                      placeholder=\"Expires At\"\n                      class=\"form-input expires-at-input\"\n                      type=\"date\"\n                      v-model=\"updatedExpiresAt\"\n                      style=\"\n                        width: 110px;\n                        height: 20px;\n                        padding: 0px;\n                        margin-left: 10px;\n                      \"\n                      name=\"expiresAt\"\n                      id=\"expires-at\"\n                    />\n                    &nbsp;&nbsp;\n                    <a\n                      @click=\"updatedExpiresAtClick(productVariant)\"\n                      style=\"cursor: pointer\"\n                    >\n                      <i class=\"fa fa-save fa-sm\"></i\n                    ></a>\n                    &nbsp;&nbsp;\n                    <a @click=\"editExpiresAt(-1, null)\" style=\"cursor: pointer\">\n                      <i class=\"fa fa-times text-danger\"></i\n                    ></a>\n                  </span>\n                  <span v-else-if=\"productVariant.expiresAt\"\n                    >&nbsp;\n                    {{\n                      new Date(productVariant.expiresAt).toLocaleDateString(\n                        \"en-us\",\n                        {\n                          weekday: \"long\",\n                          year: \"numeric\",\n                          month: \"short\",\n                          day: \"numeric\",\n                        }\n                      )\n                    }}\n                    &nbsp;&nbsp;\n                    <a\n                      @click=\"\n                        editExpiresAt(\n                          index,\n                          new Date(\n                            productVariant.expiresAt\n                          ).toLocaleDateString()\n                        )\n                      \"\n                      style=\"cursor: pointer\"\n                    >\n                      <img src=\"/img/edit-icon.637375ac.svg\"\n                    /></a>\n                  </span>\n                  <span v-else\n                    >End of batch &nbsp;&nbsp;\n                    <a\n                      @click=\"\n                        editExpiresAt(\n                          index,\n                          new Date(productVariant.endDate).toLocaleDateString()\n                        )\n                      \"\n                      style=\"cursor: pointer\"\n                    >\n                      <img src=\"/img/edit-icon.637375ac.svg\"\n                    /></a>\n                  </span>\n                </span>\n              </span>\n              <span v-else>\n                {{ productVariant.enrollmentType }}\n              </span>\n              <span class=\"text-muted\">{{\n                productVariant.shortDescription\n              }}</span>\n\t\t\t  <div v-if=\"productVariant.subscriptionStatus == ProductVariantSubscriptionStatus.UNENROLLED\">\n\t\t\t\t<span style=\"font-weight: bold\">Unenrolled By:</span> {{ productVariant.unenrolledBy ? productVariant.unenrolledBy : '-' }}\n\t\t\t  </div>\n      </td>\n            <td>\n              <div\n                :class=\"[\n                  'status-tag',\n                  {\n                    success:\n                      productVariant.subscriptionStatus ==\n                      ProductVariantSubscriptionStatus.ALLOWED,\n                    danger:\n                      productVariant.subscriptionStatus !=\n                      ProductVariantSubscriptionStatus.ALLOWED,\n                  },\n                ]\"\n              >\n                {{ productVariant.subscriptionStatus }}\n              </div>\n            </td>\n            <td class=\"col-2\">\n              <div class=\"right-menu\">\n                <button\n                  role=\"button\"\n                  class=\"right-menu-icon\"\n                  @click=\"showConfirmationModal('block', productVariant)\"\n                  title=\"Block\"\n                  v-if=\"\n                    productVariant.subscriptionStatus &&\n                    productVariant.subscriptionStatus !=\n                      ProductVariantSubscriptionStatus.UNENROLLED &&\n                    productVariant.subscriptionStatus.toLowerCase() != 'blocked'\n                  \"\n                >\n                  <i class=\"fa fa-ban\"></i> <span>Block</span>\n                </button>\n                <button\n                  role=\"button\"\n                  class=\"right-menu-icon\"\n                  @click=\"showConfirmationModal('allow', productVariant)\"\n                  title=\"Unblock\"\n                  v-else-if=\"\n                    productVariant.subscriptionStatus.toLowerCase() == 'blocked'\n                  \"\n                >\n                  <i class=\"far fa-unlock\"></i> <span>Unblock</span>\n                </button>\n                <button\n                  v-if=\"\n                    productVariant.enrollmentType ==\n                      ProductVariantEnrollmentType.DIRECT_ENROLLMENT &&\n                    productVariant.subscriptionStatus !=\n                      ProductVariantSubscriptionStatus.UNENROLLED\n                  \"\n                  role=\"button\"\n                  class=\"right-menu-icon delete text-danger\"\n                  @click=\"showConfirmationModal('unenroll', productVariant)\"\n                  title=\"Unenroll\"\n                >\n                  <i class=\"fas fa-times\"></i> <span>Unenroll</span>\n                </button>\n              </div>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </div>\n\n    <AddUserEnrollmentModal\n      :showModal=\"showEnrollModal\"\n      :user=\"user\"\n      @updateModalState=\"toggleEnrollModal\"\n      :enrolledCourses=\"user.productVariants\"\n    />\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport AddUserEnrollmentModal from \"./AddUserEnrollmentModal.vue\";\nimport {\n  ProductVariantEnrollmentType,\n  ProductVariantSubscriptionStatus,\n} from \"../../../constants/productVariant\";\nexport default {\n  name: \"UserEnrollments\",\n  data() {\n    return {\n      enrolledProductVariants: [],\n      showEnrollModal: false,\n      ProductVariantEnrollmentType,\n      ProductVariantSubscriptionStatus,\n      editIndex: -1,\n      updatedExpiresAt: Date.now(),\n    };\n  },\n  methods: {\n    ...mapActions(\"user\", [\n      \"editUserErollmentInProductVariant\",\n      \"editUserSubscription\",\n      \"fetchUserById\",\n    ]),\n    handleBtnClick() {\n      this.showEnrollModal = true;\n    },\n    toggleEnrollModal(state) {\n      if (state !== undefined) {\n        this.showEnrollModal = state;\n      } else {\n        this.showEnrollModal = !this.showEnrollModal;\n      }\n\n      this.$emit(\"updateMode\", 0);\n    },\n    editExpiresAt(index, expiresAt) {\n      expiresAt = new Date(expiresAt);\n      this.editIndex = index;\n      if (index > -1) {\n        var day = (\"0\" + expiresAt.getDate()).slice(-2);\n        var month = (\"0\" + (expiresAt.getMonth() + 1)).slice(-2);\n\n        var today = expiresAt.getFullYear() + \"-\" + month + \"-\" + day;\n        this.updatedExpiresAt = today;\n      } else {\n        this.updatedExpiresAt = null;\n      }\n    },\n    updatedExpiresAtClick(variant) {\n      var date = new Date(this.updatedExpiresAt);\n      date.setHours(23, 59, 59);\n\n      var requestObj = {\n        userID: this.user.id,\n        productVariantID: variant.productVariantID,\n        expiresAt: date,\n      };\n\n      this.editUserSubscription(requestObj).then((res) => {\n        this.$toasted.success(\"Expires date updated successfully\", {\n          theme: \"outline\",\n          position: \"bottom-center\",\n          duration: 3000,\n        });\n        this.fetchUserById(this.user.id).then(() => {\n          this.updatedExpiresAt = null;\n          this.editIndex = -1;\n        });\n      });\n    },\n    showConfirmationModal(type, variant) {\n      this.$bvModal\n        .msgBoxConfirm(\n          `Are you sure you want to ${\n            type.toLowerCase() == \"allow\" ? \"unblock\" : type\n          } ${this.user.firstName} ${this.user.lastName} from ${\n            variant.productVariantTitle\n          }?`,\n          {\n            title: \"Are you sure?\",\n            size: \"md\",\n            buttonSize: \"md\",\n            okVariant: \"danger\",\n            okTitle: \"Yes\",\n            cancelTitle: \"No\",\n            footerClass: \"p-2\",\n            hideHeaderClose: false,\n            centered: true,\n            bodyClass: \"confirm-modal-body\",\n          }\n        )\n        .then((value) => {\n          console.log(variant);\n          // this.isConfirm = value;\n          if (value) {\n            var requestObj = {\n              userID: this.user.id,\n              productVariantID: variant.productVariantID,\n            };\n            if (type.toLowerCase() == \"unenroll\")\n              requestObj.status = \"Unenrolled\";\n            else if (type.toLowerCase() == \"block\")\n              requestObj.status = \"Blocked\";\n            else if (type.toLowerCase() == \"allow\")\n              requestObj.status = \"Allowed\";\n\n            this.editUserErollmentInProductVariant(requestObj).then(() => {\n              this.fetchUserById(this.user.id);\n            });\n          }\n        })\n        .catch((err) => {\n          console.error(err);\n          // An error occurred\n        });\n    },\n  },\n  computed: {\n    ...mapState(\"user\", [\"usersByProductVariant\"]),\n  },\n  components: {\n    AddUserEnrollmentModal,\n  },\n  props: {\n    user: Object,\n    mode: Number,\n  },\n  watch: {\n    mode: function () {\n      if (this.mode == 2) {\n        this.showEnrollModal = true;\n      }\n    },\n  },\n};\n</script>\n\n<style scoped>\n/* .add-course-btn {\n} */\n\n.user-modal-tab-body.enrollment {\n  flex-direction: row !important;\n  /* align-items: center; */\n  justify-content: space-between;\n  /* max-height: 30rem;\n\toverflow-y: auto; */\n}\n\n.no-content {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  width: 100%;\n}\n\n.enrolled-users-table .right-menu {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 1rem;\n}\n\n/* .enrolled-users-table .unenrolled .title {\n\topacity: 0.75;\n} */\n\n.right-menu-icon {\n  /* width: 2rem; */\n  height: 2rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 1.125rem;\n  column-gap: 0.25rem;\n  /* background: #ffffff; */\n  /* border: 0.8px solid #cbcbcb; */\n  /* box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07); */\n  /* border-radius: 50%; */\n}\n\n.right-menu-icon img {\n  width: 1rem;\n  height: 1rem;\n}\n\n.right-menu-icon.delete {\n  border-color: #ff0000;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserEnrollments.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserEnrollments.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserEnrollments.vue?vue&type=template&id=2e10349e&scoped=true&\"\nimport script from \"./UserEnrollments.vue?vue&type=script&lang=js&\"\nexport * from \"./UserEnrollments.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserEnrollments.vue?vue&type=style&index=0&id=2e10349e&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2e10349e\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',{staticClass:\"add-enroll-title\"},[_vm._v(\"Generating Invoices\")]),_c('table',{staticClass:\"table table-hover table-borderless enrolled-users-table mt-5\"},[_c('thead',[_c('tr',{staticClass:\"d-flex\"},[_c('th',{staticClass:\"col-1\"},[_vm._v(\"ID\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Name\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Plan\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Invoice\")]),(_vm.selectedPlan.payments)?_c('th',{staticClass:\"col\"},[_vm._v(\"Payments\")]):_vm._e()])]),_c('tbody',_vm._l((_vm.selectedStudents),function(student){return _c('tr',{key:student.id,staticClass:\"d-flex\"},[_c('td',{staticClass:\"col-1\"},[_vm._v(_vm._s(student.id))]),_c('td',{staticClass:\"col\"},[_vm._v(_vm._s(student.firstName)+\" \"+_vm._s(student.lastName))]),_c('td',{staticClass:\"col\"},[_vm._v(_vm._s(_vm.selectedPlan.item.title))]),_c('td',{staticClass:\"col\"},[(!_vm.loading && _vm.isInvoiceGenerated(student.id))?_c('div',{staticClass:\"status-tag success\"},[_vm._v(\" Generated \")]):(\n\t\t\t\t\t\t\t(!_vm.loading && _vm.isFailed) ||\n\t\t\t\t\t\t\t(!_vm.loading && !_vm.isInvoiceGenerated(student.id))\n\t\t\t\t\t\t)?_c('div',{staticClass:\"status-tag danger\"},[_vm._v(\" Failed \")]):_vm._e(),(_vm.loading)?_c('div',{staticClass:\"spinner-border\",attrs:{\"role\":\"status\"}},[_c('span',{staticClass:\"visually-hidden\"},[_vm._v(\"Loading...\")])]):_vm._e()]),(_vm.selectedPlan.payments)?_c('td',{staticClass:\"col\"},[(!_vm.loading && !_vm.isFailed)?_c('div',{staticClass:\"status-tag success\"},[_vm._v(\" Paid \")]):(\n\t\t\t\t\t\t\t(!_vm.loading && _vm.isFailed) ||\n\t\t\t\t\t\t\t(!_vm.loading && !_vm.isInvoiceGenerated(student.id))\n\t\t\t\t\t\t)?_c('div',{staticClass:\"status-tag danger\"},[_vm._v(\" Failed \")]):_c('div',{staticClass:\"spinner-border\",attrs:{\"role\":\"status\"}},[_c('span',{staticClass:\"visually-hidden\"},[_vm._v(\"Loading...\")])])]):_vm._e()])}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<h1 class=\"add-enroll-title\">Generating Invoices</h1>\n\n\t\t<table class=\"table table-hover table-borderless enrolled-users-table mt-5\">\n\t\t\t<thead>\n\t\t\t\t<tr class=\"d-flex\">\n\t\t\t\t\t<th class=\"col-1\">ID</th>\n\t\t\t\t\t<th class=\"col\">Name</th>\n\t\t\t\t\t<th class=\"col\">Plan</th>\n\t\t\t\t\t<th class=\"col\">Invoice</th>\n\t\t\t\t\t<th v-if=\"selectedPlan.payments\" class=\"col\">Payments</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t\t<tr\n\t\t\t\t\tclass=\"d-flex\"\n\t\t\t\t\tv-for=\"student in selectedStudents\"\n\t\t\t\t\t:key=\"student.id\"\n\t\t\t\t>\n\t\t\t\t\t<td class=\"col-1\">{{ student.id }}</td>\n\t\t\t\t\t<td class=\"col\">{{ student.firstName }} {{ student.lastName }}</td>\n\t\t\t\t\t<td class=\"col\">{{ selectedPlan.item.title }}</td>\n\t\t\t\t\t<td class=\"col\">\n\t\t\t\t\t\t<!-- <div v-if=\"!loading\"> -->\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"!loading && isInvoiceGenerated(student.id)\"\n\t\t\t\t\t\t\tclass=\"status-tag success\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tGenerated\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-else-if=\"\n\t\t\t\t\t\t\t\t(!loading && isFailed) ||\n\t\t\t\t\t\t\t\t(!loading && !isInvoiceGenerated(student.id))\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tclass=\"status-tag danger\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tFailed\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if=\"loading\" class=\"spinner-border\" role=\"status\">\n\t\t\t\t\t\t\t<span class=\"visually-hidden\">Loading...</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- </div> -->\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=\"col\" v-if=\"selectedPlan.payments\">\n\t\t\t\t\t\t<!-- <div v-if=\"!loading && !isFailed -->\n\t\t\t\t\t\t<div v-if=\"!loading && !isFailed\" class=\"status-tag success\">\n\t\t\t\t\t\t\tPaid\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-else-if=\"\n\t\t\t\t\t\t\t\t(!loading && isFailed) ||\n\t\t\t\t\t\t\t\t(!loading && !isInvoiceGenerated(student.id))\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tclass=\"status-tag danger\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tFailed\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-else class=\"spinner-border\" role=\"status\">\n\t\t\t\t\t\t\t<span class=\"visually-hidden\">Loading...</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- </div> -->\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</template>\n\n<script>\nimport formatter from \"../../../helpers/FormatHelpers\";\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"ValidateAndGenerateInvoices\",\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t\tgeneratedInvoices: [],\n\t\t\tpaidInvoices: [],\n\t\t\tisFailed: false,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"pricing\", [\n\t\t\t\"createInvoice\",\n\t\t\t\"createPayment\",\n\t\t\t\"fetchUsersByProductVariant\",\n\t\t\t\"fetchInvoiceByUserId\",\n\t\t\t\"createBulkInvoice\",\n\t\t]),\n\t\t...mapActions(\"user\", [\"fetchUsersByProductVariant\", \"fetchUsersList\"]),\n\t\tpaymentButtonText(id) {\n\t\t\tif (this.multiplePlanPayments[id]) {\n\t\t\t\tvar amount =\n\t\t\t\t\tparseInt(this.multiplePlanPayments[id].received) +\n\t\t\t\t\tparseInt(this.multiplePlanPayments[id].discount);\n\t\t\t\t// console.log(amount);\n\n\t\t\t\treturn formatter.toCurrencyString(\n\t\t\t\t\tamount,\n\t\t\t\t\tthis.selectedPlan.currency,\n\t\t\t\t\t0\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn \"+ Add\";\n\t\t\t}\n\t\t},\n\t\tcurrencyParser(amount) {\n\t\t\treturn formatter.toCurrencyString(\n\t\t\t\tparseInt(amount),\n\t\t\t\tthis.selectedPlan.currency,\n\t\t\t\t0\n\t\t\t);\n\t\t},\n\t\tdateParser(date) {\n\t\t\treturn formatter.toShortDateString(date);\n\t\t},\n\t\tgenerateInvoiceObject(id) {\n\t\t\tconsole.log(\"generateInvoice\", id);\n\t\t\tif (this.selectedPlan.item) {\n\t\t\t\tvar invoice;\n\t\t\t\tif (this.selectedPlan.item.type.toLowerCase() == \"onetime\") {\n\t\t\t\t\tinvoice = {\n\t\t\t\t\t\tcustomerID: id,\n\t\t\t\t\t\tinvoiceDate: new Date().toISOString(),\n\t\t\t\t\t\tcurrency: this.selectedPlan.item.currency,\n\t\t\t\t\t\tstatus: \"unpaid\",\n\t\t\t\t\t\tdetails: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tplanDetailID: this.selectedPlan.item.details[0].id,\n\t\t\t\t\t\t\t\tamount: this.selectedPlan.item.details[0].amount,\n\t\t\t\t\t\t\t\t// status: \"unpaid\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t};\n\t\t\t\t\tvar dueDate = new Date(invoice.invoiceDate).setDate(\n\t\t\t\t\t\tnew Date(invoice.invoiceDate).getDate() +\n\t\t\t\t\t\t\tthis.selectedPlan.item.details[0].gracePeriod\n\t\t\t\t\t);\n\t\t\t\t\tdueDate = new Date(dueDate).setHours(23, 59, 59);\n\n\t\t\t\t\tconsole.log(dueDate);\n\t\t\t\t\tinvoice.details[0].dueDate = new Date(dueDate).toISOString();\n\t\t\t\t\tvar isDiscount =\n\t\t\t\t\t\tthis.selectedPlan.payments &&\n\t\t\t\t\t\tthis.selectedPlan.payments[this.selectedPlan.item.details[0].id] &&\n\t\t\t\t\t\tthis.selectedPlan.payments[this.selectedPlan.item.details[0].id]\n\t\t\t\t\t\t\t.discount;\n\t\t\t\t\tconsole.log(isDiscount);\n\t\t\t\t\tif (isDiscount) {\n\t\t\t\t\t\tinvoice.details[0].discount = parseFloat(isDiscount);\n\t\t\t\t\t\tinvoice.details[0].discountType = \"amount\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinvoice.details[0].discount = 0.0;\n\t\t\t\t\t\tinvoice.details[0].discountType = \"amount\";\n\t\t\t\t\t}\n\t\t\t\t\tif (this.selectedPlan.payments) {\n\t\t\t\t\t\tinvoice.details[0].payment = {\n\t\t\t\t\t\t\tcustomerID: id,\n\t\t\t\t\t\t\tpaymentDate: new Date().toISOString(),\n\t\t\t\t\t\t\tmethod: this.selectedPlan.payments.paymentMethod.serviceName,\n\t\t\t\t\t\t\tmethodProvider:\n\t\t\t\t\t\t\t\tthis.selectedPlan.payments.paymentMethod.serviceProvider,\n\t\t\t\t\t\t\tmethodProviderID:\n\t\t\t\t\t\t\t\tthis.selectedPlan.payments.paymentMethod.serviceCode,\n\t\t\t\t\t\t\tdetails: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tamount: parseFloat(\n\t\t\t\t\t\t\t\t\t\tthis.selectedPlan.payments[\n\t\t\t\t\t\t\t\t\t\t\tthis.selectedPlan.item.details[0].id\n\t\t\t\t\t\t\t\t\t\t].received\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttype: \"Received\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstatus: \"Completed\",\n\t\t\t\t\t\t};\n\t\t\t\t\t\t// invoice.details[0].payment = payment;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tinvoice = {\n\t\t\t\t\t\tcustomerID: id,\n\t\t\t\t\t\tinvoiceDate: new Date().toISOString(),\n\t\t\t\t\t\tcurrency: this.selectedPlan.item.currency,\n\t\t\t\t\t\tstatus: \"unpaid\",\n\t\t\t\t\t\tdetails: [],\n\t\t\t\t\t};\n\t\t\t\t\tthis.selectedPlan.planCycles.forEach((cycle) => {\n\t\t\t\t\t\tvar invoiceDetail = {\n\t\t\t\t\t\t\tplanDetailID: cycle.id,\n\t\t\t\t\t\t\tamount: cycle.amount,\n\t\t\t\t\t\t\t// status: \"unpaid\",\n\t\t\t\t\t\t};\n\t\t\t\t\t\tvar dueDate = new Date(invoice.invoiceDate).setDate(\n\t\t\t\t\t\t\tnew Date(invoice.invoiceDate).getDate() + cycle.gracePeriod\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdueDate = new Date(dueDate).setHours(23, 59, 59);\n\n\t\t\t\t\t\tconsole.log(dueDate);\n\t\t\t\t\t\tinvoiceDetail.dueDate = new Date(dueDate).toISOString();\n\t\t\t\t\t\tvar isDiscount =\n\t\t\t\t\t\t\tthis.selectedPlan.payments &&\n\t\t\t\t\t\t\tthis.selectedPlan.payments[cycle.id] &&\n\t\t\t\t\t\t\tthis.selectedPlan.payments[cycle.id].discount;\n\t\t\t\t\t\tif (isDiscount) {\n\t\t\t\t\t\t\tinvoiceDetail.discount = parseFloat(isDiscount);\n\t\t\t\t\t\t\tinvoiceDetail.discountType = \"amount\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tinvoiceDetail.discount = 0.0;\n\t\t\t\t\t\t\tinvoiceDetail.discountType = \"amount\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (cycle.isPaid) {\n\t\t\t\t\t\t\tinvoiceDetail.payment = {\n\t\t\t\t\t\t\t\tcustomerID: id,\n\t\t\t\t\t\t\t\tpaymentDate: new Date().toISOString(),\n\t\t\t\t\t\t\t\tmethod: this.selectedPlan.payments.paymentMethod.serviceName,\n\t\t\t\t\t\t\t\tmethodProvider:\n\t\t\t\t\t\t\t\t\tthis.selectedPlan.payments.paymentMethod.serviceProvider,\n\t\t\t\t\t\t\t\tmethodProviderID:\n\t\t\t\t\t\t\t\t\tthis.selectedPlan.payments.paymentMethod.serviceCode,\n\t\t\t\t\t\t\t\tdetails: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tamount: parseFloat(\n\t\t\t\t\t\t\t\t\t\t\tthis.selectedPlan.payments[cycle.id].received\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\ttype: \"Received\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tstatus: \"Completed\",\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinvoice.details.push(invoiceDetail);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t// this.this.getPaymentObject(id, invoice);\n\t\t\t\t// console.log(invoice);\n\t\t\t\t// const generatedInvoices = await this.createInvoice(invoice).then(\n\t\t\t\t// \t(inv) => {\n\t\t\t\t// \t\t// console.log(this.invoicesByUserId);\n\t\t\t\t// \t\t// console.log(\"invoice generated\", inv);\n\t\t\t\t// \t\tthis.generatedInvoices.push(inv);\n\t\t\t\t// \t\treturn inv;\n\t\t\t\t// \t}\n\t\t\t\t// );\n\t\t\t\treturn invoice;\n\t\t\t}\n\t\t},\n\t\t// getPaymentObject(id, invoice) {\n\t\t// \tconsole.log(\"generateInvoicePayment\", id);\n\t\t// \tif (this.selectedPlan.item && this.selectedPlan.payments) {\n\t\t// \t\tvar payment;\n\t\t// \t\tif (this.selectedPlan.item.type.toLowerCase() == \"onetime\") {\n\t\t// \t\t\tpayment = {\n\t\t// \t\t\t\tuserID: id,\n\t\t// \t\t\t\tpaymentDate: new Date().toISOString(),\n\t\t// \t\t\t\tmethod: this.selectedPlan.payments.paymentMethod.serviceName,\n\t\t// \t\t\t\tmethodProvider: this.selectedPlan.payments.paymentMethod\n\t\t// \t\t\t\t\t.serviceProvider,\n\t\t// \t\t\t\tmethodProviderID: this.selectedPlan.payments.paymentMethod\n\t\t// \t\t\t\t\t.serviceCode,\n\t\t// \t\t\t\tdetails: [\n\t\t// \t\t\t\t\t{\n\t\t// \t\t\t\t\t\tinvoiceDetailID: invoice.details[0].id.toString(),\n\t\t// \t\t\t\t\t\tamount: parseFloat(\n\t\t// \t\t\t\t\t\t\tthis.selectedPlan.payments[\n\t\t// \t\t\t\t\t\t\t\tthis.selectedPlan.item.details[0].id\n\t\t// \t\t\t\t\t\t\t].received\n\t\t// \t\t\t\t\t\t),\n\t\t// \t\t\t\t\t\ttype: \"received\",\n\t\t// \t\t\t\t\t},\n\t\t// \t\t\t\t],\n\t\t// \t\t\t};\n\t\t// \t\t} else {\n\t\t// \t\t\tpayment = {\n\t\t// \t\t\t\tuserID: id,\n\t\t// \t\t\t\tpaymentDate: new Date().toISOString(),\n\t\t// \t\t\t\tmethod: this.selectedPlan.payments.paymentMethod.serviceName,\n\t\t// \t\t\t\tmethodProvider: this.selectedPlan.payments.paymentMethod\n\t\t// \t\t\t\t\t.serviceProvider,\n\t\t// \t\t\t\tmethodProviderID: this.selectedPlan.payments.paymentMethod\n\t\t// \t\t\t\t\t.serviceCode,\n\t\t// \t\t\t\tdetails: [],\n\t\t// \t\t\t};\n\t\t// \t\t\tthis.selectedPlan.planCycles.forEach((cycle, index) => {\n\t\t// \t\t\t\tif (cycle.isPaid) {\n\t\t// \t\t\t\t\tvar paymentDetail = {\n\t\t// \t\t\t\t\t\tinvoiceDetailID: invoice.details[index].id.toString(),\n\t\t// \t\t\t\t\t\tamount: parseFloat(\n\t\t// \t\t\t\t\t\t\tthis.selectedPlan.payments[cycle.id].received\n\t\t// \t\t\t\t\t\t),\n\t\t// \t\t\t\t\t\ttype: \"received\",\n\t\t// \t\t\t\t\t};\n\t\t// \t\t\t\t\tpayment.details.push(paymentDetail);\n\t\t// \t\t\t\t}\n\t\t// \t\t\t});\n\t\t// \t\t}\n\t\t// \t\tconsole.log(payment);\n\t\t// \t\t// await this.createPayment(payment).then((pay) => {\n\t\t// \t\t// \tconsole.log(this.paymentsByCustomerId);\n\t\t// \t\t// \tthis.paidInvoices.push(pay);\n\t\t// \t\t// \tthis.fetchInvoiceByUserId(id);\n\t\t// \t\t// });\n\t\t// \t\treturn payment;\n\t\t// \t}\n\t\t// },\n\t\tisInvoiceGenerated(id) {\n\t\t\tvar found =\n\t\t\t\tthis.generatedInvoices &&\n\t\t\t\tthis.generatedInvoices.find(\n\t\t\t\t\t(inv) => inv.customerID == id && inv.id != 0\n\t\t\t\t);\n\t\t\treturn found ? true : false;\n\t\t},\n\t\tisPaymentComplete(id) {\n\t\t\treturn this.paidInvoices && this.paidInvoices.length > 0 ? true : false;\n\t\t},\n\t},\n\tprops: {\n\t\tselectedPlan: Object,\n\t\tproductVariantId: String,\n\t\tselectedStudents: Array,\n\t},\n\tcreated() {\n\t\tthis.loading = true;\n\t\t// setTimeout(() => {\n\t\tvar invoicesList = [];\n\t\tfor (var i = 0; i < this.selectedStudents.length; i++) {\n\t\t\tvar invoiceObj = this.generateInvoiceObject(this.selectedStudents[i].id);\n\t\t\tinvoicesList.push(invoiceObj);\n\n\t\t\t// console.log(\"new invoice\", inv);\n\t\t\t// if (this.selectedPlan.payments)\n\t\t\t// this.getPaymentObject(inv.customerID, inv).then((payment) => {});\n\t\t\t// this.fetchUsersByProductVariant(this.productVariantId);\n\t\t\t// this.fetchUsersList();\n\t\t\t// this.getPaymentObject(this.selectedStudents[i].id);\n\t\t}\n\t\tthis.createBulkInvoice(invoicesList).then((res) => {\n\t\t\tif (res && res.length) {\n\t\t\t\tconsole.log(\"bulk invoices created\");\n\t\t\t\tthis.loading = false;\n\t\t\t\tthis.generatedInvoices = res;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.fetchUsersByProductVariant(this.productVariantId);\n\t\t\t\t\tthis.fetchUsersList();\n\t\t\t\t}, 3000);\n\t\t\t} else {\n\t\t\t\tthis.loading = false;\n\t\t\t\tthis.isFailed = true;\n\t\t\t}\n\t\t});\n\n\t\t// }, 2000);\n\t},\n\tcomputed: {\n\t\t...mapState(\"pricing\", [\"invoicesByUserId\", \"paymentsByUserId\"]),\n\t},\n\twatch: {\n\t\tloading: function () {\n\t\t\tthis.$emit(\"setLoading\", { status: this.loading });\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.spinner-border {\n\tborder-color: var(--primary-color);\n\tborder-right-color: transparent;\n}\n\n.enrolled-users-table thead th,\n.enrolled-users-table td {\n\tmin-height: 4rem;\n\tvertical-align: middle;\n}\n\n.enrolled-users-table input[type=\"checkbox\"] {\n\t/* margin-left: 1.5rem; */\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n\n.enrolled-users-table tbody {\n\tdisplay: block;\n\tmax-height: 14rem !important;\n\toverflow-y: auto;\n}\n\n.enrolled-users-table thead tr,\n.enrolled-users-table tbody tr {\n\tdisplay: table !important;\n\twidth: 100%;\n\ttable-layout: fixed;\n}\n\n.status-tag {\n\tborder-radius: 6px;\n\tpadding: 0.25rem 0.5rem;\n\ttext-transform: uppercase;\n\tcolor: #ffffff;\n\tfont-size: 0.75rem;\n\tfont-weight: normal;\n\tline-height: 1;\n\twidth: fit-content;\n}\n\n.status-tag.success {\n\tbackground-color: #00c672;\n\t/* border-radius: 6px;\n\tpadding: 0.25rem 0.5rem;\n\ttext-transform: uppercase;\n\tcolor: #ffffff;\n\tfont-size: 0.75rem;\n\tfont-weight: normal;\n\tline-height: 1; */\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ValidateAndGenerateInvoices.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ValidateAndGenerateInvoices.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ValidateAndGenerateInvoices.vue?vue&type=template&id=cdd6019e&scoped=true&\"\nimport script from \"./ValidateAndGenerateInvoices.vue?vue&type=script&lang=js&\"\nexport * from \"./ValidateAndGenerateInvoices.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ValidateAndGenerateInvoices.vue?vue&type=style&index=0&id=cdd6019e&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"cdd6019e\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"add-exam-question-modal\",\"visible\":_vm.visible,\"size\":\"xl\",\"hide-header\":\"\",\"hide-footer\":\"\",\"centered\":\"\",\"content-class\":\"add-exam-question-modal\",\"body-class\":\"modal-body\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"},on:{\"change\":_vm.closeModal}},[_c('div',{staticClass:\"custom-stepper-body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\"Add Exam Question\")]),_c('div',{staticClass:\"add-question-container\"},[_c('div',{staticClass:\"inline-group mb-1\"},[(\n\t\t\t\t\t\t_vm.examQuestionType == _vm.ExamQuestionType.QUESTION &&\n\t\t\t\t\t\t_vm.examQuestionSequence\n\t\t\t\t\t)?_c('div',{staticClass:\"form-group w-100\"},[_c('label',{staticClass:\"main-label mb-3\",attrs:{\"for\":\"selectedQuestions\"}},[_vm._v(\" Select Question \")]),_c('div',{staticClass:\"d-flex select-question-container\"},[_c('CategoriesColumn',{attrs:{\"selectedCategory\":_vm.searchCategory,\"productVariantId\":_vm.productVariantId,\"selectMode\":true},on:{\"selectCategory\":_vm.selectCategory}}),_c('QuestionsColumn',{attrs:{\"selectedCategory\":_vm.searchCategory,\"productVariantId\":_vm.productVariantId,\"selectMode\":true},on:{\"selectQuestions\":_vm.selectQuestions}})],1)]):_vm._e(),(\n\t\t\t\t\t\t_vm.examQuestionType == _vm.ExamQuestionType.CRITERIA &&\n\t\t\t\t\t\t_vm.examQuestionSequence\n\t\t\t\t\t)?_c('div',{staticClass:\"form-group col mb-0\"},[_c('label',{staticClass:\"main-label mb-3\",attrs:{\"for\":\"examCriteriaSelected\"}},[_vm._v(\"Select Criteria \")]),_vm._l((_vm.examCriteriaOptions),function(criteria){return _c('div',{key:criteria.value,staticClass:\"exam-criteria-selectable-item\"},[_vm._v(\" \"+_vm._s(criteria.label)+\" \"),(criteria.value == _vm.ExamCriteria.CATEGORY)?_c('div',{staticClass:\"col-6 ms-auto\"},[_c('treeselect',{staticClass:\"form-input small\",attrs:{\"multiple\":true,\"options\":_vm.categoryOptions,\"load-options\":_vm.loadOptions,\"placeholder\":(\"Select \" + (criteria.label)),\"flat\":true,\"sort-value-by\":\"INDEX\",\"appendToBody\":true,\"z-index\":\"1060\",\"searchNested\":\"\",\"autoFocus\":\"\"},on:{\"select\":_vm.optionSelect},model:{value:(_vm.$data[criteria.value + 'Criteria']),callback:function ($$v) {_vm.$set(_vm.$data, criteria.value + 'Criteria', $$v)},expression:\"$data[criteria.value + 'Criteria']\"}})],1):_c('div',{staticClass:\"col-6 ms-auto\"},[_c('v-select',{staticClass:\"form-input small\",attrs:{\"name\":((criteria.value) + \"Criteria\"),\"id\":((criteria.value) + \"Criteria\"),\"options\":_vm.criteriaOptions(criteria.value),\"appendToBody\":true,\"calculate-position\":_vm.withPopper,\"placeholder\":(\"Select \" + (criteria.label)),\"multiple\":\"\",\"closeOnSelect\":false,\"clearable\":true,\"deselectFromDropdown\":true,\"label\":_vm.criteriaLabel(criteria.value),\"reduce\":function (option) { return _vm.criteriaValue(option, criteria.value); },\"taggable\":criteria.value == _vm.ExamCriteria.MARKS_RANGE},model:{value:(_vm.$data[criteria.value + 'Criteria']),callback:function ($$v) {_vm.$set(_vm.$data, criteria.value + 'Criteria', $$v)},expression:\"$data[criteria.value + 'Criteria']\"}})],1)])}),_c('div',{staticClass:\"d-flex gap-1 flex-row align-items-start mt-4 col-6\"},[_c('span',{staticClass:\"col-6\"},[_vm._v(\"Number of questions to generate:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.numberOfQuestions),expression:\"numberOfQuestions\"}],staticClass:\"form-input small\",attrs:{\"type\":\"number\",\"name\":\"numberOfQuestions\",\"id\":\"numberOfQuestions\"},domProps:{\"value\":(_vm.numberOfQuestions)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.numberOfQuestions=$event.target.value}}}),_c('div',{staticClass:\"col-5\"})])],2):_vm._e()])]),_c('div',{staticClass:\"step-btn-container\"},[_c('a',{staticClass:\"step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_vm._v(\"Cancel \")]),_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext || _vm.loading},on:{\"click\":_vm.next}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.isEditMode ? \"Save\" : \"Add\")+\" \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\t@change=\"closeModal\"\n\t\tid=\"add-exam-question-modal\"\n\t\t:visible=\"visible\"\n\t\tsize=\"xl\"\n\t\thide-header\n\t\thide-footer\n\t\tcentered\n\t\tcontent-class=\"add-exam-question-modal\"\n\t\tbody-class=\"modal-body\"\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t\tno-close-on-esc\n\t>\n\t\t<div class=\"custom-stepper-body-container\">\n\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<h1 class=\"add-content-title\">Add Exam Question</h1>\n\t\t\t<div class=\"add-question-container\">\n\t\t\t\t<div class=\"inline-group mb-1\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\texamQuestionType == ExamQuestionType.QUESTION &&\n\t\t\t\t\t\t\texamQuestionSequence\n\t\t\t\t\t\t\"\n\t\t\t\t\t\tclass=\"form-group w-100\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<label for=\"selectedQuestions\" class=\"main-label mb-3\">\n\t\t\t\t\t\t\tSelect Question\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<div class=\"d-flex select-question-container\">\n\t\t\t\t\t\t\t<CategoriesColumn\n\t\t\t\t\t\t\t\t@selectCategory=\"selectCategory\"\n\t\t\t\t\t\t\t\t:selectedCategory=\"searchCategory\"\n\t\t\t\t\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t\t\t\t\t:selectMode=\"true\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<QuestionsColumn\n\t\t\t\t\t\t\t\t:selectedCategory=\"searchCategory\"\n\t\t\t\t\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t\t\t\t\t:selectMode=\"true\"\n\t\t\t\t\t\t\t\t@selectQuestions=\"selectQuestions\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\texamQuestionType == ExamQuestionType.CRITERIA &&\n\t\t\t\t\t\t\texamQuestionSequence\n\t\t\t\t\t\t\"\n\t\t\t\t\t\tclass=\"form-group col mb-0\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<label for=\"examCriteriaSelected\" class=\"main-label mb-3\"\n\t\t\t\t\t\t\t>Select Criteria\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"criteria in examCriteriaOptions\"\n\t\t\t\t\t\t\t:key=\"criteria.value\"\n\t\t\t\t\t\t\tclass=\"exam-criteria-selectable-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ criteria.label }}\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tv-if=\"criteria.value == ExamCriteria.CATEGORY\"\n\t\t\t\t\t\t\t\tclass=\"col-6 ms-auto\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<treeselect\n\t\t\t\t\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t\t\t\t\t:options=\"categoryOptions\"\n\t\t\t\t\t\t\t\t\t:load-options=\"loadOptions\"\n\t\t\t\t\t\t\t\t\t:placeholder=\"`Select ${criteria.label}`\"\n\t\t\t\t\t\t\t\t\tv-model=\"$data[criteria.value + 'Criteria']\"\n\t\t\t\t\t\t\t\t\t:flat=\"true\"\n\t\t\t\t\t\t\t\t\tsort-value-by=\"INDEX\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input small\"\n\t\t\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t\t\tz-index=\"1060\"\n\t\t\t\t\t\t\t\t\tsearchNested\n\t\t\t\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t\t\t\t@select=\"optionSelect\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div v-else class=\"col-6 ms-auto\">\n\t\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\t\tv-model=\"$data[criteria.value + 'Criteria']\"\n\t\t\t\t\t\t\t\t\t:name=\"`${criteria.value}Criteria`\"\n\t\t\t\t\t\t\t\t\t:id=\"`${criteria.value}Criteria`\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input small\"\n\t\t\t\t\t\t\t\t\t:options=\"criteriaOptions(criteria.value)\"\n\t\t\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t\t\t\t:placeholder=\"`Select ${criteria.label}`\"\n\t\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\t\t:closeOnSelect=\"false\"\n\t\t\t\t\t\t\t\t\t:clearable=\"true\"\n\t\t\t\t\t\t\t\t\t:deselectFromDropdown=\"true\"\n\t\t\t\t\t\t\t\t\t:label=\"criteriaLabel(criteria.value)\"\n\t\t\t\t\t\t\t\t\t:reduce=\"(option) => criteriaValue(option, criteria.value)\"\n\t\t\t\t\t\t\t\t\t:taggable=\"criteria.value == ExamCriteria.MARKS_RANGE\"\n\t\t\t\t\t\t\t\t></v-select>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"d-flex gap-1 flex-row align-items-start mt-4 col-6\">\n\t\t\t\t\t\t\t<span class=\"col-6\">Number of questions to generate:</span>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\tname=\"numberOfQuestions\"\n\t\t\t\t\t\t\t\tid=\"numberOfQuestions\"\n\t\t\t\t\t\t\t\tclass=\"form-input small\"\n\t\t\t\t\t\t\t\tv-model=\"numberOfQuestions\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div class=\"col-5\"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<a @click=\"closeModal\" role=\"button\" class=\"step-btn\">Cancel </a>\n\t\t\t\t<button\n\t\t\t\t\t@click=\"next\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t:disabled=\"disableNext || loading\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\t{{ isEditMode ? \"Save\" : \"Add\" }}\n\t\t\t\t\t<i class=\"fas fa-long-arrow-alt-right\"></i>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { createPopper } from \"@popperjs/core\";\nimport { mapActions, mapState } from \"vuex\";\nimport {\n\tExamQuestionType,\n\texamQuestionTypeOptions,\n\tExamCriteria,\n\texamCriteriaOptions,\n} from \"../../../constants/exam\";\nimport {\n\tQuestionDifficultyLevel,\n\tquestionDifficultyLevelOptions,\n} from \"../../../constants/question\";\nimport QuestionsColumn from \"../QuestionBank/QuestionsColumn.vue\";\nimport CategoriesColumn from \"../QuestionBank/CategoriesColumn.vue\";\nimport Treeselect from \"@riophae/vue-treeselect\";\n// import the styles\nimport \"@riophae/vue-treeselect/dist/vue-treeselect.css\";\nimport { LOAD_CHILDREN_OPTIONS } from \"@riophae/vue-treeselect\";\nimport store from \"../../../store/index\";\n\nexport default {\n\tname: \"AddExamQuestionModal\",\n\tdata() {\n\t\treturn {\n\t\t\texamCriteriaSelected: [],\n\t\t\tCategoryIDsCriteria: [],\n\t\t\tDifficultyLevelsCriteria: [],\n\t\t\tMarksRangeCriteria: [],\n\t\t\tQuestionTypesCriteria: [],\n\t\t\tquestionSearchText: \"\",\n\t\t\tsearchCategory: [],\n\t\t\tselectedQuestions: null,\n\t\t\tnumberOfQuestions: 1,\n\t\t\tExamQuestionType,\n\t\t\tExamCriteria,\n\t\t\tQuestionDifficultyLevel,\n\t\t\texamQuestionTypeOptions,\n\t\t\texamCriteriaOptions,\n\t\t\tquestionDifficultyLevelOptions,\n\t\t\tcategoryOptions: [],\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"exam\", [\n\t\t\t\"loading\",\n\t\t\t\"questionCategories\",\n\t\t\t\"allQuestions\",\n\t\t\t\"questionTypes\",\n\t\t]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tdisableNext() {\n\t\t\tif (this.examQuestionType == ExamQuestionType.CRITERIA) {\n\t\t\t\tvar disabled = false;\n\t\t\t\tif (\n\t\t\t\t\t(this.CategoryIDsCriteria && this.CategoryIDsCriteria.length > 0) ||\n\t\t\t\t\t(this.MarksRangeCriteria && this.MarksRangeCriteria.length > 0) ||\n\t\t\t\t\t(this.QuestionTypesCriteria &&\n\t\t\t\t\t\tthis.QuestionTypesCriteria.length > 0) ||\n\t\t\t\t\t(this.DifficultyLevelsCriteria &&\n\t\t\t\t\t\tthis.DifficultyLevelsCriteria.length > 0)\n\t\t\t\t) {\n\t\t\t\t\tdisabled = false;\n\t\t\t\t} else disabled = true;\n\t\t\t\tif (this.numberOfQuestions < 1) {\n\t\t\t\t\tdisabled = true;\n\t\t\t\t}\n\t\t\t\treturn disabled;\n\t\t\t\t// } else return true;\n\t\t\t} else if (this.examQuestionType == ExamQuestionType.QUESTION) {\n\t\t\t\tif (this.selectedQuestions == null) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else return false;\n\t\t\t}\n\t\t},\n\t\tisCriteria() {\n\t\t\treturn (\n\t\t\t\tthis.examQuestionType &&\n\t\t\t\tthis.examQuestionType == ExamQuestionType.CRITERIA\n\t\t\t);\n\t\t},\n\t\tmarksRangeOptions() {\n\t\t\treturn [1, 2, 3, 4, 5, 10, 15, 20, 25];\n\t\t},\n\t},\n\tcomponents: { QuestionsColumn, CategoriesColumn, Treeselect },\n\tprops: {\n\t\tshowModal: Boolean,\n\t\texamQuestionSequence: Number,\n\t\tisEditMode: { type: Boolean, default: false },\n\t\tquestionData: { type: Object, default: null },\n\t\tproductVariantId: String,\n\t\tallowedQuestionTypes: Array,\n\t\texamQuestionType: { type: String, default: ExamQuestionType.QUESTION },\n\t},\n\tmethods: {\n\t\t...mapActions(\"exam\", [\"fetchQuestionCategories\", \"fetchQuestions\"]),\n\t\tcloseModal() {\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t},\n\t\tcriteriaOptions(criteria) {\n\t\t\tswitch (criteria) {\n\t\t\t\tcase ExamCriteria.DIFFICULTY_LEVEL:\n\t\t\t\t\treturn this.questionDifficultyLevelOptions;\n\t\t\t\tcase ExamCriteria.MARKS_RANGE:\n\t\t\t\t\treturn this.marksRangeOptions;\n\t\t\t\tcase ExamCriteria.QUESTION_TYPE:\n\t\t\t\t\treturn this.allowedQuestionTypes;\n\t\t\t}\n\t\t},\n\t\tcriteriaLabel(criteria) {\n\t\t\tswitch (criteria) {\n\t\t\t\tcase ExamCriteria.CATEGORY:\n\t\t\t\t\treturn \"categoryName\";\n\t\t\t\tcase ExamCriteria.DIFFICULTY_LEVEL:\n\t\t\t\t\treturn \"label\";\n\t\t\t\tcase ExamCriteria.QUESTION_TYPE:\n\t\t\t\t\treturn \"questionTypeName\";\n\t\t\t}\n\t\t},\n\t\tcriteriaValue(option, criteria) {\n\t\t\tswitch (criteria) {\n\t\t\t\tcase ExamCriteria.CATEGORY:\n\t\t\t\t\treturn option.id;\n\t\t\t\tcase ExamCriteria.DIFFICULTY_LEVEL:\n\t\t\t\t\treturn option.value;\n\t\t\t\tcase ExamCriteria.QUESTION_TYPE:\n\t\t\t\t\treturn option.questionTypeID;\n\t\t\t\tdefault:\n\t\t\t\t\treturn option;\n\t\t\t}\n\t\t},\n\t\tisDisabled(criteria) {\n\t\t\treturn (\n\t\t\t\tthis.examCriteriaSelected &&\n\t\t\t\tthis.examCriteriaSelected.indexOf(criteria) == -1\n\t\t\t);\n\t\t},\n\t\tnext() {\n\t\t\tvar examQuestionList = [];\n\t\t\tif (this.examQuestionType == ExamQuestionType.QUESTION) {\n\t\t\t\texamQuestionList = this.selectedQuestions.map((question, index) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tExamQuestionType: this.examQuestionType,\n\t\t\t\t\t\tQuestionSequenceNo: this.examQuestionSequence + index,\n\t\t\t\t\t\tQuestion: {\n\t\t\t\t\t\t\tQuestionID: question,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t} else if (this.examQuestionType == ExamQuestionType.CRITERIA) {\n\t\t\t\tvar obj = {\n\t\t\t\t\tExamQuestionType: this.examQuestionType,\n\t\t\t\t\tQuestionSequenceNo: this.examQuestionSequence,\n\t\t\t\t\tNoOfQuestions: this.numberOfQuestions,\n\t\t\t\t};\n\n\t\t\t\tobj.Criteria = {};\n\t\t\t\tif (this.CategoryIDsCriteria && this.CategoryIDsCriteria.length > 0) {\n\t\t\t\t\tobj.Criteria.CategoryIDs = this.CategoryIDsCriteria.toString();\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tthis.DifficultyLevelsCriteria &&\n\t\t\t\t\tthis.DifficultyLevelsCriteria.length > 0\n\t\t\t\t) {\n\t\t\t\t\tobj.Criteria.DifficultyLevels =\n\t\t\t\t\t\tthis.DifficultyLevelsCriteria.toString();\n\t\t\t\t}\n\t\t\t\tif (this.MarksRangeCriteria && this.MarksRangeCriteria.length > 0) {\n\t\t\t\t\tobj.Criteria.MarksRange = this.MarksRangeCriteria.toString();\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tthis.QuestionTypesCriteria &&\n\t\t\t\t\tthis.QuestionTypesCriteria.length > 0\n\t\t\t\t) {\n\t\t\t\t\tobj.Criteria.QuestionTypes = this.QuestionTypesCriteria.toString();\n\t\t\t\t}\n\t\t\t\texamQuestionList.push(obj);\n\t\t\t}\n\t\t\tconsole.log(examQuestionList);\n\t\t\tthis.$emit(\"addExamQuestions\", examQuestionList);\n\t\t\tthis.closeModal();\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t\tselectCategory(category) {\n\t\t\tthis.searchCategory = category;\n\t\t},\n\t\tselectQuestions(questions) {\n\t\t\tthis.selectedQuestions = questions;\n\t\t},\n\t\tloadOptions({ action, parentNode, callback }) {\n\t\t\tconsole.log(action, parentNode);\n\t\t\tif (action === LOAD_CHILDREN_OPTIONS) {\n\t\t\t\tthis.fetchQuestionCategories({\n\t\t\t\t\tproductVariantID: this.productVariantId,\n\t\t\t\t\tcategoryID: parentNode.id,\n\t\t\t\t}).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tparentNode.children = res.childCategories.map((c) => ({\n\t\t\t\t\t\t\tid: c.id,\n\t\t\t\t\t\t\tlabel: c.categoryName,\n\t\t\t\t\t\t\tchildren:\n\t\t\t\t\t\t\t\tc.childCategories && c.childCategories.length > 0\n\t\t\t\t\t\t\t\t\t? c.childCategories.map((cc) => ({\n\t\t\t\t\t\t\t\t\t\t\tid: cc.id,\n\t\t\t\t\t\t\t\t\t\t\tlabel: cc.categoryName,\n\t\t\t\t\t\t\t\t\t\t\tchildren:\n\t\t\t\t\t\t\t\t\t\t\t\tcc.childCategories && cc.childCategories.length > 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cc.childCategories\n\t\t\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\t  }))\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t}));\n\t\t\t\t\t\tconsole.log(parentNode.children);\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\toptionSelect(node) {\n\t\t\tif (!this.questionCategories[this.productVariantId][node.id]) {\n\t\t\t\tthis.fetchQuestionCategories({\n\t\t\t\t\tcategoryID: node.id,\n\t\t\t\t\tproductVariantID: this.productVariantId,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible) {\n\t\t\t\tif (\n\t\t\t\t\t!this.questionCategories[this.productVariantId] ||\n\t\t\t\t\t!this.questionCategories[this.productVariantId].root\n\t\t\t\t) {\n\t\t\t\t\tthis.fetchQuestionCategories({\n\t\t\t\t\t\tproductVariantID: this.productVariantId,\n\t\t\t\t\t}).then((res) => {\n\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\tthis.categoryOptions = res.childCategories.map((c) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tid: c.id,\n\t\t\t\t\t\t\t\t\tlabel: c.categoryName,\n\t\t\t\t\t\t\t\t\tchildren:\n\t\t\t\t\t\t\t\t\t\tc.childCategories && c.childCategories.length > 0\n\t\t\t\t\t\t\t\t\t\t\t? c.childCategories.map((cc) => ({\n\t\t\t\t\t\t\t\t\t\t\t\t\tid: cc.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: cc.categoryName,\n\t\t\t\t\t\t\t\t\t\t\t\t\tchildren:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcc.childCategories && cc.childCategories.length > 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? cc.childCategories\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\t\t\t  }))\n\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.fetchQuestions({ productVariantID: this.productVariantId });\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log(\"visible\");\n\t\t\t\t\tthis.categoryOptions = this.questionCategories[\n\t\t\t\t\t\tthis.productVariantId\n\t\t\t\t\t].root.childCategories.map((c) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: c.id,\n\t\t\t\t\t\t\tlabel: c.categoryName,\n\t\t\t\t\t\t\tchildren:\n\t\t\t\t\t\t\t\tc.childCategories && c.childCategories.length > 0\n\t\t\t\t\t\t\t\t\t? c.childCategories.map((cc) => ({\n\t\t\t\t\t\t\t\t\t\t\tid: cc.id,\n\t\t\t\t\t\t\t\t\t\t\tlabel: cc.categoryName,\n\t\t\t\t\t\t\t\t\t\t\tchildren:\n\t\t\t\t\t\t\t\t\t\t\t\tcc.childCategories && cc.childCategories.length > 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cc.childCategories\n\t\t\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\t  }))\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.visible && this.isEditMode) {\n\t\t\t\tthis.examQuestionSequence = this.questionData.QuestionSequenceNo;\n\t\t\t\tif (this.examQuestionType == ExamQuestionType.QUESTION) {\n\t\t\t\t\tthis.selectedQuestions = this.questionData.Question.QuestionID;\n\t\t\t\t} else if (this.examQuestionType == ExamQuestionType.CRITERIA) {\n\t\t\t\t\tthis.numberOfQuestions = this.questionData.NoOfQuestions;\n\t\t\t\t\tObject.entries(this.questionData.Criteria).forEach(([key, value]) => {\n\t\t\t\t\t\tthis.examCriteriaSelected.push(key);\n\t\t\t\t\t\tif (key == ExamCriteria.CATEGORY) {\n\t\t\t\t\t\t\tthis[key + \"Criteria\"] = value\n\t\t\t\t\t\t\t\t.split(\",\")\n\t\t\t\t\t\t\t\t.map((id) => parseInt(id));\n\t\t\t\t\t\t} else if (key == ExamCriteria.MARKS_RANGE) {\n\t\t\t\t\t\t\tthis[key + \"Criteria\"] = value\n\t\t\t\t\t\t\t\t.split(\",\")\n\t\t\t\t\t\t\t\t.map((id) => parseFloat(id));\n\t\t\t\t\t\t} else this[key + \"Criteria\"] = value.split(\",\");\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style>\n.add-exam-question-modal {\n\tmin-height: 85vh;\n\theight: fit-content;\n\twidth: 70vw;\n}\n#add-exam-question-modal.custom-modal .modal-dialog {\n\tmax-width: 70vw;\n}\n\n.add-exam-question-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n}\n\n.add-exam-question-modal .modal-body .custom-stepper-container {\n\tbackground: #f5f5f5;\n\tborder-radius: 8px 0px 0px 8px;\n\twidth: 30%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n.add-exam-question-modal .modal-body .custom-stepper-container .custom-stepper {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-start;\n\tjustify-content: center;\n\trow-gap: 7.5rem;\n}\n\n.add-exam-question-modal .modal-body .custom-stepper-body-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tpadding: 2.5rem 2.5rem 1.5rem;\n\tposition: relative;\n\tborder-radius: 8px;\n}\n\n.add-exam-question-modal .add-question-container {\n\tmargin-top: 0;\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.exam-question-list {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 1rem -1rem 0;\n\tpadding: 0 1rem 1rem;\n\tmax-height: 50vh;\n\toverflow-y: auto;\n\trow-gap: 1rem;\n\toverflow-y: auto;\n}\n\n.exam-question-selectable-item .form-check {\n\tdisplay: flex;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tmargin: 0;\n}\n\n.exam-criteria-selectable-item {\n\t/* border: 1px solid #ddd; */\n\tpadding: 0.5rem 1rem;\n\t/* margin-bottom: 0.5rem; */\n\tborder-radius: 0.5rem;\n\tdisplay: flex;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n}\n\n.question-search .search-icon {\n\tposition: absolute;\n\tmargin-right: 1rem;\n\tright: 0;\n\twidth: 1.375rem;\n\tbottom: 2.25rem;\n}\n\n.add-exam-question-modal .form-input {\n\tmax-height: 4rem !important;\n}\n\n.add-exam-question-modal .select-question-container {\n\theight: 58vh;\n\tborder: 1px solid #ddd;\n\tborder-radius: 6px;\n}\n\n.add-exam-question-modal .vue-treeselect__control {\n\tborder: none;\n}\n.add-exam-question-modal .vue-treeselect__value-remove svg {\n\tcolor: #999;\n\theight: 0.675rem;\n\twidth: 0.675rem;\n}\n\n.add-exam-question-modal .vue-treeselect__value-remove {\n\tpadding-left: 0.375rem !important;\n\tborder: 0;\n}\n\n.add-exam-question-modal .vue-treeselect__multi-value-item {\n\tdisplay: flex;\n\talign-items: center;\n\tbackground-color: #f0f0f0;\n\tborder: 1px solid rgba(60, 60, 60, 0.26);\n\tborder-radius: 4px;\n\tcolor: #333;\n\tline-height: 1.4;\n\tmargin: 4px 2px 0;\n\tpadding: 0 0.25em;\n\tz-index: 0;\n\tfont-size: 1rem;\n}\n\n.add-exam-question-modal .vue-treeselect__value-remove,\n.vue-treeselect__multi-value-label {\n\tpadding: 0;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddExamQuestionModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddExamQuestionModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddExamQuestionModal.vue?vue&type=template&id=b4c476e2&\"\nimport script from \"./AddExamQuestionModal.vue?vue&type=script&lang=js&\"\nexport * from \"./AddExamQuestionModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AddExamQuestionModal.vue?vue&type=style&index=0&id=b4c476e2&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"create-exam-modal\",\"visible\":_vm.visible,\"size\":\"xl\",\"hide-header\":\"\",\"hide-footer\":\"\",\"centered\":\"\",\"content-class\":\"create-exam-modal\",\"body-class\":\"modal-body\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"},on:{\"change\":_vm.closeModal}},[_c('div',{staticClass:\"custom-stepper-container\"},[_c('div',{staticClass:\"custom-stepper\"},[_c('div',{staticClass:\"custom-stepper-step\"},[_c('div',{class:[\n\t\t\t\t\t\t'step-icon first',\n\t\t\t\t\t\t{ active: _vm.currentStep == 1, complete: _vm.currentStep > 1 } ]},[_vm._v(\" 1 \")]),_c('div',{staticClass:\"step-text\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\"Basic information\")]),_c('h3',{staticClass:\"subtitle\"},[_vm._v(\"Fill in basic information\")])])]),_c('div',{staticClass:\"custom-stepper-step\"},[_c('div',{class:[\n\t\t\t\t\t\t'step-icon',\n\t\t\t\t\t\t{ active: _vm.currentStep == 2, complete: _vm.currentStep > 2 } ]},[_vm._v(\" 2 \")]),_c('div',{staticClass:\"step-text\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\"Add Questions\")]),_c('h3',{staticClass:\"subtitle\"},[_vm._v(\"Add questions to your exam\")])])])])]),_c('div',{staticClass:\"custom-stepper-body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\" \"+_vm._s(_vm.isEditMode ? \"Edit\" : \"Create New\")+\" Exam \")]),_c('div',{attrs:{\"id\":\"create-form\"}},[(_vm.currentStep == 1)?_c('div',{staticClass:\"step-1\"},[_c('div',{staticClass:\"inline-group mb-3\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"title\"}},[_vm._v(\"Exam Title (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type your exam name here...\",\"type\":\"search\",\"name\":\"title\",\"id\":\"title\",\"required\":\"\"},domProps:{\"value\":(_vm.title)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}})]),(this.examThemes && this.examThemes.length > 1)?_c('div',{staticClass:\"form-group col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"examTheme\"}},[_vm._v(\"Exam Theme (required)\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"name\":\"examTheme\",\"id\":\"examTheme\",\"options\":_vm.examThemes,\"appendToBody\":true,\"calculate-position\":_vm.withPopper,\"placeholder\":\"Select Exam theme\",\"label\":\"themeName\",\"reduce\":function (option) { return option.id; }},model:{value:(_vm.examTheme),callback:function ($$v) {_vm.examTheme=$$v},expression:\"examTheme\"}})],1):_vm._e()]),_c('div',{staticClass:\"inline-group mb-4\"},[_c('div',{staticClass:\"form-group col\"},[_c('div',{staticClass:\"d-flex align-items-start mb-3\"},[_c('label',{staticClass:\"main-label mb-0\",attrs:{\"for\":\"examDates\"}},[_vm._v(\"Exam Availability \")])]),_c('div',{staticClass:\"exam-date-labels\"},[_c('label',{staticClass:\"col mb-1\",attrs:{\"for\":\"examDates\"}},[_vm._v(\"Start Date\")]),_c('label',{staticClass:\"col mb-1\",attrs:{\"for\":\"examDates\"}},[_vm._v(\"End Date\")]),(_vm.examDates.length > 1)?_c('label',{staticClass:\"mb-1 p-0 ms-2\",attrs:{\"for\":\"examDates\"}},[_vm._v(\" \")]):_vm._e()]),_c('div',{staticClass:\"exam-dates-grid\"},_vm._l((_vm.examDates),function(input,index){return _c('div',{key:index,staticClass:\"exam-date-item\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.examDates[index].examStartDateTime),expression:\"examDates[index].examStartDateTime\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select Exam Date...\",\"type\":\"datetime-local\",\"name\":\"examDates\",\"id\":(\"examLateEndDates-\" + index),\"required\":\"\"},domProps:{\"value\":(_vm.examDates[index].examStartDateTime)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.examDates[index], \"examStartDateTime\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.examDates[index].examEndDateTime),expression:\"examDates[index].examEndDateTime\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select Exam Date...\",\"type\":\"datetime-local\",\"name\":\"examDates\",\"id\":(\"examLateEndDates-\" + index),\"required\":\"\"},domProps:{\"value\":(_vm.examDates[index].examEndDateTime)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.examDates[index], \"examEndDateTime\", $event.target.value)}}}),(_vm.examDates.length > 1)?_c('button',{staticClass:\"cancel-button\",attrs:{\"id\":index},on:{\"click\":function($event){return _vm.removeDate(index)}}},[_c('i',{staticClass:\"fas fa-times\"})]):_vm._e()])}),0)])]),_c('div',{staticClass:\"inline-group mb-3\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"numberOfAllowedAttempts\"}},[_vm._v(\"Allowed Attempts (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.numberOfAllowedAttempts),expression:\"numberOfAllowedAttempts\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter number of allowed attempts\",\"type\":\"number\",\"name\":\"numberOfAllowedAttempts\",\"id\":\"numberOfAllowedAttempts\",\"required\":\"\"},domProps:{\"value\":(_vm.numberOfAllowedAttempts)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.numberOfAllowedAttempts=$event.target.value}}})]),_c('div',{staticClass:\"form-group col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"passingPercentage\"}},[_vm._v(\"Passing Percentage (required)\")]),_c('div',{staticClass:\"position-relative\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.passingPercentage),expression:\"passingPercentage\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter passing percentage out of 100\",\"type\":\"number\",\"name\":\"passingPercentage\",\"id\":\"passingPercentage\",\"required\":\"\"},domProps:{\"value\":(_vm.passingPercentage)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.passingPercentage=$event.target.value}}}),_c('span',{staticClass:\"input-unit\"},[_vm._v(\"%\")])])])]),_c('div',{staticClass:\"inline-group mb-1\"},[_c('div',{staticClass:\"form-group col\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isAvailableForDemo),expression:\"isAvailableForDemo\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isAvailableForDemo\"},domProps:{\"checked\":Array.isArray(_vm.isAvailableForDemo)?_vm._i(_vm.isAvailableForDemo,null)>-1:(_vm.isAvailableForDemo)},on:{\"change\":function($event){var $$a=_vm.isAvailableForDemo,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isAvailableForDemo=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isAvailableForDemo=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isAvailableForDemo=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isAvailableForDemo\"}},[_vm._v(\"Available for demo\")])])]),_c('div',{staticClass:\"inline-group col-6 mb-0 align-items-center\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isTimedExam),expression:\"isTimedExam\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isTimedExam\"},domProps:{\"checked\":Array.isArray(_vm.isTimedExam)?_vm._i(_vm.isTimedExam,null)>-1:(_vm.isTimedExam)},on:{\"change\":function($event){var $$a=_vm.isTimedExam,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isTimedExam=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isTimedExam=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isTimedExam=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isTimedExam\"}},[_vm._v(\"Timed Exam\")])]),(_vm.isTimedExam)?_c('div',{staticClass:\"position-relative col ms-4\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.examDuration),expression:\"examDuration\"}],staticClass:\"form-input col small\",attrs:{\"type\":\"number\",\"name\":\"examDuration\",\"id\":\"examDuration\",\"required\":\"\",\"placeholder\":\"Enter exam duration\"},domProps:{\"value\":(_vm.examDuration)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.examDuration=$event.target.value}}}),_c('span',{staticClass:\"input-unit small\"},[_vm._v(\"minutes\")])]):_vm._e()])]),_c('button',{staticClass:\"d-flex align-items-center gap-2 mb-3\",on:{\"click\":_vm.toggleAddtionalOptions}},[_vm._v(\" \"+_vm._s(_vm.additionalOptions ? \"Hide\" : \"Show\")+\" additional options \"),_c('i',{class:(\"fa fa-caret-\" + (_vm.additionalOptions ? 'up' : 'down'))})]),(_vm.additionalOptions)?_c('div',{staticClass:\"inline-group mb-0\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{staticClass:\"main-label\"},[_vm._v(\" Exam Questions Settings \")]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showAllQuestionsAtOnce),expression:\"showAllQuestionsAtOnce\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"showAllQuestionsAtOnce\"},domProps:{\"checked\":Array.isArray(_vm.showAllQuestionsAtOnce)?_vm._i(_vm.showAllQuestionsAtOnce,null)>-1:(_vm.showAllQuestionsAtOnce)},on:{\"change\":function($event){var $$a=_vm.showAllQuestionsAtOnce,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showAllQuestionsAtOnce=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showAllQuestionsAtOnce=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showAllQuestionsAtOnce=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"showAllQuestionsAtOnce\"}},[_vm._v(\"Show all questions at once\")])])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.allowReviewPreviousQuestions),expression:\"allowReviewPreviousQuestions\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"allowReviewPreviousQuestions\"},domProps:{\"checked\":Array.isArray(_vm.allowReviewPreviousQuestions)?_vm._i(_vm.allowReviewPreviousQuestions,null)>-1:(_vm.allowReviewPreviousQuestions)},on:{\"change\":function($event){var $$a=_vm.allowReviewPreviousQuestions,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.allowReviewPreviousQuestions=$$a.concat([$$v]))}else{$$i>-1&&(_vm.allowReviewPreviousQuestions=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.allowReviewPreviousQuestions=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"allowReviewPreviousQuestions\"}},[_vm._v(\"Allow student to review previous questions\")])])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.allowReattemptPreviousQuestions),expression:\"allowReattemptPreviousQuestions\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"allowReattemptPreviousQuestions\"},domProps:{\"checked\":Array.isArray(_vm.allowReattemptPreviousQuestions)?_vm._i(_vm.allowReattemptPreviousQuestions,null)>-1:(_vm.allowReattemptPreviousQuestions)},on:{\"change\":function($event){var $$a=_vm.allowReattemptPreviousQuestions,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.allowReattemptPreviousQuestions=$$a.concat([$$v]))}else{$$i>-1&&(_vm.allowReattemptPreviousQuestions=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.allowReattemptPreviousQuestions=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"allowReattemptPreviousQuestions\"}},[_vm._v(\"Allow student to reattempt previously attempted questions\")])])])]),_c('div',{staticClass:\"form-group col\"},[_c('label',{staticClass:\"main-label\"},[_vm._v(\" Exam Results Settings \")]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isReviewAllowed),expression:\"isReviewAllowed\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isReviewAllowed\"},domProps:{\"checked\":Array.isArray(_vm.isReviewAllowed)?_vm._i(_vm.isReviewAllowed,null)>-1:(_vm.isReviewAllowed)},on:{\"change\":function($event){var $$a=_vm.isReviewAllowed,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isReviewAllowed=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isReviewAllowed=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isReviewAllowed=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isReviewAllowed\"}},[_vm._v(\"Allow student to review exam results\")])])])])]):_vm._e()]):_vm._e(),(_vm.currentStep == 2)?_c('div',{staticClass:\"step-3\"},[_c('div',{staticClass:\"d-flex align-items-start\"},[_c('label',{staticClass:\"main-label mb-4\"},[_vm._v(\"Exam Questions (required)\")]),_c('button',{staticClass:\"add-date-btn ms-auto dropdown-toggle\",attrs:{\"data-bs-toggle\":\"dropdown\",\"id\":\"options-dropdown-btn\",\"role\":\"button\"}},[_vm._v(\" + Add Question \")]),_c('ul',{staticClass:\"dropdown-menu dropdown-menu-end\",attrs:{\"id\":\"options-dropdown\",\"aria-labelledby\":\"dropdownMenuLink\"}},[_c('li',{staticClass:\"options-dropdown-item\",on:{\"click\":function($event){return _vm.toggleAddQuestionModal(true, _vm.ExamQuestionType.QUESTION)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/plus-icon.svg\")}}),_vm._v(\" Specific Question \")]),_c('li',{staticClass:\"options-dropdown-item\",on:{\"click\":function($event){return _vm.toggleAddQuestionModal(true, _vm.ExamQuestionType.CRITERIA)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/plus-icon.svg\")}}),_vm._v(\" Question based on Criteria \")])])]),_c('div',{staticClass:\"exam-questions-container\"},[(_vm.examQuestions && _vm.examQuestions.length > 0)?_c('draggable',{staticClass:\"exam-questions-list\",attrs:{\"ghost-class\":\"ghost\",\"group\":\"content-tab\",\"animation\":\"200\"},on:{\"move\":_vm.moveQuestion},model:{value:(_vm.examQuestions),callback:function ($$v) {_vm.examQuestions=$$v},expression:\"examQuestions\"}},_vm._l((_vm.examQuestions),function(question,index){return _c('div',{key:index},[(question.ExamQuestionType == _vm.ExamQuestionType.CRITERIA)?_c('ExamQuestionListItem',{attrs:{\"questionData\":question,\"productVariantId\":_vm.productVariantId,\"examQuestionType\":_vm.examQuestionType,\"allowedQuestionTypes\":_vm.allowedQuestionTypes},on:{\"updateQuestion\":_vm.editQuestions,\"removeQuestion\":_vm.deleteQuestion}}):(\n\t\t\t\t\t\t\t\t\tquestion.ExamQuestionType == _vm.ExamQuestionType.QUESTION\n\t\t\t\t\t\t\t\t)?_c('div',[_c('QuestionListItem',{attrs:{\"questionData\":_vm.questionDetails(question.Question.QuestionID),\"selectMode\":true,\"showDelete\":true},on:{\"removeQuestion\":function($event){return _vm.deleteQuestion(question.QuestionSequenceNo)}}})],1):_vm._e()],1)}),0):_c('div',{staticClass:\"no-questions\"},[_c('span',[_vm._v(\"No questions added to this exam yet!\")])]),_c('AddExamQuestionModal',{attrs:{\"showModal\":_vm.showAddQuestionModal,\"examQuestionSequence\":_vm.nextSequenceNo,\"productVariantId\":_vm.productVariantId,\"allowedQuestionTypes\":_vm.allowedQuestionTypes,\"examQuestionType\":_vm.examQuestionType},on:{\"updateModalState\":_vm.toggleAddQuestionModal,\"addExamQuestions\":_vm.addQuestions}})],1)]):_vm._e()]),_c('div',{staticClass:\"step-btn-container\"},[(_vm.showPrev)?_c('a',{staticClass:\"step-btn prev\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prev}},[_c('i',{staticClass:\"fas fa-long-arrow-alt-left\"}),_vm._v(\" prev \")]):_vm._e(),(_vm.currentStep < 2)?_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext || _vm.loading},on:{\"click\":_vm.next}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" next \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})],1):_vm._e(),(_vm.currentStep == 2)?_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext || _vm.loading},on:{\"click\":function($event){return _vm.finish(_vm.ExamStatus.DRAFT)}}},[(_vm.loading && this.examStatus == _vm.ExamStatus.DRAFT)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Save as Draft \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})],1):_vm._e(),(_vm.currentStep == 2)?_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext || _vm.loading},on:{\"click\":function($event){return _vm.finish(_vm.ExamStatus.PUBLISHED)}}},[(_vm.loading && this.examStatus == _vm.ExamStatus.PUBLISHED)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Publish \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})],1):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\t@change=\"closeModal\"\n\t\tid=\"create-exam-modal\"\n\t\t:visible=\"visible\"\n\t\tsize=\"xl\"\n\t\thide-header\n\t\thide-footer\n\t\tcentered\n\t\tcontent-class=\"create-exam-modal\"\n\t\tbody-class=\"modal-body\"\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t\tno-close-on-esc\n\t>\n\t\t<div class=\"custom-stepper-container\">\n\t\t\t<div class=\"custom-stepper\">\n\t\t\t\t<div class=\"custom-stepper-step\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'step-icon first',\n\t\t\t\t\t\t\t{ active: currentStep == 1, complete: currentStep > 1 },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t1\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t<h1 class=\"title\">Basic information</h1>\n\t\t\t\t\t\t<h3 class=\"subtitle\">Fill in basic information</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<!-- <div class=\"custom-stepper-step\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'step-icon',\n\t\t\t\t\t\t\t{ active: currentStep == 2, complete: currentStep > 2 },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t2\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t<h1 class=\"title\">Additional Information</h1>\n\t\t\t\t\t\t<h3 class=\"subtitle\">Fill in additional information</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div> -->\n\t\t\t\t<div class=\"custom-stepper-step\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'step-icon',\n\t\t\t\t\t\t\t{ active: currentStep == 2, complete: currentStep > 2 },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t2\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t<h1 class=\"title\">Add Questions</h1>\n\t\t\t\t\t\t<h3 class=\"subtitle\">Add questions to your exam</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"custom-stepper-body-container\">\n\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<h1 class=\"add-content-title\">\n\t\t\t\t{{ isEditMode ? \"Edit\" : \"Create New\" }} Exam\n\t\t\t</h1>\n\t\t\t<div id=\"create-form\">\n\t\t\t\t<div class=\"step-1\" v-if=\"currentStep == 1\">\n\t\t\t\t\t<div class=\"inline-group mb-3\">\n\t\t\t\t\t\t<div class=\"form-group col\">\n\t\t\t\t\t\t\t<label class=\"main-label\" for=\"title\"\n\t\t\t\t\t\t\t\t>Exam Title (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tplaceholder=\"Type your exam name here...\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\tname=\"title\"\n\t\t\t\t\t\t\t\tid=\"title\"\n\t\t\t\t\t\t\t\tv-model=\"title\"\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"this.examThemes && this.examThemes.length > 1\"\n\t\t\t\t\t\t\tclass=\"form-group col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<label class=\"main-label\" for=\"examTheme\"\n\t\t\t\t\t\t\t\t>Exam Theme (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\tv-model=\"examTheme\"\n\t\t\t\t\t\t\t\tname=\"examTheme\"\n\t\t\t\t\t\t\t\tid=\"examTheme\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t:options=\"examThemes\"\n\t\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t\t\tplaceholder=\"Select Exam theme\"\n\t\t\t\t\t\t\t\tlabel=\"themeName\"\n\t\t\t\t\t\t\t\t:reduce=\"(option) => option.id\"\n\t\t\t\t\t\t\t></v-select>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"inline-group mb-4\">\n\t\t\t\t\t\t<div class=\"form-group col\">\n\t\t\t\t\t\t\t<div class=\"d-flex align-items-start mb-3\">\n\t\t\t\t\t\t\t\t<label class=\"main-label mb-0\" for=\"examDates\"\n\t\t\t\t\t\t\t\t\t>Exam Availability\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t<!-- <button class=\"add-date-btn ms-auto\" @click=\"addDate\">\n\t\t\t\t\t\t\t\t\t+ Add Date\n\t\t\t\t\t\t\t\t</button> -->\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"exam-date-labels\">\n\t\t\t\t\t\t\t\t<!-- <label class=\"mb-1 p-0\" for=\"examDates\">#</label> -->\n\t\t\t\t\t\t\t\t<label class=\"col mb-1\" for=\"examDates\">Start Date</label>\n\t\t\t\t\t\t\t\t<label class=\"col mb-1\" for=\"examDates\">End Date</label>\n\t\t\t\t\t\t\t\t<!-- <label class=\"col mb-1\" for=\"examDates\"\n\t\t\t\t\t\t\t\t\t>Allow Submissions Till</label -->\n\t\t\t\t\t\t\t\t<!-- > -->\n\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\tv-if=\"examDates.length > 1\"\n\t\t\t\t\t\t\t\t\tclass=\"mb-1 p-0 ms-2\"\n\t\t\t\t\t\t\t\t\tfor=\"examDates\"\n\t\t\t\t\t\t\t\t\t>&nbsp;</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div class=\"exam-dates-grid\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclass=\"exam-date-item\"\n\t\t\t\t\t\t\t\t\tv-for=\"(input, index) in examDates\"\n\t\t\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<!-- <span> {{ index + 1 }}</span> -->\n\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Select Exam Date...\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\ttype=\"datetime-local\"\n\t\t\t\t\t\t\t\t\t\tname=\"examDates\"\n\t\t\t\t\t\t\t\t\t\t:id=\"`examLateEndDates-${index}`\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"examDates[index].examStartDateTime\"\n\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Select Exam Date...\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\ttype=\"datetime-local\"\n\t\t\t\t\t\t\t\t\t\tname=\"examDates\"\n\t\t\t\t\t\t\t\t\t\t:id=\"`examLateEndDates-${index}`\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"examDates[index].examEndDateTime\"\n\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<!-- <input\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Select Exam Date...\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\ttype=\"datetime-local\"\n\t\t\t\t\t\t\t\t\t\tname=\"examDates\"\n\t\t\t\t\t\t\t\t\t\t:id=\"`examLateEndDates-${index}`\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"examDates[index].examEndLateDateTime\"\n\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t\t\t/> -->\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass=\"cancel-button\"\n\t\t\t\t\t\t\t\t\t\t:id=\"index\"\n\t\t\t\t\t\t\t\t\t\t@click=\"removeDate(index)\"\n\t\t\t\t\t\t\t\t\t\tv-if=\"examDates.length > 1\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<i class=\"fas fa-times\"></i>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"inline-group mb-3\">\n\t\t\t\t\t\t<div class=\"form-group col\">\n\t\t\t\t\t\t\t<label class=\"main-label\" for=\"numberOfAllowedAttempts\"\n\t\t\t\t\t\t\t\t>Allowed Attempts (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tplaceholder=\"Enter number of allowed attempts\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\tname=\"numberOfAllowedAttempts\"\n\t\t\t\t\t\t\t\tid=\"numberOfAllowedAttempts\"\n\t\t\t\t\t\t\t\tv-model=\"numberOfAllowedAttempts\"\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"form-group col\">\n\t\t\t\t\t\t\t<label class=\"main-label\" for=\"passingPercentage\"\n\t\t\t\t\t\t\t\t>Passing Percentage (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div class=\"position-relative\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tplaceholder=\"Enter passing percentage out of 100\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\tname=\"passingPercentage\"\n\t\t\t\t\t\t\t\t\tid=\"passingPercentage\"\n\t\t\t\t\t\t\t\t\tv-model=\"passingPercentage\"\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span class=\"input-unit\">%</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"inline-group mb-1\">\n\t\t\t\t\t\t<div class=\"form-group col\">\n\t\t\t\t\t\t\t<!-- <div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\t\tid=\"isCalculatorAllowed\"\n\t\t\t\t\t\t\t\t\tv-model=\"isCalculatorAllowed\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isCalculatorAllowed\"\n\t\t\t\t\t\t\t\t\t>Allow calculator</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</div> -->\n\n\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\t\tid=\"isAvailableForDemo\"\n\t\t\t\t\t\t\t\t\tv-model=\"isAvailableForDemo\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isAvailableForDemo\"\n\t\t\t\t\t\t\t\t\t>Available for demo</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"inline-group col-6 mb-0 align-items-center\">\n\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\t\tid=\"isTimedExam\"\n\t\t\t\t\t\t\t\t\tv-model=\"isTimedExam\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isTimedExam\"\n\t\t\t\t\t\t\t\t\t>Timed Exam</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-if=\"isTimedExam\" class=\"position-relative col ms-4\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\tname=\"examDuration\"\n\t\t\t\t\t\t\t\t\tid=\"examDuration\"\n\t\t\t\t\t\t\t\t\tv-model=\"examDuration\"\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input col small\"\n\t\t\t\t\t\t\t\t\tplaceholder=\"Enter exam duration\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span class=\"input-unit small\">minutes</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"toggleAddtionalOptions\"\n\t\t\t\t\t\tclass=\"d-flex align-items-center gap-2 mb-3\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ additionalOptions ? \"Hide\" : \"Show\" }} additional options\n\t\t\t\t\t\t<i :class=\"`fa fa-caret-${additionalOptions ? 'up' : 'down'}`\"></i>\n\t\t\t\t\t</button>\n\n\t\t\t\t\t<div class=\"inline-group mb-0\" v-if=\"additionalOptions\">\n\t\t\t\t\t\t<div class=\"form-group col\">\n\t\t\t\t\t\t\t<label class=\"main-label\"> Exam Questions Settings </label>\n\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\t\t\tid=\"showAllQuestionsAtOnce\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"showAllQuestionsAtOnce\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"showAllQuestionsAtOnce\"\n\t\t\t\t\t\t\t\t\t\t>Show all questions at once</label\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\t\t\tid=\"allowReviewPreviousQuestions\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"allowReviewPreviousQuestions\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\tclass=\"form-check-label\"\n\t\t\t\t\t\t\t\t\t\tfor=\"allowReviewPreviousQuestions\"\n\t\t\t\t\t\t\t\t\t\t>Allow student to review previous questions</label\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\t\t\tid=\"allowReattemptPreviousQuestions\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"allowReattemptPreviousQuestions\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\tclass=\"form-check-label\"\n\t\t\t\t\t\t\t\t\t\tfor=\"allowReattemptPreviousQuestions\"\n\t\t\t\t\t\t\t\t\t\t>Allow student to reattempt previously attempted\n\t\t\t\t\t\t\t\t\t\tquestions</label\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"form-group col\">\n\t\t\t\t\t\t\t<label class=\"main-label\"> Exam Results Settings </label>\n\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\t\t\tid=\"isReviewAllowed\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"isReviewAllowed\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isReviewAllowed\"\n\t\t\t\t\t\t\t\t\t\t>Allow student to review exam results</label\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"step-3\" v-if=\"currentStep == 2\">\n\t\t\t\t\t<div class=\"d-flex align-items-start\">\n\t\t\t\t\t\t<label class=\"main-label mb-4\">Exam Questions (required)</label>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclass=\"add-date-btn ms-auto dropdown-toggle\"\n\t\t\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\t\t\tid=\"options-dropdown-btn\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+ Add Question\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\tid=\"options-dropdown\"\n\t\t\t\t\t\t\tclass=\"dropdown-menu dropdown-menu-end\"\n\t\t\t\t\t\t\taria-labelledby=\"dropdownMenuLink\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t@click=\"toggleAddQuestionModal(true, ExamQuestionType.QUESTION)\"\n\t\t\t\t\t\t\t\tclass=\"options-dropdown-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img src=\"@/assets/images/plus-icon.svg\" /> Specific Question\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t@click=\"toggleAddQuestionModal(true, ExamQuestionType.CRITERIA)\"\n\t\t\t\t\t\t\t\tclass=\"options-dropdown-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img src=\"@/assets/images/plus-icon.svg\" /> Question based on\n\t\t\t\t\t\t\t\tCriteria\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"exam-questions-container\">\n\t\t\t\t\t\t<draggable\n\t\t\t\t\t\t\tclass=\"exam-questions-list\"\n\t\t\t\t\t\t\tv-if=\"examQuestions && examQuestions.length > 0\"\n\t\t\t\t\t\t\tv-model=\"examQuestions\"\n\t\t\t\t\t\t\tghost-class=\"ghost\"\n\t\t\t\t\t\t\tgroup=\"content-tab\"\n\t\t\t\t\t\t\tanimation=\"200\"\n\t\t\t\t\t\t\t@move=\"moveQuestion\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div v-for=\"(question, index) in examQuestions\" :key=\"index\">\n\t\t\t\t\t\t\t\t<ExamQuestionListItem\n\t\t\t\t\t\t\t\t\tv-if=\"question.ExamQuestionType == ExamQuestionType.CRITERIA\"\n\t\t\t\t\t\t\t\t\t:questionData=\"question\"\n\t\t\t\t\t\t\t\t\t@updateQuestion=\"editQuestions\"\n\t\t\t\t\t\t\t\t\t@removeQuestion=\"deleteQuestion\"\n\t\t\t\t\t\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t\t\t\t\t\t:examQuestionType=\"examQuestionType\"\n\t\t\t\t\t\t\t\t\t:allowedQuestionTypes=\"allowedQuestionTypes\"\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tv-else-if=\"\n\t\t\t\t\t\t\t\t\t\tquestion.ExamQuestionType == ExamQuestionType.QUESTION\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<!-- <span>{{ \"Question \" + question.QuestionSequenceNo }}</span> -->\n\t\t\t\t\t\t\t\t\t<QuestionListItem\n\t\t\t\t\t\t\t\t\t\t:questionData=\"\n\t\t\t\t\t\t\t\t\t\t\tquestionDetails(question.Question.QuestionID)\n\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t\t:selectMode=\"true\"\n\t\t\t\t\t\t\t\t\t\t:showDelete=\"true\"\n\t\t\t\t\t\t\t\t\t\t@removeQuestion=\"\n\t\t\t\t\t\t\t\t\t\t\tdeleteQuestion(question.QuestionSequenceNo)\n\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</draggable>\n\t\t\t\t\t\t<div v-else class=\"no-questions\">\n\t\t\t\t\t\t\t<span>No questions added to this exam yet!</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<AddExamQuestionModal\n\t\t\t\t\t\t\t:showModal=\"showAddQuestionModal\"\n\t\t\t\t\t\t\t@updateModalState=\"toggleAddQuestionModal\"\n\t\t\t\t\t\t\t@addExamQuestions=\"addQuestions\"\n\t\t\t\t\t\t\t:examQuestionSequence=\"nextSequenceNo\"\n\t\t\t\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t\t\t\t:allowedQuestionTypes=\"allowedQuestionTypes\"\n\t\t\t\t\t\t\t:examQuestionType=\"examQuestionType\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<a @click=\"prev\" v-if=\"showPrev\" role=\"button\" class=\"step-btn prev\"\n\t\t\t\t\t><i class=\"fas fa-long-arrow-alt-left\"></i> prev\n\t\t\t\t</a>\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"currentStep < 2\"\n\t\t\t\t\t@click=\"next\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t:disabled=\"disableNext || loading\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\tnext <i class=\"fas fa-long-arrow-alt-right\"></i>\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"currentStep == 2\"\n\t\t\t\t\t@click=\"finish(ExamStatus.DRAFT)\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t:disabled=\"disableNext || loading\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner\n\t\t\t\t\t\tv-if=\"loading && this.examStatus == ExamStatus.DRAFT\"\n\t\t\t\t\t\tsmall\n\t\t\t\t\t></b-spinner>\n\t\t\t\t\tSave as Draft <i class=\"fas fa-long-arrow-alt-right\"></i>\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"currentStep == 2\"\n\t\t\t\t\t@click=\"finish(ExamStatus.PUBLISHED)\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t:disabled=\"disableNext || loading\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner\n\t\t\t\t\t\tv-if=\"loading && this.examStatus == ExamStatus.PUBLISHED\"\n\t\t\t\t\t\tsmall\n\t\t\t\t\t></b-spinner>\n\t\t\t\t\tPublish <i class=\"fas fa-long-arrow-alt-right\"></i>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { createPopper } from \"@popperjs/core\";\nimport {\n\tExamStatus,\n\tExamType,\n\tExamQuestionType,\n} from \"../../../constants/exam\";\nimport { ContentType } from \"../../../constants/content\";\nimport { mapActions, mapState } from \"vuex\";\nimport { getInputDateFormat } from \"../../../helpers/FormatHelpers\";\nimport AddExamQuestionModal from \"./AddExamQuestionModal.vue\";\nimport ExamQuestionListItem from \"./ExamQuestionListItem.vue\";\nimport QuestionListItem from \"../Question/QuestionListItem.vue\";\nimport draggable from \"vuedraggable\";\n\nexport default {\n\tname: \"CreateEditExamModal\",\n\tdata() {\n\t\treturn {\n\t\t\tcurrentStep: 1,\n\t\t\ttotalSteps: 2,\n\t\t\tid: null,\n\t\t\ttitle: null,\n\t\t\texamTheme: null,\n\t\t\texamStatus: ExamStatus.DRAFT,\n\t\t\texamDates: [\n\t\t\t\t{\n\t\t\t\t\texamStartDateTime: null,\n\t\t\t\t\texamEndDateTime: null,\n\t\t\t\t\texamEndLateDateTime: null,\n\t\t\t\t},\n\t\t\t],\n\t\t\tisTimedExam: true,\n\t\t\texamDuration: 60,\n\t\t\tnumberOfAllowedAttempts: 1,\n\t\t\tpassingPercentage: 60,\n\t\t\tisCalculatorAllowed: true,\n\t\t\tisReviewAllowed: false,\n\t\t\tshowAllQuestionsAtOnce: false,\n\t\t\tallowReviewPreviousQuestions: false,\n\t\t\tallowReattemptPreviousQuestions: false,\n\t\t\ttotalExamQuestions: null,\n\t\t\texamQuestions: [],\n\t\t\tshowAddQuestionModal: false,\n\t\t\tisAvailableForDemo: false,\n\t\t\tadditionalOptions: false,\n\t\t\texamQuestionType: null,\n\t\t\tExamStatus,\n\t\t\tExamType,\n\t\t\tExamQuestionType,\n\t\t\tContentType,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"exam\", [\"createExam\", \"fetchExamThemes\", \"updateExam\"]),\n\t\t...mapActions(\"content\", [\"getContentById\"]),\n\t\ttoggleAddtionalOptions() {\n\t\t\tthis.additionalOptions = !this.additionalOptions;\n\t\t},\n\t\tcloseModal() {\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t},\n\t\tprev() {\n\t\t\tif (this.currentStep > 1) {\n\t\t\t\tthis.currentStep--;\n\t\t\t}\n\t\t},\n\t\tgetSmallestDate() {\n\t\t\tvar smallest = this.examDates[0].examStartAndEndDate.startDate;\n\t\t\tthis.examDates.forEach((date) => {\n\t\t\t\tif (date.examStartAndEndDate.startDate < smallest) {\n\t\t\t\t\tsmallest = date.examStartAndEndDate.startDate;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn new Date(smallest).toISOString();\n\t\t},\n\t\tgetLargestDate() {\n\t\t\tvar largest = this.examDates[0].examEndLateDateTime\n\t\t\t\t? this.examDates[0].examEndLateDateTime\n\t\t\t\t: this.examDates[0].examStartAndEndDate.endDate;\n\t\t\tthis.examDates.forEach((date) => {\n\t\t\t\tif (date.examEndLateDateTime && date.examEndLateDateTime > largest) {\n\t\t\t\t\tlargest = date.examEndLateDateTime;\n\t\t\t\t}\n\t\t\t\tif (date.examStartAndEndDate.startDate < largest) {\n\t\t\t\t\tlargest = date.examStartAndEndDate.startDate;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn new Date(largest).toISOString();\n\t\t},\n\t\tnext() {\n\t\t\tif (this.currentStep < this.totalSteps) {\n\t\t\t\tthis.currentStep++;\n\t\t\t}\n\t\t},\n\t\tfinish(examStatus) {\n\t\t\tthis.examStatus = examStatus;\n\t\t\tvar examCreateObject = {\n\t\t\t\ttitle: this.title,\n\t\t\t\tdata: {\n\t\t\t\t\tservicecode: \"ES\",\n\t\t\t\t\texamtypename: ExamType.EXAM,\n\t\t\t\t\texamstatus: this.examStatus,\n\t\t\t\t\tisreviewallowed: this.isReviewAllowed.toString(),\n\t\t\t\t\tpassingpercentage: this.passingPercentage.toString(),\n\t\t\t\t\tiscalculatorallowed: this.isCalculatorAllowed.toString(),\n\t\t\t\t\tshowallquestionsatonce: this.showAllQuestionsAtOnce.toString(),\n\t\t\t\t\tcanreviewpreviousquestion:\n\t\t\t\t\t\tthis.allowReviewPreviousQuestions.toString(),\n\t\t\t\t\tcanreattemptpreviousattemptedquestion:\n\t\t\t\t\t\tthis.allowReattemptPreviousQuestions.toString(),\n\t\t\t\t\texamdates: JSON.stringify(\n\t\t\t\t\t\tthis.examDates.map((date) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\texamStartDateTime: date.examStartDateTime\n\t\t\t\t\t\t\t\t\t? new Date(date.examStartDateTime).toISOString()\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\texamEndDateTime: date.examEndDateTime\n\t\t\t\t\t\t\t\t\t? new Date(date.examEndDateTime).toISOString()\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\texamEndLateDateTime: date.examEndLateDateTime\n\t\t\t\t\t\t\t\t\t? new Date(date.examEndLateDateTime).toISOString()\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\texamquestions: JSON.stringify(this.generateExamQuestionsList()),\n\t\t\t\t\tistimedexam: this.isTimedExam.toString(),\n\t\t\t\t\tnumberofminutes: this.examDuration.toString(),\n\t\t\t\t\tnumberofallowedattempts: this.numberOfAllowedAttempts.toString(),\n\t\t\t\t\tthemeid: this.examTheme,\n\t\t\t\t},\n\t\t\t\tavailableFrom: this.examStartDateTime,\n\t\t\t\tavailableTo: this.examEndDateTime,\n\t\t\t\tisAvailableForDemo: this.isAvailableForDemo,\n\t\t\t\tparentDirectoryID: this.parentContentId,\n\t\t\t\ttype: ContentType.EXAM,\n\t\t\t};\n\t\t\tconsole.log(examCreateObject);\n\t\t\tthis.createExam(examCreateObject).then((result) => {\n\t\t\t\t// console.log(result);\n\t\t\t\tif (result) {\n\t\t\t\t\tthis.closeModal();\n\t\t\t\t\tthis.$toasted.success(\"Exam created successfully\", {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"top-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tupdate(e) {},\n\t\tgenerateExamQuestionsList() {\n\t\t\tvar questionList = [];\n\t\t\tthis.examQuestions.map((question) => {\n\t\t\t\tif (question.ExamQuestionType == ExamQuestionType.CRITERIA) {\n\t\t\t\t\tfor (var i = 0; i < question.NoOfQuestions; i++) {\n\t\t\t\t\t\tquestionList.push({\n\t\t\t\t\t\t\tExamQuestionType: question.ExamQuestionType,\n\t\t\t\t\t\t\tQuestionSequenceNo: question.QuestionSequenceNo + i,\n\t\t\t\t\t\t\tCriteria: question.Criteria,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else if (question.ExamQuestionType == ExamQuestionType.QUESTION) {\n\t\t\t\t\tquestionList.push(question);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn questionList;\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t\tdateFormatter(date) {\n\t\t\treturn getInputDateFormat(date, true);\n\t\t},\n\t\ttoggleAddQuestionModal(value, type) {\n\t\t\tthis.examQuestionType = type;\n\t\t\tif (value !== undefined) {\n\t\t\t\tthis.showAddQuestionModal = value;\n\t\t\t} else {\n\t\t\t\tthis.showAddQuestionModal = !this.showAddQuestionModal;\n\t\t\t}\n\t\t},\n\t\taddDate() {\n\t\t\tthis.examDates.push({\n\t\t\t\texamStartAndEndDate: {\n\t\t\t\t\tstartDate: null,\n\t\t\t\t\tendDate: null,\n\t\t\t\t},\n\t\t\t\texamEndLateDateTime: null,\n\t\t\t});\n\t\t\tsetTimeout(\n\t\t\t\t() =>\n\t\t\t\t\t$(\".exam-date-item:last-of-type\")[0].scrollIntoView({\n\t\t\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t\t\tblock: \"end\",\n\t\t\t\t\t}),\n\t\t\t\t300\n\t\t\t);\n\t\t},\n\t\tremoveDate(pos) {\n\t\t\tthis.examDates = this.examDates.filter((date, index) => pos != index);\n\t\t},\n\t\tformatDate(date) {\n\t\t\tif (date)\n\t\t\t\treturn date.toLocaleString(\"en-US\", {\n\t\t\t\t\tyear: \"numeric\",\n\t\t\t\t\tmonth: \"numeric\",\n\t\t\t\t\tday: \"numeric\",\n\t\t\t\t\thour: \"numeric\",\n\t\t\t\t\tminute: \"numeric\",\n\t\t\t\t});\n\t\t},\n\t\taddQuestions(questionList) {\n\t\t\tthis.examQuestions = [...this.examQuestions, ...questionList];\n\t\t\tthis.examQuestions.sort(\n\t\t\t\t(a, b) => a.QuestionSequenceNo < b.QuestionSequenceNo\n\t\t\t);\n\t\t},\n\t\teditQuestions({ questions, sequence }) {\n\t\t\tconsole.log(questions, sequence);\n\t\t\tthis.examQuestions = this.examQuestions.map((q, index) => {\n\t\t\t\tif (index == sequence - 1) {\n\t\t\t\t\treturn questions[0];\n\t\t\t\t} else return q;\n\t\t\t});\n\t\t},\n\t\tdeleteQuestion(sequence) {\n\t\t\tthis.examQuestions = this.examQuestions.filter(\n\t\t\t\t(question) => question.QuestionSequenceNo !== sequence\n\t\t\t);\n\t\t\tthis.examQuestions = this.examQuestions.map((q, index) => {\n\t\t\t\tq.QuestionSequenceNo = index + 1;\n\t\t\t\treturn q;\n\t\t\t});\n\t\t},\n\t\tquestionDetails(id) {\n\t\t\treturn this.allQuestions.find((question) => question.ID == id);\n\t\t},\n\t\tmoveQuestion(to, from) {\n\t\t\tconsole.log(to, from);\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"exam\", [\n\t\t\t\"examCategories\",\n\t\t\t\"loading\",\n\t\t\t\"examThemes\",\n\t\t\t\"allQuestions\",\n\t\t]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tdisableNext() {\n\t\t\tif (this.currentStep == 1) {\n\t\t\t\tif (\n\t\t\t\t\tthis.title &&\n\t\t\t\t\tthis.title.isNotEmpty() &&\n\t\t\t\t\tthis.examTheme &&\n\t\t\t\t\tthis.passingPercentage &&\n\t\t\t\t\tthis.numberOfAllowedAttempts &&\n\t\t\t\t\tparseInt(this.numberOfAllowedAttempts) > 0 &&\n\t\t\t\t\tthis.examDates &&\n\t\t\t\t\tthis.examDates[0].examStartDateTime &&\n\t\t\t\t\tthis.examDates[0].examEndDateTime\n\t\t\t\t) {\n\t\t\t\t\tif (this.isTimedExam) {\n\t\t\t\t\t\tif (this.examDuration != null && this.examDuration > 0) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t} else return true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} else return true;\n\t\t\t} else if (this.currentStep == 2) {\n\t\t\t\tif (this.examQuestions && this.examQuestions.length > 0) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else return true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tstepButtonContent() {\n\t\t\treturn this.currentStep < this.totalSteps ? \"next\" : \"finish\";\n\t\t},\n\t\tshowPrev() {\n\t\t\treturn this.currentStep > 1;\n\t\t},\n\t\tallowedQuestionTypes() {\n\t\t\treturn this.examThemes.find((theme) => theme.id == this.examTheme)\n\t\t\t\t?.questionTypes;\n\t\t},\n\t\tnextSequenceNo() {\n\t\t\tif (this.examQuestions && this.examQuestions.length > 0) {\n\t\t\t\tvar lastElem = this.examQuestions.at(-1);\n\t\t\t\tif (lastElem.ExamQuestionType == ExamQuestionType.CRITERIA) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tparseInt(lastElem.QuestionSequenceNo) +\n\t\t\t\t\t\tparseInt(lastElem.NoOfQuestions)\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn parseInt(lastElem.QuestionSequenceNo) + 1;\n\t\t\t\t}\n\t\t\t} else return 1;\n\t\t},\n\t},\n\tcomponents: {\n\t\tAddExamQuestionModal,\n\t\tExamQuestionListItem,\n\t\tQuestionListItem,\n\t\tdraggable,\n\t},\n\tprops: {\n\t\tshowModal: Boolean,\n\t\tparentContentId: String,\n\t\tproductVariantId: String,\n\t\tisEditMode: { type: Boolean, default: false },\n\t\texamData: { type: Object, default: null },\n\t},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible) {\n\t\t\t\tif (this.examThemes && this.examThemes.length == 0) {\n\t\t\t\t\tthis.fetchExamThemes().then((res) => {\n\t\t\t\t\t\tif (res && res.length == 1) {\n\t\t\t\t\t\t\tthis.examTheme = res[0].id;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tif (this.examThemes && this.examThemes.length == 1) {\n\t\t\t\t\t\tthis.examTheme = this.examThemes[0].id;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (this.isEditMode && this.examData.data) {\n\t\t\t\t\tthis.id = this.examData.id;\n\t\t\t\t\tthis.title = this.examData.data.title;\n\t\t\t\t\tthis.examTheme = null;\n\t\t\t\t\tthis.examStatus = this.examData.data.examstatus;\n\t\t\t\t\tthis.examDates = JSON.parse(this.examData.data.examDates);\n\t\t\t\t\tthis.isTimedExam = this.examData.data.IsTimedExam;\n\t\t\t\t\tthis.examDuration = this.examData.data.NumberOfMinutes;\n\t\t\t\t\tthis.numberOfAllowedAttempts =\n\t\t\t\t\t\tthis.examData.data.numberOfAllowedAttempts;\n\t\t\t\t\tthis.passingPercentage = this.examData.data.PassingPercentage;\n\t\t\t\t\tthis.isCalculatorAllowed = this.examData.data.IsCalculatorAllowed;\n\t\t\t\t\tthis.isReviewAllowed = this.examData.data.IsReviewAllowed;\n\t\t\t\t\tthis.showAllQuestionsAtOnce =\n\t\t\t\t\t\tthis.examData.data.ShowAllQuestionsAtOnce;\n\t\t\t\t\tthis.allowReviewPreviousQuestions =\n\t\t\t\t\t\tthis.examData.data.CanReviewPreviousQuestion;\n\t\t\t\t\tthis.allowReattemptPreviousQuestions =\n\t\t\t\t\t\tthis.examData.data.CanReattemptPreviousAttemptedQuestion;\n\t\t\t\t\tthis.examQuestions = JSON.parse(this.examData.data.examquestions);\n\t\t\t\t\tthis.isAvailableForDemo = this.examData.isAvailableForDemo;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// examQuestions: function () {\n\t\t// \tvar sequence = 1;\n\t\t// \tthis.examQuestions = this.examQuestions.map((question) => {\n\t\t// \t\tquestion.QuestionSequenceNo = sequence;\n\t\t// \t\tsequence++;\n\t\t// \t\treturn question;\n\t\t// \t});\n\t\t// },\n\t},\n};\n</script>\n\n<style>\n.create-exam-modal {\n\tmin-height: 90vh;\n\theight: fit-content;\n\twidth: 80vw;\n}\n#create-exam-modal.custom-modal .modal-dialog {\n\tmax-width: 80vw;\n}\n\n.create-exam-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n}\n\n.create-exam-modal .modal-body .custom-stepper-container {\n\tbackground: #f5f5f5;\n\tborder-radius: 8px 0px 0px 8px;\n\twidth: 30%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n.create-exam-modal .modal-body .custom-stepper-container .custom-stepper {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-start;\n\tjustify-content: center;\n\trow-gap: 7.5rem;\n}\n\n.create-exam-modal .modal-body .custom-stepper-body-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 70%;\n\tpadding: 2.5rem 2.5rem 1.5rem;\n\tposition: relative;\n\tborder-radius: 0 8px 8px 0;\n}\n\n.create-exam-modal .step-1,\n.step-2,\n.step-3 {\n\tmargin-top: 1.625rem;\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.exam-type .status-card {\n\tmax-width: unset;\n\twidth: 100%;\n}\n\n.create-exam-modal .input-unit {\n\tposition: absolute;\n\tright: 0;\n\tbottom: 1rem;\n\tcolor: #aaa;\n}\n\n.create-exam-modal .input-unit.small {\n\tbottom: 0.375rem !important;\n}\n\n.create-exam-modal .no-questions {\n\tpadding: 1rem;\n\tdisplay: flex;\n\tjustify-content: center;\n\tcolor: var(--color-gray);\n\tfont-size: 1.25rem;\n\theight: 100%;\n\talign-items: center;\n}\n\n.add-date-btn {\n\tcolor: var(--primary-color);\n}\n\n.exam-dates-grid {\n\tdisplay: flex;\n\tflex-direction: row;\n\trow-gap: 1rem;\n\toverflow-y: auto;\n\tflex-wrap: wrap;\n\tmax-height: 9rem;\n}\n\n.exam-dates-grid .exam-date-item .form-input,\n.exam-date-labels .main-label {\n\tdisplay: flex;\n\tflex-basis: 48%;\n\tflex-grow: 1;\n\tposition: relative;\n}\n\n.exam-dates-grid .exam-date-item,\n.exam-date-labels {\n\tdisplay: flex;\n\tcolumn-gap: 1rem;\n\tflex-grow: 1;\n\talign-items: center;\n\twidth: 100%;\n}\n\n.exam-dates-grid .exam-date-item span {\n\tmin-width: 0.875rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.form-input.small {\n\tpadding: 0 0 0.375rem !important;\n\tmin-height: unset !important;\n}\n\n.exam-questions-list {\n\tdisplay: flex;\n\tflex-direction: column;\n\trow-gap: 1rem;\n\tmargin-bottom: 1rem;\n\theight: 60vh;\n\toverflow-y: auto;\n\tmargin-right: -0.5rem;\n\tpadding-right: 0.5rem;\n\tpadding-bottom: 0.5rem;\n}\n\n.exam-questions-container {\n\theight: 40vh;\n}\n\n.add-date-btn::after {\n\tdisplay: none !important;\n}\n\n.options-dropdown-item {\n\tpadding: 0.75rem 1rem;\n\tcursor: pointer;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolor: #000000;\n\tcolumn-gap: 0.75rem;\n}\n\n.options-dropdown-item:hover {\n\tbackground-color: #ebebeb;\n}\n\n#create-form #numberOfAllowedAttempts::-webkit-outer-spin-button,\n#create-form #numberOfAllowedAttempts::-webkit-inner-spin-button {\n\t-webkit-appearance: button !important;\n\t/* margin: 0; */\n}\n\n/* \n.exam-dates-grid .exam-date .cancel-button {\n\tright: 2rem;\n\tposition: absolute;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n} */\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateEditExamModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateEditExamModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreateEditExamModal.vue?vue&type=template&id=27b8a98e&\"\nimport script from \"./CreateEditExamModal.vue?vue&type=script&lang=js&\"\nexport * from \"./CreateEditExamModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CreateEditExamModal.vue?vue&type=style&index=0&id=27b8a98e&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"edit-content-modal\",\"dialog-class\":'animate-modal-dialog '+(_vm.isExpanded?'expanded':'shrink'),\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"edit-content-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('div',{staticClass:\"right-close-panel\"},[_c('button',{staticClass:\"close-button expanded-btn mr-3\",attrs:{\"role\":\"button\"},on:{\"click\":function (){ _vm.isExpanded=!_vm.isExpanded; }}},[(!_vm.isExpanded)?_c('i',{staticClass:\"fas fa-expand-alt\"}):_vm._e(),(_vm.isExpanded)?_c('i',{staticClass:\"fas fa-compress-alt\"}):_vm._e()]),_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})])]),_c('h1',{staticClass:\"edit-content-title\"},[_vm._v(_vm._s(_vm.isEditMode?\"Edit\":\"Create\")+\" Exam\")]),_c('div',{class:['info-container']},[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"title\"}},[_vm._v(\"Title (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type Exam Title here...\",\"type\":\"search\",\"name\":\"title\",\"id\":\"title\",\"required\":\"\"},domProps:{\"value\":(_vm.title)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}})])]),(_vm.isImport == true)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"flex-row mt-5\"},[_c('div',{staticClass:\"col-lg-6 ps-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"paperIds\"}},[_vm._v(\"Paper ID (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paperIds),expression:\"paperIds\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type Paper ID here...\",\"type\":\"search\",\"name\":\"paperIds\",\"id\":\"paperIds\",\"required\":\"\"},domProps:{\"value\":(_vm.paperIds)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.paperIds=$event.target.value}}})])]),_c('div',{staticClass:\"col-lg-6 ps-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"testId\"}},[_vm._v(\"Test ID (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.testId),expression:\"testId\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type Test ID here...\",\"type\":\"search\",\"name\":\"testId\",\"id\":\"testId\",\"required\":\"\"},domProps:{\"value\":(_vm.testId)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.testId=$event.target.value}}})])])])]):_vm._e(),(_vm.isImport == false)?_c('div',[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"numberOfQuestions\"}},[_vm._v(\"Number Of Questions (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.testData.numberOfQuestions),expression:\"testData.numberOfQuestions\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type Number Of Questions here...  (0 for all questions)\",\"type\":\"number\",\"name\":\"numberOfQuestions\",\"id\":\"numberOfQuestions\",\"required\":\"\"},domProps:{\"value\":(_vm.testData.numberOfQuestions)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.testData, \"numberOfQuestions\", $event.target.value)}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"maxAttempts\"}},[_vm._v(\"Allowed Attempts (REQUIRED)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.testData.maxAttempts),expression:\"testData.maxAttempts\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type Max Attempts here... (0 for unlimited attempts)\",\"type\":\"number\",\"name\":\"maxAttempts\",\"id\":\"maxAttempts\",\"required\":\"\"},domProps:{\"value\":(_vm.testData.maxAttempts)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.testData, \"maxAttempts\", $event.target.value)}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"selectService\"}},[_vm._v(\"Select service (REQUIRED)\")]),_c('div',[_c('v-select',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"form-input\",staticStyle:{\"padding\":\"6px 0px\"},attrs:{\"disabled\":_vm.isEditMode,\"name\":\"v3examsystem\",\"id\":\"v3examsystem\",\"options\":_vm.filteredServices,\"reduce\":function (option) { return option.serviceCode; },\"label\":\"serviceName\",\"appendToBody\":true,\"calculate-position\":_vm.withPopper,\"placeholder\":\"Select Exam Service\",\"clearable\":false,\"title\":_vm.isEditMode ? 'This can not be changed. You have to create a new exam if you want to change service' : ''},model:{value:(_vm.selectedServiceCode),callback:function ($$v) {_vm.selectedServiceCode=$$v},expression:\"selectedServiceCode\"}})],1)])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label mb-4\",attrs:{\"for\":\"layout\"}},[_vm._v(\"Layout (required)\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.testData.layout),expression:\"testData.layout\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select layout\",\"name\":\"layout\",\"id\":\"layout\",\"required\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.testData, \"layout\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"F1toF4\"}},[_vm._v(\" F1 to F4 (ACCA)\")]),_c('option',{attrs:{\"value\":\"Start\"}},[_vm._v(\" F5 to F9 + Professional Level ACCA Exam Format\")])])]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"passingPercentage\"}},[_vm._v(\"Passing Percentage\")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.testData.passingPercentage),expression:\"testData.passingPercentage\"}],staticClass:\"form-input\",staticStyle:{\"display\":\"inline\"},attrs:{\"type\":\"number\",\"name\":\"passingPercentage\",\"id\":\"passingPercentage\",\"placeholder\":\"Passing Percentage\",\"min\":\"1\",\"max\":\"100\"},domProps:{\"value\":(_vm.testData.passingPercentage)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.testData, \"passingPercentage\", $event.target.value)}}})])]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"totalTime\"}},[_vm._v(\"Total Time (required)\")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.testData.hour),expression:\"testData.hour\"}],staticClass:\"form-input\",staticStyle:{\"width\":\"15%\",\"display\":\"inline\"},attrs:{\"type\":\"number\",\"name\":\"hour\",\"id\":\"hour\",\"placeholder\":\"hh\",\"min\":\"0\",\"max\":\"24\",\"required\":\"\"},domProps:{\"value\":(_vm.testData.hour)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.testData, \"hour\", $event.target.value)}}}),_c('strong',[_vm._v(\" : \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.testData.minute),expression:\"testData.minute\"}],staticClass:\"form-input\",staticStyle:{\"width\":\"15%\",\"display\":\"inline\"},attrs:{\"type\":\"number\",\"name\":\"minute\",\"id\":\"minute\",\"placeholder\":\"mm\",\"min\":\"0\",\"max\":\"60\",\"required\":\"\"},domProps:{\"value\":(_vm.testData.minute)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.testData, \"minute\", $event.target.value)}}}),_c('strong',[_vm._v(\" : \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.testData.second),expression:\"testData.second\"}],staticClass:\"form-input\",staticStyle:{\"width\":\"15%\",\"display\":\"inline\"},attrs:{\"type\":\"number\",\"name\":\"second\",\"id\":\"second\",\"placeholder\":\"ss\",\"min\":\"0\",\"max\":\"60\",\"required\":\"\"},domProps:{\"value\":(_vm.testData.second)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.testData, \"second\", $event.target.value)}}})])])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.testData.isRandom),expression:\"testData.isRandom\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isRandom\"},domProps:{\"checked\":Array.isArray(_vm.testData.isRandom)?_vm._i(_vm.testData.isRandom,null)>-1:(_vm.testData.isRandom)},on:{\"change\":function($event){var $$a=_vm.testData.isRandom,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.testData, \"isRandom\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.testData, \"isRandom\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.testData, \"isRandom\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isRandom\"}},[_vm._v(\"Is Random \")])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.testData.isReviewAllowed),expression:\"testData.isReviewAllowed\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isReviewAllowed\"},domProps:{\"checked\":Array.isArray(_vm.testData.isReviewAllowed)?_vm._i(_vm.testData.isReviewAllowed,null)>-1:(_vm.testData.isReviewAllowed)},on:{\"change\":function($event){var $$a=_vm.testData.isReviewAllowed,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.testData, \"isReviewAllowed\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.testData, \"isReviewAllowed\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.testData, \"isReviewAllowed\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isReviewAllowed\"}},[_vm._v(\"Review Allowed \")])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.testData.status),expression:\"testData.status\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isActive\"},domProps:{\"checked\":Array.isArray(_vm.testData.status)?_vm._i(_vm.testData.status,null)>-1:(_vm.testData.status)},on:{\"change\":function($event){var $$a=_vm.testData.status,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.testData, \"status\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.testData, \"status\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.testData, \"status\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isActive\"}},[_vm._v(\"Is Active \")])])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.testData.sendToReviewOnSubmit),expression:\"testData.sendToReviewOnSubmit\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"sendToReviewOnSubmit\"},domProps:{\"checked\":Array.isArray(_vm.testData.sendToReviewOnSubmit)?_vm._i(_vm.testData.sendToReviewOnSubmit,null)>-1:(_vm.testData.sendToReviewOnSubmit)},on:{\"change\":function($event){var $$a=_vm.testData.sendToReviewOnSubmit,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.testData, \"sendToReviewOnSubmit\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.testData, \"sendToReviewOnSubmit\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.testData, \"sendToReviewOnSubmit\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"sendToReviewOnSubmit\"}},[_vm._v(\"Send To Review On Submit \")])])])])]):_vm._e(),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"start-date\"}},[_vm._v(\"start date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.availableFrom),expression:\"availableFrom\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select start date\",\"type\":\"date\",\"name\":\"availableFrom\",\"id\":\"availableFrom\"},domProps:{\"value\":(_vm.availableFrom)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.availableFrom=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"end-date\"}},[_vm._v(\"end date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.availableTo),expression:\"availableTo\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select end date\",\"type\":\"date\",\"name\":\"availableTo\",\"id\":\"availableTo\"},domProps:{\"value\":(_vm.availableTo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.availableTo=$event.target.value}}})])])]),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext() || _vm.loading},on:{\"click\":_vm.createExam}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.stepButtonContent)+\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal id=\"edit-content-modal\" @change=\"$emit('updateModalState', false)\"  :dialog-class=\"'animate-modal-dialog '+(isExpanded?'expanded':'shrink')\" :visible=\"visible\" hide-header centered\n\t\tcontent-class=\"edit-content-modal\" size=\"xl\" body-class=\"modal-body\" hide-footer modal-class=\"custom-modal\"\n\t\tno-close-on-backdrop>\n\t\t<div class=\"body-container\">\n\t\t\t<div class=\"right-close-panel\">\n\t\t\t\t<button @click=\"()=>{ isExpanded=!isExpanded; }\" class=\"close-button expanded-btn mr-3\" role=\"button\">\n\t\t\t\t\t\t\t<i v-if=\"!isExpanded\" class=\"fas fa-expand-alt\"></i>\n\t\t\t\t\t\t\t<i v-if=\"isExpanded\" class=\"fas fa-compress-alt\"></i>\n\t\t\t\t</button>\n\t\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<h1 class=\"edit-content-title\">{{ isEditMode?\"Edit\":\"Create\"}} Exam</h1>\n\t\t\t<div :class=\"['info-container']\">\n\t\t\t\t<!-- <div class=\"import-btn-container\">\n\t\t\t\t\t<div></div>\n\t\t\t\t\t<button @click=\"importTest\" role=\"button\" class=\"step-btn\" v-if=\"isImport == false\">\n\t\t\t\t\t\tImport Test\n\t\t\t\t\t</button>\n\t\t\t\t</div> -->\n\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t<label class=\"main-label\" for=\"title\">Title (required)</label>\n\t\t\t\t\t\t<input placeholder=\"Type Exam Title here...\" class=\"form-input\" type=\"search\" name=\"title\" id=\"title\"\n\t\t\t\t\t\t\tv-model=\"title\" required />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"form-group\" v-if=\"isImport == true\">\n\t\t\t\t\t<div class=\"flex-row mt-5\">\n\t\t\t\t\t\t<div class=\"col-lg-6 ps-0\">\n\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"paperIds\">Paper ID (required)</label>\n\t\t\t\t\t\t\t\t<input placeholder=\"Type Paper ID here...\" class=\"form-input\" type=\"search\"\n\t\t\t\t\t\t\t\t\tname=\"paperIds\" id=\"paperIds\" v-model=\"paperIds\" required />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-lg-6 ps-0\">\n\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"testId\">Test ID (required)</label>\n\t\t\t\t\t\t\t\t<input placeholder=\"Type Test ID here...\" class=\"form-input\" type=\"search\" name=\"testId\"\n\t\t\t\t\t\t\t\t\tid=\"testId\" v-model=\"testId\" required />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div  v-if=\"isImport == false\">\n\t\t\t\t\n\t\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"numberOfQuestions\">Number Of Questions (required)</label>\n\t\t\t\t\t\t\t\t<input placeholder=\"Type Number Of Questions here...  (0 for all questions)\" class=\"form-input\" type=\"number\"\n\t\t\t\t\t\t\t\t\tname=\"numberOfQuestions\" id=\"numberOfQuestions\" v-model=\"testData.numberOfQuestions\" required />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"maxAttempts\">Allowed Attempts (REQUIRED)</label>\n\t\t\t\t\t\t\t\t<input placeholder=\"Type Max Attempts here... (0 for unlimited attempts)\" class=\"form-input\" type=\"number\" name=\"maxAttempts\"\n\t\t\t\t\t\t\t\t\tid=\"maxAttempts\" v-model=\"testData.maxAttempts\" required />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"selectService\">Select service (REQUIRED)</label>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\t\t\t:disabled=\"isEditMode\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"selectedServiceCode\"\n\t\t\t\t\t\t\t\t\t\tname=\"v3examsystem\"\n\t\t\t\t\t\t\t\t\t\tid=\"v3examsystem\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\t:options=\"filteredServices\"\n\t\t\t\t\t\t\t\t\t\t:reduce=\"(option) => option.serviceCode\"\n\t\t\t\t\t\t\t\t\t\tlabel=\"serviceName\"\n\t\t\t\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Select Exam Service\"\n\t\t\t\t\t\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\t\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t\t\t\t\t\tstyle=\"padding: 6px 0px\"\n\t\t\t\t\t\t\t\t\t\t:title=\"isEditMode ? 'This can not be changed. You have to create a new exam if you want to change service' : ''\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t</v-select>\n \t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<label class=\"main-label mb-4\" for=\"layout\">Layout (required)</label>\n\t\t\t\t\t\t\t\t<select class=\"form-input\" placeholder=\"Select layout\" name=\"layout\" id=\"layout\"\n\t\t\t\t\t\t\t\t\tv-model=\"testData.layout\" required>\n\t\t\t\t\t\t\t\t\t<option value=\"F1toF4\"> F1 to F4 (ACCA)</option>\n\t\t\t\t\t\t\t\t\t<option value=\"Start\"> F5 to F9 + Professional Level ACCA Exam Format</option>\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"passingPercentage\">Passing Percentage</label>\n\t\t\t\t\t\t\t\t<div >\n\t\t\t\t\t\t\t\t  <input class=\"form-input\" style=\"display: inline;\" type=\"number\" name=\"passingPercentage\" id=\"passingPercentage\" placeholder=\"Passing Percentage\" min=\"1\" max=\"100\" v-model=\"testData.passingPercentage\" />\n\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"totalTime\">Total Time (required)</label>\n\t\t\t\t\t\t\t\t<div >\n\t\t\t\t\t\t\t\t\t<input class=\"form-input\" style=\"width: 15%; display: inline;\" type=\"number\" name=\"hour\" id=\"hour\" placeholder=\"hh\" min=\"0\" max=\"24\" v-model=\"testData.hour\" required /><strong> : </strong> \n                                    <input class=\"form-input\" style=\"width: 15%; display: inline;\" type=\"number\" name=\"minute\" id=\"minute\" placeholder=\"mm\" min=\"0\" max=\"60\" v-model=\"testData.minute\" required /><strong> : </strong>\n                                    <input class=\"form-input\" style=\"width: 15%; display: inline;\" type=\"number\" name=\"second\" id=\"second\" placeholder=\"ss\" min=\"0\" max=\"60\" v-model=\"testData.second\" required />\n\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t\t<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"isRandom\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"testData.isRandom\" />\n\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isRandom\">Is Random\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t\t<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"isReviewAllowed\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"testData.isReviewAllowed\" />\n\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isReviewAllowed\">Review Allowed\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t\t<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"isActive\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"testData.status\" />\n\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isActive\">Is Active\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\t\t\t\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t\t<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"sendToReviewOnSubmit\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"testData.sendToReviewOnSubmit\" />\n\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"sendToReviewOnSubmit\">Send To Review On Submit\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\n\t\t\t\t\t\t<label for=\"start-date\" class=\"main-label m-0\">start date (optional)</label>\n\t\t\t\t\t\t<input placeholder=\"Select start date\" class=\"form-input\" type=\"date\" name=\"availableFrom\" id=\"availableFrom\"\n\t\t\t\t\t\t\tv-model=\"availableFrom\" />\n\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t<label for=\"end-date\" class=\"main-label m-0\">end date (optional)</label>\n\t\t\t\t\t\t<input placeholder=\"Select end date\" class=\"form-input\" type=\"date\" name=\"availableTo\" id=\"availableTo\"\n\t\t\t\t\t\t\tv-model=\"availableTo\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t\t<!-- \t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"form-group mt-4\" >\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"isContentAvailableForDemo\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname=\"isContentAvailableForDemo\" v-model=\"isContentAvailableForDemo\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isContentAvailableForDemo\">Available for Demo</label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div> -->\t\t</div>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<button @click=\"createExam\" role=\"button\" class=\"step-btn\" :disabled=\"disableNext() || loading\">\n\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\t{{ stepButtonContent }}\n\t\t\t\t\t<img src=\"@/assets/images/arrow-right.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nimport { ServiceCodes } from \"../../../constants/serviceCodes\";\nimport { createPopper } from \"@popperjs/core\";\nimport { ContentType } from \"../../../constants/content\";\n\nexport default {\n\tname: \"CreateEditLegacyExamModal\",\n\tdata() {\n\t\treturn {\n\t\t\ttitle: null,\n\t\t\tavailableFrom: null,\n\t\t\tavailableTo: null,\n\t\t\tisContentAvailableForDemo: false,\n\t\t\tupdateObject: {},\n\t\t\tpaperIds: null,\n\t\t\ttestId: null,\n\t\t\tisImport: false,\n\t\t\ttestData: {\n\t\t\t\tlayout: null,\n\t\t\t\tstatus: true,\n\t\t\t\tsendToReviewOnSubmit:false,\n\t\t\t\tpassingPercentage:null,\n\t\t\t\tisRandom: true,\n\t\t\t\tmaxAttempts: null,\n\t\t\t\tnumberOfQuestions: null,\n\t\t\t\tisReviewAllowed: true,\n\t\t\t\thour: null,\n\t\t\t\tminute: null,\n\t\t\t\tsecond: null\n\t\t\t},\n\t\t\tisExpanded: false,\n\t\t\tServiceCodes,\n\t\t\tselectedServiceCode: null,\n\t\t\tContentType\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"externalServicesList\"]),\n\t\t...mapState(\"exam\", [\"loading\"]),\n\t\t...mapState(\"user\", [\"user\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tstepButtonContent() {\n\t\t\treturn this.isEditMode?\"Save\":\"Create\";\n\t\t},\t\t\n\t\tisEditMode() {\n\t\t\treturn this.mode == \"edit\";\n\t\t},\n\t\tfilteredServices() {\n\t\t\treturn this.externalServicesList[ContentType.EXAM]?.filter((x) => x.serviceProvider == ServiceCodes.EXAM.V3ExamSystem) ?? [];\n\t\t}\n\t},\n\twatch: {\n\n\t\tvisible: function () {\n\t\t\tif (this.mode == \"edit\" && this.visible) {\n\t\t\t\tthis.title = this.contentData.title;\n\t\t\t\tif (this.contentData.availableFrom){\n\t\t\t\t\tthis.availableFrom =new Date(this.contentData.availableFrom).toISOString().split('T')[0];\n\t\t\t\t}\n\t\t\t\tif (this.contentData.availableTo){\n\t\t\t\t\tthis.availableTo =new Date( this.contentData.availableTo).toISOString().split('T')[0];\n\t\t\t\t}\n\t\t\t\tvar prop=JSON.parse(this.contentData.extraProperties);\n\t\t\t\tif (prop.Layout)\n\t\t\t\t\tthis.testData.layout = prop.Layout;\n\n\t\t\t\tif (prop.Status)\n\t\t\t\t\tthis.testData.status = prop.Status;\n\t\t\t\t\t\n\t\t\t\tif (prop.SendToReviewOnSubmit)\n\t\t\t\t\tthis.testData.sendToReviewOnSubmit = prop.SendToReviewOnSubmit;\n\n\t\t\t\tif (prop.PassingPercentage)\n\t\t\t\t\tthis.testData.passingPercentage = prop.PassingPercentage;\n\t\t\t\t\t\n\t\t\t\tif (prop.IsRandom)\n\t\t\t\t\tthis.testData.isRandom = prop.IsRandom;\n\n\t\t\t\tif (prop.MaxAttempts)\n\t\t\t\t\tthis.testData.maxAttempts = prop.MaxAttempts;\n                 \n\t\t\t\tif (prop.NoOfQuestions)\n\t\t\t\t\tthis.testData.numberOfQuestions = prop.NoOfQuestions;\n\n\t\t\t\tif (prop.IsReviewAllowed)\n\t\t\t\t\tthis.testData.isReviewAllowed = prop.IsReviewAllowed;\n\n\t\t\t\tif(prop.TotalTime){\n\n\t\t\t\t\tvar hours=prop.TotalTime.split(\"h\");\n\t\t\t\t\tvar mins=(hours.length>1?hours[1]:prop.TotalTime).split(\"m\");\n\t\t\t\t\tvar secs=(mins.length>1?mins[1]:prop.TotalTime).split(\"s\");\n\t\t\t\t\tthis.testData.hour=hours.length>0?hours[0]:0;\n\t\t\t\t\tthis.testData.minute=mins.length>0?mins[0]:0;\n\t\t\t\t\tthis.testData.second=secs.length>0?secs[0]:0;\n\t\t\t\t}\n\n\t\t\t\tif(this.contentData?.externalService?.serviceCode) {\n\t\t\t\t\tthis.selectedServiceCode = this.contentData?.externalService?.serviceCode;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tprops: {\n\t\tshowModal: Boolean,\n\t\tcontentData: { default: null, type: Object },\n\t\tparentContentId: String,\n\t\tproductVariantId: String,\n\t\tmode: String,\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\n\t\t\t\"getContentById\",\"updateContent\"\n\t\t]),\n\t\t...mapActions(\"exam\", [\"createLegacyExam\",\"updateExam\"]),\n\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\t// console.log(dropdownList, component.$refs.toggle, { width });\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\n\t\tcloseModal() {\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t},\n\t\tdisableNext() {\n\t\t\t// console.log(Object.keys(this.updateObject).length);\n\t\t\tif (this.title && this.isImport && this.paperIds && this.testId) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t\n\t\t\tif (this.title && this.isImport==false && this.testData && this.testData.maxAttempts \n\t\t\t\t&& this.testData.numberOfQuestions && this.testData.layout && this.testData.hour && this.testData.minute && this.testData.second && this.selectedServiceCode) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\timportTest() {\n\t\t\tthis.isImport = true;\n\t\t},\n\t\tcreateExam() {\n\n            var data={};\n\n\t\t\tif(this.isImport){\n\t\t\t\tdata= {\n\t\t\t\t\tpaperids: this.paperIds,\n\t\t\t\t\tservicecode: this.selectedServiceCode,\n\t\t\t\t\texamid: this.testId,\n\t\t\t\t};\n\t\t\t}else{\n\n\t\t\t\tdata = {\n\t\t\t\t\tservicecode: this.selectedServiceCode,\n\t\t\t\t\tistestcreationrequired: \"true\",\n\t\t\t\t\tlayout: this.testData.layout,\n\t\t\t\t\tstatus: this.testData.status+\"\",\n\t\t\t\t\tisrandom: this.testData.isRandom+\"\",\n\t\t\t\t\tsendtoreviewonsubmit: this.testData.sendToReviewOnSubmit+\"\",\n\t\t\t\t\tpassingpercentage: this.testData.passingPercentage,\n\t\t\t\t\tmaxattempts: this.testData.maxAttempts,\n\t\t\t\t\tnumberofquestions: this.testData.numberOfQuestions,\n\t\t\t\t\tisreviewallowed: this.testData.isReviewAllowed+\"\",\n\t\t\t\t\ttotaltime: this.testData.hour.padStart(2, '0')+\"h\"+this.testData.minute.padStart(2, '0')+\"m\"+this.testData.second.padStart(2, '0')+\"s\"\n\t\t\t\t}              \n\n\t\t\t}\n\n\t\t\tvar createExamObj = {\n\t\t\t\tid:this.contentData?.id??null,\n\t\t\t\ttitle: this.title,\n\t\t\t\tdata: data,\n\t\t\t\tavailableFrom: this.availableFrom,\n\t\t\t\tavailableTo: this.availableTo,\n\t\t\t\tisAvailableForDemo: this.isContentAvailableForDemo,\n\t\t\t\tparentDirectoryID: this.parentContentId,\n\t\t\t\ttype: \"exam\",\n\t\t\t};\n\t\t\tif (this.isEditMode) {\n\t\t\t\tthis.updateContent(createExamObj).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.getContentById({id:this.contentData.id});\n\t\t\t\t\t\tthis.closeModal();\n\t\t\t\t\t\tthis.$toasted.success(\"Exam updated successfully\", {\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.createLegacyExam(createExamObj).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.closeModal();\n\t\t\t\t\t\tthis.$toasted.success(\"Exam created successfully\", {\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n<style scoped>\n\t.right-close-panel\n\t{\n\t\tposition: absolute;\n    \ttop: 2.5rem;\n    \tright: 2rem;\n\t\tdisplay: flex;\n\t}\n\n\t.right-close-panel .close-button\n\t{\n\t\tposition: initial;\n\t}\n\t\n\t.expanded-btn{\n\t\tcolor: black;\n\t    font-size: 24px;\n\t    margin-right: 15px;\n\t\tpadding-top: 4px;\n\t}\n</style>\n<style>\n.edit-content-modal {\n\tmin-height: 40rem;\n\t/* width: 70vw; */\n}\n\n.import-btn-container {\n\tfloat: right;\n}\n\n.import-btn-container .step-btn {\n\twidth: 150px;\n}\n\n.edit-content-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n}\n\n.edit-content-modal .modal-body .body-container {\n\tpadding: 2.5rem;\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tposition: relative;\n}\n\n.edit-content-modal .edit-content-title {\n\tfont-weight: 450;\n\tfont-size: 2rem;\n\tline-height: 0.75;\n\tmargin: 0.5rem 0 2rem;\n\tcolor: #000000;\n}\n\n#edit-content-modal .expanded\n{\n\tmax-width: 96%;\n\tmax-height: 96%;\n\n}\n\n#edit-content-modal .expanded .edit-content-modal\n{\n\theight: 90vh;\n\t\n}\n.all-trainers-list {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.trainer-list-container {\n\tmargin-top: 1.5rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateEditLegacyExamModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateEditLegacyExamModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreateEditLegacyExamModal.vue?vue&type=template&id=3f0dae95&scoped=true&\"\nimport script from \"./CreateEditLegacyExamModal.vue?vue&type=script&lang=js&\"\nexport * from \"./CreateEditLegacyExamModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CreateEditLegacyExamModal.vue?vue&type=style&index=0&id=3f0dae95&prod&scoped=true&lang=css&\"\nimport style1 from \"./CreateEditLegacyExamModal.vue?vue&type=style&index=1&id=3f0dae95&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3f0dae95\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exam-question-card\"},[_c('div',{staticClass:\"title-container\"},[_c('h4',{staticClass:\"question-title\"},[_vm._v(\" \"+_vm._s(\"Question \" + _vm.questionData.QuestionSequenceNo)+\" \"+_vm._s(_vm.questionData.ExamQuestionType == _vm.ExamQuestionType.CRITERIA && _vm.questionData.NoOfQuestions > 1 ? (\"- \" + (parseInt(_vm.questionData.QuestionSequenceNo) + parseInt(_vm.questionData.NoOfQuestions) - 1)) : \"\")+\" \")]),_c('div',{staticClass:\"ms-auto d-flex gap-2 align-items-center\"},[_c('div',{staticClass:\"question-type-pill\"},[_vm._v(\" \"+_vm._s(_vm.questionData.ExamQuestionType)+\" \")])])]),_c('div',{staticClass:\"question-content-container\"},[(_vm.questionData.ExamQuestionType == _vm.ExamQuestionType.QUESTION)?_c('div',{staticClass:\"d-flex flex-column flex-grow-1\"},[_c('p',{staticClass:\"question-detail mb-1\"},[_c('span',{staticClass:\"text-muted\"},[_vm._v(\"Question ID: \")]),_vm._v(\" \"+_vm._s(_vm.questionData.Question.QuestionID)+\" \")]),_c('p',{staticClass:\"question-detail mb-1\"},[_c('span',{staticClass:\"text-muted\"},[_vm._v(\"Question Title: \")]),_vm._v(\" \"+_vm._s(_vm.questionDetails(_vm.questionData.Question.QuestionID).QuestionTitle)+\" \")]),_c('p',{staticClass:\"question-detail mb-1\"},[_c('span',{staticClass:\"text-muted\"},[_vm._v(\"Question Type: \")]),_vm._v(\" \"+_vm._s(_vm.questionDetails(_vm.questionData.Question.QuestionID).QuestionType .QuestionTypeName)+\" \")])]):_vm._e(),(_vm.questionData.ExamQuestionType == _vm.ExamQuestionType.CRITERIA)?_c('div',{staticClass:\"d-flex flex-column flex-grow-1\"},_vm._l((_vm.criteriaItems),function(criteria,index){return _c('p',{key:index,staticClass:\"question-detail mb-1\"},[_vm._v(\" \"+_vm._s(_vm.ExamCriteriaText[criteria])+\": \"+_vm._s(_vm.criteriaValues(_vm.questionData.Criteria[criteria], criteria))+\" \")])}),0):_vm._e(),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")},on:{\"click\":function($event){return _vm.toggleAddQuestionModal(true)}}})]),_c('AddExamQuestionModal',{attrs:{\"showModal\":_vm.showAddQuestionModal,\"productVariantId\":_vm.productVariantId,\"examQuestionSequence\":_vm.questionData.QuestionSequenceNo,\"isEditMode\":true,\"questionData\":_vm.questionData,\"examQuestionType\":_vm.questionData.ExamQuestionType,\"allowedQuestionTypes\":_vm.allowedQuestionTypes},on:{\"updateModalState\":_vm.toggleAddQuestionModal,\"addExamQuestions\":_vm.updateQuestions}}),_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.removeQuestion(_vm.questionData.QuestionSequenceNo)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"exam-question-card\">\n\t\t<div class=\"title-container\">\n\t\t\t<h4 class=\"question-title\">\n\t\t\t\t{{ \"Question \" + questionData.QuestionSequenceNo }}\n\t\t\t\t{{\n\t\t\t\t\tquestionData.ExamQuestionType == ExamQuestionType.CRITERIA &&\n\t\t\t\t\tquestionData.NoOfQuestions > 1\n\t\t\t\t\t\t? `- ${\n\t\t\t\t\t\t\t\tparseInt(questionData.QuestionSequenceNo) +\n\t\t\t\t\t\t\t\tparseInt(questionData.NoOfQuestions) -\n\t\t\t\t\t\t\t\t1\n\t\t\t\t\t\t  }`\n\t\t\t\t\t\t: \"\"\n\t\t\t\t}}\n\t\t\t</h4>\n\t\t\t<div class=\"ms-auto d-flex gap-2 align-items-center\">\n\t\t\t\t<div class=\"question-type-pill\">\n\t\t\t\t\t{{ questionData.ExamQuestionType }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"question-content-container\">\n\t\t\t<div\n\t\t\t\tv-if=\"questionData.ExamQuestionType == ExamQuestionType.QUESTION\"\n\t\t\t\tclass=\"d-flex flex-column flex-grow-1\"\n\t\t\t>\n\t\t\t\t<p class=\"question-detail mb-1\">\n\t\t\t\t\t<span class=\"text-muted\">Question ID: </span>\n\t\t\t\t\t{{ questionData.Question.QuestionID }}\n\t\t\t\t</p>\n\t\t\t\t<p class=\"question-detail mb-1\">\n\t\t\t\t\t<span class=\"text-muted\">Question Title: </span>\n\t\t\t\t\t{{ questionDetails(questionData.Question.QuestionID).QuestionTitle }}\n\t\t\t\t</p>\n\t\t\t\t<p class=\"question-detail mb-1\">\n\t\t\t\t\t<span class=\"text-muted\">Question Type: </span>\n\t\t\t\t\t{{\n\t\t\t\t\t\tquestionDetails(questionData.Question.QuestionID).QuestionType\n\t\t\t\t\t\t\t.QuestionTypeName\n\t\t\t\t\t}}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tv-if=\"questionData.ExamQuestionType == ExamQuestionType.CRITERIA\"\n\t\t\t\tclass=\"d-flex flex-column flex-grow-1\"\n\t\t\t>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"question-detail mb-1\"\n\t\t\t\t\tv-for=\"(criteria, index) in criteriaItems\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t>\n\t\t\t\t\t{{ ExamCriteriaText[criteria] }}:\n\t\t\t\t\t{{ criteriaValues(questionData.Criteria[criteria], criteria) }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div class=\"right-menu\">\n\t\t\t\t<a role=\"button\" class=\"right-menu-icon\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc=\"@/assets/images/edit-icon.svg\"\n\t\t\t\t\t\t@click=\"toggleAddQuestionModal(true)\"\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t\t<AddExamQuestionModal\n\t\t\t\t\t:showModal=\"showAddQuestionModal\"\n\t\t\t\t\t@updateModalState=\"toggleAddQuestionModal\"\n\t\t\t\t\t@addExamQuestions=\"updateQuestions\"\n\t\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t\t:examQuestionSequence=\"questionData.QuestionSequenceNo\"\n\t\t\t\t\t:isEditMode=\"true\"\n\t\t\t\t\t:questionData=\"questionData\"\n\t\t\t\t\t:examQuestionType=\"questionData.ExamQuestionType\"\n\t\t\t\t\t:allowedQuestionTypes=\"allowedQuestionTypes\"\n\t\t\t\t/>\n\t\t\t\t<a\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t@click=\"removeQuestion(questionData.QuestionSequenceNo)\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport {\n\tExamQuestionType,\n\tExamCriteriaText,\n\tExamCriteria,\n} from \"../../../constants/exam\";\n\nimport { QuestionTypeText } from \"../../../constants/question\";\n\nimport AddExamQuestionModal from \"./AddExamQuestionModal.vue\";\n\nexport default {\n\tname: \"ExamQuestionListItem\",\n\tdata() {\n\t\treturn {\n\t\t\tExamQuestionType,\n\t\t\tExamCriteriaText,\n\t\t\tExamCriteria,\n\t\t\tQuestionTypeText,\n\t\t\tshowAddQuestionModal: false,\n\t\t};\n\t},\n\tprops: {\n\t\tquestionData: Object,\n\t\tproductVariantId: String,\n\t\texamQuestionType: { type: String, default: ExamQuestionType.QUESTION },\n\t\tallowedQuestionTypes: Array,\n\t},\n\tcomputed: {\n\t\t...mapState(\"exam\", [\"allQuestions\", \"questionCategories\"]),\n\t\tcriteriaItems() {\n\t\t\treturn this.questionData.Criteria\n\t\t\t\t? Object.keys(this.questionData.Criteria)\n\t\t\t\t: [];\n\t\t},\n\t},\n\tmethods: {\n\t\tquestionDetails(id) {\n\t\t\treturn this.allQuestions.find((question) => question.ID == id);\n\t\t},\n\t\tremoveQuestion(id) {\n\t\t\tthis.$emit(\"removeQuestion\", id);\n\t\t},\n\t\ttoggleAddQuestionModal(value) {\n\t\t\tif (value !== undefined) {\n\t\t\t\tthis.isEditMode = value;\n\t\t\t\tthis.showAddQuestionModal = value;\n\t\t\t} else {\n\t\t\t\tthis.isEditMode = !this.isEditMode;\n\t\t\t\tthis.showAddQuestionModal = !this.showAddQuestionModal;\n\t\t\t}\n\t\t},\n\t\tupdateQuestions(questions) {\n\t\t\tthis.$emit(\"updateQuestion\", {\n\t\t\t\tquestions,\n\t\t\t\tsequence: this.questionData.QuestionSequenceNo,\n\t\t\t});\n\t\t},\n\t\tcriteriaValues(values, criteria) {\n\t\t\tswitch (criteria) {\n\t\t\t\tcase ExamCriteria.CATEGORY:\n\t\t\t\t\treturn values\n\t\t\t\t\t\t.split(\",\")\n\t\t\t\t\t\t.map((c) => {\n\t\t\t\t\t\t\treturn this.questionCategories[this.productVariantId][c]\n\t\t\t\t\t\t\t\t? this.questionCategories[this.productVariantId][c].categoryName\n\t\t\t\t\t\t\t\t: c;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t.replaceAll(\",\", \", \");\n\t\t\t\tcase ExamCriteria.QUESTION_TYPE:\n\t\t\t\t\treturn values\n\t\t\t\t\t\t.split(\",\")\n\t\t\t\t\t\t.map((q) => {\n\t\t\t\t\t\t\treturn QuestionTypeText[q];\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t.replaceAll(\",\", \", \");\n\t\t\t\tdefault:\n\t\t\t\t\treturn values.replaceAll(\",\", \", \");\n\t\t\t}\n\t\t},\n\t},\n\tcomponents: {\n\t\tAddExamQuestionModal,\n\t},\n};\n</script>\n\n<style scoped>\n.exam-question-card {\n\tbackground-color: #fff;\n\tborder: 1px solid #ddd;\n\tborder-radius: 6px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n}\n\n.exam-question-card .title-container {\n\tpadding: 1rem;\n\tborder-bottom: 1px solid #ddd;\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n\talign-items: center;\n}\n\n.question-title {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.question-type-pill {\n\tpadding: 0.25rem 0.75rem;\n\tfont-size: 0.75rem;\n\tborder: 1px solid var(--primary-color);\n\tborder-radius: 1rem;\n\tdisplay: flex;\n}\n\n.question-content-container {\n\tpadding: 1rem;\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n\talign-items: flex-start;\n}\n\n.question-content-container .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: flex-start;\n\tcolumn-gap: 1rem;\n\tmargin-left: auto;\n\t/* margin-right: 0.75rem; */\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.exam-question-card:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.right-menu-icon {\n\twidth: 1.75rem;\n\theight: 1.75rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n.right-menu-icon img {\n\twidth: 0.875rem;\n\theight: 0.875rem;\n}\n\n.right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExamQuestionListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExamQuestionListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ExamQuestionListItem.vue?vue&type=template&id=176f55ce&scoped=true&\"\nimport script from \"./ExamQuestionListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ExamQuestionListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ExamQuestionListItem.vue?vue&type=style&index=0&id=176f55ce&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"176f55ce\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"edit-content-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"dialog-class\":'animate-modal-dialog '+(_vm.isExpanded?'expanded':'shrink'),\"content-class\":\"edit-content-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('div',{staticClass:\"right-close-panel\"},[_c('button',{staticClass:\"close-button expanded-btn mr-3\",attrs:{\"role\":\"button\"},on:{\"click\":function (){ _vm.isExpanded=!_vm.isExpanded; }}},[(!_vm.isExpanded)?_c('i',{staticClass:\"fas fa-expand-alt\"}):_vm._e(),(_vm.isExpanded)?_c('i',{staticClass:\"fas fa-compress-alt\"}):_vm._e()]),_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})])]),_c('h1',{staticClass:\"edit-content-title\"},[_vm._v(\" \"+_vm._s(_vm.isEditMode ? \"Edit\" : \"Create\")+\" Quiz \")]),_c('div',{class:['info-container']},[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"title\"}},[_vm._v(\"Title (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type Quiz Title here...\",\"type\":\"search\",\"name\":\"title\",\"id\":\"title\",\"required\":\"\"},domProps:{\"value\":(_vm.title)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}})])]),_c('div',[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"passingPercentage\"}},[_vm._v(\"Passing Percentage\")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.data.passingPercentage),expression:\"data.passingPercentage\"}],staticClass:\"form-input\",staticStyle:{\"display\":\"inline\"},attrs:{\"type\":\"number\",\"name\":\"passingPercentage\",\"id\":\"passingPercentage\",\"placeholder\":\"Passing Percentage\",\"min\":\"1\",\"max\":\"100\"},domProps:{\"value\":(_vm.data.passingPercentage)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.data, \"passingPercentage\", $event.target.value)}}})])]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"totalTime\"}},[_vm._v(\"Total Time (optional)\")]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.data.hour),expression:\"data.hour\"}],staticClass:\"form-input\",staticStyle:{\"width\":\"15%\",\"display\":\"inline\"},attrs:{\"type\":\"number\",\"name\":\"hour\",\"id\":\"hour\",\"placeholder\":\"hh\",\"min\":\"0\",\"max\":\"24\",\"required\":\"\"},domProps:{\"value\":(_vm.data.hour)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.data, \"hour\", $event.target.value)}}}),_c('strong',[_vm._v(\" : \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.data.minute),expression:\"data.minute\"}],staticClass:\"form-input\",staticStyle:{\"width\":\"15%\",\"display\":\"inline\"},attrs:{\"type\":\"number\",\"name\":\"minute\",\"id\":\"minute\",\"placeholder\":\"mm\",\"min\":\"0\",\"max\":\"60\",\"required\":\"\"},domProps:{\"value\":(_vm.data.minute)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.data, \"minute\", $event.target.value)}}}),_c('strong',[_vm._v(\" : \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.data.second),expression:\"data.second\"}],staticClass:\"form-input\",staticStyle:{\"width\":\"15%\",\"display\":\"inline\"},attrs:{\"type\":\"number\",\"name\":\"second\",\"id\":\"second\",\"placeholder\":\"ss\",\"min\":\"0\",\"max\":\"60\",\"required\":\"\"},domProps:{\"value\":(_vm.data.second)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.data, \"second\", $event.target.value)}}})])])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.data.isRandom),expression:\"data.isRandom\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isRandom\"},domProps:{\"checked\":Array.isArray(_vm.data.isRandom)?_vm._i(_vm.data.isRandom,null)>-1:(_vm.data.isRandom)},on:{\"change\":function($event){var $$a=_vm.data.isRandom,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.data, \"isRandom\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.data, \"isRandom\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.data, \"isRandom\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isRandom\"}},[_vm._v(\"Randomized Question Order \")])])])])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"start-date\"}},[_vm._v(\"start date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.availableFrom),expression:\"availableFrom\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select start date\",\"type\":\"date\",\"name\":\"availableFrom\",\"id\":\"availableFrom\"},domProps:{\"value\":(_vm.availableFrom)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.availableFrom=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"end-date\"}},[_vm._v(\"end date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.availableTo),expression:\"availableTo\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select end date\",\"type\":\"date\",\"name\":\"availableTo\",\"id\":\"availableTo\"},domProps:{\"value\":(_vm.availableTo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.availableTo=$event.target.value}}})])])]),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":!_vm.title ||\n            !_vm.data.passingPercentage ||\n            parseInt(_vm.data.passingPercentage) < 1 ||\n            parseInt(_vm.data.passingPercentage) > 100 ||\n            _vm.loading},on:{\"click\":_vm.createExam}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.stepButtonContent)+\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-modal\n    id=\"edit-content-modal\"\n    @change=\"$emit('updateModalState', false)\"\n    :visible=\"visible\"\n    hide-header\n    centered\n    :dialog-class=\"'animate-modal-dialog '+(isExpanded?'expanded':'shrink')\"\n    content-class=\"edit-content-modal\"\n    size=\"xl\"\n    body-class=\"modal-body\"\n    hide-footer\n    modal-class=\"custom-modal\"\n    no-close-on-backdrop\n  >\n    <div class=\"body-container\">\n     \n      <div class=\"right-close-panel\">\n\t\t\t\t<button @click=\"()=>{ isExpanded=!isExpanded; }\" class=\"close-button expanded-btn mr-3\" role=\"button\">\n\t\t\t\t\t\t\t<i v-if=\"!isExpanded\" class=\"fas fa-expand-alt\"></i>\n\t\t\t\t\t\t\t<i v-if=\"isExpanded\" class=\"fas fa-compress-alt\"></i>\n\t\t\t\t</button>\n        <button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n        <img src=\"@/assets/images/cancel-icon.svg\" />\n      </button>\n\t\t\t</div>\n\t\t\t\n      <h1 class=\"edit-content-title\">\n        {{ isEditMode ? \"Edit\" : \"Create\" }} Quiz\n      </h1>\n      <div :class=\"['info-container']\">\n        <div class=\"inline-group\">\n          \n          <div class=\"col\">\n            <label class=\"main-label\" for=\"title\">Title (required)</label>\n            <input\n              placeholder=\"Type Quiz Title here...\"\n              class=\"form-input\"\n              type=\"search\"\n              name=\"title\"\n              id=\"title\"\n              v-model=\"title\"\n              required\n            />\n          </div>\n        </div>\n        <div>\n          <div class=\"inline-group\">\n            <div class=\"col\">\n              <label class=\"main-label\" for=\"passingPercentage\"\n                >Passing Percentage</label\n              >\n              <div>\n                <input\n                  class=\"form-input\"\n                  style=\"display: inline\"\n                  type=\"number\"\n                  name=\"passingPercentage\"\n                  id=\"passingPercentage\"\n                  placeholder=\"Passing Percentage\"\n                  min=\"1\"\n                  max=\"100\"\n                  v-model=\"data.passingPercentage\"\n                />\n              </div>\n            </div>\n            <div class=\"col\">\n              <label class=\"main-label\" for=\"totalTime\"\n                >Total Time (optional)</label\n              >\n              <div>\n                <input\n                  class=\"form-input\"\n                  style=\"width: 15%; display: inline\"\n                  type=\"number\"\n                  name=\"hour\"\n                  id=\"hour\"\n                  placeholder=\"hh\"\n                  min=\"0\"\n                  max=\"24\"\n                  v-model=\"data.hour\"\n                  required\n                /><strong> : </strong>\n                <input\n                  class=\"form-input\"\n                  style=\"width: 15%; display: inline\"\n                  type=\"number\"\n                  name=\"minute\"\n                  id=\"minute\"\n                  placeholder=\"mm\"\n                  min=\"0\"\n                  max=\"60\"\n                  v-model=\"data.minute\"\n                  required\n                /><strong> : </strong>\n                <input\n                  class=\"form-input\"\n                  style=\"width: 15%; display: inline\"\n                  type=\"number\"\n                  name=\"second\"\n                  id=\"second\"\n                  placeholder=\"ss\"\n                  min=\"0\"\n                  max=\"60\"\n                  v-model=\"data.second\"\n                  required\n                />\n              </div>\n            </div>\n          </div>\n\n          <div class=\"inline-group\">\n            <div class=\"col\">\n              <div class=\"form-check form-switch\">\n                <input\n                  class=\"form-check-input\"\n                  type=\"checkbox\"\n                  role=\"switch\"\n                  id=\"isRandom\"\n                  v-model=\"data.isRandom\"\n                />\n                <label class=\"form-check-label\" for=\"isRandom\"\n                  >Randomized Question Order\n                </label>\n              </div>\n            </div>\n         \n            <!-- <div class=\"col\">\n              <div class=\"form-check form-switch\">\n                <input\n                  class=\"form-check-input\"\n                  type=\"checkbox\"\n                  role=\"switch\"\n                  id=\"markCompleteOnPass\"\n                  v-model=\"data.markCompleteOnPass\"\n                />\n                <label class=\"form-check-label\" for=\"markCompleteOnPass\"\n                  >Mark Complete On Pass\n                </label>\n              </div>\n            </div> -->\n          </div>\n        </div>\n\n        <div class=\"inline-group\">\n          <div class=\"col\">\n            <label for=\"start-date\" class=\"main-label m-0\"\n              >start date (optional)</label\n            >\n            <input\n              placeholder=\"Select start date\"\n              class=\"form-input\"\n              type=\"date\"\n              name=\"availableFrom\"\n              id=\"availableFrom\"\n              v-model=\"availableFrom\"\n            />\n          </div>\n          <div class=\"col\">\n            <label for=\"end-date\" class=\"main-label m-0\"\n              >end date (optional)</label\n            >\n            <input\n              placeholder=\"Select end date\"\n              class=\"form-input\"\n              type=\"date\"\n              name=\"availableTo\"\n              id=\"availableTo\"\n              v-model=\"availableTo\"\n            />\n          </div>\n        </div>\n      </div>\n      <div class=\"step-btn-container\">\n        <button\n          @click=\"createExam\"\n          role=\"button\"\n          class=\"step-btn\"\n          :disabled=\"\n            !title ||\n            !data.passingPercentage ||\n            parseInt(data.passingPercentage) < 1 ||\n            parseInt(data.passingPercentage) > 100 ||\n            loading\n          \"\n        >\n          <b-spinner v-if=\"loading\" small></b-spinner>\n          {{ stepButtonContent }}\n          <img src=\"@/assets/images/arrow-right.svg\" />\n        </button>\n      </div>\n    </div>\n  </b-modal>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\n\nexport default {\n  name: \"CreateEditQuizModal\",\n  data() {\n    return {\n      isExpanded: false,\n      title: null,\n      availableFrom: null,\n      availableTo: null,\n      data: {\n        hour: null,\n        minute: null,\n        second: null,\n        isRandom: true,\n        passingPercentage: null,\n      },\n    };\n  },\n  computed: {\n    ...mapState(\"exam\", [\"loading\"]),\n    ...mapState(\"user\", [\"user\"]),\n    visible() {\n      return this.showModal;\n    },\n    stepButtonContent() {\n      return this.isEditMode ? \"Save\" : \"Create\";\n    },\n    isEditMode() {\n      return this.mode == \"edit\";\n    },\n  },\n  watch: {\n    visible: function () {\n      if (this.mode == \"edit\" && this.visible) {\n        this.title = this.contentData.title;\n        if (this.contentData.availableFrom) {\n          this.availableFrom = new Date(this.contentData.availableFrom)\n            .toISOString()\n            .split(\"T\")[0];\n        }\n        if (this.contentData.availableTo) {\n          this.availableTo = new Date(this.contentData.availableTo)\n            .toISOString()\n            .split(\"T\")[0];\n        }\n        var prop = JSON.parse(this.contentData.extraProperties);\n        \n        if (prop.PassingPercentage)\n        \tthis.data.passingPercentage = prop.PassingPercentage;\n\n        if (prop.RandomQuestion != null || prop.RandomQuestion != undefined)\n        \tthis.data.isRandom = prop.RandomQuestion;\n\n        if (prop.HaveTimeLimit) {\n            this.data.hour = Math.floor(prop.Time / 3600);\n            this.data.minute = Math.floor((prop.Time % 3600) / 60);\n            this.data.second = prop.Time % 60;\n        }\n        if(prop.MarkCompleteOnPass)\n        {\n          this.data.markCompleteOnPass=prop.MarkCompleteOnPass;\n        }\n      }\n    },\n  },\n  props: {\n    showModal: Boolean,\n    contentData: { default: null, type: Object },\n    parentContentId: String,\n    productVariantId: String,\n    mode: String,\n  },\n  methods: {\n    ...mapActions(\"content\", [\"getContentById\", \"updateContent\"]),\n    ...mapActions(\"exam\", [\"createQuiz\", \"updateExam\"]),\n    closeModal() {\n      Object.assign(this.$data, this.$options.data.call(this));\n      this.$emit(\"updateModalState\", false);\n    },\n    createExam() {\n      var data = {};\n\n      const totalSeconds =\n        (this.data.hour ? parseInt(this.data.hour) * 3600 : 0) +\n        (this.data.minute ? parseInt(this.data.minute) * 60 : 0) +\n        (this.data.second ? parseInt(this.data.second) : 0);\n\n      data = {\n        randomizeQuestion: this.data.isRandom.toString() + \"\",\n        passingPercentage: this.data.passingPercentage.toString(),\n        markCompleteOnPass: (this.data.markCompleteOnPass??false).toString() + \"\"\n      };\n\n      if (totalSeconds && totalSeconds > 0) {\n        data.time = totalSeconds.toString();\n      }\n      else {\n        data.HaveTimeLimit = \"false\";\n      }\n\n      var createExamObj = {\n        id: this.contentData?.id ?? null,\n        title: this.title,\n        data: data,\n        availableFrom: this.availableFrom ? this.availableFrom : null,\n        availableTo: this.availableTo ? this.availableTo : null,\n        isAvailableForDemo: false,\n        parentDirectoryID: this.parentContentId,\n        type: \"quiz\",\n      };\n\n      if (this.isEditMode) {\n        this.updateContent(createExamObj).then((res) => {\n          if (res) {\n            this.getContentById({ id: this.contentData.id });\n            this.closeModal();\n            this.$toasted.success(\"Quiz updated successfully\", {\n              theme: \"outline\",\n              position: \"bottom-center\",\n              duration: 3000,\n            });\n          }\n        });\n      } else {\n        this.createQuiz(createExamObj)\n          .then((res) => {\n            if (res) {\n              this.closeModal();\n              this.$toasted.success(\"Quiz created successfully\", {\n                theme: \"outline\",\n                position: \"bottom-center\",\n                duration: 3000,\n              });\n            }\n          })\n          .catch((err) => {\n            this.$toasted.error(err.message, {\n              icon: \"exclamation-triangle\",\n              theme: \"outline\",\n              position: \"bottom-right\",\n              singleton: true,\n            });\n          });\n      }\n    },\n  },\n};\n</script>\n<style>\n\n.edit-content-modal \n{\n  height: 45.375rem;\n  /* width: 70vw; */\n}\n.edit-content-modal  .modal-body.modal-body\n{\n\tdisplay: flex;\n    flex-direction: row;\n    padding: 0 !important;\n\toverflow: auto;\n}\n.edit-content-modal  .modal-body.modal-body .body-container\n{\n\t\n    padding: 2.5rem;\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n    position: relative;\n\n}\n\n\n#edit-content-modal .expanded\n{\n\tmax-width: 96%;\n\tmax-height: 96%;\n\n}\n\n#edit-content-modal .expanded .edit-content-modal\n{\n\theight: 90vh;\n\t\n}\n\n\n.import-btn-container {\n  float: right;\n}\n\n.import-btn-container .step-btn {\n  width: 150px;\n}\n</style>\n<style scoped>\n\t.right-close-panel\n\t{\n\t\tposition: absolute;\n    \ttop: 2.5rem;\n    \tright: 2rem;\n\t\tdisplay: flex;\n\t}\n\n\t.right-close-panel .close-button\n\t{\n\t\tposition: initial;\n\t}\n\t\n\t.expanded-btn{\n\t\tcolor: black;\n\t    font-size: 24px;\n\t    margin-right: 15px;\n\t\tpadding-top: 4px;\n\t}\n\n\n\n.edit-content-modal .edit-content-title {\n  font-weight: 450;\n  font-size: 2rem;\n  line-height: 0.75;\n  margin: 0.5rem 0 2rem;\n  color: #000000;\n}\n\n.all-trainers-list {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n}\n\n.trainer-list-container {\n  margin-top: 1.5rem;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateEditQuizModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateEditQuizModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreateEditQuizModal.vue?vue&type=template&id=33e0c8cc&scoped=true&\"\nimport script from \"./CreateEditQuizModal.vue?vue&type=script&lang=js&\"\nexport * from \"./CreateEditQuizModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CreateEditQuizModal.vue?vue&type=style&index=0&id=33e0c8cc&prod&lang=css&\"\nimport style1 from \"./CreateEditQuizModal.vue?vue&type=style&index=1&id=33e0c8cc&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"33e0c8cc\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"course-feedback-container\"},[(_vm.feedbacks!=null)?_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"col-lg-8 col-sm-12 feedback-div\"},[_vm._m(0),(_vm.feedbacks.length>0)?_c('div',_vm._l((_vm.feedbacks),function(feedback){return _c('div',{staticClass:\"feedback-box\"},[_c('a',{staticClass:\"right-menu-icon delete feedback-delete\",attrs:{\"title\":\"Delete FeedBack\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.showDeleteConfirmPopup(feedback)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})]),_c('star-rating',{attrs:{\"rating\":feedback.ratingPoint,\"star-size\":20,\"active-color\":\"#FFBF00\",\"increment\":0.1,\"read-only\":true,\"show-rating\":false}}),_c('p',{staticClass:\"feedback-text\"},[_vm._v(\" \"+_vm._s(feedback.review))]),_c('p',{staticClass:\"feedback-text-user\"},[_vm._v(\"- \"+_vm._s(feedback.user.firstName)+\" \"+_vm._s(feedback.user.lastName))])],1)}),0):_c('div',[_vm._m(1)])])]):_c('div',[_c('h5',[_c('center',[_vm._v(\"Loading....\")])],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex justify-content-between\"},[_c('h2',[_vm._v(\"Students Feedback\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h5',[_c('small',[_vm._v(\"No feedback found\")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"course-feedback-container\">\n\t\t<div class=\"container\" v-if=\"feedbacks!=null\">\n\t\t\t<div class=\"col-lg-8 col-sm-12 feedback-div\">\n\t\t\t\t<div class=\"d-flex justify-content-between\">\n\t\t\t\t\t<h2>Students Feedback</h2>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"feedbacks.length>0\">\n\t\t\t\t\t<div class=\"feedback-box\" v-for=\"feedback in feedbacks\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\ttitle=\"Delete FeedBack\"\n\t\t\t\t\t\t\t@click=\"showDeleteConfirmPopup(feedback)\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"right-menu-icon delete feedback-delete\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<star-rating  v-bind:rating=\"feedback.ratingPoint\" v-bind:star-size=\"20\" active-color=\"#FFBF00\" v-bind:increment=\"0.1\" v-bind:read-only=\"true\" v-bind:show-rating=\"false\" ></star-rating>\n\t\t\t\t\t\t<p class=\"feedback-text\"> {{ feedback.review }}</p>\n\t\t\t\t\t\t<p class=\"feedback-text-user\">- {{ feedback.user.firstName }} {{ feedback.user.lastName }}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\t\t\t\t\n\t\t\t\t<div v-else>\n\t\t\t\t\t<h5><small>No feedback found</small></h5>\n\t\t\t\t</div>\n\t\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-else>\n\t\t\t<h5><center>Loading....</center></h5>\n\t\t</div>\n\t\n\t</div>\n</template>\n\n<script>\nimport ProductFeedbackCard from '../../Product/ProductFeedbackCard.vue';\nimport { mapActions, mapState } from \"vuex\";\nimport StarRating from \"vue-star-rating\"\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tfeedbackId:null,\n\t\t\tfeedbacks:null\n\t\t};\n\t},\n\tcomponents:{\t\t\n\t\tStarRating\n\t},\n\tprops: { productVariantData: Object },\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"fetchRatingByProductVariant\",\"deleteStudentFeedback\"]),\n\t\tnext(){\n\t\t\tthis.mainFeedbackIndex++;\n\t\t\t\n\t\t\tif(this.mainFeedbackIndex>(this.feedbacks.length-1))\n\t\t\t{\n\t\t\t\tthis.mainFeedbackIndex=0;\n\t\t\t}\n\t\t},\n\t\tprevious(){\n\t\t\tthis.mainFeedbackIndex--;\n\t\t\tif(this.mainFeedbackIndex<0)\n\t\t\t{\n\t\t\t\tthis.mainFeedbackIndex=this.feedbacks.length-1;\n\t\t\t}\n\t\t},\n\t\tshowDeleteConfirmPopup(feedback) {\n\t\t\tthis.feedbackId = feedback.id; \n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to delete this feedback?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.deleteStudentsFeedback();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t});\n\t\t},\n\n\t\tdeleteStudentsFeedback() {\n\t\t\tthis.deleteStudentFeedback(this.feedbackId).then(() => {\n\t\t\t\tthis.$toasted.success(`Feedback deleted successfully!`, {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tvar id = this.productVariantData.id + \"\";\n\t\t\t\tthis.fetchRatingByProductVariant(id).then((val) => {\n\t\t\t\t\tthis.feedbacks = val;\n\t\t\t\t});\n\t\t\t});\n\t\t\t\n\t\t}\n\n\t},\n\tcomputed: {\n\t\t\n\t},\n\tcreated() {\n\t\tvar id=this.productVariantData.id+\"\";\n\t\t\tthis.fetchRatingByProductVariant(id).then((val)=>{\n\t\t\t\tthis.feedbacks=val;\n\t\t\t});\n\t},\n\twatch: {\n\t\tproductVariantData: function () {\n\t\t\tvar id=this.productVariantData.id+\"\";\n\t\t\tthis.fetchRatingByProductVariant(id).then((val)=>{\n\t\t\t\tthis.feedbacks=val;\n\t\t\t});\n\t\t},\n\t},\n\n};\n</script>\n\n<style scoped>\n.course-feedback-container {\n\tbackground-color: #f5f5f5;\n\theight: calc(100vh - 5rem);\n\tpadding: 2rem 1.5rem 0;\n\toverflow-y: auto;\n}\n.feedback-text{\n\tcolor: rgb(153, 153,153);\n\tfont-size: larger;\n\tmargin-top: 20px;\n}\n.feedback-div{\n\tpadding: 0px;\n\tpadding-right: 30px;\n}\n.feedback-arrow{\n\tfont-size: 2rem;\n    width: 2.5rem;\n    height: 2.5rem;\n    line-height: 1;\n    align-items: center;\n    justify-content: center;\n    display: flex;\n    border-radius: 50%;\n    border: 2px solid var(--secondary-color);\n    background-color: #ffffff;\n    box-shadow: 3px 3px 6px #00000029;\n    color: var(--secondary-color);\n    text-decoration: none;\n\tmargin-left: 10px;\n}\n.feedback-text-user{\n\tcolor: black;\t\n\tfont-size: larger;\n\tfont-weight: bold;\n\tmargin-top: 20px;\n\tmargin: 0px;\n\tpadding: 0px;\n}\n.feedback-box{\n\tmargin-top: 10px;\n\tmargin-bottom: 5px;\n\tpadding: 20px 1.875rem;\n    border: 1px solid #a7a9ac;\n    border-radius: 8px;\n\tbackground: #ffffff;\n}\n.feedback-delete{\n\tposition: absolute;\n\tright: 65px\t;\n}\n.right-menu-icon {\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n\tcolor: #000000;\n\ttext-decoration: none;\n}\n.right-menu-icon img {\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseFeedback.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseFeedback.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourseFeedback.vue?vue&type=template&id=72025ac5&scoped=true&\"\nimport script from \"./CourseFeedback.vue?vue&type=script&lang=js&\"\nexport * from \"./CourseFeedback.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CourseFeedback.vue?vue&type=style&index=0&id=72025ac5&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"72025ac5\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"d-flex\"},[(_vm.arePaymentsAdded)?_c('td',{class:['col-1', { shrink: _vm.arePaymentsAdded }]},[_c('input',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"type\":\"checkbox\",\"name\":\"select_1\",\"id\":_vm.invoiceDetail.id,\"disabled\":_vm.disableDetailItem,\"title\":_vm.disableDetailItem && _vm.mode == 'pay'\n\t\t\t\t\t? 'Already Paid!'\n\t\t\t\t\t: _vm.disableDetailItem && _vm.mode == 'refund'\n\t\t\t\t\t? 'No amount to refund!'\n\t\t\t\t\t: ''},domProps:{\"checked\":_vm.isChecked(_vm.invoiceDetail.id)},on:{\"click\":_vm.toggleInvoiceSelect}})]):_vm._e(),_c('td',{class:['col-1', { shrink: _vm.arePaymentsAdded || _vm.mode == 'edit' }]},[_vm._v(\" \"+_vm._s(_vm.invoiceDetail.id)+\" \")]),_c('td',{staticClass:\"col\"},[_vm._v(_vm._s(_vm.invoicedProductVariant))]),(_vm.mode == 'view')?_c('td',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.invoiceDetail.planName)+\" \"+_vm._s(_vm.invoiceDetail.planDetailTitle != _vm.invoiceDetail.planName ? \" (\" + _vm.invoiceDetail.planDetailTitle + \")\" : \"\")+\" \")]):_vm._e(),_c('td',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.currencyParser(_vm.invoiceDetail.amount, _vm.currency))+\" \")]),_c('td',{staticClass:\"col\"},[(_vm.mode == 'edit')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dueDate),expression:\"dueDate\"}],class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter due date\",\"type\":\"date\",\"id\":\"dueDate\",\"disabled\":_vm.isDisabled(_vm.invoiceDetail.id)},domProps:{\"value\":(_vm.dueDate)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.dueDate=$event.target.value}}}):_c('span',[_vm._v(\" \"+_vm._s(_vm.dateParser(_vm.invoiceDetail.dueDate))+\" \")])]),(_vm.arePaymentsAdded)?_c('td',{staticClass:\"col\"},[_c('input',{class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter amount\",\"type\":\"search\",\"id\":\"outstanding_amount\",\"disabled\":\"\"},domProps:{\"value\":_vm.outstandingAmount}})]):_vm._e(),(_vm.mode != 'edit')?_c('td',{staticClass:\"col\"},[(_vm.arePaymentsAdded)?_c('input',{class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter amount\",\"type\":\"number\",\"id\":\"paid_amount\",\"disabled\":\"\"},domProps:{\"value\":_vm.paidAmount}}):_c('span',[_vm._v(_vm._s(_vm.currencyParser(_vm.invoiceDetail.paidAmount, _vm.currency)))])]):_vm._e(),_c('td',{staticClass:\"col\"},[(_vm.mode == 'edit' || _vm.mode == 'pay')?_c('div',{staticClass:\"d-flex\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.discountAmount),expression:\"discountAmount\"}],class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter amount\",\"type\":\"number\",\"id\":\"discount\",\"disabled\":_vm.isDisabled(_vm.invoiceDetail.id)},domProps:{\"value\":(_vm.discountAmount)},on:{\"change\":_vm.validateAmount,\"input\":function($event){if($event.target.composing){ return; }_vm.discountAmount=$event.target.value}}}),_c('v-select',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"form-input col\",attrs:{\"title\":_vm.discountType + \" (Click to change)\",\"placeholder\":\"Select discount type\",\"name\":\"discountType\",\"id\":\"discountType\",\"options\":_vm.discountTypes,\"autoscroll\":true,\"disabled\":_vm.isDisabled(_vm.invoiceDetail.id),\"reduce\":function (option) { return option.value; },\"clearable\":false},model:{value:(_vm.discountType),callback:function ($$v) {_vm.discountType=$$v},expression:\"discountType\"}})],1):_c('span',[_vm._v(\" \"+_vm._s(_vm.invoiceDetail.discount ? _vm.invoiceDetail.discountType.toLowerCase() == \"amount\" ? _vm.currencyParser(_vm.invoiceDetail.discount, _vm.currency) : _vm.discountAmount + \"%\" : \"-\")+\" \")])]),(!_vm.arePaymentsAdded && _vm.mode != 'edit')?_c('td',{staticClass:\"col\"},[_c('div',{class:[\n\t\t\t\t'status-tag',\n\t\t\t\t{\n\t\t\t\t\tsuccess: _vm.invoiceDetail.status == _vm.InvoiceStatus.PAID,\n\t\t\t\t\tdanger:\n\t\t\t\t\t\t_vm.invoiceDetail.status == _vm.InvoiceStatus.UNPAID ||\n\t\t\t\t\t\t_vm.invoiceDetail.status == _vm.InvoiceStatus.OVER_PAID,\n\t\t\t\t\twarning: _vm.invoiceDetail.status == _vm.InvoiceStatus.PARTIALLY_PAID,\n\t\t\t\t} ]},[_vm._v(\" \"+_vm._s(_vm.invoiceDetail.status)+\" \")])]):_vm._e(),(_vm.arePaymentsAdded)?_c('td',{staticClass:\"col\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentAmount),expression:\"paymentAmount\"}],class:['form-input', { 'text-danger': _vm.error }],attrs:{\"placeholder\":\"Enter amount (required)\",\"type\":\"number\",\"id\":\"payment_amount\",\"disabled\":_vm.isDisabled(_vm.invoiceDetail.id)},domProps:{\"value\":(_vm.paymentAmount)},on:{\"keydown\":_vm.handleNumberInput,\"input\":function($event){if($event.target.composing){ return; }_vm.paymentAmount=$event.target.value}}})]):_vm._e(),_c('td',[(!_vm.isAnyPaymentAddedForCurrentInvoiceDetail)?_c('img',{staticClass:\"add-btn-icon cursor-pointer\",attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")},on:{\"click\":_vm.removeInvoiceDetail}}):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<tr class=\"d-flex\">\n\t\t<td\n\t\t\tv-if=\"arePaymentsAdded\"\n\t\t\t:class=\"['col-1', { shrink: arePaymentsAdded }]\"\n\t\t>\n\t\t\t<input\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tname=\"select_1\"\n\t\t\t\t:id=\"invoiceDetail.id\"\n\t\t\t\t@click=\"toggleInvoiceSelect\"\n\t\t\t\t:checked=\"isChecked(invoiceDetail.id)\"\n\t\t\t\t:disabled=\"disableDetailItem\"\n\t\t\t\t:title=\"\n\t\t\t\t\tdisableDetailItem && mode == 'pay'\n\t\t\t\t\t\t? 'Already Paid!'\n\t\t\t\t\t\t: disableDetailItem && mode == 'refund'\n\t\t\t\t\t\t? 'No amount to refund!'\n\t\t\t\t\t\t: ''\n\t\t\t\t\"\n\t\t\t\tv-b-tooltip.hover\n\t\t\t/>\n\t\t</td>\n\t\t<td :class=\"['col-1', { shrink: arePaymentsAdded || mode == 'edit' }]\">\n\t\t\t{{ invoiceDetail.id }}\n\t\t</td>\n\t\t<td class=\"col\">{{ invoicedProductVariant }}</td>\n\t\t<td class=\"col\" v-if=\"mode == 'view'\">\n\t\t\t{{ invoiceDetail.planName }}\n\t\t\t{{\n\t\t\t\tinvoiceDetail.planDetailTitle != invoiceDetail.planName\n\t\t\t\t\t? \" (\" + invoiceDetail.planDetailTitle + \")\"\n\t\t\t\t\t: \"\"\n\t\t\t}}\n\t\t</td>\n\t\t<!-- <td class=\"col\">{{ dateParser(invoiceDetail.dueDate) }}</td> -->\n\t\t<td class=\"col\">\n\t\t\t{{ currencyParser(invoiceDetail.amount, currency) }}\n\t\t</td>\n\t\t<td class=\"col\">\n\t\t\t<input\n\t\t\t\tv-if=\"mode == 'edit'\"\n\t\t\t\tplaceholder=\"Enter due date\"\n\t\t\t\ttype=\"date\"\n\t\t\t\tid=\"dueDate\"\n\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\t:disabled=\"isDisabled(invoiceDetail.id)\"\n\t\t\t\tv-model=\"dueDate\"\n\t\t\t/>\n\t\t\t<span v-else>\n\t\t\t\t{{ dateParser(invoiceDetail.dueDate) }}\n\t\t\t</span>\n\t\t</td>\n\t\t<td class=\"col\" v-if=\"arePaymentsAdded\">\n\t\t\t<input\n\t\t\t\tplaceholder=\"Enter amount\"\n\t\t\t\ttype=\"search\"\n\t\t\t\tid=\"outstanding_amount\"\n\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\tdisabled\n\t\t\t\t:value=\"outstandingAmount\"\n\t\t\t/>\n\t\t</td>\n\t\t<td class=\"col\" v-if=\"mode != 'edit'\">\n\t\t\t<input\n\t\t\t\tv-if=\"arePaymentsAdded\"\n\t\t\t\tplaceholder=\"Enter amount\"\n\t\t\t\ttype=\"number\"\n\t\t\t\tid=\"paid_amount\"\n\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\tdisabled\n\t\t\t\t:value=\"paidAmount\"\n\t\t\t/>\n\t\t\t<span v-else>{{\n\t\t\t\tcurrencyParser(invoiceDetail.paidAmount, currency)\n\t\t\t}}</span>\n\t\t</td>\n\t\t<td class=\"col\">\n\t\t\t<div v-if=\"mode == 'edit' || mode == 'pay'\" class=\"d-flex\">\n\t\t\t\t<input\n\t\t\t\t\tplaceholder=\"Enter amount\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tid=\"discount\"\n\t\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\t\t:disabled=\"isDisabled(invoiceDetail.id)\"\n\t\t\t\t\tv-model=\"discountAmount\"\n\t\t\t\t\t@change=\"validateAmount\"\n\t\t\t\t/>\n\t\t\t\t<v-select\n\t\t\t\t\t:title=\"discountType + ` (Click to change)`\"\n\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\tclass=\"form-input col\"\n\t\t\t\t\tplaceholder=\"Select discount type\"\n\t\t\t\t\tv-model=\"discountType\"\n\t\t\t\t\tname=\"discountType\"\n\t\t\t\t\tid=\"discountType\"\n\t\t\t\t\t:options=\"discountTypes\"\n\t\t\t\t\t:autoscroll=\"true\"\n\t\t\t\t\t:disabled=\"isDisabled(invoiceDetail.id)\"\n\t\t\t\t\t:reduce=\"(option) => option.value\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t></v-select>\n\t\t\t</div>\n\t\t\t<span v-else>\n\t\t\t\t{{\n\t\t\t\t\tinvoiceDetail.discount\n\t\t\t\t\t\t? invoiceDetail.discountType.toLowerCase() == \"amount\"\n\t\t\t\t\t\t\t? currencyParser(invoiceDetail.discount, currency)\n\t\t\t\t\t\t\t: discountAmount + \"%\"\n\t\t\t\t\t\t: \"-\"\n\t\t\t\t}}\n\t\t\t</span>\n\t\t</td>\n\t\t<!-- <td class=\"col\" v-if=\"mode == 'edit' || mode == 'pay'\">\n\t\t\t<v-select\n\t\t\t\tclass=\"form-input\"\n\t\t\t\tplaceholder=\"Select discount type\"\n\t\t\t\tv-model=\"discountType\"\n\t\t\t\tname=\"discountType\"\n\t\t\t\tid=\"discountType\"\n\t\t\t\t:options=\"discountTypes\"\n\t\t\t\t:autoscroll=\"true\"\n\t\t\t\t:disabled=\"isDisabled(invoiceDetail.id)\"\n\t\t\t\t:reduce=\"(option) => option.value\"\n\t\t\t></v-select>\n\t\t</td> -->\n\t\t<td v-if=\"!arePaymentsAdded && mode != 'edit'\" class=\"col\">\n\t\t\t<div\n\t\t\t\t:class=\"[\n\t\t\t\t\t'status-tag',\n\t\t\t\t\t{\n\t\t\t\t\t\tsuccess: invoiceDetail.status == InvoiceStatus.PAID,\n\t\t\t\t\t\tdanger:\n\t\t\t\t\t\t\tinvoiceDetail.status == InvoiceStatus.UNPAID ||\n\t\t\t\t\t\t\tinvoiceDetail.status == InvoiceStatus.OVER_PAID,\n\t\t\t\t\t\twarning: invoiceDetail.status == InvoiceStatus.PARTIALLY_PAID,\n\t\t\t\t\t},\n\t\t\t\t]\"\n\t\t\t>\n\t\t\t\t{{ invoiceDetail.status }}\n\t\t\t</div>\n\t\t</td>\n\t\t<td class=\"col\" v-if=\"arePaymentsAdded\">\n\t\t\t<input\n\t\t\t\tplaceholder=\"Enter amount (required)\"\n\t\t\t\ttype=\"number\"\n\t\t\t\tid=\"payment_amount\"\n\t\t\t\t:class=\"['form-input', { 'text-danger': error }]\"\n\t\t\t\t:disabled=\"isDisabled(invoiceDetail.id)\"\n\t\t\t\tv-model=\"paymentAmount\"\n\t\t\t\t@keydown=\"handleNumberInput\"\n\t\t\t/>\n\t\t</td>\n\t\t<td><img v-if=\"!isAnyPaymentAddedForCurrentInvoiceDetail\" src=\"@/assets/images/delete-icon.svg\" class=\"add-btn-icon cursor-pointer\" @click=\"removeInvoiceDetail\"></td>\n\t</tr>\n</template>\n\n<script>\nimport formatter from \"./../../../helpers/FormatHelpers\";\nimport { mapActions, mapState } from \"vuex\";\nimport { createPopper } from \"@popperjs/core\";\nimport { InvoiceStatus } from \"../../../constants/pricing\";\nexport default {\n\tname: \"InvoiceDetailItem\",\n\tdata() {\n\t\treturn {\n\t\t\tpaymentAmount: null,\n\t\t\tpaidAmount: 0,\n\t\t\tdiscountAmount: 0,\n\t\t\tdiscountType: \"Amount\",\n\t\t\tdiscountTypes: [\n\t\t\t\t{ value: \"Amount\", label: \"💵\" },\n\t\t\t\t{ value: \"Percentage\", label: \"%\" },\n\t\t\t],\n\t\t\tdueDate: null,\n\t\t\tInvoiceStatus,\n\t\t};\n\t},\n\tprops: {\n\t\tinvoiceDetail: Object,\n\t\tselectedDetails: Array,\n\t\tarePaymentsAdded: Boolean,\n\t\tcurrency: String,\n\t\tmode: String,\n\t\terror: Boolean,\n\t\tinvoiceId: Number,\n\t\tuserId: String\n\t},\n\tcomputed: {\n\t\t...mapState(\"pricing\", [\"paymentsByUserId\"]),\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\t\toutstandingAmount() {\n\t\t\tvar balance;\n\t\t\tif (this.mode == \"pay\")\n\t\t\t\tbalance =\n\t\t\t\t\tthis.invoiceDetail.amount -\n\t\t\t\t\tthis.discountRawValue -\n\t\t\t\t\tthis.paidAmount -\n\t\t\t\t\t(this.paymentAmount ? parseInt(this.paymentAmount) : 0);\n\t\t\telse if (this.mode == \"refund\")\n\t\t\t\tbalance =\n\t\t\t\t\tthis.invoiceDetail.amount -\n\t\t\t\t\tthis.discountRawValue -\n\t\t\t\t\tthis.paidAmount +\n\t\t\t\t\t(this.paymentAmount ? parseInt(this.paymentAmount) : 0);\n\t\t\telse balance = 0;\n\t\t\treturn balance >= 0 && balance <= this.invoiceDetail.amount\n\t\t\t\t? balance\n\t\t\t\t: \"Invalid amount\";\n\t\t},\n\t\tisError() {\n\t\t\treturn this.outstandingAmount == \"Invalid amount\";\n\t\t},\n\t\tinvoicedProductVariant() {\n\t\t\tif(this.productVariants.items) {\n\t\t\t\treturn (\n\t\t\t\t\tthis.productVariants.items[this.invoiceDetail.productSourceID].product\n\t\t\t\t\t\t.title +\n\t\t\t\t\t\" \" +\n\t\t\t\t\tthis.productVariants.items[this.invoiceDetail.productSourceID].title\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tdisableDetailItem() {\n\t\t\tif (this.mode == \"pay\")\n\t\t\t\treturn this.invoiceDetail.paidAmount == this.invoiceDetail.amount;\n\t\t\telse if (this.mode == \"refund\") return this.invoiceDetail.paidAmount == 0;\n\t\t},\n\t\tdiscountRawValue() {\n\t\t\tif (\n\t\t\t\tthis.invoiceDetail.discountType &&\n\t\t\t\tthis.invoiceDetail.discountType.toLowerCase() == \"amount\"\n\t\t\t)\n\t\t\t\treturn this.discountAmount;\n\t\t\telse if (\n\t\t\t\tthis.invoiceDetail.discountType &&\n\t\t\t\tthis.invoiceDetail.discountType.toLowerCase() == \"percentage\"\n\t\t\t)\n\t\t\t\treturn this.discountAmount * 0.01 * this.invoiceDetail.amount;\n\t\t\telse return 0;\n\t\t},\n\t\tisAnyPaymentAddedForCurrentInvoiceDetail() {\t\t\t\n\t\t\treturn this.invoiceDetail.status != InvoiceStatus.UNPAID;\n\t\t}\n\t},\n\tmethods: {\n\t\t...mapActions(\"pricing\", [\"fetchPaymentsByUserId\", \"deleteInvoiceDetail\"]),\n\t\ttoggleInvoiceSelect() {\n\t\t\tthis.$emit(\"toggleSelect\", this.invoiceDetail);\n\t\t},\n\t\tisChecked(id) {\n\t\t\tvar found = this.selectedDetails.find((invoice) => invoice.id == id);\n\t\t\t// console.log(found);\n\t\t\tif (found) {\n\t\t\t\treturn true;\n\t\t\t} else return false;\n\t\t},\n\t\tcurrencyParser(amount, currency) {\n\t\t\treturn formatter.toCurrencyString(parseInt(amount), currency, 0);\n\t\t},\n\t\tdateParser(date) {\n\t\t\treturn formatter.toShortDateString(date);\n\t\t},\n\t\tisDisabled(id) {\n\t\t\tvar found = this.selectedDetails.find((d) => d.id == id);\n\t\t\treturn !found;\n\t\t},\n\t\thandleNumberInput(e) {\n\t\t\tif (e.keyCode == 189) {\n\t\t\t\t// console.log(\"- pressed\", this.paymentAmount);\n\t\t\t\tthis.paymentAmount = \"\";\n\t\t\t}\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t\tvalidateAmount(e) {\n\t\t\tif (e.target.value < 0) {\n\t\t\t\tthis.$emit(\"updateError\", true, \"Enter valid discount amount\");\n\t\t\t} else {\n\t\t\t\tthis.$emit(\"updateError\", false, \"\");\n\t\t\t}\n\t\t},\n\t\tremoveInvoiceDetail(e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to delete line item?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\n\t\t\t\t\t\tconsole.log({ userId: this.userId, invoiceId: this.invoiceId, invoiceDetailId: this.invoiceDetail.id });\n\n\t\t\t\t\t\tthis.deleteInvoiceDetail({ userId: this.userId, invoiceId: this.invoiceId, invoiceDetailId: this.invoiceDetail.id });\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t}\n\t},\n\tcreated() {\n\t\tif (this.invoiceDetail.discount) {\n\t\t\tthis.discountAmount =\n\t\t\t\tthis.invoiceDetail.discountType.toLowerCase() == \"amount\"\n\t\t\t\t\t? parseFloat(this.invoiceDetail.discount)\n\t\t\t\t\t: parseFloat(this.invoiceDetail.discount) * 100;\n\t\t\tthis.discountType = this.invoiceDetail.discountType;\n\t\t}\n\t\tthis.paidAmount = this.invoiceDetail.paidAmount;\n\t\tthis.dueDate = formatter.getInputDateFormat(\n\t\t\tthis.invoiceDetail.dueDate,\n\t\t\tfalse\n\t\t);\n\t\t// this.discountAmount = this.invoiceDetail.discount;\n\t},\n\twatch: {\n\t\tpaymentAmount: function () {\n\t\t\tif (this.mode != \"pay\" && this.mode != \"refund\") return;\n\t\t\tif (!this.paymentAmount) {\n\t\t\t\tthis.$emit(\n\t\t\t\t\t\"updateError\",\n\t\t\t\t\ttrue,\n\t\t\t\t\t\"Enter current payment and/or discount to pay\"\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (parseInt(this.paymentAmount) < 0) {\n\t\t\t\tthis.$emit(\"updateError\", true, \"Please enter a valid payment amount\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.error) this.$emit(\"updateError\", false, \"\");\n\t\t\tthis.$emit(\"updateAmount\", this.paymentAmount, this.invoiceDetail.id);\n\t\t\tthis.$emit(\"updateError\", this.isError, \"\");\n\t\t},\n\t\tisError: function () {\n\t\t\tthis.$emit(\"updateError\", this.isError, \"\");\n\t\t},\n\t\tdiscountAmount: function () {\n\t\t\tthis.$emit(\n\t\t\t\t\"updateDiscount\",\n\t\t\t\tthis.discountType == \"Amount\"\n\t\t\t\t\t? parseFloat(this.discountAmount)\n\t\t\t\t\t: parseFloat(this.discountAmount) * 0.01,\n\t\t\t\tthis.discountType,\n\t\t\t\tthis.invoiceDetail.id\n\t\t\t);\n\t\t},\n\t\tdiscountType: function () {\n\t\t\tthis.$emit(\n\t\t\t\t\"updateDiscount\",\n\t\t\t\tthis.discountType == \"Amount\"\n\t\t\t\t\t? parseFloat(this.discountAmount)\n\t\t\t\t\t: parseFloat(this.discountAmount) * 0.01,\n\t\t\t\tthis.discountType,\n\t\t\t\tthis.invoiceDetail.id\n\t\t\t);\n\t\t},\n\t\tmode: function () {\n\t\t\tif (this.mode == \"edit\") this.toggleInvoiceSelect();\n\t\t},\n\t\tdueDate: function () {\n\t\t\tthis.$emit(\"updateDueDate\", this.dueDate, this.invoiceDetail.id);\n\t\t},\n\t\tselectedDetails: function () {\n\t\t\tif (this.mode != \"pay\" && this.mode != \"refund\") return;\n\t\t\tif (this.selectedDetails.length > 0 && !this.paymentAmount) {\n\t\t\t\tthis.$emit(\n\t\t\t\t\t\"updateError\",\n\t\t\t\t\ttrue,\n\t\t\t\t\t\"Enter current payment and/or discount to pay\"\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.$emit(\"updateError\", false, \"\");\n\t\t},\n\t},\n};\n</script>\n\n<style>\ntd.shrink {\n\twidth: fit-content !important;\n\tpadding-right: 1rem;\n}\n\n#discountType .vs__actions {\n\tdisplay: none !important;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InvoiceDetailItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InvoiceDetailItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InvoiceDetailItem.vue?vue&type=template&id=ac1ec9f0&\"\nimport script from \"./InvoiceDetailItem.vue?vue&type=script&lang=js&\"\nexport * from \"./InvoiceDetailItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InvoiceDetailItem.vue?vue&type=style&index=0&id=ac1ec9f0&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"invoice-detail-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"invoice-detail-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState')}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('div',{staticClass:\"d-flex justify-content-between align-items-end\"},[_c('div',[(_vm.invoice)?_c('h1',{staticClass:\"add-enroll-title\"},[_vm._v(\" Invoice # \"+_vm._s(_vm.invoice.id)+\" \")]):_vm._e(),(_vm.invoice)?_c('div',{staticClass:\"d-flex align-items-center gap-3 mb-4\"},[_c('div',{class:[\n\t\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsuccess: _vm.invoice.status == _vm.InvoiceStatus.PAID,\n\t\t\t\t\t\t\t\tdanger:\n\t\t\t\t\t\t\t\t\t_vm.invoice.status == _vm.InvoiceStatus.UNPAID ||\n\t\t\t\t\t\t\t\t\t_vm.invoice.status == _vm.InvoiceStatus.OVER_PAID,\n\t\t\t\t\t\t\t\twarning: _vm.invoice.status == _vm.InvoiceStatus.PARTIALLY_PAID,\n\t\t\t\t\t\t\t} ]},[_vm._v(\" \"+_vm._s(_vm.invoice.status)+\" \")]),_c('span',[_vm._v(_vm._s(_vm.user.firstName)+\" \"+_vm._s(_vm.user.lastName))])]):_vm._e()]),_c('div',{staticClass:\"d-flex gap-3\"},[(_vm.invoice && _vm.invoice.status != _vm.InvoiceStatus.PAID)?_c('button',{staticClass:\"add-btn\",attrs:{\"data-bs-toggle\":\"dropdown\",\"disabled\":_vm.mode != 'view'}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\")}}),_vm._v(\" Add payment \")]):_vm._e(),(_vm.externalServicesList['PaymentGateway'])?_c('ul',{staticClass:\"dropdown-menu dropdown-menu-end\"},[_c('li',{staticClass:\"dropdown-item disabled\"},[_vm._v(\"Select Payment Method:\")]),_vm._l((_vm.externalServicesList['PaymentGateway']),function(method){return _c('li',{key:method.serviceCode,staticClass:\"dropdown-item cursor-pointer\",attrs:{\"id\":method.serviceCode},on:{\"click\":function($event){return _vm.addPayment($event)}}},[_vm._v(\" \"+_vm._s(method.serviceName)+\" \")])})],2):_vm._e(),(_vm.invoice && _vm.invoice.status != _vm.InvoiceStatus.UNPAID)?_c('button',{staticClass:\"add-btn\",attrs:{\"data-bs-toggle\":\"dropdown\",\"disabled\":_vm.mode != 'view'}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\")}}),_vm._v(\" Add refund \")]):_vm._e(),(_vm.externalServicesList['PaymentGateway'])?_c('ul',{staticClass:\"dropdown-menu dropdown-menu-end\"},[_c('li',{staticClass:\"dropdown-item disabled\"},[_vm._v(\"Select Payment Method:\")]),_vm._l((_vm.externalServicesList['PaymentGateway']),function(method){return _c('li',{key:method.serviceCode,staticClass:\"dropdown-item cursor-pointer\",attrs:{\"id\":method.serviceCode},on:{\"click\":function($event){return _vm.addRefund($event)}}},[_vm._v(\" \"+_vm._s(method.serviceName)+\" \")])})],2):_vm._e(),_c('button',{staticClass:\"add-btn\",attrs:{\"disabled\":_vm.mode != 'view'},on:{\"click\":function($event){return _vm.changeMode('edit')}}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}}),_vm._v(\" Edit Invoice \")]),_c('button',{staticClass:\"add-btn\",attrs:{\"disabled\":_vm.mode != 'view' ||\n\t\t\t\t\t\t(_vm.invoice && _vm.invoice.status != _vm.InvoiceStatus.UNPAID),\"title\":_vm.invoice && _vm.invoice.status != _vm.InvoiceStatus.UNPAID\n\t\t\t\t\t\t\t? 'Paid invoice cannot be deleted'\n\t\t\t\t\t\t\t: ''},on:{\"click\":function($event){return _vm.showDeleteConfirmPopup($event, _vm.invoice)}}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}}),_vm._v(\" Delete Invoice \")])])]),_c('div',{staticClass:\"inline-group mt-5\"},[(_vm.mode != 'pay')?_c('div',{staticClass:\"form-group col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"invoiceDate\"}},[_vm._v(\"Invoice Date\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.invoiceDate),expression:\"invoiceDate\"}],staticClass:\"form-input\",attrs:{\"type\":\"date\",\"name\":\"invoiceDate\",\"id\":\"invoiceDate\",\"readonly\":true,\"disabled\":_vm.mode == 'edit'},domProps:{\"value\":(_vm.invoiceDate)},on:{\"change\":function($event){_vm.isChanged = true},\"input\":function($event){if($event.target.composing){ return; }_vm.invoiceDate=$event.target.value}}})]):_c('div',{staticClass:\"form-group col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"paymentDate\"}},[_vm._v(\"Payment Date\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentDate),expression:\"paymentDate\"}],staticClass:\"form-input\",attrs:{\"type\":\"date\",\"name\":\"paymentDate\",\"id\":\"paymentDate\",\"disabled\":_vm.mode == 'edit'},domProps:{\"value\":(_vm.paymentDate)},on:{\"change\":function($event){_vm.isChanged = true},\"input\":function($event){if($event.target.composing){ return; }_vm.paymentDate=$event.target.value}}})]),_c('div',{staticClass:\"form-group col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"invoiceDate\"}},[_vm._v(\"Currency\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"placeholder\":\"Select currency\",\"name\":\"currency\",\"id\":\"currency\",\"options\":Object.values(_vm.currencyCodes),\"label\":\"code\",\"reduce\":function (currency) { return currency.code; },\"filterBy\":_vm.currencyFilterBy,\"appendToBody\":true,\"calculate-position\":_vm.withPopper,\"autoscroll\":true,\"disabled\":true},on:{\"input\":function($event){_vm.isChanged = true}},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_c('span'),_vm._v(\" \"+_vm._s(option.code)+\" - \"+_vm._s(option.name)+\" (\"+_vm._s(option.symbol_native)+\") \")]}}]),model:{value:(_vm.currency),callback:function ($$v) {_vm.currency=$$v},expression:\"currency\"}})],1)]),_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"invoice-details\"}},[_vm._v(\" Invoice details \")]),_c('table',{staticClass:\"table table-borderless enrolled-users-table\"},[_c('thead',[_c('tr',{staticClass:\"d-flex\"},[(_vm.mode != 'view' && _vm.mode != 'edit')?_c('th',{class:['col-1', { shrink: _vm.arePaymentsAdded() }]},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_all\",\"id\":\"select_all\"},domProps:{\"checked\":_vm.isSelectedAll()},on:{\"click\":function($event){return _vm.toggleSelectAll()}}})]):_vm._e(),_c('th',{class:[\n\t\t\t\t\t\t\t'col-1',\n\t\t\t\t\t\t\t{ shrink: _vm.arePaymentsAdded() || _vm.mode != 'view' } ]},[_vm._v(\" ID \")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Course Name\")]),(_vm.mode == 'view')?_c('th',{staticClass:\"col\"},[_vm._v(\"Plan\")]):_vm._e(),_c('th',{staticClass:\"col\"},[_vm._v(\"Invoice Amount\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Due Date\")]),(_vm.arePaymentsAdded())?_c('th',{staticClass:\"col\"},[_vm._v(\"Outstanding Amount\")]):_vm._e(),(_vm.mode != 'edit')?_c('th',{staticClass:\"col\"},[_vm._v(\"Previously Paid\")]):_vm._e(),_c('th',{staticClass:\"col\"},[_vm._v(\"Discount\")]),(_vm.mode == 'view')?_c('th',{staticClass:\"col\"},[_vm._v(\"Status\")]):_vm._e(),(_vm.arePaymentsAdded())?_c('th',{staticClass:\"col\"},[_vm._v(\" Current \"+_vm._s(_vm.mode == \"pay\" ? \"Payment\" : \"Refund\")+\" \")]):_vm._e(),_c('th')])]),(_vm.invoice && _vm.invoice.details.length > 0)?_c('tbody',_vm._l((_vm.invoice.details),function(detail){return _c('InvoiceDetailItem',{key:detail.id,attrs:{\"invoiceDetail\":detail,\"selectedDetails\":_vm.selectedDetails,\"arePaymentsAdded\":_vm.arePaymentsAdded(),\"currency\":_vm.invoice.currency,\"mode\":_vm.mode,\"error\":_vm.isError,\"invoiceId\":_vm.invoice.id,\"userId\":_vm.user.id},on:{\"toggleSelect\":_vm.toggleInvoiceSelect,\"updateAmount\":_vm.updatePayment,\"updateDiscount\":_vm.discountUpdate,\"updateError\":_vm.error,\"updateDueDate\":_vm.dueDateUpdate}})}),1):_c('div',{staticClass:\"no-content\"},[_vm._v(\"No Invoices found\")])]),(_vm.isError)?_c('p',{staticClass:\"text-danger\"},[_c('i',{staticClass:\"fas fa-exclamation-circle\"}),(_vm.errorText != '')?_c('span',[_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.mode == \"pay\" ? \"Paid\" : \"Refund\")+\" amount cannot be greater than \"+_vm._s(_vm.mode == \"pay\" ? \"course price\" : \"paid amount\")+\" \")])]):_vm._e(),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"skip-step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_vm._v(\" cancel \")]),_c('button',{staticClass:\"step-btn\",attrs:{\"disabled\":_vm.disableSave(),\"role\":\"button\"},on:{\"click\":function($event){_vm.mode == 'pay' || _vm.mode == 'refund' ? _vm.payInvoice() : _vm.invoiceEdit()}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.mode == \"pay\" ? \"pay\" : _vm.mode == \"refund\" ? \"refund\" : \"save\")+\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\tid=\"invoice-detail-modal\"\n\t\t@change=\"$emit('updateModalState')\"\n\t\t:visible=\"visible\"\n\t\thide-header\n\t\tcentered\n\t\tcontent-class=\"invoice-detail-modal\"\n\t\tsize=\"xl\"\n\t\tbody-class=\"modal-body\"\n\t\thide-footer\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t>\n\t\t<div class=\"body-container\">\n\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<div class=\"d-flex justify-content-between align-items-end\">\n\t\t\t\t<div>\n\t\t\t\t\t<h1 v-if=\"invoice\" class=\"add-enroll-title\">\n\t\t\t\t\t\tInvoice # {{ invoice.id }}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<div v-if=\"invoice\" class=\"d-flex align-items-center gap-3 mb-4\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tsuccess: invoice.status == InvoiceStatus.PAID,\n\t\t\t\t\t\t\t\t\tdanger:\n\t\t\t\t\t\t\t\t\t\tinvoice.status == InvoiceStatus.UNPAID ||\n\t\t\t\t\t\t\t\t\t\tinvoice.status == InvoiceStatus.OVER_PAID,\n\t\t\t\t\t\t\t\t\twarning: invoice.status == InvoiceStatus.PARTIALLY_PAID,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ invoice.status }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span>{{ user.firstName }} {{ user.lastName }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"d-flex gap-3\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"add-btn\"\n\t\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\t\t:disabled=\"mode != 'view'\"\n\t\t\t\t\t\tv-if=\"invoice && invoice.status != InvoiceStatus.PAID\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"add-btn-icon\"\n\t\t\t\t\t\t\tsrc=\"@/assets/images/add-border-icon.svg\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\tAdd payment\n\t\t\t\t\t</button>\n\t\t\t\t\t<ul\n\t\t\t\t\t\tv-if=\"externalServicesList['PaymentGateway']\"\n\t\t\t\t\t\tclass=\"dropdown-menu dropdown-menu-end\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<li class=\"dropdown-item disabled\">Select Payment Method:</li>\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tclass=\"dropdown-item cursor-pointer\"\n\t\t\t\t\t\t\tv-for=\"method in externalServicesList['PaymentGateway']\"\n\t\t\t\t\t\t\t:key=\"method.serviceCode\"\n\t\t\t\t\t\t\t@click=\"addPayment($event)\"\n\t\t\t\t\t\t\t:id=\"method.serviceCode\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ method.serviceName }}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"add-btn\"\n\t\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\t\t:disabled=\"mode != 'view'\"\n\t\t\t\t\t\tv-if=\"invoice && invoice.status != InvoiceStatus.UNPAID\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"add-btn-icon\"\n\t\t\t\t\t\t\tsrc=\"@/assets/images/add-border-icon.svg\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\tAdd refund\n\t\t\t\t\t</button>\n\t\t\t\t\t<ul\n\t\t\t\t\t\tv-if=\"externalServicesList['PaymentGateway']\"\n\t\t\t\t\t\tclass=\"dropdown-menu dropdown-menu-end\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<li class=\"dropdown-item disabled\">Select Payment Method:</li>\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tclass=\"dropdown-item cursor-pointer\"\n\t\t\t\t\t\t\tv-for=\"method in externalServicesList['PaymentGateway']\"\n\t\t\t\t\t\t\t:key=\"method.serviceCode\"\n\t\t\t\t\t\t\t@click=\"addRefund($event)\"\n\t\t\t\t\t\t\t:id=\"method.serviceCode\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ method.serviceName }}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"add-btn\"\n\t\t\t\t\t\t:disabled=\"mode != 'view'\"\n\t\t\t\t\t\t@click=\"changeMode('edit')\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img class=\"add-btn-icon\" src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t\tEdit Invoice\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"add-btn\"\n\t\t\t\t\t\t:disabled=\"\n\t\t\t\t\t\t\tmode != 'view' ||\n\t\t\t\t\t\t\t(invoice && invoice.status != InvoiceStatus.UNPAID)\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t@click=\"showDeleteConfirmPopup($event, invoice)\"\n\t\t\t\t\t\t:title=\"\n\t\t\t\t\t\t\tinvoice && invoice.status != InvoiceStatus.UNPAID\n\t\t\t\t\t\t\t\t? 'Paid invoice cannot be deleted'\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img class=\"add-btn-icon\" src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\tDelete Invoice\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!-- <div>\n\t\t\t\t<label for=\"invoice-details\" class=\"main-label\"> Edit Invoice </label> -->\n\t\t\t<div class=\"inline-group mt-5\">\n\t\t\t\t<div v-if=\"mode != 'pay'\" class=\"form-group col\">\n\t\t\t\t\t<label for=\"invoiceDate\" class=\"main-label\">Invoice Date</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\tname=\"invoiceDate\"\n\t\t\t\t\t\tid=\"invoiceDate\"\n\t\t\t\t\t\tv-model=\"invoiceDate\"\n\t\t\t\t\t\t:readonly=\"true\"\n\t\t\t\t\t\t@change=\"isChanged = true\"\n\t\t\t\t\t\t:disabled=\"mode == 'edit'\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group col\" v-else>\n\t\t\t\t\t<label for=\"paymentDate\" class=\"main-label\">Payment Date</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\tname=\"paymentDate\"\n\t\t\t\t\t\tid=\"paymentDate\"\n\t\t\t\t\t\tv-model=\"paymentDate\"\n\t\t\t\t\t\t@change=\"isChanged = true\"\n\t\t\t\t\t\t:disabled=\"mode == 'edit'\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group col\">\n\t\t\t\t\t<label for=\"invoiceDate\" class=\"main-label\">Currency</label>\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\tplaceholder=\"Select currency\"\n\t\t\t\t\t\tv-model=\"currency\"\n\t\t\t\t\t\tname=\"currency\"\n\t\t\t\t\t\tid=\"currency\"\n\t\t\t\t\t\t:options=\"Object.values(currencyCodes)\"\n\t\t\t\t\t\tlabel=\"code\"\n\t\t\t\t\t\t:reduce=\"(currency) => currency.code\"\n\t\t\t\t\t\t:filterBy=\"currencyFilterBy\"\n\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t:autoscroll=\"true\"\n\t\t\t\t\t\t:disabled=\"true\"\n\t\t\t\t\t\t@input=\"isChanged = true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template v-slot:option=\"option\">\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t{{ option.code }} - {{ option.name }} ({{ option.symbol_native }})\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</v-select>\n\t\t\t\t</div>\n\t\t\t\t<!-- </div> -->\n\t\t\t</div>\n\n\t\t\t<label for=\"invoice-details\" class=\"main-label\"> Invoice details </label>\n\t\t\t<table class=\"table table-borderless enrolled-users-table\">\n\t\t\t\t<thead>\n\t\t\t\t\t<tr class=\"d-flex\">\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tv-if=\"mode != 'view' && mode != 'edit'\"\n\t\t\t\t\t\t\t:class=\"['col-1', { shrink: arePaymentsAdded() }]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tname=\"select_all\"\n\t\t\t\t\t\t\t\tid=\"select_all\"\n\t\t\t\t\t\t\t\t@click=\"toggleSelectAll()\"\n\t\t\t\t\t\t\t\t:checked=\"isSelectedAll()\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'col-1',\n\t\t\t\t\t\t\t\t{ shrink: arePaymentsAdded() || mode != 'view' },\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tID\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th class=\"col\">Course Name</th>\n\t\t\t\t\t\t<th v-if=\"mode == 'view'\" class=\"col\">Plan</th>\n\t\t\t\t\t\t<th class=\"col\">Invoice Amount</th>\n\t\t\t\t\t\t<th class=\"col\">Due Date</th>\n\t\t\t\t\t\t<th v-if=\"arePaymentsAdded()\" class=\"col\">Outstanding Amount</th>\n\t\t\t\t\t\t<th class=\"col\" v-if=\"mode != 'edit'\">Previously Paid</th>\n\t\t\t\t\t\t<th class=\"col\">Discount</th>\n\t\t\t\t\t\t<!-- <th class=\"col\" v-if=\"mode == 'edit' || mode == 'pay'\">\n\t\t\t\t\t\t\tDiscount Type\n\t\t\t\t\t\t</th> -->\n\t\t\t\t\t\t<th class=\"col\" v-if=\"mode == 'view'\">Status</th>\n\t\t\t\t\t\t<th v-if=\"arePaymentsAdded()\" class=\"col\">\n\t\t\t\t\t\t\tCurrent {{ mode == \"pay\" ? \"Payment\" : \"Refund\" }}\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th></th>\n\t\t\t\t\t\t<!-- <th v-if=\"mode == 'pay'\" class=\"col\">Payment Mode</th> -->\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody v-if=\"invoice && invoice.details.length > 0\">\n\t\t\t\t\t<InvoiceDetailItem\n\t\t\t\t\t\tv-for=\"detail in invoice.details\"\n\t\t\t\t\t\t:key=\"detail.id\"\n\t\t\t\t\t\t:invoiceDetail=\"detail\"\n\t\t\t\t\t\t:selectedDetails=\"selectedDetails\"\n\t\t\t\t\t\t@toggleSelect=\"toggleInvoiceSelect\"\n\t\t\t\t\t\t:arePaymentsAdded=\"arePaymentsAdded()\"\n\t\t\t\t\t\t:currency=\"invoice.currency\"\n\t\t\t\t\t\t@updateAmount=\"updatePayment\"\n\t\t\t\t\t\t@updateDiscount=\"discountUpdate\"\n\t\t\t\t\t\t@updateError=\"error\"\n\t\t\t\t\t\t@updateDueDate=\"dueDateUpdate\"\n\t\t\t\t\t\t:mode=\"mode\"\n\t\t\t\t\t\t:error=\"isError\"\n\t\t\t\t\t\t:invoiceId=\"invoice.id\"\n\t\t\t\t\t\t:userId=\"user.id\"\n\t\t\t\t\t/>\n\t\t\t\t</tbody>\n\t\t\t\t<div v-else class=\"no-content\">No Invoices found</div>\n\t\t\t</table>\n\t\t\t<p v-if=\"isError\" class=\"text-danger\">\n\t\t\t\t<i class=\"fas fa-exclamation-circle\"></i>\n\t\t\t\t<span v-if=\"errorText != ''\">\n\t\t\t\t\t{{ errorText }}\n\t\t\t\t</span>\n\t\t\t\t<span v-else>\n\t\t\t\t\t{{ mode == \"pay\" ? \"Paid\" : \"Refund\" }} amount cannot be greater than\n\t\t\t\t\t{{ mode == \"pay\" ? \"course price\" : \"paid amount\" }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<button @click=\"closeModal\" role=\"button\" class=\"skip-step-btn\">\n\t\t\t\t\tcancel\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\t:disabled=\"disableSave()\"\n\t\t\t\t\t@click=\"\n\t\t\t\t\t\tmode == 'pay' || mode == 'refund' ? payInvoice() : invoiceEdit()\n\t\t\t\t\t\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\t{{ mode == \"pay\" ? \"pay\" : mode == \"refund\" ? \"refund\" : \"save\" }}\n\t\t\t\t\t<img src=\"@/assets/images/arrow-right.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport InvoiceDetailItem from \"./InvoiceDetailItem.vue\";\nimport { currencyCodes } from \"../../../constants/currencyCodes\";\nimport { createPopper } from \"@popperjs/core\";\nimport { getInputDateFormat } from \"../../../helpers/FormatHelpers\";\nimport { InvoiceStatus } from \"../../../constants/pricing\";\n\nexport default {\n\tname: \"UserInvoiceDetailModal\",\n\tprops: {\n\t\tuser: Object,\n\t\tinvoice: Object,\n\t\tinvoiceMode: String,\n\t\tshowModal: Boolean,\n\t},\n\tcomponents: {\n\t\tInvoiceDetailItem,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tselectedDetails: [],\n\t\t\tmode: \"view\",\n\t\t\tisError: false,\n\t\t\tmethod: null,\n\t\t\tpayments: {},\n\t\t\tcurrencyCodes,\n\t\t\tcurrency: null,\n\t\t\tinvoiceDate: null,\n\t\t\tpaymentDate: getInputDateFormat(new Date()),\n\t\t\tisChanged: false,\n\t\t\terrorText: \"\",\n\t\t\tInvoiceStatus,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"externalServicesList\"]),\n\t\t...mapState(\"pricing\", [\"paymentsByUserId\", \"loading\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tisInvoiceFullDiscount() {\n\t\t\tvar fullInvoicePaidAmount = 0;\n\t\t\tthis.invoice.details.forEach((detail) => {\n\t\t\t\tfullInvoicePaidAmount += detail.paidAmount;\n\t\t\t});\n\t\t\treturn (\n\t\t\t\tfullInvoicePaidAmount == 0 && this.invoice.status == InvoiceStatus.PAID\n\t\t\t);\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"appState\", [\"fetchExternalServices\"]),\n\t\t...mapActions(\"pricing\", [\n\t\t\t\"createPayment\",\n\t\t\t\"updateInvoice\",\n\t\t\t\"deleteInvoice\",\n\t\t\t\"fetchInvoiceByUserId\",\n\t\t]),\n\t\tcloseModal() {\n\t\t\tthis.$emit(\"updateModalState\");\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t},\n\t\ttoggleSelectAll() {\n\t\t\tif (\n\t\t\t\tthis.invoice.details &&\n\t\t\t\tthis.invoice.details.length > 0 &&\n\t\t\t\tthis.selectedDetails.length != this.invoice.details.length\n\t\t\t) {\n\t\t\t\tthis.selectedDetails = this.invoice.details;\n\t\t\t} else {\n\t\t\t\tthis.selectedDetails = [];\n\t\t\t}\n\t\t},\n\t\tisSelectedAll() {\n\t\t\tif (this.invoice && this.invoice.details) {\n\t\t\t\treturn this.invoice.details.length == this.selectedDetails.length;\n\t\t\t}\n\t\t},\n\n\t\taddPayment(e) {\n\t\t\tconsole.log(\"change mode\", this.mode == \"view\");\n\t\t\tif (this.mode == \"view\") {\n\t\t\t\tthis.mode = \"pay\";\n\t\t\t\tthis.method = this.externalServicesList[\"PaymentGateway\"].find(\n\t\t\t\t\t(service) => service.serviceCode == e.target.id\n\t\t\t\t);\n\n\t\t\t\tthis.invoice.details.forEach((detail) => {\n\t\t\t\t\tvar payment = {\n\t\t\t\t\t\tamount: null,\n\t\t\t\t\t\ttype: \"Received\",\n\t\t\t\t\t};\n\t\t\t\t\tpayment.invoiceDetailID = detail.id.toString();\n\t\t\t\t\tthis.payments[detail.id] = payment;\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\taddRefund(e) {\n\t\t\t// console.log(\"change mode\", this.mode == \"view\");\n\t\t\tif (this.mode == \"view\") {\n\t\t\t\tthis.mode = \"refund\";\n\t\t\t\tthis.method = this.externalServicesList[\"PaymentGateway\"].find(\n\t\t\t\t\t(service) => service.serviceCode == e.target.id\n\t\t\t\t);\n\n\t\t\t\tthis.invoice.details.forEach((detail) => {\n\t\t\t\t\tvar payment = {\n\t\t\t\t\t\tamount: null,\n\t\t\t\t\t\ttype: \"Refunded\",\n\t\t\t\t\t};\n\t\t\t\t\tpayment.invoiceDetailID = detail.id.toString();\n\t\t\t\t\tthis.payments[detail.id] = payment;\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tchangeMode(mode) {\n\t\t\tthis.mode = mode;\n\t\t},\n\n\t\tdueDateUpdate(dueDate, id) {\n\t\t\tconsole.log(\"Due Date update\");\n\t\t\tvar updatedDetails = this.selectedDetails.map((detail) => {\n\t\t\t\tif (detail.id == id) {\n\t\t\t\t\tdueDate = new Date(dueDate).setHours(23, 59, 59);\n\t\t\t\t\tdetail.dueDate = new Date(dueDate).toISOString();\n\t\t\t\t}\n\t\t\t\treturn detail;\n\t\t\t});\n\t\t\tthis.selectedDetails = updatedDetails;\n\t\t\tthis.isChanged = true;\n\t\t},\n\n\t\tinvoiceEdit() {\n\t\t\tvar updateObject = {\n\t\t\t\t...this.invoice,\n\t\t\t\tdetails: this.selectedDetails,\n\t\t\t\tinvoiceDate: this.invoiceDate,\n\t\t\t\tcurrency: this.currency,\n\t\t\t};\n\n\t\t\tthis.updateInvoice(updateObject).then(() => {\n\t\t\t\tconsole.log(\"Invoice updated successfully.\");\n\t\t\t\tif (this.mode != \"pay\" && this.mode != \"refund\") this.closeModal();\n\t\t\t});\n\t\t},\n\t\tisDisabled(id) {\n\t\t\tvar found = this.selectedDetails.find((d) => d.id == id);\n\t\t\treturn !found;\n\t\t},\n\t\tdisableSave() {\n\t\t\treturn (\n\t\t\t\tthis.isError ||\n\t\t\t\t(this.selectedDetails.length == 0 && this.mode != \"edit\") ||\n\t\t\t\tthis.loading ||\n\t\t\t\t(!this.isChanged && this.mode == \"edit\")\n\t\t\t);\n\t\t},\n\t\tupdatePayment(amount, id) {\n\t\t\tthis.payments[id].amount = parseFloat(amount);\n\t\t},\n\t\tdiscountUpdate(amount, type, id) {\n\t\t\tconsole.log(\"Discount update\");\n\t\t\tvar updatedDetails = this.selectedDetails.map((detail) => {\n\t\t\t\tif (detail.id == id) {\n\t\t\t\t\tdetail.discount = parseFloat(amount);\n\t\t\t\t\tdetail.discountType = type;\n\t\t\t\t}\n\t\t\t\treturn detail;\n\t\t\t});\n\t\t\tthis.selectedDetails = updatedDetails;\n\t\t\tthis.isChanged = true;\n\t\t},\n\t\tarePaymentsAdded() {\n\t\t\tvar payment = Object.keys(this.payments);\n\t\t\t// console.log(payment.length);\n\t\t\treturn payment.length > 0;\n\t\t},\n\t\ttoggleInvoiceSelect(invoice) {\n\t\t\t// this.$emit(\"toggleSelect\", invoice);\n\t\t\tvar found = this.selectedDetails.find((s) => s.id == invoice.id);\n\t\t\t// console.log(found, invoice);\n\t\t\tif (!found) {\n\t\t\t\tthis.selectedDetails.push(invoice);\n\t\t\t} else {\n\t\t\t\tthis.selectedDetails = this.selectedDetails.filter(\n\t\t\t\t\t(su) => su.id != invoice.id\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\terror(error, errorText) {\n\t\t\tthis.isError = error;\n\t\t\tif (errorText != null) this.errorText = errorText;\n\t\t},\n\t\tasync payInvoice() {\n\t\t\tvar res1 = null;\n\t\t\tvar res2 = null;\n\t\t\tif (this.isChanged) {\n\t\t\t\tres1 = await this.invoiceEdit();\n\t\t\t}\n\t\t\tvar receivedPayments = Object.values(this.payments).filter(\n\t\t\t\t(payment) => payment.amount != null\n\t\t\t);\n\n\t\t\tvar payment = {\n\t\t\t\tcustomerID: this.user.id,\n\t\t\t\tpaymentDate: new Date(this.paymentDate).toISOString(),\n\t\t\t\tmethod: this.method.serviceName,\n\t\t\t\tmethodProvider: this.method.serviceProvider,\n\t\t\t\tmethodProviderID: this.method.serviceCode,\n\t\t\t\tdetails: receivedPayments,\n\t\t\t\tstatus: \"Completed\",\n\t\t\t\tmetaData: \"{}\",\n\t\t\t};\n\t\t\tconsole.log(payment);\n\t\t\tres2 = await this.createPayment(payment).then(async () => {\n\t\t\t\tconsole.log(\n\t\t\t\t\t\"payment made successfully\",\n\t\t\t\t\tthis.paymentsByUserId[this.user.id]\n\t\t\t\t);\n\t\t\t\tawait this.fetchInvoiceByUserId(this.user.id).then(() => {});\n\t\t\t});\n\t\t\tPromise.all([res1, res2]).then(() => {\n\t\t\t\tthis.closeModal();\n\t\t\t});\n\t\t},\n\t\tshowDeleteConfirmPopup(e, invoice) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to delete invoice ID: ${invoice.id} for ${this.user.firstName}?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.invoiceDelete(invoice);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t\tinvoiceDelete(invoice) {\n\t\t\tthis.deleteInvoice(invoice).then((response) => {\n\t\t\t\tconsole.log(\"invoice deleted\");\n\t\t\t\tthis.closeModal();\n\t\t\t});\n\t\t},\n\t\tcurrencyFilterBy(option, label, search) {\n\t\t\tvar result =\n\t\t\t\t(option.code || \"\")\n\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t.indexOf(search.toLocaleLowerCase()) > -1 ||\n\t\t\t\t(option.name || \"\")\n\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t.indexOf(search.toLocaleLowerCase()) > -1;\n\n\t\t\treturn result;\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.mode = this.invoiceMode;\n\t\tif (!this.externalServicesList[\"PaymentGateway\"]) {\n\t\t\tthis.fetchExternalServices(\"PaymentGateway\").then(() => {\n\t\t\t\tconsole.log(\" payment modes fetched\");\n\t\t\t\t// this.paymentMethods = this.externalServicesList[\"PaymentGateway\"];\n\t\t\t});\n\t\t} else {\n\t\t\t// this.paymentMethods = this.externalServicesList[\"PaymentGateway\"];\n\t\t}\n\t},\n\twatch: {\n\t\tmode: function () {\n\t\t\tif (this.mode == \"pay\") {\n\t\t\t\tconsole.log(\"mode changed\");\n\t\t\t}\n\t\t\t// if (this.mode == \"edit\") {\n\t\t\t// }\n\t\t},\n\t\tvisible: function () {\n\t\t\tthis.currency = this.invoice.currency;\n\t\t\tthis.invoiceDate = getInputDateFormat(this.invoice.invoiceDate);\n\t\t},\n\t},\n};\n</script>\n\n<style>\n.status-tag {\n\tborder-radius: 6px;\n\tpadding: 0.25rem 0.5rem;\n\ttext-transform: uppercase;\n\tcolor: #ffffff;\n\tfont-size: 0.75rem;\n\tfont-weight: normal;\n\tline-height: 1;\n\twidth: fit-content;\n\theight: fit-content;\n}\n\n.status-tag.success {\n\tbackground-color: #00c672;\n}\n\n.status-tag.danger {\n\tbackground-color: var(--color-danger);\n}\n\n.status-tag.warning {\n\tbackground-color: var(--color-warning);\n}\n\n.invoice-detail-modal input[type=\"checkbox\"] {\n\t/* margin-left: 1.5rem; */\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n\n.enrolled-users-table td {\n\tmin-height: 4rem;\n\theight: unset;\n\tvertical-align: middle;\n}\n\n.add-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0.625rem 1rem;\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.875rem;\n\tline-height: 1.125rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\ttext-decoration: none;\n\ttransition: all 0.3s ease;\n}\n\n.add-btn:hover {\n\tbox-shadow: 4px 6px 5px 0px rgb(197 197 197 / 20%);\n}\n\n.add-btn-icon {\n\tmargin-right: 0.625rem;\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.add-btn::after {\n\tdisplay: none !important;\n}\n\n.cursor-pointer {\n\tcursor: pointer;\n}\n\nth.shrink {\n\twidth: fit-content !important;\n\tpadding-right: 1rem !important;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInvoiceDetailModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInvoiceDetailModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserInvoiceDetailModal.vue?vue&type=template&id=36ad4a3e&\"\nimport script from \"./UserInvoiceDetailModal.vue?vue&type=script&lang=js&\"\nexport * from \"./UserInvoiceDetailModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserInvoiceDetailModal.vue?vue&type=style&index=0&id=36ad4a3e&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown-menu dropdown-menu-lg-end add-payment-dropdown\",attrs:{\"aria-labelledby\":(\"payment-\" + (_vm.invoice.id))},on:{\"click\":function (e) { return e.stopPropagation(); }}},[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"amountPayable\"}},[_vm._v(\"Course Price\")]),_c('input',{staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter payable amount\",\"type\":\"search\",\"id\":\"amountPayable\",\"disabled\":\"\"},domProps:{\"value\":_vm.selectedCyclePrice(_vm.invoice.id)}})]),_c('div',{staticClass:\"col\"},[_c('label',{class:['main-label', { 'text-danger': _vm.isError }],attrs:{\"for\":\"amountReceived\"}},[_vm._v(\"Amount Received (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.cycleReceived),expression:\"cycleReceived\"}],class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter received amount\",\"type\":\"number\",\"id\":\"amountReceived\",\"max\":_vm.selectedCyclePrice(_vm.invoice.id) - _vm.cycleDiscount},domProps:{\"value\":(_vm.cycleReceived)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.cycleReceived=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{class:['main-label', { 'text-danger': _vm.isError }],attrs:{\"for\":\"amountDiscount\"}},[_vm._v(\"Discount (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.cycleDiscount),expression:\"cycleDiscount\"}],class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter discount\",\"type\":\"number\",\"id\":\"amountDiscount\",\"max\":_vm.selectedCyclePrice(_vm.invoice.id) - _vm.cycleReceived},domProps:{\"value\":(_vm.cycleDiscount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.cycleDiscount=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{class:['main-label', { 'text-danger': _vm.isError }],attrs:{\"for\":\"amountBalance\"}},[_vm._v(\"Outstanding\")]),_c('input',{class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter balance\",\"type\":\"search\",\"id\":\"amountBalance\",\"disabled\":\"\"},domProps:{\"value\":_vm.cycleOutstanding}})])]),(_vm.isError)?_c('p',{staticClass:\"text-danger\"},[_c('i',{staticClass:\"fas fa-exclamation-circle\"}),_vm._v(\" Paid amount cannot be greater than course price \")]):_vm._e(),_c('div',{staticClass:\"buttons\"},[_c('button',{staticClass:\"skip-step-btn\",on:{\"click\":function($event){return _vm.closeDropdown(_vm.invoice.id)}}},[_vm._v(\" Cancel \")]),_c('button',{staticClass:\"step-btn\",attrs:{\"disabled\":_vm.isError},on:{\"click\":function($event){return _vm.togglePaid(_vm.invoice.id)}}},[_vm._v(\" Mark as Paid \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\tclass=\"dropdown-menu dropdown-menu-lg-end add-payment-dropdown\"\n\t\t@click=\"(e) => e.stopPropagation()\"\n\t\t:aria-labelledby=\"`payment-${invoice.id}`\"\n\t>\n\t\t<div class=\"inline-group\">\n\t\t\t<div class=\"col\">\n\t\t\t\t<label for=\"amountPayable\" class=\"main-label\">Course Price</label>\n\t\t\t\t<input\n\t\t\t\t\tplaceholder=\"Enter payable amount\"\n\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tid=\"amountPayable\"\n\t\t\t\t\tdisabled\n\t\t\t\t\t:value=\"selectedCyclePrice(invoice.id)\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"col\">\n\t\t\t\t<label\n\t\t\t\t\tfor=\"amountReceived\"\n\t\t\t\t\t:class=\"['main-label', { 'text-danger': isError }]\"\n\t\t\t\t\t>Amount Received (required)</label\n\t\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tplaceholder=\"Enter received amount\"\n\t\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tid=\"amountReceived\"\n\t\t\t\t\tv-model=\"cycleReceived\"\n\t\t\t\t\t:max=\"selectedCyclePrice(invoice.id) - cycleDiscount\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"col\">\n\t\t\t\t<label\n\t\t\t\t\tfor=\"amountDiscount\"\n\t\t\t\t\t:class=\"['main-label', { 'text-danger': isError }]\"\n\t\t\t\t\t>Discount (optional)</label\n\t\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tplaceholder=\"Enter discount\"\n\t\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tid=\"amountDiscount\"\n\t\t\t\t\tv-model=\"cycleDiscount\"\n\t\t\t\t\t:max=\"selectedCyclePrice(invoice.id) - cycleReceived\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"col\">\n\t\t\t\t<label\n\t\t\t\t\tfor=\"amountBalance\"\n\t\t\t\t\t:class=\"['main-label', { 'text-danger': isError }]\"\n\t\t\t\t\t>Outstanding</label\n\t\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tplaceholder=\"Enter balance\"\n\t\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tid=\"amountBalance\"\n\t\t\t\t\t:value=\"cycleOutstanding\"\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t\t<p v-if=\"isError\" class=\"text-danger\">\n\t\t\t<i class=\"fas fa-exclamation-circle\"></i> Paid amount cannot be greater\n\t\t\tthan course price\n\t\t</p>\n\t\t<div class=\"buttons\">\n\t\t\t<button class=\"skip-step-btn\" @click=\"closeDropdown(invoice.id)\">\n\t\t\t\tCancel\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\t:disabled=\"isError\"\n\t\t\t\tclass=\"step-btn\"\n\t\t\t\t@click=\"togglePaid(invoice.id)\"\n\t\t\t>\n\t\t\t\tMark as Paid\n\t\t\t</button>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"UserInvoicePaymentDropdown\",\n\tprops: {\n\t\tinvoice: Object,\n\t\tselectedCycles: Array,\n\t\tmultiplePlanPayments: Object,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tcycleReceived: null,\n\t\t\tcycleDiscount: null,\n\t\t\t// cycleOutstanding: null,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"appState\", [\"fetchExternalServices\"]),\n\t\ttogglePaid(id) {\n\t\t\tvar amount = {\n\t\t\t\treceived: this.cycleReceived,\n\t\t\t\tdiscount: this.cycleDiscount ? this.cycleDiscount : \"0\",\n\t\t\t};\n\t\t\tthis.$emit(\"payment\", { id, amount });\n\t\t},\n\t\tselectedCyclePrice(id) {\n\t\t\tvar currentCycle = this.selectedCycles.find(\n\t\t\t\t(invoice) => invoice.id == id\n\t\t\t);\n\t\t\treturn currentCycle ? currentCycle.price : 0;\n\t\t},\n\t\tcloseDropdown(id) {\n\t\t\tdocument.getElementById(`payment-${id}`).click();\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"externalServicesList\"]),\n\t\tisError() {\n\t\t\tvar error = this.cycleOutstanding == \"Invalid amount\";\n\t\t\t// if (error) {\n\t\t\t// \tthis.$emit(\"error\", error);\n\t\t\t// }\n\t\t\treturn error;\n\t\t},\n\t\tcycleOutstanding() {\n\t\t\tvar balance;\n\t\t\tif (this.invoice)\n\t\t\t\tbalance = this.invoice.price - this.cycleDiscount - this.cycleReceived;\n\t\t\telse balance = 0;\n\t\t\treturn balance >= 0 ? balance : \"Invalid amount\";\n\t\t},\n\t},\n\tcreated() {\n\t\tif (this.invoice.isPaid) {\n\t\t\tthis.cycleReceived = this.multiplePlanPayments[this.invoice.id].received;\n\t\t\tthis.cycleDiscount = this.multiplePlanPayments[this.invoice.id].discount;\n\t\t}\n\t\t// document\n\t\t// \t.getElementById(\"add-payment-dropdown\")\n\t\t// \t.onclick((e) => e.stopPropagation());\n\t},\n};\n</script>\n\n<style scoped>\n.add-payment-dropdown {\n\tmax-width: 50rem;\n\tpadding: 1.5rem;\n}\n\n.buttons {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: flex-end;\n\tcolumn-gap: 1rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInvoicePaymentDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInvoicePaymentDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserInvoicePaymentDropdown.vue?vue&type=template&id=01828efe&scoped=true&\"\nimport script from \"./UserInvoicePaymentDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./UserInvoicePaymentDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserInvoicePaymentDropdown.vue?vue&type=style&index=0&id=01828efe&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"01828efe\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-modal-tab-body invoices\"},[_c('table',{staticClass:\"table table-hover table-borderless enrolled-users-table\"},[_c('thead',[_c('tr',{staticClass:\"d-flex\"},[_c('th',{staticClass:\"col-1\"},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_all\",\"id\":\"select_all\"},domProps:{\"checked\":_vm.isSelectedAll()},on:{\"click\":function($event){return _vm.toggleSelectAll()}}})]),_c('th',{staticClass:\"col-1\"},[_vm._v(\"ID\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Invoice Date\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Amount\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Currency\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Status\")])])]),(_vm.invoices && _vm.invoices.length > 0)?_c('tbody',_vm._l((_vm.invoices),function(invoice){return _c('tr',{key:invoice.id,staticClass:\"d-flex invoice-item\",on:{\"click\":function($event){return _vm.toggleInvoiceModal(invoice, 'view')}}},[_c('td',{staticClass:\"col-1\"},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_1\",\"id\":invoice.id},domProps:{\"checked\":_vm.isChecked(invoice.id)},on:{\"click\":function($event){return _vm.toggleInvoiceSelect(invoice)}}})]),_c('td',{staticClass:\"col-1\"},[_vm._v(_vm._s(invoice.id))]),_c('td',{staticClass:\"col\"},[_vm._v(_vm._s(_vm.dateParser(invoice.invoiceDate)))]),_c('td',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.currencyParser(_vm.totalAmount(invoice.details), invoice.currency))+\" \")]),_c('td',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(invoice.currency)+\" \")]),_c('td',{staticClass:\"col\"},[_c('div',{class:[\n\t\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsuccess:\n\t\t\t\t\t\t\t\t\tinvoice.status && invoice.status == _vm.InvoiceStatus.PAID,\n\t\t\t\t\t\t\t\tdanger:\n\t\t\t\t\t\t\t\t\tinvoice.status &&\n\t\t\t\t\t\t\t\t\t(invoice.status == _vm.InvoiceStatus.UNPAID ||\n\t\t\t\t\t\t\t\t\t\tinvoice.status == _vm.InvoiceStatus.OVER_PAID),\n\t\t\t\t\t\t\t\twarning:\n\t\t\t\t\t\t\t\t\tinvoice.status &&\n\t\t\t\t\t\t\t\t\tinvoice.status == _vm.InvoiceStatus.PARTIALLY_PAID,\n\t\t\t\t\t\t\t} ]},[_vm._v(\" \"+_vm._s(invoice.status)+\" \")])])])}),0):(_vm.invoices.length == 0 && _vm.loading)?_c('div',{staticClass:\"d-flex align-items-center justify-content-center gap-2 p-3 font-500\"},[_c('b-spinner',{attrs:{\"small\":\"\"}}),_vm._v(\" Loading... \")],1):_c('div',{staticClass:\"no-content\"},[_vm._v(\"No Invoices found\")])]),_c('UserInvoiceDetailModal',{attrs:{\"invoice\":_vm.invoiceToViewPay,\"invoiceMode\":_vm.invoiceMode,\"showModal\":_vm.showInvoiceModal,\"user\":_vm.user},on:{\"updateModalState\":_vm.toggleInvoiceModal}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"user-modal-tab-body invoices\">\n\t\t<table class=\"table table-hover table-borderless enrolled-users-table\">\n\t\t\t<thead>\n\t\t\t\t<tr class=\"d-flex\">\n\t\t\t\t\t<th class=\"col-1\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tname=\"select_all\"\n\t\t\t\t\t\t\tid=\"select_all\"\n\t\t\t\t\t\t\t@click=\"toggleSelectAll()\"\n\t\t\t\t\t\t\t:checked=\"isSelectedAll()\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th class=\"col-1\">ID</th>\n\t\t\t\t\t<th class=\"col\">Invoice Date</th>\n\t\t\t\t\t<th class=\"col\">Amount</th>\n\t\t\t\t\t<th class=\"col\">Currency</th>\n\t\t\t\t\t<th class=\"col\">Status</th>\n\t\t\t\t\t<!-- <th class=\"col-1\">Payments</th> -->\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody v-if=\"invoices && invoices.length > 0\">\n\t\t\t\t<tr\n\t\t\t\t\tclass=\"d-flex invoice-item\"\n\t\t\t\t\tv-for=\"invoice in invoices\"\n\t\t\t\t\t:key=\"invoice.id\"\n\t\t\t\t\t@click=\"toggleInvoiceModal(invoice, 'view')\"\n\t\t\t\t>\n\t\t\t\t\t<td class=\"col-1\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tname=\"select_1\"\n\t\t\t\t\t\t\t:id=\"invoice.id\"\n\t\t\t\t\t\t\t@click=\"toggleInvoiceSelect(invoice)\"\n\t\t\t\t\t\t\t:checked=\"isChecked(invoice.id)\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=\"col-1\">{{ invoice.id }}</td>\n\t\t\t\t\t<td class=\"col\">{{ dateParser(invoice.invoiceDate) }}</td>\n\t\t\t\t\t<td class=\"col\">\n\t\t\t\t\t\t{{ currencyParser(totalAmount(invoice.details), invoice.currency) }}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=\"col\">\n\t\t\t\t\t\t{{ invoice.currency }}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=\"col\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tsuccess:\n\t\t\t\t\t\t\t\t\t\tinvoice.status && invoice.status == InvoiceStatus.PAID,\n\t\t\t\t\t\t\t\t\tdanger:\n\t\t\t\t\t\t\t\t\t\tinvoice.status &&\n\t\t\t\t\t\t\t\t\t\t(invoice.status == InvoiceStatus.UNPAID ||\n\t\t\t\t\t\t\t\t\t\t\tinvoice.status == InvoiceStatus.OVER_PAID),\n\t\t\t\t\t\t\t\t\twarning:\n\t\t\t\t\t\t\t\t\t\tinvoice.status &&\n\t\t\t\t\t\t\t\t\t\tinvoice.status == InvoiceStatus.PARTIALLY_PAID,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ invoice.status }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t\t<div\n\t\t\t\tv-else-if=\"invoices.length == 0 && loading\"\n\t\t\t\tclass=\"d-flex align-items-center justify-content-center gap-2 p-3 font-500\"\n\t\t\t>\n\t\t\t\t<b-spinner small></b-spinner> Loading...\n\t\t\t</div>\n\t\t\t<div v-else class=\"no-content\">No Invoices found</div>\n\t\t</table>\n\t\t<UserInvoiceDetailModal\n\t\t\t:invoice=\"invoiceToViewPay\"\n\t\t\t:invoiceMode=\"invoiceMode\"\n\t\t\t:showModal=\"showInvoiceModal\"\n\t\t\t@updateModalState=\"toggleInvoiceModal\"\n\t\t\t:user=\"user\"\n\t\t/>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport formatter from \"../../../helpers/FormatHelpers\";\nimport UserInvoiceDetailModal from \"./UserInvoiceDetailModal.vue\";\nimport { InvoiceStatus } from \"../../../constants/pricing\";\n\nexport default {\n\tname: \"UserInvoiceAndPayments\",\n\tdata() {\n\t\treturn {\n\t\t\tselectedInvoices: [],\n\t\t\tinvoices: [],\n\t\t\tshowInvoiceModal: false,\n\t\t\tinvoiceToViewPay: null,\n\t\t\tinvoiceMode: \"view\",\n\t\t\tInvoiceStatus,\n\t\t};\n\t},\n\tprops: { user: Object },\n\tmethods: {\n\t\t...mapActions(\"pricing\", [\"fetchInvoiceByUserId\", \"deleteInvoice\"]),\n\t\ttoggleSelectAll() {\n\t\t\tif (\n\t\t\t\tthis.invoices &&\n\t\t\t\tthis.invoices.length > 0 &&\n\t\t\t\tthis.selectedInvoices.length != this.invoices.length\n\t\t\t) {\n\t\t\t\tthis.selectedInvoices = this.invoices;\n\t\t\t} else {\n\t\t\t\tthis.selectedInvoices = [];\n\t\t\t}\n\t\t},\n\t\tisSelectedAll() {\n\t\t\treturn this.invoices.length == this.selectedInvoices.length;\n\t\t},\n\t\ttoggleInvoiceSelect(invoice) {\n\t\t\tvar found = this.selectedInvoices.find((s) => s.id == invoice.id);\n\t\t\t// console.log(found, invoice);\n\t\t\tif (!found) {\n\t\t\t\tthis.selectedInvoices.push(invoice);\n\t\t\t} else {\n\t\t\t\tthis.selectedInvoices = this.selectedInvoices.filter(\n\t\t\t\t\t(su) => su.id != invoice.id\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tisChecked(id) {\n\t\t\tvar found = this.selectedInvoices.find((invoice) => invoice.id == id);\n\t\t\t// console.log(found);\n\t\t\tif (found) {\n\t\t\t\treturn true;\n\t\t\t} else return false;\n\t\t},\n\t\tcurrencyParser(amount, currency) {\n\t\t\treturn formatter.toCurrencyString(parseInt(amount), currency, 0);\n\t\t},\n\t\tdateParser(date) {\n\t\t\treturn formatter.toShortDateString(date);\n\t\t},\n\t\ttotalAmount(details) {\n\t\t\tvar total = 0;\n\t\t\tdetails.forEach((detail) => {\n\t\t\t\ttotal += detail.amount;\n\t\t\t});\n\t\t\treturn total;\n\t\t},\n\t\ttoggleInvoiceModal(invoice, mode) {\n\t\t\tthis.showInvoiceModal = !this.showInvoiceModal;\n\t\t\tif (this.showInvoiceModal) {\n\t\t\t\tthis.invoiceToViewPay = invoice;\n\t\t\t\tthis.invoiceMode = mode;\n\t\t\t} else {\n\t\t\t\t// this.invoiceToViewPay = null;\n\t\t\t\tthis.invoiceMode = \"view\";\n\t\t\t}\n\t\t},\n\t\tpayInvoice(e, invoice) {\n\t\t\te.stopPropagation();\n\t\t\tthis.toggleInvoiceModal(invoice, \"pay\");\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"pricing\", [\"invoicesByUserId\", \"loading\"]),\n\t},\n\tcreated() {\n\t\tif (!this.invoicesByUserId[this.user.id]) {\n\t\t\tthis.fetchInvoiceByUserId(this.user.id).then(() => {\n\t\t\t\tconsole.log(\"invoices fetched\");\n\t\t\t\tthis.invoices = this.invoicesByUserId[this.user.id];\n\t\t\t});\n\t\t} else {\n\t\t\tthis.invoices = this.invoicesByUserId[this.user.id];\n\t\t}\n\n\t\tthis.invoices=this.invoices.sort((a, b) => new Date(b.invoiceDate) - new Date(a.invoiceDate));\n\n\n\n\t},\n\tcomponents: { UserInvoiceDetailModal },\n\twatch: {\n\t\tinvoicesByUserId: function () {\n\t\t\tconsole.log(\"invoices updated in store\");\n\t\t\tif (this.invoicesByUserId[this.user.id]) {\n\t\t\t\tthis.invoices = this.invoicesByUserId[this.user.id];\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.no-content {\n\tpadding: 1rem;\n\ttext-align: center;\n\tfont-weight: 500;\n\tcolor: #666;\n\tfont-size: 1.125rem;\n}\n\ninput[type=\"checkbox\"] {\n\t/* margin-left: 1.5rem; */\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n\n.status-tag {\n\tborder-radius: 6px;\n\tpadding: 0.25rem 0.5rem;\n\ttext-transform: uppercase;\n\tcolor: #ffffff;\n\tfont-size: 0.75rem;\n\tfont-weight: normal;\n\tline-height: 1;\n\twidth: fit-content;\n}\n\n.status-tag.success {\n\tbackground-color: #00c672;\n}\n\n.status-tag.danger {\n\tbackground-color: var(--color-danger);\n}\n\n.status-tag.warning {\n\tbackground-color: var(--color-warning);\n}\n\n.invoice-item {\n\tcursor: pointer;\n}\n\n/* .user-modal-tab-body.invoices { */\n/* max-height: 30rem;\n\toverflow-y: auto; */\n/* } */\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInvoices.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInvoices.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserInvoices.vue?vue&type=template&id=2e2f032a&scoped=true&\"\nimport script from \"./UserInvoices.vue?vue&type=script&lang=js&\"\nexport * from \"./UserInvoices.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserInvoices.vue?vue&type=style&index=0&id=2e2f032a&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2e2f032a\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (this.$route.meta.isHideAdminLayout!=true)?_c('div',{staticClass:\"admin-header\"},[_c('router-link',{class:['sidebar-header', { collapsed: _vm.collapsed }],attrs:{\"to\":\"/management/course\"}},[_c('img',{class:(\"sidebar-header-logo\" + (_vm.systemParameters.tenantName ? ' w-name' : '')),attrs:{\"src\":_vm.logoPath}}),(!_vm.collapsed)?_c('span',{staticClass:\"ms-3\"},[_vm._v(\" \"+_vm._s(_vm.systemParameters.tenantName ? _vm.systemParameters.tenantName : \"\")+\" \")]):_vm._e()]),_c('div',{staticClass:\"header-container\"},[(this.$route.meta.isAdmin)?_c('a',{staticClass:\"my-nav-link\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('toggleSidebar')}}},[_c('img',{staticClass:\"menu-icon\",attrs:{\"src\":require(\"@/assets/images/menu-icon-admin-header.png\")}})]):_vm._e(),(_vm.showTabs)?_c('div',{staticClass:\"header-tabs\"},[_c('span',{staticClass:\"product-variant-title\"},[_vm._v(_vm._s(_vm.productVariantTitle))]),_c('ul',{staticClass:\"inline-list\"},[_c('li',{staticClass:\"header-tab\"},[_c('router-link',{attrs:{\"to\":(\"/management/course/\" + _vm.productVariantId + \"/content\")}},[_vm._v(\"Course Content\")])],1),(\n\t\t\t\t\t\tthis.externalServicesList &&\n\t\t\t\t\t\tthis.externalServicesList[_vm.ContentType.EXAM] &&\n\t\t\t\t\t\tthis.externalServicesList[_vm.ContentType.EXAM].find(function (x){ return x.serviceProvider.toLowerCase()=='es'; })\n\t\t\t\t\t)?_c('li',{staticClass:\"header-tab\"},[_c('router-link',{attrs:{\"to\":(\"/management/course/\" + _vm.productVariantId + \"/questionbank\")}},[_vm._v(\"Question Bank\")])],1):_vm._e(),_c('li',{staticClass:\"header-tab\"},[_c('router-link',{attrs:{\"to\":(\"/management/course/\" + _vm.productVariantId + \"/feedback\")}},[_vm._v(\"Feedback\")])],1),((_vm.user.role || _vm.user.type).toLowerCase() == 'management')?_c('li',{staticClass:\"header-tab\"},[_c('router-link',{attrs:{\"to\":(\"/management/course/\" + _vm.productVariantId + \"/enrollment\")}},[_vm._v(\"Enrollment\")])],1):_vm._e(),((_vm.user.role || _vm.user.type).toLowerCase() == 'management')?_c('li',{staticClass:\"header-tab\"},[_c('router-link',{attrs:{\"to\":(\"/management/course/\" + _vm.productVariantId + \"/pricing\")}},[_vm._v(\" Pricing\")])],1):_vm._e()])]):_c('div',{staticClass:\"searchbar\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],attrs:{\"type\":\"search\",\"autocomplete\":\"off\",\"placeholder\":\"Find your course here...\"},domProps:{\"value\":(_vm.searchText)},on:{\"focus\":function($event){_vm.showDropdown = true},\"blur\":_vm.closeDropdown,\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}}),_vm._m(0),(_vm.showDropdown)?_c('div',{staticClass:\"search-dropdown\"},[(_vm.searchList.length > 0)?_c('ul',_vm._l((_vm.searchList),function(item,index){return _c('li',{key:index,on:{\"click\":function($event){return _vm.handleLinkClick(item)}}},[_c('img',{staticClass:\"searchbar-image\",attrs:{\"src\":require(\"@/assets/images/sample-thumbnail.jpeg\"),\"alt\":\"\"}}),_vm._v(\" \"+_vm._s(item.product && item.product.title)+\" - \"+_vm._s(item.title)+\" \"),_c('br')])}),0):_vm._e(),(_vm.searchList.length == 0 && _vm.searchText.length > 0)?_c('div',{staticClass:\"no-content p-4 text-center text-muted\"},[_vm._v(\" Sorry! No relevant results found. \")]):_vm._e()]):_vm._e()]),_c('div',{staticClass:\"right-nav\"},[(\n\t\t\t\t\t_vm.loggedIn &&\n\t\t\t\t\t(_vm.systemParameters.AdminKnowledgeBase ||\n\t\t\t\t\t\t_vm.systemParameters.TrainerKnowledgeBase)\n\t\t\t\t)?_c('button',{staticClass:\"my-nav-link desktop-only\",on:{\"click\":_vm.showPDF}},[_vm._v(\" Knowledgebase \")]):_vm._e(),(_vm.isNonAdminPage)?_c('router-link',{staticClass:\"my-nav-link desktop-only\",attrs:{\"to\":\"/management/course\"}},[_c('i',{staticClass:\"fa fa-arrow-left pe-2\"}),_vm._v(\" Back to Admin Panel \")]):_vm._e(),_c('div',{staticClass:\"user-profile-btn my-nav-link dropdown-toggle\",attrs:{\"role\":\"button\",\"data-bs-toggle\":\"dropdown\",\"aria-expanded\":\"false\"}},[_c('div',{staticClass:\"user-avatar\"},[(_vm.user.profilePicture)?_c('img',{attrs:{\"src\":_vm.user.profilePicture}}):_c('span',[_vm._v(_vm._s(_vm.user.firstName[0]))])]),_c('span',[_vm._v(_vm._s(_vm.user.firstName)+\" \"+_vm._s(_vm.user.lastName))])]),_c('div',{staticClass:\"dropdown-menu custom-user-dropdown\",attrs:{\"aria-labelledby\":\"coursesMenu\"}},[_c('a',{staticClass:\"custom-dropdown-item\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.togglePasswordModal(true)}}},[_vm._v(\" Change Password \")]),_c('a',{staticClass:\"custom-dropdown-item\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.logout}},[_vm._v(\" Logout \")])]),_c('a',{staticClass:\"my-nav-link\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.logout}},[_c('img',{staticClass:\"header-link-icon\",attrs:{\"src\":require(\"@/assets/images/logout-icon.svg\")}})])],1)]),_c('ChangePasswordModal',{attrs:{\"showModal\":_vm.showChangePasswordModal,\"profileData\":_vm.user},on:{\"updateModalState\":_vm.updateModalPasswordState}})],1):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"role\":\"button\"}},[_c('img',{staticClass:\"search-icon\",attrs:{\"src\":require(\"@/assets/images/search-icon.svg\")}})])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"admin-header\" v-if=\"this.$route.meta.isHideAdminLayout!=true\">\n\t\t<router-link\n\t\t\tto=\"/management/course\"\n\t\t\t:class=\"['sidebar-header', { collapsed: collapsed }]\"\n\t\t>\n\t\t\t<img\n\t\t\t\t:src=\"logoPath\"\n\t\t\t\t:class=\"`sidebar-header-logo${\n\t\t\t\t\tsystemParameters.tenantName ? ' w-name' : ''\n\t\t\t\t}`\"\n\t\t\t/>\n\t\t\t<span class=\"ms-3\" v-if=\"!collapsed\">\n\t\t\t\t{{ systemParameters.tenantName ? systemParameters.tenantName : \"\" }}\n\t\t\t</span>\n\t\t</router-link>\n\t\t<div class=\"header-container\">\n\t\t\t<a\n\t\t\t\tv-if=\"this.$route.meta.isAdmin\"\n\t\t\t\trole=\"button\"\n\t\t\t\tclass=\"my-nav-link\"\n\t\t\t\t@click=\"$emit('toggleSidebar')\"\n\t\t\t\t><img\n\t\t\t\t\tsrc=\"@/assets/images/menu-icon-admin-header.png\"\n\t\t\t\t\tclass=\"menu-icon\"\n\t\t\t/></a>\n\t\t\t<div v-if=\"showTabs\" class=\"header-tabs\">\n\t\t\t\t<span class=\"product-variant-title\">{{ productVariantTitle }}</span>\n\t\t\t\t<ul class=\"inline-list\">\n\t\t\t\t\t<li class=\"header-tab\">\n\t\t\t\t\t\t<router-link :to=\"`/management/course/${productVariantId}/content`\"\n\t\t\t\t\t\t\t>Course Content</router-link\n\t\t\t\t\t\t>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li\n\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\tthis.externalServicesList &&\n\t\t\t\t\t\t\tthis.externalServicesList[ContentType.EXAM] &&\n\t\t\t\t\t\t\tthis.externalServicesList[ContentType.EXAM].find(x=>x.serviceProvider.toLowerCase()=='es')\n\t\t\t\t\t\t\"\n\t\t\t\t\t\tclass=\"header-tab\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<router-link\n\t\t\t\t\t\t\t:to=\"`/management/course/${productVariantId}/questionbank`\"\n\t\t\t\t\t\t\t>Question Bank</router-link\n\t\t\t\t\t\t>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"header-tab\">\n\t\t\t\t\t\t<router-link :to=\"`/management/course/${productVariantId}/feedback`\"\n\t\t\t\t\t\t\t>Feedback</router-link\n\t\t\t\t\t\t>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li\n\t\t\t\t\t\tv-if=\"(user.role || user.type).toLowerCase() == 'management'\"\n\t\t\t\t\t\tclass=\"header-tab\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<router-link\n\t\t\t\t\t\t\t:to=\"`/management/course/${productVariantId}/enrollment`\"\n\t\t\t\t\t\t\t>Enrollment</router-link\n\t\t\t\t\t\t>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li\n\t\t\t\t\t\tv-if=\"(user.role || user.type).toLowerCase() == 'management'\"\n\t\t\t\t\t\tclass=\"header-tab\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<router-link :to=\"`/management/course/${productVariantId}/pricing`\">\n\t\t\t\t\t\t\tPricing</router-link\n\t\t\t\t\t\t>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div v-else class=\"searchbar\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\tplaceholder=\"Find your course here...\"\n\t\t\t\t\tv-model=\"searchText\"\n\t\t\t\t\t@focus=\"showDropdown = true\"\n\t\t\t\t\t@blur=\"closeDropdown\"\n\t\t\t\t/>\n\t\t\t\t<a role=\"button\"\n\t\t\t\t\t><img class=\"search-icon\" src=\"@/assets/images/search-icon.svg\"\n\t\t\t\t/></a>\n\t\t\t\t<div class=\"search-dropdown\" v-if=\"showDropdown\">\n\t\t\t\t\t<ul v-if=\"searchList.length > 0\">\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t@click=\"handleLinkClick(item)\"\n\t\t\t\t\t\t\tv-for=\"(item, index) in searchList\"\n\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tclass=\"searchbar-image\"\n\t\t\t\t\t\t\t\tsrc=\"@/assets/images/sample-thumbnail.jpeg\"\n\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{{ item.product && item.product.title }} - {{ item.title }} <br />\n\t\t\t\t\t\t\t<!-- {{ item.creator.name }} -->\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"searchList.length == 0 && searchText.length > 0\"\n\t\t\t\t\t\tclass=\"no-content p-4 text-center text-muted\"\n\t\t\t\t\t>\n\t\t\t\t\t\tSorry! No relevant results found.\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"right-nav\">\n\t\t\t\t<button\n\t\t\t\t\t@click=\"showPDF\"\n\t\t\t\t\tv-if=\"\n\t\t\t\t\t\tloggedIn &&\n\t\t\t\t\t\t(systemParameters.AdminKnowledgeBase ||\n\t\t\t\t\t\t\tsystemParameters.TrainerKnowledgeBase)\n\t\t\t\t\t\"\n\t\t\t\t\tclass=\"my-nav-link desktop-only\"\n\t\t\t\t>\n\t\t\t\t\tKnowledgebase\n\t\t\t\t</button>\n\t\t\t\t<router-link\n\t\t\t\t\tv-if=\"isNonAdminPage\"\n\t\t\t\t\tto=\"/management/course\"\n\t\t\t\t\tclass=\"my-nav-link desktop-only\"\n\t\t\t\t>\n\t\t\t\t\t<i class=\"fa fa-arrow-left pe-2\"></i> Back to Admin Panel\n\t\t\t\t</router-link>\n\t\t\t\t<div\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\tclass=\"user-profile-btn my-nav-link dropdown-toggle\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"user-avatar\">\n\t\t\t\t\t\t<img v-if=\"user.profilePicture\" :src=\"user.profilePicture\" />\n\t\t\t\t\t\t<span v-else>{{ user.firstName[0] }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span>{{ user.firstName }} {{ user.lastName }}</span>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"dropdown-menu custom-user-dropdown\"\n\t\t\t\t\taria-labelledby=\"coursesMenu\"\n\t\t\t\t>\n\t\t\t\t\t<a\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\"custom-dropdown-item\"\n\t\t\t\t\t\t@click=\"togglePasswordModal(true)\"\n\t\t\t\t\t>\n\t\t\t\t\t\tChange Password\n\t\t\t\t\t</a>\n\t\t\t\t\t<a role=\"button\" class=\"custom-dropdown-item\" @click=\"logout\">\n\t\t\t\t\t\tLogout\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t\t<a @click=\"logout\" role=\"button\" class=\"my-nav-link\">\n\t\t\t\t\t<img class=\"header-link-icon\" src=\"@/assets/images/logout-icon.svg\" />\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t\t<ChangePasswordModal\n\t\t\t:showModal=\"showChangePasswordModal\"\n\t\t\t@updateModalState=\"updateModalPasswordState\"\n\t\t\t:profileData=\"user\"\n\t\t/>\n\t</div>\n</template>\n\n<script>\nimport AdminSidebar from \"./AdminSidebar.vue\";\nimport ChangePasswordModal from \"../../Profile/ChangePasswordModal.vue\";\nimport { mapState, mapActions } from \"vuex\";\nimport { ContentType } from \"../../../constants/content\";\n\nexport default {\n\tname: \"AdminHeader\",\n\tdata() {\n\t\treturn {\n\t\t\tshowChangePasswordModal: false,\n\t\t\tproductVariantTitle: null,\n\t\t\tsearchText: \"\",\n\t\t\tshowDropdown: false,\n\t\t\tContentType,\n\t\t};\n\t},\n\tprops: {\n\t\tcollapsed: Boolean,\n\t},\n\tcomponents: {\n\t\tAdminSidebar,\n\t\tChangePasswordModal,\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"loggedIn\", \"user\"]),\n\t\t...mapState(\"productVariant\", [\"productVariants\", \"loading\"]),\n\t\t...mapState(\"appState\", [\"systemParameters\", \"externalServicesList\"]),\n\t\tshowTabs() {\n\t\t\treturn this.$route.meta.showTabs;\n\t\t},\n\t\tproductVariantId() {\n\t\t\tif (this.showTabs) {\n\t\t\t\treturn this.$route.params.id;\n\t\t\t} else return null;\n\t\t},\n\t\tlogoPath() {\n\t\t\treturn this.systemParameters.LogoPath\n\t\t\t\t? this.systemParameters.LogoPath\n\t\t\t\t: require(\"@/assets/images/gocbe_logo_small.png\");\n\t\t},\n\t\tsearchList() {\n\t\t\t// console.log(\"searchOnInput called\");\n\t\t\tvar list = [];\n\t\t\tif (this.productVariants.length > 0 && this.searchText !== \"\") {\n\t\t\t\tfor (var item of Object.values(this.productVariants.items)) {\n\t\t\t\t\t// console.log(\n\t\t\t\t\t// \tthis.productVariants.items[item].product.title\n\t\t\t\t\t// \t\t.toLowerCase()\n\t\t\t\t\t// \t\t.includes(this.searchText.toLowerCase())\n\t\t\t\t\t// );\n\t\t\t\t\tif (\n\t\t\t\t\t\t(item.title || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(item.id || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(item.product &&\n\t\t\t\t\t\t\t(item.product.title || \"\")\n\t\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1)\n\t\t\t\t\t) {\n\t\t\t\t\t\t// this.searchList.push(item);\n\t\t\t\t\t\tlist.push(item);\n\t\t\t\t\t\t// console.log(\n\t\t\t\t\t\t// \t\"Search result:\",\n\t\t\t\t\t\t// \tthis.productVariants.items[item].product.title\n\t\t\t\t\t\t// );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn list;\n\t\t},\n\t\tisNonAdminPage() {\n\t\t\treturn !this.$route.meta.isAdmin;\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"logout\"]),\n\t\t...mapActions(\"productVariant\", [\n\t\t\t\"getProductVariantById\",\n\t\t\t\"fetchProductVariants\",\n\t\t]),\n\t\thandleLinkClick(item) {\n\t\t\tthis.searchText = \"\";\n\t\t\tthis.$router.push(`/management/course/${item.id}/content`);\n\t\t},\n\t\tcloseDropdown() {\n\t\t\tsetTimeout(() => (this.showDropdown = false), 300);\n\t\t},\n\t\tshowPDF() {\n\t\t\tif (\n\t\t\t\tthis.user.type &&\n\t\t\t\tthis.systemParameters.AdminKnowledgeBase &&\n\t\t\t\tthis.systemParameters.TrainerKnowledgeBase\n\t\t\t) {\n\t\t\t\tthis.$emit(\n\t\t\t\t\t\"openPDF\",\n\t\t\t\t\tthis.user.type.toLowerCase() == \"management\"\n\t\t\t\t\t\t? this.systemParameters.AdminKnowledgeBase\n\t\t\t\t\t\t: this.user.type.toLowerCase() == \"trainer\"\n\t\t\t\t\t\t? this.systemParameters.TrainerKnowledgeBase\n\t\t\t\t\t\t: \"\"\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\ttogglePasswordModal(value) {\n\t\t\tthis.showChangePasswordModal = value;\n\t\t},\n\t\tupdateModalPasswordState() {\n\t\t\tthis.showChangePasswordModal = false;\n\t\t},\n\t},\n\tcreated() {\n\t\tif (this.showTabs) {\n\t\t\t// console.log(!this.productVariants.items[this.productVariantId]);\n\t\t\tif (!this.productVariants.items[this.productVariantId]) {\n\t\t\t\tthis.getProductVariantById(this.productVariantId).then(() => {\n\t\t\t\t\tthis.productVariantTitle = `${\n\t\t\t\t\t\tthis.productVariants.items[this.productVariantId].product.title\n\t\t\t\t\t} ( ${this.productVariants.items[this.productVariantId].title} )`;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis.fetchProductVariants().then(() => {\n\t\t\t// console.log(\"fetched product variants for search\");\n\t\t});\n\t},\n\twatch: {\n\t\t$route: function () {\n\t\t\tif (this.$route.meta.showTabs) {\n\t\t\t\t// console.log(!this.productVariants.items[this.productVariantId]);\n\t\t\t\tif (!this.productVariants.items[this.productVariantId]) {\n\t\t\t\t\tthis.getProductVariantById(this.productVariantId).then(() => {\n\t\t\t\t\t\tthis.productVariantTitle = `${\n\t\t\t\t\t\t\tthis.productVariants.items[this.productVariantId].product.title\n\t\t\t\t\t\t} ( ${this.productVariants.items[this.productVariantId].title} )`;\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.productVariantTitle = `${\n\t\t\t\t\t\tthis.productVariants.items[this.productVariantId].product.title\n\t\t\t\t\t} ( ${this.productVariants.items[this.productVariantId].title} )`;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.admin-header .header-container {\n\tbackground-color: #ffffff;\n\theight: 5rem;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tflex-grow: 1;\n\tpadding: 0 1.5rem;\n\tcolumn-gap: 1.25rem;\n\tbox-shadow: 0px 0px 6px rgba(185, 185, 185, 0.25);\n}\n.admin-header {\n\tbackground-color: #ffffff;\n\theight: 5rem;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n\n.admin-header .header-container .menu-icon {\n\twidth: 1.875rem;\n}\n\n.admin-header .header-container .searchbar input {\n\tbackground-color: #f5f5f5;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tborder-radius: 10px;\n\tpadding: 0.75rem 1.25rem;\n\twidth: 100%;\n\toutline: none;\n}\n\n.searchbar {\n\tflex-grow: 16;\n\tfont-size: 1rem;\n\tposition: relative;\n\tmax-width: 45.75rem;\n}\n\n.search-icon {\n\tposition: absolute;\n\tmargin-right: 1.25rem;\n\tright: 0;\n\twidth: 1.375rem;\n\ttop: 0.875rem;\n}\n\n.admin-header .header-container .right-nav {\n\tmargin-left: auto;\n\tdisplay: flex;\n\talign-items: center;\n\tcolumn-gap: 1.25rem;\n}\n\n.my-nav-link {\n\tdisplay: inline-flex;\n\tcolor: #231f20 !important;\n\talign-items: center;\n\theight: fit-content;\n\ttext-decoration: none;\n}\n\n.my-nav-link:hover {\n\tcolor: var(--primary-color) !important;\n}\n\n.user-avatar {\n\twidth: 2rem;\n\theight: 2rem;\n\tcolor: var(--color-white);\n\tbackground-color: #231f20;\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tline-height: 1;\n\tfont-size: 1.2rem;\n\tmin-width: 2rem;\n\tmargin-right: 0.5rem;\n\t/* z-index: 100; */\n}\n\n.user-avatar img {\n\tvertical-align: middle;\n\twidth: 2.3rem;\n\theight: 2.3rem;\n\tborder-radius: 50%;\n\tobject-fit: cover;\n\tobject-position: center;\n}\n\n.user-profile-btn {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n\n.header-link-icon {\n\twidth: 1rem;\n}\n\n.sidebar-header {\n\tpadding: 0 1.5rem;\n\theight: 5rem;\n\tbackground-color: #f5f5f5;\n\tdisplay: flex;\n\talign-items: center;\n\tbox-shadow: 6px 3px 6px 0px #b9b9b912;\n\tz-index: 100;\n\ttransition: all 0.3s ease;\n\ttext-decoration: none !important;\n}\n\n.sidebar-header span {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.25rem;\n\tcolor: #000000;\n\ttransition: all 0.3s ease;\n}\n\n.sidebar-header.collapsed {\n\twidth: 6.25rem;\n\tjustify-content: center;\n}\n\n.sidebar-header:not(.collapsed) {\n\twidth: 20.5rem;\n}\n\n.sidebar-header .sidebar-header-logo {\n\t/* width: 3rem; */\n\theight: 56px;\n\tmargin-right: 1rem;\n}\n.sidebar-header.collapsed .sidebar-header-logo,\n.sidebar-header-logo.w-name {\n\tmargin-right: 0;\n\twidth: 3rem;\n\theight: unset;\n}\n\n.header-tabs {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n}\n\n.header-tab {\n\tpadding: 0;\n}\n\n.header-tab a {\n\tcolor: #000000;\n\ttext-decoration: none;\n\tpadding: 1.75rem 1.5rem;\n\tfont-weight: bold;\n\tfont-size: 1.125rem;\n}\n\n.header-tab a.router-link-active {\n\tbackground-color: #f9f9f9;\n}\n\n.product-variant-title {\n\tpadding: 0 0.5rem;\n\tfont-weight: 500;\n\tmax-width: 18vw;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.search-dropdown {\n\tposition: absolute;\n\ttop: 4.5rem;\n\tbackground-color: #fff;\n\t/* padding: 1rem; */\n\tz-index: 1000;\n\twidth: 100%;\n\tbox-shadow: 0 3px 6px #2f2f2f1f;\n\tborder-radius: 8px;\n}\n\n.searchbar ul {\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tborder-radius: 8px;\n\tmax-height: 70vh;\n\toverflow-y: auto;\n}\n\n.searchbar ul li {\n\tpadding: 1rem;\n\tfont-size: 1rem;\n\tcolor: #000000;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\twidth: 100%;\n\tcursor: pointer;\n\ttransition: all 0.3s linear;\n}\n\n.searchbar ul li:hover {\n\tbackground-color: #f1f1f1;\n}\n\n.searchbar ul li:first-of-type {\n\tborder-top-right-radius: 8px;\n\tborder-top-left-radius: 8px;\n}\n\n.searchbar ul li:last-of-type {\n\tborder-bottom-right-radius: 8px;\n\tborder-bottom-left-radius: 8px;\n}\n\n.searchbar-image {\n\twidth: 4rem;\n\theight: 4rem;\n\tobject-fit: cover;\n\tobject-position: top;\n\tborder-radius: 6px;\n\tmargin-right: 1rem;\n}\n\n.custom-user-dropdown {\n\tbackground-color: #ffffff;\n\twidth: 21.25rem;\n\tbox-shadow: 6px 3px 6px #b9b9b929;\n\tz-index: 999;\n}\n\n.custom-dropdown-item {\n\tdisplay: flex;\n\tpadding: 1.125rem;\n\tfont-size: 1.125rem;\n\tfont-weight: normal !important;\n\ttext-decoration: none !important;\n\tcolor: #231f20 !important;\n}\n\n.custom-dropdown-item:hover {\n\tbackground-color: #f7f7f7;\n}\n\n.dropdown-toggle.show {\n\tdisplay: flex !important;\n}\n\n.header-tabs ul.inline-list {\n\twidth: 40vw;\n\toverflow-y: auto;\n\tflex-wrap: nowrap;\n\tdisplay: flex;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AdminHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AdminHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AdminHeader.vue?vue&type=template&id=65dd3eb6&scoped=true&\"\nimport script from \"./AdminHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./AdminHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AdminHeader.vue?vue&type=style&index=0&id=65dd3eb6&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"65dd3eb6\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-container\"},[(this.$route.meta.isHideAdminLayout!=true)?_c('div',{class:['custom-sidebar', { collapsed: _vm.collapsed }],attrs:{\"id\":\"admin-sidebar\"}},[_c('ul',{staticClass:\"sidebar-list\"},[_c('li',{class:[\n\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t{ active: _vm.activeTab == 'CourseManagement' } ]},[_c('router-link',{staticClass:\"link\",attrs:{\"to\":\"/management/course\",\"role\":\"button\"}},[_c('object',{staticClass:\"sidebar-item-icon color-change-svg\",attrs:{\"data\":require('@/assets/images/course-management-icon.svg'),\"type\":\"image/svg+xml\"}}),(!_vm.collapsed)?_c('span',[_vm._v(\"Course Management\")]):_vm._e()])],1),(!_vm.isTrainer)?_c('li',{class:[\n\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t{ active: _vm.activeTab == 'UsersManagement' } ]},[_c('router-link',{staticClass:\"link\",attrs:{\"to\":\"/management/users\",\"role\":\"button\"}},[_c('object',{staticClass:\"sidebar-item-icon color-change-svg\",attrs:{\"data\":require('@/assets/images/admission-processing-icon.svg'),\"type\":\"image/svg+xml\"}}),(!_vm.collapsed)?_c('span',[_vm._v(\"Users Management\")]):_vm._e()])],1):_vm._e(),(!_vm.isTrainer)?_c('li',{class:[\n\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t{ active: _vm.activeTab == 'InvoiceManagement' } ]},[_c('router-link',{staticClass:\"link\",attrs:{\"to\":\"/management/invoices\",\"role\":\"button\"}},[_c('i',{staticClass:\"fal fa-receipt sidebar-item-icon primary\"}),(!_vm.collapsed)?_c('span',[_vm._v(\"Invoices\")]):_vm._e()])],1):_vm._e(),(!_vm.isTrainer)?_c('li',{class:[\n\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t{ active: _vm.activeTab == 'PaymentManagement' } ]},[_c('router-link',{staticClass:\"link\",attrs:{\"to\":\"/management/payments\",\"role\":\"button\"}},[_c('i',{staticClass:\"fal fa-cash-register sidebar-item-icon primary\"}),(!_vm.collapsed)?_c('span',[_vm._v(\"Payments\")]):_vm._e()])],1):_vm._e(),(!_vm.isTrainer)?_c('li',{class:[\n\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t{ active: _vm.activeTab == 'SystemPreferences' } ]},[_c('router-link',{staticClass:\"link\",attrs:{\"to\":\"/management/preferences\",\"role\":\"button\"}},[_c('i',{staticClass:\"fal fa-cogs sidebar-item-icon primary\"}),(!_vm.collapsed)?_c('span',[_vm._v(\"System Preferences\")]):_vm._e()])],1):_vm._e(),(!_vm.isTrainer)?_c('li',{class:[\n\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t{ active: _vm.activeTab == 'AttendanceWithBarcode' } ]},[_c('router-link',{staticClass:\"link\",attrs:{\"to\":\"/management/barcode-attendance\",\"role\":\"button\"}},[_c('i',{staticClass:\"fal fa-qrcode sidebar-item-icon primary\"}),(!_vm.collapsed)?_c('span',[_vm._v(\"Attendance With QR Code\")]):_vm._e()])],1):_vm._e(),(!_vm.isTrainer)?_c('li',{class:[\n\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t{ active: _vm.activeTab == 'BulkOperations' } ]},[_c('router-link',{staticClass:\"link\",attrs:{\"to\":\"/bulk-operations\",\"role\":\"button\"}},[_c('i',{staticClass:\"fal fa-users-class sidebar-item-icon primary\"}),(!_vm.collapsed)?_c('span',[_vm._v(\"Bulk Operations\")]):_vm._e()])],1):_vm._e(),(!_vm.isTrainer)?_c('li',{class:[\n\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t{ active: _vm.activeTab == 'Support' } ]},[_c('router-link',{staticClass:\"link\",attrs:{\"to\":\"/management/Support\",\"role\":\"button\"}},[_c('i',{staticClass:\"fal fa-user-headset sidebar-item-icon primary\"}),(!_vm.collapsed)?_c('span',[_vm._v(\"Support Tickets\")]):_vm._e()])],1):_vm._e()])]):_vm._e(),_c('div',{class:['page-content', { collapsed: _vm.collapsed }]},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<!-- <sidebar-menu :menu=\"menu\" /> -->\n\t<div class=\"page-container\">\n\t\t<div\n\t\t\tv-if=\"this.$route.meta.isHideAdminLayout!=true\"\n\t\t\tid=\"admin-sidebar\"\n\t\t\t:class=\"['custom-sidebar', { collapsed: collapsed }]\"\n\t\t>\n\t\t\t<ul class=\"sidebar-list\">\n\t\t\t\t<li\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t\t{ active: activeTab == 'CourseManagement' },\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<router-link to=\"/management/course\" class=\"link\" role=\"button\">\n\t\t\t\t\t\t<object\n\t\t\t\t\t\t\t:data=\"require('@/assets/images/course-management-icon.svg')\"\n\t\t\t\t\t\t\ttype=\"image/svg+xml\"\n\t\t\t\t\t\t\tclass=\"sidebar-item-icon color-change-svg\"\n\t\t\t\t\t\t></object>\n\t\t\t\t\t\t<!-- <img\n\t\t\t\t\t\t\tsrc=\"@/assets/images/course-management-icon.svg\"\n\t\t\t\t\t\t\tclass=\"sidebar-item-icon\"\n\t\t\t\t\t\t/> -->\n\t\t\t\t\t\t<span v-if=\"!collapsed\">Course Management</span>\n\t\t\t\t\t</router-link>\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\tv-if=\"!isTrainer\"\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t\t{ active: activeTab == 'UsersManagement' },\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<router-link to=\"/management/users\" class=\"link\" role=\"button\">\n\t\t\t\t\t\t<object\n\t\t\t\t\t\t\t:data=\"require('@/assets/images/admission-processing-icon.svg')\"\n\t\t\t\t\t\t\ttype=\"image/svg+xml\"\n\t\t\t\t\t\t\tclass=\"sidebar-item-icon color-change-svg\"\n\t\t\t\t\t\t></object>\n\t\t\t\t\t\t<!-- <img\n\t\t\t\t\t\t\tsrc=\"@/assets/images/admission-processing-icon.svg\"\n\t\t\t\t\t\t\tclass=\"sidebar-item-icon\"\n\t\t\t\t\t\t/> -->\n\t\t\t\t\t\t<span v-if=\"!collapsed\">Users Management</span>\n\t\t\t\t\t</router-link>\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\tv-if=\"!isTrainer\"\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t\t{ active: activeTab == 'InvoiceManagement' },\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<router-link to=\"/management/invoices\" class=\"link\" role=\"button\">\n\t\t\t\t\t\t<i class=\"fal fa-receipt sidebar-item-icon primary\"></i>\n\t\t\t\t\t\t<span v-if=\"!collapsed\">Invoices</span>\n\t\t\t\t\t</router-link>\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\tv-if=\"!isTrainer\"\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t\t{ active: activeTab == 'PaymentManagement' },\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<router-link to=\"/management/payments\" class=\"link\" role=\"button\">\n\t\t\t\t\t\t<i class=\"fal fa-cash-register sidebar-item-icon primary\"></i>\n\t\t\t\t\t\t<span v-if=\"!collapsed\">Payments</span>\n\t\t\t\t\t</router-link>\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\tv-if=\"!isTrainer\"\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t\t{ active: activeTab == 'SystemPreferences' },\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<router-link to=\"/management/preferences\" class=\"link\" role=\"button\">\n\t\t\t\t\t\t<i class=\"fal fa-cogs sidebar-item-icon primary\"></i>\n\t\t\t\t\t\t<span v-if=\"!collapsed\">System Preferences</span>\n\t\t\t\t\t</router-link>\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\tv-if=\"!isTrainer\"\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t\t{ active: activeTab == 'AttendanceWithBarcode' },\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<router-link\n\t\t\t\t\t\tto=\"/management/barcode-attendance\"\n\t\t\t\t\t\tclass=\"link\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i class=\"fal fa-qrcode sidebar-item-icon primary\"></i>\n\t\t\t\t\t\t<span v-if=\"!collapsed\">Attendance With QR Code</span>\n\t\t\t\t\t</router-link>\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\tv-if=\"!isTrainer\"\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t\t{ active: activeTab == 'BulkOperations' },\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<router-link\n\t\t\t\t\t\tto=\"/bulk-operations\"\n\t\t\t\t\t\tclass=\"link\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i class=\"fal fa-users-class sidebar-item-icon primary\"></i>\n\t\t\t\t\t\t<span v-if=\"!collapsed\">Bulk Operations</span>\n\t\t\t\t\t</router-link>\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\tv-if=\"!isTrainer\"\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'sidebar-list-item',\n\t\t\t\t\t\t{ active: activeTab == 'Support' },\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<router-link\n\t\t\t\t\t\tto=\"/management/Support\"\n\t\t\t\t\t\tclass=\"link\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t>\t<i class=\"fal fa-user-headset sidebar-item-icon primary\"></i>\n\t\t\t\t\t\n\t\t\t\t\t\t<span v-if=\"!collapsed\">Support Tickets</span>\n\t\t\t\t\t</router-link>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\t\t<div :class=\"['page-content', { collapsed: collapsed }]\">\n\t\t\t<slot></slot>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapState } from \"vuex\";\nexport default {\n\tname: \"AdminSidebar\",\n\tdata() {\n\t\treturn {\n\t\t\tactiveTab: \"CourseManagement\",\n\t\t\tcourseIcon: require(\"@/assets/images/course-management-icon.svg\"),\n\t\t\tbarcodeScanner: false,\n\t\t};\n\t},\n\tprops: { collapsed: Boolean },\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t\tisTrainer() {\n\t\t\tif (\n\t\t\t\t(this.user.type && this.user.type.toLowerCase() == \"trainer\") ||\n\t\t\t\t(this.user.role && this.user.role.toLowerCase() == \"trainer\")\n\t\t\t)\n\t\t\t\treturn true;\n\t\t\treturn false;\n\t\t},\n\t},\n\twatch: {\n\t\t$route: function () {\n\t\t\tthis.activeTab =\n\t\t\t\tthis.$route.meta && this.$route.meta.activeTab\n\t\t\t\t\t? this.$route.meta.activeTab\n\t\t\t\t\t: null;\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.activeTab =\n\t\t\tthis.$route.meta && this.$route.meta.activeTab\n\t\t\t\t? this.$route.meta.activeTab\n\t\t\t\t: null;\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tvar svg = document.querySelectorAll(\".color-change-svg\");\n\t\t\t\t// console.log(svg);\n\t\t\t\tfor (var j = 0; j < svg.length; j++) {\n\t\t\t\t\tvar data = svg[j].contentDocument;\n\t\t\t\t\tvar elements = data.querySelectorAll(\".primary-color\");\n\t\t\t\t\tconsole.log(elements);\n\t\t\t\t\tfor (var i = 0; i < elements.length; i++) {\n\t\t\t\t\t\telements[i].attributes[1].value =\n\t\t\t\t\t\t\tthis.systemParameters.Theme.PrimaryColor;\n\t\t\t\t\t\tconsole.log(elements[i].attributes[1].value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 300);\n\t\t});\n\t},\n\tmethods: {\n\t\tshowBarcodeScanner() {\n\t\t\tthis.barcodeScanner = true;\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.custom-sidebar {\n\tbackground-color: #ffffff;\n\tbox-shadow: 6px 3px 6px 0px #b9b9b912;\n\theight: calc(100vh - 5rem);\n\tpadding: 1.5rem;\n\tz-index: 100;\n\ttransition: all 0.3s ease;\n}\n\n.custom-sidebar.collapsed {\n\twidth: 6.25rem;\n}\n\n.custom-sidebar:not(.collapsed) {\n\twidth: 20.5rem;\n}\n\n.page-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: flex-start;\n}\n\n.page-content {\n\t/* flex-grow: 1; */\n\toverflow-y: auto;\n\twidth: calc(100vw - 20.5rem);\n\ttransition: width 0.3s ease;\n}\n\n.page-content.collapsed {\n\twidth: calc(100vw - 6.25rem);\n}\n\n.sidebar-list {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.sidebar-list-item {\n\tbackground-color: #ffffff;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.1);\n\tborder: 1px solid #dcdcdc;\n\tborder-radius: 10px;\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.25rem;\n\tmargin-bottom: 1.75rem;\n\ttransition: all 0.3s ease;\n\tdisplay: flex;\n}\n\n.sidebar-list-item:hover {\n\tbox-shadow: 4px 6px 8px 0px rgb(197 197 197 / 20%);\n}\n.sidebar-list-item.active {\n\tbox-shadow: 4px 6px 8px 0px rgb(197 197 197 / 20%);\n\tborder: 1px solid var(--primary-color);\n}\n\n.custom-sidebar.collapsed .sidebar-list-item {\n\tmin-width: 3.125rem;\n\tmin-height: 3.125rem;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.custom-sidebar.collapsed .sidebar-list-item .link {\n\tpadding: 0.5rem;\n\tjustify-content: center;\n}\n\n.sidebar-list-item .link {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: 0.875rem;\n\twidth: 100%;\n\tcolor: #000000;\n\ttext-decoration: none;\n}\n\n/* .sidebar-list-item .link.router-link-active {\n\tborder-color: var(--primary-color);\n} */\n\n.sidebar-item-icon.primary {\n\tcolor: var(--primary-color);\n}\n\n.sidebar-item-icon {\n\tfont-size: 1.375rem;\n\tmargin-right: 1rem;\n}\n\n.custom-sidebar.collapsed .sidebar-item-icon {\n\tmargin-right: 0;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AdminSidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AdminSidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AdminSidebar.vue?vue&type=template&id=67fef754&scoped=true&\"\nimport script from \"./AdminSidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./AdminSidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AdminSidebar.vue?vue&type=style&index=0&id=67fef754&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"67fef754\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"add-banner-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"add-banner-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h1',{staticClass:\"add-banner-title\"},[_vm._v(_vm._s(_vm.isEdit ? \"Edit\" : \"Add New\")+\" Banner\")]),_c('div',{staticClass:\"body-content-container\"},[_c('div',{class:[\n\t\t\t\t\t'info-container',\n\t\t\t\t\t{ expand: _vm.isFileAdded, link: (_vm.isLinkUpload && !_vm.fileUrl) || _vm.isHTML } ]},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"type\"}},[_vm._v(\"Type (required)\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"placeholder\":\"Select type\",\"name\":\"type\",\"id\":\"type\",\"options\":_vm.filteredBannerTypes,\"label\":\"name\",\"reduce\":function (type) { return type.value; },\"clearable\":true,\"deselectFromDropdown\":true,\"appendToBody\":true,\"autoscroll\":true,\"disabled\":(_vm.isFileAdded && !_vm.isLinkUpload) ||\n\t\t\t\t\t\t\t(_vm.isLinkUpload && _vm.isEdit) ||\n\t\t\t\t\t\t\t(_vm.isLinkUpload && _vm.fileUrl != null),\"calculate-position\":_vm.withPopper},model:{value:(_vm.type),callback:function ($$v) {_vm.type=$$v},expression:\"type\"}})],1),(_vm.isLinkUpload && _vm.type)?_c('div',{staticClass:\"inline-group\"},[(_vm.isLinkUpload)?_c('div',{class:[\n\t\t\t\t\t\t\t'form-group mt-5',\n\t\t\t\t\t\t\t{ 'col-12': !_vm.mobileBanners, 'col-6': _vm.mobileBanners } ]},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"fileUrl\"}},[_vm._v(\"Video/Image Link (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.fileUrl),expression:\"fileUrl\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter link of file to upload ...\",\"type\":\"search\",\"name\":\"fileUrl\",\"id\":\"fileUrl\",\"required\":\"\"},domProps:{\"value\":(_vm.fileUrl)},on:{\"change\":function($event){_vm.isEdit && _vm.update()},\"input\":function($event){if($event.target.composing){ return; }_vm.fileUrl=$event.target.value}}})]):_vm._e(),(_vm.isLinkUpload && _vm.mobileBanners)?_c('div',{staticClass:\"form-group mt-5 col-6\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"mobileFileUrl\"}},[_vm._v(\"Mobile Video/Image Link (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mobileFileUrl),expression:\"mobileFileUrl\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter link of file to upload ...\",\"type\":\"search\",\"name\":\"mobileFileUrl\",\"id\":\"mobileFileUrl\",\"required\":\"\"},domProps:{\"value\":(_vm.mobileFileUrl)},on:{\"change\":function($event){_vm.isEdit && _vm.update()},\"input\":function($event){if($event.target.composing){ return; }_vm.mobileFileUrl=$event.target.value}}})]):_vm._e()]):_vm._e(),(_vm.isHTML)?_c('div',{staticClass:\"inline-group\"},[(_vm.isHTML)?_c('div',{class:[\n\t\t\t\t\t\t\t'form-group mt-5',\n\t\t\t\t\t\t\t{ 'col-12': !_vm.mobileBanners, 'col-6': _vm.mobileBanners } ]},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"htmlCode\"}},[_vm._v(\"HTML Code (required)\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.htmlCode),expression:\"htmlCode\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter HTML code of banner to upload\",\"type\":\"search\",\"name\":\"htmlCode\",\"id\":\"htmlCode\",\"required\":\"\"},domProps:{\"value\":(_vm.htmlCode)},on:{\"change\":function($event){_vm.isEdit && _vm.update()},\"input\":function($event){if($event.target.composing){ return; }_vm.htmlCode=$event.target.value}}})]):_vm._e(),(_vm.isHTML && _vm.mobileBanners)?_c('div',{staticClass:\"form-group mt-5 col-6\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"mobileHtmlCode\"}},[_vm._v(\"Mobile HTML Code (required)\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mobileHtmlCode),expression:\"mobileHtmlCode\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter HTML code of banner to upload\",\"type\":\"search\",\"name\":\"mobileHtmlCode\",\"id\":\"mobileHtmlCode\",\"required\":\"\"},domProps:{\"value\":(_vm.mobileHtmlCode)},on:{\"change\":function($event){_vm.isEdit && _vm.update()},\"input\":function($event){if($event.target.composing){ return; }_vm.mobileHtmlCode=$event.target.value}}})]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"form-group mt-5 col-6\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"caption\"}},[_vm._v(\"Caption (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.caption),expression:\"caption\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter Caption\",\"type\":\"search\",\"name\":\"caption\",\"id\":\"caption\",\"required\":\"\"},domProps:{\"value\":(_vm.caption)},on:{\"change\":function($event){_vm.isEdit && _vm.update()},\"input\":function($event){if($event.target.composing){ return; }_vm.caption=$event.target.value}}})]),_c('div',{staticClass:\"form-group mt-5 col-6\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"order\"}},[_vm._v(\"Order (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.order),expression:\"order\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter the position at which you wish to display this banner\",\"type\":\"search\",\"name\":\"order\",\"id\":\"order\",\"required\":\"\"},domProps:{\"value\":(_vm.order)},on:{\"change\":function($event){_vm.isEdit && _vm.update()},\"input\":function($event){if($event.target.composing){ return; }_vm.order=$event.target.value}}})])]),(_vm.type != 'youtube' && _vm.type != 'vimeo' && _vm.type != 'video')?_c('div',{staticClass:\"form-check form-switch mt-3\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mobileBanners),expression:\"mobileBanners\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"mobileBanners\"},domProps:{\"checked\":Array.isArray(_vm.mobileBanners)?_vm._i(_vm.mobileBanners,null)>-1:(_vm.mobileBanners)},on:{\"change\":[function($event){var $$a=_vm.mobileBanners,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.mobileBanners=$$a.concat([$$v]))}else{$$i>-1&&(_vm.mobileBanners=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.mobileBanners=$$c}},function($event){_vm.isEdit && _vm.update()}]}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"mobileBanners\"}},[_vm._v(\"Separate banner for mobile\")])]):_vm._e()]),_c('div',{class:[\n\t\t\t\t\t'upload-container max-height',\n\t\t\t\t\t{\n\t\t\t\t\t\tshrink: _vm.isFileAdded,\n\t\t\t\t\t\t'd-none': (_vm.isLinkUpload && !_vm.fileUrl) || _vm.isHTML,\n\t\t\t\t\t} ]},[(_vm.isFileAdded && _vm.fileUrl)?_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"dropzone\"}},[_vm._v(_vm._s(_vm.type != \"vimeo\" && _vm.type != \"youtube\" && _vm.type != \"video\" ? \"Desktop banner\" : \"Preview\"))]):_vm._e(),(!_vm.fileUrl && _vm.fileProgress < 100 && !_vm.isLinkUpload)?_c('vue-dropzone',{ref:\"desktop-banner\",attrs:{\"id\":\"dropzone\",\"options\":_vm.dropzoneOptions,\"useCustomSlot\":true},on:{\"vdropzone-file-added\":_vm.uploadBanner,\"vdropzone-total-upload-progress\":_vm.updateProgress}},[_c('div',{staticClass:\"dropzone-custom-content\"},[_c('h3',{staticClass:\"dropzone-custom-title\"},[_vm._v(\" Drag and drop to upload banner! \")]),_c('div',{staticClass:\"subtitle\"},[_vm._v(\" ...or click to select a file from your computer \")]),_c('button',{staticClass:\"upload-btn mt-4\",attrs:{\"role\":\"button\"}},[_c('i',{staticClass:\"fas fa-file-import\"}),_vm._v(\" Select File \")]),(!_vm.isFileAdded)?_c('button',{staticClass:\"upload-btn ms-3 mt-4\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.uploadWithLink}},[_c('i',{staticClass:\"fas fa-link\"}),_vm._v(\" Upload Using Link \")]):_vm._e(),(!_vm.isFileAdded)?_c('button',{staticClass:\"upload-btn ms-3 mt-4\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.uploadHTML}},[_c('i',{staticClass:\"fas fa-code\"}),_vm._v(\" Upload HTML Banner \")]):_vm._e()])]):_vm._e(),(_vm.fileUrl)?_c('div',{staticClass:\"file-preview\"},[(_vm.type == 'image')?_c('img',{staticClass:\"preview-img\",attrs:{\"src\":_vm.fileUrl}}):_vm._e(),(_vm.type == 'video')?_c('video',{staticClass:\"preview-img\",attrs:{\"controls\":\"\",\"src\":_vm.fileUrl}}):_vm._e(),(_vm.type == 'vimeo' || _vm.type == 'youtube')?_c('iframe',{staticClass:\"preview-img\",attrs:{\"src\":_vm.fileUrl,\"frameborder\":\"0\",\"allow\":\"autoplay;\",\"autoplay\":\"\"}}):_vm._e(),_c('div',{staticClass:\"right-menu\"},[(_vm.type == 'image')?_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.openPreview(_vm.fileUrl)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/view-icon.svg\")}})]):_vm._e(),(!_vm.isLinkUpload)?_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.editBannerMedia('fileUrl')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]):_vm._e(),(!_vm.isLinkUpload)?_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.removeFile('fileUrl')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})]):_vm._e(),_c('input',{attrs:{\"type\":\"file\",\"hidden\":\"\",\"id\":\"fileUrl\"},on:{\"input\":_vm.updateMedia}})])]):_vm._e(),(_vm.mobileBanners && _vm.mobileFileUrl)?_c('label',{staticClass:\"main-label mt-4\",attrs:{\"for\":\"dropzone\"}},[_vm._v(\"Mobile banner\")]):_vm._e(),(\n\t\t\t\t\t\t_vm.mobileBanners &&\n\t\t\t\t\t\t!_vm.mobileFileUrl &&\n\t\t\t\t\t\t!_vm.isHTML &&\n\t\t\t\t\t\t(_vm.type == 'video' || _vm.type == 'image')\n\t\t\t\t\t)?_c('vue-dropzone',{ref:\"mobile-banner\",attrs:{\"id\":\"dropzone\",\"options\":_vm.dropzoneOptions,\"useCustomSlot\":true},on:{\"vdropzone-file-added\":_vm.uploadMobileBanner,\"vdropzone-total-upload-progress\":_vm.updateProgress}},[_c('div',{staticClass:\"dropzone-custom-content\"},[_c('h3',{staticClass:\"dropzone-custom-title\"},[_vm._v(\" Drag and drop to upload banner! \")]),_c('div',{staticClass:\"subtitle\"},[_vm._v(\" ...or click to select a file from your computer \")]),_c('button',{staticClass:\"upload-btn mt-4\",attrs:{\"role\":\"button\"}},[_c('i',{staticClass:\"fas fa-file-import\"}),_vm._v(\" Select File \")]),(!_vm.isFileAdded)?_c('button',{staticClass:\"upload-btn ms-3 mt-4\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.uploadWithLink}},[_c('i',{staticClass:\"fas fa-link\"}),_vm._v(\" Upload Using Link \")]):_vm._e()])]):(_vm.mobileBanners && _vm.mobileFileUrl)?_c('div',{staticClass:\"file-preview\"},[(_vm.type == 'image')?_c('img',{staticClass:\"preview-img\",attrs:{\"src\":_vm.mobileFileUrl}}):_vm._e(),(_vm.type == 'video')?_c('video',{staticClass:\"preview-img\",attrs:{\"controls\":\"\",\"src\":_vm.mobileFileUrl}}):_vm._e(),(_vm.type == 'vimeo' || _vm.type == 'youtube')?_c('iframe',{staticClass:\"preview-img\",attrs:{\"src\":_vm.mobileFileUrl,\"frameborder\":\"0\",\"allow\":\"autoplay;\",\"autoplay\":\"\"}}):_vm._e(),_c('div',{staticClass:\"right-menu\"},[(_vm.type == 'image')?_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.openPreview(_vm.mobileFileUrl)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/view-icon.svg\")}})]):_vm._e(),(!_vm.isLinkUpload)?_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.editBannerMedia('mobileFileUrl')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]):_vm._e(),(!_vm.isLinkUpload)?_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.removeFile('mobileFileUrl')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})]):_vm._e(),_c('input',{attrs:{\"type\":\"file\",\"hidden\":\"\",\"id\":\"mobileFileUrl\"},on:{\"input\":_vm.updateMedia}})])]):_vm._e()],1),_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errorText))])]),(!_vm.allOk)?_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.dateErrorText))]):_vm._e(),(_vm.isFileAdded)?_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext() ||\n\t\t\t\t\t(!_vm.isLinkUpload &&\n\t\t\t\t\t\t!_vm.isBannerUploaded &&\n\t\t\t\t\t\t!_vm.isMobileBannerUploaded &&\n\t\t\t\t\t\t!_vm.isHTML) ||\n\t\t\t\t\t_vm.contentLoading ||\n\t\t\t\t\t(_vm.isEdit && !_vm.isChanged) ||\n\t\t\t\t\t_vm.loading},on:{\"click\":_vm.upload}},[(_vm.contentLoading || _vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.isEdit ? \"Update\" : \"Upload\")+\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1)]):_vm._e(),_c('vue-easy-lightbox',{attrs:{\"escDisabled\":\"\",\"moveDisabled\":\"\",\"visible\":_vm.showPreview,\"imgs\":_vm.previewItem},on:{\"hide\":_vm.handleHide}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\tid=\"add-banner-modal\"\n\t\t@change=\"$emit('updateModalState', false)\"\n\t\t:visible=\"visible\"\n\t\thide-header\n\t\tcentered\n\t\tcontent-class=\"add-banner-modal\"\n\t\tsize=\"xl\"\n\t\tbody-class=\"modal-body\"\n\t\thide-footer\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t>\n\t\t<div class=\"body-container\">\n\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<h1 class=\"add-banner-title\">{{ isEdit ? \"Edit\" : \"Add New\" }} Banner</h1>\n\t\t\t<div class=\"body-content-container\">\n\t\t\t\t<div\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'info-container',\n\t\t\t\t\t\t{ expand: isFileAdded, link: (isLinkUpload && !fileUrl) || isHTML },\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t<label class=\"main-label\" for=\"type\">Type (required)</label>\n\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\tplaceholder=\"Select type\"\n\t\t\t\t\t\t\tv-model=\"type\"\n\t\t\t\t\t\t\tname=\"type\"\n\t\t\t\t\t\t\tid=\"type\"\n\t\t\t\t\t\t\t:options=\"filteredBannerTypes\"\n\t\t\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t\t\t:reduce=\"(type) => type.value\"\n\t\t\t\t\t\t\t:clearable=\"true\"\n\t\t\t\t\t\t\t:deselectFromDropdown=\"true\"\n\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t:autoscroll=\"true\"\n\t\t\t\t\t\t\t:disabled=\"\n\t\t\t\t\t\t\t\t(isFileAdded && !isLinkUpload) ||\n\t\t\t\t\t\t\t\t(isLinkUpload && isEdit) ||\n\t\t\t\t\t\t\t\t(isLinkUpload && fileUrl != null)\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t</v-select>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"inline-group\" v-if=\"isLinkUpload && type\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"isLinkUpload\"\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'form-group mt-5',\n\t\t\t\t\t\t\t\t{ 'col-12': !mobileBanners, 'col-6': mobileBanners },\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<label class=\"main-label\" for=\"fileUrl\"\n\t\t\t\t\t\t\t\t>Video/Image Link (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tplaceholder=\"Enter link of file to upload ...\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\tname=\"fileUrl\"\n\t\t\t\t\t\t\t\tid=\"fileUrl\"\n\t\t\t\t\t\t\t\tv-model=\"fileUrl\"\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t@change=\"isEdit && update()\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"isLinkUpload && mobileBanners\"\n\t\t\t\t\t\t\tclass=\"form-group mt-5 col-6\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<label class=\"main-label\" for=\"mobileFileUrl\"\n\t\t\t\t\t\t\t\t>Mobile Video/Image Link (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tplaceholder=\"Enter link of file to upload ...\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\tname=\"mobileFileUrl\"\n\t\t\t\t\t\t\t\tid=\"mobileFileUrl\"\n\t\t\t\t\t\t\t\tv-model=\"mobileFileUrl\"\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t@change=\"isEdit && update()\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"isHTML\" class=\"inline-group\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"isHTML\"\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'form-group mt-5',\n\t\t\t\t\t\t\t\t{ 'col-12': !mobileBanners, 'col-6': mobileBanners },\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<label class=\"main-label\" for=\"htmlCode\"\n\t\t\t\t\t\t\t\t>HTML Code (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\tplaceholder=\"Enter HTML code of banner to upload\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\tname=\"htmlCode\"\n\t\t\t\t\t\t\t\tid=\"htmlCode\"\n\t\t\t\t\t\t\t\tv-model=\"htmlCode\"\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t@change=\"isEdit && update()\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if=\"isHTML && mobileBanners\" class=\"form-group mt-5 col-6\">\n\t\t\t\t\t\t\t<label class=\"main-label\" for=\"mobileHtmlCode\"\n\t\t\t\t\t\t\t\t>Mobile HTML Code (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\tplaceholder=\"Enter HTML code of banner to upload\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\tname=\"mobileHtmlCode\"\n\t\t\t\t\t\t\t\tid=\"mobileHtmlCode\"\n\t\t\t\t\t\t\t\tv-model=\"mobileHtmlCode\"\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t@change=\"isEdit && update()\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t<div class=\"form-group mt-5 col-6\">\n\t\t\t\t\t\t\t<label class=\"main-label\" for=\"caption\">Caption (optional)</label>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tplaceholder=\"Enter Caption\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\tname=\"caption\"\n\t\t\t\t\t\t\t\tid=\"caption\"\n\t\t\t\t\t\t\t\tv-model=\"caption\"\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t@change=\"isEdit && update()\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"form-group mt-5 col-6\">\n\t\t\t\t\t\t\t<label class=\"main-label\" for=\"order\">Order (optional)</label>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tplaceholder=\"Enter the position at which you wish to display this banner\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\tname=\"order\"\n\t\t\t\t\t\t\t\tid=\"order\"\n\t\t\t\t\t\t\t\tv-model=\"order\"\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t@change=\"isEdit && update()\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"form-check form-switch mt-3\"\n\t\t\t\t\t\tv-if=\"type != 'youtube' && type != 'vimeo' && type != 'video'\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\tid=\"mobileBanners\"\n\t\t\t\t\t\t\tv-model=\"mobileBanners\"\n\t\t\t\t\t\t\t@change=\"isEdit && update()\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label class=\"form-check-label\" for=\"mobileBanners\"\n\t\t\t\t\t\t\t>Separate banner for mobile</label\n\t\t\t\t\t\t>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<!-- <div\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'upload-container max-height',\n\t\t\t\t\t\t{ shrink: isFileAdded, 'd-none': isLinkUpload || isHTML },\n\t\t\t\t\t]\"\n\t\t\t\t> -->\n\t\t\t\t<div\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'upload-container max-height',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tshrink: isFileAdded,\n\t\t\t\t\t\t\t'd-none': (isLinkUpload && !fileUrl) || isHTML,\n\t\t\t\t\t\t},\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<label\n\t\t\t\t\t\tv-if=\"isFileAdded && fileUrl\"\n\t\t\t\t\t\tclass=\"main-label\"\n\t\t\t\t\t\tfor=\"dropzone\"\n\t\t\t\t\t\t>{{\n\t\t\t\t\t\t\ttype != \"vimeo\" && type != \"youtube\" && type != \"video\"\n\t\t\t\t\t\t\t\t? \"Desktop banner\"\n\t\t\t\t\t\t\t\t: \"Preview\"\n\t\t\t\t\t\t}}</label\n\t\t\t\t\t>\n\t\t\t\t\t<vue-dropzone\n\t\t\t\t\t\tv-if=\"!fileUrl && fileProgress < 100 && !isLinkUpload\"\n\t\t\t\t\t\tref=\"desktop-banner\"\n\t\t\t\t\t\tid=\"dropzone\"\n\t\t\t\t\t\t:options=\"dropzoneOptions\"\n\t\t\t\t\t\t:useCustomSlot=\"true\"\n\t\t\t\t\t\tv-on:vdropzone-file-added=\"uploadBanner\"\n\t\t\t\t\t\tv-on:vdropzone-total-upload-progress=\"updateProgress\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"dropzone-custom-content\">\n\t\t\t\t\t\t\t<h3 class=\"dropzone-custom-title\">\n\t\t\t\t\t\t\t\tDrag and drop to upload banner!\n\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t<div class=\"subtitle\">\n\t\t\t\t\t\t\t\t...or click to select a file from your computer\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<button role=\"button\" class=\"upload-btn mt-4\">\n\t\t\t\t\t\t\t\t<i class=\"fas fa-file-import\"></i>\n\t\t\t\t\t\t\t\tSelect File\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tv-if=\"!isFileAdded\"\n\t\t\t\t\t\t\t\t@click=\"uploadWithLink\"\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\tclass=\"upload-btn ms-3 mt-4\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<i class=\"fas fa-link\"></i>\n\t\t\t\t\t\t\t\tUpload Using Link\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tv-if=\"!isFileAdded\"\n\t\t\t\t\t\t\t\t@click=\"uploadHTML\"\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\tclass=\"upload-btn ms-3 mt-4\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<i class=\"fas fa-code\"></i>\n\t\t\t\t\t\t\t\tUpload HTML Banner\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</vue-dropzone>\n\t\t\t\t\t<div v-if=\"fileUrl\" class=\"file-preview\">\n\t\t\t\t\t\t<img v-if=\"type == 'image'\" :src=\"fileUrl\" class=\"preview-img\" />\n\t\t\t\t\t\t<video\n\t\t\t\t\t\t\tcontrols\n\t\t\t\t\t\t\tv-if=\"type == 'video'\"\n\t\t\t\t\t\t\t:src=\"fileUrl\"\n\t\t\t\t\t\t\tclass=\"preview-img\"\n\t\t\t\t\t\t></video>\n\t\t\t\t\t\t<iframe\n\t\t\t\t\t\t\tv-if=\"type == 'vimeo' || type == 'youtube'\"\n\t\t\t\t\t\t\tclass=\"preview-img\"\n\t\t\t\t\t\t\t:src=\"fileUrl\"\n\t\t\t\t\t\t\tframeborder=\"0\"\n\t\t\t\t\t\t\tallow=\"autoplay;\"\n\t\t\t\t\t\t\tautoplay\n\t\t\t\t\t\t></iframe>\n\t\t\t\t\t\t<div class=\"right-menu\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tv-if=\"type == 'image'\"\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\t\t@click=\"openPreview(fileUrl)\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img src=\"@/assets/images/view-icon.svg\" />\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tv-if=\"!isLinkUpload\"\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\t\t@click=\"editBannerMedia('fileUrl')\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tv-if=\"!isLinkUpload\"\n\t\t\t\t\t\t\t\t@click=\"removeFile('fileUrl')\"\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<input type=\"file\" hidden id=\"fileUrl\" @input=\"updateMedia\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<label\n\t\t\t\t\t\tv-if=\"mobileBanners && mobileFileUrl\"\n\t\t\t\t\t\tclass=\"main-label mt-4\"\n\t\t\t\t\t\tfor=\"dropzone\"\n\t\t\t\t\t\t>Mobile banner</label\n\t\t\t\t\t>\n\t\t\t\t\t<vue-dropzone\n\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\tmobileBanners &&\n\t\t\t\t\t\t\t!mobileFileUrl &&\n\t\t\t\t\t\t\t!isHTML &&\n\t\t\t\t\t\t\t(type == 'video' || type == 'image')\n\t\t\t\t\t\t\"\n\t\t\t\t\t\tref=\"mobile-banner\"\n\t\t\t\t\t\tid=\"dropzone\"\n\t\t\t\t\t\t:options=\"dropzoneOptions\"\n\t\t\t\t\t\t:useCustomSlot=\"true\"\n\t\t\t\t\t\tv-on:vdropzone-file-added=\"uploadMobileBanner\"\n\t\t\t\t\t\tv-on:vdropzone-total-upload-progress=\"updateProgress\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"dropzone-custom-content\">\n\t\t\t\t\t\t\t<h3 class=\"dropzone-custom-title\">\n\t\t\t\t\t\t\t\tDrag and drop to upload banner!\n\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t<div class=\"subtitle\">\n\t\t\t\t\t\t\t\t...or click to select a file from your computer\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<button role=\"button\" class=\"upload-btn mt-4\">\n\t\t\t\t\t\t\t\t<i class=\"fas fa-file-import\"></i>\n\t\t\t\t\t\t\t\tSelect File\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tv-if=\"!isFileAdded\"\n\t\t\t\t\t\t\t\t@click=\"uploadWithLink\"\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\tclass=\"upload-btn ms-3 mt-4\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<i class=\"fas fa-link\"></i>\n\t\t\t\t\t\t\t\tUpload Using Link\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</vue-dropzone>\n\t\t\t\t\t<div v-else-if=\"mobileBanners && mobileFileUrl\" class=\"file-preview\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tv-if=\"type == 'image'\"\n\t\t\t\t\t\t\t:src=\"mobileFileUrl\"\n\t\t\t\t\t\t\tclass=\"preview-img\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<video\n\t\t\t\t\t\t\tcontrols\n\t\t\t\t\t\t\tv-if=\"type == 'video'\"\n\t\t\t\t\t\t\t:src=\"mobileFileUrl\"\n\t\t\t\t\t\t\tclass=\"preview-img\"\n\t\t\t\t\t\t></video>\n\t\t\t\t\t\t<iframe\n\t\t\t\t\t\t\tv-if=\"type == 'vimeo' || type == 'youtube'\"\n\t\t\t\t\t\t\tclass=\"preview-img\"\n\t\t\t\t\t\t\t:src=\"mobileFileUrl\"\n\t\t\t\t\t\t\tframeborder=\"0\"\n\t\t\t\t\t\t\tallow=\"autoplay;\"\n\t\t\t\t\t\t\tautoplay\n\t\t\t\t\t\t></iframe>\n\t\t\t\t\t\t<div class=\"right-menu\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tv-if=\"type == 'image'\"\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\t\t@click=\"openPreview(mobileFileUrl)\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img src=\"@/assets/images/view-icon.svg\" />\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tv-if=\"!isLinkUpload\"\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\t\t@click=\"editBannerMedia('mobileFileUrl')\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tv-if=\"!isLinkUpload\"\n\t\t\t\t\t\t\t\t@click=\"removeFile('mobileFileUrl')\"\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\t\t\thidden\n\t\t\t\t\t\t\t\tid=\"mobileFileUrl\"\n\t\t\t\t\t\t\t\t@input=\"updateMedia\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- </keep-alive> -->\n\t\t\t\t</div>\n\t\t\t\t<p class=\"text-danger\">{{ errorText }}</p>\n\t\t\t</div>\n\t\t\t<p v-if=\"!allOk\" class=\"text-danger\">{{ dateErrorText }}</p>\n\t\t\t<div v-if=\"isFileAdded\" class=\"step-btn-container\">\n\t\t\t\t<button\n\t\t\t\t\t@click=\"upload\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t:disabled=\"\n\t\t\t\t\t\tdisableNext() ||\n\t\t\t\t\t\t(!isLinkUpload &&\n\t\t\t\t\t\t\t!isBannerUploaded &&\n\t\t\t\t\t\t\t!isMobileBannerUploaded &&\n\t\t\t\t\t\t\t!isHTML) ||\n\t\t\t\t\t\tcontentLoading ||\n\t\t\t\t\t\t(isEdit && !isChanged) ||\n\t\t\t\t\t\tloading\n\t\t\t\t\t\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner small v-if=\"contentLoading || loading\"></b-spinner>\n\t\t\t\t\t{{ isEdit ? \"Update\" : \"Upload\" }}\n\t\t\t\t\t<img src=\"@/assets/images/arrow-right.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<vue-easy-lightbox\n\t\t\t\tescDisabled\n\t\t\t\tmoveDisabled\n\t\t\t\t:visible=\"showPreview\"\n\t\t\t\t:imgs=\"previewItem\"\n\t\t\t\t@hide=\"handleHide\"\n\t\t\t></vue-easy-lightbox>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport vue2Dropzone from \"vue2-dropzone\";\nimport { mapActions, mapState } from \"vuex\";\nimport VueEasyLightbox from \"vue-easy-lightbox\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { createPopper } from \"@popperjs/core\";\nimport { getCookie } from \"../../../../helpers/CookieHelpers\";\n\nexport default {\n\tname: \"AddEditBannerModal\",\n\tdata() {\n\t\treturn {\n\t\t\tbannerTypes: [\n\t\t\t\t{\n\t\t\t\t\tname: \"Image\",\n\t\t\t\t\tvalue: \"image\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"Youtube Video\",\n\t\t\t\t\tvalue: \"youtube\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"Vimeo Video\",\n\t\t\t\t\tvalue: \"vimeo\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"HTML banner\",\n\t\t\t\t\tvalue: \"html\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"Video File (mp4)\",\n\t\t\t\t\tvalue: \"video\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tdropzoneOptions: {\n\t\t\t\turl: \" \",\n\t\t\t\tthumbnailWidth: 300,\n\t\t\t\ttimeout: 100000000,\n\t\t\t\t// maxFilesize: 40,\n\t\t\t\t// addRemoveLinks: true,\n\t\t\t\tuploadMultiple: false,\n\t\t\t\tmaxFiles: 1,\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\tautoProcessQueue: false,\n\t\t\t\tacceptedFiles: \"image/*, video/mp4\",\n\t\t\t\theaders: {\n\t\t\t\t\tAuthToken: \"System123\",\n\t\t\t\t\tAuthorization: `Bearer ${getCookie(\"token\")}`,\n\t\t\t\t},\n\t\t\t},\n\t\t\ttype: null,\n\t\t\tfileName: null,\n\t\t\tisFileAdded: false,\n\t\t\tisError: false,\n\t\t\terrorText: \"\",\n\t\t\tfileUrl: null,\n\t\t\tisLinkUpload: false,\n\t\t\tid: null,\n\t\t\tallOk: true,\n\t\t\tcontentLoading: false,\n\t\t\tfileProgress: 0,\n\t\t\tcaption: null,\n\t\t\tmobileBanners: false,\n\t\t\tmobileFileUrl: null,\n\t\t\tisHTML: false,\n\t\t\thtmlCode: null,\n\t\t\tmobileHtmlCode: null,\n\t\t\torder: null,\n\t\t\tshowPreview: false,\n\t\t\tpreviewItem: \"\",\n\t\t\tisBannerUploaded: false,\n\t\t\tisMobileBannerUploaded: false,\n\t\t\tisChanged: false,\n\t\t};\n\t},\n\tprops: {\n\t\tshowModal: Boolean,\n\t\tbannersList: Array,\n\t\tisEdit: Boolean,\n\t\tbannerData: Object,\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"uploadContentFile\"]),\n\t\t...mapActions(\"appState\", [\"editSystemParameters\"]),\n\t\tcloseModal() {\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t},\n\t\tuploadWithLink(e) {\n\t\t\te.stopPropagation();\n\t\t\tthis.isLinkUpload = true;\n\t\t\tthis.isFileAdded = true;\n\t\t},\n\t\tuploadBanner(file) {\n\t\t\tthis.isFileAdded = true;\n\t\t\tconsole.log(\"file uploaded\", file);\n\t\t\tthis.type = file.type.split(\"/\")[0];\n\n\t\t\t// const [file] = e.target.files;\n\t\t\tif (file) {\n\t\t\t\tthis.fileUrl = URL.createObjectURL(file);\n\t\t\t\tlet formData = new FormData();\n\t\t\t\tformData.append(\"file\", file);\n\t\t\t\tformData.append(\"entity\", \"Banner\");\n\t\t\t\tformData.append(\"IsCompressionRequired\", true);\n\t\t\t\tformData.append(\n\t\t\t\t\t\"type\",\n\t\t\t\t\tthis.type == \"image\" ? \"Image\" : this.type == \"video\" ? \"Video\" : \"\"\n\t\t\t\t);\n\n\t\t\t\t// let formData = formElem.serialize();\n\t\t\t\t// formData.append(\"file\", file);\n\t\t\t\tconsole.log(...formData);\n\t\t\t\tthis.contentLoading = true;\n\t\t\t\tthis.uploadContentFile(formData).then((data) => {\n\t\t\t\t\tthis.fileUrl = data;\n\t\t\t\t\tthis.contentLoading = false;\n\t\t\t\t\t$(\".upload-btn-wrapper\").addClass(\"success\");\n\t\t\t\t\tthis.isBannerUploaded = true;\n\t\t\t\t\tthis.isChanged = true;\n\t\t\t\t\t// if (this.isEdit) {\n\t\t\t\t\t// \tthis.updateObject.fileUrl = this.fileUrl;\n\t\t\t\t\t// \tthis.updateObject.type = this.type;\n\t\t\t\t\t// }\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tuploadMobileBanner(file) {\n\t\t\tthis.isFileAdded = true;\n\t\t\tconsole.log(\"file uploaded\", file);\n\t\t\tthis.type = file.type.split(\"/\")[0];\n\n\t\t\t// const [file] = e.target.files;\n\t\t\tif (file) {\n\t\t\t\tthis.mobileFileUrl = URL.createObjectURL(file);\n\t\t\t\tlet formData = new FormData();\n\t\t\t\tformData.append(\"file\", file);\n\t\t\t\tformData.append(\"entity\", \"Banner\");\t\t\t\t\n\t\t\t\tformData.append(\"IsCompressionRequired\", true);\n\t\t\t\tformData.append(\n\t\t\t\t\t\"type\",\n\t\t\t\t\tthis.type == \"image\" ? \"Image\" : this.type == \"video\" ? \"Video\" : \"\"\n\t\t\t\t);\n\n\t\t\t\t// let formData = formElem.serialize();\n\t\t\t\t// formData.append(\"file\", file);\n\t\t\t\tconsole.log(...formData);\n\n\t\t\t\tthis.contentLoading = true;\n\t\t\t\tthis.uploadContentFile(formData).then((data) => {\n\t\t\t\t\tthis.mobileFileUrl = data;\n\t\t\t\t\tthis.contentLoading = false;\n\t\t\t\t\t// $(\".upload-btn-wrapper\").addClass(\"success\");\n\t\t\t\t\tthis.isMobileBannerUploaded = true;\n\t\t\t\t\tthis.isChanged = true;\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tuploadHTML(e) {\n\t\t\te.stopPropagation();\n\t\t\tthis.isHTML = true;\n\t\t\tthis.isFileAdded = true;\n\t\t\tthis.type = \"html\";\n\t\t},\n\t\tremoveFile(id) {\n\t\t\t// if (id == 'fileUrl')\n\t\t\t// \tthis.fileUrl = null;\n\t\t\tthis.$data[id] = null;\n\t\t},\n\t\tdisableNext() {\n\t\t\tif (!this.isFileAdded && !this.type && !this.fileUrl) {\n\t\t\t\tconsole.log(\"File is not added\");\n\t\t\t\treturn true;\n\t\t\t} else if (this.isHTML && !this.htmlCode) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\tconsole.log(\"File is added\");\n\t\t\t\tif (this.mobileBanners && !this.mobileFileUrl) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tupdateMedia(e) {\n\t\t\tconst file = e.target.files[0];\n\t\t\tif (e.target.id == \"fileUrl\") this.uploadBanner(file);\n\t\t\telse if (e.target.id == \"mobileFileUrl\") this.uploadMobileBanner(file);\n\t\t\tconsole.log(file);\n\t\t},\n\t\teditBannerMedia(id) {\n\t\t\tconsole.log(id);\n\t\t\tdocument.getElementById(id).click();\n\t\t},\n\t\tupload() {\n\t\t\tif (\n\t\t\t\t((this.isBannerUploaded || this.isMobileBannerUploaded) &&\n\t\t\t\t\t!this.isLinkUpload) ||\n\t\t\t\t(this.isLinkUpload && this.fileUrl) ||\n\t\t\t\t(this.isHTML && this.htmlCode)\n\t\t\t) {\n\t\t\t\tvar bannerObj = {\n\t\t\t\t\torder: this.order ? parseInt(this.order) : null,\n\t\t\t\t\tcaption: this.caption,\n\t\t\t\t\ttype:\n\t\t\t\t\t\tthis.type == \"youtube\" || this.type == \"vimeo\"\n\t\t\t\t\t\t\t? \"video\"\n\t\t\t\t\t\t\t: this.type,\n\t\t\t\t\tisLink: this.isLinkUpload,\n\t\t\t\t};\n\t\t\t\tif (this.type.toLowerCase() == \"image\") {\n\t\t\t\t\tbannerObj.sources = [];\n\t\t\t\t\tif (this.fileUrl) {\n\t\t\t\t\t\tbannerObj.sources.push({\n\t\t\t\t\t\t\tscreen_size: \"lg\",\n\t\t\t\t\t\t\tdata: this.fileUrl,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tif (this.mobileFileUrl) {\n\t\t\t\t\t\tbannerObj.sources.push({\n\t\t\t\t\t\t\tscreen_size: \"xs\",\n\t\t\t\t\t\t\tdata: this.mobileFileUrl,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else if (this.type == \"html\") {\n\t\t\t\t\tbannerObj.sources = [];\n\t\t\t\t\tif (this.htmlCode) {\n\t\t\t\t\t\tbannerObj.sources.push({\n\t\t\t\t\t\t\tscreen_size: \"lg\",\n\t\t\t\t\t\t\tdata: this.htmlCode,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tif (this.mobileHtmlCode) {\n\t\t\t\t\t\tbannerObj.sources.push({\n\t\t\t\t\t\t\tscreen_size: \"xs\",\n\t\t\t\t\t\t\tdata: this.mobileHtmlCode,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tbannerObj.source = {\n\t\t\t\t\t\tprovider: this.type.toLowerCase() == \"video\" ? \"mp4\" : this.type,\n\t\t\t\t\t\turl: this.fileUrl,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (this.isEdit) {\n\t\t\t\t\tbannerObj.id = this.bannerData.id;\n\t\t\t\t\tthis.$emit(\"editBanner\", bannerObj);\n\t\t\t\t} else {\n\t\t\t\t\tbannerObj.id = uuidv4();\n\t\t\t\t\tthis.$emit(\"addBanner\", bannerObj);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thandleHide() {\n\t\t\tthis.showPreview = false;\n\t\t},\n\t\topenPreview(url) {\n\t\t\tif (this.type.toLowerCase() == \"image\") {\n\t\t\t\tthis.previewItem = url;\n\t\t\t\tthis.showPreview = true;\n\t\t\t}\n\t\t},\n\t\tupdateProgress(totaluploadprogress, totalBytes, totalBytesSent) {\n\t\t\tthis.fileProgress = totaluploadprogress;\n\t\t},\n\t\tupdate() {\n\t\t\tthis.isChanged = true;\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\t// console.log(dropdownList, component.$refs.toggle, { width });\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"loading\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tfilteredBannerTypes() {\n\t\t\tif (this.isEdit) return this.bannerTypes;\n\t\t\telse\n\t\t\t\treturn this.bannerTypes.filter((type) => {\n\t\t\t\t\tif (this.isLinkUpload && !this.isHTML && type.value != \"html\") {\n\t\t\t\t\t\treturn type;\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t!this.isLinkUpload &&\n\t\t\t\t\t\t!this.isHTML &&\n\t\t\t\t\t\t(type.value == \"image\" || type.value == \"video\")\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn type;\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t!this.isLinkUpload &&\n\t\t\t\t\t\tthis.isHTML &&\n\t\t\t\t\t\ttype.value == \"html\"\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn type;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\t},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible && this.isEdit) {\n\t\t\t\tthis.isFileAdded = true;\n\t\t\t\tthis.caption = this.bannerData.caption;\n\t\t\t\tthis.order = this.bannerData.order;\n\t\t\t\tthis.isLinkUpload = this.bannerData.isLink;\n\t\t\t\tif (\n\t\t\t\t\tthis.bannerData.type == \"video\" &&\n\t\t\t\t\tthis.bannerData.source.provider != \"mp4\"\n\t\t\t\t) {\n\t\t\t\t\tthis.isLinkUpload = true;\n\t\t\t\t\tthis.fileUrl = this.bannerData.source.url;\n\t\t\t\t\tthis.type = this.bannerData.source.provider;\n\t\t\t\t} else if (this.bannerData.type == \"video\") {\n\t\t\t\t\tthis.fileUrl = this.bannerData.source.url;\n\t\t\t\t\tthis.type = \"video\";\n\t\t\t\t} else if (this.bannerData.type == \"html\") {\n\t\t\t\t\tthis.type = this.bannerData.type;\n\t\t\t\t\tthis.isHTML = true;\n\t\t\t\t\tthis.htmlCode = this.bannerData.sources[0].data;\n\t\t\t\t\tif (this.htmlCode) this.isBannerUploaded = true;\n\t\t\t\t\tthis.mobileHtmlCode =\n\t\t\t\t\t\tthis.bannerData.sources.length > 1\n\t\t\t\t\t\t\t? this.bannerData.sources[1].data\n\t\t\t\t\t\t\t: null;\n\t\t\t\t\tif (this.mobileFileUrl) {\n\t\t\t\t\t\tthis.mobileBanners = true;\n\t\t\t\t\t\tthis.isMobileBannerUploaded = true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.type = this.bannerData.type;\n\t\t\t\t\tthis.fileUrl = this.bannerData.sources[0].data;\n\t\t\t\t\tif (this.fileUrl) this.isBannerUploaded = true;\n\t\t\t\t\tthis.mobileFileUrl =\n\t\t\t\t\t\tthis.bannerData.sources.length > 1\n\t\t\t\t\t\t\t? this.bannerData.sources[1].data\n\t\t\t\t\t\t\t: null;\n\t\t\t\t\tif (this.mobileFileUrl) {\n\t\t\t\t\t\tthis.mobileBanners = true;\n\t\t\t\t\t\tthis.isMobileBannerUploaded = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttype: function () {\n\t\t\t// if (this.type == \"vimeo\" || this.type == \"youtube\") {\n\t\t\t// \tthis.isLinkUpload = true;\n\t\t\t// } else {\n\t\t\t// \tthis.isLinkUpload = false;\n\t\t\t// }\n\t\t},\n\t\tmobileBanners: function () {\n\t\t\tif (this.mobileBanners == false) {\n\t\t\t\tthis.isMobileBannerUploaded = false;\n\t\t\t\tthis.mobileFileUrl = null;\n\t\t\t}\n\t\t},\n\t},\n\tcomponents: {\n\t\tvueDropzone: vue2Dropzone,\n\t\tVueEasyLightbox,\n\t},\n};\n</script>\n\n<style>\n.add-banner-modal {\n\tmin-height: 40rem;\n\twidth: 70vw;\n}\n\n.add-banner-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n}\n\n.add-banner-modal .modal-body .body-container {\n\tpadding: 2.5rem;\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tposition: relative;\n}\n\n.add-banner-modal .add-banner-title {\n\tfont-weight: 450;\n\tfont-size: 2rem;\n\tline-height: 0.75;\n\tmargin: 0.5rem 0 2rem;\n\tcolor: #000000;\n}\n\n.add-edit-banner-container {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.add-banner-modal .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n\n.add-edit-banner-container .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0.5rem 0;\n\t/* max-width: 21.625rem; */\n\t/* width: 100%; */\n\tborder-radius: 0;\n\tbox-shadow: none !important;\n\tposition: relative;\n\tbackground-color: transparent;\n}\n\n.add-banner-modal .upload-container.shrink #dropzone {\n\theight: fit-content !important;\n}\n\n.add-banner-modal .upload-container.shrink.max-height {\n\theight: unset !important;\n\tmargin-bottom: 1rem;\n}\n\n.file-preview {\n\tborder-radius: 8px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tfont-family: unset;\n\toverflow: hidden;\n\tmax-height: 34.375rem;\n\tmin-height: 10rem;\n\tborder: 2px solid #dddddd;\n\tcursor: pointer;\n}\n\n.file-preview .preview-img {\n\twidth: 100%;\n}\n\n.file-preview .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n\tposition: absolute;\n}\n\n.file-preview:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.file-preview .right-menu-icon {\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n.file-preview .right-menu-icon img {\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.file-preview .right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n.file-preview .right-menu-icon img {\n\tmax-height: 1rem;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddEditBannerModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddEditBannerModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddEditBannerModal.vue?vue&type=template&id=32fd03b0&\"\nimport script from \"./AddEditBannerModal.vue?vue&type=script&lang=js&\"\nexport * from \"./AddEditBannerModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AddEditBannerModal.vue?vue&type=style&index=0&id=32fd03b0&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h3',{staticClass:\"main-label\"},[_vm._v(\" Banners \"),_c('i',{staticClass:\"far fa-info-circle sys-icon\",attrs:{\"id\":\"tooltip-target-1\"}}),_c('b-tooltip',{attrs:{\"target\":\"tooltip-target-1\",\"triggers\":\"hover\"}},[_vm._v(\" Recommended dimensions for images and videos are 1920 x 800 for best output \")])],1),_c('div',{staticClass:\"banners-container\"},[(_vm.bannersList && _vm.bannersList.length > 0)?_c('div',{staticClass:\"overflow-container\",attrs:{\"id\":\"banners-list\"}},_vm._l((_vm.bannersList),function(banner,index){return _c('div',{key:index,staticClass:\"banner-item\"},[(banner.type.toLowerCase() == 'image')?_c('img',{staticClass:\"banner-preview\",attrs:{\"src\":banner.sources[0].data}}):_vm._e(),(\n\t\t\t\t\t\t\tbanner.type.toLowerCase() == 'video' &&\n\t\t\t\t\t\t\tbanner.source.provider.toLowerCase() == 'youtube'\n\t\t\t\t\t\t)?_c('i',{staticClass:\"fab fa-youtube thumbnail-icon\"}):_vm._e(),(\n\t\t\t\t\t\t\tbanner.type.toLowerCase() == 'video' &&\n\t\t\t\t\t\t\tbanner.source.provider.toLowerCase() == 'vimeo'\n\t\t\t\t\t\t)?_c('i',{staticClass:\"fab fa-vimeo thumbnail-icon\"}):_vm._e(),(\n\t\t\t\t\t\t\tbanner.type.toLowerCase() == 'video' &&\n\t\t\t\t\t\t\tbanner.source.provider.toLowerCase() == 'mp4'\n\t\t\t\t\t\t)?_c('i',{staticClass:\"fas fa-play-circle thumbnail-icon\"}):_vm._e(),(banner.type.toLowerCase() == 'html')?_c('i',{staticClass:\"fas fa-code thumbnail-icon\"}):_vm._e(),(!_vm.loading)?_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.editBanner(banner)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.showDeleteConfirmPopup($event, banner.id)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])]):_c('b-spinner',{staticClass:\"loader\"})],1)}),0):_vm._e(),_c('div',{staticClass:\"banner-item add-new\",on:{\"click\":function($event){return _vm.toggleBannerModal(true)}}},[_c('i',{staticClass:\"far fa-plus-square add-icon\"}),_vm._v(\" Add New Banner \")]),_c('AddEditBannerModal',{ref:\"banner_edit\",attrs:{\"showModal\":_vm.showBannersModal,\"bannersList\":_vm.bannersList,\"isEdit\":_vm.isEdit,\"bannerData\":_vm.bannerToEdit},on:{\"updateModalState\":_vm.toggleBannerModal,\"addBanner\":_vm.addNewBanner,\"editBanner\":_vm.bannerEdit}})],1),_c('div',{staticClass:\"form-check form-switch mt-3\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.autoplay),expression:\"autoplay\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"autoplay\"},domProps:{\"checked\":Array.isArray(_vm.autoplay)?_vm._i(_vm.autoplay,null)>-1:(_vm.autoplay)},on:{\"change\":[function($event){var $$a=_vm.autoplay,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.autoplay=$$a.concat([$$v]))}else{$$i>-1&&(_vm.autoplay=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.autoplay=$$c}},_vm.updateBanners]}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"autoplay\"}},[_vm._v(\"Autoplay Banners\")])]),(_vm.autoplay)?_c('div',{staticClass:\"d-flex flex-column gap-2\"},[_c('label',{staticClass:\"text-muted\"},[_vm._v(\" Duration (in milliseconds)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.duration),expression:\"duration\"}],staticClass:\"form-input col-2\",attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.duration)},on:{\"change\":_vm.updateBanners,\"input\":function($event){if($event.target.composing){ return; }_vm.duration=$event.target.value}}}),_c('div',{staticClass:\"form-check form-switch mt-3\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.pauseOnHover),expression:\"pauseOnHover\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"pauseOnHover\"},domProps:{\"checked\":Array.isArray(_vm.pauseOnHover)?_vm._i(_vm.pauseOnHover,null)>-1:(_vm.pauseOnHover)},on:{\"change\":[function($event){var $$a=_vm.pauseOnHover,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.pauseOnHover=$$a.concat([$$v]))}else{$$i>-1&&(_vm.pauseOnHover=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.pauseOnHover=$$c}},_vm.updateBanners]}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"pauseOnHover\"}},[_vm._v(\"Pause autoplay on banner hover\")])])]):_vm._e(),_c('div',{staticClass:\"form-check form-switch mt-3\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.allowMaterialDownload),expression:\"allowMaterialDownload\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"allowMaterialDownload\"},domProps:{\"checked\":Array.isArray(_vm.allowMaterialDownload)?_vm._i(_vm.allowMaterialDownload,null)>-1:(_vm.allowMaterialDownload)},on:{\"change\":[function($event){var $$a=_vm.allowMaterialDownload,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.allowMaterialDownload=$$a.concat([$$v]))}else{$$i>-1&&(_vm.allowMaterialDownload=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.allowMaterialDownload=$$c}},_vm.updateStudyMaterial]}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"allowMaterialDownload\"}},[_vm._v(\"Enable Download/Print Button by default when uploading new Study Material?\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<h3 class=\"main-label\">\n\t\t\tBanners\n\t\t\t<i class=\"far fa-info-circle sys-icon\" id=\"tooltip-target-1\"></i>\n\t\t\t<b-tooltip target=\"tooltip-target-1\" triggers=\"hover\">\n\t\t\t\tRecommended dimensions for images and videos are 1920 x 800 for best\n\t\t\t\toutput\n\t\t\t</b-tooltip>\n\t\t</h3>\n\t\t<div class=\"banners-container\">\n\t\t\t<div\n\t\t\t\tv-if=\"bannersList && bannersList.length > 0\"\n\t\t\t\tclass=\"overflow-container\"\n\t\t\t\tid=\"banners-list\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(banner, index) in bannersList\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\tclass=\"banner-item\"\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tv-if=\"banner.type.toLowerCase() == 'image'\"\n\t\t\t\t\t\t:src=\"banner.sources[0].data\"\n\t\t\t\t\t\tclass=\"banner-preview\"\n\t\t\t\t\t/>\n\t\t\t\t\t<i\n\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\tbanner.type.toLowerCase() == 'video' &&\n\t\t\t\t\t\t\tbanner.source.provider.toLowerCase() == 'youtube'\n\t\t\t\t\t\t\"\n\t\t\t\t\t\tclass=\"fab fa-youtube thumbnail-icon\"\n\t\t\t\t\t></i>\n\t\t\t\t\t<i\n\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\tbanner.type.toLowerCase() == 'video' &&\n\t\t\t\t\t\t\tbanner.source.provider.toLowerCase() == 'vimeo'\n\t\t\t\t\t\t\"\n\t\t\t\t\t\tclass=\"fab fa-vimeo thumbnail-icon\"\n\t\t\t\t\t></i>\n\t\t\t\t\t<i\n\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\tbanner.type.toLowerCase() == 'video' &&\n\t\t\t\t\t\t\tbanner.source.provider.toLowerCase() == 'mp4'\n\t\t\t\t\t\t\"\n\t\t\t\t\t\tclass=\"fas fa-play-circle thumbnail-icon\"\n\t\t\t\t\t></i>\n\t\t\t\t\t<i\n\t\t\t\t\t\tv-if=\"banner.type.toLowerCase() == 'html'\"\n\t\t\t\t\t\tclass=\"fas fa-code thumbnail-icon\"\n\t\t\t\t\t></i>\n\t\t\t\t\t<div v-if=\"!loading\" class=\"right-menu\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\t@click=\"editBanner(banner)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t\t\t@click=\"showDeleteConfirmPopup($event, banner.id)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t\t<b-spinner v-else class=\"loader\"> </b-spinner>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"banner-item add-new\" @click=\"toggleBannerModal(true)\">\n\t\t\t\t<i class=\"far fa-plus-square add-icon\"></i>\n\t\t\t\tAdd New Banner\n\t\t\t</div>\n\t\t\t<AddEditBannerModal\n\t\t\t\t:showModal=\"showBannersModal\"\n\t\t\t\t:bannersList=\"bannersList\"\n\t\t\t\t@updateModalState=\"toggleBannerModal\"\n\t\t\t\t:isEdit=\"isEdit\"\n\t\t\t\t:bannerData=\"bannerToEdit\"\n\t\t\t\t@addBanner=\"addNewBanner\"\n\t\t\t\t@editBanner=\"bannerEdit\"\n\t\t\t\tref=\"banner_edit\"\n\t\t\t/>\n\t\t</div>\n\t\t<div class=\"form-check form-switch mt-3\">\n\t\t\t<input\n\t\t\t\tclass=\"form-check-input\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\trole=\"switch\"\n\t\t\t\tid=\"autoplay\"\n\t\t\t\tv-model=\"autoplay\"\n\t\t\t\t@change=\"updateBanners\"\n\t\t\t/>\n\t\t\t<label class=\"form-check-label\" for=\"autoplay\">Autoplay Banners</label>\n\t\t</div>\n\t\t<div v-if=\"autoplay\" class=\"d-flex flex-column gap-2\">\n\t\t\t<!-- <div class=\"form-group d-flex\"> -->\n\t\t\t<label class=\"text-muted\"> Duration (in milliseconds)</label>\n\t\t\t<input\n\t\t\t\ttype=\"number\"\n\t\t\t\tclass=\"form-input col-2\"\n\t\t\t\tv-model=\"duration\"\n\t\t\t\t@change=\"updateBanners\"\n\t\t\t/>\n\t\t\t<!-- </div> -->\n\t\t\t<div class=\"form-check form-switch mt-3\">\n\t\t\t\t<input\n\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\trole=\"switch\"\n\t\t\t\t\tid=\"pauseOnHover\"\n\t\t\t\t\tv-model=\"pauseOnHover\"\n\t\t\t\t\t@change=\"updateBanners\"\n\t\t\t\t/>\n\t\t\t\t<label class=\"form-check-label\" for=\"pauseOnHover\"\n\t\t\t\t\t>Pause autoplay on banner hover</label\n\t\t\t\t>\n\t\t\t</div>\n\t\t</div>\n    <div class=\"form-check form-switch mt-3\">\n      <input\n          class=\"form-check-input\"\n          type=\"checkbox\"\n          role=\"switch\"\n          id=\"allowMaterialDownload\"\n          v-model=\"allowMaterialDownload\"\n          @change=\"updateStudyMaterial\"\n      />\n      <label class=\"form-check-label\" for=\"allowMaterialDownload\">Enable Download/Print Button by default when uploading new Study Material?</label>\n    </div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport AddEditBannerModal from \"./AddEditBannerModal.vue\";\n\nexport default {\n\tname: \"BannerSettings\",\n\tdata() {\n\t\treturn {\n\t\t\tbannersList: null,\n\t\t\tmobileBanners: false,\n\t\t\tshowBannersModal: false,\n\t\t\tbannerToEdit: null,\n\t\t\tisEdit: false,\n\t\t\tautoplay: false,\n\t\t\tpauseOnHover: false,\n\t\t\tallowMaterialDownload: false,\n\t\t\tduration: 3000,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"appState\", [\n\t\t\t\"editSystemParameters\",\n\t\t\t\"fetchSystemParameters\",\n\t\t]),\n\t\ttoggleBannerModal(state) {\n\t\t\tif (state != undefined) {\n\t\t\t\tif (state == false) {\n\t\t\t\t\tthis.isEdit = false;\n\t\t\t\t\tthis.bannerToEdit = null;\n\t\t\t\t}\n\t\t\t\tthis.showBannersModal = state;\n\t\t\t} else this.showBannersModal = !this.showBannersModal;\n\t\t},\n\t\teditBanner(banner) {\n\t\t\tthis.isEdit = true;\n\t\t\tthis.bannerToEdit = banner;\n\t\t\tthis.toggleBannerModal();\n\t\t},\n\t\taddNewBanner(banner) {\n\t\t\tvar bannersFromStore = [];\n\t\t\tif (this.systemParameters.Banners)\n\t\t\t\tbannersFromStore = this.systemParameters.Banners.slides;\n\t\t\tvar updatedBannerSlides;\n\n\t\t\tif (\n\t\t\t\tthis.systemParameters.Banners &&\n\t\t\t\tbannersFromStore &&\n\t\t\t\tbannersFromStore.length > 0\n\t\t\t) {\n\t\t\t\tif (!banner.order)\n\t\t\t\t\tbanner.order = this.systemParameters.Banners.slides.at(-1).order + 1;\n\t\t\t\tupdatedBannerSlides = [...this.systemParameters.Banners.slides, banner];\n\t\t\t} else {\n\t\t\t\tbanner.order = 1;\n\t\t\t\tupdatedBannerSlides = [banner];\n\t\t\t}\n\t\t\tvar bannersUpdateObj = {\n\t\t\t\tautoplay: this.autoplay,\n\t\t\t\tduration: this.duration,\n\t\t\t\tpauseOnHover: this.pauseOnHover,\n\t\t\t\tslides: updatedBannerSlides,\n\t\t\t};\n\t\t\tthis.editSystemParameters({\n\t\t\t\tparameterName: \"Banners\",\n\t\t\t\tparameterValue: JSON.stringify(bannersUpdateObj),\n\t\t\t}).then(() => {\n\t\t\t\tthis.fetchSystemParameters().then(() => {\n\t\t\t\t\tthis.$refs.banner_edit.closeModal();\n\t\t\t\t\tsetTimeout(\n\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\tdocument\n\t\t\t\t\t\t\t\t.getElementById(\"banners-list\")\n\t\t\t\t\t\t\t\t.lastElementChild.scrollIntoView({\n\t\t\t\t\t\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t300\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tdeleteBanner(id) {\n\t\t\tvar bannersFromStore = this.systemParameters.Banners;\n\t\t\tvar updatedBannerSlides;\n\t\t\t// bannersFromStore.slides.splice(id, 1);\n\t\t\tupdatedBannerSlides = bannersFromStore.slides.filter(\n\t\t\t\t(slide) => slide.id != id\n\t\t\t);\n\t\t\tvar bannersUpdateObj = {\n\t\t\t\tautoplay: this.autoplay,\n\t\t\t\tduration: this.duration,\n\t\t\t\tpauseOnHover: this.pauseOnHover,\n\t\t\t\tslides: updatedBannerSlides,\n\t\t\t};\n\t\t\tthis.editSystemParameters({\n\t\t\t\tparameterName: \"Banners\",\n\t\t\t\tparameterValue: JSON.stringify(bannersUpdateObj),\n\t\t\t}).then(() => {\n\t\t\t\tthis.fetchSystemParameters().then(() => {\n\t\t\t\t\tthis.$refs.banner_edit.closeModal();\n\t\t\t\t\tsetTimeout(\n\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\tdocument\n\t\t\t\t\t\t\t\t.getElementById(\"banners-list\")\n\t\t\t\t\t\t\t\t.lastElementChild.scrollIntoView({\n\t\t\t\t\t\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t300\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tbannerEdit(banner) {\n\t\t\tconsole.log(banner);\n\t\t\tvar bannersFromStore = this.systemParameters.Banners.slides;\n\t\t\tvar updatedBannerSlides;\n\n\t\t\tif (\n\t\t\t\tthis.systemParameters.Banners &&\n\t\t\t\tbannersFromStore &&\n\t\t\t\tbannersFromStore.length > 0\n\t\t\t) {\n\t\t\t\tif (!banner.order)\n\t\t\t\t\tbanner.order = this.systemParameters.Banners.slides.at(-1).order + 1;\n\t\t\t\tupdatedBannerSlides = bannersFromStore.map((b) => {\n\t\t\t\t\tconsole.log(b, banner);\n\t\t\t\t\tif (b.id == banner.id) return banner;\n\t\t\t\t\telse return b;\n\t\t\t\t});\n\t\t\t}\n\t\t\t// else {\n\t\t\t// \tbanner.order = 1;\n\t\t\t// \tupdatedBannerSlides = [banner];\n\t\t\t// }\n\t\t\tvar bannersUpdateObj = {\n\t\t\t\tautoplay: this.autoplay,\n\t\t\t\tduration: this.duration,\n\t\t\t\tpauseOnHover: this.pauseOnHover,\n\t\t\t\tslides: updatedBannerSlides,\n\t\t\t};\n\t\t\tthis.editSystemParameters({\n\t\t\t\tparameterName: \"Banners\",\n\t\t\t\tparameterValue: JSON.stringify(bannersUpdateObj),\n\t\t\t}).then(() => {\n\t\t\t\tthis.fetchSystemParameters().then(() => {\n\t\t\t\t\tthis.$refs.banner_edit.closeModal();\n\t\t\t\t\tsetTimeout(\n\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\tdocument\n\t\t\t\t\t\t\t\t.getElementById(\"banners-list\")\n\t\t\t\t\t\t\t\t.lastElementChild.scrollIntoView({\n\t\t\t\t\t\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t300\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tupdateBanners() {\n\t\t\tvar bannersFromStore = [];\n\t\t\tif (this.systemParameters.Banners)\n\t\t\t\tbannersFromStore = this.systemParameters.Banners.slides;\n\t\t\tvar bannersUpdateObj = {\n\t\t\t\tautoplay: this.autoplay,\n\t\t\t\tduration: this.duration,\n\t\t\t\tpauseOnHover: this.pauseOnHover,\n\t\t\t\tslides: bannersFromStore,\n\t\t\t};\n\n\t\t\tthis.editSystemParameters({\n\t\t\t\tparameterName: \"Banners\",\n\t\t\t\tparameterValue: JSON.stringify(bannersUpdateObj),\n\t\t\t}).then(() => {\n\t\t\t\tthis.fetchSystemParameters().then(() => {\n\t\t\t\t\tconsole.log(\"banners updated\");\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tupdateStudyMaterial() {\n\t\t\t\n\t\t\tthis.editSystemParameters({\n\t\t\t\tparameterName: \"AllowStudyMaterialDefaultValue\",\n\t\t\t\tparameterValue: this.allowMaterialDownload+\"\",\n\t\t\t}).then(() => {\n\t\t\t\tthis.fetchSystemParameters().then(() => {\n\t\t\t\t\tconsole.log(\"updated\");\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tshowDeleteConfirmPopup(e, id) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(`Are you sure you want to delete this banner?`, {\n\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\tsize: \"md\",\n\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\tcentered: true,\n\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t})\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.deleteBanner(id);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t},\n\tprops: {\n\t\t// bannersList: Object,\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"systemParameters\", \"loading\"]),\n\t},\n\tcreated() {\n\t\tif (this.systemParameters && this.systemParameters.Banners) {\n\t\t\tthis.bannersList = this.systemParameters.Banners.slides;\n\t\t\tthis.autoplay = this.systemParameters.Banners.autoplay;\n\t\t\tthis.pauseOnHover = this.systemParameters.Banners.pauseOnHover;\n\t\t\tthis.duration = this.systemParameters.Banners.duration;\n\t\t\tif (this.bannersList)\n\t\t\t\tthis.bannersList.sort(function (a, b) {\n\t\t\t\t\tif (a.order < b.order) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t\tif (a.order > b.order) {\n\t\t\t\t\t\treturn 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn 0;\n\t\t\t\t});\n\t\t\tsetTimeout(\n\t\t\t\t() =>\n\t\t\t\t\tdocument\n\t\t\t\t\t\t.getElementById(\"banners-list\")\n\t\t\t\t\t\t.lastElementChild.scrollIntoView({\n\t\t\t\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t\t\t}),\n\t\t\t\t300\n\t\t\t);\n\t\t}\n\t\tif (this.systemParameters && this.systemParameters.AllowStudyMaterialDefaultValue) {\n\t\t\tthis.allowMaterialDownload = this.systemParameters.AllowStudyMaterialDefaultValue;\t\t\t\n\t\t}\n\t},\n\tcomponents: {\n\t\tAddEditBannerModal,\n\t},\n\twatch: {\n\t\tsystemParameters: function () {\n\t\t\tif (this.systemParameters.Banners) {\n\t\t\t\tthis.bannersList = this.systemParameters.Banners.slides;\n\t\t\t\tif (this.bannersList)\n\t\t\t\t\tthis.bannersList.sort(function (a, b) {\n\t\t\t\t\t\tif (a.order < b.order) {\n\t\t\t\t\t\t\treturn -1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (a.order > b.order) {\n\t\t\t\t\t\t\treturn 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t});\n\t\t\t}\n\t\t\t// if (this.systemParameters && this.systemParameters.StudyMaterial) {\n\t\t\t// \tthis.allowMaterialDownload = this.systemParameters.StudyMaterial.allowDownload;\n\t\t\t// }\n\t\t\t// if (this.bannersList) this.bannersList.sort();\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.banners-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: flex-start;\n\tcolumn-gap: 1rem;\n\tmargin-bottom: 1rem;\n}\n.overflow-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\toverflow-y: auto;\n\tmargin-bottom: -0.5rem;\n\tpadding-bottom: 0.5rem;\n}\n\n.banner-item {\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.15);\n\tborder-radius: 6px;\n\tcursor: pointer;\n\twidth: 12.5rem;\n\theight: 7rem;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\tcolor: #727272;\n\tposition: relative;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n\trow-gap: 0.875rem;\n\toverflow: hidden;\n\tflex-shrink: 0;\n}\n\n.banner-item .add-icon {\n\tfont-size: 2rem;\n}\n\n.banner-item.add-new {\n\tbackground-color: transparent;\n\tborder-style: dashed;\n\tbox-shadow: none;\n\tborder-width: 2px;\n}\n\n.preferences-card .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n\n.preferences-heading {\n\tfont-size: 1.25rem;\n\tmargin: 0;\n\tfont-weight: 500;\n}\n\n.banner-item .banner-preview {\n\theight: 100%;\n\tobject-fit: cover;\n\tobject-position: top;\n}\n\n.banner-item .thumbnail-icon {\n\tfont-size: 4rem;\n}\n\n.form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0.5rem 0;\n\t/* max-width: 21.625rem; */\n\t/* width: 100%; */\n\tborder-radius: 0;\n\tbox-shadow: none !important;\n\tposition: relative;\n\tbackground-color: transparent;\n}\n\n.banner-item .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n\tposition: absolute;\n}\n\n.banner-item .loader {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tposition: absolute;\n}\n\n.banner-item:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.banner-item .right-menu-icon {\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n.banner-item .right-menu-icon img {\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.banner-item .right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n.banner-item .right-menu-icon img {\n\tmax-height: 1rem;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BannerSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BannerSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BannerSettings.vue?vue&type=template&id=0f77ea6b&scoped=true&\"\nimport script from \"./BannerSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./BannerSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BannerSettings.vue?vue&type=style&index=0&id=0f77ea6b&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0f77ea6b\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings-container\"},[_c('h2',{staticClass:\"primary-label mt-2\"},[_vm._v(\"Theme\")]),_c('div',{staticClass:\"settings-container d-flex flex-wrap\"},[_c('div',{staticClass:\"me-5\"},[_c('h3',{staticClass:\"main-label\"},[_vm._v(\" Primary Color \")]),_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.PrimaryColor),expression:\"PrimaryColor\"}],attrs:{\"type\":\"color\",\"value\":\"#ff0000\",\"data-name\":\"PrimaryColor\",\"id\":\"PrimaryColor\"},domProps:{\"value\":(_vm.PrimaryColor)},on:{\"change\":_vm.changeColor,\"input\":function($event){if($event.target.composing){ return; }_vm.PrimaryColor=$event.target.value}}})])]),_c('div',{},[_c('h3',{staticClass:\"main-label\"},[_vm._v(\" Secondary Color \")]),_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.SecondaryColor),expression:\"SecondaryColor\"}],attrs:{\"type\":\"color\",\"value\":\"#ff0000\",\"data-name\":\"SecondaryColor\",\"id\":\"SecondaryColor\"},domProps:{\"value\":(_vm.SecondaryColor)},on:{\"change\":_vm.changeColor,\"input\":function($event){if($event.target.composing){ return; }_vm.SecondaryColor=$event.target.value}}})])]),_c('div',{staticClass:\"ms-4\"},[(_vm.colorThemeLoading)?_c('b-spinner',{staticClass:\"loader\"}):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\t            \n\t\t<div class=\"settings-container\">\n\t\t\t<h2 class=\"primary-label mt-2\">Theme</h2>\n\t\t\t<div class=\"settings-container d-flex flex-wrap\">\n                <div class=\"me-5\">\n                    <h3 class=\"main-label\">\n                        Primary Color                   \n                    </h3>\n                    <div class=\"form-group\">                             \n\t\t\t\t\t\t<input type=\"color\" value=\"#ff0000\" data-name=\"PrimaryColor\" id=\"PrimaryColor\" v-on:change=\"changeColor\" v-model=\"PrimaryColor\" />       \n                    </div>  \n                </div>\n                <div class=\"\">\n                    <h3 class=\"main-label\">\n                        Secondary Color                     \n                    </h3>\n                    <div class=\"form-group\">\n\t\t\t\t\t\t<input type=\"color\" value=\"#ff0000\" data-name=\"SecondaryColor\" id=\"SecondaryColor\" v-on:change=\"changeColor\" v-model=\"SecondaryColor\" />\n                    </div>  \n                </div>\n                <div class=\"ms-4\">                    \n                    <b-spinner v-if=\"colorThemeLoading\" class=\"loader\"> </b-spinner>                     \n                </div> \n\t\t\t</div>            \n        </div>\t\n    \n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"ColorThemeSettings\",\n    data() {\n\t\treturn {    \n            PrimaryColor: null,\n            SecondaryColor: null,      \n            colorThemeLoading: false,\t\t\t\n\t\t};\n\t},\n    methods: {\n\t\t...mapActions(\"content\", [\"uploadContentFile\"]),\n\t\t...mapActions(\"appState\", [\n\t\t\t\"editSystemParameters\",\n\t\t\t\"fetchSystemParameters\",\t\t\t\n\t\t]),\t\n\t\ttestfun(){\n\t\t\t//var colorWell;\n\t\t\t//colorWell = document.querySelector(\"#PrimaryColor\");\n\t\t\t//this.PrimaryColor.addEventListener(\"change\", updateAll, false);\n\t\t},\n\t\tchangeColor(event){\n\t\t\tif (event) {\n\t\t\t\tvar el = event.target.getAttribute('data-name');\n\t\t\t\tthis[el] = event.target.value;\n\t\t\t\tthis.saveColorTheme();\n\t\t\t}\n\t\t},\n\t\tsaveColorTheme(){\t            \n            this.colorThemeLoading = true;\t\n            var colorThemeObj = {\n\t\t\t\tPrimaryColor: this.PrimaryColor,\n\t\t\t\tSecondaryColor: this.SecondaryColor,\n\t\t\t};\n\t\t\tthis.editSystemParameters({\n\t\t\t\tparameterName: \"Theme\",\n\t\t\t\tparameterValue: JSON.stringify(colorThemeObj),\n\t\t\t}).then(() => {\n\t\t\t\tthis.fetchSystemParameters().then(() => {\t\n\t\t\t\t\tthis.$toasted.success(\"Updated successfully\", {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n                    this.colorThemeLoading = false;\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t},\t\n\tcreated() {\n\t\tif (this.systemParameters.Theme && this.systemParameters.Theme.PrimaryColor) {\n            this.PrimaryColor = this.systemParameters.Theme.PrimaryColor;\n\t\t}\n        if (this.systemParameters.Theme && this.systemParameters.Theme.SecondaryColor) {\n            this.SecondaryColor = this.systemParameters.Theme.SecondaryColor;\n\t\t}        \t\t\n\t},\n\twatch: {     \n\t},\n}\n</script>\n\n<style scoped>\n/* @import './node_modules/verte/dist/verte.css'; */\n.primary-label{\n\tfont-weight: 500;\n    font-size: 1.5rem;\n    line-height: 1.5rem;\n    margin: 0 0 15px;\n    display: inline-block;\n    color: #727272;\n}\n.preferences-card .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n.form-input {\n    font-size: 1rem;\n    outline: none;\n    padding: 0.5rem;\n    width: 100%;\n    border-radius: 0;\n    box-shadow: none !important;\n    position: relative; \n    border: solid 1px #aaa;\n    border-radius: 4px;\n}\n.settings-container .upload-btn-wrapper .loader {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tposition: absolute;\n}\n.verte {\n    justify-content: flex-start;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ColorThemeSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ColorThemeSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ColorThemeSettings.vue?vue&type=template&id=71e6e967&scoped=true&\"\nimport script from \"./ColorThemeSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./ColorThemeSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ColorThemeSettings.vue?vue&type=style&index=0&id=71e6e967&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"71e6e967\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"footer-settings-wrapper\"},[_c('div',{staticClass:\"mb-4 d-flex flex-wrap gap-5 footer-settings \"},[_c('div',{staticClass:\"settings-container col-md-3 px-0 settings-comp-info\"},[_c('h3',{staticClass:\"main-label\"},[_c('span',[_vm._v(\"Address \")]),_c('i',{staticClass:\"far fa-info-circle sys-icon\",attrs:{\"id\":\"tooltip-target-5\"}}),_c('b-tooltip',{attrs:{\"target\":\"tooltip-target-5\",\"triggers\":\"hover\"}},[_vm._v(\" Address appears at the bottom of the page \")]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.enableEditing('Address')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})])])],1),(!_vm.editAddress)?_c('div',{staticClass:\"info-content\"},[_c('span',[_vm._v(_vm._s(_vm.tenantInfo.Address))]),_vm._v(\" \"),_c('br'),(_vm.tenantInfo.AddressMapLatitude && _vm.tenantInfo.AddressMapLongitude)?_c('span',[_c('a',{attrs:{\"target\":\"_blank\",\"href\":(\"https://maps.google.com/?q=\" + (_vm.tenantInfo.AddressMapLatitude) + \",\" + (_vm.tenantInfo.AddressMapLongitude))}},[_c('i',{staticClass:\"fa fa-map-marker\"}),_vm._v(\" \"+_vm._s(_vm.tenantInfo.AddressMapLatitude)+\" , \"+_vm._s(_vm.tenantInfo.AddressMapLongitude))])]):_vm._e()]):_vm._e(),(_vm.editAddress)?_c('div',{staticClass:\"form-group info-edit\"},[_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tempAddress),expression:\"tempAddress\"}],staticClass:\"form-input\",attrs:{\"type\":\"text\",\"id\":\"copmanyAddress\",\"name\":\"copmanyAddress\",\"placeholder\":\"Address\"},domProps:{\"value\":(_vm.tempAddress)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.tempAddress=$event.target.value}}}),_c('div',{staticClass:\"info-edit-form\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tempAddressMapLatitude),expression:\"tempAddressMapLatitude\"}],staticClass:\"form-input\",attrs:{\"type\":\"number\",\"id\":\"copmanyAddressLat\",\"name\":\"copmanyAddress\",\"placeholder\":\"Latitude\"},domProps:{\"value\":(_vm.tempAddressMapLatitude)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.tempAddressMapLatitude=$event.target.value}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tempAddressMapLongitude),expression:\"tempAddressMapLongitude\"}],staticClass:\"form-input\",attrs:{\"type\":\"number\",\"id\":\"copmanyAddressLon\",\"name\":\"copmanyAddress\",\"placeholder\":\"Longitude\"},domProps:{\"value\":(_vm.tempAddressMapLongitude)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.tempAddressMapLongitude=$event.target.value}}})])]),_c('br'),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn content-save-btn-address\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.saveEditing('Address')}}},[_vm._v(\" Save \")]),_c('button',{staticClass:\"skip-step-btn content-save-btn-address\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.disableEditing('Address')}}},[_vm._v(\" Cancel \")])])]):_vm._e()]),_c('div',{staticClass:\"settings-container col-md-3 px-0 settings-comp-info\"},[_c('h3',{staticClass:\"main-label\"},[_c('span',[_vm._v(\"Emails\")]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.enableEditing('Emails')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})])])]),(!_vm.editEmails && _vm.tenantInfo.Emails && _vm.tenantInfo.Emails.length>0)?_c('div',{staticClass:\"info-content\"},_vm._l((_vm.tenantInfo.Emails),function(email){return _c('span',[_vm._v(_vm._s(email)+\" \"),_c('br')])}),0):_vm._e(),(_vm.editEmails)?_c('div',{staticClass:\"form-group info-edit\"},[_c('div',{staticClass:\"info-edit-form\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tempEmails),expression:\"tempEmails\"}],staticClass:\"form-input\",attrs:{\"type\":\"email\",\"id\":\"copmanyEmail\",\"name\":\"copmanyEmail\"},domProps:{\"value\":(_vm.tempEmails)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.tempEmails=$event.target.value}}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.saveEditing('Emails')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.disableEditing('Emails')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])])]):_vm._e()]),_c('div',{staticClass:\"settings-container col-md-3 px-0 settings-comp-info\"},[_c('h3',{staticClass:\"main-label\"},[_c('span',[_vm._v(\"Contact Numbers\")]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.enableEditing('ContactNumbers')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})])])]),(!_vm.editContactNumbers && _vm.tenantInfo.ContactNumbers && _vm.tenantInfo.ContactNumbers.length>0)?_c('div',{staticClass:\"info-content\"},_vm._l((_vm.tenantInfo.ContactNumbers),function(contactNumber){return _c('span',[_vm._v(_vm._s(contactNumber)+\" \"),_c('br')])}),0):_vm._e(),(_vm.editContactNumbers)?_c('div',{staticClass:\"form-group info-edit\"},[_c('div',{staticClass:\"info-edit-form\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tempContactNumbers),expression:\"tempContactNumbers\"}],staticClass:\"form-input\",attrs:{\"type\":\"text\",\"id\":\"copmanyPhone\",\"name\":\"copmanyPhone\"},domProps:{\"value\":(_vm.tempContactNumbers)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.tempContactNumbers=$event.target.value}}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.saveEditing('ContactNumbers')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.disableEditing('ContactNumbers')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])])]):_vm._e()]),_c('div',{staticClass:\"settings-container col-md-3 px-0 settings-comp-info\"},[_c('h3',{staticClass:\"main-label\"},[_c('span',[_vm._v(\"WhatsApp\")]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.enableEditing('WhatsAppNumbers')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})])])]),(!_vm.editWhatsAppNumbers && _vm.tenantInfo.WhatsAppNumbers && _vm.tenantInfo.WhatsAppNumbers.length>0)?_c('div',{staticClass:\"info-content\"},_vm._l((_vm.tenantInfo.WhatsAppNumbers),function(whatsAppNumber){return _c('span',[_vm._v(_vm._s(whatsAppNumber)+\" \"),_c('br')])}),0):_vm._e(),(_vm.editWhatsAppNumbers)?_c('div',{staticClass:\"form-group info-edit\"},[_c('div',{staticClass:\"info-edit-form\"},[_c('vue-tel-input',{class:\"form-input\",attrs:{\"id\":\"companyWhatsApp\",\"name\":\"companyWhatsApp\",\"defaultCountry\":\"PK\",\"inputOptions\":_vm.telInputOptions,\"validCharactersOnly\":\"\",\"autoFormat\":true,\"mode\":\"national\",\"invalidMsg\":\"Please enter a valid whatsApp number\"},on:{\"input\":_vm.validateWhatsApp},model:{value:(_vm.tempWhatsAppNumbers),callback:function ($$v) {_vm.tempWhatsAppNumbers=$$v},expression:\"tempWhatsAppNumbers\"}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.saveEditing('WhatsAppNumbers')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.disableEditing('WhatsAppNumbers')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])],1)]):_vm._e()]),_c('div',{staticClass:\"settings-container col-md-12 px-0 settings-whatsapp-toggle\"},[_c('img',{staticClass:\"whatsapp-button\",attrs:{\"src\":require(\"@/assets/images/whatsapp-us-button.png\"),\"alt\":\"WhatsApp Button\"}}),_c('div',{staticClass:\"form-check form-switch mt-3\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tenantInfo.WhatsAppButton),expression:\"tenantInfo.WhatsAppButton\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"whatsappButton\"},domProps:{\"checked\":Array.isArray(_vm.tenantInfo.WhatsAppButton)?_vm._i(_vm.tenantInfo.WhatsAppButton,null)>-1:(_vm.tenantInfo.WhatsAppButton)},on:{\"change\":[function($event){var $$a=_vm.tenantInfo.WhatsAppButton,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.tenantInfo, \"WhatsAppButton\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.tenantInfo, \"WhatsAppButton\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.tenantInfo, \"WhatsAppButton\", $$c)}},_vm.updateCompanyInfo]}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"whatsappButton\"}},[_vm._v(\"Show WhatsApp Button\")])])])]),_c('div',{},[(_vm.loading)?_c('b-spinner',{staticClass:\"loader\"}):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"footer-settings-wrapper\">\n        <div class=\"mb-4 d-flex flex-wrap gap-5 footer-settings \">\n            \n            <div class=\"settings-container col-md-3 px-0 settings-comp-info\">\n                <h3 class=\"main-label\">\n                    <span>Address </span>                     \n                    <i class=\"far fa-info-circle sys-icon\" id=\"tooltip-target-5\"></i>\n                    <b-tooltip target=\"tooltip-target-5\" triggers=\"hover\">\n                        Address appears at the bottom of the page\n                    </b-tooltip>\n                    <div class=\"right-menu\">                        \n                        <a role=\"button\" class=\"right-menu-icon\" @click=\"enableEditing('Address')\">\n                            <img src=\"@/assets/images/edit-icon.svg\">\n                        </a>\n                    </div>\n                </h3>\n\n                <div v-if=\"!editAddress\" class=\"info-content\">\n                    <span>{{tenantInfo.Address}}</span> <br/>                   \n                    <span v-if=\"tenantInfo.AddressMapLatitude && tenantInfo.AddressMapLongitude\">\n                        <a target=\"_blank\" :href=\"`https://maps.google.com/?q=${tenantInfo.AddressMapLatitude},${tenantInfo.AddressMapLongitude}`\"><i class=\"fa fa-map-marker\"></i> {{tenantInfo.AddressMapLatitude}} , {{tenantInfo.AddressMapLongitude}}</a>\n                    </span>\n                </div>\n                <div v-if=\"editAddress\" class=\"form-group info-edit\">\n                    <div >\n                                <input type=\"text\" id=\"copmanyAddress\" name=\"copmanyAddress\" placeholder=\"Address\" class=\"form-input\" v-model=\"tempAddress\" />  \n                                <div class=\"info-edit-form\">\n                                <input type=\"number\" id=\"copmanyAddressLat\" name=\"copmanyAddress\" placeholder=\"Latitude\" class=\"form-input\" v-model=\"tempAddressMapLatitude\" />  \n                                <input type=\"number\" id=\"copmanyAddressLon\" name=\"copmanyAddress\" placeholder=\"Longitude\" class=\"form-input\" v-model=\"tempAddressMapLongitude\" />  \n                            </div>\n                            </div>     \n                            <br/> \n                            <div class=\"step-btn-container\">\n                                <button type=\"button\" class=\"step-btn content-save-btn-address\" @click=\"saveEditing('Address')\">\n                                    Save\n                                </button>\n                                <button type=\"button\" role=\"button\" class=\"skip-step-btn content-save-btn-address\" @click=\"disableEditing('Address')\">\n                                    Cancel\n                                </button>      \n                            </div>  \n                    </div>                \n            </div>\t\n\n            <div class=\"settings-container col-md-3 px-0 settings-comp-info\">\n                <h3 class=\"main-label\">\n                    <span>Emails</span>    \n                    <div class=\"right-menu\">                        \n                        <a role=\"button\" class=\"right-menu-icon\" @click=\"enableEditing('Emails')\">\n                            <img src=\"@/assets/images/edit-icon.svg\">\n                        </a>\n                    </div>                 \n                </h3>\n                <div v-if=\"!editEmails && tenantInfo.Emails && tenantInfo.Emails.length>0\" class=\"info-content\">\n                    <span v-for=\"email in tenantInfo.Emails\">{{email}} <br/></span>                                       \n                </div>\n                <div v-if=\"editEmails\" class=\"form-group info-edit\">\n                    <div class=\"info-edit-form\">\n                        <input type=\"email\" id=\"copmanyEmail\" name=\"copmanyEmail\" class=\"form-input\" v-model=\"tempEmails\" />  \n                        <button type=\"button\" class=\"content-action-btn save\" @click=\"saveEditing('Emails')\">\n                            <img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\">\n                        </button>\n                        <button type=\"button\" role=\"button\" class=\"content-action-btn cancel\" @click=\"disableEditing('Emails')\">\n                            <img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\">\n                        </button>    \n                    </div>          \n                </div>                               \n            </div>\t\n\n            <div class=\"settings-container col-md-3 px-0 settings-comp-info\">\n                <h3 class=\"main-label\">\n                    <span>Contact Numbers</span>\n                    <div class=\"right-menu\">                        \n                        <a role=\"button\" class=\"right-menu-icon\" @click=\"enableEditing('ContactNumbers')\">\n                            <img src=\"@/assets/images/edit-icon.svg\">\n                        </a>\n                    </div>                     \n                </h3>\n                <div v-if=\"!editContactNumbers && tenantInfo.ContactNumbers && tenantInfo.ContactNumbers.length>0\" class=\"info-content\">\n                    <span v-for=\"contactNumber in tenantInfo.ContactNumbers\">{{contactNumber}} <br/></span>           \n                </div>\n                <div v-if=\"editContactNumbers\" class=\"form-group info-edit\">\n                    <div class=\"info-edit-form\">\n                        <input type=\"text\" id=\"copmanyPhone\" name=\"copmanyPhone\" class=\"form-input\" v-model=\"tempContactNumbers\" />  \n                        <button type=\"button\" class=\"content-action-btn save\" @click=\"saveEditing('ContactNumbers')\">\n                            <img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\">\n                        </button>\n                        <button type=\"button\" role=\"button\" class=\"content-action-btn cancel\" @click=\"disableEditing('ContactNumbers')\">\n                            <img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\">\n                        </button>    \n                    </div>          \n                </div> \n            </div>\n\n\n            <div class=\"settings-container col-md-3 px-0 settings-comp-info\">\n                <h3 class=\"main-label\">\n                    <span>WhatsApp</span>\n                    <div class=\"right-menu\">                        \n                        <a role=\"button\" class=\"right-menu-icon\" @click=\"enableEditing('WhatsAppNumbers')\">\n                            <img src=\"@/assets/images/edit-icon.svg\">\n                        </a>\n                    </div>                     \n                </h3>\n                <div v-if=\"!editWhatsAppNumbers && tenantInfo.WhatsAppNumbers && tenantInfo.WhatsAppNumbers.length>0\" class=\"info-content\">\n                    <span v-for=\"whatsAppNumber in tenantInfo.WhatsAppNumbers\">{{whatsAppNumber}} <br/></span>                 \n                </div>\n                <div v-if=\"editWhatsAppNumbers\" class=\"form-group info-edit\">\n                    <div class=\"info-edit-form\">                        \n\t\t\t\t\t<vue-tel-input\n                    id=\"companyWhatsApp\" name=\"companyWhatsApp\" \n                    :class=\"`form-input`\"\n                    defaultCountry=\"PK\"\n                    :inputOptions=\"telInputOptions\"\n                    validCharactersOnly\n                    v-model=\"tempWhatsAppNumbers\"\n                    :autoFormat=\"true\"\n                    @input=\"validateWhatsApp\"\n                    mode=\"national\"\n                    invalidMsg=\"Please enter a valid whatsApp number\"\n                ></vue-tel-input> \n                        <button type=\"button\" class=\"content-action-btn save\" @click=\"saveEditing('WhatsAppNumbers')\">\n                            <img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\">\n                        </button>\n                        <button type=\"button\" role=\"button\" class=\"content-action-btn cancel\" @click=\"disableEditing('WhatsAppNumbers')\">\n                            <img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\">\n                        </button>    \n                    </div>          \n                </div>\n                              \n            </div>\n\n            <div class=\"settings-container col-md-12 px-0 settings-whatsapp-toggle\">\n                <img src=\"@/assets/images/whatsapp-us-button.png\" alt=\"WhatsApp Button\" class=\"whatsapp-button\" />\n                <div class=\"form-check form-switch mt-3\">\n                    <input\n                        class=\"form-check-input\"\n                        type=\"checkbox\"\n                        role=\"switch\"\n                        id=\"whatsappButton\" \n                        v-model=\"tenantInfo.WhatsAppButton\"\n                        @change=\"updateCompanyInfo\"\n                    />\n                    <label class=\"form-check-label\" for=\"whatsappButton\">Show WhatsApp Button</label>\n                </div>\n            </div>\n\n        </div>\n        <div class=\"\">            \n            <b-spinner v-if=\"loading\" class=\"loader\"> </b-spinner> \n        </div>\n\t</div>\n    \n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"CompanyInfoSettings\",\n    data() {\n\t\treturn {\n            tenantInfo:{\n                Address: '',\n\t\t\t    Emails: [],\n                ContactNumbers: [],\n                WhatsAppNumbers: [],\n                WhatsAppButton: false,\n                AddressMapLatitude:0,\n                AddressMapLongitude:0\n            },\n            telInputOptions: {\n                autocomplete: \"on\",\n                maxlength: 15,\n                tabindex: 15,\n                placeholder: \"Number (required)\",\n                mode: \"national\",\n            },\n            loading: false,\n            editAddress: false,\n            editEmails: false,\n            editContactNumbers: false,\n            editWhatsAppNumbers: false,\n            tempAddress: null,\n            tempAddressMapLatitude: 0,\n            tempAddressMapLongitude: 0,\n            tempEmail: null,\n            tempPhone: null,\n            tempWhatsAppNumbers: null,\n\n\t\t\t\n\t\t};\n\t},\n    methods: {\n\t\t...mapActions(\"content\", [\"uploadContentFile\"]),\n\t\t...mapActions(\"appState\", [\n\t\t\t\"editSystemParameters\",\n\t\t\t\"fetchSystemParameters\",\t\t\t\n\t\t]),\t\n        enableEditing(el){\n            console.warn('Enable Editing ', el);\n            if(el.toLowerCase()==\"emails\" || el.toLowerCase()==\"contactnumbers\" || el.toLowerCase()==\"whatsappnumbers\")\n            {\n                if(this.tenantInfo[el] && this.tenantInfo[el].length>0){\n                    this[`temp${el}`] = this.tenantInfo[el][0];\n                }else{\n                    this[`temp${el}`] = \"\";\n                }\n\n            }else if(el.toLowerCase()==\"address\")\n            {\n                \n                this[`temp${el}`] = this.tenantInfo[el];                  \n                this[`tempAddressMapLatitude`] = this.tenantInfo[\"AddressMapLatitude\"];\n                this[`tempAddressMapLongitude`] = this.tenantInfo[\"AddressMapLongitude\"];\n                \n            }        \n            else{ \n                this[`temp${el}`] = this.tenantInfo[el];   \n            }\n                     \n            this[`edit${el}`] = true;            \n        },   \n        disableEditing(el){\n            this[`temp${el}`] = null;\n            this[`edit${el}`] = false;\n            if(el.toLowerCase()==\"address\")\n            {                             \n                this[`tempAddressMapLatitude`] = null;\n                this[`tempAddressMapLongitude`] = null;                \n            }     \n        },\n        saveEditing(el){\t   \n            if(el.toLowerCase()==\"emails\" || el.toLowerCase()==\"contactnumbers\" || el.toLowerCase()==\"whatsappnumbers\")\n            {\n                if(this.tenantInfo[el] && this.tenantInfo[el].length>0){\n                    this.tenantInfo[el][0] = this[`temp${el}`];\n                }else{\n                    this.tenantInfo[el] = [ this[`temp${el}`]];\n                }\n            }\n            else if(el.toLowerCase()==\"address\")\n            {\n                \n                this.tenantInfo[el] = this[`temp${el}`];                \n                this.tenantInfo[\"AddressMapLatitude\"] = this[`tempAddressMapLatitude`];\n                this.tenantInfo[\"AddressMapLongitude\"] = this[`tempAddressMapLongitude`];                \n            }            \n            else{ \n                this.tenantInfo[el] = this[`temp${el}`];\n            }\n            this.updateCompanyInfo();\n            this.disableEditing(el);\n\t\t},\n\t\tupdateCompanyInfo(){\t            \n            this.loading = true;            \n\t\t\tthis.editSystemParameters({\n\t\t\t\tparameterName: \"TenantInfo\",\n\t\t\t\tparameterValue: JSON.stringify(this.tenantInfo),\n\t\t\t}).then(() => {\n\t\t\t\tthis.fetchSystemParameters().then(() => {\t\t\t\t\t \n\t\t\t\t\tthis.$toasted.success(\"Updated successfully\", {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n                    this.loading = false;                    \n\t\t\t\t});\n\t\t\t});\n\t\t},\n        validateWhatsApp(num, obj) {\n\t\t\t// console.log(num, obj);\n\t\t\tif (obj.valid != null && obj.valid === false) {\n\t\t\t\tthis.isWhatsAppError = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.isWhatsAppError = false;\n\t\t\tif (obj.country && obj.country.iso2) {\n\t\t\t\tthis.tempWhatsAppNumbers = obj.number;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n        \n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t},\n\tcomponents: {},\n\tcreated() {\n\t\tif (this.systemParameters.TenantInfo) {\n\t\t\t//this.tenantInfo = this.systemParameters.TenantInfo;\n            this.tenantInfo.Address = this.systemParameters.TenantInfo.Address;\n            this.tenantInfo.AddressMapLatitude = this.systemParameters.TenantInfo.AddressMapLatitude;\n            this.tenantInfo.AddressMapLongitude = this.systemParameters.TenantInfo.AddressMapLongitude;\n            this.tenantInfo.Emails = this.systemParameters.TenantInfo.Emails;\n            this.tenantInfo.ContactNumbers = this.systemParameters.TenantInfo.ContactNumbers;\n            this.tenantInfo.WhatsAppNumbers = this.systemParameters.TenantInfo.WhatsAppNumbers;\n            this.tenantInfo.WhatsAppButton = this.systemParameters.TenantInfo.WhatsAppButton;\n\t\t}\t\t\n\t},\n\twatch: {\n\t\tsystemParameters: function () {\n\t\t\tif (this.systemParameters.TenantInfo) {\n\t\t\t\t//this.tenantInfo = this.systemParameters.TenantInfo;\n                this.tenantInfo.Address = this.systemParameters.TenantInfo.Address;\n                this.tenantInfo.Emails = this.systemParameters.TenantInfo.Emails;\n                this.tenantInfo.ContactNumbers = this.systemParameters.TenantInfo.ContactNumbers;\n                this.tenantInfo.WhatsAppNumbers = this.systemParameters.TenantInfo.WhatsAppNumbers;\n                this.tenantInfo.WhatsAppButton = this.systemParameters.TenantInfo.WhatsAppButton;\n                this.tenantInfo.AddressMapLatitude = this.systemParameters.TenantInfo.AddressMapLatitude;\n                this.tenantInfo.AddressMapLongitude = this.systemParameters.TenantInfo.AddressMapLongitude;\n\t\t\t}\t\t\t\t\t\t\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n/* .preferences-card .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n} */\n.form-input {\n    font-size: 1rem;\n    outline: none;\n    padding: 0.5rem;\n    width: 100%;\n    border-radius: 0;\n    box-shadow: none !important;\n    position: relative; \n    border: solid 1px #dcdcdc;\n    border-radius: 10px;\n    background: #ffffff;\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    -moz-column-gap: 0.75rem;\n    column-gap: 0.75rem;\n    padding-right: 5.25rem;\n}\n.settings-container .upload-btn-wrapper .loader {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tposition: absolute;\n}\n.info-content{\n    position: relative;\n    padding-right: 2.75rem;\n}\n.info-edit .info-edit-form {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    position: relative;\n    width: 100%;\n}\n.info-content .right-menu,\n.main-label .right-menu {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    -moz-column-gap: 1rem;\n    column-gap: 1rem;\n    margin-left: auto;\n    margin-right: 0.75rem;\n    transition: opacity 0.3s, visibility 0s ease;\n    visibility: hidden;\n    opacity: 0; \n    top: 0.55rem;\n    transform: translateY(-50%);\n    position: absolute;\n    right: 0.25rem;\n}\n.settings-comp-info:hover .main-label .right-menu{\n    visibility: visible;\n    opacity: 1;\n}\n.info-content:hover .right-menu {\n    visibility: visible;\n    opacity: 1;\n}\n\n.content-action-btn.save {\n    border: 1px solid #21cf47;\n    color: #21cf47;\n    position: absolute;\n    right: 2.8rem;\n    top: 0.45rem;\n}\n.content-action-btn.cancel {\n    border: 1px solid #ff0000;\n    color: #ff0000;\n    position: absolute;\n    right: 0.55rem;\n    top: 0.45rem;\n}\n.whatsapp-button{\n    width: 130px;\n}\n#copmanyAddressLat,#copmanyAddressLon{\n    padding-right: 0px;\n    margin-top: 5px;\n}\n\n\n#copmanyAddressLat{\n    margin-right:5px;\n}\n#copmanyAddressLon{\n    margin-left: 5px;\n}\n.content-save-btn-address{\n    height: 30px;\n    padding: 12px !important;\n}\n</style>","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CompanyInfoSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CompanyInfoSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CompanyInfoSettings.vue?vue&type=template&id=1af53078&scoped=true&\"\nimport script from \"./CompanyInfoSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./CompanyInfoSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CompanyInfoSettings.vue?vue&type=style&index=0&id=1af53078&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1af53078\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mb-4 d-flex gap-5\"},[_c('div',{staticClass:\"settings-container\"},[_c('h3',{staticClass:\"main-label\"},[_vm._v(\" Logo \"),_c('i',{staticClass:\"far fa-info-circle sys-icon\",attrs:{\"id\":\"tooltip-target-2\"}}),_c('b-tooltip',{attrs:{\"target\":\"tooltip-target-2\",\"triggers\":\"hover\"}},[_vm._v(\" Recommended dimensions for logo is 160 x 56 px \")])],1),_c('div',{class:['upload-btn-wrapper', { preview: _vm.logoPath }],attrs:{\"id\":\"logo-container\"}},[_c('img',{class:[{ 'd-none': !_vm.logoPath }],attrs:{\"id\":\"preview\",\"src\":_vm.logoPath,\"alt\":\"preview\"}}),(!_vm.logoPath)?_c('button',{staticClass:\"upload-btn\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.openLogoDialog}},[_vm._v(\" upload \")]):_vm._e(),_c('input',{staticClass:\"form-input\",attrs:{\"type\":\"file\",\"accept\":\"image/*\",\"name\":\"file\",\"id\":\"logo-upload\"},on:{\"input\":_vm.getLogoFile}}),(!_vm.logoLoading && _vm.logoPath)?_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.openLogoDialog}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.showDeleteConfirmPopup($event, 'Logo')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])]):_vm._e(),(_vm.logoLoading)?_c('b-spinner',{staticClass:\"loader\"}):_vm._e()],1)]),_c('div',{staticClass:\"settings-container\"},[_c('h3',{staticClass:\"main-label\"},[_vm._v(\" Favicon \"),_c('i',{staticClass:\"far fa-info-circle sys-icon\",attrs:{\"id\":\"tooltip-target-3\"}}),_c('b-tooltip',{attrs:{\"target\":\"tooltip-target-3\",\"triggers\":\"hover\"}},[_vm._v(\" A Favicon is the image that appears on the browser tab. File extension should be .ico \")])],1),_c('div',{class:['upload-btn-wrapper', { preview: _vm.faviconPath }],attrs:{\"id\":\"favicon-container\"}},[_c('img',{class:[{ 'd-none': !_vm.faviconPath }],attrs:{\"id\":\"preview\",\"src\":_vm.faviconPath,\"alt\":\"preview\"}}),(!_vm.faviconPath)?_c('button',{staticClass:\"upload-btn\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.openFaviconDialog}},[_vm._v(\" upload \")]):_vm._e(),_c('input',{staticClass:\"form-input\",attrs:{\"type\":\"file\",\"accept\":\".ico\",\"name\":\"file\",\"id\":\"favicon-upload\"},on:{\"change\":_vm.getFaviconFile}}),(!_vm.faviconLoading && _vm.faviconPath)?_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.openFaviconDialog}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.showDeleteConfirmPopup($event, 'Favicon')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])]):_vm._e(),(_vm.faviconLoading)?_c('b-spinner',{staticClass:\"loader\"}):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"mb-4 d-flex gap-5\">\n\t\t<div class=\"settings-container\">\n\t\t\t<h3 class=\"main-label\">\n\t\t\t\tLogo\n\t\t\t\t<i class=\"far fa-info-circle sys-icon\" id=\"tooltip-target-2\"></i>\n\t\t\t\t<b-tooltip target=\"tooltip-target-2\" triggers=\"hover\">\n\t\t\t\t\tRecommended dimensions for logo is 160 x 56 px\n\t\t\t\t</b-tooltip>\n\t\t\t</h3>\n\t\t\t<div\n\t\t\t\tid=\"logo-container\"\n\t\t\t\t:class=\"['upload-btn-wrapper', { preview: logoPath }]\"\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\t:class=\"[{ 'd-none': !logoPath }]\"\n\t\t\t\t\tid=\"preview\"\n\t\t\t\t\t:src=\"logoPath\"\n\t\t\t\t\talt=\"preview\"\n\t\t\t\t/>\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"!logoPath\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"upload-btn\"\n\t\t\t\t\t@click=\"openLogoDialog\"\n\t\t\t\t>\n\t\t\t\t\tupload\n\t\t\t\t</button>\n\t\t\t\t<input\n\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\ttype=\"file\"\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tname=\"file\"\n\t\t\t\t\tid=\"logo-upload\"\n\t\t\t\t\t@input=\"getLogoFile\"\n\t\t\t\t/>\n\t\t\t\t<div v-if=\"!logoLoading && logoPath\" class=\"right-menu\">\n\t\t\t\t\t<a role=\"button\" class=\"right-menu-icon\" @click=\"openLogoDialog\">\n\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t</a>\n\t\t\t\t\t<a\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t\t@click=\"showDeleteConfirmPopup($event, 'Logo')\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t\t<b-spinner v-if=\"logoLoading\" class=\"loader\"> </b-spinner>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"settings-container\">\n\t\t\t<h3 class=\"main-label\">\n\t\t\t\tFavicon\n\t\t\t\t<i class=\"far fa-info-circle sys-icon\" id=\"tooltip-target-3\"></i>\n\t\t\t\t<b-tooltip target=\"tooltip-target-3\" triggers=\"hover\">\n\t\t\t\t\tA Favicon is the image that appears on the browser tab. File extension\n\t\t\t\t\tshould be .ico\n\t\t\t\t</b-tooltip>\n\t\t\t</h3>\n\t\t\t<div\n\t\t\t\tid=\"favicon-container\"\n\t\t\t\t:class=\"['upload-btn-wrapper', { preview: faviconPath }]\"\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\t:class=\"[{ 'd-none': !faviconPath }]\"\n\t\t\t\t\tid=\"preview\"\n\t\t\t\t\t:src=\"faviconPath\"\n\t\t\t\t\talt=\"preview\"\n\t\t\t\t/>\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"!faviconPath\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"upload-btn\"\n\t\t\t\t\t@click=\"openFaviconDialog\"\n\t\t\t\t>\n\t\t\t\t\tupload\n\t\t\t\t</button>\n\t\t\t\t<input\n\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\ttype=\"file\"\n\t\t\t\t\taccept=\".ico\"\n\t\t\t\t\tname=\"file\"\n\t\t\t\t\tid=\"favicon-upload\"\n\t\t\t\t\t@change=\"getFaviconFile\"\n\t\t\t\t/>\n\t\t\t\t<div v-if=\"!faviconLoading && faviconPath\" class=\"right-menu\">\n\t\t\t\t\t<a role=\"button\" class=\"right-menu-icon\" @click=\"openFaviconDialog\">\n\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t</a>\n\t\t\t\t\t<a\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t\t@click=\"showDeleteConfirmPopup($event, 'Favicon')\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t\t<b-spinner v-if=\"faviconLoading\" class=\"loader\"> </b-spinner>\n\t\t\t</div>\n\t\t</div>\t\t\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"LogoFaviconSettings\",\n\tdata() {\n\t\treturn {\n\t\t\tlogoPath: null,\n\t\t\tfaviconPath: null,\n\t\t\tlogoLoading: false,\n\t\t\tfaviconLoading: false,\t\t\t\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"uploadContentFile\"]),\n\t\t...mapActions(\"appState\", [\n\t\t\t\"editSystemParameters\",\n\t\t\t\"fetchSystemParameters\",\t\t\t\n\t\t]),\n\t\topenLogoDialog() {\n\t\t\t$(\"#logo-upload\").click();\n\t\t},\n\t\topenFaviconDialog() {\n\t\t\t$(\"#favicon-upload\").click();\n\t\t},\n\t\tgetLogoFile(e) {\n\t\t\tconst [file] = e.target.files;\n\t\t\tif (file) {\n\t\t\t\tthis.logoPath = URL.createObjectURL(file);\n\n\t\t\t\tdocument.getElementById(\"preview\").title = file.name;\n\t\t\t\t// this.thumbnailMediaType = file.type.split(\"/\")[0];\n\n\t\t\t\tlet formData = new FormData();\n\t\t\t\tformData.append(\"file\", file);\n\t\t\t\tformData.append(\"entity\", \"Logo\");\n\t\t\t\tformData.append(\"type\", \"Image\");\t\t\t\t\n\t\t\t\tformData.append(\"IsCompressionRequired\", true);\n\n\t\t\t\tconsole.log(...formData);\n\t\t\t\tthis.logoLoading = true;\n\t\t\t\tthis.uploadContentFile(formData)\n\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\tconsole.log(data);\n\t\t\t\t\t\tthis.logoPath = data;\n\t\t\t\t\t\t$(\"#logo-container .upload-btn-wrapper\").addClass(\"success\");\n\t\t\t\t\t\tthis.updateLogo();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsole.log(error);\n\t\t\t\t\t\tthis.logoLoading = false;\n\t\t\t\t\t});\n\t\t\t}\n\t\t\tconsole.log(\"file: \", e.target.files);\n\t\t},\n\t\tgetFaviconFile(e) {\n\t\t\tconst [file] = e.target.files;\n\t\t\tif (file) {\n\t\t\t\tthis.faviconPath = URL.createObjectURL(file);\n\n\t\t\t\tdocument.getElementById(\"preview\").title = file.name;\n\t\t\t\t// this.thumbnailMediaType = file.type.split(\"/\")[0];\n\n\t\t\t\tlet formData = new FormData();\n\t\t\t\tformData.append(\"file\", file);\n\t\t\t\tformData.append(\"entity\", \"Logo\");\n\t\t\t\tformData.append(\"type\", \"Image\");\n\t\t\t\tformData.append(\"IsCompressionRequired\", true);\n\n\t\t\t\tconsole.log(...formData);\n\t\t\t\tthis.faviconLoading = true;\n\t\t\t\tthis.uploadContentFile(formData)\n\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\tconsole.log(data);\n\t\t\t\t\t\tthis.faviconPath = data;\n\t\t\t\t\t\t$(\"#favicon-container .upload-btn-wrapper\").addClass(\"success\");\n\t\t\t\t\t\t// if (this.isEditMode) {\n\t\t\t\t\t\t// this.updateObject.faviconPath = this.faviconPath;\n\t\t\t\t\t\t// this.updateObject.thumbnailMediaType = this.thumbnailMediaType;\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tthis.updateFavicon();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsole.log(error);\n\t\t\t\t\t\tthis.faviconLoading = false;\n\t\t\t\t\t});\n\t\t\t}\n\t\t\tconsole.log(\"file: \", e.target.files);\n\t\t},\n\t\tupdateLogo() {\n\t\t\tthis.editSystemParameters({\n\t\t\t\tparameterName: \"LogoPath\",\n\t\t\t\tparameterValue: this.logoPath,\n\t\t\t}).then(() => {\n\t\t\t\tthis.fetchSystemParameters().then(() => {\n\t\t\t\t\tconsole.log(\"logoPath updated\");\n\t\t\t\t\tthis.logoLoading = false;\n\t\t\t\t\tthis.$toasted.success(\"Logo updated successfully\", {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tupdateFavicon() {\n\t\t\tthis.editSystemParameters({\n\t\t\t\tparameterName: \"FaviconPath\",\n\t\t\t\tparameterValue: this.faviconPath,\n\t\t\t}).then(() => {\n\t\t\t\tthis.fetchSystemParameters().then(() => {\n\t\t\t\t\tconsole.log(\"FaviconPath updated\");\n\t\t\t\t\tthis.faviconLoading = false;\n\t\t\t\t\tthis.$toasted.success(\"Favicon updated successfully\", {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tshowDeleteConfirmPopup(e, type) {\n\t\t\te.preventDefault();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(`Are you sure you want to delete the ${type}?`, {\n\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\tsize: \"md\",\n\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\tcentered: true,\n\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t})\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tif (type.toLowerCase() == \"logo\") {\n\t\t\t\t\t\t\tthis.logoPath = null;\n\t\t\t\t\t\t\tthis.logoLoading = true;\n\t\t\t\t\t\t\tthis.updateLogo();\n\t\t\t\t\t\t} else if (type.toLowerCase() == \"favicon\") {\n\t\t\t\t\t\t\tthis.faviconPath = null;\n\t\t\t\t\t\t\tthis.faviconLoading = true;\n\t\t\t\t\t\t\tthis.updateFavicon();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\t\t\n\t},\n\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t},\n\tcomponents: {},\n\t// watch: {\n\t// \tlogoPath: function () {\n\t// \t\tthis.updateLogo();\n\t// \t},\n\t// },\n\tcreated() {\n\t\tif (this.systemParameters.FaviconPath) {\n\t\t\tthis.faviconPath = this.systemParameters.FaviconPath;\n\t\t}\n\t\tif (this.systemParameters.LogoPath) {\n\t\t\tthis.logoPath = this.systemParameters.LogoPath;\n\t\t}\n\t},\n\twatch: {\n\t\tsystemParameters: function () {\n\t\t\tif (this.systemParameters.LogoPath) {\n\t\t\t\tthis.logoPath = this.systemParameters.LogoPath;\n\t\t\t}\n\t\t\tif (this.systemParameters.FaviconPath) {\n\t\t\t\tthis.faviconPath = this.systemParameters.FaviconPath;\n\t\t\t}\n\t\t\t// if (this.bannersList) this.bannersList.sort();\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.preferences-card .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n.form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0.5rem 0;\n\t/* max-width: 21.625rem; */\n\t/* width: 100%; */\n\tborder-radius: 0;\n\tbox-shadow: none !important;\n\tposition: relative;\n\tbackground-color: transparent;\n}\n\n.settings-container .upload-btn-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tbackground: transparent;\n\tbox-shadow: none !important;\n\tborder-radius: 8px;\n\tpadding: 2rem;\n\tdisplay: flex;\n\twidth: fit-content;\n\talign-items: center;\n\tmax-width: unset;\n\tmax-height: 6.5rem;\n\tborder: 2px dashed #dddddd;\n}\n\n.settings-container .upload-btn-wrapper.fail {\n\tborder: 1px solid var(--color-danger);\n}\n\n.settings-container .upload-btn-wrapper.success {\n\tborder: 1px solid var(--color-success);\n}\n\n.settings-container .upload-btn-wrapper.preview {\n\tpadding: 0;\n\twidth: 10rem;\n\theight: 6.5rem;\n\talign-items: center !important;\n\tjustify-content: center !important;\n\tborder: 1px solid var(--primary-color);\n}\n\n#preview {\n\tmax-height: 100%;\n}\n\n.upload-btn {\n\tpadding: 0.5rem 1.25rem;\n\tfont-weight: bold;\n\tcursor: pointer;\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 6px;\n\ttext-transform: uppercase;\n\tcolor: #000000;\n\tfont-weight: normal;\n}\n\n.upload-btn:hover,\n.upload-btn:focus {\n\tbackground-color: var(--primary-color) !important;\n\tborder-color: #ffffff !important;\n\tcolor: #ffffff !important;\n}\n\n.settings-container .upload-btn-wrapper input[type=\"file\"] {\n\tfont-size: 100px;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n\topacity: 0;\n\tpadding: 0 !important;\n\tcursor: pointer;\n\twidth: 0 !important;\n}\n\n.settings-container .upload-btn-wrapper .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n\tposition: absolute;\n}\n\n.settings-container .upload-btn-wrapper .loader {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tposition: absolute;\n}\n\n.settings-container .upload-btn-wrapper:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.settings-container .upload-btn-wrapper .right-menu-icon {\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n.settings-container .upload-btn-wrapper .right-menu-icon img {\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.settings-container .upload-btn-wrapper .right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n.settings-container .upload-btn-wrapper .right-menu-icon img {\n\tmax-height: 1rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogoFaviconSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogoFaviconSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LogoFaviconSettings.vue?vue&type=template&id=c62b3b60&scoped=true&\"\nimport script from \"./LogoFaviconSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./LogoFaviconSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LogoFaviconSettings.vue?vue&type=style&index=0&id=c62b3b60&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c62b3b60\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"social-settings-wrapper\"},[_c('div',{staticClass:\"mb-4 d-flex flex-wrap gap-4 social-settings \"},[_c('div',{staticClass:\"settings-container settings-social col-md-3 px-0\"},[_c('h3',{staticClass:\"main-label\"},[_c('span',[_vm._v(\"Facebook\")]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.enableEditing('Facebook')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})])])]),(!_vm.editFacebook)?_c('div',{staticClass:\"info-content\"},[_c('a',{attrs:{\"href\":_vm.SocialLinks.Facebook,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.SocialLinks.Facebook))])]):_vm._e(),(_vm.editFacebook)?_c('div',{staticClass:\"form-group info-edit\"},[_c('div',{staticClass:\"info-edit-form\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tempFacebook),expression:\"tempFacebook\"}],staticClass:\"form-input\",attrs:{\"type\":\"text\",\"id\":\"pageFacebook\",\"name\":\"pageFacebook\"},domProps:{\"value\":(_vm.tempFacebook)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.tempFacebook=$event.target.value}}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.saveEditing('Facebook')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.disableEditing('Facebook')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])])]):_vm._e()]),_c('div',{staticClass:\"settings-container settings-social col-md-3 px-0\"},[_c('h3',{staticClass:\"main-label\"},[_c('span',[_vm._v(\"Twitter \")]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.enableEditing('Twitter')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})])])]),(!_vm.editTwitter)?_c('div',{staticClass:\"info-content\"},[_c('a',{attrs:{\"href\":_vm.SocialLinks.Twitter,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.SocialLinks.Twitter))])]):_vm._e(),(_vm.editTwitter)?_c('div',{staticClass:\"form-group info-edit\"},[_c('div',{staticClass:\"info-edit-form\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tempTwitter),expression:\"tempTwitter\"}],staticClass:\"form-input\",attrs:{\"type\":\"text\",\"id\":\"pageTwitter\",\"name\":\"pageTwitter\"},domProps:{\"value\":(_vm.tempTwitter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.tempTwitter=$event.target.value}}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.saveEditing('Twitter')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.disableEditing('Twitter')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])])]):_vm._e()]),_c('div',{staticClass:\"settings-container settings-social col-md-3 px-0\"},[_c('h3',{staticClass:\"main-label\"},[_c('span',[_vm._v(\"LinkedIn \")]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.enableEditing('LinkedIn')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})])])]),(!_vm.editLinkedIn)?_c('div',{staticClass:\"info-content\"},[_c('a',{attrs:{\"href\":_vm.SocialLinks.LinkedIn,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.SocialLinks.LinkedIn))])]):_vm._e(),(_vm.editLinkedIn)?_c('div',{staticClass:\"form-group info-edit\"},[_c('div',{staticClass:\"info-edit-form\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tempLinkedIn),expression:\"tempLinkedIn\"}],staticClass:\"form-input\",attrs:{\"type\":\"text\",\"id\":\"pageLinkedIn\",\"name\":\"pageLinkedIn\"},domProps:{\"value\":(_vm.tempLinkedIn)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.tempLinkedIn=$event.target.value}}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.saveEditing('LinkedIn')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.disableEditing('LinkedIn')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])])]):_vm._e()]),_c('div',{staticClass:\"settings-container settings-social col-md-3 px-0\"},[_c('h3',{staticClass:\"main-label\"},[_c('span',[_vm._v(\"YouTube\")]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.enableEditing('YouTube')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})])])]),(!_vm.editYouTube)?_c('div',{staticClass:\"info-content\"},[_c('a',{attrs:{\"href\":_vm.SocialLinks.YouTube,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.SocialLinks.YouTube))])]):_vm._e(),(_vm.editYouTube)?_c('div',{staticClass:\"form-group info-edit\"},[_c('div',{staticClass:\"info-edit-form\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tempYouTube),expression:\"tempYouTube\"}],staticClass:\"form-input\",attrs:{\"type\":\"text\",\"id\":\"pageYouTube\",\"name\":\"pageYouTube\"},domProps:{\"value\":(_vm.tempYouTube)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.tempYouTube=$event.target.value}}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.saveEditing('YouTube')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.disableEditing('YouTube')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])])]):_vm._e()]),_c('div',{staticClass:\"settings-container settings-social col-md-3 px-0\"},[_c('h3',{staticClass:\"main-label\"},[_c('span',[_vm._v(\"Instagram\")]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.enableEditing('Instagram')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})])])]),(!_vm.editInstagram)?_c('div',{staticClass:\"info-content\"},[_c('a',{attrs:{\"href\":_vm.SocialLinks.Instagram,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.SocialLinks.Instagram))])]):_vm._e(),(_vm.editInstagram)?_c('div',{staticClass:\"form-group info-edit\"},[_c('div',{staticClass:\"info-edit-form\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tempInstagram),expression:\"tempInstagram\"}],staticClass:\"form-input\",attrs:{\"type\":\"text\",\"id\":\"pageInstagram\",\"name\":\"pageInstagram\"},domProps:{\"value\":(_vm.tempInstagram)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.tempInstagram=$event.target.value}}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.saveEditing('Instagram')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.disableEditing('Instagram')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])])]):_vm._e()])]),_c('div',{},[(_vm.loading)?_c('b-spinner',{staticClass:\"loader\"}):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"social-settings-wrapper\">\n        <div class=\"mb-4 d-flex flex-wrap gap-4 social-settings \">\n            \n            <div class=\"settings-container settings-social col-md-3 px-0\">\n                <h3 class=\"main-label\">\n                    <span>Facebook</span>                         \n                    <div class=\"right-menu\">                        \n                        <a role=\"button\" class=\"right-menu-icon\" @click=\"enableEditing('Facebook')\">\n                            <img src=\"@/assets/images/edit-icon.svg\">\n                        </a>\n                    </div>               \n                </h3>\n                <div v-if=\"!editFacebook\" class=\"info-content\">\n                    <a :href=\"SocialLinks.Facebook\" target=\"_blank\">{{SocialLinks.Facebook}}</a> \n                </div>\n                <div v-if=\"editFacebook\" class=\"form-group info-edit\">\n                    <div class=\"info-edit-form\">\n                        <input type=\"text\" id=\"pageFacebook\" name=\"pageFacebook\" class=\"form-input\" v-model=\"tempFacebook\" />  \n                        <button type=\"button\" class=\"content-action-btn save\" @click=\"saveEditing('Facebook')\">\n                            <img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\">\n                        </button>\n                        <button type=\"button\" role=\"button\" class=\"content-action-btn cancel\" @click=\"disableEditing('Facebook')\">\n                            <img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\">\n                        </button>    \n                    </div>          \n                </div>                                \n            </div>\t\n\n            <div class=\"settings-container settings-social col-md-3 px-0\">\n                <h3 class=\"main-label\">\n                    <span>Twitter </span>                    \n                    <div class=\"right-menu\">                        \n                        <a role=\"button\" class=\"right-menu-icon\" @click=\"enableEditing('Twitter')\">\n                            <img src=\"@/assets/images/edit-icon.svg\">\n                        </a>\n                    </div>                    \n                </h3>\n                <div v-if=\"!editTwitter\" class=\"info-content\">\n                    <a :href=\"SocialLinks.Twitter\" target=\"_blank\">{{SocialLinks.Twitter}}</a>  \n                                      \n                </div>\n                <div v-if=\"editTwitter\" class=\"form-group info-edit\">\n                    <div class=\"info-edit-form\">\n                        <input type=\"text\" id=\"pageTwitter\" name=\"pageTwitter\" class=\"form-input\" v-model=\"tempTwitter\" />  \n                        <button type=\"button\" class=\"content-action-btn save\" @click=\"saveEditing('Twitter')\">\n                            <img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\">\n                        </button>\n                        <button type=\"button\" role=\"button\" class=\"content-action-btn cancel\" @click=\"disableEditing('Twitter')\">\n                            <img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\">\n                        </button>    \n                    </div>          \n                </div>                                \n            </div>\t\n\n            <div class=\"settings-container settings-social col-md-3 px-0\">\n                <h3 class=\"main-label\">\n                    <span>LinkedIn  </span>\n                    <div class=\"right-menu\">                        \n                        <a role=\"button\" class=\"right-menu-icon\" @click=\"enableEditing('LinkedIn')\">\n                            <img src=\"@/assets/images/edit-icon.svg\">\n                        </a>\n                    </div> \n                </h3>\n                <div v-if=\"!editLinkedIn\" class=\"info-content\">\n                    <a :href=\"SocialLinks.LinkedIn\" target=\"_blank\">{{SocialLinks.LinkedIn}}</a> \n                                     \n                </div>\n                <div v-if=\"editLinkedIn\" class=\"form-group info-edit\">\n                    <div class=\"info-edit-form\">\n                        <input type=\"text\" id=\"pageLinkedIn\" name=\"pageLinkedIn\" class=\"form-input\" v-model=\"tempLinkedIn\" />  \n                        <button type=\"button\" class=\"content-action-btn save\" @click=\"saveEditing('LinkedIn')\">\n                            <img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\">\n                        </button>\n                        <button type=\"button\" role=\"button\" class=\"content-action-btn cancel\" @click=\"disableEditing('LinkedIn')\">\n                            <img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\">\n                        </button>    \n                    </div>          \n                </div>                               \n            </div>\n\n            <div class=\"settings-container settings-social col-md-3 px-0\">\n                <h3 class=\"main-label\">\n                    <span>YouTube</span> \n                    <div class=\"right-menu\">                        \n                        <a role=\"button\" class=\"right-menu-icon\" @click=\"enableEditing('YouTube')\">\n                            <img src=\"@/assets/images/edit-icon.svg\">\n                        </a>\n                    </div>                    \n                </h3>\n                <div v-if=\"!editYouTube\" class=\"info-content\">\n                    <a :href=\"SocialLinks.YouTube\" target=\"_blank\">{{SocialLinks.YouTube}}</a>                                        \n                </div>\n                <div v-if=\"editYouTube\" class=\"form-group info-edit\">\n                    <div class=\"info-edit-form\">\n                        <input type=\"text\" id=\"pageYouTube\" name=\"pageYouTube\" class=\"form-input\" v-model=\"tempYouTube\" />  \n                        <button type=\"button\" class=\"content-action-btn save\" @click=\"saveEditing('YouTube')\">\n                            <img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\">\n                        </button>\n                        <button type=\"button\" role=\"button\" class=\"content-action-btn cancel\" @click=\"disableEditing('YouTube')\">\n                            <img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\">\n                        </button>    \n                    </div>          \n                </div>                              \n            </div>\n\n            <div class=\"settings-container settings-social col-md-3 px-0\">\n                <h3 class=\"main-label\">\n                    <span>Instagram</span> \n                    <div class=\"right-menu\">                        \n                        <a role=\"button\" class=\"right-menu-icon\" @click=\"enableEditing('Instagram')\">\n                            <img src=\"@/assets/images/edit-icon.svg\">\n                        </a>\n                    </div>                      \n                </h3>\n                <div v-if=\"!editInstagram\" class=\"info-content\">\n                    <a :href=\"SocialLinks.Instagram\" target=\"_blank\">{{SocialLinks.Instagram}}</a>                                      \n                </div>\n                <div v-if=\"editInstagram\" class=\"form-group info-edit\">\n                    <div class=\"info-edit-form\">\n                        <input type=\"text\" id=\"pageInstagram\" name=\"pageInstagram\" class=\"form-input\" v-model=\"tempInstagram\" />  \n                        <button type=\"button\" class=\"content-action-btn save\" @click=\"saveEditing('Instagram')\">\n                            <img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\">\n                        </button>\n                        <button type=\"button\" role=\"button\" class=\"content-action-btn cancel\" @click=\"disableEditing('Instagram')\">\n                            <img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\">\n                        </button>    \n                    </div>          \n                </div>                                \n            </div>            \n\n        </div>\n        \n        <div class=\"\">            \n            <b-spinner v-if=\"loading\" class=\"loader\"> </b-spinner> \n        </div>\n\t</div>\n    \n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"SocialLinksSettings\",\n    data() {\n\t\treturn {    \n            SocialLinks:{\n                Facebook: null,\n                Twitter: null,\n                LinkedIn: null,\n                YouTube: null,\n                Instagram: null, \n            },       \n            loading: false,\t\n            editFacebook: false,\n            editTwitter: false,\n            editLinkedIn: false,\n            editYouTube: false,\n            editInstagram: false,\n            tempFacebook: null,\n            tempTwitter: null,\n            tempLinkedIn: null,\n            tempYouTube: null,\n            tempInstagram: null,\t\t\n\t\t};\n\t},\n    methods: {\n\t\t...mapActions(\"content\", [\"uploadContentFile\"]),\n\t\t...mapActions(\"appState\", [\n\t\t\t\"editSystemParameters\",\n\t\t\t\"fetchSystemParameters\",\t\t\t\n\t\t]),\t\n        enableEditing(el){\n            //console.warn('Enable Editing ', el);\n            this[`temp${el}`] = this.SocialLinks[el];            \n            this[`edit${el}`] = true; \n            //this.editTwitter = true;           \n        },   \n        disableEditing(el){\n            this[`temp${el}`] = null;\n            this[`edit${el}`] = false;\n        },\n        saveEditing(el){\t\n            var socialUrl = this[`temp${el}`];\n            if(socialUrl && socialUrl.indexOf(\"https://\") == -1 && socialUrl.indexOf(\"http://\") == -1){\n                socialUrl = \"https://\" + socialUrl;\n            }    \n            this.SocialLinks[el] = socialUrl;\n            this.updateSocialInfo();\n            this.disableEditing(el);\n\t\t},\n\t\tupdateSocialInfo(){\t            \n            this.loading = true;\t            \n\t\t\tthis.editSystemParameters({\n\t\t\t\tparameterName: \"SocialLinks\",\n\t\t\t\tparameterValue: JSON.stringify(this.SocialLinks),\n\t\t\t}).then(() => {\n\t\t\t\tthis.fetchSystemParameters().then(() => {\n\t\t\t\t\tconsole.log(\"Social Links Updated\");  \n\t\t\t\t\tthis.$toasted.success(\"Social Pages updated successfully\", {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n                    this.loading = false;\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t},\n\tcomponents: {},\n\tcreated() {\n\t\tif (this.systemParameters.SocialLinks && this.systemParameters.SocialLinks.Facebook) {\n            this.SocialLinks.Facebook = this.systemParameters.SocialLinks.Facebook;\n\t\t}\n        if (this.systemParameters.SocialLinks && this.systemParameters.SocialLinks.Twitter) {\n            this.SocialLinks.Twitter = this.systemParameters.SocialLinks.Twitter;\n\t\t}\n        if (this.systemParameters.SocialLinks && this.systemParameters.SocialLinks.LinkedIn) {\n            this.SocialLinks.LinkedIn = this.systemParameters.SocialLinks.LinkedIn;\n\t\t}\n        if (this.systemParameters.SocialLinks && this.systemParameters.SocialLinks.YouTube) {\n            this.SocialLinks.YouTube = this.systemParameters.SocialLinks.YouTube;\n\t\t}\n        if (this.systemParameters.SocialLinks && this.systemParameters.SocialLinks.Instagram) {\n            this.SocialLinks.Instagram = this.systemParameters.SocialLinks.Instagram;\n\t\t}\t\t\n\t},\n\twatch: {\t\t\n\t},\n}\n</script>\n\n\n\n<style>\n.preferences-card .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n</style>\n<style scoped>\n.settings-social{\n    min-width:140px;\n    margin-bottom: 15px;\n}\n.form-input {\n    font-size: 1rem;\n    outline: none;\n    padding: 0.5rem;\n    width: 100%;\n    border-radius: 0;\n    box-shadow: none !important;\n    position: relative; \n    border: solid 1px #dcdcdc;\n    border-radius: 10px;\n    background: #ffffff;\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    -moz-column-gap: 0.75rem;\n    column-gap: 0.75rem;\n    padding-right: 5.25rem;\n}\n.settings-container .upload-btn-wrapper .loader {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tposition: absolute;\n}\n.info-content{\n    position: relative;\n    padding-right: 2.75rem;\n}\n.info-edit .info-edit-form {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    position: relative;\n    width: 100%;\n}\n.info-content .right-menu,\n.main-label .right-menu {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    -moz-column-gap: 1rem;\n    column-gap: 1rem;\n    margin-left: auto;\n    margin-right: 0.75rem;\n    transition: opacity 0.3s, visibility 0s ease;\n    visibility: hidden;\n    opacity: 0; \n    top: 0.55rem;\n    transform: translateY(-50%);\n    position: absolute;\n    right: 0.25rem;\n}\n.settings-social:hover .main-label .right-menu{\n    visibility: visible;\n    opacity: 1;\n}\n.info-content:hover .right-menu {\n    visibility: visible;\n    opacity: 1;\n}\n\n.content-action-btn.save {\n    border: 1px solid #21cf47;\n    color: #21cf47;\n    position: absolute;\n    right: 2.8rem;\n    top: 0.45rem;\n}\n.content-action-btn.cancel {\n    border: 1px solid #ff0000;\n    color: #ff0000;\n    position: absolute;\n    right: 0.55rem;\n    top: 0.45rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SocialLinksSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SocialLinksSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SocialLinksSettings.vue?vue&type=template&id=09ab5c1c&scoped=true&\"\nimport script from \"./SocialLinksSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./SocialLinksSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SocialLinksSettings.vue?vue&type=style&index=0&id=09ab5c1c&prod&lang=css&\"\nimport style1 from \"./SocialLinksSettings.vue?vue&type=style&index=1&id=09ab5c1c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"09ab5c1c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"zoom-account-container\"},[_c('div',{staticClass:\"header-div\"},[_c('h5',{staticClass:\"primary-label mt-2\"},[_vm._v(\"Manage Zoom Accounts\")]),_c('a',{staticClass:\"btn btn-sm btn-primary\",attrs:{\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"},on:{\"click\":function($event){return _vm.addZoomAccount()}}},[_vm._v(\" Add New \")])]),_c('br'),_c('div',{staticClass:\"settings-container\"},[(!_vm.isLoading)?_c('div',[(_vm.zoomServices && _vm.zoomServices.length > 0)?_c('div',_vm._l((_vm.zoomServices),function(service){return _c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-block\"},[_c('div',{staticClass:\"row align-items-center justify-content-center\"},[_c('div',{staticClass:\"col-auto\"},[(service.serviceData && _vm.parseData(service.serviceData) && _vm.parseData(service.serviceData).pic_url)?_c('img',{staticClass:\"img-fluid rounded-circle\",staticStyle:{\"width\":\"35px\",\"height\":\"35px\"},attrs:{\"src\":_vm.parseData(service.serviceData).pic_url}}):_c('img',{staticClass:\"img-fluid rounded-circle\",staticStyle:{\"width\":\"35px\",\"height\":\"35px\"},attrs:{\"src\":require(\"../../../assets/images/zoom-logo.png\")}})]),_c('div',{staticClass:\"col\"},[_c('h5',{staticStyle:{\"margin\":\"0px\"}},[_vm._v(_vm._s(service.serviceName))]),(service.serviceData && _vm.parseData(service.serviceData))?_c('span',[_vm._v(_vm._s(_vm.parseData(service.serviceData).email?_vm.parseData(service.serviceData).email:_vm.parseData(service.serviceData).for))]):_vm._e(),_c('br'),(service.serviceData && _vm.parseData(service.serviceData) && _vm.parseData(service.serviceData).id)?_c('span',[_vm._v(_vm._s(_vm.parseData(service.serviceData).id)+\" | \"+_vm._s(_vm.parseData(service.serviceData).account_id))]):_vm._e()])])])])}),0):_c('div',[_c('p',{staticClass:\"text-muted\"},[_vm._v(\" No Zoom accounts currently added. \")])])]):_vm._e(),(_vm.isLoading)?_c('div',{staticClass:\"ms-4\"},[_c('b-spinner',{staticClass:\"loader\"})],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\t            \n\t\t<div class=\"zoom-account-container\">\n\t\t\t<div class=\"header-div\">\n\t\t\t\t<h5 class=\"primary-label mt-2\">Manage Zoom Accounts</h5>\n\t\t\t\t<a class=\"btn btn-sm btn-primary\" @click=\"addZoomAccount()\" target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t\tAdd New\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t\t<br/>\n\t\t\t<div class=\"settings-container\">\n\t\t\t\t\t<div v-if=\"!isLoading\">\n\t\t\t\t\t\t<div v-if=\"zoomServices && zoomServices.length > 0\">\n\t\t\t\t\t\t\t<div class=\"card\" v-for=\"service in zoomServices\">\n\t\t\t\t\t\t\t\t<div class=\"card-block\">\n\t\t\t\t\t\t\t\t\t<div class=\"row align-items-center justify-content-center\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-auto\">\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<img class=\"img-fluid rounded-circle\" style=\"width:35px; height: 35px;\" v-if=\"service.serviceData && parseData(service.serviceData) && parseData(service.serviceData).pic_url\" :src=\"parseData(service.serviceData).pic_url\" >\n\t\t\t\t\t\t\t\t\t\t\t<img class=\"img-fluid rounded-circle\" style=\"width:35px; height: 35px;\" v-else src=\"../../../assets/images/zoom-logo.png\"/>\n\t\t\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t\t\t\t<h5 style=\"margin: 0px;\">{{service.serviceName}}</h5>\n\t\t\t\t\t\t\t\t\t\t\t<span v-if=\"service.serviceData && parseData(service.serviceData)\">{{parseData(service.serviceData).email?parseData(service.serviceData).email:parseData(service.serviceData).for}}</span><br/>\n\t\t\t\t\t\t\t\t\t\t\t<span v-if=\"service.serviceData && parseData(service.serviceData) && parseData(service.serviceData).id\">{{parseData(service.serviceData).id}} | {{parseData(service.serviceData).account_id}}</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-else>\n\t\t\t\t\t\t\t<p class=\"text-muted\">\n\t\t\t\t\t\t\t\tNo Zoom accounts currently added.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t</div>                \n\t                <div class=\"ms-4\" v-if=\"isLoading\">                    \n\t                    <b-spinner class=\"loader\"> </b-spinner>                     \n\t                </div> \n\t\t\t</div>            \n\t    </div>\t\n    \n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"ZoomServiceAccountsIntegration\",\n    data() {\n\t\treturn {    \n           zoomServices:[],\n\t\t   isLoading:false\n\t\t};\n\t},\n    methods: {\t\t\n\t\t...mapActions(\"appState\", [\"fetchExternalServices\"]),\t\n\t\tloadZoomServiceAccounts(){\n\t\t\tthis.isLoading=true;\n\t\t\tthis.fetchExternalServices(\"liveclass\").then(() => {\n\t\t\t\t\tvar list = this.externalServicesList && this.externalServicesList[\"liveclass\"] && this.externalServicesList[\"liveclass\"].filter(\n\t\t\t\t\t\t(service) => service.serviceProvider && service.serviceProvider.toLowerCase()==\"zoom\"\n\t\t\t\t\t);\n\t\t\t\t\tthis.isLoading=false;\n\t\t\t\t\tthis.zoomServices=list;\n\t\t\t});\n\t\t},\n\t\tparseData(data){\n\t\t\ttry{\n\t\t\treturn JSON.parse(data);\n\t\t\t}catch(ex)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\taddZoomAccount(){\n\t\t\tvar left = (screen.width/2)-(650/2);\n\t\t\t\n\t\t\tvar top = (screen.height/2)-(screen.height*0.7/2);\n      \t\t\n\t\t\tvar popupWindow=window.open(\"/service/zoom\", \"Zoom Account Integration\", 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+650+',height='+screen.height*0.7+', top='+top+', left='+left);\n\t\t\tvar self=this;\n\t\t\twindow.beforeCloseCallback=function(){\n\t\t\t\tself.loadZoomServiceAccounts();\n\t\t\t};\n\n\n\t\t\t//let newWin = window.open(\"http://localhost:8080/management/preferences\");\n\n\t\t\t// newWin.document.write(\n\t\t\t// \t\"<script>window.opener.document.body.innerHTML = 'Test'<\\/script>\"\n\t\t\t// );\n\t\t}\t\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"externalServicesList\"]),\n\t\t\n\t},\t\n\tcreated() {  \n\t\tthis.loadZoomServiceAccounts();\n\t},\n\twatch: {     \n\t},\n}\n</script>\n\n<style scoped>\n.zoom-account-container\n{\n\tmax-width: 35%;\n}\n.zoom-account-container .header-div{\n\tdisplay: flex;\n\talign-items: center;\n}\n.zoom-account-container .header-div h5{\n\tflex: 1;\n}\n\n.card {\n\tborder-radius: 0;\n\t-webkit-box-shadow: 0 1px 20px 0 rgba(69, 90, 100, 0.08);\n\t\t\tbox-shadow: 0 1px 20px 0 rgba(69, 90, 100, 0.08);\n\tborder: none;\n\tmargin-bottom: 10px;\n\t-webkit-transition: all 0.5s ease-in-out;\n\ttransition: all 0.5s ease-in-out;\n  }\n  .card .card-header {\n\tbackground-color: transparent;\n\tborder-bottom: 1px solid #f1f1f1;\n\tpadding: 20px 25px;\n\tposition: relative;\n  }\n  .card .card-header h5 {\n\tmargin-bottom: 0;\n\tcolor: #000;\n\tfont-size: 17px;\n\tfont-weight: 400;\n\tdisplay: inline-block;\n\tmargin-right: 10px;\n\tline-height: 1.1;\n\tposition: relative;\n  }\n  .card .card-header h5:after {\n\tcontent: \"\";\n\tbackground-color: #04a9f5;\n\tposition: absolute;\n\tleft: -25px;\n\ttop: 0;\n\twidth: 4px;\n\theight: 20px;\n  }\n  .card .card-header.borderless {\n\tborder-bottom: none;\n  }\n  .card .card-header.borderless h5:after {\n\tdisplay: none;\n  }\n  .card .card-header .card-header-right {\n\tright: 10px;\n\ttop: 10px;\n\tdisplay: inline-block;\n\tfloat: right;\n\tpadding: 0;\n\tposition: absolute;\n  }\n  .card-block{\n\tpadding: 10px;\n  }\n  @media only screen and (max-width: 575px) {\n\t.card .card-header .card-header-right {\n\t  display: none;\n\t}\n  }\n  @media only screen and (max-width: 1050px) {\n\t.zoom-account-container\n{\n\tmax-width: 50%;\n}\n  }\n  \n  @media only screen and (max-width: 730px) {\n\t.zoom-account-container\n{\n\tmax-width: 100%;\n}\n  }\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ZoomServiceAccountsIntegration.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ZoomServiceAccountsIntegration.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoomServiceAccountsIntegration.vue?vue&type=template&id=6acca59a&scoped=true&\"\nimport script from \"./ZoomServiceAccountsIntegration.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoomServiceAccountsIntegration.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZoomServiceAccountsIntegration.vue?vue&type=style&index=0&id=6acca59a&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6acca59a\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"d-flex\"},[(_vm.mode == 'pay')?_c('td',{class:['col-1', { shrink: _vm.mode == 'pay' }]},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_1\",\"id\":_vm.paymentDetail.id},domProps:{\"checked\":_vm.isChecked(_vm.paymentDetail.id)},on:{\"click\":_vm.togglePaymentSelect}})]):_vm._e(),_c('td',{staticClass:\"col-1\"},[_vm._v(_vm._s(_vm.paymentDetail.id))]),_c('td',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.paymentDetail.productName ? _vm.paymentDetail.productName : \"-\")+\" \")]),_c('td',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.paymentDetail.planName)+\" \"+_vm._s(_vm.paymentDetail.planDetailTitle != _vm.paymentDetail.planName ? \" (\" + _vm.paymentDetail.planDetailTitle + \")\" : \"\")+\" \")]),_c('td',{staticClass:\"col\"},[(_vm.mode == 'edit' || _vm.mode == 'pay')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentAmount),expression:\"paymentAmount\"}],class:['form-input', { 'text-danger': _vm.isError }],attrs:{\"placeholder\":\"Enter amount\",\"type\":\"number\",\"id\":\"paymentAmount\",\"disabled\":_vm.isDisabled(_vm.paymentDetail.id)},domProps:{\"value\":(_vm.paymentAmount)},on:{\"change\":_vm.validateAmount,\"input\":function($event){if($event.target.composing){ return; }_vm.paymentAmount=$event.target.value}}}):_c('span',[_vm._v(\" \"+_vm._s(_vm.currencyParser(_vm.paymentDetail.amount, _vm.paymentDetail.currency))+\" \")])]),(_vm.mode != 'pay')?_c('td',{staticClass:\"col\"},[_c('div',{class:[\n\t\t\t\t'status-tag',\n\t\t\t\t{\n\t\t\t\t\tsuccess: _vm.paymentDetail.type.toLowerCase() == 'received',\n\t\t\t\t\tdanger: _vm.paymentDetail.type.toLowerCase() == 'refunded',\n\t\t\t\t} ]},[_vm._v(\" \"+_vm._s(_vm.paymentDetail.type)+\" \")])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<tr class=\"d-flex\">\n\t\t<td v-if=\"mode == 'pay'\" :class=\"['col-1', { shrink: mode == 'pay' }]\">\n\t\t\t<input\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tname=\"select_1\"\n\t\t\t\t:id=\"paymentDetail.id\"\n\t\t\t\t@click=\"togglePaymentSelect\"\n\t\t\t\t:checked=\"isChecked(paymentDetail.id)\"\n\t\t\t/>\n\t\t</td>\n\t\t<td class=\"col-1\">{{ paymentDetail.id }}</td>\n\t\t<td class=\"col\">\n\t\t\t{{ paymentDetail.productName ? paymentDetail.productName : \"-\" }}\n\t\t</td>\n\t\t<td class=\"col\">\n\t\t\t{{ paymentDetail.planName }}\n\t\t\t{{\n\t\t\t\tpaymentDetail.planDetailTitle != paymentDetail.planName\n\t\t\t\t\t? \" (\" + paymentDetail.planDetailTitle + \")\"\n\t\t\t\t\t: \"\"\n\t\t\t}}\n\t\t</td>\n\t\t<td class=\"col\">\n\t\t\t<input\n\t\t\t\tv-if=\"mode == 'edit' || mode == 'pay'\"\n\t\t\t\tplaceholder=\"Enter amount\"\n\t\t\t\ttype=\"number\"\n\t\t\t\tid=\"paymentAmount\"\n\t\t\t\t:class=\"['form-input', { 'text-danger': isError }]\"\n\t\t\t\t:disabled=\"isDisabled(paymentDetail.id)\"\n\t\t\t\tv-model=\"paymentAmount\"\n\t\t\t\t@change=\"validateAmount\"\n\t\t\t/>\n\t\t\t<span v-else>\n\t\t\t\t{{ currencyParser(paymentDetail.amount, paymentDetail.currency) }}\n\t\t\t</span>\n\t\t</td>\n\t\t<td class=\"col\" v-if=\"mode != 'pay'\">\n\t\t\t<!-- <v-select\n\t\t\t\tv-if=\"mode == 'edit'\"\n\t\t\t\tclass=\"form-input\"\n\t\t\t\tplaceholder=\"Select payment type\"\n\t\t\t\tv-model=\"paymentType\"\n\t\t\t\tname=\"paymentType\"\n\t\t\t\tid=\"paymentType\"\n\t\t\t\t:options=\"paymentTypes\"\n\t\t\t\t:autoscroll=\"true\"\n\t\t\t\t:disabled=\"isDisabled(paymentDetail.id)\"\n\t\t\t\t:reduce=\"(option) => option.value\"\n\t\t\t></v-select> -->\n\t\t\t<div\n\t\t\t\t:class=\"[\n\t\t\t\t\t'status-tag',\n\t\t\t\t\t{\n\t\t\t\t\t\tsuccess: paymentDetail.type.toLowerCase() == 'received',\n\t\t\t\t\t\tdanger: paymentDetail.type.toLowerCase() == 'refunded',\n\t\t\t\t\t},\n\t\t\t\t]\"\n\t\t\t>\n\t\t\t\t{{ paymentDetail.type }}\n\t\t\t</div>\n\t\t</td>\n\t</tr>\n</template>\n\n<script>\nimport formatter from \"../../../helpers/FormatHelpers\";\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"PaymentDetailItem\",\n\tdata() {\n\t\treturn {\n\t\t\tpaymentAmount: null,\n\t\t\tpaymentType: null,\n\t\t\tpaymentTypes: [\n\t\t\t\t{ label: \"Received\", value: \"Received\" },\n\t\t\t\t{ label: \"Refunded\", value: \"Refunded\" },\n\t\t\t],\n\t\t};\n\t},\n\tprops: {\n\t\tpaymentDetail: Object,\n\t\tcurrency: String,\n\t\tselectedDetails: Array,\n\t\tmode: String,\n\t},\n\tcomputed: {\n\t\t...mapState(\"pricing\", [\"paymentsByUserId\"]),\n\t\t...mapState(\"appState\", [\"currentCurrency\"]),\n\t\tisError() {\n\t\t\t// return this.outstandingAmount == \"Invalid amount\";\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"pricing\", [\"fetchPaymentsByUserId\"]),\n\t\tcurrencyParser(amount, currency) {\n\t\t\treturn formatter.toCurrencyString(parseInt(amount), currency, 0);\n\t\t},\n\t\tdateParser(date) {\n\t\t\treturn formatter.toShortDateString(date);\n\t\t},\n\t\tisDisabled(id) {\n\t\t\tvar found = this.selectedDetails.find((d) => d.id == id);\n\t\t\treturn !found;\n\t\t},\n\t\thandleNumberInput(e) {\n\t\t\tif (e.keyCode == 189) {\n\t\t\t\tconsole.log(\"- pressed\", this.paymentAmount);\n\t\t\t\tthis.paymentAmount = \"\";\n\t\t\t}\n\t\t},\n\t\ttogglePaymentSelect() {\n\t\t\tthis.$emit(\"toggleSelect\", this.paymentDetail);\n\t\t},\n\t\tvalidateAmount(e) {\n\t\t\tif (e.target.value < 0) {\n\t\t\t\tthis.$emit(\"updateError\", true, \"Enter valid payment amount\");\n\t\t\t} else {\n\t\t\t\tthis.$emit(\"updateError\", false, \"\");\n\t\t\t}\n\t\t},\n\t\tisChecked(id) {\n\t\t\tvar found = this.selectedDetails.find((payment) => payment.id == id);\n\t\t\t// console.log(found);\n\t\t\tif (found) {\n\t\t\t\treturn true;\n\t\t\t} else return false;\n\t\t},\n\t},\n\tcreated() {\n\t\tif (this.paymentDetail.amount) {\n\t\t\tthis.paymentAmount = this.paymentDetail.amount;\n\t\t}\n\t\tif (this.paymentDetail.type) {\n\t\t\tthis.paymentType = this.paymentDetail.type;\n\t\t}\n\t},\n\twatch: {\n\t\tpaymentAmount: function () {\n\t\t\tthis.$emit(\"updateAmount\", this.paymentAmount, this.paymentDetail.id);\n\t\t},\n\t\tisError: function () {\n\t\t\tthis.$emit(\"updateError\", this.isError);\n\t\t},\n\t\tpaymentType: function () {\n\t\t\tthis.$emit(\"updateType\", this.paymentType, this.paymentDetail.id);\n\t\t},\n\t\tmode: function () {\n\t\t\tif (this.mode == \"edit\") {\n\t\t\t\tthis.togglePaymentSelect();\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style></style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PaymentDetailItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PaymentDetailItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PaymentDetailItem.vue?vue&type=template&id=90bea5b6&\"\nimport script from \"./PaymentDetailItem.vue?vue&type=script&lang=js&\"\nexport * from \"./PaymentDetailItem.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"payment-detail-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"payment-detail-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState')}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('div',{staticClass:\"d-flex justify-content-between align-items-end\"},[_c('div',[(_vm.payment)?_c('h1',{staticClass:\"add-enroll-title\"},[_vm._v(\" Payment # \"+_vm._s(_vm.payment.id)+\" (\"+_vm._s(_vm.payment.details[0].type)+\") \")]):_vm._e(),(_vm.payment)?_c('div',{staticClass:\"d-flex align-items-center gap-3 mb-3\"},[_c('span',[_vm._v(_vm._s(_vm.user.firstName)+\" \"+_vm._s(_vm.user.lastName))])]):_vm._e(),(_vm.payment && _vm.payment.status == _vm.PaymentStatus.PENDING)?_c('button',{staticClass:\"add-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.openPreview}},[_c('i',{staticClass:\"fas fa-image add-btn-icon\"}),_vm._v(\" View Evidence \")]):_vm._e(),_c('vue-easy-lightbox',{attrs:{\"escDisabled\":\"\",\"moveDisabled\":\"\",\"visible\":_vm.showPreview,\"imgs\":_vm.previewItem},on:{\"hide\":_vm.handleHide}})],1),_c('div',{staticClass:\"d-flex gap-3\"})]),_c('div',{staticClass:\"inline-group mt-5\"},[_c('div',{staticClass:\"form-group col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"paymentDate\"}},[_vm._v(\"Payment Date\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentDate),expression:\"paymentDate\"}],staticClass:\"form-input\",attrs:{\"type\":\"date\",\"name\":\"paymentDate\",\"id\":\"paymentDate\",\"readonly\":_vm.mode != 'edit'},domProps:{\"value\":(_vm.paymentDate)},on:{\"change\":function($event){_vm.isChanged = true},\"input\":function($event){if($event.target.composing){ return; }_vm.paymentDate=$event.target.value}}})]),_c('div',{staticClass:\"form-group col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"paymentMethod\"}},[_vm._v(\"Payment Method\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"placeholder\":\"Select Payment Method\",\"name\":\"paymentMethod\",\"id\":\"paymentMethod\",\"options\":_vm.externalServicesList['PaymentGateway'],\"label\":\"serviceName\",\"autoscroll\":true,\"disabled\":_vm.mode != 'edit'},on:{\"input\":function($event){_vm.isChanged = true}},model:{value:(_vm.paymentMethod),callback:function ($$v) {_vm.paymentMethod=$$v},expression:\"paymentMethod\"}})],1),_c('div',{staticClass:\"form-group col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"paymentStatus\"}},[_vm._v(\"Payment Status\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"placeholder\":\"Select Payment Status\",\"name\":\"paymentStatus\",\"id\":\"paymentStatus\",\"options\":_vm.status,\"label\":\"label\",\"autoscroll\":true,\"disabled\":_vm.mode != 'edit',\"reduce\":function (option) { return option.value; }},on:{\"input\":function($event){_vm.isChanged = true}},model:{value:(_vm.paymentStatus),callback:function ($$v) {_vm.paymentStatus=$$v},expression:\"paymentStatus\"}})],1)]),_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"payment-details\"}},[_vm._v(\" Payment details \")]),_c('table',{staticClass:\"table table-borderless enrolled-users-table\"},[_c('thead',[_c('tr',{staticClass:\"d-flex\"},[(_vm.mode == 'pay')?_c('th',{staticClass:\"col-1 shrink\"},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_all\",\"id\":\"select_all\"},domProps:{\"checked\":_vm.isSelectedAll()},on:{\"click\":function($event){return _vm.toggleSelectAll()}}})]):_vm._e(),_c('th',{staticClass:\"col-1\"},[_vm._v(\"ID\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Payment / Refund for\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Plan\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Payment Amount\")]),(_vm.mode != 'pay')?_c('th',{staticClass:\"col\"},[_vm._v(\"Type\")]):_vm._e()])]),(_vm.payment && _vm.payment.details.length > 0)?_c('tbody',_vm._l((_vm.payment.details),function(detail){return _c('PaymentDetailItem',{key:detail.id,attrs:{\"paymentDetail\":detail,\"currency\":_vm.currentCurrency,\"selectedDetails\":_vm.selectedDetails,\"mode\":_vm.mode},on:{\"updateError\":_vm.error,\"toggleSelect\":_vm.togglePaymentSelect,\"updateAmount\":_vm.paymentUpdate,\"updateType\":_vm.updateType}})}),1):_c('div',{staticClass:\"no-content\"},[_vm._v(\"No Payments found\")])]),(_vm.isError)?_c('p',{staticClass:\"text-danger\"},[_c('i',{staticClass:\"fas fa-exclamation-circle\"}),_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")]):_vm._e(),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"skip-step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_vm._v(\" cancel \")]),_c('button',{staticClass:\"step-btn\",attrs:{\"disabled\":_vm.disableSave(),\"role\":\"button\"},on:{\"click\":_vm.handleSave}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.mode == \"pay\" ? \"Accept Payment\" : \"save\")+\" \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\tid=\"payment-detail-modal\"\n\t\t@change=\"$emit('updateModalState')\"\n\t\t:visible=\"visible\"\n\t\thide-header\n\t\tcentered\n\t\tcontent-class=\"payment-detail-modal\"\n\t\tsize=\"xl\"\n\t\tbody-class=\"modal-body\"\n\t\thide-footer\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t>\n\t\t<div class=\"body-container\">\n\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<div class=\"d-flex justify-content-between align-items-end\">\n\t\t\t\t<div>\n\t\t\t\t\t<h1 v-if=\"payment\" class=\"add-enroll-title\">\n\t\t\t\t\t\tPayment # {{ payment.id }} ({{ payment.details[0].type }})\n\t\t\t\t\t</h1>\n\t\t\t\t\t<div v-if=\"payment\" class=\"d-flex align-items-center gap-3 mb-3\">\n\t\t\t\t\t\t<span>{{ user.firstName }} {{ user.lastName }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<button\n\t\t\t\t\t\tv-if=\"payment && payment.status == PaymentStatus.PENDING\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\"add-btn\"\n\t\t\t\t\t\t@click=\"openPreview\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i class=\"fas fa-image add-btn-icon\"></i> View Evidence\n\t\t\t\t\t</button>\n\t\t\t\t\t<vue-easy-lightbox\n\t\t\t\t\t\tescDisabled\n\t\t\t\t\t\tmoveDisabled\n\t\t\t\t\t\t:visible=\"showPreview\"\n\t\t\t\t\t\t:imgs=\"previewItem\"\n\t\t\t\t\t\t@hide=\"handleHide\"\n\t\t\t\t\t></vue-easy-lightbox>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"d-flex gap-3\">\n\t\t\t\t\t<!-- <button\n\t\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\t\tv-if=\"payment && payment.status == PaymentStatus.PENDING\"\n\t\t\t\t\t\tclass=\"add-btn dropdown-toggle\"\n\t\t\t\t\t\t@click=\"toggleDropdown(true)\"\n\t\t\t\t\t\t:disabled=\"mode != 'view'\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i class=\"far fa-usd-circle add-btn-icon\"></i>\n\t\t\t\t\t\tMark as Paid\n\t\t\t\t\t</button>\n\t\t\t\t\t<div\n\t\t\t\t\t\tid=\"add-dropdown\"\n\t\t\t\t\t\tclass=\"dropdown-menu dropdown-menu-end\"\n\t\t\t\t\t\taria-labelledby=\"dropdownMenuLink\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<form @submit=\"markCompleted()\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\tclass=\"mark-paid-input\"\n\t\t\t\t\t\t\t\tv-model=\"paymentAmount\"\n\t\t\t\t\t\t\t\tplaceholder=\"Enter payment amount (required)\"\n\t\t\t\t\t\t\t\tid=\"mark-paid-input\"\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\tv-on:keyup.esc=\"toggleDropdown(false)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t@click=\"markCompleted()\"\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tclass=\"content-action-btn save\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t@click=\"toggleDropdown(false)\"\n\t\t\t\t\t\t\t\tclass=\"content-action-btn cancel\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t</div> -->\n\t\t\t\t\t<!-- <button\n\t\t\t\t\t\tclass=\"add-btn\"\n\t\t\t\t\t\t@click=\"changeMode('edit')\"\n\t\t\t\t\t\t:disabled=\"mode != 'view'\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img class=\"add-btn-icon\" src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t\tEdit payment\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"add-btn\"\n\t\t\t\t\t\t@click=\"showDeleteConfirmPopup($event, payment)\"\n\t\t\t\t\t\t:disabled=\"mode != 'view'\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img class=\"add-btn-icon\" src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\tDelete payment\n\t\t\t\t\t</button> -->\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"inline-group mt-5\">\n\t\t\t\t<div class=\"form-group col\">\n\t\t\t\t\t<label for=\"paymentDate\" class=\"main-label\">Payment Date</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\tname=\"paymentDate\"\n\t\t\t\t\t\tid=\"paymentDate\"\n\t\t\t\t\t\tv-model=\"paymentDate\"\n\t\t\t\t\t\t:readonly=\"mode != 'edit'\"\n\t\t\t\t\t\t@change=\"isChanged = true\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group col\">\n\t\t\t\t\t<label for=\"paymentMethod\" class=\"main-label\">Payment Method</label>\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\tplaceholder=\"Select Payment Method\"\n\t\t\t\t\t\tv-model=\"paymentMethod\"\n\t\t\t\t\t\tname=\"paymentMethod\"\n\t\t\t\t\t\tid=\"paymentMethod\"\n\t\t\t\t\t\t:options=\"externalServicesList['PaymentGateway']\"\n\t\t\t\t\t\tlabel=\"serviceName\"\n\t\t\t\t\t\t:autoscroll=\"true\"\n\t\t\t\t\t\t@input=\"isChanged = true\"\n\t\t\t\t\t\t:disabled=\"mode != 'edit'\"\n\t\t\t\t\t>\n\t\t\t\t\t</v-select>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group col\">\n\t\t\t\t\t<label for=\"paymentStatus\" class=\"main-label\">Payment Status</label>\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\tplaceholder=\"Select Payment Status\"\n\t\t\t\t\t\tv-model=\"paymentStatus\"\n\t\t\t\t\t\tname=\"paymentStatus\"\n\t\t\t\t\t\tid=\"paymentStatus\"\n\t\t\t\t\t\t:options=\"status\"\n\t\t\t\t\t\tlabel=\"label\"\n\t\t\t\t\t\t:autoscroll=\"true\"\n\t\t\t\t\t\t@input=\"isChanged = true\"\n\t\t\t\t\t\t:disabled=\"mode != 'edit'\"\n\t\t\t\t\t\t:reduce=\"(option) => option.value\"\n\t\t\t\t\t>\n\t\t\t\t\t</v-select>\n\t\t\t\t</div>\n\t\t\t\t<!-- </div> -->\n\t\t\t</div>\n\t\t\t<label for=\"payment-details\" class=\"main-label\"> Payment details </label>\n\t\t\t<table class=\"table table-borderless enrolled-users-table\">\n\t\t\t\t<thead>\n\t\t\t\t\t<tr class=\"d-flex\">\n\t\t\t\t\t\t<th v-if=\"mode == 'pay'\" class=\"col-1 shrink\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tname=\"select_all\"\n\t\t\t\t\t\t\t\tid=\"select_all\"\n\t\t\t\t\t\t\t\t@click=\"toggleSelectAll()\"\n\t\t\t\t\t\t\t\t:checked=\"isSelectedAll()\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th class=\"col-1\">ID</th>\n\t\t\t\t\t\t<th class=\"col\">Payment / Refund for</th>\n\t\t\t\t\t\t<th class=\"col\">Plan</th>\n\t\t\t\t\t\t<th class=\"col\">Payment Amount</th>\n\t\t\t\t\t\t<th v-if=\"mode != 'pay'\" class=\"col\">Type</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody v-if=\"payment && payment.details.length > 0\">\n\t\t\t\t\t<PaymentDetailItem\n\t\t\t\t\t\tv-for=\"detail in payment.details\"\n\t\t\t\t\t\t:key=\"detail.id\"\n\t\t\t\t\t\t:paymentDetail=\"detail\"\n\t\t\t\t\t\t:currency=\"currentCurrency\"\n\t\t\t\t\t\t@updateError=\"error\"\n\t\t\t\t\t\t:selectedDetails=\"selectedDetails\"\n\t\t\t\t\t\t@toggleSelect=\"togglePaymentSelect\"\n\t\t\t\t\t\t:mode=\"mode\"\n\t\t\t\t\t\t@updateAmount=\"paymentUpdate\"\n\t\t\t\t\t\t@updateType=\"updateType\"\n\t\t\t\t\t/>\n\t\t\t\t</tbody>\n\t\t\t\t<div v-else class=\"no-content\">No Payments found</div>\n\t\t\t</table>\n\t\t\t<p v-if=\"isError\" class=\"text-danger\">\n\t\t\t\t<i class=\"fas fa-exclamation-circle\"></i> {{ errorText }}\n\t\t\t</p>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<button @click=\"closeModal\" role=\"button\" class=\"skip-step-btn\">\n\t\t\t\t\tcancel\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\t@click=\"handleSave\"\n\t\t\t\t\t:disabled=\"disableSave()\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\t{{ mode == \"pay\" ? \"Accept Payment\" : \"save\" }}\n\t\t\t\t\t<img src=\"@/assets/images/arrow-right.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport PaymentDetailItem from \"./PaymentDetailItem.vue\";\nimport { getInputDateFormat } from \"../../../helpers/FormatHelpers\";\nimport VueEasyLightbox from \"vue-easy-lightbox\";\nimport { PaymentStatus } from \"../../../constants/pricing\";\n\nexport default {\n\tname: \"UserPaymentDetailModal\",\n\tprops: {\n\t\tuser: Object,\n\t\tpayment: Object,\n\t\t// mode: String,\n\t\tshowModal: Boolean,\n\t},\n\tcomponents: {\n\t\tPaymentDetailItem,\n\t\tVueEasyLightbox,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tselectedDetails: [],\n\t\t\tmode: \"view\",\n\t\t\tisError: false,\n\t\t\tmethod: null,\n\t\t\tpaymentMethod: null,\n\t\t\tpaymentDate: null,\n\t\t\tpaymentStatus: null,\n\t\t\tstatus: [\n\t\t\t\t{ label: \"Completed\", value: \"Completed\" },\n\t\t\t\t{ label: \"Pending\", value: \"Pending\" },\n\t\t\t],\n\t\t\terrorText: \"\",\n\t\t\tmetadata: null,\n\t\t\tshowPreview: false,\n\t\t\tpreviewItem: null,\n\t\t\tshowMarkAsPaidDropdown: false,\n\t\t\tpaymentAmount: null,\n\t\t\tPaymentStatus,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"externalServicesList\", \"currentCurrency\"]),\n\t\t...mapState(\"pricing\", [\"paymentsByUserId\", \"loading\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\ttotalAmount() {\n\t\t\tvar total = 0;\n\t\t\tthis.payment.details.forEach((detail) => (total += detail.amount));\n\t\t\treturn total;\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"appState\", [\"fetchExternalServices\"]),\n\t\t...mapActions(\"pricing\", [\n\t\t\t\"fetchPaymentsByUserId\",\n\t\t\t\"deletePayment\",\n\t\t\t\"updatePayment\",\n\t\t\t\"fetchInvoiceByUserId\",\n\t\t]),\n\t\tcloseModal() {\n\t\t\tthis.$emit(\"updateModalState\");\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t},\n\t\tisDisabled(id) {\n\t\t\tvar found = this.selectedDetails.find((d) => d.id == id);\n\t\t\treturn !found;\n\t\t},\n\t\tdisableSave() {\n\t\t\treturn (\n\t\t\t\tthis.isError ||\n\t\t\t\tthis.loading ||\n\t\t\t\t(this.mode == \"pay\" && !this.selectedDetails.length)\n\t\t\t);\n\t\t},\n\t\terror(error, text) {\n\t\t\tthis.isError = error;\n\t\t\tif (text) this.errorText = text;\n\t\t},\n\t\tchangeMode(mode) {\n\t\t\tthis.mode = mode;\n\t\t},\n\t\teditPayment() {\n\t\t\tvar paymentObj = {\n\t\t\t\t...this.payment,\n\t\t\t\tpaymentDate: new Date(this.paymentDate).toISOString(),\n\t\t\t\tmethod: this.paymentMethod.serviceName,\n\t\t\t\tmethodProvider: this.paymentMethod.serviceProvider,\n\t\t\t\tmethodProviderID: this.paymentMethod.serviceCode,\n\t\t\t\tstatus: this.paymentStatus,\n\t\t\t\tdetails: this.selectedDetails,\n\t\t\t\tuserID: this.payment.customerID || this.payment.userID,\n\t\t\t};\n\n\t\t\tthis.updatePayment(paymentObj).then(() => {\n\t\t\t\tconsole.log(\"payment updated\");\n\t\t\t\tthis.fetchInvoiceByUserId(this.user.id).then(() => {\n\t\t\t\t\tthis.closeModal();\n\n\t\t\t\t\tthis.$toasted.success(\"Payment Updated\", {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tshowDeleteConfirmPopup(e, payment) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to delete payment ID: ${payment.id} for ${this.user.firstName}?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.paymentDelete(payment);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t\tpaymentDelete(payment) {\n\t\t\tthis.deletePayment(payment).then((response) => {\n\t\t\t\tthis.fetchInvoiceByUserId(this.user.id).then(() => {\n\t\t\t\t\tthis.closeModal();\n\t\t\t\t\t// this.$toasted.success(\"Payment Deleted\", {\n\t\t\t\t\t// \ttheme: \"outline\",\n\t\t\t\t\t// \tposition: \"bottom-center\",\n\t\t\t\t\t// \tduration: 3000,\n\t\t\t\t\t// });\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\ttogglePaymentSelect(payment) {\n\t\t\t// this.$emit(\"toggleSelect\", payment);\n\t\t\tvar found = this.selectedDetails.find((s) => s.id == payment.id);\n\t\t\t// console.log(found, payment);\n\t\t\tif (!found) {\n\t\t\t\tthis.selectedDetails.push(payment);\n\t\t\t} else {\n\t\t\t\tthis.selectedDetails = this.selectedDetails.filter(\n\t\t\t\t\t(su) => su.id != payment.id\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tpaymentUpdate(amount, id) {\n\t\t\tvar updatedDetails = this.selectedDetails.map((detail) => {\n\t\t\t\tif (detail.id == id) {\n\t\t\t\t\tdetail.amount = parseFloat(amount);\n\t\t\t\t}\n\t\t\t\treturn detail;\n\t\t\t});\n\t\t\tthis.selectedDetails = updatedDetails;\n\t\t\tthis.isChanged = true;\n\t\t},\n\t\tupdateType(type, id) {\n\t\t\tvar updatedDetails = this.selectedDetails.map((detail) => {\n\t\t\t\tif (detail.id == id) {\n\t\t\t\t\tdetail.type = type;\n\t\t\t\t}\n\t\t\t\treturn detail;\n\t\t\t});\n\t\t\tthis.selectedDetails = updatedDetails;\n\t\t\tthis.isChanged = true;\n\t\t},\n\t\topenPreview() {\n\t\t\t// if (this.type.toLowerCase() == \"image\") {\n\t\t\tthis.previewItem = this.metadata.evidence;\n\t\t\tthis.showPreview = true;\n\t\t\t// }\n\t\t},\n\t\thandleHide() {\n\t\t\tthis.showPreview = false;\n\t\t},\n\t\tmarkCompleted() {\n\t\t\tvar paymentObj = {\n\t\t\t\t...this.payment,\n\t\t\t\tpaymentDate: new Date(this.paymentDate).toISOString(),\n\t\t\t\tmethod: this.paymentMethod.serviceName,\n\t\t\t\tmethodProvider: this.paymentMethod.serviceProvider,\n\t\t\t\tmethodProviderID: this.paymentMethod.serviceCode,\n\t\t\t\tstatus: \"Completed\",\n\t\t\t\tdetails: this.selectedDetails,\n\t\t\t\tuserID: this.payment.customerID || this.payment.userID,\n\t\t\t};\n\n\t\t\tvar remainingLineItems = this.payment.details.filter((detail) => {\n\t\t\t\tvar found = paymentObj.details.find((d) => d.id == detail.id);\n\t\t\t\tif (!found) return detail;\n\t\t\t});\n\n\t\t\tremainingLineItems = remainingLineItems.map((item) => {\n\t\t\t\titem.amount = 0;\n\t\t\t\treturn item;\n\t\t\t});\n\t\t\tconsole.log(remainingLineItems);\n\t\t\tpaymentObj.details = [...paymentObj.details, ...remainingLineItems];\n\n\t\t\tthis.updatePayment(paymentObj).then(() => {\n\t\t\t\tconsole.log(\"payment updated\");\n\t\t\t\tthis.fetchInvoiceByUserId(this.user.id).then(() => {\n\t\t\t\t\tthis.closeModal();\n\n\t\t\t\t\tthis.$toasted.success(\"Payment Updated\", {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\ttoggleDropdown() {\n\t\t\tthis.showMarkAsPaidDropdown = value;\n\t\t},\n\t\ttoggleSelectAll() {\n\t\t\tif (\n\t\t\t\tthis.invoice.details &&\n\t\t\t\tthis.invoice.details.length > 0 &&\n\t\t\t\tthis.selectedDetails.length != this.invoice.details.length\n\t\t\t) {\n\t\t\t\tthis.selectedDetails = this.invoice.details;\n\t\t\t} else {\n\t\t\t\tthis.selectedDetails = [];\n\t\t\t}\n\t\t},\n\t\tisSelectedAll() {\n\t\t\tif (this.invoice && this.invoice.details) {\n\t\t\t\treturn this.invoice.details.length == this.selectedDetails.length;\n\t\t\t}\n\t\t},\n\t\thandleSave() {\n\t\t\tthis.mode != \"pay\" ? this.editPayment() : this.markCompleted();\n\t\t},\n\t},\n\tcreated() {\n\t\t// this.mode = this.mode;\n\t\tif (!this.paymentsByUserId[this.user.id]) {\n\t\t\tthis.fetchPaymentsByUserId(this.user.id).then(() => {\n\t\t\t\tconsole.log(\"fetch payments by user\");\n\t\t\t});\n\t\t}\n\t},\n\twatch: {\n\t\tmode: function () {\n\t\t\tif (this.mode == \"pay\") {\n\t\t\t\tconsole.log(\"mode changed\");\n\t\t\t}\n\t\t},\n\t\tvisible: function () {\n\t\t\t// console.log(\"payment visible\", this.visible);\n\t\t\tif (this.visible) {\n\t\t\t\tif (this.payment.status == PaymentStatus.PENDING) {\n\t\t\t\t\tthis.mode = \"pay\";\n\t\t\t\t}\n\t\t\t\tif (!this.paymentsByUserId[this.user.id]) {\n\t\t\t\t\tthis.fetchPaymentsByUserId(this.user.id).then(() => {\n\t\t\t\t\t\tconsole.log(\"fetch payments by user\");\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (this.externalServicesList[\"PaymentGateway\"])\n\t\t\t\t\tthis.paymentMethod = this.externalServicesList[\"PaymentGateway\"].find(\n\t\t\t\t\t\t(gateway) =>\n\t\t\t\t\t\t\tgateway.serviceCode.toLowerCase() ==\n\t\t\t\t\t\t\tthis.payment.methodProviderID.toLowerCase()\n\t\t\t\t\t);\n\t\t\t\telse {\n\t\t\t\t\tthis.fetchExternalServices(\"PaymentGateway\").then(() => {\n\t\t\t\t\t\tthis.paymentMethod = this.externalServicesList[\n\t\t\t\t\t\t\t\"PaymentGateway\"\n\t\t\t\t\t\t].find(\n\t\t\t\t\t\t\t(gateway) =>\n\t\t\t\t\t\t\t\tgateway.serviceCode.toLowerCase() ==\n\t\t\t\t\t\t\t\tthis.payment.methodProviderID.toLowerCase()\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tthis.paymentDate = getInputDateFormat(this.payment.paymentDate);\n\t\t\t\tthis.paymentStatus = this.payment.status;\n\t\t\t\tthis.metadata = this.payment.metadata\n\t\t\t\t\t? JSON.parse(this.payment.metadata)\n\t\t\t\t\t: null;\n\t\t\t\tthis.paymentAmount = this.totalAmount;\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style>\n.status-tag {\n\tborder-radius: 6px;\n\tpadding: 0.25rem 0.5rem;\n\ttext-transform: uppercase;\n\tcolor: #ffffff;\n\tfont-size: 0.75rem;\n\tfont-weight: normal;\n\tline-height: 1;\n\twidth: fit-content;\n\theight: fit-content;\n}\n\n.status-tag.success {\n\tbackground-color: #00c672;\n}\n\n.status-tag.danger {\n\tbackground-color: var(--color-danger);\n}\n\n.status-tag.warning {\n\tbackground-color: var(--color-warning);\n}\n\n.payment-detail-modal input[type=\"checkbox\"] {\n\t/* margin-left: 1.5rem; */\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n\n.enrolled-users-table td {\n\tmin-height: 4rem;\n\tvertical-align: middle;\n}\n\n.add-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0.625rem 1rem;\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.875rem;\n\tline-height: 1.125rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\ttext-decoration: none;\n\ttransition: all 0.3s ease;\n}\n\n.add-btn:hover {\n\tbox-shadow: 4px 6px 5px 0px rgb(197 197 197 / 20%);\n}\n\n.add-btn-icon {\n\tmargin-right: 0.625rem;\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.add-btn::after {\n\tdisplay: none !important;\n}\n\n.cursor-pointer {\n\tcursor: pointer;\n}\n\n.view-evidence-btn {\n\tcolor: var(--primary-color);\n\tfont-size: 1.125rem;\n\ttext-decoration: none;\n\tfont-weight: 500;\n}\n\n.mark-paid-input {\n\theight: 3.125rem;\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.875rem 1rem;\n\tfont-size: 1.125rem;\n\tcolor: #000000;\n\twidth: 100%;\n\ttext-align: left;\n\tline-height: 1;\n\tpadding-right: 5.25rem;\n}\n\n#add-dropdown {\n\tpadding: 1rem;\n\tborder-radius: 8px;\n\twidth: 22.625rem;\n}\n\n#add-dropdown form {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tposition: relative;\n}\n\n.content-action-btn {\n\tbackground: #ffffff;\n\tbox-sizing: border-box;\n\tborder-radius: 50%;\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\t/* padding: 0.375rem; */\n\tfont-weight: bold;\n\tfont-size: 0.875rem;\n\tline-height: 1;\n\tletter-spacing: 0.05rem;\n\ttext-transform: uppercase;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttop: 0.875rem;\n}\n\n.content-action-btn.save {\n\tborder: 1px solid #21cf47;\n\tcolor: #21cf47;\n\tposition: absolute;\n\tright: 3rem;\n}\n.content-action-btn.cancel {\n\tborder: 1px solid #ff0000;\n\tcolor: #ff0000;\n\tposition: absolute;\n\tright: 0.75rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserPaymentDetailModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserPaymentDetailModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserPaymentDetailModal.vue?vue&type=template&id=6376fedd&\"\nimport script from \"./UserPaymentDetailModal.vue?vue&type=script&lang=js&\"\nexport * from \"./UserPaymentDetailModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserPaymentDetailModal.vue?vue&type=style&index=0&id=6376fedd&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-modal-tab-body payments\"},[_c('table',{staticClass:\"table table-hover table-borderless enrolled-users-table\"},[_c('thead',[_c('tr',{staticClass:\"d-flex\"},[_c('th',{staticClass:\"col-1\"},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_all\",\"id\":\"select_all\"},domProps:{\"checked\":_vm.isSelectedAll()},on:{\"click\":function($event){return _vm.toggleSelectAll()}}})]),_c('th',{staticClass:\"col-1\"},[_vm._v(\"ID\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Payment Date\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Payment Method\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Amount\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Type\")])])]),(_vm.payments && _vm.payments.length > 0)?_c('tbody',_vm._l((_vm.payments),function(payment){return _c('tr',{key:payment.id,class:[\n\t\t\t\t\t'd-flex payment-item',\n\t\t\t\t\t{\n\t\t\t\t\t\twarning:\n\t\t\t\t\t\t\tpayment.status && payment.status.toLowerCase() == 'pending',\n\t\t\t\t\t} ],on:{\"click\":function($event){return _vm.togglePaymentModal(payment, 'view')}}},[_c('td',{staticClass:\"col-1\"},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_1\",\"id\":payment.id},domProps:{\"checked\":_vm.isChecked(payment.id)},on:{\"click\":function($event){return _vm.togglePaymentSelect(payment)}}})]),_c('td',{staticClass:\"col-1\"},[_vm._v(_vm._s(payment.id))]),_c('td',{staticClass:\"col\"},[_vm._v(_vm._s(_vm.dateParser(payment.paymentDate)))]),_c('td',{staticClass:\"col\"},[_vm._v(_vm._s(payment.method))]),_c('td',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.currencyParser( _vm.totalAmount(payment.details), payment.details && payment.details.length>0 && payment.details[0].currency? payment.details[0].currency : ( payment.currency ? payment.currency : _vm.currentCurrency) ))+\" \")]),_c('td',{staticClass:\"col\"},[(payment.details[0])?_c('div',{class:[\n\t\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsuccess:\n\t\t\t\t\t\t\t\t\tpayment.details[0].type &&\n\t\t\t\t\t\t\t\t\tpayment.details[0].type.toLowerCase() == 'received',\n\t\t\t\t\t\t\t\tdanger:\n\t\t\t\t\t\t\t\t\tpayment.details[0].type &&\n\t\t\t\t\t\t\t\t\tpayment.details[0].type.toLowerCase() == 'refunded',\n\t\t\t\t\t\t\t\twarning:\n\t\t\t\t\t\t\t\t\tpayment.details[0].type &&\n\t\t\t\t\t\t\t\t\tpayment.details[0].type.toLowerCase() == 'partially paid',\n\t\t\t\t\t\t\t} ]},[_vm._v(\" \"+_vm._s(payment.details[0].type)+\" \")]):_vm._e()])])}),0):(_vm.payments.length == 0 && _vm.loading)?_c('div',{staticClass:\"d-flex align-items-center justify-content-center gap-2 p-3 font-500\"},[_c('b-spinner',{attrs:{\"small\":\"\"}}),_vm._v(\" Loading... \")],1):_c('div',{staticClass:\"no-content\"},[_vm._v(\"No Payments found\")])]),_c('UserPaymentDetailModal',{attrs:{\"payment\":_vm.paymentToViewPay,\"mode\":_vm.mode,\"showModal\":_vm.showPaymentModal,\"user\":_vm.user},on:{\"updateModalState\":_vm.togglePaymentModal}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"user-modal-tab-body payments\">\n\t\t<table class=\"table table-hover table-borderless enrolled-users-table\">\n\t\t\t<thead>\n\t\t\t\t<tr class=\"d-flex\">\n\t\t\t\t\t<th class=\"col-1\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tname=\"select_all\"\n\t\t\t\t\t\t\tid=\"select_all\"\n\t\t\t\t\t\t\t@click=\"toggleSelectAll()\"\n\t\t\t\t\t\t\t:checked=\"isSelectedAll()\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th class=\"col-1\">ID</th>\n\t\t\t\t\t<th class=\"col\">Payment Date</th>\n\t\t\t\t\t<th class=\"col\">Payment Method</th>\n\t\t\t\t\t<th class=\"col\">Amount</th>\n\t\t\t\t\t<!-- <th class=\"col\">Currency</th> -->\n\t\t\t\t\t<!-- <th class=\"col\">Status</th> -->\n\t\t\t\t\t<th class=\"col\">Type</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody v-if=\"payments && payments.length > 0\">\n\t\t\t\t<tr\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'd-flex payment-item',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twarning:\n\t\t\t\t\t\t\t\tpayment.status && payment.status.toLowerCase() == 'pending',\n\t\t\t\t\t\t},\n\t\t\t\t\t]\"\n\t\t\t\t\tv-for=\"payment in payments\"\n\t\t\t\t\t:key=\"payment.id\"\n\t\t\t\t\t@click=\"togglePaymentModal(payment, 'view')\"\n\t\t\t\t>\n\t\t\t\t\t<td class=\"col-1\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tname=\"select_1\"\n\t\t\t\t\t\t\t:id=\"payment.id\"\n\t\t\t\t\t\t\t@click=\"togglePaymentSelect(payment)\"\n\t\t\t\t\t\t\t:checked=\"isChecked(payment.id)\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=\"col-1\">{{ payment.id }}</td>\n\t\t\t\t\t<td class=\"col\">{{ dateParser(payment.paymentDate) }}</td>\n\t\t\t\t\t<td class=\"col\">{{ payment.method }}</td>\n\t\t\t\t\t<td class=\"col\">\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\tcurrencyParser(\n\t\t\t\t\t\t\t\ttotalAmount(payment.details),\n\t\t\t\t\t\t\t\tpayment.details && payment.details.length>0 && payment.details[0].currency? payment.details[0].currency : ( payment.currency ? payment.currency : currentCurrency)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}}\n\t\t\t\t\t</td>\n\t\t\t\t\t<!-- <td class=\"col\">\n\t\t\t\t\t\t{{ payment.currency }}\n\t\t\t\t\t</td> -->\n\t\t\t\t\t<!-- <td class=\"col\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tsuccess:\n\t\t\t\t\t\t\t\t\t\tpayment.status &&\n\t\t\t\t\t\t\t\t\t\tpayment.status.toLowerCase() == 'completed',\n\t\t\t\t\t\t\t\t\twarning:\n\t\t\t\t\t\t\t\t\t\tpayment.status && payment.status.toLowerCase() == 'pending',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ payment.status ? payment.status : \"Completed\" }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{{ payment.status ? payment.status : \"Completed\" }}\n\t\t\t\t\t</td> -->\n\t\t\t\t\t<td class=\"col\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"payment.details[0]\"\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tsuccess:\n\t\t\t\t\t\t\t\t\t\tpayment.details[0].type &&\n\t\t\t\t\t\t\t\t\t\tpayment.details[0].type.toLowerCase() == 'received',\n\t\t\t\t\t\t\t\t\tdanger:\n\t\t\t\t\t\t\t\t\t\tpayment.details[0].type &&\n\t\t\t\t\t\t\t\t\t\tpayment.details[0].type.toLowerCase() == 'refunded',\n\t\t\t\t\t\t\t\t\twarning:\n\t\t\t\t\t\t\t\t\t\tpayment.details[0].type &&\n\t\t\t\t\t\t\t\t\t\tpayment.details[0].type.toLowerCase() == 'partially paid',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ payment.details[0].type }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t\t<div\n\t\t\t\tv-else-if=\"payments.length == 0 && loading\"\n\t\t\t\tclass=\"d-flex align-items-center justify-content-center gap-2 p-3 font-500\"\n\t\t\t>\n\t\t\t\t<b-spinner small></b-spinner> Loading...\n\t\t\t</div>\n\t\t\t<div v-else class=\"no-content\">No Payments found</div>\n\t\t</table>\n\t\t<UserPaymentDetailModal\n\t\t\t:payment=\"paymentToViewPay\"\n\t\t\t:mode=\"mode\"\n\t\t\t:showModal=\"showPaymentModal\"\n\t\t\t@updateModalState=\"togglePaymentModal\"\n\t\t\t:user=\"user\"\n\t\t/>\n\t</div>\n</template>\n\n<script>\nimport formatter from \"../../../helpers/FormatHelpers\";\nimport UserPaymentDetailModal from \"./UserPaymentDetailModal.vue\";\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"UserPayments\",\n\tdata() {\n\t\treturn {\n\t\t\tpayments: [],\n\t\t\tselectedPayments: [],\n\t\t\tshowPaymentModal: false,\n\t\t\tpaymentToViewPay: null,\n\t\t\tmode: \"view\",\n\t\t};\n\t},\n\tcomponents: { UserPaymentDetailModal },\n\tcomputed: {\n\t\t...mapState(\"pricing\", [\"paymentsByUserId\", \"loading\"]),\n\t\t...mapState(\"appState\", [\"currentCurrency\"]),\n\t},\n\tprops: { user: Object },\n\tmethods: {\n\t\t...mapActions(\"pricing\", [\"fetchPaymentsByUserId\", \"deletePayment\"]),\n\t\ttoggleSelectAll() {\n\t\t\tif (\n\t\t\t\tthis.payments &&\n\t\t\t\tthis.payments.length > 0 &&\n\t\t\t\tthis.selectedPayments.length != this.payments.length\n\t\t\t) {\n\t\t\t\tthis.selectedPayments = this.payments;\n\t\t\t} else {\n\t\t\t\tthis.selectedPayments = [];\n\t\t\t}\n\t\t},\n\t\tisSelectedAll() {\n\t\t\treturn this.payments.length == this.selectedPayments.length;\n\t\t},\n\t\ttogglePaymentModal(payment, mode) {\n\t\t\tthis.showPaymentModal = !this.showPaymentModal;\n\t\t\tif (this.showPaymentModal) {\n\t\t\t\tthis.paymentToViewPay = payment;\n\t\t\t\tthis.mode = mode;\n\t\t\t} else {\n\t\t\t\t// this.paymentToViewPay = null;\n\t\t\t\tthis.mode = \"view\";\n\t\t\t}\n\t\t},\n\t\ttogglePaymentSelect(payment) {\n\t\t\tvar found = this.selectedPayments.find((s) => s.id == payment.id);\n\t\t\t// console.log(found, payment);\n\t\t\tif (!found) {\n\t\t\t\tthis.selectedPayments.push(payment);\n\t\t\t} else {\n\t\t\t\tthis.selectedPayments = this.selectedPayments.filter(\n\t\t\t\t\t(su) => su.id != payment.id\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tisChecked(id) {\n\t\t\tvar found = this.selectedPayments.find((payment) => payment.id == id);\n\t\t\t// console.log(found);\n\t\t\tif (found) {\n\t\t\t\treturn true;\n\t\t\t} else return false;\n\t\t},\n\t\tcurrencyParser(amount, currency) {\n\t\t\treturn formatter.toCurrencyString(parseInt(amount), currency, 0);\n\t\t},\n\t\tdateParser(date) {\n\t\t\treturn formatter.toShortDateString(date);\n\t\t},\n\t\ttotalAmount(details) {\n\t\t\tvar total = 0;\n\t\t\tdetails.forEach((detail) => {\n\t\t\t\ttotal += detail.amount;\n\t\t\t\t// console.log(detail.amount);\n\t\t\t});\n\t\t\t// console.log(total);\n\t\t\treturn total;\n\t\t},\n\t},\n\twatch: {\n\t\tpaymentsByUserId: function () {\n\t\t\tconsole.log(\"payments updated in store\");\n\t\t\tif (this.paymentsByUserId[this.user.id]) {\n\t\t\t\tthis.payments = this.paymentsByUserId[this.user.id];\n\t\t\t}\n\t\t},\n\t},\n\tcreated() {\n\t\t// if (!this.paymentsByUserId[this.user.id]) {\n\t\tthis.fetchPaymentsByUserId(this.user.id).then(() => {\n\t\t\tconsole.log(\"payments fetched\");\n\t\t\tthis.payments = this.paymentsByUserId[this.user.id];\n\t\t});\n\t\t// } else {\n\t\t// \tthis.payments = this.paymentsByUserId[this.user.id];\n\t\t// }\n\t},\n};\n</script>\n\n<style scoped>\n.no-content {\n\tpadding: 1rem;\n\ttext-align: center;\n\tfont-weight: 500;\n\tcolor: #666;\n\tfont-size: 1.125rem;\n}\n\ninput[type=\"checkbox\"] {\n\t/* margin-left: 1.5rem; */\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n\n.status-tag {\n\tborder-radius: 6px;\n\tpadding: 0.25rem 0.5rem;\n\ttext-transform: uppercase;\n\tcolor: #ffffff;\n\tfont-size: 0.75rem;\n\tfont-weight: normal;\n\tline-height: 1;\n\twidth: fit-content;\n}\n\n.status-tag.success {\n\tbackground-color: #00c672;\n}\n\n.status-tag.danger {\n\tbackground-color: var(--color-danger);\n}\n\n.status-tag.warning {\n\tbackground-color: var(--color-warning);\n}\n\n.payment-item {\n\tcursor: pointer;\n}\n\n.payment-item .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tmargin-left: auto;\n\tmargin-right: 0.75rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.payment-item:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.right-menu-icon {\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n.right-menu-icon img {\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserPayments.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserPayments.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserPayments.vue?vue&type=template&id=d927da80&scoped=true&\"\nimport script from \"./UserPayments.vue?vue&type=script&lang=js&\"\nexport * from \"./UserPayments.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserPayments.vue?vue&type=style&index=0&id=d927da80&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"d927da80\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"course-pricing-container\"},[(!_vm.loading)?_c('div',{staticClass:\"pricing-status-card\"},[_c('div',{staticClass:\"title-section\"},[_vm._m(0),(_vm.pricingType.toLowerCase() == 'paid')?_c('CreatePricingPlanSidebar',{attrs:{\"productVariantData\":_vm.productVariantData,\"planData\":_vm.planToEdit,\"editMode\":_vm.editMode,\"planDetailToEdit\":_vm.planDetailToEdit,\"showModal\":_vm.showModal,\"planCountryAndCurrency\":_vm.planCountryAndCurrency},on:{\"updatePlans\":_vm.updatePricingPlansByType,\"updateModalState\":_vm.toggleModal}}):_vm._e()],1),_c('div',{staticClass:\"buttons-section\"},[_c('div',{class:[\n\t\t\t\t\t'status-card',\n\t\t\t\t\t{ checked: _vm.pricingType.toLowerCase() == 'paid' } ],on:{\"click\":function($event){return _vm.changeType('Paid')}}},[_c('p',[_vm._v(\"Paid\")]),_vm._v(\" The course will be paid. You can create multiple plans to cater to students from different countries. \")]),_c('div',{class:[\n\t\t\t\t\t'status-card',\n\t\t\t\t\t{ checked: _vm.pricingType.toLowerCase() == 'free' } ],on:{\"click\":function($event){return _vm.changeType('Free')}}},[_c('p',[_vm._v(\"Free\")]),_vm._v(\" The course will be free. Students will be able view and consume all content in this course without cost. \")])])]):_vm._e(),(_vm.loading && _vm.oneTimePlans.length == 0 && _vm.multiplePlans.length == 0)?_c('div',[_c('b-skeleton',{staticClass:\"mb-4\",attrs:{\"height\":\"18rem\",\"width\":\"100%\"}}),_c('b-skeleton',{staticClass:\"mb-4\",attrs:{\"height\":\"2.5rem\",\"width\":\"40%\"}}),_c('div',{staticClass:\"inline-group\"},[_c('b-skeleton',{attrs:{\"width\":\"50%\",\"height\":\"15rem\"}}),_c('b-skeleton',{attrs:{\"width\":\"50%\",\"height\":\"15rem\"}})],1)],1):_vm._e(),(\n\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id] &&\n\t\t\t_vm.productVariantData &&\n\t\t\t_vm.pricingType.toLowerCase() == 'paid'\n\t\t)?_c('div',[(_vm.oneTimePlans.length)?_c('div',[_c('h1',{staticClass:\"page-title\",attrs:{\"id\":\"single-plan\"}},[_vm._v(\"One-Time Payment Plans\")]),_c('div',{staticClass:\"pricing-plan-list\"},_vm._l((_vm.oneTimePlans),function(plan,index){return _c('div',{key:index,staticClass:\"pricing-plan-item single\"},[_c('div',{staticClass:\"title-section\"},[_c('div',{staticClass:\"title-text\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(plan.title)+\" \")]),_c('span',{staticClass:\"sub-title\"},[_vm._v(\" Currency: \"),_c('span',{staticClass:\"text-black\"},[_vm._v(_vm._s(_vm.getCurrencyName(plan.currency))+\" (\"+_vm._s(plan.currency)+\")\")]),_c('br'),_c('div',{staticClass:\"country-tags\",attrs:{\"title\":_vm.planCountriesText(plan.country)}},[_c('span',[_vm._v(\"Applicable Countries: \")]),(plan.country.length == 249)?_c('span',{staticClass:\"text-black\"},[_vm._v(\"All Countries\")]):_c('span',{staticClass:\"countries-text text-black\"},[_vm._v(\" \"+_vm._s(_vm.planCountriesText(plan.country))+\" \")])])])]),_c('div',{staticClass:\"d-flex flex-column align-items-end\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm.currencyParser( parseInt(_vm.planDetailAmount(plan.details[0])), plan.currency ))+\" \")]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.editPlan(plan)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.showDeleteConfirmPopup($event, plan)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])])])])])}),0)]):_vm._e(),(_vm.multiplePlans.length)?_c('div',[_c('h1',{staticClass:\"page-title\",attrs:{\"id\":\"multiple-plan\"}},[_vm._v(\" Multiple Payment-Cycle Plans \")]),_c('div',{staticClass:\"pricing-plan-list\"},_vm._l((_vm.multiplePlans),function(plan,index){return _c('div',{key:index,staticClass:\"pricing-plan-item multiple\"},[_c('div',{staticClass:\"title-section\"},[_c('div',{staticClass:\"title-text\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(plan.title)+\" \")]),_c('div',{staticClass:\"sub-title\"},[_vm._v(\" Currency: \"),_c('span',{staticClass:\"text-black\"},[_vm._v(_vm._s(_vm.getCurrencyName(plan.currency))+\" (\"+_vm._s(plan.currency)+\")\")]),_c('div',{staticClass:\"country-tags\",attrs:{\"title\":_vm.planCountriesText(plan.country)}},[_c('span',[_vm._v(\"Applicable Countries: \")]),_c('br'),(plan.country.length == 249)?_c('span',{staticClass:\"text-black\"},[_vm._v(\"All Countries\")]):_c('span',{staticClass:\"countries-text text-black\"},[_vm._v(\" \"+_vm._s(_vm.planCountriesText(plan.country))+\" \")])])])]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.editPlan(plan)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.showDeleteConfirmPopup($event, plan)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])])]),_c('div',{staticClass:\"buttons-section\"},[_c('div',{staticClass:\"d-flex flex-column width-100\"},[_c('p',[_vm._v(\"Payment Cycles:\")]),_c('div',{staticClass:\"d-flex flex-row flex-wrap gap-2\"},_vm._l((plan.details),function(detail,index){return _c('div',{key:index,staticClass:\"status-card col-6\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-between\"},[_c('div',[_c('p',{staticClass:\"m-0 mb-3\"},[_vm._v(_vm._s(detail.title))]),_vm._v(\" Start Date: \"+_vm._s(new Date(detail.startAt).toDateString())+\" \"),_c('br'),_vm._v(\" End Date: \"+_vm._s(new Date(detail.endAt).toDateString())+\" \"),_c('br')]),_c('div',{staticClass:\"d-flex flex-column align-items-end\"},[_c('p',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm.currencyParser(detail.amount, plan.currency))+\" \")]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.editPlanDetail(plan, index)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})])])])])])}),0)])])])}),0)]):_vm._e()]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"title-text\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\"Status\")]),_c('span',{staticClass:\"sub-title\"},[_vm._v(\" Select pricing status for this course \")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"course-pricing-container\">\n\t\t<div class=\"pricing-status-card\" v-if=\"!loading\">\n\t\t\t<div class=\"title-section\">\n\t\t\t\t<div class=\"title-text\">\n\t\t\t\t\t<h1 class=\"title\">Status</h1>\n\t\t\t\t\t<span class=\"sub-title\"> Select pricing status for this course </span>\n\t\t\t\t</div>\n\t\t\t\t<CreatePricingPlanSidebar\n\t\t\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t\t\tv-if=\"pricingType.toLowerCase() == 'paid'\"\n\t\t\t\t\t@updatePlans=\"updatePricingPlansByType\"\n\t\t\t\t\t:planData=\"planToEdit\"\n\t\t\t\t\t:editMode=\"editMode\"\n\t\t\t\t\t:planDetailToEdit=\"planDetailToEdit\"\n\t\t\t\t\t@updateModalState=\"toggleModal\"\n\t\t\t\t\t:showModal=\"showModal\"\n\t\t\t\t\t:planCountryAndCurrency=\"planCountryAndCurrency\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"buttons-section\">\n\t\t\t\t<div\n\t\t\t\t\t@click=\"changeType('Paid')\"\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'status-card',\n\t\t\t\t\t\t{ checked: pricingType.toLowerCase() == 'paid' },\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<p>Paid</p>\n\t\t\t\t\tThe course will be paid. You can create multiple plans to cater to\n\t\t\t\t\tstudents from different countries.\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\t@click=\"changeType('Free')\"\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'status-card',\n\t\t\t\t\t\t{ checked: pricingType.toLowerCase() == 'free' },\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<p>Free</p>\n\t\t\t\t\tThe course will be free. Students will be able view and consume all\n\t\t\t\t\tcontent in this course without cost.\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\tv-if=\"loading && oneTimePlans.length == 0 && multiplePlans.length == 0\"\n\t\t>\n\t\t\t<b-skeleton height=\"18rem\" width=\"100%\" class=\"mb-4\"></b-skeleton>\n\t\t\t<b-skeleton height=\"2.5rem\" width=\"40%\" class=\"mb-4\"></b-skeleton>\n\t\t\t<div class=\"inline-group\">\n\t\t\t\t<b-skeleton width=\"50%\" height=\"15rem\"></b-skeleton>\n\t\t\t\t<b-skeleton width=\"50%\" height=\"15rem\"></b-skeleton>\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\tv-if=\"\n\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id] &&\n\t\t\t\tproductVariantData &&\n\t\t\t\tpricingType.toLowerCase() == 'paid'\n\t\t\t\"\n\t\t>\n\t\t\t<div v-if=\"oneTimePlans.length\">\n\t\t\t\t<h1 id=\"single-plan\" class=\"page-title\">One-Time Payment Plans</h1>\n\t\t\t\t<div class=\"pricing-plan-list\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-for=\"(plan, index) in oneTimePlans\"\n\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\tclass=\"pricing-plan-item single\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"title-section\">\n\t\t\t\t\t\t\t<div class=\"title-text\">\n\t\t\t\t\t\t\t\t<h1 class=\"title\">\n\t\t\t\t\t\t\t\t\t{{ plan.title }}\n\t\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t\t<span class=\"sub-title\">\n\t\t\t\t\t\t\t\t\tCurrency:\n\t\t\t\t\t\t\t\t\t<span class=\"text-black\"\n\t\t\t\t\t\t\t\t\t\t>{{ getCurrencyName(plan.currency) }} ({{\n\t\t\t\t\t\t\t\t\t\t\tplan.currency\n\t\t\t\t\t\t\t\t\t\t}})</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclass=\"country-tags\"\n\t\t\t\t\t\t\t\t\t\t:title=\"planCountriesText(plan.country)\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span>Applicable Countries: </span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"text-black\" v-if=\"plan.country.length == 249\"\n\t\t\t\t\t\t\t\t\t\t\t>All Countries</span\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"countries-text text-black\" v-else>\n\t\t\t\t\t\t\t\t\t\t\t{{ planCountriesText(plan.country) }}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column align-items-end\">\n\t\t\t\t\t\t\t\t<h1 class=\"title\">\n\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\tcurrencyParser(\n\t\t\t\t\t\t\t\t\t\t\tparseInt(planDetailAmount(plan.details[0])),\n\t\t\t\t\t\t\t\t\t\t\tplan.currency\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t\t<div class=\"right-menu\">\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t@click=\"editPlan(plan)\"\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t@click=\"showDeleteConfirmPopup($event, plan)\"\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-if=\"multiplePlans.length\">\n\t\t\t\t<h1 id=\"multiple-plan\" class=\"page-title\">\n\t\t\t\t\tMultiple Payment-Cycle Plans\n\t\t\t\t</h1>\n\t\t\t\t<div class=\"pricing-plan-list\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-for=\"(plan, index) in multiplePlans\"\n\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\tclass=\"pricing-plan-item multiple\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"title-section\">\n\t\t\t\t\t\t\t<div class=\"title-text\">\n\t\t\t\t\t\t\t\t<h1 class=\"title\">\n\t\t\t\t\t\t\t\t\t{{ plan.title }}\n\t\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t\t<div class=\"sub-title\">\n\t\t\t\t\t\t\t\t\tCurrency:\n\t\t\t\t\t\t\t\t\t<span class=\"text-black\"\n\t\t\t\t\t\t\t\t\t\t>{{ getCurrencyName(plan.currency) }} ({{\n\t\t\t\t\t\t\t\t\t\t\tplan.currency\n\t\t\t\t\t\t\t\t\t\t}})</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclass=\"country-tags\"\n\t\t\t\t\t\t\t\t\t\t:title=\"planCountriesText(plan.country)\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span>Applicable Countries: </span>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t<span class=\"text-black\" v-if=\"plan.country.length == 249\"\n\t\t\t\t\t\t\t\t\t\t\t>All Countries</span\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"countries-text text-black\" v-else>\n\t\t\t\t\t\t\t\t\t\t\t{{ planCountriesText(plan.country) }}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"right-menu\">\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t@click=\"editPlan(plan)\"\n\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t@click=\"showDeleteConfirmPopup($event, plan)\"\n\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"buttons-section\">\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column width-100\">\n\t\t\t\t\t\t\t\t<p>Payment Cycles:</p>\n\t\t\t\t\t\t\t\t<div class=\"d-flex flex-row flex-wrap gap-2\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tv-for=\"(detail, index) in plan.details\"\n\t\t\t\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\t\t\t\tclass=\"status-card col-6\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-row justify-content-between\">\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"m-0 mb-3\">{{ detail.title }}</p>\n\t\t\t\t\t\t\t\t\t\t\t\tStart Date:\n\t\t\t\t\t\t\t\t\t\t\t\t{{ new Date(detail.startAt).toDateString() }}\n\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\tEnd Date: {{ new Date(detail.endAt).toDateString() }}\n\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column align-items-end\">\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"m-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ currencyParser(detail.amount, plan.currency) }}\n\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"right-menu\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"editPlanDetail(plan, index)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport CreatePricingPlanSidebar from \"./CreatePricingPlanSidebar.vue\";\nimport { mapState, mapActions } from \"vuex\";\nimport { currencyCodes } from \"../../../constants/currencyCodes\";\nimport { countryCodes } from \"../../../constants/countryCodes\";\nimport formatter from \"../../../helpers/FormatHelpers\";\nexport default {\n\tname: \"CoursePricing\",\n\tdata() {\n\t\treturn {\n\t\t\tpricingType: \"Free\",\n\t\t\tcurrencyCodes,\n\t\t\tcountryCodes,\n\t\t\toneTimePlans: [],\n\t\t\tmultiplePlans: [],\n\t\t\teditMode: false,\n\t\t\tplanToEdit: null,\n\t\t\tplanDetailToEdit: null,\n\t\t\tshowModal: false,\n\t\t\tplanTypes: {\n\t\t\t\tONE_TIME: \"OneTime\",\n\t\t\t\tMULTIPLE_PAYMENT_CYCLES: \"MultiplePaymentCycles\",\n\t\t\t},\n\t\t\tloading: false,\n\t\t\tplansLoading: false,\n\t\t\tplanCountryAndCurrency: {},\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"pricing\", [\n\t\t\t\"fetchPricingPlanByProductVariantId\",\n\t\t\t\"deletePricingPlan\",\n\t\t]),\n\t\t...mapActions(\"productVariant\", [\"updateProductVariant\"]),\n\t\tchangeType(type) {\n\t\t\tconsole.log(type);\n\t\t\tvar updateVariant = {\n\t\t\t\tid: this.productVariantData.id,\n\t\t\t\tpricingStatus: type,\n\t\t\t\tproductID: this.productVariantData.product.id,\n\t\t\t};\n\t\t\tthis.updateProductVariant(updateVariant).then(() => {\n\t\t\t\tthis.pricingType = type;\n\t\t\t});\n\t\t},\n\t\tgetCurrencyName(code) {\n\t\t\treturn Object.values(this.currencyCodes).find((c) => c.code == code).name;\n\t\t},\n\t\tgetCountryName(code) {\n\t\t\tif (code.length == 3)\n\t\t\t\treturn this.countryCodes.find((c) => c[\"alpha-3\"] == code).name;\n\t\t\telse return \"\";\n\t\t},\n\t\tcurrencyParser(amount, currency) {\n\t\t\t// console.log(formatter.toCurrencyString(amount, this.planCurrency, 0));\n\t\t\treturn formatter.toCurrencyString(amount, currency, 0);\n\t\t},\n\t\tupdatePricingPlansByType(type) {\n\t\t\tthis.planCountryAndCurrency = {};\n\t\t\tif (this.pricingPlanByProductVariantId[this.productVariantData.id]) {\n\t\t\t\tvar filteredPlans = this.pricingPlanByProductVariantId[\n\t\t\t\t\tthis.productVariantData.id\n\t\t\t\t].filter((plan) => {\n\t\t\t\t\tif (!this.planCountryAndCurrency[plan.currency]) {\n\t\t\t\t\t\tthis.planCountryAndCurrency[plan.currency] = plan.country;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tplan.country.forEach((c) => {\n\t\t\t\t\t\t\tif (this.planCountryAndCurrency[plan.currency].indexOf(c) == -1) {\n\t\t\t\t\t\t\t\tthis.planCountryAndCurrency[plan.currency] = [];\n\t\t\t\t\t\t\t\tthis.planCountryAndCurrency[plan.currency].push(\n\t\t\t\t\t\t\t\t\t...plan.country\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tif (plan.type.toLowerCase() == type.toLowerCase()) {\n\t\t\t\t\t\treturn plan;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttype == this.planTypes.ONE_TIME\n\t\t\t\t\t? (this.oneTimePlans = filteredPlans)\n\t\t\t\t\t: (this.multiplePlans = filteredPlans);\n\t\t\t\t// return filteredPlans;\n\t\t\t}\n\t\t\t// return [];\n\t\t},\n\t\teditPlan(plan) {\n\t\t\tthis.planToEdit = plan;\n\t\t\tthis.editMode = true;\n\t\t\tthis.showModal = true;\n\t\t},\n\t\teditPlanDetail(plan, index) {\n\t\t\tthis.planToEdit = plan;\n\t\t\tthis.planDetailToEdit = index.toString();\n\t\t\tthis.editMode = true;\n\t\t\tthis.showModal = true;\n\t\t},\n\t\ttoggleModal(state) {\n\t\t\tif (this.editMode) {\n\t\t\t\tthis.planToEdit = null;\n\t\t\t\tthis.editMode = false;\n\t\t\t\tthis.planDetailToEdit = null;\n\t\t\t}\n\t\t\tthis.showModal = state;\n\t\t},\n\t\tplanDetailAmount(detail) {\n\t\t\treturn (\n\t\t\t\tdetail && detail.amountDetail.find((d) => d.title == \"price\").amount\n\t\t\t);\n\t\t},\n\t\tshowDeleteConfirmPopup(e, plan) {\n\t\t\te.preventDefault();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to delete the Pricing Plan: \\n${plan.title}?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.planDelete(plan);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t\tplanDelete(plan) {\n\t\t\tplan.productId = this.productVariantData.id;\n\t\t\tthis.deletePricingPlan(plan).then(() => {\n\t\t\t\tconsole.log(\"plan deleted\");\n\t\t\t});\n\t\t},\n\t\tplanCountriesText(countries) {\n\t\t\tif (countries.length > 230) {\n\t\t\t\tvar countriesNotSelected = this.countryCodes\n\t\t\t\t\t.filter((c) => {\n\t\t\t\t\t\tif (countries.indexOf(c[\"alpha-3\"]) == -1) {\n\t\t\t\t\t\t\treturn c;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.map((country) => {\n\t\t\t\t\t\treturn country.name;\n\t\t\t\t\t});\n\t\t\t\tconsole.log(countriesNotSelected);\n\t\t\t\treturn (\n\t\t\t\t\t\"All countries except \" +\n\t\t\t\t\tcountriesNotSelected.toString().split(\",\").join(\", \") +\n\t\t\t\t\t\".\"\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\tcountries\n\t\t\t\t\t.map((country) => this.getCountryName(country))\n\t\t\t\t\t.toString()\n\t\t\t\t\t.split(\",\")\n\t\t\t\t\t.join(\", \") + \".\"\n\t\t\t);\n\t\t},\n\t},\n\tcomponents: { CreatePricingPlanSidebar },\n\tprops: { productVariantData: Object },\n\tcomputed: {\n\t\t...mapState(\"pricing\", [\"pricingPlanByProductVariantId\"]),\n\t},\n\tcreated() {\n\t\tthis.pricingType = this.productVariantData.pricingStatus;\n\t\tif (this.pricingType && this.pricingType.toLowerCase() == \"paid\")\n\t\t\tif (\n\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id] &&\n\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id].length >\n\t\t\t\t\t0\n\t\t\t) {\n\t\t\t\t// console.log(\"found plans\");\n\t\t\t\t// this.pricingType = \"Paid\";\n\t\t\t\tthis.updatePricingPlansByType(this.planTypes.ONE_TIME);\n\t\t\t\tthis.updatePricingPlansByType(this.planTypes.MULTIPLE_PAYMENT_CYCLES);\n\t\t\t} else {\n\t\t\t\tthis.loading = true;\n\t\t\t\tthis.fetchPricingPlanByProductVariantId(\n\t\t\t\t\tthis.productVariantData.id\n\t\t\t\t).then(() => {\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id] &&\n\t\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id]\n\t\t\t\t\t\t\t.length\n\t\t\t\t\t) {\n\t\t\t\t\t\t// console.log(\"fetched plans\");\n\t\t\t\t\t\t// this.pricingType = \"Paid\";\n\t\t\t\t\t\tthis.updatePricingPlansByType(this.planTypes.ONE_TIME);\n\t\t\t\t\t\tthis.updatePricingPlansByType(\n\t\t\t\t\t\t\tthis.planTypes.MULTIPLE_PAYMENT_CYCLES\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t},\n\twatch: {\n\t\tpricingType: function () {\n\t\t\tif (this.pricingType && this.pricingType.toLowerCase() == \"paid\")\n\t\t\t\tif (\n\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id] &&\n\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id].length\n\t\t\t\t) {\n\t\t\t\t\tconsole.log(\"found plans\");\n\t\t\t\t\t// this.pricingType = \"Paid\";\n\t\t\t\t\tthis.updatePricingPlansByType(this.planTypes.ONE_TIME);\n\t\t\t\t\tthis.updatePricingPlansByType(this.planTypes.MULTIPLE_PAYMENT_CYCLES);\n\t\t\t\t} else {\n\t\t\t\t\tthis.loading = true;\n\t\t\t\t\tthis.fetchPricingPlanByProductVariantId(\n\t\t\t\t\t\tthis.productVariantData.id\n\t\t\t\t\t).then(() => {\n\t\t\t\t\t\tthis.loading = false;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id] &&\n\t\t\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id]\n\t\t\t\t\t\t\t\t.length\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconsole.log(\"fetched plans\");\n\t\t\t\t\t\t\t// this.pricingType = \"Paid\";\n\t\t\t\t\t\t\tthis.updatePricingPlansByType(this.planTypes.ONE_TIME);\n\t\t\t\t\t\t\tthis.updatePricingPlansByType(\n\t\t\t\t\t\t\t\tthis.planTypes.MULTIPLE_PAYMENT_CYCLES\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t},\n\t\tpricingPlanByProductVariantId: function () {\n\t\t\tthis.updatePricingPlansByType(this.planTypes.ONE_TIME);\n\t\t\tthis.updatePricingPlansByType(this.planTypes.MULTIPLE_PAYMENT_CYCLES);\n\t\t},\n\t\tshowModal: function () {\n\t\t\tif (this.showModal) return;\n\t\t\tthis.updatePricingPlansByType(this.planTypes.ONE_TIME);\n\t\t\tthis.updatePricingPlansByType(this.planTypes.MULTIPLE_PAYMENT_CYCLES);\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.course-pricing-container {\n\tbackground-color: #f5f5f5;\n\theight: calc(100vh - 5rem);\n\tpadding: 2rem 1.5rem 0;\n\toverflow-y: auto;\n}\n\n.pricing-status-card,\n.pricing-plan-item {\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\tborder-radius: 6px;\n\t/* padding: 2rem 1.875rem; */\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 2rem;\n\tflex-grow: 0;\n}\n\n.title-section {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: flex-start;\n\tpadding: 2rem 1.875rem;\n\tborder-bottom: 1px solid #ebebeb;\n\tjustify-content: space-between;\n}\n\n/*  .title-section .title-text {\n} */\n\n.buttons-section {\n\tpadding: 2rem 1.875rem;\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1.5rem;\n}\n\n.title-section .title {\n\tfont-weight: 450;\n\tfont-size: 1.5rem;\n\tline-height: 1.37;\n\tcolor: #000000;\n\tmargin-bottom: 0.625rem;\n}\n\n.title-section .sub-title {\n\tfont-weight: normal;\n\tfont-size: 1.25rem;\n\tline-height: 1.5;\n\tcolor: #727272;\n}\n\n.status-card {\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.15);\n\tborder-radius: 6px;\n\tpadding: 1.125rem;\n\tcursor: pointer;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\tcolor: #727272;\n\tposition: relative;\n\twidth: calc(50% - 0.25rem);\n}\n\n.status-card.checked::after {\n\tcontent: url(\"~@/assets/images/check-icon.svg\");\n\tposition: absolute;\n\ttop: -0.5rem;\n\tright: -0.5rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\tborder-radius: 50%;\n}\n\n.status-card.checked {\n\tborder-color: var(--primary-color);\n}\n\n.status-card p {\n\tcolor: #000000;\n\tfont-weight: 500;\n\tmargin-bottom: 0.5rem;\n}\n\n.pricing-plan-item .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tmargin-left: auto;\n\t/* margin-right: 0.75rem; */\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.pricing-plan-item:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.right-menu-icon {\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n.right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n.right-menu-icon img {\n\tmax-height: 0.75rem;\n}\n\n.pricing-plan-list {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n\trow-gap: 1rem;\n\tflex-wrap: wrap;\n\tpadding-bottom: 2rem;\n}\n\n.pricing-plan-item {\n\twidth: calc(50% - 0.5rem);\n\tmargin-bottom: 0;\n}\n\n.page-title {\n\tfont-weight: 500;\n\tfont-size: 1.5rem;\n\tline-height: 1.5rem;\n\tcolor: #000000;\n\tdisplay: inline-block;\n\tmargin: 0 0 2rem;\n}\n\n.pricing-plan-item.single .title-section {\n\tborder-bottom: 0 !important;\n}\n\n/* .country-tags {\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tmax-height: 4rem;\n\twidth: 100%;\n} */\n\n.title-section .title-text {\n\twidth: 80%;\n\toverflow: hidden;\n}\n\n/* .title-section .title-text .countries-block {\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tmax-width: 30rem;\n} */\n\n.countries-text {\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 3;\n\t-webkit-box-orient: vertical;\n\toverflow: hidden;\n\ttransition: all 0.3s ease;\n}\n\n.countries-text.show-all {\n\t-webkit-line-clamp: unset;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoursePricing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoursePricing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CoursePricing.vue?vue&type=template&id=f4725d14&scoped=true&\"\nimport script from \"./CoursePricing.vue?vue&type=script&lang=js&\"\nexport * from \"./CoursePricing.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CoursePricing.vue?vue&type=style&index=0&id=f4725d14&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"f4725d14\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"add-btn-container\"},[_c('a',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.pricing-plan-sidebar\",modifiers:{\"pricing-plan-sidebar\":true}}],staticClass:\"add-btn\",attrs:{\"id\":\"add-pricing-btn\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('updateModalState', true)}}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\")}}),_vm._v(\" create pricing plan \")]),_c('b-modal',{attrs:{\"id\":\"pricing-plan-sidebar\",\"size\":\"xl\",\"hide-header\":\"\",\"hide-footer\":\"\",\"centered\":\"\",\"content-class\":\"create-pricing-plan-modal\",\"modal-class\":\"custom-modal\",\"body-class\":\"sidebar-body\",\"visible\":_vm.visible,\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('div',{staticClass:\"custom-stepper-container\"},[_c('div',{staticClass:\"custom-stepper\"},[_c('div',{staticClass:\"custom-stepper-step\"},[_c('div',{class:[\n\t\t\t\t\t\t\t'step-icon first',\n\t\t\t\t\t\t\t{ active: _vm.currentStep == 1, complete: _vm.currentStep > 1 } ]},[_vm._v(\" 1 \")]),_c('div',{staticClass:\"step-text\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\"Plan information\")]),_c('h3',{staticClass:\"subtitle\"},[_vm._v(\"Fill in the plan information\")])])]),(_vm.planType == _vm.planTypes.MULTIPLE_PAYMENT_CYCLES)?_c('div',{staticClass:\"custom-stepper-step\"},[_c('div',{class:['step-icon last', { active: _vm.currentStep == 2 }]},[_vm._v(\" 2 \")]),_c('div',{staticClass:\"step-text\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\"Add Payment Cycles\")]),_c('h3',{staticClass:\"subtitle\"},[_vm._v(\"Create recurring payment cycles\")])])]):_vm._e()])]),_c('div',{staticClass:\"custom-stepper-body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeSidebar}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),(_vm.currentStep == 1)?_c('div',{staticClass:\"step1\"},[_c('h1',{staticClass:\"add-pricing-title\"},[_vm._v(\" Create a Pricing Plan for this Course \")]),_c('span',{staticClass:\"add-pricing-sub-title mb-5\"},[_vm._v(\" Fill in the basic information \")]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"planName\"}},[_vm._v(\"Plan Name (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.planName),expression:\"planName\"}],staticClass:\"form-input\",attrs:{\"id\":\"planName\",\"type\":\"search\",\"placeholder\":\"Type your plan name\",\"required\":\"\"},domProps:{\"value\":(_vm.planName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.planName=$event.target.value}}})]),_c('div',{staticClass:\"col position-relative\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"country\"}},[_vm._v(\"Country (required)\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"multiple\":\"\",\"placeholder\":\"Select country\",\"name\":\"country\",\"id\":\"country\",\"options\":_vm.countryCodes,\"label\":\"name\",\"reduce\":function (country) { return country['alpha-3']; },\"closeOnSelect\":false,\"clearable\":true,\"deselectFromDropdown\":true,\"appendToBody\":true,\"autoscroll\":true,\"calculate-position\":_vm.withPopper},model:{value:(_vm.planCountry),callback:function ($$v) {_vm.planCountry=$$v},expression:\"planCountry\"}}),_c('button',{staticClass:\"select-all\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.selectAllCountry}},[_vm._v(\" \"+_vm._s(_vm.selectAllText)+\" \")])],1)]),_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"planType\"}},[_vm._v(\"Plan Type\")]),_c('div',{staticClass:\"type-buttons-container\"},[_c('div',{class:[\n\t\t\t\t\t\t\t'type-card',\n\t\t\t\t\t\t\t{ checked: _vm.planType == _vm.planTypes.ONE_TIME } ],on:{\"click\":function($event){return _vm.changeType(_vm.planTypes.ONE_TIME)}}},[_c('p',[_vm._v(\"One-Time Payment Plan\")]),_vm._v(\" The course will be in authoring mode hence not published/visible. This is the preferable mode when a course is under development. \")]),_c('div',{class:[\n\t\t\t\t\t\t\t'type-card',\n\t\t\t\t\t\t\t{ checked: _vm.planType == _vm.planTypes.MULTIPLE_PAYMENT_CYCLES } ],on:{\"click\":function($event){return _vm.changeType(_vm.planTypes.MULTIPLE_PAYMENT_CYCLES)}}},[_c('p',[_vm._v(\"Multiple Payment Cycles Plan\")]),_vm._v(\" The course will be in authoring mode hence not published/visible. This is the preferable mode when a course is under development. \")])]),(_vm.planType == _vm.planTypes.ONE_TIME)?_c('form',{attrs:{\"id\":\"createSinglePlan\"}},[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"planCurrency\"}},[_vm._v(\"Amount (required)\")]),_c('div',{staticClass:\"input-container p-0 border-0\"},[_c('div',{staticClass:\"col-4\"},[_c('v-select',{staticClass:\"form-input\",attrs:{\"placeholder\":\"Select currency\",\"name\":\"currency\",\"id\":\"planCurrency\",\"options\":Object.values(_vm.currencyCodes),\"label\":\"code\",\"reduce\":function (currency) { return currency.code; },\"filterBy\":_vm.currencyFilterBy,\"appendToBody\":true,\"calculate-position\":_vm.withPopper,\"autoscroll\":true},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_c('span'),_vm._v(\" \"+_vm._s(option.code)+\" - \"+_vm._s(option.name)+\" (\"+_vm._s(option.symbol_native)+\") \")]}}],null,false,2754899026),model:{value:(_vm.planCurrency),callback:function ($$v) {_vm.planCurrency=$$v},expression:\"planCurrency\"}})],1),_c('div',{staticClass:\"col-7\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.singlePlanAmount),expression:\"singlePlanAmount\"}],staticClass:\"form-input\",attrs:{\"name\":\"singlePlanPrice\",\"type\":\"number\",\"placeholder\":\"Type your invoice amount\",\"required\":\"\"},domProps:{\"value\":(_vm.singlePlanAmount)},on:{\"change\":_vm.validateForm,\"input\":function($event){if($event.target.composing){ return; }_vm.singlePlanAmount=$event.target.value}}})])])]),_c('div',{staticClass:\"col position-relative\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"gracePeriod\"}},[_vm._v(\"Grace Period (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.singlePlanGracePeriod),expression:\"singlePlanGracePeriod\"}],staticClass:\"form-input\",attrs:{\"name\":\"gracePeriod\",\"type\":\"number\",\"placeholder\":\"Type grace period (in days)\",\"id\":\"gracePeriod\",\"required\":\"\"},domProps:{\"value\":(_vm.singlePlanGracePeriod)},on:{\"change\":_vm.validateForm,\"input\":function($event){if($event.target.composing){ return; }_vm.singlePlanGracePeriod=$event.target.value}}})])])]):_vm._e(),(_vm.planType == _vm.planTypes.MULTIPLE_PAYMENT_CYCLES)?_c('form',{attrs:{\"id\":\"createMultiplePlan\"}},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"multiplePlanCurrency\"}},[_vm._v(\"Currency (required) \")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"placeholder\":\"Select currency\",\"name\":\"currency\",\"id\":\"multiplePlanCurrency\",\"options\":Object.values(_vm.currencyCodes),\"label\":\"name\",\"reduce\":function (currency) { return currency.code; },\"filterBy\":_vm.currencyFilterBy,\"appendToBody\":true,\"calculate-position\":_vm.withPopper,\"autoscroll\":true},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_c('span'),_vm._v(\" \"+_vm._s(option.code)+\" - \"+_vm._s(option.name)+\" (\"+_vm._s(option.symbol_native)+\") \")]}},{key:\"selected-option\",fn:function(ref){\n\t\t\t\t\t\tvar name = ref.name;\n\t\t\t\t\t\tvar code = ref.code;\nreturn [_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"baseline\",\"column-gap\":\"0.5rem\"}},[_vm._v(\" \"+_vm._s(name)+\" \"),_c('strong',[_vm._v(\"(\"+_vm._s(code)+\") \")])])]}}],null,false,2838633637),model:{value:(_vm.planCurrency),callback:function ($$v) {_vm.planCurrency=$$v},expression:\"planCurrency\"}})],1):_vm._e()]):_vm._e(),(_vm.currentStep == 2)?_c('div',{staticClass:\"step3\"},[_c('h1',{staticClass:\"add-pricing-title mb-4\"},[_vm._v(\"Create Payment Cycles\")]),(_vm.planDetailItems.length > 0)?_c('table',{attrs:{\"id\":\"payment-cycles\"}},[_c('tr',{staticClass:\"head\"},[_c('th',[_vm._v(\"Payment Cycle Name\")]),_c('th',[_vm._v(\"Price\")]),_c('th',[_vm._v(\"Content Only\")]),_c('th',[_vm._v(\"Start Date\")]),_c('th',[_vm._v(\"End Date\")]),_c('th',[_vm._v(\"Grace Period\")])]),_vm._l((_vm.planDetailItems),function(cycle,index){return _c('tr',{key:index},[_c('td',[_vm._v(_vm._s(cycle.title))]),_c('td',[_vm._v(_vm._s(cycle.amount ? _vm.currencyParser(cycle.amount) : \"-\"))]),_c('td',[_vm._v(\" \"+_vm._s(cycle.latePrice ? _vm.currencyParser(cycle.latePrice) : \"-\")+\" \")]),_c('td',[_vm._v(_vm._s(new Date(cycle.startAt).toDateString()))]),_c('td',[_vm._v(_vm._s(new Date(cycle.endAt).toDateString()))]),_c('td',[_vm._v(_vm._s(cycle.gracePeriod)+\" days\")]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.editPlanDetailItem(index)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.removePlanDetailItem(index)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])])])})],2):_vm._e(),(_vm.planDetailItems.length == 0 && !_vm.showPlanCycleForm)?_c('h4',{staticClass:\"text-center mt-3 mb-4\"},[_vm._v(\" No payment cycles created \")]):_vm._e(),(_vm.showPlanCycleForm)?_c('form',{attrs:{\"id\":\"editPlanCycle\"},on:{\"submit\":_vm.addPlanDetailItem}},[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-4 label-container\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"planCycleName\"}},[_vm._v(\"Payment Cycle Name (required)\")])]),_c('div',{staticClass:\"col-8 input-container\"},[_c('div',{staticClass:\"col-12\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.planCycleName),expression:\"planCycleName\"}],staticClass:\"form-input\",attrs:{\"id\":\"planCycleName\",\"type\":\"search\",\"placeholder\":\"Type your payment cycle name\",\"required\":\"\"},domProps:{\"value\":(_vm.planCycleName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.planCycleName=$event.target.value}}})])])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-4 label-container\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"amount\"}},[_vm._v(\"Price (required)\")])]),_c('div',{staticClass:\"col-8 input-container\"},[_c('div',{staticClass:\"col-12\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.planCyclePrice),expression:\"planCyclePrice\"}],staticClass:\"form-input\",attrs:{\"name\":\"cyclePrice\",\"type\":\"number\",\"placeholder\":\"Type amount\",\"required\":\"\"},domProps:{\"value\":(_vm.planCyclePrice)},on:{\"change\":_vm.validateForm,\"input\":function($event){if($event.target.composing){ return; }_vm.planCyclePrice=$event.target.value}}})])])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-4 label-container\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"amount\"}},[_vm._v(\"Content-only amount (required)\")])]),_c('div',{staticClass:\"col-8 input-container\"},[_c('div',{staticClass:\"col-12\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.planCycleContentPrice),expression:\"planCycleContentPrice\"}],staticClass:\"form-input\",attrs:{\"name\":\"contentOnlyPrice\",\"type\":\"number\",\"placeholder\":\"Type amount\",\"required\":\"\"},domProps:{\"value\":(_vm.planCycleContentPrice)},on:{\"change\":_vm.validateForm,\"input\":function($event){if($event.target.composing){ return; }_vm.planCycleContentPrice=$event.target.value}}})])])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-4 label-container\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"amount\"}},[_vm._v(\"Dates (required)\")])]),_c('div',{staticClass:\"col-8 input-container\"},[_c('div',{staticClass:\"col-6\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.planCycleStartDate),expression:\"planCycleStartDate\"}],staticClass:\"form-input\",attrs:{\"name\":\"startDate\",\"type\":\"date\",\"placeholder\":\"Select start date\",\"required\":\"\"},domProps:{\"value\":(_vm.planCycleStartDate)},on:{\"change\":_vm.validateForm,\"input\":function($event){if($event.target.composing){ return; }_vm.planCycleStartDate=$event.target.value}}})]),_c('div',{staticClass:\"col-6\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.planCycleEndDate),expression:\"planCycleEndDate\"}],staticClass:\"form-input\",attrs:{\"name\":\"endDate\",\"type\":\"date\",\"placeholder\":\"Select end date\",\"required\":\"\"},domProps:{\"value\":(_vm.planCycleEndDate)},on:{\"change\":_vm.validateForm,\"input\":function($event){if($event.target.composing){ return; }_vm.planCycleEndDate=$event.target.value}}})])])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-4 label-container\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"gracePeriod\"}},[_vm._v(\"Grace Period (required)\")])]),_c('div',{staticClass:\"col-8 input-container\"},[_c('div',{staticClass:\"col-12\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.planCycleGracePeriod),expression:\"planCycleGracePeriod\"}],staticClass:\"form-input\",attrs:{\"name\":\"gracePeriod\",\"type\":\"number\",\"placeholder\":\"Type grace period (in days)\",\"required\":\"\"},domProps:{\"value\":(_vm.planCycleGracePeriod)},on:{\"change\":_vm.validateForm,\"input\":function($event){if($event.target.composing){ return; }_vm.planCycleGracePeriod=$event.target.value}}})]),_c('span',{staticClass:\"unit-label\"},[_vm._v(\"days\")])])])]):_c('div',[_c('button',{staticClass:\"add-payment-cycle-btn\",on:{\"click\":_vm.togglePlanCycleForm}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/plus-icon.svg\"),\"alt\":\"\"}}),_vm._v(\" Add Payment Cycle \")])])]):_vm._e(),(_vm.isError)?_c('div',{staticClass:\"no-content text-danger\"},[_c('i',{staticClass:\"fa fa-exclamation-circle\"}),_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")]):_vm._e(),_c('div',{staticClass:\"d-flex flex-row justify-content-end mt-auto\"},[(_vm.showPlanCycleBtn)?_c('div',{staticClass:\"step-btn-container\"},[(_vm.showPlanCycleBtn)?_c('button',{staticClass:\"skip-step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.togglePlanCycleForm}},[_vm._v(\" cancel \")]):_vm._e(),_c('button',{staticClass:\"step-btn\",attrs:{\"disabled\":_vm.disableSave || _vm.isError,\"role\":\"button\"},on:{\"click\":function($event){return _vm.addPlanDetailItem(_vm.editingCycle)}}},[_vm._v(\" save \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})])]):_c('div',{staticClass:\"step-btn-container\"},[(_vm.showPrev)?_c('a',{staticClass:\"step-btn prev\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prev}},[_c('i',{staticClass:\"fas fa-long-arrow-alt-left\"}),_vm._v(\" prev \")]):_vm._e(),_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext || _vm.loading || _vm.isError},on:{\"click\":_vm.next}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.stepButtonContent)+\" \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})],1)])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"add-btn-container\">\n\t\t<a\n\t\t\tv-b-modal.pricing-plan-sidebar\n\t\t\tid=\"add-pricing-btn\"\n\t\t\tclass=\"add-btn\"\n\t\t\trole=\"button\"\n\t\t\t@click=\"$emit('updateModalState', true)\"\n\t\t>\n\t\t\t<img src=\"@/assets/images/add-border-icon.svg\" class=\"add-btn-icon\" />\n\t\t\tcreate pricing plan\n\t\t</a>\n\t\t<b-modal\n\t\t\tid=\"pricing-plan-sidebar\"\n\t\t\tsize=\"xl\"\n\t\t\thide-header\n\t\t\thide-footer\n\t\t\tcentered\n\t\t\tcontent-class=\"create-pricing-plan-modal\"\n\t\t\tmodal-class=\"custom-modal\"\n\t\t\tbody-class=\"sidebar-body\"\n\t\t\t:visible=\"visible\"\n\t\t\tno-close-on-backdrop\n\t\t\tno-close-on-esc\n\t\t>\n\t\t\t<div class=\"custom-stepper-container\">\n\t\t\t\t<div class=\"custom-stepper\">\n\t\t\t\t\t<div class=\"custom-stepper-step\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'step-icon first',\n\t\t\t\t\t\t\t\t{ active: currentStep == 1, complete: currentStep > 1 },\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t\t<h1 class=\"title\">Plan information</h1>\n\t\t\t\t\t\t\t<h3 class=\"subtitle\">Fill in the plan information</h3>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"planType == planTypes.MULTIPLE_PAYMENT_CYCLES\"\n\t\t\t\t\t\tclass=\"custom-stepper-step\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div :class=\"['step-icon last', { active: currentStep == 2 }]\">\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t\t<h1 class=\"title\">Add Payment Cycles</h1>\n\t\t\t\t\t\t\t<h3 class=\"subtitle\">Create recurring payment cycles</h3>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<!-- Custom Stepper -->\n\t\t\t</div>\n\t\t\t<div class=\"custom-stepper-body-container\">\n\t\t\t\t<button @click=\"closeSidebar\" class=\"close-button\" role=\"button\">\n\t\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t\t</button>\n\t\t\t\t<div class=\"step1\" v-if=\"currentStep == 1\">\n\t\t\t\t\t<h1 class=\"add-pricing-title\">\n\t\t\t\t\t\tCreate a Pricing Plan for this Course\n\t\t\t\t\t</h1>\n\t\t\t\t\t<span class=\"add-pricing-sub-title mb-5\">\n\t\t\t\t\t\tFill in the basic information\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t<label class=\"main-label\" for=\"planName\"\n\t\t\t\t\t\t\t\t>Plan Name (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tid=\"planName\"\n\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\tplaceholder=\"Type your plan name\"\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\tv-model=\"planName\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col position-relative\">\n\t\t\t\t\t\t\t<label class=\"main-label\" for=\"country\">Country (required)</label>\n\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\tplaceholder=\"Select country\"\n\t\t\t\t\t\t\t\tv-model=\"planCountry\"\n\t\t\t\t\t\t\t\tname=\"country\"\n\t\t\t\t\t\t\t\tid=\"country\"\n\t\t\t\t\t\t\t\t:options=\"countryCodes\"\n\t\t\t\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t\t\t\t:reduce=\"(country) => country['alpha-3']\"\n\t\t\t\t\t\t\t\t:closeOnSelect=\"false\"\n\t\t\t\t\t\t\t\t:clearable=\"true\"\n\t\t\t\t\t\t\t\t:deselectFromDropdown=\"true\"\n\t\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t\t:autoscroll=\"true\"\n\t\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</v-select>\n\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclass=\"select-all\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t@click=\"selectAllCountry\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{ selectAllText }}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<label class=\"main-label\" for=\"planType\">Plan Type</label>\n\t\t\t\t\t<div class=\"type-buttons-container\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t@click=\"changeType(planTypes.ONE_TIME)\"\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'type-card',\n\t\t\t\t\t\t\t\t{ checked: planType == planTypes.ONE_TIME },\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p>One-Time Payment Plan</p>\n\t\t\t\t\t\t\tThe course will be in authoring mode hence not published/visible.\n\t\t\t\t\t\t\tThis is the preferable mode when a course is under development.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t@click=\"changeType(planTypes.MULTIPLE_PAYMENT_CYCLES)\"\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'type-card',\n\t\t\t\t\t\t\t\t{ checked: planType == planTypes.MULTIPLE_PAYMENT_CYCLES },\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p>Multiple Payment Cycles Plan</p>\n\t\t\t\t\t\t\tThe course will be in authoring mode hence not published/visible.\n\t\t\t\t\t\t\tThis is the preferable mode when a course is under development.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<form v-if=\"planType == planTypes.ONE_TIME\" id=\"createSinglePlan\">\n\t\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"planCurrency\"\n\t\t\t\t\t\t\t\t\t>Amount (required)</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div class=\"input-container p-0 border-0\">\n\t\t\t\t\t\t\t\t\t<div class=\"col-4\">\n\t\t\t\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Select currency\"\n\t\t\t\t\t\t\t\t\t\t\tv-model=\"planCurrency\"\n\t\t\t\t\t\t\t\t\t\t\tname=\"currency\"\n\t\t\t\t\t\t\t\t\t\t\tid=\"planCurrency\"\n\t\t\t\t\t\t\t\t\t\t\t:options=\"Object.values(currencyCodes)\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"code\"\n\t\t\t\t\t\t\t\t\t\t\t:reduce=\"(currency) => currency.code\"\n\t\t\t\t\t\t\t\t\t\t\t:filterBy=\"currencyFilterBy\"\n\t\t\t\t\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t\t\t\t\t\t:autoscroll=\"true\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<template v-slot:option=\"option\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t\t\t\t\t\t{{ option.code }} - {{ option.name }} ({{\n\t\t\t\t\t\t\t\t\t\t\t\t\toption.symbol_native\n\t\t\t\t\t\t\t\t\t\t\t\t}})\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t</v-select>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-7\">\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\tname=\"singlePlanPrice\"\n\t\t\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Type your invoice amount\"\n\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\tv-model=\"singlePlanAmount\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"validateForm\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col position-relative\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"gracePeriod\"\n\t\t\t\t\t\t\t\t\t>Grace Period (required)</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tname=\"gracePeriod\"\n\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\tplaceholder=\"Type grace period (in days)\"\n\t\t\t\t\t\t\t\t\tid=\"gracePeriod\"\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\tv-model=\"singlePlanGracePeriod\"\n\t\t\t\t\t\t\t\t\t@change=\"validateForm\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</form>\n\t\t\t\t\t<form\n\t\t\t\t\t\tv-if=\"planType == planTypes.MULTIPLE_PAYMENT_CYCLES\"\n\t\t\t\t\t\tid=\"createMultiplePlan\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<label class=\"main-label\" for=\"multiplePlanCurrency\"\n\t\t\t\t\t\t\t>Currency (required)\n\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\tplaceholder=\"Select currency\"\n\t\t\t\t\t\t\tv-model=\"planCurrency\"\n\t\t\t\t\t\t\tname=\"currency\"\n\t\t\t\t\t\t\tid=\"multiplePlanCurrency\"\n\t\t\t\t\t\t\t:options=\"Object.values(currencyCodes)\"\n\t\t\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t\t\t:reduce=\"(currency) => currency.code\"\n\t\t\t\t\t\t\t:filterBy=\"currencyFilterBy\"\n\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t\t:autoscroll=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<template v-slot:option=\"option\">\n\t\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t\t{{ option.code }} - {{ option.name }} ({{\n\t\t\t\t\t\t\t\t\toption.symbol_native\n\t\t\t\t\t\t\t\t}})\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template #selected-option=\"{ name, code }\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle=\"\n\t\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\t\talign-items: baseline;\n\t\t\t\t\t\t\t\t\t\tcolumn-gap: 0.5rem;\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{{ name }} <strong>({{ code }}) </strong>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</v-select>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"step3\" v-if=\"currentStep == 2\">\n\t\t\t\t\t<h1 class=\"add-pricing-title mb-4\">Create Payment Cycles</h1>\n\t\t\t\t\t<table v-if=\"planDetailItems.length > 0\" id=\"payment-cycles\">\n\t\t\t\t\t\t<tr class=\"head\">\n\t\t\t\t\t\t\t<th>Payment Cycle Name</th>\n\t\t\t\t\t\t\t<th>Price</th>\n\t\t\t\t\t\t\t<th>Content Only</th>\n\t\t\t\t\t\t\t<th>Start Date</th>\n\t\t\t\t\t\t\t<th>End Date</th>\n\t\t\t\t\t\t\t<th>Grace Period</th>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr v-for=\"(cycle, index) in planDetailItems\" :key=\"index\">\n\t\t\t\t\t\t\t<td>{{ cycle.title }}</td>\n\t\t\t\t\t\t\t<td>{{ cycle.amount ? currencyParser(cycle.amount) : \"-\" }}</td>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t{{ cycle.latePrice ? currencyParser(cycle.latePrice) : \"-\" }}\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td>{{ new Date(cycle.startAt).toDateString() }}</td>\n\t\t\t\t\t\t\t<td>{{ new Date(cycle.endAt).toDateString() }}</td>\n\t\t\t\t\t\t\t<td>{{ cycle.gracePeriod }} days</td>\n\t\t\t\t\t\t\t<div class=\"right-menu\">\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t@click=\"editPlanDetailItem(index)\"\n\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t@click=\"removePlanDetailItem(index)\"\n\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</table>\n\n\t\t\t\t\t<h4\n\t\t\t\t\t\tv-if=\"planDetailItems.length == 0 && !showPlanCycleForm\"\n\t\t\t\t\t\tclass=\"text-center mt-3 mb-4\"\n\t\t\t\t\t>\n\t\t\t\t\t\tNo payment cycles created\n\t\t\t\t\t</h4>\n\n\t\t\t\t\t<form\n\t\t\t\t\t\tid=\"editPlanCycle\"\n\t\t\t\t\t\t@submit=\"addPlanDetailItem\"\n\t\t\t\t\t\tv-if=\"showPlanCycleForm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t<div class=\"col-4 label-container\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"planCycleName\"\n\t\t\t\t\t\t\t\t\t>Payment Cycle Name (required)</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col-8 input-container\">\n\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tid=\"planCycleName\"\n\t\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Type your payment cycle name\"\n\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\tv-model=\"planCycleName\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t<div class=\"col-4 label-container\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"amount\">Price (required)</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col-8 input-container\">\n\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tname=\"cyclePrice\"\n\t\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Type amount\"\n\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\tv-model=\"planCyclePrice\"\n\t\t\t\t\t\t\t\t\t\t@change=\"validateForm\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t<div class=\"col-4 label-container\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"amount\"\n\t\t\t\t\t\t\t\t\t>Content-only amount (required)</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col-8 input-container\">\n\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tname=\"contentOnlyPrice\"\n\t\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Type amount\"\n\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\tv-model=\"planCycleContentPrice\"\n\t\t\t\t\t\t\t\t\t\t@change=\"validateForm\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t<div class=\"col-4 label-container\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"amount\">Dates (required)</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col-8 input-container\">\n\t\t\t\t\t\t\t\t<div class=\"col-6\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tname=\"startDate\"\n\t\t\t\t\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Select start date\"\n\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\tv-model=\"planCycleStartDate\"\n\t\t\t\t\t\t\t\t\t\t@change=\"validateForm\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"col-6\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tname=\"endDate\"\n\t\t\t\t\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Select end date\"\n\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\tv-model=\"planCycleEndDate\"\n\t\t\t\t\t\t\t\t\t\t@change=\"validateForm\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t<div class=\"col-4 label-container\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"gracePeriod\"\n\t\t\t\t\t\t\t\t\t>Grace Period (required)</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"col-8 input-container\">\n\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tname=\"gracePeriod\"\n\t\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Type grace period (in days)\"\n\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\tv-model=\"planCycleGracePeriod\"\n\t\t\t\t\t\t\t\t\t\t@change=\"validateForm\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<span class=\"unit-label\">days</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</form>\n\t\t\t\t\t<div v-else>\n\t\t\t\t\t\t<button @click=\"togglePlanCycleForm\" class=\"add-payment-cycle-btn\">\n\t\t\t\t\t\t\t<img src=\"@/assets/images/plus-icon.svg\" alt=\"\" />\n\t\t\t\t\t\t\tAdd Payment Cycle\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"isError\" class=\"no-content text-danger\">\n\t\t\t\t\t<i class=\"fa fa-exclamation-circle\"></i> {{ errorText }}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"d-flex flex-row justify-content-end mt-auto\">\n\t\t\t\t\t<div v-if=\"showPlanCycleBtn\" class=\"step-btn-container\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tv-if=\"showPlanCycleBtn\"\n\t\t\t\t\t\t\t@click=\"togglePlanCycleForm\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"skip-step-btn\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tcancel\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<!-- <a @click=\"prev\" v-if=\"showPrev\" role=\"button\" class=\"step-btn prev\"\n\t\t\t\t\t\t\t><i class=\"fas fa-long-arrow-alt-left\"></i> prev\n\t\t\t\t\t\t</a> -->\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t:disabled=\"disableSave || isError\"\n\t\t\t\t\t\t\t@click=\"addPlanDetailItem(editingCycle)\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tsave\n\t\t\t\t\t\t\t<i class=\"fas fa-long-arrow-alt-right\"></i>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else class=\"step-btn-container\">\n\t\t\t\t\t\t<a @click=\"prev\" v-if=\"showPrev\" role=\"button\" class=\"step-btn prev\"\n\t\t\t\t\t\t\t><i class=\"fas fa-long-arrow-alt-left\"></i> prev\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t@click=\"next\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t\t\t:disabled=\"disableNext || loading || isError\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\t\t\t{{ stepButtonContent }}\n\t\t\t\t\t\t\t<i class=\"fas fa-long-arrow-alt-right\"></i>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</b-modal>\n\t</div>\n</template>\n\n<script>\nimport { currencyCodes } from \"../../../constants/currencyCodes\";\nimport { countryCodes } from \"../../../constants/countryCodes\";\nimport formatter from \"../../../helpers/FormatHelpers\";\nimport { createPopper } from \"@popperjs/core\";\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"CreatePricingPlanSidebar\",\n\tdata() {\n\t\treturn {\n\t\t\tcurrentStep: 1,\n\t\t\tplanType: \"OneTime\",\n\t\t\ttotalSteps: 1,\n\t\t\tselectAllText: \"Select All\",\n\t\t\t// showModal: false,\n\t\t\tcurrencyCodes,\n\t\t\tcountryCodes,\n\t\t\tid: null,\n\t\t\tplanCurrency: null,\n\t\t\tplanCountry: null,\n\t\t\tplanName: null,\n\t\t\tsinglePlanAmount: null,\n\t\t\tsinglePlanGracePeriod: null,\n\t\t\tshowPlanCycleForm: false,\n\t\t\tplanCycleName: null,\n\t\t\tplanCyclePrice: null,\n\t\t\tplanCycleContentPrice: null,\n\t\t\tplanCycleStartDate: null,\n\t\t\tplanCycleEndDate: null,\n\t\t\tplanCycleGracePeriod: null,\n\t\t\tplanDetailItems: [],\n\t\t\tisPlanCycleEdit: false,\n\t\t\teditingCycle: null,\n\t\t\tplanTypes: {\n\t\t\t\tONE_TIME: \"OneTime\",\n\t\t\t\tMULTIPLE_PAYMENT_CYCLES: \"MultiplePaymentCycles\",\n\t\t\t},\n\t\t\tisError: false,\n\t\t\terrorText: \"\",\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"pricing\", [\n\t\t\t\"createPricingPlan\",\n\t\t\t\"updatePricingPlan\",\n\t\t\t\"fetchPricingPlanByProductVariantId\",\n\t\t]),\n\t\tchangeType(type) {\n\t\t\tthis.planType = type;\n\t\t\tthis.totalSteps = this.planType == this.planTypes.ONE_TIME ? 1 : 2;\n\t\t},\n\t\tselectAllCountry() {\n\t\t\tvar allCountries = countryCodes.map((country) => country[\"alpha-3\"]);\n\t\t\t// console.log(allCountries);\n\t\t\tif (this.planCountry && this.planCountry.length > 1) {\n\t\t\t\tthis.planCountry = null;\n\t\t\t\tthis.selectAllText = \"Select All\";\n\t\t\t} else {\n\t\t\t\tthis.planCountry = allCountries;\n\t\t\t\tthis.selectAllText = \"Deselect All\";\n\t\t\t}\n\t\t},\n\t\tcurrencyFilterBy(option, label, search) {\n\t\t\tvar result =\n\t\t\t\t(option.code || \"\")\n\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t.indexOf(search.toLocaleLowerCase()) > -1 ||\n\t\t\t\t(option.name || \"\")\n\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t.indexOf(search.toLocaleLowerCase()) > -1;\n\n\t\t\treturn result;\n\t\t},\n\t\tnext() {\n\t\t\tif (!this.isError)\n\t\t\t\tif (this.currentStep < this.totalSteps) {\n\t\t\t\t\tthis.currentStep += 1;\n\t\t\t\t} else if (this.currentStep == this.totalSteps) {\n\t\t\t\t\t// var pricingPlan;\n\t\t\t\t\t// console.log(this.planType);\n\t\t\t\t\tif (this.planType == this.planTypes.ONE_TIME) {\n\t\t\t\t\t\tthis.planDetailItems = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: this.planName,\n\t\t\t\t\t\t\t\tamount: parseFloat(this.singlePlanAmount),\n\t\t\t\t\t\t\t\tamountDetail: [\n\t\t\t\t\t\t\t\t\t{ title: \"tax\", amount: 0 },\n\t\t\t\t\t\t\t\t\t{ title: \"price\", amount: parseFloat(this.singlePlanAmount) },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tstartAt: this.productVariantData.startDate\n\t\t\t\t\t\t\t\t\t? new Date(this.productVariantData.startDate).toISOString()\n\t\t\t\t\t\t\t\t\t: new Date().toISOString(),\n\t\t\t\t\t\t\t\t// endAt: this.productVariantData.endDate\n\t\t\t\t\t\t\t\t// \t? new Date(this.productVariantData.endDate).toISOString()\n\t\t\t\t\t\t\t\t// \t: new Date(\"2099-01-01\").toISOString(),\n\t\t\t\t\t\t\t\tgracePeriod: parseInt(this.singlePlanGracePeriod),\n\t\t\t\t\t\t\t\tisApplicableOnPreviousInvoices: true,\n\t\t\t\t\t\t\t\twillContentGetExpiredAfterPlan: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\n\t\t\t\t\tvar pricingPlan = {\n\t\t\t\t\t\tproductVariantID: this.productVariantData.id,\n\t\t\t\t\t\ttype: this.planType,\n\t\t\t\t\t\ttitle: this.planName,\n\t\t\t\t\t\tcountry: this.planCountry,\n\t\t\t\t\t\tselectedCountryAllowed: true,\n\t\t\t\t\t\tcurrency: this.planCurrency,\n\t\t\t\t\t\tdetails: null,\n\t\t\t\t\t};\n\t\t\t\t\tpricingPlan.details = this.planDetailItems;\n\t\t\t\t\t// console.log(pricingPlan);\n\t\t\t\t\tif (this.editMode) {\n\t\t\t\t\t\tpricingPlan.id = this.id;\n\t\t\t\t\t\tthis.planDetailItems = this.planDetailItems.map((item, index) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tthis.planData.details &&\n\t\t\t\t\t\t\t\tthis.planData.details[index] &&\n\t\t\t\t\t\t\t\tthis.planData.details[index].id\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t// console.log(this.planData.details[index].id.toString());\n\t\t\t\t\t\t\t\titem.id = this.planData.details[index].id.toString();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\titem.amountDetail = item.amountDetail.map((amount, i) => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tthis.planData.details &&\n\t\t\t\t\t\t\t\t\tthis.planData.details[index] &&\n\t\t\t\t\t\t\t\t\tthis.planData.details[index].amountDetail[i].id\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t// console.log(\n\t\t\t\t\t\t\t\t\t// \tthis.planData.details[index].amountDetail[i].id.toString()\n\t\t\t\t\t\t\t\t\t// );\n\t\t\t\t\t\t\t\t\tamount.id =\n\t\t\t\t\t\t\t\t\t\tthis.planData.details[index].amountDetail[i].id.toString();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn amount;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn item;\n\t\t\t\t\t\t});\n\t\t\t\t\t\t// console.log(pricingPlan);\n\t\t\t\t\t\tthis.updatePricingPlan(pricingPlan).then(() => {\n\t\t\t\t\t\t\tthis.$emit(\"updatePlans\", this.planType);\n\t\t\t\t\t\t\tthis.fetchPricingPlanByProductVariantId(\n\t\t\t\t\t\t\t\tthis.productVariantData.id\n\t\t\t\t\t\t\t).then(() => {\n\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\tvar objDiv =\n\t\t\t\t\t\t\t\t\t\tthis.planType == this.planTypes.ONE_TIME\n\t\t\t\t\t\t\t\t\t\t\t? document.querySelectorAll(\".pricing-plan-item.single\")\n\t\t\t\t\t\t\t\t\t\t\t: document.querySelectorAll(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\".pricing-plan-item.multiple\"\n\t\t\t\t\t\t\t\t\t\t\t  );\n\t\t\t\t\t\t\t\t\t// console.log(objDiv);\n\t\t\t\t\t\t\t\t\tobjDiv[objDiv.length - 1].scrollIntoView({\n\t\t\t\t\t\t\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\t\t\t\t\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\t\t\t\t\t\t}, 300);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t// this.$emit(\"updateModalState\", false);\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.createPricingPlan({\n\t\t\t\t\t\t\tplan: pricingPlan,\n\t\t\t\t\t\t\tid: this.productVariantData.id,\n\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\tthis.$emit(\"updatePlans\", this.planType);\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tvar objDiv =\n\t\t\t\t\t\t\t\t\tthis.planType == this.planTypes.ONE_TIME\n\t\t\t\t\t\t\t\t\t\t? document.querySelectorAll(\".pricing-plan-item.single\")\n\t\t\t\t\t\t\t\t\t\t: document.querySelectorAll(\".pricing-plan-item.multiple\");\n\t\t\t\t\t\t\t\t// console.log(objDiv);\n\t\t\t\t\t\t\t\tobjDiv[objDiv.length - 1].scrollIntoView({\n\t\t\t\t\t\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\t\t\t\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\t\t\t\t\t}, 300);\n\t\t\t\t\t\t\t// this.$emit(\"updateModalState\", false);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t},\n\t\tprev() {\n\t\t\tif (this.currentStep > 1) {\n\t\t\t\tthis.currentStep -= 1;\n\t\t\t}\n\t\t},\n\t\taddPlanDetailItem(id) {\n\t\t\t// console.log(\"plan cycle addPlanDetailItem\", id);\n\t\t\tvar planCycle = {\n\t\t\t\ttitle: this.planCycleName,\n\t\t\t\tamount: parseFloat(this.planCyclePrice),\n\t\t\t\tamountDetail: [\n\t\t\t\t\t{ title: \"tax\", amount: 0 },\n\t\t\t\t\t{ title: \"price\", amount: parseFloat(this.planCyclePrice) },\n\t\t\t\t],\n\t\t\t\tlatePrice: parseFloat(this.planCycleContentPrice),\n\t\t\t\tstartAt: new Date(this.planCycleStartDate).toISOString(),\n\t\t\t\tendAt: this.planCycleEndDate\n\t\t\t\t\t? new Date(\n\t\t\t\t\t\t\tnew Date(this.planCycleEndDate).setHours(23, 59, 59, 59)\n\t\t\t\t\t  ).toISOString()\n\t\t\t\t\t: null,\n\t\t\t\tgracePeriod: parseInt(this.planCycleGracePeriod),\n\t\t\t\tisApplicableOnPreviousInvoices: true,\n\t\t\t\twillContentGetExpiredAfterPlan: true,\n\t\t\t};\n\t\t\tif (this.isPlanCycleEdit) {\n\t\t\t\t// console.log(\"editing plan index = \", id);\n\t\t\t\tplanCycle.id = this.planDetailItems[id].id ?? id;\n\t\t\t\tplanCycle.amountDetail = planCycle.amountDetail.map((detail, index) => {\n\t\t\t\t\tif (this.planData)\n\t\t\t\t\t\tdetail.id = this.planData.details[id].amountDetail[index].id;\n\t\t\t\t\treturn detail;\n\t\t\t\t});\n\t\t\t\tthis.planDetailItems[id] = planCycle;\n\t\t\t\tthis.isPlanCycleEdit = false;\n\t\t\t} else {\n\t\t\t\tthis.planDetailItems.push(planCycle);\n\t\t\t}\n\t\t\tthis.togglePlanCycleForm();\n\t\t},\n\t\tremovePlanDetailItem(index) {\n\t\t\tthis.planDetailItems.splice(index, 1);\n\t\t},\n\t\teditPlanDetailItem(index) {\n\t\t\tvar planToEdit = this.planDetailItems[index];\n\t\t\tthis.planCycleName = planToEdit.title;\n\t\t\tthis.planCyclePrice = planToEdit.amount;\n\t\t\tthis.planCycleStartDate = formatter.getInputDateFormat(\n\t\t\t\tplanToEdit.startAt\n\t\t\t);\n\t\t\tthis.planCycleEndDate = formatter.getInputDateFormat(planToEdit.endAt);\n\t\t\tthis.planCycleGracePeriod = planToEdit.gracePeriod;\n\t\t\tthis.planCycleContentPrice = planToEdit.latePrice;\n\t\t\tthis.showPlanCycleForm = true;\n\t\t\tthis.isPlanCycleEdit = true;\n\t\t\tthis.editingCycle = index;\n\t\t},\n\t\ttogglePlanCycleForm() {\n\t\t\tthis.showPlanCycleForm = !this.showPlanCycleForm;\n\t\t\tthis.resetPlanCycle();\n\t\t},\n\t\tcloseSidebar() {\n\t\t\tif (this.editMode) {\n\t\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\t\t// this.editMode = false;\n\t\t\t}\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t},\n\t\tresetPlanCycle() {\n\t\t\tthis.planCycleName = null;\n\t\t\tthis.planCyclePrice = null;\n\t\t\tthis.planCycleContentPrice = null;\n\t\t\tthis.planCycleStartDate = null;\n\t\t\tthis.planCycleEndDate = null;\n\t\t\tthis.planCycleGracePeriod = null;\n\t\t},\n\t\tcurrencyParser(amount) {\n\t\t\t// console.log(formatter.toCurrencyString(amount, this.planCurrency, 0));\n\t\t\treturn formatter.toCurrencyString(amount, this.planCurrency, 0);\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\t// console.log(dropdownList, component, { width });\n\t\t\tif (\n\t\t\t\tcomponent.$attrs.name == \"currency\" &&\n\t\t\t\tthis.planType.toLowerCase() == \"onetime\"\n\t\t\t) {\n\t\t\t\tvar widthValue = width.split(\"px\")[0];\n\t\t\t\t// console.log(component.$attrs.name, widthValue * 2);\n\t\t\t\tdropdownList.style.width = (widthValue * 2.25).toString() + \"px\";\n\t\t\t} else dropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t\tvalidateForm(e) {\n\t\t\tvar isAmountInvalid =\n\t\t\t\tthis.singlePlanAmount < 0 || this.planCyclePrice < 0;\n\t\t\tvar isContentPriceInvalid = this.planCycleContentPrice < 0;\n\t\t\tvar isGracePeriodInvalid =\n\t\t\t\tthis.singlePlanGracePeriod < 0 || this.planCycleGracePeriod < 0;\n\t\t\tvar isDateInvalid =\n\t\t\t\tthis.planCycleStartDate &&\n\t\t\t\tthis.planCycleEndDate &&\n\t\t\t\tnew Date(this.planCycleStartDate) > new Date(this.planCycleEndDate);\n\n\t\t\tif (\n\t\t\t\tisAmountInvalid ||\n\t\t\t\tisContentPriceInvalid ||\n\t\t\t\tisGracePeriodInvalid ||\n\t\t\t\tisDateInvalid\n\t\t\t) {\n\t\t\t\tthis.isError = true;\n\t\t\t\tthis.errorText = `Please enter a valid value ${\n\t\t\t\t\tisAmountInvalid ? \"( Amount )\" : \"\"\n\t\t\t\t}\n\t\t\t\t\t${isContentPriceInvalid ? \"( ContentOnly Price )\" : \"\"}\n\t\t\t\t\t${isGracePeriodInvalid ? \" (GracePeriod )\" : \"\"}\n\t\t\t\t\t${isDateInvalid ? \"( Start & End Date )\" : \"\"}\n\t\t\t\t`;\n\t\t\t\t// e.target.classList.add(\"text-danger\");\n\t\t\t} else {\n\t\t\t\tthis.isError = false;\n\t\t\t\tthis.errorText = \"\";\n\t\t\t\t// e.target.classList.remove(\"text-danger\");\n\t\t\t}\n\t\t},\n\t\tcheckPlanCurrencyValidity() {\n\t\t\tif (!this.planCurrency) return;\n\t\t\tObject.entries(this.planCountryAndCurrency).forEach(([key, value]) => {\n\t\t\t\tif (this.planCurrency == key) return;\n\t\t\t\tif (this.editMode && this.planOriginalCurrency == key) return;\n\t\t\t\tvalue.forEach((country) => {\n\t\t\t\t\tif (this.planCountry && this.planCountry.includes(country)) {\n\t\t\t\t\t\tthis.$toasted.info(\n\t\t\t\t\t\t\t`${\n\t\t\t\t\t\t\t\tcountry + \" already has a plan in \" + key\n\t\t\t\t\t\t\t}. ${country} has been removed from selected countries`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t\ttext: \"OK\",\n\t\t\t\t\t\t\t\t\tonClick: (e, toastObject) => {\n\t\t\t\t\t\t\t\t\t\ttoastObject.goAway(0);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.planCountry = this.planCountry.filter((c) => c != country);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"pricing\", [\"loading\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tstepButtonContent() {\n\t\t\tif (this.currentStep != this.totalSteps) {\n\t\t\t\treturn \"Next\";\n\t\t\t} else return \"Finish\";\n\t\t},\n\t\tshowPrev() {\n\t\t\treturn this.currentStep > 1;\n\t\t},\n\t\tshowPlanCycleBtn() {\n\t\t\tif (this.currentStep == 2 && this.showPlanCycleForm) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tdisableNext() {\n\t\t\tif (this.currentStep == 1) {\n\t\t\t\tif (this.planName && this.planCurrency && this.planCountry) {\n\t\t\t\t\tif (this.planType == this.planTypes.ONE_TIME) {\n\t\t\t\t\t\treturn !this.singlePlanAmount;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} else if (this.currentStep == 2) {\n\t\t\t\tif (this.planDetailItems.length < 2) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else return false;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tdisableSave() {\n\t\t\tif (\n\t\t\t\tthis.planCycleName &&\n\t\t\t\tthis.planCyclePrice &&\n\t\t\t\tthis.planCycleContentPrice &&\n\t\t\t\tthis.planCycleStartDate &&\n\t\t\t\tthis.planCycleGracePeriod\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t} else return true;\n\t\t},\n\t},\n\tprops: {\n\t\tproductVariantData: Object,\n\t\tplanData: Object,\n\t\teditMode: Boolean,\n\t\tplanDetailToEdit: String,\n\t\tshowModal: Boolean,\n\t\tplanCountryAndCurrency: Object,\n\t},\n\tcreated() {\n\t\t// if (this.editMode) {\n\t\t// \tthis.planName = this.planData.title;\n\t\t// \tthis.planCountry = this.planData.country;\n\t\t// \tthis.planCurrency = this.planData.currency;\n\t\t// \tif (this.planData.details.length == 1) {\n\t\t// \t\tthis. < 0 || this. = this.planData.details[0].amount;\n\t\t// \t\tthis.singlePlanGracePeriod = this.planData.details[0].gracePeriod;\n\t\t// \t} else {\n\t\t// \t\tthis.changeType(\"multiple\");\n\t\t// \t\tthis.planDetailItems = this.planData.details;\n\t\t// \t}\n\t\t// \tif (this.planDetailToEdit) {\n\t\t// \t\tthis.editPlanDetailItem(parseInt(this.planDetailToEdit));\n\t\t// \t}\n\t\t// }\n\t},\n\twatch: {\n\t\teditMode: function () {\n\t\t\tif (this.editMode) {\n\t\t\t\tthis.id = this.planData.id;\n\t\t\t\tthis.planName = this.planData.title;\n\t\t\t\tthis.planCountry = this.planData.country;\n\t\t\t\tthis.planCurrency = this.planData.currency;\n\t\t\t\tthis.planOriginalCurrency = this.planData.currency;\n\t\t\t\tif (this.planData.details.length == 1) {\n\t\t\t\t\tthis.singlePlanAmount = this.planData.details[0].amount;\n\t\t\t\t\tthis.singlePlanGracePeriod = this.planData.details[0].gracePeriod;\n\t\t\t\t} else {\n\t\t\t\t\tthis.changeType(this.planTypes.MULTIPLE_PAYMENT_CYCLES);\n\t\t\t\t\tthis.planDetailItems = this.planData.details;\n\t\t\t\t}\n\n\t\t\t\tif (this.planDetailToEdit != null) {\n\t\t\t\t\tthis.editPlanDetailItem(parseInt(this.planDetailToEdit));\n\t\t\t\t\tthis.currentStep = 2;\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tdocument.getElementById(\"editPlanCycle\").scrollIntoView();\n\t\t\t\t\t\tdocument.getElementById(\"planCycleName\").focus();\n\t\t\t\t\t}, 300);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tplanCurrency: function (newVal, oldVal) {\n\t\t\t// console.log(newVal, oldVal);\n\t\t\tthis.checkPlanCurrencyValidity();\n\t\t},\n\t\tplanCountry: function (newVal, oldVal) {\n\t\t\t// console.log(newVal, oldVal);\n\t\t\tif (!newVal) return;\n\t\t\tthis.checkPlanCurrencyValidity();\n\t\t},\n\t},\n};\n</script>\n\n<style>\n.create-pricing-plan-modal {\n\theight: 90vh;\n\twidth: 90vw;\n}\n#pricing-plan-sidebar .modal-dialog {\n\tmax-width: 90vw;\n}\n\n.create-pricing-plan-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n}\n.sidebar-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n}\n\n.add-btn-container {\n\tmargin-left: auto;\n}\n\n.add-btn-container .add-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0.625rem 1rem;\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.875rem;\n\tline-height: 1.125rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\ttext-decoration: none;\n\ttransition: all 0.3s ease;\n}\n\n.add-btn-container .add-btn:hover {\n\tbox-shadow: 4px 6px 5px 0px rgb(197 197 197 / 20%);\n}\n\n.add-btn-container .add-btn-icon {\n\tmargin-right: 0.625rem;\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.custom-stepper-container {\n\tbackground: #f5f5f5;\n\tborder-radius: 8px 0px 0px 8px;\n\twidth: 30%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\t/* height: 100%; */\n\tpadding: 0 2rem;\n}\n.custom-stepper-container .custom-stepper {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-start;\n\tjustify-content: center;\n\trow-gap: 7.5rem;\n}\n\n.custom-stepper-container .custom-stepper-step {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 2rem;\n}\n\n.custom-stepper-container .custom-stepper-step .step-icon {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder-radius: 50%;\n\tbackground: #ffffff;\n\tborder: 2px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\tfont-weight: bold;\n\tfont-size: 1.5rem;\n\tline-height: 1.5;\n\tcolor: #000000;\n\tflex-shrink: 0;\n\twidth: 2.875rem;\n\theight: 2.875rem;\n\tcursor: pointer;\n\tposition: relative;\n}\n\n.custom-stepper-container .custom-stepper-step .step-icon:before {\n\tcontent: \"\";\n\tbackground-color: #dcdcdc;\n\twidth: 2px;\n\theight: 9.75rem;\n\tleft: 1.375rem;\n\ttop: -9.75rem;\n\tposition: absolute;\n}\n\n.custom-stepper-container .custom-stepper-step .step-icon.first::before {\n\tdisplay: none;\n}\n\n.custom-stepper-container .custom-stepper-step .step-icon.active:before,\n.custom-stepper-container .custom-stepper-step .step-icon.complete:before {\n\tbackground-color: var(--primary-color);\n}\n\n.custom-stepper-container .custom-stepper-step .step-icon.active,\n.custom-stepper-container .custom-stepper-step .step-icon.complete {\n\tbackground-color: var(--primary-color);\n\tborder-color: var(--primary-color);\n\tcolor: #ffffff;\n}\n\n.custom-stepper-container .custom-stepper-step .step-text {\n\tdisplay: flex;\n\tflex-direction: column;\n\trow-gap: 0.75rem;\n\tmax-height: 5rem;\n}\n\n.custom-stepper-container .custom-stepper-step .step-text .title {\n\tfont-weight: 450;\n\tfont-size: 1.5rem;\n\tline-height: 1.5;\n\tcolor: #000000;\n\tmargin: 0;\n}\n\n.custom-stepper-container .custom-stepper-step .step-text .subtitle {\n\tfont-weight: 400;\n\tfont-size: 1.25rem;\n\tline-height: 1.37;\n\tcolor: #727272;\n}\n\n#pricing-plan-sidebar .step-btn-container.start {\n\talign-self: flex-start;\n}\n\n.custom-stepper-body-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 70%;\n\tpadding: 2.75rem 2.25rem 1.5rem;\n\tbackground-color: #ffffff;\n\tposition: relative;\n}\n\n.custom-stepper-body-container .step1 {\n\t/* margin-top: 1.625rem; */\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.add-pricing-title {\n\tfont-weight: 500;\n\tfont-size: 2rem;\n\tline-height: 1;\n\tmargin: 0.5rem 0 1rem;\n\tcolor: #000000;\n}\n\n.add-pricing-sub-title {\n\tfont-size: 1.25rem;\n\tline-height: 1.37;\n\tcolor: #727272;\n}\n\n.type-buttons-container {\n\tmargin-top: 1rem;\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 2rem;\n\t/* margin-bottom: 3rem; */\n}\n\n.type-card {\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.15);\n\tborder-radius: 6px;\n\tpadding: 1.5rem;\n\tcursor: pointer;\n\tflex-grow: 1;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\tcolor: #727272;\n\tposition: relative;\n}\n\n.type-card.checked::after {\n\tcontent: url(\"~@/assets/images/check-icon.svg\");\n\tposition: absolute;\n\ttop: -0.5rem;\n\tright: -0.5rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\tborder-radius: 50%;\n}\n\n.type-card.checked {\n\tborder-color: var(--primary-color);\n}\n\n.type-card p {\n\tcolor: #000000;\n\tmargin-bottom: 1rem;\n\tfont-size: 1.5rem;\n}\n\n.close-button {\n\tposition: absolute;\n\ttop: 2.5rem;\n\tright: 2rem;\n}\n\n.close-button img {\n\twidth: 1.5rem;\n}\n\n#pricing-plan-sidebar .custom-stepper-body-container .form-group {\n\tdisplay: flex;\n\tflex-direction: row;\n\tmargin-bottom: 0;\n\tborder-bottom: 1px solid #ebebeb;\n}\n\n#pricing-plan-sidebar .custom-stepper-body-container .form-group:last-of-type {\n\tborder-bottom: 0;\n}\n\n.custom-stepper-body-container .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0.875rem 0;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n\tline-height: 1.5;\n\tmin-height: 3.845rem;\n\tborder-radius: 0;\n\tmax-height: 4.5rem;\n\toverflow-y: auto;\n}\n\n.custom-stepper-body-container select.form-input {\n\tmargin-right: 0.5rem;\n}\n\n.custom-stepper-body-container .form-input .vs__dropdown-toggle {\n\tborder: none !important;\n}\n\n.input-container,\n.label-container {\n\tpadding: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\t/* border-bottom: 1px solid #ebebeb; */\n}\n\n.input-container {\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n\tborder-left: 1px solid #ebebeb;\n\tposition: relative;\n}\n\n.label-container label {\n\tmargin: 0;\n}\n\n.unit-label {\n\tfont-size: 1rem;\n\tright: 2rem;\n\tposition: absolute;\n\tcolor: #727272;\n}\n\n.custom-stepper-body-container .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\t/* margin-bottom: 1rem; */\n}\n\n#createSinglePlan,\n#createMultiplePlan {\n\tmargin-top: 2rem;\n}\n\n.vs__dropdown-menu .vs__dropdown-option--selected {\n\tbackground-color: #99f1a2 !important;\n}\n\n.vs__dropdown-menu .vs__dropdown-option--selected:hover {\n\tbackground-color: #fd6e6e !important;\n}\n\n#pricing-plan-sidebar .select-all {\n\tposition: absolute;\n\ttop: 0;\n\tfont-size: 1rem;\n\tcolor: var(--primary-color);\n\tright: 0;\n}\n\n#payment-cycles {\n\twidth: 100%;\n\tmargin-top: 2rem;\n}\n\n#payment-cycles tr,\n.add-payment-cycle-btn {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0.75rem 1.125rem;\n\tbackground: #ffffff;\n\tborder: 1px solid #d8d8d8;\n\tborder-radius: 6px;\n\tmargin-bottom: 1rem;\n}\n\n.add-payment-cycle-btn {\n\twidth: 100%;\n\tjustify-content: center;\n\tfont-size: 1rem;\n\tcolumn-gap: 0.5rem;\n\talign-items: center;\n}\n\n#payment-cycles tr td:first-of-type,\n#payment-cycles tr th:first-of-type {\n\tflex-basis: 25%;\n}\n\n#payment-cycles tr.head {\n\tborder: none;\n\tmargin: 0;\n}\n\n#payment-cycles tr td,\n#payment-cycles tr th {\n\tfont-weight: 500;\n\tflex-shrink: 0;\n\tflex-basis: 15%;\n\tfont-size: 1rem;\n}\n\n#payment-cycles tr th {\n\ttext-transform: uppercase;\n\tcolor: #727272;\n}\n\n#payment-cycles tr td {\n\tcolor: #000000;\n}\n\n#payment-cycles .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tmargin-left: auto;\n\tmargin-right: 0.75rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n\tposition: relative;\n\tright: 4rem;\n}\n\n#payment-cycles tr:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n#payment-cycles .right-menu-icon {\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n#payment-cycles .right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n#payment-cycles .right-menu-icon img {\n\tmax-height: 0.75rem;\n}\n\n.vs__dropdown-menu {\n\tz-index: 2000 !important;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreatePricingPlanSidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreatePricingPlanSidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreatePricingPlanSidebar.vue?vue&type=template&id=5fd9fdc7&\"\nimport script from \"./CreatePricingPlanSidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./CreatePricingPlanSidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CreatePricingPlanSidebar.vue?vue&type=style&index=0&id=5fd9fdc7&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"product-list\"},[_c('draggable',{attrs:{\"ghost-class\":\"ghost\",\"group\":\"category-items\",\"animation\":\"200\",\"handle\":\".product-drag-handler\"},on:{\"start\":(function () {\n      _vm.drag=true;\n      _vm.dragStart();\n    }),\"end\":function($event){_vm.drag = false},\"change\":function($event){return _vm.update($event)}},model:{value:(_vm.productList),callback:function ($$v) {_vm.productList=$$v},expression:\"productList\"}},[(\n        _vm.productList && _vm.productList.length <= 0 && _vm.mode != 'create'\n      )?_c('div',{staticClass:\"no-content pt-4 text-center text-muted product-list-container-empty\"},[_vm._v(\" No courses found! \")]):_vm._l((_vm.productList),function(item){return _c('ProductListItem',{key:item.id,attrs:{\"productData\":item,\"categoryId\":_vm.categoryId,\"isUncategorized\":_vm.isUncategorized},on:{\"toggleModal\":function($event){return _vm.$emit('toggleModal', $event)}}})}),(_vm.mode == 'create')?_c('form',{on:{\"submit\":_vm.addProduct}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.productTitle),expression:\"productTitle\"}],staticClass:\"create-product-input\",attrs:{\"type\":\"search\",\"placeholder\":\"Enter title of new course\",\"id\":\"create-product-input\",\"required\":\"\"},domProps:{\"value\":(_vm.productTitle)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.$emit('changeMode', false)},\"blur\":_vm.blur,\"input\":function($event){if($event.target.composing){ return; }_vm.productTitle=$event.target.value}}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"submit\"},on:{\"click\":_vm.addProduct}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])]):_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"product-list\">\n    <draggable\n      v-model=\"productList\"\n      @start=\"(() => {\n        drag=true;\n        dragStart();\n      })\"\n      @end=\"drag = false\"\n      ghost-class=\"ghost\"\n      group=\"category-items\"\n      animation=\"200\"\n      handle=\".product-drag-handler\"\n      @change=\"update($event)\"\n    >\n      <div\n        class=\"no-content pt-4 text-center text-muted product-list-container-empty\"\n        v-if=\"\n          productList && productList.length <= 0 && mode != 'create'\n        \"\n      >\n        No courses found!\n      </div>\n      <ProductListItem\n        @toggleModal=\"$emit('toggleModal', $event)\"\n        v-else\n        v-for=\"item in productList\"\n        :key=\"item.id\"\n        :productData=\"item\"\n        :categoryId=\"categoryId\"\n        :isUncategorized=\"isUncategorized\"\n      />\n      <form v-if=\"mode == 'create'\" @submit=\"addProduct\">\n        <input\n          type=\"search\"\n          class=\"create-product-input\"\n          v-model=\"productTitle\"\n          placeholder=\"Enter title of new course\"\n          id=\"create-product-input\"\n          required\n          v-on:keyup.esc=\"$emit('changeMode', false)\"\n          @blur=\"blur\"\n        />\n        <button\n          @click=\"addProduct\"\n          type=\"submit\"\n          class=\"content-action-btn save\"\n        >\n          <img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\" />\n        </button>\n        <button class=\"content-action-btn cancel\" type=\"button\" role=\"button\">\n          <img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\" />\n        </button>\n      </form>\n    </draggable>\n  </div>\n</template>\n\n<script>\nimport ProductListItem from \"./ProductListItem.vue\";\nimport { mapActions, mapState } from \"vuex\";\nimport draggable from \"vuedraggable\";\n\nexport default {\n  name: \"ProductList\",\n  data() {\n    return {\n      productTitle: \"\",\n      dragStartCategoryId: null,\n    };\n  },\n  components: {\n    ProductListItem,\n    draggable,\n  },\n  props: {\n    productList: Array,\n    mode: String,\n    categoryId: String,\n    isUncategorized: Boolean,\n  },\n  methods: {\n    ...mapActions(\"product\", [\"createProduct\", \"getProductByCategoryId\"]),\n    ...mapActions(\"product\", [\"editProductSequence\"]),\n    ...mapActions(\"category\", [\"assignCategoryToProduct\", \"unassignCategoryToProduct\", \"dragProductAndAssignCategory\"]),\n\n    addProduct(e) {\n      e.preventDefault();\n      if (this.productTitle.trim().length > 0 && !this.loading) {\n        var productObject = {\n          title: this.productTitle,\n          friendlyTitle: this.productTitle.toLowerCase().split(\" \").join(\"-\"),\n          categories: [this.categoryId],\n        };\n\n        this.createProduct({\n          product: productObject,\n          id: this.categoryId,\n        }).then((res) => {\n          this.$emit(\"changeMode\", false);\n          // this.addProductToCategory().then((res) => {\n          this.title = this.productTitle;\n          this.productTitle = \"\";\n          document.getElementById(res.id).scrollIntoView();\n          // });\n        });\n        console.log(\"create called\");\n      } else {\n        this.$emit(\"changeMode\", false);\n      }\n    },\n    async update(e) {\n      var productObj = {};\n      var afterContentID;\n\n      if(e.removed) {\n        if(this.dragStartCategoryId && parseInt(this.dragStartCategoryId) > 0) {\n          await this.unassignCategoryToProduct({\n            productID: e.removed.element.id,\n            categories: [this.dragStartCategoryId.toString()]\n          });\n        }\n      }\n\n      if (e.added) {\n        await this.assignCategoryToProduct({\n          productID: e.added.element.id,\n          categories: [this.categoryId.toString()]\n        }).then(() => {\n          this.getProductByCategoryId(this.categoryId).then((res) => {\n            if(res && res.length > 0) {\n              this.productList = res;\n            }\n          })\n        });\n\n        // if (e.added.newIndex != 0) {\n        //   afterContentID = this.productList[e.added.newIndex - 1].id;\n        //   productObj.UpperProductID = afterContentID;\n        // } \n        // else if (e.added.newIndex == 0) {\n        //   productObj.BelowProductID = this.productList[e.added.newIndex].id;\n        // }\n        // // productObj = { ...productObj, parentContentID: this.categoryId };\n        // productObj.ProductID = e.added.element.id;\n      }\n      if (e.moved) {\n        if (e.moved.newIndex != 0) {\n          afterContentID = this.productList[e.moved.newIndex - 1].id;\n          productObj.UpperProductID = afterContentID;\n        } else if (e.moved.newIndex == 0) {\n          productObj.BelowProductID = this.productList[e.moved.newIndex + 1].id;\n        }\n        // productObj = { ...productObj, parentContentID: parent };\n        productObj.ProductID = e.moved.element.id;\n      }\n      \n      if (!e.removed && !e.added) {\n        await this.editProductSequence(productObj).then(() => {\n          console.log(\"editContentSequence product\", productObj);\n        });\n      }\n\n\n    },\n    blur() {\n      setTimeout(() => this.$emit(\"changeMode\", false), 300);\n    },\n    dragStart() {\n      this.dragStartCategoryId = this.categoryId;\n    },\n  },\n  computed: {\n    ...mapState(\"product\", [\"loading\"]),\n    showSave() {\n      return this.productTitle !== \"\";\n    },\n  },\n};\n</script>\n\n<style scoped>\n.product-list {\n  margin-top: 1.625rem;\n}\n\n.product-list form {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  position: relative;\n  width: 100%;\n}\n\n.create-product-input {\n  background: #ffffff;\n  border: 1px solid #dcdcdc;\n  box-sizing: border-box;\n  border-radius: 10px;\n  padding: 0.875rem 0.75rem;\n  width: 100%;\n  text-align: left;\n  /* margin-bottom: 1rem; */\n  /* font-weight: 500; */\n  color: #000000;\n  font-size: 1rem;\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 0.75rem;\n  padding-right: 5.25rem;\n}\n\n.content-action-btn {\n  background: #ffffff;\n  box-sizing: border-box;\n  border-radius: 50%;\n  width: 1.625rem;\n  height: 1.625rem;\n  /* padding: 0.375rem; */\n  font-weight: bold;\n  font-size: 0.875rem;\n  line-height: 1;\n  letter-spacing: 0.05rem;\n  text-transform: uppercase;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  top: 0.875rem;\n}\n\n.content-action-btn.save {\n  border: 1px solid #21cf47;\n  color: #21cf47;\n  position: absolute;\n  right: 3rem;\n}\n.content-action-btn.cancel {\n  border: 1px solid #ff0000;\n  color: #ff0000;\n  position: absolute;\n  right: 0.75rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductList.vue?vue&type=template&id=779e26b8&scoped=true&\"\nimport script from \"./ProductList.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductList.vue?vue&type=style&index=0&id=779e26b8&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"779e26b8\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"product-list-item\",attrs:{\"id\":_vm.productData.id}},[(_vm.mode == 'view')?_c('button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"collapse-\" + (_vm.productData.id) + \"-\" + _vm.categoryId)),expression:\"`collapse-${productData.id}-${categoryId}`\"}],staticClass:\"product-collapse-button\",attrs:{\"role\":\"button\",\"id\":(\"collapse-btn-\" + (_vm.productData.id) + \"-\" + _vm.categoryId)},on:{\"click\":_vm.toggleCollapse,\"dragenter\":function($event){return _vm.expandCollapse(_vm.productData.id)}}},[_c('img',{staticClass:\"caret-icon\",attrs:{\"src\":require(\"@/assets/images/caret-down.svg\")}}),_c('img',{staticClass:\"product-drag-handler\",staticStyle:{\"cursor\":\"grab\"},attrs:{\"src\":require(\"../../../assets/images/drag-icon.svg\"),\"alt\":\"\"}}),_vm._v(\" \"+_vm._s(_vm.title)+\" \"),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.toggleModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/plus-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.changeMode($event, 'edit')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.showDeleteConfirmPopup}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})]),(_vm.isUncategorized)?_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\",\"title\":\"Assign Qualification\"},on:{\"click\":_vm.openCategoryModal}},[_c('i',{staticClass:\"far fa-graduation-cap\"})]):_vm._e(),_c('b-modal',{attrs:{\"id\":\"categoryModal\",\"visible\":_vm.showCategoryModal,\"centered\":\"\",\"title\":(\"Assign Qualifications to \" + (_vm.productData.title)),\"ok-title\":\"Assign\"},on:{\"change\":function($event){_vm.showCategoryModal = false},\"ok\":_vm.assignCategory}},[_c('b-form-checkbox-group',{attrs:{\"options\":_vm.categoryOptions,\"name\":\"categorySelected\",\"plain\":\"\",\"stacked\":\"\"},model:{value:(_vm.selectedCategories),callback:function ($$v) {_vm.selectedCategories=$$v},expression:\"selectedCategories\"}})],1)],1)]):_vm._e(),(_vm.mode == 'view')?_c('b-collapse',{staticClass:\"product-collapse-body\",attrs:{\"id\":(\"collapse-\" + (_vm.productData.id) + \"-\" + _vm.categoryId)}},[_c('ProductVariantList',{attrs:{\"productVariantList\":_vm.productVariantList,\"productId\":_vm.productData.id,\"categoryId\":_vm.categoryId},on:{\"updateProductVariant\":_vm.updateVariant}})],1):_vm._e(),(_vm.mode == 'edit')?_c('form',{on:{\"submit\":_vm.editProduct}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.updatedTitle),expression:\"updatedTitle\"}],staticClass:\"update-product-input\",attrs:{\"type\":\"search\",\"placeholder\":\"Enter new title\",\"id\":\"update-product-input\",\"required\":\"\"},domProps:{\"value\":(_vm.updatedTitle)},on:{\"blur\":_vm.blur,\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.editProduct.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.changeMode($event, 'view')}],\"input\":function($event){if($event.target.composing){ return; }_vm.updatedTitle=$event.target.value}}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.editProduct}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.changeMode($event, 'view')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])]):_vm._e(),_c('CreateProductVariantModal',{attrs:{\"showModal\":_vm.showModal,\"productId\":_vm.productData.id},on:{\"updateModalState\":_vm.updateModalState}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"product-list-item\" :id=\"productData.id\">\n    <button\n      v-if=\"mode == 'view'\"\n      v-b-toggle=\"`collapse-${productData.id}-${categoryId}`\"\n      role=\"button\"\n      class=\"product-collapse-button\"\n      :id=\"`collapse-btn-${productData.id}-${categoryId}`\"\n      @click=\"toggleCollapse\"\n      @dragenter=\"expandCollapse(productData.id)\"\n    >\n      <img src=\"@/assets/images/caret-down.svg\" class=\"caret-icon\" />\n\t\t\t<img src=\"../../../assets/images/drag-icon.svg\" alt=\"\" style=\"cursor: grab;\" class=\"product-drag-handler\" />\n      {{ title }}\n      <div class=\"right-menu\">\n        <a @click=\"toggleModal\" role=\"button\" class=\"right-menu-icon\">\n          <img src=\"@/assets/images/plus-icon.svg\" />\n        </a>\n        <a\n          role=\"button\"\n          @click=\"changeMode($event, 'edit')\"\n          class=\"right-menu-icon\"\n        >\n          <img src=\"@/assets/images/edit-icon.svg\" />\n        </a>\n        <a\n          role=\"button\"\n          @click=\"showDeleteConfirmPopup\"\n          class=\"right-menu-icon\"\n        >\n          <img src=\"@/assets/images/delete-icon.svg\" />\n        </a>\n        <a\n          @click=\"openCategoryModal\"\n          role=\"button\"\n          class=\"right-menu-icon\"\n          v-if=\"isUncategorized\"\n          title=\"Assign Qualification\"\n        >\n          <i class=\"far fa-graduation-cap\"></i>\n        </a>\n        <b-modal\n          id=\"categoryModal\"\n          :visible=\"showCategoryModal\"\n          centered\n          :title=\"`Assign Qualifications to ${productData.title}`\"\n          ok-title=\"Assign\"\n          @change=\"showCategoryModal = false\"\n          @ok=\"assignCategory\"\n        >\n          <b-form-checkbox-group\n            :options=\"categoryOptions\"\n            v-model=\"selectedCategories\"\n            name=\"categorySelected\"\n            plain\n            stacked\n          ></b-form-checkbox-group>\n        </b-modal>\n      </div>\n    </button>\n    <b-collapse\n      v-if=\"mode == 'view'\"\n      :id=\"`collapse-${productData.id}-${categoryId}`\"\n      class=\"product-collapse-body\"\n    >\n      <ProductVariantList\n        :productVariantList=\"productVariantList\"\n        :productId=\"productData.id\"\n        @updateProductVariant=\"updateVariant\"\n        :categoryId=\"categoryId\"\n      />\n    </b-collapse>\n    <form v-if=\"mode == 'edit'\" @submit=\"editProduct\">\n      <input\n        type=\"search\"\n        class=\"update-product-input\"\n        v-model=\"updatedTitle\"\n        placeholder=\"Enter new title\"\n        id=\"update-product-input\"\n        required\n        @blur=\"blur\"\n        v-on:keyup.enter=\"editProduct\"\n        v-on:keyup.esc=\"changeMode($event, 'view')\"\n      />\n      <button\n        @click=\"editProduct\"\n        type=\"button\"\n        class=\"content-action-btn save\"\n      >\n        <img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\" />\n      </button>\n      <button\n        @click=\"changeMode($event, 'view')\"\n        class=\"content-action-btn cancel\"\n        type=\"button\"\n        role=\"button\"\n      >\n        <img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\" />\n      </button>\n    </form>\n    <CreateProductVariantModal\n      @updateModalState=\"updateModalState\"\n      :showModal=\"showModal\"\n      :productId=\"productData.id\"\n    />\n  </div>\n</template>\n\n<script>\nimport ProductVariantList from \"../ProductVariant/ProductVariantList.vue\";\nimport CreateProductVariantModal from \"../ProductVariant/CreateProductVariantModal.vue\";\n// import Product from \"../../../models/product\";\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n  name: \"ProductListItem\",\n  components: { ProductVariantList, CreateProductVariantModal },\n  data() {\n    return {\n      mode: \"view\",\n      productVariantList: null,\n      updatedTitle: \"\",\n      title: \"\",\n      expanded: false,\n      isLoaded: false,\n      showModal: false,\n      selectedCategories: [],\n      showCategoryModal: false,\n    };\n  },\n  props: { productData: Object, categoryId: String, isUncategorized: Boolean },\n  methods: {\n    ...mapActions(\"productVariant\", [\n      \"getProductVariantByProductId\",\n      \"PasteProductVariants\",\n    ]),\n    ...mapActions(\"product\", [\n      \"updateProduct\",\n      \"deleteProduct\",\n      \"getProductByCategoryId\",\n    ]),\n    ...mapActions(\"category\", [\"assignCategoryToProduct\"]),\n    changeMode(e, mode) {\n      e.stopPropagation();\n      console.log(\"changing mode to\", mode);\n      if (mode == \"edit\") {\n        this.updatedTitle = this.productData.title;\n        // this.mode = mode;\n        setTimeout(\n          () => document.getElementById(\"update-product-input\").focus(),\n          300\n        );\n      }\n      this.mode = mode;\n    },\n    editProduct(e) {\n      this.updatedTitle = this.updatedTitle.trim();\n      e.preventDefault();\n      if (\n        this.title !== this.updatedTitle &&\n        !this.loading &&\n        this.updatedTitle.length > 0\n      ) {\n        var updatedObject = {\n          title: this.updatedTitle,\n          id: this.productData.id,\n        };\n        this.updateProduct({\n          product: updatedObject,\n          id: this.categoryId,\n        }).then(() => {\n          this.mode = \"view\";\n          this.title = this.updatedTitle;\n          // this.updatedTitle = \"\";\n        });\n        console.log(\"update called\");\n      } else {\n        this.mode = \"view\";\n      }\n    },\n    blur(e) {\n      setTimeout(() => this.changeMode(e, \"view\"), 300);\n    },\n    toggleCollapse() {\n      this.expanded = !this.expanded;\n    },\n    expandCollapse(id) {\n      document.getElementById(`collapse-btn-${id}`).click();\n    },\n    updateVariant(response) {\n      this.productVariantList = this.productVariantList.map((variant) => {\n        if (variant.id == response.id) {\n          return response;\n        }\n        return variant;\n      });\n    },\n    updateModalState(value) {\n      this.showModal = value;\n    },\n    toggleModal(e) {\n      e.stopPropagation();\n      this.showModal = !this.showModal;\n    },\n    showDeleteConfirmPopup(e) {\n      e.preventDefault();\n      e.stopPropagation();\n      this.$bvModal\n        .msgBoxConfirm(\n          `Are you sure you want to delete the Course: ${this.title}?`,\n          {\n            title: \"Are you sure?\",\n            size: \"md\",\n            buttonSize: \"md\",\n            okVariant: \"danger\",\n            okTitle: \"Yes\",\n            cancelTitle: \"No\",\n            footerClass: \"p-2\",\n            hideHeaderClose: false,\n            centered: true,\n            bodyClass: \"confirm-modal-body\",\n          }\n        )\n        .then((value) => {\n          // this.isConfirm = value;\n          if (value) {\n            this.productDelete();\n          }\n        })\n        .catch((err) => {\n          console.error(err);\n          // An error occurred\n        });\n    },\n    productDelete() {\n      if (!this.loading)\n        this.deleteProduct({\n          product: this.productData,\n          id: this.categoryId,\n        }).then(() => {\n          console.log(\"Product deleted\");\n        });\n    },\n    openCategoryModal(e) {\n      e.stopPropagation();\n      this.showCategoryModal = true;\n    },\n    assignCategory(e) {\n      if (this.selectedCategories.length > 0) {\n        var categoryAssignProduct = {\n          productID: this.productData.id,\n          categories: this.selectedCategories,\n        };\n        this.assignCategoryToProduct(categoryAssignProduct).then(() => {\n          this.selectedCategories.forEach((category) => {\n            this.getProductByCategoryId(category);\n          });\n          this.selectedCategories = [];\n          this.showCategoryModal = false;\n        });\n      }\n    },\n    pasteContent() {\n      console.log(\"pasting content\");\n      var assignContentObject = {\n        ProductVariantID: this.copiedProductVariant.id,\n        TargetProductID: this.productData.id,\n      };\n      console.log({ assignContentObject });\n\n      this.PasteProductVariants(assignContentObject).then(() => {\n        // this.getProductVariantById(\n        //   assignContentObject.TargetProductVariantID\n        // ).then((response) => {\n        //   this.filteredProductVariantItems =\n        //     response.productVariantItems.length > 0\n        //       ? response.productVariantItems\n        //       : [];\n        // });\n        console.log(\"assigned content to productVariant\", assignContentObject);\n        this.getProductVariantByProductId(this.productData.id).then(\n          (response) => {\n            this.productVariantList = response;\n          }\n        );\n        this.$toasted.success(\"Course pasted successfully\", {\n          duration: 3000,\n          theme: \"outline\",\n          icon: \"check\",\n          position: \"bottom-center\",\n        });\n      });\n    },\n  },\n  computed: {\n    ...mapState(\"productVariant\", [\n      \"productVariantsByProduct\",\n      \"copiedProductVariant\",\n    ]),\n    ...mapState(\"product\", [\"loading\"]),\n    ...mapState(\"category\", [\"categories\"]),\n    showSave() {\n      const titleChanged = this.updatedTitle !== this.title;\n      const titleNotEmpty = this.updatedTitle !== \"\";\n      return titleChanged && titleNotEmpty;\n    },\n    categoryOptions() {\n      return this.categories.map((category) => ({\n        text: category.title,\n        value: category.id,\n      }));\n    },\n  },\n  watch: {\n    expanded: function () {\n      if (this.expanded) {\n        this.getProductVariantByProductId(this.productData.id).then(() => {\n          this.productVariantList =\n            this.productVariantsByProduct[this.productData.id];\n        });\n      }\n    },\n    productVariantsByProduct: function () {\n      this.productVariantList =\n        this.productVariantsByProduct[this.productData.id];\n    },\n  },\n  created() {\n    this.title = this.productData.title;\n  },\n  mounted() {\n    var _this = this;\n    $.contextMenu({\n      selector: `#${_this.productData.id}`,\n      callback: (key, options) => {\n        switch (key) {\n          case \"paste\":\n            _this.pasteContent();\n        }\n      },\n      items: {\n        paste: {\n          name: \"Paste\",\n          icon: \"paste\",\n          disabled: () => !_this.copiedProductVariant,\n        },\n      },\n    });\n  },\n};\n</script>\n\n<style scoped>\n.product-list-item form {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  position: relative;\n  width: 100%;\n}\n\n.product-collapse-button {\n  background: #ffffff;\n  border: 1px solid #dcdcdc;\n  box-sizing: border-box;\n  border-radius: 10px;\n  padding: 0.875rem 0.75rem;\n  width: 100%;\n  text-align: left;\n  margin-bottom: 1rem;\n  color: #000000;\n  font-size: 1rem;\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 0.75rem;\n  position: relative;\n\n  /* transition: transform 0.3s; */\n}\n\n.update-product-input {\n  background: #ffffff;\n  border: 1px solid #dcdcdc;\n  box-sizing: border-box;\n  border-radius: 10px;\n  padding: 0.875rem 0.75rem;\n  width: 100%;\n  text-align: left;\n  margin-bottom: 1rem;\n  /* font-weight: 500; */\n  color: #000000;\n  font-size: 1rem;\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 0.75rem;\n  padding-right: 5.25rem;\n}\n\n.caret-icon {\n  transition: transform 0.3s;\n}\n\n.product-collapse-button.not-collapsed .caret-icon {\n  transform: rotate(-180deg);\n}\n\n.product-collapse-button .right-menu {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 1rem;\n  margin-left: auto;\n  margin-right: 0.75rem;\n  transition: opacity 0.3s, visibility 0s ease;\n  visibility: hidden;\n  opacity: 0;\n  top: 50%;\n  transform: translateY(-50%);\n  position: absolute;\n  right: 0.75rem;\n  background: #ffffff;\n}\n\n.product-collapse-button:hover .right-menu {\n  visibility: visible;\n  opacity: 1;\n}\n\n.content-action-btn {\n  background: #ffffff;\n  box-sizing: border-box;\n  border-radius: 50%;\n  width: 1.75rem;\n  height: 1.75rem;\n  /* padding: 0.375rem; */\n  font-weight: bold;\n  font-size: 0.875rem;\n  line-height: 1;\n  letter-spacing: 0.05rem;\n  text-transform: uppercase;\n\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  top: 0.875rem;\n}\n\n.content-action-btn.save {\n  border: 1px solid #21cf47;\n  color: #21cf47;\n  position: absolute;\n  right: 3rem;\n}\n.content-action-btn.cancel {\n  border: 1px solid #ff0000;\n  color: #ff0000;\n  position: absolute;\n  right: 0.75rem;\n}\n\n.right-menu-icon {\n  color: #000000;\n  line-height: 1;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductListItem.vue?vue&type=template&id=68fd8d6b&scoped=true&\"\nimport script from \"./ProductListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductListItem.vue?vue&type=style&index=0&id=68fd8d6b&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"68fd8d6b\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"create-product-variant-modal\",\"visible\":_vm.visible,\"size\":\"xl\",\"hide-header\":\"\",\"hide-footer\":\"\",\"centered\":\"\",\"content-class\":\"create-product-variant-modal\",\"body-class\":\"modal-body\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"},on:{\"change\":_vm.closeModal}},[_c('div',{staticClass:\"custom-stepper-container\"}),_c('div',{staticClass:\"custom-stepper-body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\" \"+_vm._s(_vm.isEditMode ? \"Edit\" : \"Create New\")+\" Batch \")]),_c('div',{attrs:{\"id\":\"create-form\"}},[(_vm.currentStep == 1)?_c('div',{staticClass:\"step-1\",attrs:{\"id\":\"1\"}},[_c('div',{staticClass:\"inline-group mb-2\"},[_c('div',{staticClass:\"col-lg-8 ps-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"title\"}},[_vm._v(\"Your Title (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type your batch name here...\",\"type\":\"search\",\"name\":\"title\",\"id\":\"title\",\"required\":\"\",\"autofocus\":\"\"},domProps:{\"value\":(_vm.title)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}})])]),_c('div',{staticClass:\"col-lg-4 ps-0\"},[_c('div',{staticClass:\"form-group\"},[_c('form',{attrs:{\"id\":\"image-form\"}},[_c('label',{staticClass:\"main-label\"},[_vm._v(\"Batch image (optional)\")]),_c('div',{class:[\n\t\t\t\t\t\t\t\t\t\t'upload-btn-wrapper',\n\t\t\t\t\t\t\t\t\t\t{ preview: _vm.thumbnailMediaPath } ]},[_c('img',{class:[{ 'd-none': !_vm.thumbnailMediaPath }],attrs:{\"id\":\"preview\",\"src\":_vm.thumbnailMediaPath,\"alt\":\"preview\"}}),(_vm.thumbnailMediaPath)?_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.openDialog}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.removeFile}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])]):_vm._e(),(!_vm.thumbnailMediaPath)?_c('button',{staticClass:\"upload-btn\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.openDialog}},[_vm._v(\" upload \")]):_vm._e(),_c('input',{staticClass:\"form-input\",attrs:{\"type\":\"file\",\"accept\":\"image/*,video/*\",\"name\":\"file\",\"id\":\"image-upload\"},on:{\"change\":_vm.getFile}})]),_c('input',{attrs:{\"type\":\"search\",\"value\":\"ProductVariant\",\"name\":\"entity\",\"hidden\":\"\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.thumbnailMediaType),expression:\"thumbnailMediaType\"}],attrs:{\"type\":\"search\",\"name\":\"type\",\"hidden\":\"\"},domProps:{\"value\":(_vm.thumbnailMediaType)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.thumbnailMediaType=$event.target.value}}})])])])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"status\"}},[_vm._v(\"status (Required)\")]),_c('div',{staticClass:\"status-cards\"},[_c('div',{staticClass:\"status-card-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.status),expression:\"status\"}],attrs:{\"type\":\"radio\",\"name\":\"status\",\"id\":\"draft\"},domProps:{\"value\":_vm.ProductVariantStatus.DRAFT,\"checked\":_vm._q(_vm.status,_vm.ProductVariantStatus.DRAFT)},on:{\"change\":[function($event){_vm.status=_vm.ProductVariantStatus.DRAFT},function($event){_vm.isEditMode && _vm.update($event)}]}}),_c('label',{staticClass:\"status-card\",attrs:{\"for\":\"draft\"}},[_c('p',[_vm._v(_vm._s(_vm.ProductVariantStatus.DRAFT))]),_vm._v(\" The batch will be in authoring mode hence not published/visible. \")])]),_c('div',{staticClass:\"status-card-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.status),expression:\"status\"}],attrs:{\"type\":\"radio\",\"name\":\"status\",\"id\":\"published\"},domProps:{\"value\":_vm.ProductVariantStatus.PUBLISHED,\"checked\":_vm._q(_vm.status,_vm.ProductVariantStatus.PUBLISHED)},on:{\"change\":[function($event){_vm.status=_vm.ProductVariantStatus.PUBLISHED},function($event){_vm.isEditMode && _vm.update($event)}]}}),_c('label',{staticClass:\"status-card\",attrs:{\"for\":\"published\"}},[_c('p',[_vm._v(_vm._s(_vm.ProductVariantStatus.PUBLISHED))]),_vm._v(\" The batch will be in published mode hence visible. \")])]),_c('div',{staticClass:\"status-card-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.status),expression:\"status\"}],attrs:{\"type\":\"radio\",\"name\":\"status\",\"id\":\"coming_soon\"},domProps:{\"value\":_vm.ProductVariantStatus.COMING_SOON,\"checked\":_vm._q(_vm.status,_vm.ProductVariantStatus.COMING_SOON)},on:{\"change\":[function($event){_vm.status=_vm.ProductVariantStatus.COMING_SOON},function($event){_vm.isEditMode && _vm.update($event)}]}}),_c('label',{staticClass:\"status-card\",attrs:{\"for\":\"coming_soon\"}},[_c('p',[_vm._v(_vm._s(_vm.ProductVariantStatus.COMING_SOON))]),_vm._v(\" The batch will be in coming soon mode. \")])]),_c('div',{staticClass:\"status-card-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.status),expression:\"status\"}],attrs:{\"type\":\"radio\",\"name\":\"status\",\"id\":\"private\"},domProps:{\"value\":_vm.ProductVariantStatus.PRIVATE,\"checked\":_vm._q(_vm.status,_vm.ProductVariantStatus.PRIVATE)},on:{\"change\":[function($event){_vm.status=_vm.ProductVariantStatus.PRIVATE},function($event){_vm.isEditMode && _vm.update($event)}]}}),_c('label',{staticClass:\"status-card\",attrs:{\"for\":\"private\"}},[_c('p',[_vm._v(_vm._s(_vm.ProductVariantStatus.PRIVATE))]),_vm._v(\" The batch will be in private hence not visible to all. \")])])])]),_c('div',{staticClass:\"flex-row mt-5\"},[_c('div',{staticClass:\"col-lg-6 ps-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"start-date\"}},[_vm._v(\"start date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.startDate),expression:\"startDate\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select start date\",\"type\":\"date\",\"name\":\"startDate\",\"id\":\"start-date\"},domProps:{\"value\":(_vm.startDate)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.startDate=$event.target.value}}})])]),_c('div',{staticClass:\"col-lg-6 ps-0\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"end-date\"}},[_vm._v(\"end date (optional)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.endDate),expression:\"endDate\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Select end date\",\"type\":\"date\",\"name\":\"endDate\",\"id\":\"end-date\"},domProps:{\"value\":(_vm.endDate)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.endDate=$event.target.value}}})])])]),_c('div',{staticClass:\"form-group mt-4\"},[_c('label',{staticClass:\"main-label m-0\",attrs:{\"for\":\"productVariantTrainers\"}},[_vm._v(\"Trainers (optional)\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"multiple\":\"\",\"name\":\"productVariantTrainers\",\"id\":\"productVariantTrainers\",\"options\":_vm.filteredTrainers,\"reduce\":function (option) { return option.id; },\"label\":\"firstName\",\"clearable\":true,\"deselectFromDropdown\":true,\"appendToBody\":true,\"autoscroll\":true,\"calculate-position\":_vm.withPopper,\"closeOnSelect\":false,\"placeholder\":\"Select trainers for this batch\"},on:{\"input\":function($event){_vm.isEditMode && _vm.updateTrainers($event)}},scopedSlots:_vm._u([{key:\"selected-option\",fn:function(ref){\n\t\t\t\t\t\t\t\t\tvar firstName = ref.firstName;\n\t\t\t\t\t\t\t\t\tvar lastName = ref.lastName;\nreturn [_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"baseline\",\"column-gap\":\"0.5rem\"}},[_vm._v(\" \"+_vm._s(firstName)+\" \"+_vm._s(lastName)+\" \")])]}},{key:\"option\",fn:function(option){return [_c('div',{staticClass:\"trainer-list-item\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"row\",\"column-gap\":\"1rem\",\"align-items\":\"center\",\"height\":\"3rem\"}},[(option.profilePicturePath)?_c('img',{staticClass:\"user-image\",attrs:{\"src\":option.profilePicturePath}}):_c('div',{staticClass:\"user-avatar\"},[_c('span',[_vm._v(_vm._s(option.firstName[0]))])]),_vm._v(\" \"+_vm._s(option.firstName)+\" \"+_vm._s(option.lastName)+\" ( \"+_vm._s(option.email)+\" ) \")])]}}],null,false,1728901164),model:{value:(_vm.productVariantTrainers),callback:function ($$v) {_vm.productVariantTrainers=$$v},expression:\"productVariantTrainers\"}})],1),(_vm.showAdditionalOptions)?_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label mt-4\",attrs:{\"for\":\"short-description\"}},[_vm._v(\" Short Description (optional) \")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shortDescription),expression:\"shortDescription\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type your batch short description...\",\"name\":\"shortDescription\",\"id\":\"short-description\",\"required\":\"\",\"rows\":\"1\"},domProps:{\"value\":(_vm.shortDescription)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.shortDescription=$event.target.value}}})]):_c('button',{staticClass:\"cursor-pointer d-flex mt-3\",on:{\"click\":function () { return (_vm.showAdditionalOptions = true); }}},[_vm._v(\" + Show additional fields \")])]):_vm._e(),(_vm.currentStep == 2)?_c('div',{staticClass:\"step-2\"},[_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\"Add Subjects to this batch\")]),_c('label',{staticClass:\"main-label mt-4\",attrs:{\"for\":\"create-content\"}},[_vm._v(\" Add existing Subjects \")]),_c('ProductVariantContentAddExisting',{attrs:{\"contentList\":_vm.contentList},on:{\"addContent\":_vm.addContentToList}}),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label mt-4\",attrs:{\"for\":\"create-content\"}},[_vm._v(\" Create Subjects \")]),_c('ProductVariantContentCreate',{attrs:{\"contentList\":_vm.contentList,\"contentToCreate\":_vm.contentToCreate,\"availableTo\":_vm.endDate,\"availableFrom\":_vm.startDate},on:{\"addContentToList\":_vm.addContentToList,\"deleteContent\":_vm.removeContentFromList}})],1)],1):_vm._e(),(_vm.currentStep == 3)?_c('div',{staticClass:\"step-3\"},[_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\"Write your batch information\")]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label mt-4\",attrs:{\"for\":\"short-description\"}},[_vm._v(\" Short Description (optional) \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shortDescription),expression:\"shortDescription\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type your batch short description...\",\"type\":\"search\",\"name\":\"shortDescription\",\"id\":\"short-description\",\"required\":\"\"},domProps:{\"value\":(_vm.shortDescription)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.shortDescription=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label mt-4\",attrs:{\"for\":\"long-description\"}},[_vm._v(\" Long Description (optional) \")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.longDescription),expression:\"longDescription\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Type your batch short description...\",\"name\":\"longDescription\",\"id\":\"long-description\",\"required\":\"\",\"rows\":\"1\"},domProps:{\"value\":(_vm.longDescription)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.longDescription=$event.target.value}}})]),_c('div',{staticClass:\"form-group mt-4\"},[_c('div',{staticClass:\"form-check form-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isFeatured),expression:\"isFeatured\"}],staticClass:\"form-check-input\",attrs:{\"name\":\"isFeatured\",\"type\":\"checkbox\",\"role\":\"switch\",\"id\":\"isFeatured\"},domProps:{\"checked\":Array.isArray(_vm.isFeatured)?_vm._i(_vm.isFeatured,null)>-1:(_vm.isFeatured)},on:{\"change\":[function($event){var $$a=_vm.isFeatured,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isFeatured=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isFeatured=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isFeatured=$$c}},function($event){_vm.isEditMode && _vm.update($event)}]}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"isFeatured\"}},[_vm._v(\"Make this batch 'Featured'\")])])])]):_vm._e()]),(_vm.isError)?_c('span',{staticClass:\"text-danger\"},[_c('i',{staticClass:\"fa fa-exclamation-circle\"}),_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")]):_vm._e(),_c('div',{staticClass:\"step-btn-container mt-4\"},[(_vm.showSkip)?_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.skip}},[_vm._v(\" skip \")]):_vm._e(),(_vm.showPrev)?_c('a',{staticClass:\"step-btn prev\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prev}},[_c('i',{staticClass:\"fas fa-long-arrow-alt-left\"}),_vm._v(\" prev \")]):_vm._e(),_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext || _vm.loading},on:{\"click\":_vm.next}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.stepButtonContent)+\" \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\t@change=\"closeModal\"\n\t\tid=\"create-product-variant-modal\"\n\t\t:visible=\"visible\"\n\t\tsize=\"xl\"\n\t\thide-header\n\t\thide-footer\n\t\tcentered\n\t\tcontent-class=\"create-product-variant-modal\"\n\t\tbody-class=\"modal-body\"\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t\tno-close-on-esc\n\t>\n\t\t<div class=\"custom-stepper-container\">\n\t\t\t<!--\t\t<div class=\"custom-stepper\">\n\t\t\t\t<div class=\"custom-stepper-step\">\n\t\t\t\t\t\n\t\t\t\t\t<div\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'step-icon first',\n\t\t\t\t\t\t\t{ active: currentStep == 1, complete: currentStep > 1 },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t1\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t<h1 class=\"title\">Basic information</h1>\n\t\t\t\t\t\t<h3 class=\"subtitle\">Fill the main promise of your batch?</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"!isEditMode\" class=\"custom-stepper-step\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'step-icon',\n\t\t\t\t\t\t\t{ active: currentStep == 2, complete: currentStep > 2 },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t2\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t<h1 class=\"title\">Subjects</h1>\n\t\t\t\t\t\t<h3 class=\"subtitle\">Manage your subject</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"custom-stepper-step\">\n\t\t\t\t\t<div :class=\"['step-icon last', { active: currentStep == 3 }]\">\n\t\t\t\t\t\t{{ isEditMode ? 2 : 3 }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t<h1 class=\"title\">batch Description</h1>\n\t\t\t\t\t\t<h3 class=\"subtitle\">Write your batch information</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\tCustom Stepper-->\n\t\t</div>\n\t\t<div class=\"custom-stepper-body-container\">\n\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<h1 class=\"add-content-title\">\n\t\t\t\t{{ isEditMode ? \"Edit\" : \"Create New\" }} Batch\n\t\t\t</h1>\n\t\t\t<div id=\"create-form\">\n\t\t\t\t<div v-if=\"currentStep == 1\" id=\"1\" class=\"step-1\">\n\t\t\t\t\t<div class=\"inline-group mb-2\">\n\t\t\t\t\t\t<div class=\"col-lg-8 ps-0\">\n\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t<label class=\"main-label\" for=\"title\"\n\t\t\t\t\t\t\t\t\t>Your Title (required)</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tplaceholder=\"Type your batch name here...\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\tname=\"title\"\n\t\t\t\t\t\t\t\t\tid=\"title\"\n\t\t\t\t\t\t\t\t\tv-model=\"title\"\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t\t\tautofocus\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-lg-4 ps-0\">\n\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t<form id=\"image-form\">\n\t\t\t\t\t\t\t\t\t<label class=\"main-label\">Batch image (optional)</label>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t\t\t\t'upload-btn-wrapper',\n\t\t\t\t\t\t\t\t\t\t\t{ preview: thumbnailMediaPath },\n\t\t\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t:class=\"[{ 'd-none': !thumbnailMediaPath }]\"\n\t\t\t\t\t\t\t\t\t\t\tid=\"preview\"\n\t\t\t\t\t\t\t\t\t\t\t:src=\"thumbnailMediaPath\"\n\t\t\t\t\t\t\t\t\t\t\talt=\"preview\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<div v-if=\"thumbnailMediaPath\" class=\"right-menu\">\n\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"openDialog\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"removeFile\"\n\t\t\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tv-if=\"!thumbnailMediaPath\"\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"upload-btn\"\n\t\t\t\t\t\t\t\t\t\t\t@click=\"openDialog\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tupload\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\t\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\t\t\t\t\t\t\tname=\"file\"\n\t\t\t\t\t\t\t\t\t\t\tid=\"image-upload\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"getFile\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\t\tvalue=\"ProductVariant\"\n\t\t\t\t\t\t\t\t\t\tname=\"entity\"\n\t\t\t\t\t\t\t\t\t\thidden\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"thumbnailMediaType\"\n\t\t\t\t\t\t\t\t\t\tname=\"type\"\n\t\t\t\t\t\t\t\t\t\thidden\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t<label class=\"main-label\" for=\"status\">status (Required)</label>\n\t\t\t\t\t\t<div class=\"status-cards\">\n\t\t\t\t\t\t\t<div class=\"status-card-container\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\tname=\"status\"\n\t\t\t\t\t\t\t\t\t:value=\"ProductVariantStatus.DRAFT\"\n\t\t\t\t\t\t\t\t\tid=\"draft\"\n\t\t\t\t\t\t\t\t\tv-model=\"status\"\n\t\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label class=\"status-card\" for=\"draft\">\n\t\t\t\t\t\t\t\t\t<p>{{ ProductVariantStatus.DRAFT }}</p>\n\t\t\t\t\t\t\t\t\tThe batch will be in authoring mode hence not\n\t\t\t\t\t\t\t\t\tpublished/visible.\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"status-card-container\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\tname=\"status\"\n\t\t\t\t\t\t\t\t\t:value=\"ProductVariantStatus.PUBLISHED\"\n\t\t\t\t\t\t\t\t\tid=\"published\"\n\t\t\t\t\t\t\t\t\tv-model=\"status\"\n\t\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label class=\"status-card\" for=\"published\">\n\t\t\t\t\t\t\t\t\t<p>{{ ProductVariantStatus.PUBLISHED }}</p>\n\t\t\t\t\t\t\t\t\tThe batch will be in published mode hence visible.\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"status-card-container\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\tname=\"status\"\n\t\t\t\t\t\t\t\t\tid=\"coming_soon\"\n\t\t\t\t\t\t\t\t\t:value=\"ProductVariantStatus.COMING_SOON\"\n\t\t\t\t\t\t\t\t\tv-model=\"status\"\n\t\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label class=\"status-card\" for=\"coming_soon\">\n\t\t\t\t\t\t\t\t\t<p>{{ ProductVariantStatus.COMING_SOON }}</p>\n\t\t\t\t\t\t\t\t\tThe batch will be in coming soon mode.\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"status-card-container\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\tname=\"status\"\n\t\t\t\t\t\t\t\t\t:value=\"ProductVariantStatus.PRIVATE\"\n\t\t\t\t\t\t\t\t\tid=\"private\"\n\t\t\t\t\t\t\t\t\tv-model=\"status\"\n\t\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label class=\"status-card\" for=\"private\">\n\t\t\t\t\t\t\t\t\t<p>{{ ProductVariantStatus.PRIVATE }}</p>\n\t\t\t\t\t\t\t\t\tThe batch will be in private hence not visible to all.\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"flex-row mt-5\">\n\t\t\t\t\t\t<div class=\"col-lg-6 ps-0\">\n\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t<label for=\"start-date\" class=\"main-label m-0\"\n\t\t\t\t\t\t\t\t\t>start date (optional)</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tplaceholder=\"Select start date\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t\t\t\tname=\"startDate\"\n\t\t\t\t\t\t\t\t\tid=\"start-date\"\n\t\t\t\t\t\t\t\t\tv-model=\"startDate\"\n\t\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-lg-6 ps-0\">\n\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t<label for=\"end-date\" class=\"main-label m-0\"\n\t\t\t\t\t\t\t\t\t>end date (optional)</label\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tplaceholder=\"Select end date\"\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t\t\t\tname=\"endDate\"\n\t\t\t\t\t\t\t\t\tid=\"end-date\"\n\t\t\t\t\t\t\t\t\tv-model=\"endDate\"\n\t\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"form-group mt-4\">\n\t\t\t\t\t\t<label for=\"productVariantTrainers\" class=\"main-label m-0\"\n\t\t\t\t\t\t\t>Trainers (optional)</label\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\tv-model=\"productVariantTrainers\"\n\t\t\t\t\t\t\tname=\"productVariantTrainers\"\n\t\t\t\t\t\t\tid=\"productVariantTrainers\"\n\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t:options=\"filteredTrainers\"\n\t\t\t\t\t\t\t:reduce=\"(option) => option.id\"\n\t\t\t\t\t\t\tlabel=\"firstName\"\n\t\t\t\t\t\t\t:clearable=\"true\"\n\t\t\t\t\t\t\t:deselectFromDropdown=\"true\"\n\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t:autoscroll=\"true\"\n\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t\t:closeOnSelect=\"false\"\n\t\t\t\t\t\t\tplaceholder=\"Select trainers for this batch\"\n\t\t\t\t\t\t\t@input=\"isEditMode && updateTrainers($event)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<template #selected-option=\"{ firstName, lastName }\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle=\"\n\t\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\t\talign-items: baseline;\n\t\t\t\t\t\t\t\t\t\tcolumn-gap: 0.5rem;\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{{ firstName }} {{ lastName }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template slot=\"option\" slot-scope=\"option\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle=\"\n\t\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\t\tflex-direction: row;\n\t\t\t\t\t\t\t\t\t\tcolumn-gap: 1rem;\n\t\t\t\t\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\t\t\t\t\theight: 3rem;\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\tclass=\"trainer-list-item\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tv-if=\"option.profilePicturePath\"\n\t\t\t\t\t\t\t\t\t\tclass=\"user-image\"\n\t\t\t\t\t\t\t\t\t\t:src=\"option.profilePicturePath\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<div v-else class=\"user-avatar\">\n\t\t\t\t\t\t\t\t\t\t<span>{{ option.firstName[0] }}</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t{{ option.firstName }} {{ option.lastName }} (\n\t\t\t\t\t\t\t\t\t{{ option.email }} )\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</v-select>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"showAdditionalOptions\" class=\"form-group\">\n\t\t\t\t\t\t<label for=\"short-description\" class=\"main-label mt-4\">\n\t\t\t\t\t\t\tShort Description (optional)\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\tplaceholder=\"Type your batch short description...\"\n\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\tname=\"shortDescription\"\n\t\t\t\t\t\t\tid=\"short-description\"\n\t\t\t\t\t\t\tv-model=\"shortDescription\"\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\trows=\"1\"\n\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"() => (showAdditionalOptions = true)\"\n\t\t\t\t\t\tclass=\"cursor-pointer d-flex mt-3\"\n\t\t\t\t\t\tv-else\n\t\t\t\t\t>\n\t\t\t\t\t\t+ Show additional fields\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"currentStep == 2\" class=\"step-2\">\n\t\t\t\t\t<h1 class=\"add-content-title\">Add Subjects to this batch</h1>\n\t\t\t\t\t<label for=\"create-content\" class=\"main-label mt-4\">\n\t\t\t\t\t\tAdd existing Subjects\n\t\t\t\t\t</label>\n\t\t\t\t\t<ProductVariantContentAddExisting\n\t\t\t\t\t\t@addContent=\"addContentToList\"\n\t\t\t\t\t\t:contentList=\"contentList\"\n\t\t\t\t\t/>\n\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t<label for=\"create-content\" class=\"main-label mt-4\">\n\t\t\t\t\t\t\tCreate Subjects\n\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t<ProductVariantContentCreate\n\t\t\t\t\t\t\t@addContentToList=\"addContentToList\"\n\t\t\t\t\t\t\t@deleteContent=\"removeContentFromList\"\n\t\t\t\t\t\t\t:contentList=\"contentList\"\n\t\t\t\t\t\t\t:contentToCreate=\"contentToCreate\"\n\t\t\t\t\t\t\t:availableTo=\"endDate\"\n\t\t\t\t\t\t\t:availableFrom=\"startDate\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"currentStep == 3\" class=\"step-3\">\n\t\t\t\t\t<h1 class=\"add-content-title\">Write your batch information</h1>\n\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t<label for=\"short-description\" class=\"main-label mt-4\">\n\t\t\t\t\t\t\tShort Description (optional)\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tplaceholder=\"Type your batch short description...\"\n\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tname=\"shortDescription\"\n\t\t\t\t\t\t\tid=\"short-description\"\n\t\t\t\t\t\t\tv-model=\"shortDescription\"\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t<label for=\"long-description\" class=\"main-label mt-4\">\n\t\t\t\t\t\t\tLong Description (optional)\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\tplaceholder=\"Type your batch short description...\"\n\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\tname=\"longDescription\"\n\t\t\t\t\t\t\tid=\"long-description\"\n\t\t\t\t\t\t\tv-model=\"longDescription\"\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\trows=\"1\"\n\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"form-group mt-4\">\n\t\t\t\t\t\t<div class=\"form-check form-switch\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\tname=\"isFeatured\"\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\tid=\"isFeatured\"\n\t\t\t\t\t\t\t\tv-model=\"isFeatured\"\n\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"isFeatured\"\n\t\t\t\t\t\t\t\t>Make this batch 'Featured'</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<span class=\"text-danger\" v-if=\"isError\">\n\t\t\t\t<i class=\"fa fa-exclamation-circle\"></i> {{ errorText }}\n\t\t\t</span>\n\t\t\t<div class=\"step-btn-container mt-4\">\n\t\t\t\t<button v-if=\"showSkip\" @click=\"skip\" role=\"button\" class=\"step-btn\">\n\t\t\t\t\tskip\n\t\t\t\t</button>\n\t\t\t\t<a @click=\"prev\" v-if=\"showPrev\" role=\"button\" class=\"step-btn prev\"\n\t\t\t\t\t><i class=\"fas fa-long-arrow-alt-left\"></i> prev\n\t\t\t\t</a>\n\t\t\t\t<button\n\t\t\t\t\t@click=\"next\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t:disabled=\"disableNext || loading\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner v-if=\"loading\" small> </b-spinner>\n\t\t\t\t\t{{ stepButtonContent }} <i class=\"fas fa-long-arrow-alt-right\"></i>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport ProductVariantContentCreate from \"./ProductVariantContentCreate.vue\";\nimport ProductVariantContentAddExisting from \"./ProductVariantContentAddExisting.vue\";\n// import ProductVariant from \"../../../models/productVariant\";\n// import { POST_FILE_API } from \"../../../constants/urls\";\nimport { mapActions, mapState } from \"vuex\";\n// import cookieHelper from \"../../../helpers/CookieHelpers\";\nimport { getInputDateFormat } from \"../../../helpers/FormatHelpers\";\nimport { createPopper } from \"@popperjs/core\";\nimport { ProductVariantStatus } from \"../../../constants/productVariant\";\n\nexport default {\n\tname: \"CreateProductVariantModal\",\n\tdata() {\n\t\treturn {\n\t\t\tcurrentStep: 1,\n\t\t\ttitle: null,\n\t\t\tthumbnailMediaType: \"image\",\n\t\t\tstatus: ProductVariantStatus.DRAFT,\n\t\t\ttotalSteps: 1,\n\t\t\tthumbnailMediaPath: null,\n\t\t\tstartDate: null,\n\t\t\tendDate: null,\n\t\t\tisFeatured: true,\n\t\t\tlongDescription: null,\n\t\t\tshortDescription: null,\n\t\t\tcontentList: [],\n\t\t\tcontentToCreate: [],\n\t\t\tcontentCreated: false,\n\t\t\ttrainersAssigned: false,\n\t\t\tisError: false,\n\t\t\terrorText: \"\",\n\t\t\tmode: \"create\",\n\t\t\tupdateObject: {},\n\t\t\tproductVariantTrainers: [],\n\t\t\tshowAdditionalOptions: false,\n\t\t\tProductVariantStatus,\n\t\t};\n\t},\n\tcomponents: { ProductVariantContentCreate, ProductVariantContentAddExisting },\n\tcomputed: {\n\t\t...mapState(\"productVariant\", [\"loading\"]),\n\t\t...mapState(\"user\", [\"trainers\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tstepButtonContent() {\n\t\t\tif (this.currentStep != this.totalSteps) {\n\t\t\t\treturn \"Next\";\n\t\t\t} else return \"Finish\";\n\t\t},\n\t\tshowPrev() {\n\t\t\treturn this.currentStep > 1;\n\t\t},\n\t\tshowSkip() {\n\t\t\tif (this.currentStep == 2) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tisVisible() {\n\t\t\tif (this.status == \"published\") {\n\t\t\t\treturn true;\n\t\t\t} else return false;\n\t\t},\n\t\tdisableNext() {\n\t\t\tif (this.currentStep == 1) {\n\t\t\t\tif (\n\t\t\t\t\tthis.title &&\n\t\t\t\t\tthis.status\n\t\t\t\t\t//  &&\n\t\t\t\t\t// this.thumbnailMediaPath\n\t\t\t\t\t// &&\n\t\t\t\t\t// this.thumbnailMediaType &&\n\t\t\t\t\t// this.startDate &&\n\t\t\t\t\t// this.endDate\n\t\t\t\t\t// &&new Date(this.startDate) < new Date(this.endDate)\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} else if (this.currentStep == 2) {\n\t\t\t\tif (this.contentList.length == 0) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else return false;\n\t\t\t}\n\t\t},\n\t\tfilteredTrainers() {\n\t\t\treturn this.trainers ? this.trainers : [];\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\n\t\t\t\"createProductVariant\",\n\t\t\t\"updateProductVariant\",\n\t\t]),\n\t\t...mapActions(\"content\", [\n\t\t\t\"createDirectoryContent\",\n\t\t\t\"assignTrainersToContent\",\n\t\t\t\"uploadContentFile\",\n\t\t]),\n\t\t...mapActions(\"user\", [\"fetchTrainersList\"]),\n\t\tnext() {\n\t\t\tif (this.currentStep == 1) {\n\t\t\t\tif (\n\t\t\t\t\tthis.startDate &&\n\t\t\t\t\tthis.startDate != \"\" &&\n\t\t\t\t\tthis.endDate &&\n\t\t\t\t\tthis.endDate != \"\" &&\n\t\t\t\t\tnew Date(this.startDate) > new Date(this.endDate)\n\t\t\t\t) {\n\t\t\t\t\tthis.isError = true;\n\t\t\t\t\tthis.errorText = \"Start Date cannot be after End Date!\";\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tthis.isError = false;\n\t\t\t\t\tthis.errorText = \"\";\n\t\t\t\t}\n\t\t\t\t// if (this.isEditMode) {\n\t\t\t\t// \tthis.currentStep = 3;\n\t\t\t\t// \treturn;\n\t\t\t\t// }\n\t\t\t}\n\t\t\tif (this.currentStep == 2) {\n\t\t\t\tif (this.contentToCreate && this.contentToCreate.length > 0) {\n\t\t\t\t\tthis.contentToCreate.map((content) => {\n\t\t\t\t\t\t// var contentObject = {};\n\t\t\t\t\t\t// delete content.id;\n\t\t\t\t\t\tcontent.data = {};\n\t\t\t\t\t\tcontent.type = \"Directory\";\n\t\t\t\t\t\tthis.createDirectoryContent(content)\n\t\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\t\tthis.contentList = this.contentList.map((c) => {\n\t\t\t\t\t\t\t\t\t\tif (content.id == c.id) {\n\t\t\t\t\t\t\t\t\t\t\treturn res;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn c;\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tthis.contentToCreate = this.contentToCreate.filter(\n\t\t\t\t\t\t\t\t\t\t(created) => created.id != content.id\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tthis.contentCreated = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\tvar toAssignTrainer = this.contentList.find((c) => {\n\t\t\t\t\t\t\t\t\tif (!c.id.includes(\"new\")) {\n\t\t\t\t\t\t\t\t\t\tif (c.trainers && c.trainers.length > 0) {\n\t\t\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tif (toAssignTrainer) {\n\t\t\t\t\t\t\t\t\tthis.contentList.map((content) => {\n\t\t\t\t\t\t\t\t\t\tif (!content.id.includes(\"new\")) {\n\t\t\t\t\t\t\t\t\t\t\tif (content.trainers && content.trainers.length > 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tvar assignTrainersObject = {\n\t\t\t\t\t\t\t\t\t\t\t\t\tid: content.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttrainers: content.trainers,\n\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\tthis.assignTrainersToContent(assignTrainersObject).then(\n\t\t\t\t\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"trainers assigned to existing content\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.trainersAssigned = true;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.currentStep = 3;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t// .catch((error) => {\n\t\t\t\t\t\t\t\t\t\t\t\t// \talert(error);\n\t\t\t\t\t\t\t\t\t\t\t\t// });\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.trainersAssigned = true;\n\n\t\t\t\t\t\t\t\t\tthis.currentStep = 3;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t// .catch((error) => alert(error));\n\t\t\t\t\t\t// return content;\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.contentCreated = true;\n\t\t\t\t\tvar toAssignTrainer = this.contentList.find((c) => {\n\t\t\t\t\t\tif (!c.id.includes(\"new\")) {\n\t\t\t\t\t\t\tif (c.trainers && c.trainers.length > 0) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tif (toAssignTrainer) {\n\t\t\t\t\t\tthis.contentList.map((content) => {\n\t\t\t\t\t\t\tif (!content.id.includes(\"new\")) {\n\t\t\t\t\t\t\t\tif (content.trainers && content.trainers.length > 0) {\n\t\t\t\t\t\t\t\t\tvar assignTrainersObject = {\n\t\t\t\t\t\t\t\t\t\tid: content.id,\n\t\t\t\t\t\t\t\t\t\ttrainers: content.trainers,\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tthis.assignTrainersToContent(assignTrainersObject).then(\n\t\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(\"trainers assigned to existing content\");\n\t\t\t\t\t\t\t\t\t\t\tthis.trainersAssigned = true;\n\t\t\t\t\t\t\t\t\t\t\tthis.currentStep = 3;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t// .catch((error) => {\n\t\t\t\t\t\t\t\t\t// \talert(error);\n\t\t\t\t\t\t\t\t\t// });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.trainersAssigned = true;\n\t\t\t\t\t\tthis.currentStep = 3;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if (this.trainersAssigned && this.contentCreated) {\n\t\t\t\t// \tthis.currentStep = 3;\n\t\t\t\t// }\n\t\t\t} else if (this.currentStep < this.totalSteps) {\n\t\t\t\tthis.currentStep += 1;\n\t\t\t} else if (this.currentStep == this.totalSteps) {\n\t\t\t\t// this.contentList.length > 0\n\t\t\t\t// \t? ()\n\t\t\t\t// \t: null;\n\t\t\t\tthis.title = this.title.trim();\n\t\t\t\tif (this.title.length > 0) {\n\t\t\t\t\tif (this.isEditMode) {\n\t\t\t\t\t\tif (Object.keys(this.updateObject).length == 0) {\n\t\t\t\t\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\t\t\t\t\tthis.closeModal();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.updateObject.id = this.productVariantData.id;\n\t\t\t\t\t\tthis.updateProductVariant(this.updateObject).then((response) => {\n\t\t\t\t\t\t\tthis.$emit(\"updateProductVariant\", response);\n\t\t\t\t\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\t\t\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tvar productVariant = {\n\t\t\t\t\t\tproductId: this.productId,\n\t\t\t\t\t\ttitle: this.title,\n\t\t\t\t\t\tisVisible: this.isVisible,\n\t\t\t\t\t\tisFeatured: this.isFeatured,\n\t\t\t\t\t\tstatus: this.status,\n\t\t\t\t\t\tthumbnailMediaType: this.thumbnailMediaType,\n\t\t\t\t\t\tthumbnailMediaPath: this.thumbnailMediaPath,\n\t\t\t\t\t\tlongDescription: this.longDescription,\n\t\t\t\t\t\tshortDescription: this.shortDescription,\n\t\t\t\t\t\tpricingStatus: \"Paid\",\n\t\t\t\t\t};\n\t\t\t\t\tif (this.startDate) {\n\t\t\t\t\t\tproductVariant.startDate = new Date(this.startDate).toISOString();\n\t\t\t\t\t}\n\t\t\t\t\tif (this.endDate) {\n\t\t\t\t\t\tproductVariant.endDate = new Date(this.endDate).toISOString();\n\t\t\t\t\t}\n\t\t\t\t\tif (this.contentList.length > 0) {\n\t\t\t\t\t\tthis.contentList = this.contentList.map((content) => {\n\t\t\t\t\t\t\tvar contentObject = {\n\t\t\t\t\t\t\t\tid: content.id,\n\t\t\t\t\t\t\t\ttitle: content.title,\n\t\t\t\t\t\t\t\ttype: \"Directory\",\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\treturn contentObject;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tproductVariant.items = this.contentList;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.productVariantTrainers.length > 0) {\n\t\t\t\t\t\tvar trainersObject = {\n\t\t\t\t\t\t\ttrainers: JSON.stringify(this.productVariantTrainers),\n\t\t\t\t\t\t};\n\t\t\t\t\t\tproductVariant.extraproperties = JSON.stringify(trainersObject);\n\t\t\t\t\t}\n\t\t\t\t\tthis.createProductVariant(productVariant).then(() => {\n\t\t\t\t\t\tthis.closeModal();\n\t\t\t\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.errorText = \"Title is required field\";\n\t\t\t\t\tthis.isError = true;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tprev() {\n\t\t\tif (this.isEditMode) {\n\t\t\t\tthis.currentStep = 1;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.currentStep > 1) {\n\t\t\t\tthis.currentStep -= 1;\n\t\t\t}\n\t\t},\n\t\tskip() {\n\t\t\tconsole.log(\"step skipped\");\n\t\t\tthis.currentStep += 1;\n\t\t\tthis.contentList = [];\n\t\t},\n\t\tgetFile(e) {\n\t\t\tconst [file] = e.target.files;\n\t\t\tif (file) {\n\t\t\t\tthis.thumbnailMediaPath = URL.createObjectURL(file);\n\n\t\t\t\tdocument.getElementById(\"preview\").title = file.name;\n\t\t\t\tthis.thumbnailMediaType = file.type.split(\"/\")[0];\n\n\t\t\t\tlet formData = new FormData();\n\t\t\t\tformData.append(\"file\", file);\n\t\t\t\tformData.append(\"entity\", \"ProductVariant\");\n\t\t\t\tformData.append(\"type\", \"Image\");\n\t\t\t\tformData.append(\"IsCompressionRequired\", true);\n\t\t\t\tconsole.log(...formData);\n\t\t\t\tthis.uploadContentFile(formData).then((data) => {\n\t\t\t\t\tconsole.log(data);\n\t\t\t\t\tthis.thumbnailMediaPath = data;\n\t\t\t\t\t$(\".upload-btn-wrapper\").addClass(\"success\");\n\t\t\t\t\tif (this.isEditMode) {\n\t\t\t\t\t\tthis.updateObject.thumbnailMediaPath = this.thumbnailMediaPath;\n\t\t\t\t\t\tthis.updateObject.thumbnailMediaType = this.thumbnailMediaType;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tconsole.log(\"file: \", e.target.files);\n\t\t},\n\t\taddContentToList(item) {\n\t\t\tif (item.id.includes(\"new\")) {\n\t\t\t\tconsole.log(item);\n\t\t\t\tthis.contentToCreate.push(item);\n\t\t\t}\n\n\t\t\tthis.contentList.push(item);\n\t\t},\n\t\tremoveContentFromList(id) {\n\t\t\tconsole.log(\"removing content\", id);\n\t\t\tthis.contentList = this.contentList.filter((item) => item.id !== id);\n\t\t\tif (id.includes(\"new\")) {\n\t\t\t\tthis.contentToCreate.filter((item) => item.id !== id);\n\t\t\t}\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t},\n\t\topenDialog() {\n\t\t\t$(\"#image-upload\").click();\n\t\t},\n\t\tupdate(e) {\n\t\t\t\n\t\t\t// console.log(typeof e)\n\t\t\tif (e.target.name == \"status\") {\n\t\t\t\tthis.updateObject[\"isVisible\"] = this.isVisible;\n\t\t\t\tthis.updateObject[\"status\"] = e.target.value;\n\t\t\t\treturn;\n\t\t\t} else if (e.target.name == \"isFeatured\") {\n\t\t\t\tthis.updateObject[\"isFeatured\"] = this.isFeatured;\n\t\t\t\treturn;\n\t\t\t} else if (e.target.name == \"endDate\" || e.target.name == \"startDate\") {\n\t\t\t\tthis.updateObject[e.target.name] = e.target.value?new Date(\n\t\t\t\t\te.target.value\n\t\t\t\t).toISOString():null;\n\t\t\t\tif(e.target.name == \"startDate\")\n\t\t\t\t{\n\t\t\t\t\tthis.updateObject[\"isStartDateUpdate\"] = true;\n\t\t\t\t}else{\n\t\t\t\t\tthis.updateObject[\"isEndDateUpdate\"] = true;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.updateObject[e.target.name] = e.target.value;\n\t\t},\n\t\tupdateTrainers(value) {\n\t\t\t// console.log(\"updateTrainers\", value);\n\t\t\tvar trainersObject = {\n\t\t\t\ttrainers: JSON.stringify(value),\n\t\t\t};\n\t\t\t// console.log(\"updateTrainers\", trainersObject);\n\t\t\tthis.updateObject.extraproperties = JSON.stringify(trainersObject);\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\t// console.log(dropdownList, component.$refs.toggle, { width });\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t\tremoveFile() {\n\t\t\tthis.thumbnailMediaPath = \"\";\n\t\t\tthis.thumbnailMediaType = \"\";\n\t\t\tif (this.isEditMode) {\n\t\t\t\tthis.updateObject.thumbnailMediaPath = this.thumbnailMediaPath;\n\t\t\t\tthis.updateObject.thumbnailMediaType = this.thumbnailMediaType;\n\t\t\t}\n\t\t},\n\t},\n\tprops: {\n\t\tshowModal: Boolean,\n\t\tproductId: String,\n\t\tisEditMode: Boolean,\n\t\tproductVariantData: Object,\n\t},\n\twatch: {\n\t\tproductId: function () {\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t},\n\t\tvisible: function () {\n\t\t\t// this.isEditMode ? (this.mode = \"edit\") : (this.mode = \"create\");\n\t\t\tif (this.visible) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t$(\"#title\").focus();\n\t\t\t\t}, 300);\n\n\t\t\t\tif (this.isEditMode) {\n\t\t\t\t\tthis.title = this.productVariantData.title;\n\t\t\t\t\tthis.thumbnailMediaPath = this.productVariantData.thumbnailPath\n\t\t\t\t\t\t? this.productVariantData.thumbnailPath\n\t\t\t\t\t\t: \"https://lms-v4.gocbeglobal.com/img/sample-thumbnail.d9584282.jpeg\";\n\t\t\t\t\tthis.thumbnailMediaType = this.productVariantData.thumbnailType\n\t\t\t\t\t\t? this.productVariantData.thumbnailType\n\t\t\t\t\t\t: \"image\";\n\t\t\t\t\tthis.status = this.productVariantData.status\n\t\t\t\t\t\t? this.productVariantData.status\n\t\t\t\t\t\t: \"draft\";\n\t\t\t\t\tthis.startDate = this.productVariantData.startDate\n\t\t\t\t\t\t? getInputDateFormat(this.productVariantData.startDate)\n\t\t\t\t\t\t: null; //this.productVariantData.startDate;\n\n\t\t\t\t\tthis.endDate = this.productVariantData.endDate\n\t\t\t\t\t\t? getInputDateFormat(this.productVariantData.endDate)\n\t\t\t\t\t\t: null;\n\t\t\t\t\tthis.isFeatured = this.productVariantData.isFeatured;\n\t\t\t\t\tthis.longDescription = this.productVariantData.longDescription;\n\t\t\t\t\tthis.shortDescription = this.productVariantData.shortDescription;\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.productVariantData.properties &&\n\t\t\t\t\t\tthis.productVariantData.properties.trainers\n\t\t\t\t\t) {\n\t\t\t\t\t\tvar trainersList =\n\t\t\t\t\t\t\t// JSON.parse(\n\t\t\t\t\t\t\tthis.productVariantData.properties.trainers;\n\t\t\t\t\t\t// );\n\t\t\t\t\t\ttrainersList = JSON.parse(trainersList);\n\t\t\t\t\t\t// console.log(trainersList);\n\t\t\t\t\t}\n\t\t\t\t\tthis.productVariantTrainers = trainersList;\n\t\t\t\t}\n\t\t\t\t// if (!this.trainers)\n\t\t\t\tthis.fetchTrainersList().then(() =>\n\t\t\t\t\tconsole.log(\"trainers list fetched\")\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// this.contentList = this.productVariantData.productVariantItems;\n\t\t},\n\t},\n};\n\n// {\n//   \"productID\": \"6\",\n//   \"title\": \"English\",\n//   \"extraProperties\": \"{\\\"features\\\":[\\\"32 hours on-demand video\\\",\\\"106 articles\\\",\\\"47 downloadable resources\\\", \\\"Full lifetime access\\\", \\\"Access on mobile and TV\\\", \\\"Certificate of Completion\\\"], \\\"objectives\\\": [\\n\\\"Learn to use Python professionally, learning both Python 2 and Python 3!\\\", \\\"Learn advanced Python features, like the collections module and how to work with timestamps!\\\", \\\"Understand complex topics, like decorators.\\\", \\\"Get an understanding of how to create GUIs in the Jupyter Notebook system!\\\", \\\"Create games with Python, like Tic Tac Toe and Blackjack!\\\", \\\"Learn to use Object Oriented Programming with classes!\\\", \\\"Understand how to use both the Jupyter Notebook and create .py files\\\", \\\"Get an understanding of how to create GUIs in the Jupyter Notebook system!\\\"]}\",\n//   \"isVisible\": true,\n//   \"thumbnailMediaType\": \"image\",\n//   \"thumbnailMediaPath\": \"https://lms-v4.gocbeglobal.com/img/sample-thumbnail.d9584282.jpeg\",\n//   \"longDescription\": \"longDescription\",\n//   \"shortDescription\": \"shortDescription\",\n//   \"isFeatured\": true,\n//   \"startDate\": \"2021-10-26T14:16:59.840Z\",\n//   \"endDate\": \"2022-10-26T14:16:59.840Z\"\n// }\n</script>\n\n<style>\n.create-product-variant-modal {\n\t/* height: 90vh; */\n\twidth: 70vw;\n}\n\n/* .custom-modal .modal-dialog {\n\tmax-width: 70vw;\n} */\n\n.create-product-variant-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n}\n\n.create-product-variant-modal .modal-body .custom-stepper-container {\n\tbackground: #f5f5f5;\n\tborder-radius: 8px 0px 0px 8px;\n\twidth: 30%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.create-product-variant-modal\n\t.modal-body\n\t.custom-stepper-container\n\t.custom-stepper {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-start;\n\tjustify-content: center;\n\trow-gap: 7.5rem;\n}\n\n.custom-stepper-container .custom-stepper-step {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 2rem;\n}\n\n.custom-stepper-container .custom-stepper-step .step-icon {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder-radius: 50%;\n\tbackground: #ffffff;\n\tborder: 2px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\tfont-weight: bold;\n\tfont-size: 1.5rem;\n\tline-height: 1.5;\n\tcolor: #000000;\n\tflex-shrink: 0;\n\twidth: 2.875rem;\n\theight: 2.875rem;\n\tcursor: pointer;\n\tposition: relative;\n}\n\n.custom-stepper-container .custom-stepper-step .step-icon:before {\n\tcontent: \"\";\n\tbackground-color: #dcdcdc;\n\twidth: 2px;\n\theight: 9.75rem;\n\tleft: 1.375rem;\n\ttop: -9.75rem;\n\tposition: absolute;\n}\n\n.custom-stepper-container .custom-stepper-step .step-icon.first::before {\n\tdisplay: none;\n}\n\n.custom-stepper-container .custom-stepper-step .step-icon.active:before,\n.custom-stepper-container .custom-stepper-step .step-icon.complete:before {\n\tbackground-color: var(--primary-color);\n}\n\n.custom-stepper-container .custom-stepper-step .step-icon.active,\n.custom-stepper-container .custom-stepper-step .step-icon.complete {\n\tbackground-color: var(--primary-color);\n\tborder-color: var(--primary-color);\n\tcolor: #ffffff;\n}\n\n.custom-stepper-container .custom-stepper-step .step-text {\n\tdisplay: flex;\n\tflex-direction: column;\n\trow-gap: 0.75rem;\n\tmax-height: 5rem;\n}\n\n.custom-stepper-container .custom-stepper-step .step-text .title {\n\tfont-weight: 450;\n\tfont-size: 1.5rem;\n\tline-height: 1.5;\n\tcolor: #000000;\n\tmargin: 0;\n}\n\n.custom-stepper-container .custom-stepper-step .step-text .subtitle {\n\tfont-weight: 400;\n\tfont-size: 1.25rem;\n\tline-height: 1.37;\n\tcolor: #727272;\n}\n\n.create-product-variant-modal .modal-body .custom-stepper-body-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 70%;\n\tpadding: 2.5rem 2.5rem 1.5rem;\n\tposition: relative;\n}\n\n.step-1 {\n\tmargin-top: 1.625rem;\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n/* .step-1 .trainer-list-item {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n\talign-items: center;\n\theight: 3rem;\n} */\n\n.step-2 {\n\t/* margin-top: 9.375rem; */\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n#create-form .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n\n#create-form .form-group {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n#create-form .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0.875rem 0;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n}\n\n.create-product-variant-modal .upload-btn-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tbackground: #f5f5f5;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\tborder-radius: 8px;\n\tpadding: 2rem;\n\tdisplay: flex;\n\twidth: fit-content;\n\talign-items: center;\n\tmax-width: 10rem;\n\tmax-height: 6.5rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.create-product-variant-modal .upload-btn-wrapper.preview .disabled {\n\tpointer-events: none;\n}\n\n.create-product-variant-modal .upload-btn-wrapper.preview.disabled {\n\tpointer-events: none;\n}\n\n.create-product-variant-modal .upload-btn-wrapper.fail {\n\tborder: 1px solid var(--color-danger);\n}\n\n.create-product-variant-modal .upload-btn-wrapper.success {\n\tborder: 1px solid var(--color-success);\n}\n\n.create-product-variant-modal .upload-btn-wrapper.preview {\n\tpadding: 0;\n\twidth: 10rem;\n\theight: 6.5rem;\n}\n\n#preview {\n\tmax-width: 100%;\n}\n\n.upload-btn {\n\tpadding: 0.5rem 1.25rem;\n\tfont-weight: bold;\n\tcursor: pointer;\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 6px;\n\ttext-transform: uppercase;\n\tcolor: #000000;\n\tfont-weight: normal;\n}\n\n.upload-btn:hover,\n.upload-btn:focus {\n\tbackground-color: var(--primary-color) !important;\n\tborder-color: #ffffff !important;\n\tcolor: #ffffff !important;\n}\n\n.upload-btn-wrapper input[type=\"file\"] {\n\tfont-size: 100px;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n\topacity: 0;\n\tpadding: 0 !important;\n\tpointer-events: none;\n}\n\n.status-cards {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1.5rem;\n}\n\n.status-cards input[type=\"radio\"] {\n\topacity: 0;\n\tposition: fixed;\n\twidth: 0;\n}\n\n.status-cards input[type=\"radio\"]:checked + label {\n\tborder-color: var(--primary-color);\n}\n\n.status-cards input[type=\"radio\"]:checked + label::after {\n\tcontent: url(\"~@/assets/images/check-icon.svg\");\n\tposition: absolute;\n\ttop: -0.5rem;\n\tright: -0.5rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\tborder-radius: 50%;\n}\n\n.status-cards .status-card {\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.15);\n\tborder-radius: 6px;\n\tpadding: 1.125rem;\n\tcursor: pointer;\n\tflex-grow: 1;\n\tmax-width: 13.75rem;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\tcolor: #727272;\n\tposition: relative;\n\theight: 100%;\n}\n\n/* .status-cards .status-card:focus {\n\tbox-shadow: 0 3px 6px #00000050 !important;\n} */\n\n.status-cards .status-card p {\n\tcolor: #000000;\n\tfont-weight: 500;\n\tmargin-bottom: 0.5rem;\n}\n\n.step-btn-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-self: flex-end;\n\tmargin-top: auto;\n\tcolumn-gap: 1.25rem;\n}\n\n.step-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 6px;\n\tpadding: 0.875rem;\n\tfilter: drop-shadow(3px 5px 6px rgba(197, 197, 197, 0.3));\n\ttext-decoration: none;\n\tcolor: #000000;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: center;\n\tcolumn-gap: 0.5rem;\n\tfont-size: 0.875rem;\n\ttext-transform: uppercase;\n\tline-height: 1;\n}\n\n.step-btn:hover {\n\ttext-decoration: none;\n\tcolor: #000000;\n}\n\n.step-btn.prev img {\n\ttransform: rotate(180deg);\n}\n\n.skip-step-btn {\n\tcolor: #000000;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-size: 0.875rem;\n\ttext-transform: uppercase;\n\tline-height: 1;\n\tbackground: #f5f5f5;\n\tbox-sizing: border-box;\n\tborder-radius: 6px;\n\tpadding: 0.875rem 1.875rem;\n\ttext-decoration: none;\n}\n\n.skip-step-btn:hover {\n\ttext-decoration: none;\n\tcolor: #000000;\n}\n\n.add-content-title {\n\tfont-weight: 450;\n\tfont-size: 2rem;\n\tline-height: 0.75;\n\tmargin: 0.5rem 0 1rem;\n\tcolor: #000000;\n}\n\nbutton[disabled] {\n\tcursor: not-allowed;\n\tborder-color: #ccc;\n\topacity: 0.5;\n\tpointer-events: none;\n}\n\n#create-form .form-check-input {\n\toutline: none !important;\n}\n\n.create-product-variant-modal .upload-btn-wrapper .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n\tposition: absolute;\n}\n\n.create-product-variant-modal .upload-btn-wrapper:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.create-product-variant-modal .upload-btn-wrapper .right-menu-icon {\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n.create-product-variant-modal .upload-btn-wrapper .right-menu-icon img {\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.create-product-variant-modal .upload-btn-wrapper .right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n.create-product-variant-modal #profilePicturePath {\n\tpointer-events: none;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateProductVariantModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateProductVariantModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreateProductVariantModal.vue?vue&type=template&id=70997162&\"\nimport script from \"./CreateProductVariantModal.vue?vue&type=script&lang=js&\"\nexport * from \"./CreateProductVariantModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CreateProductVariantModal.vue?vue&type=style&index=0&id=70997162&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group add-course-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"name\":\"add-course\",\"id\":\"add-course\",\"placeholder\":\"Type your title name here...\"},domProps:{\"value\":(_vm.searchText)},on:{\"focus\":function($event){_vm.showDropdown = true},\"blur\":_vm.closeDropdown,\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}}),(_vm.searchList.length > 0 && _vm.showDropdown)?_c('div',{staticClass:\"search-dropdown\"},[_c('ul',_vm._l((_vm.searchList),function(item,index){return _c('li',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],key:index,class:[{ added: _vm.contentList.find(function (c) { return c.id == item.id; }) }],attrs:{\"title\":_vm.contentList.find(function (c) { return c.id == item.id; })\n\t\t\t\t\t\t? 'Subject is already added'\n\t\t\t\t\t\t: ''},on:{\"click\":function($event){return _vm.addContent(item)}}},[_c('div',{staticClass:\"content-name\"},[_vm._v(_vm._s(item.title))]),(_vm.contentList.find(function (c) { return c.id == item.id; }))?_c('div',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"disabled-info\",attrs:{\"title\":\"Subject is already added\"}},[_c('i',{staticClass:\"fas fa-info-circle\"})]):_vm._e()])}),0)]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"form-group add-course-container\">\n\t\t<input\n\t\t\ttype=\"search\"\n\t\t\tname=\"add-course\"\n\t\t\tid=\"add-course\"\n\t\t\tclass=\"form-input\"\n\t\t\tplaceholder=\"Type your title name here...\"\n\t\t\t@focus=\"showDropdown = true\"\n\t\t\t@blur=\"closeDropdown\"\n\t\t\tv-model=\"searchText\"\n\t\t/>\n\t\t<div class=\"search-dropdown\" v-if=\"searchList.length > 0 && showDropdown\">\n\t\t\t<ul>\n\t\t\t\t<li\n\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\t:title=\"\n\t\t\t\t\t\tcontentList.find((c) => c.id == item.id)\n\t\t\t\t\t\t\t? 'Subject is already added'\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\"\n\t\t\t\t\t@click=\"addContent(item)\"\n\t\t\t\t\tv-for=\"(item, index) in searchList\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t:class=\"[{ added: contentList.find((c) => c.id == item.id) }]\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"content-name\">{{ item.title }}</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\t\ttitle=\"Subject is already added\"\n\t\t\t\t\t\tclass=\"disabled-info\"\n\t\t\t\t\t\tv-if=\"contentList.find((c) => c.id == item.id)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i class=\"fas fa-info-circle\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"ProductVariantContentAddExisting\",\n\tdata() {\n\t\treturn {\n\t\t\tsearchText: \"\",\n\t\t\tshowDropdown: false,\n\t\t};\n\t},\n\tprops: { contentList: Array },\n\tmethods: {\n\t\t...mapActions(\"content\", [\"fetchAllContent\"]),\n\t\taddContent(item) {\n\t\t\tconsole.log(\"addContent\");\n\t\t\tthis.searchText = \"\";\n\t\t\tif (!this.contentList.find((c) => c.id == item.id))\n\t\t\t\tthis.$emit(\"addContent\", item);\n\t\t\t// this.$router.push(\n\t\t\t// \t`/product/details/${item.product.friendlyTitle}-${item.id}`\n\t\t\t// );\n\t\t},\n\t\tcloseDropdown() {\n\t\t\tsetTimeout(() => (this.showDropdown = false), 300);\n\t\t},\n\t\tisAdded() {\n\t\t\tconsole.log(contentList.find((c) => c.id == index.id));\n\t\t\treturn contentList.find((c) => c.id == index.id);\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"allRootContent\"]),\n\t\tsearchList() {\n\t\t\t// console.log(\"searchOnInput called\");\n\t\t\tvar result = [];\n\t\t\tif (this.allRootContent !== {} && this.searchText !== \"\") {\n\t\t\t\tconsole.log(\"filtering content\", this.allRootContent);\n\t\t\t\tresult = this.allRootContent.filter((content) => {\n\t\t\t\t\t// if (this.contentList.find((c) => c.id == content.id)) {\n\t\t\t\t\t// \tcontent.isAdded = true;\n\t\t\t\t\t// }\n\t\t\t\t\treturn (\n\t\t\t\t\t\t(content.title || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1\n\t\t\t\t\t\t// ||\n\t\t\t\t\t\t// (content.lastName || \"\")\n\t\t\t\t\t\t// \t.toLocaleLowerCase()\n\t\t\t\t\t\t// \t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t// (content.email || \"\")\n\t\t\t\t\t\t// \t.toLocaleLowerCase()\n\t\t\t\t\t\t// \t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t// (content.phone || \"\").indexOf(this.searchText.toLocaleLowerCase()) >\n\t\t\t\t\t\t// \t-1\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn result;\n\t\t},\n\t},\n\tcreated() {\n\t\tif (this.allRootContent && this.allRootContent.length == 0) {\n\t\t\tthis.fetchAllContent(() => {\n\t\t\t\tconsole.log(\"Fetching all content\");\n\t\t\t});\n\t\t}\n\t},\n};\n</script>\n\n<style scoped>\n.add-course-container {\n\tposition: relative;\n}\n\n.search-dropdown {\n\tposition: absolute;\n\ttop: 3.5rem;\n\tbackground-color: #fff;\n\t/* padding: 1rem; */\n\tz-index: 1000;\n\twidth: 100%;\n\tbox-shadow: 0 3px 6px #2f2f2f1f;\n\tborder-radius: 8px;\n}\n\nul {\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tborder-radius: 8px;\n\tmax-height: 30vh;\n\toverflow-y: auto;\n}\n\nul li {\n\tpadding: 1rem;\n\tfont-size: 1rem;\n\tcolor: #000000;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\twidth: 100%;\n\tcursor: pointer;\n\ttransition: all 0.3s linear;\n}\n\n.search-dropdown ul li.added {\n\tbackground-color: #fafafa;\n\tcolor: #cccccc;\n}\n\nul li:hover {\n\tbackground-color: #f1f1f1;\n}\n\nul li:first-of-type {\n\tborder-top-right-radius: 8px;\n\tborder-top-left-radius: 8px;\n}\n\nul li:last-of-type {\n\tborder-bottom-right-radius: 8px;\n\tborder-bottom-left-radius: 8px;\n}\n\n.disabled-info {\n\tmargin-left: auto;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductVariantContentAddExisting.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductVariantContentAddExisting.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductVariantContentAddExisting.vue?vue&type=template&id=3d72be17&scoped=true&\"\nimport script from \"./ProductVariantContentAddExisting.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductVariantContentAddExisting.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductVariantContentAddExisting.vue?vue&type=style&index=0&id=3d72be17&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3d72be17\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"create-content-container\"},[_vm._l((_vm.contentList),function(item){return _c('ProductVariantContentCreateItem',{key:item.id,attrs:{\"mode\":\"created\",\"contentData\":item},on:{\"deleteContent\":_vm.removeContentFromList,\"assignToContent\":_vm.assign}})}),_c('ProductVariantContentCreateItem',{attrs:{\"mode\":\"edit\",\"availableTo\":_vm.availableTo,\"availableFrom\":_vm.availableFrom},on:{\"addContent\":_vm.addContentToList}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"create-content-container\">\n\t\t<ProductVariantContentCreateItem\n\t\t\tv-for=\"item in contentList\"\n\t\t\t:key=\"item.id\"\n\t\t\tmode=\"created\"\n\t\t\t:contentData=\"item\"\n\t\t\t@deleteContent=\"removeContentFromList\"\n\t\t\t@assignToContent=\"assign\"\n\t\t/>\n\t\t<ProductVariantContentCreateItem\n\t\t\t@addContent=\"addContentToList\"\n\t\t\tmode=\"edit\"\n\t\t\t:availableTo=\"availableTo\"\n\t\t\t:availableFrom=\"availableFrom\"\n\t\t/>\n\t</div>\n</template>\n\n<script>\nimport ProductVariantContentCreateItem from \"./ProductVariantContentCreateItem.vue\";\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"ProductVariantContentCreate\",\n\tcomponents: { ProductVariantContentCreateItem },\n\t// data() {\n\t// \treturn {\n\t// \t\tcontentList: [],\n\t// \t};\n\t// },\n\tmethods: {\n\t\t...mapActions(\"content\", [\"assignTrainerToContent\"]),\n\t\taddContentToList(item) {\n\t\t\tthis.$emit(\"addContentToList\", item);\n\t\t},\n\t\tremoveContentFromList(id) {\n\t\t\tthis.$emit(\"deleteContent\", id);\n\t\t},\n\t\tassign(assignTrainers) {\n\t\t\tthis.contentList.map((content) => {\n\t\t\t\tif (content.id == assignTrainers.id) {\n\t\t\t\t\tcontent.trainers = assignTrainers.trainers;\n\t\t\t\t}\n\t\t\t});\n\t\t\t// this.assignTrainerToContent(assignTrainers).then()\n\t\t},\n\t},\n\tprops: {\n\t\tcontentList: Array,\n\t\tavailableTo: String,\n\t\tavailableFrom: String,\n\t},\n};\n</script>\n\n<style scoped>\n.create-content-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tposition: relative;\n\t/* max-height: 17.5rem;\n\toverflow-y: auto; */\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductVariantContentCreate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductVariantContentCreate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductVariantContentCreate.vue?vue&type=template&id=52ce9938&scoped=true&\"\nimport script from \"./ProductVariantContentCreate.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductVariantContentCreate.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductVariantContentCreate.vue?vue&type=style&index=0&id=52ce9938&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"52ce9938\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"create-content-item\"},[((_vm.mode == 'edit' ? 'text' : 'button')==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],class:['create-content-input', { created: _vm.isCreated }],attrs:{\"name\":\"content\",\"placeholder\":\"Type here your subject name ...\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.title)?_vm._i(_vm.title,null)>-1:(_vm.title)},on:{\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }_vm.title = ''},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.createContent.apply(null, arguments)}],\"change\":function($event){var $$a=_vm.title,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.title=$$a.concat([$$v]))}else{$$i>-1&&(_vm.title=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.title=$$c}}}}):((_vm.mode == 'edit' ? 'text' : 'button')==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],class:['create-content-input', { created: _vm.isCreated }],attrs:{\"name\":\"content\",\"placeholder\":\"Type here your subject name ...\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.title,null)},on:{\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }_vm.title = ''},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.createContent.apply(null, arguments)}],\"change\":function($event){_vm.title=null}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],class:['create-content-input', { created: _vm.isCreated }],attrs:{\"name\":\"content\",\"placeholder\":\"Type here your subject name ...\",\"type\":_vm.mode == 'edit' ? 'text' : 'button'},domProps:{\"value\":(_vm.title)},on:{\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }_vm.title = ''},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.createContent.apply(null, arguments)}],\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}}),(_vm.loading && _vm.mode == 'created')?_c('b-spinner',{staticClass:\"content-loader\"}):_vm._e(),(_vm.showSave)?_c('button',{staticClass:\"content-save-btn\",attrs:{\"type\":\"button\",\"role\":\"button\",\"disabled\":_vm.loading},on:{\"click\":_vm.createContent}},[_vm._v(\" save \")]):_vm._e(),(_vm.areTrainersAssigned && !_vm.loading)?_c('div',{staticClass:\"trainer-icons\"},_vm._l((_vm.assignedTrainers),function(trainer,index){return _c('button',{key:index,staticClass:\"user-avatar\",attrs:{\"title\":((trainer.firstName) + \" \" + (trainer.lastName) + \" ( Permissions: \" + (trainer.permissions.toString()) + \" )\")}},[_vm._v(\" \"+_vm._s(trainer.email[0].toUpperCase())+\" \")])}),0):_vm._e(),(!_vm.loading)?_c('div',{staticClass:\"assign-btn-container\"},[(_vm.showAssign)?_c('button',{staticClass:\"assign-trainer-btn dropdown-toggle\",attrs:{\"data-bs-toggle\":\"dropdown\",\"role\":\"button\",\"id\":(\"assign-trainer-btn-\" + _vm.id)}},[_vm._v(\" \"+_vm._s(_vm.areTrainersAssigned ? \"update\" : \"assign\")+\" \")]):_vm._e(),_c('AssignTrainerToContentDropdown',{attrs:{\"productVariantId\":_vm.id,\"assignedTrainers\":_vm.assignedTrainers,\"areTrainersAssigned\":_vm.areTrainersAssigned},on:{\"assignTrainers\":_vm.assign}})],1):_vm._e(),(_vm.showDelete && !_vm.loading)?_c('button',{staticClass:\"content-delete-btn\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.deleteContent()}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"create-content-item\">\n\t\t<input\n\t\t\t:type=\"mode == 'edit' ? 'text' : 'button'\"\n\t\t\tname=\"content\"\n\t\t\tplaceholder=\"Type here your subject name ...\"\n\t\t\t:class=\"['create-content-input', { created: isCreated }]\"\n\t\t\tv-model=\"title\"\n\t\t\tv-on:keyup.esc=\"title = ''\"\n\t\t\tv-on:keyup.enter=\"createContent\"\n\t\t/>\n\t\t<b-spinner\n\t\t\tv-if=\"loading && mode == 'created'\"\n\t\t\tclass=\"content-loader\"\n\t\t></b-spinner>\n\t\t<button\n\t\t\t@click=\"createContent\"\n\t\t\tv-if=\"showSave\"\n\t\t\tclass=\"content-save-btn\"\n\t\t\ttype=\"button\"\n\t\t\trole=\"button\"\n\t\t\t:disabled=\"loading\"\n\t\t>\n\t\t\tsave\n\t\t</button>\n\t\t<div v-if=\"areTrainersAssigned && !loading\" class=\"trainer-icons\">\n\t\t\t<button\n\t\t\t\tv-for=\"(trainer, index) in assignedTrainers\"\n\t\t\t\t:key=\"index\"\n\t\t\t\tclass=\"user-avatar\"\n\t\t\t\t:title=\"\n\t\t\t\t\t`${trainer.firstName} ${\n\t\t\t\t\t\ttrainer.lastName\n\t\t\t\t\t} ( Permissions: ${trainer.permissions.toString()} )`\n\t\t\t\t\"\n\t\t\t>\n\t\t\t\t{{ trainer.email[0].toUpperCase() }}\n\t\t\t</button>\n\t\t</div>\n\t\t<div v-if=\"!loading\" class=\"assign-btn-container\">\n\t\t\t<button\n\t\t\t\tv-if=\"showAssign\"\n\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\tclass=\"assign-trainer-btn dropdown-toggle\"\n\t\t\t\trole=\"button\"\n\t\t\t\t:id=\"`assign-trainer-btn-${id}`\"\n\t\t\t>\n\t\t\t\t{{ areTrainersAssigned ? \"update\" : \"assign\" }}\n\t\t\t</button>\n\t\t\t<AssignTrainerToContentDropdown\n\t\t\t\t@assignTrainers=\"assign\"\n\t\t\t\t:productVariantId=\"id\"\n\t\t\t\t:assignedTrainers=\"assignedTrainers\"\n\t\t\t\t:areTrainersAssigned=\"areTrainersAssigned\"\n\t\t\t/>\n\t\t</div>\n\t\t<button\n\t\t\t@click=\"deleteContent()\"\n\t\t\tv-if=\"showDelete && !loading\"\n\t\t\tclass=\"content-delete-btn\"\n\t\t\ttype=\"button\"\n\t\t\trole=\"button\"\n\t\t>\n\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t</button>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport AssignTrainerToContentDropdown from \"../Trainer/AssignTrainerToContentDropdown.vue\";\nimport { v4 as uuidv4 } from \"uuid\";\nexport default {\n\tname: \"ProductVariantContentCreateItem\",\n\tdata() {\n\t\treturn {\n\t\t\tid: \"0\",\n\t\t\ttitle: \"\",\n\t\t\t// mode: this.$props.mode,\n\t\t\tisCreated: this.$props.mode == \"created\",\n\t\t\tareTrainersAssigned: false,\n\t\t\tassignedTrainers: null,\n\t\t};\n\t},\n\tcomponents: { AssignTrainerToContentDropdown },\n\tprops: {\n\t\tmode: String,\n\t\tcontentData: Object,\n\t\tavailableTo: String,\n\t\tavailableFrom: String,\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"content\", \"loading\"]),\n\t\tshowSave() {\n\t\t\treturn !this.isCreated && this.title !== \"\";\n\t\t},\n\t\tshowDelete() {\n\t\t\treturn this.isCreated;\n\t\t},\n\t\tshowAssign() {\n\t\t\treturn this.isCreated;\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"createDirectoryContent\"]),\n\t\tcreateContent() {\n\t\t\tconsole.log(\"save clicked\");\n\t\t\tvar contentObject = {\n\t\t\t\ttitle: this.title,\n\t\t\t\t// availableTo: this.availableTo,\n\t\t\t\t// availableFrom: this.availableFrom,\n\t\t\t\tisAvailableForDemo: false,\n\t\t\t\t// isNew: true,\n\t\t\t};\n\t\t\tif (this.availableFrom) contentObject.availableFrom = this.availableFrom;\n\t\t\tif (this.availableTo) contentObject.availableTo = this.availableTo;\n\t\t\t// this.createDirectoryContent(contentObject).then((id) => {\n\t\t\tthis.$emit(\"addContent\", { id: this.id, ...contentObject });\n\t\t\tthis.title = \"\";\n\t\t\tthis.id = \"\";\n\t\t\t// console.log(\n\t\t\tvar len = document.querySelectorAll(\".create-content-input\").length;\n\t\t\tvar div = document.querySelectorAll(\".create-content-input\")[len - 1];\n\t\t\tconsole.log(div);\n\t\t\tdiv.scrollIntoView();\n\n\t\t\t// );\n\t\t\t// });\n\t\t\t// this.mode = \"created\";\n\t\t\t// this.isCreated = true;\n\t\t},\n\t\tdeleteContent() {\n\t\t\tconsole.log(\"delete clicked\");\n\t\t\t// var currentElemIndex = e.target;\n\n\t\t\t// this.mode = \"created\";\n\t\t\t// this.isCreated = true;\n\t\t\tthis.$emit(\"deleteContent\", this.id);\n\t\t},\n\t\tassign(trainers) {\n\t\t\tvar assignTrainers = {\n\t\t\t\tid: this.id,\n\t\t\t\ttrainers: trainers,\n\t\t\t};\n\t\t\tconsole.log(assignTrainers);\n\t\t\tthis.areTrainersAssigned = true;\n\t\t\tthis.assignedTrainers = trainers;\n\t\t\tthis.$emit(\"assignToContent\", assignTrainers);\n\t\t},\n\t},\n\tcreated() {\n\t\tif (this.contentData) {\n\t\t\tthis.title = this.contentData.title;\n\t\t\tthis.id = this.contentData.id;\n\t\t\tif (this.contentData.trainers) {\n\t\t\t\tthis.assignedTrainers = this.contentData.trainers;\n\t\t\t\tif (this.assignedTrainers.length > 0) {\n\t\t\t\t\tthis.areTrainersAssigned = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// this.id = uuidv4();\n\t\t}\n\t},\n\twatch: {\n\t\tshowSave: function() {\n\t\t\tthis.id = `new-${uuidv4()}`;\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.create-content-item {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tposition: relative;\n\twidth: 100%;\n\tmargin-bottom: 1.25rem;\n}\n\n.create-content-input {\n\theight: 3.125rem;\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.15);\n\tborder-radius: 8px;\n\tpadding: 0.875rem 1.5rem;\n\tfont-size: 1.125rem;\n\tcolor: #000000;\n\twidth: 100%;\n\ttext-align: left;\n\tline-height: 1;\n}\n\n.create-content-input:focus,\n.create-content-input.created {\n\tborder-color: #000000;\n}\n\n.content-save-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid #21cf47;\n\tbox-sizing: border-box;\n\tborder-radius: 5px;\n\tpadding: 0.375rem 0.875rem;\n\tcolor: #21cf47;\n\tfont-weight: bold;\n\tfont-size: 0.875rem;\n\tline-height: 1;\n\tletter-spacing: 0.05rem;\n\ttext-transform: uppercase;\n\tposition: absolute;\n\tright: 0.75rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\t/* top: 0.875rem; */\n}\n\n.content-loader {\n\tposition: absolute;\n\tright: 2rem;\n\tborder-color: var(--primary-color);\n\tborder-right-color: transparent;\n}\n\n.content-delete-btn {\n\tbackground: #ffffff;\n\tborder: 0.8px solid #ff0000;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n\tpadding: 0.375rem;\n\tposition: absolute;\n\tright: 1rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\t/* top: 0.875rem; */\n}\n\n.user-avatar {\n\twidth: 2rem;\n\theight: 2rem;\n\tcolor: var(--color-white);\n\tbackground-color: var(--secondary-color);\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tline-height: 1;\n\tfont-size: 1.2rem;\n\tmin-width: 2rem;\n\tmargin-right: 0.5rem;\n\t/* z-index: 100; */\n\tcursor: pointer;\n}\n\n.trainer-icons {\n\tposition: absolute;\n\tright: 9rem;\n\tdisplay: flex;\n\tflex-direction: row;\n}\n\n.assign-btn-container {\n\tposition: absolute;\n\tright: 3.75rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.assign-trainer-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid #21bacf;\n\tbox-sizing: border-box;\n\tborder-radius: 5px;\n\tpadding: 0.375rem 0.625rem;\n\tcolor: #21bacf;\n\tfont-weight: bold;\n\tfont-size: 0.875rem;\n\tline-height: 1;\n\tletter-spacing: 0.05rem;\n\ttext-transform: uppercase;\n\t/* top: 0.875rem; */\n}\n\n.assign-trainer-btn:after {\n\tdisplay: none !important;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductVariantContentCreateItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductVariantContentCreateItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductVariantContentCreateItem.vue?vue&type=template&id=77cadd44&scoped=true&\"\nimport script from \"./ProductVariantContentCreateItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductVariantContentCreateItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductVariantContentCreateItem.vue?vue&type=style&index=0&id=77cadd44&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"77cadd44\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"product-variant-list\"},[(_vm.productVariantList)?_c('draggable',{attrs:{\"group\":\"product_variant\",\"handle\":\".handle\",\"ghost-class\":\"ghost\",\"move\":_vm.checkMove},on:{\"change\":function($event){return _vm.update($event, _vm.productId)}},model:{value:(_vm.productVariantList),callback:function ($$v) {_vm.productVariantList=$$v},expression:\"productVariantList\"}},[_vm._l((_vm.productVariantList),function(item){return _c('ProductVariantListItem',{key:item.id,attrs:{\"productVariantData\":item,\"categoryId\":_vm.categoryId},on:{\"updateProductVariant\":_vm.updateVariant}})}),(_vm.productVariantList.length == 0)?_c('div',{staticClass:\"ps-2 text-muted\"},[_vm._v(\" No content found! \")]):_vm._e()],2):_c('div',[_c('b-skeleton',{staticClass:\"mb-3\",attrs:{\"height\":\"3rem\"}}),_c('b-skeleton',{staticClass:\"mb-3\",attrs:{\"height\":\"3rem\"}}),_c('b-skeleton',{staticClass:\"mb-3\",attrs:{\"height\":\"3rem\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"product-variant-list\">\n\t\t<draggable\n\t\t\tv-if=\"productVariantList\"\n\t\t\tv-model=\"productVariantList\"\n\t\t\tgroup=\"product_variant\"\n\t\t\thandle=\".handle\"\n\t\t\tghost-class=\"ghost\"\n\t\t\t:move=\"checkMove\"\n\t\t\t@change=\"update($event, productId)\"\n\t\t>\n\t\t\t<!-- <transition-group> -->\n\t\t\t<ProductVariantListItem\n\t\t\t\tv-for=\"item in productVariantList\"\n\t\t\t\t:key=\"item.id\"\n\t\t\t\t:productVariantData=\"item\"\n\t\t\t\t@updateProductVariant=\"updateVariant\"\n\t\t\t\t:categoryId=\"categoryId\"\n\t\t\t/>\n\t\t\t<div class=\"ps-2 text-muted\" v-if=\"productVariantList.length == 0\">\n\t\t\t\tNo content found!\n\t\t\t</div>\n\t\t\t<!-- </transition-group> -->\n\t\t</draggable>\n\t\t<div v-else>\n\t\t\t<b-skeleton height=\"3rem\" class=\"mb-3\"></b-skeleton>\n\t\t\t<b-skeleton height=\"3rem\" class=\"mb-3\"></b-skeleton>\n\t\t\t<b-skeleton height=\"3rem\" class=\"mb-3\"></b-skeleton>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport ProductVariantListItem from \"./ProductVariantListItem.vue\";\nimport draggable from \"vuedraggable\";\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"ProductVariantList\",\n\tcomponents: { ProductVariantListItem, draggable },\n\tprops: { productVariantList: Array, productId: String, categoryId: String },\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\n\t\t\t\"updateProductVariant\",\n\t\t\t\"editProductVariantSequence\",\n\t\t]),\n\t\tcheckMove: function (evt) {\n\t\t\tconsole.log(evt.draggedContext);\n\t\t},\n\n\t\tupdate(e, productId) {\n\t\n\t\t\tvar productVariantObj = {};\n\t\t\tvar productVariantID;\n\t\t\tvar afterProductVariantID;\n\t\t\tif (e.added) {\n\t\t\t\tif (e.added.newIndex != 0) {\n\t\t\t\t\tafterProductVariantID =\n\t\t\t\t\t\tthis.productVariantList[e.added.newIndex - 1].id;\n\t\t\t\t\tproductVariantObj.afterProductVariantID = afterProductVariantID;\n\t\t\t\t}\n\t\t\t\tproductVariantObj = {\n\t\t\t\t\t...productVariantObj,\n\t\t\t\t\tproductID: productId,\n\t\t\t\t};\n\t\t\t\tproductVariantID = e.added.element.id;\n\t\t\t}\n\t\t\tif (e.moved) {\n\t\t\t\t// console.log(e.moved);\n\t\t\t\tif (e.moved.newIndex != 0) {\n\t\t\t\t\tafterProductVariantID =\n\t\t\t\t\t\tthis.productVariantList[e.moved.newIndex - 1].id;\n\t\t\t\t\tproductVariantObj.afterProductVariantID = afterProductVariantID;\n\t\t\t\t}\n\t\t\t\tproductVariantObj = {\n\t\t\t\t\t...productVariantObj,\n\t\t\t\t\tproductID: productId,\n\t\t\t\t};\n\t\t\t\tproductVariantID = e.moved.element.id;\n\t\t\t}\n\t\t\tif (!e.removed) {\n\t\t\t\tthis.editProductVariantSequence({\n\t\t\t\t\tproductVariant: productVariantObj,\n\t\t\t\t\tid: productVariantID,\n\t\t\t\t}).then(() => {\n\t\t\t\t\tconsole.log(\"editProductVariantSequence\", productVariantObj);\n\t\t\t\t});\n\t\t\t}\n\t\t\tconsole.log(e, productId);\n\t\t},\n\t\tupdateVariant(response) {\n\t\t\tthis.$emit(\"updateProductVariant\", response);\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.product-variant-list {\n\tmargin-bottom: 1rem;\n\tpadding-left: 0.75rem;\n}\n\n.ghost {\n\topacity: 0.5;\n\tbackground: #c8ebfb;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductVariantList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductVariantList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductVariantList.vue?vue&type=template&id=e2ec1592&scoped=true&\"\nimport script from \"./ProductVariantList.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductVariantList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductVariantList.vue?vue&type=style&index=0&id=e2ec1592&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"e2ec1592\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"product-variant-list-item\",attrs:{\"id\":_vm.productVariantData.id}},[_c('div',{staticClass:\"content\",on:{\"click\":function($event){return _vm.$router.push((\"/management/course/\" + (_vm.productVariantData.id) + \"/content\"))}}},[_c('img',{staticClass:\"drag-icon handle\",attrs:{\"src\":require(\"@/assets/images/drag-icon.svg\")}}),_vm._v(\" \"+_vm._s(_vm.productVariantData.title)+\" \")]),_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")},on:{\"click\":_vm.openEditModal}})]),_c('CreateProductVariantModal',{attrs:{\"showModal\":_vm.showEditModal,\"productId\":_vm.productVariantData.product.id,\"isEditMode\":true,\"productVariantData\":_vm.productVariantData},on:{\"updateModalState\":_vm.updateModalState,\"updateProductVariant\":_vm.updateVariant}}),_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.showDeleteConfirmPopup}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"product-variant-list-item\" :id=\"productVariantData.id\">\n    <div\n      class=\"content\"\n      @click=\"\n        $router.push(`/management/course/${productVariantData.id}/content`)\n      \"\n    >\n      <img src=\"@/assets/images/drag-icon.svg\" class=\"drag-icon handle\" />\n      {{ productVariantData.title }}\n    </div>\n    <div class=\"right-menu\">\n      <a role=\"button\" class=\"right-menu-icon\">\n        <img @click=\"openEditModal\" src=\"@/assets/images/edit-icon.svg\" />\n      </a>\n      <CreateProductVariantModal\n        :showModal=\"showEditModal\"\n        @updateModalState=\"updateModalState\"\n        :productId=\"productVariantData.product.id\"\n        :isEditMode=\"true\"\n        :productVariantData=\"productVariantData\"\n        @updateProductVariant=\"updateVariant\"\n      />\n      <!-- <a role=\"button\" class=\"right-menu-icon\">\n\t\t\t\t<img src=\"@/assets/images/view-icon.svg\" />\n\t\t\t</a> -->\n      <a @click=\"showDeleteConfirmPopup\" role=\"button\" class=\"right-menu-icon\">\n        <img src=\"@/assets/images/delete-icon.svg\" />\n      </a>\n    </div>\n  </div>\n</template>\n\n<script>\nimport CreateProductVariantModal from \"./CreateProductVariantModal.vue\";\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n  name: \"ProductVariantListItem\",\n  data() {\n    return {\n      showEditModal: false,\n      isEditMode: true,\n    };\n  },\n  props: { productVariantData: Object, categoryId: String },\n  methods: {\n    ...mapActions(\"productVariant\", [\n      \"deleteProductVariant\",\n      \"saveCopiedProductVariant\",\n    ]),\n    openEditModal() {\n      this.showEditModal = true;\n    },\n    updateModalState(value) {\n      this.isEditMode = false;\n      this.showEditModal = value;\n    },\n    updateVariant(response) {\n      this.$emit(\"updateProductVariant\", response);\n    },\n    productVariantDelete() {\n      this.deleteProductVariant({\n        productVariant: this.productVariantData,\n        categoryId: this.categoryId,\n      }).then(() => {\n        console.log(\"ProductVariant deleted successfully\");\n      });\n    },\n    showDeleteConfirmPopup(e) {\n      e.preventDefault();\n      e.stopPropagation();\n      this.$bvModal\n        .msgBoxConfirm(\n          `Are you sure you want to delete the Batch: ${this.productVariantData.title}?`,\n          {\n            title: \"Are you sure?\",\n            size: \"md\",\n            buttonSize: \"md\",\n            okVariant: \"danger\",\n            okTitle: \"Yes\",\n            cancelTitle: \"No\",\n            footerClass: \"p-2\",\n            hideHeaderClose: false,\n            centered: true,\n            bodyClass: \"confirm-modal-body\",\n          }\n        )\n        .then((value) => {\n          // this.isConfirm = value;\n          if (value) {\n            this.productVariantDelete();\n          }\n        })\n        .catch((err) => {\n          console.error(err);\n          // An error occurred\n        });\n    },\n\n    copyProductVariant() {\n      console.log(this.productVariantData);\n      this.saveCopiedProductVariant(this.productVariantData);\n      this.$toasted.success(\"Course copied\", {\n        duration: 3000,\n        theme: \"outline\",\n        icon: \"check\",\n        position: \"bottom-center\",\n      });\n    },\n\n    showContextMenu() {\n      var _this = this;\n      $.contextMenu({\n        selector: `#${this.productVariantData.id}`,\n        callback: (key, options) => {\n          switch (key) {\n            case \"copy\":\n              _this.copyProductVariant();\n          }\n        },\n        items: {\n          copy: { name: \"Copy\", icon: \"copy\" },\n        },\n      });\n    },\n  },\n\n  mounted() {\n    this.showContextMenu();\n  },\n  components: { CreateProductVariantModal },\n};\n</script>\n\n<style scoped>\n.product-variant-list-item {\n  background: #f4f4f4;\n  border-radius: 10px;\n  padding: 0.875rem 1rem;\n  margin-bottom: 1rem;\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 0.75rem;\n}\n.product-variant-list-item .content {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 0.75rem;\n  flex-grow: 1;\n  cursor: pointer;\n}\n\n.product-variant-list-item .right-menu {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 1rem;\n  margin-left: auto;\n  margin-right: 0.75rem;\n  transition: opacity 0.3s, visibility 0s ease;\n  visibility: hidden;\n  opacity: 0;\n}\n\n.product-variant-list-item:hover .right-menu {\n  visibility: visible;\n  opacity: 1;\n}\n\n.drag-icon {\n  cursor: move; /* fallback if grab cursor is unsupported */\n  cursor: grab;\n  cursor: -moz-grab;\n  cursor: -webkit-grab;\n}\n.drag-icon:active {\n  cursor: grabbing;\n  cursor: -moz-grabbing;\n  cursor: -webkit-grabbing;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductVariantListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductVariantListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductVariantListItem.vue?vue&type=template&id=0010ad05&scoped=true&\"\nimport script from \"./ProductVariantListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductVariantListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductVariantListItem.vue?vue&type=style&index=0&id=0010ad05&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0010ad05\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"add-question-modal\",\"visible\":_vm.visible,\"size\":\"xl\",\"hide-header\":\"\",\"hide-footer\":\"\",\"centered\":\"\",\"content-class\":\"add-question-modal\",\"body-class\":\"modal-body\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"},on:{\"change\":_vm.closeModal}},[_c('div',{staticClass:\"custom-stepper-body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\"Add Question\")]),_c('div',{staticClass:\"add-question-container\"},[(this.examThemes && this.examThemes.length > 1)?_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"theme\"}},[_vm._v(\" Theme (Required)\")]),_c('div',{staticClass:\"status-cards exam-type\"},_vm._l((_vm.examThemes),function(themeOption,index){return _c('div',{key:index,staticClass:\"status-card-container col\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.theme),expression:\"theme\"}],attrs:{\"type\":\"radio\",\"name\":\"theme\",\"id\":(\"theme-\" + (themeOption.themeID))},domProps:{\"value\":themeOption,\"checked\":_vm._q(_vm.theme,themeOption)},on:{\"change\":[function($event){_vm.theme=themeOption},function($event){_vm.isEditMode && _vm.update($event)}]}}),_c('label',{staticClass:\"status-card\",attrs:{\"for\":(\"theme-\" + (themeOption.themeID))}},[_c('p',{staticClass:\"m-0 text-center\"},[_vm._v(_vm._s(themeOption.themeName))])])])}),0)]):_vm._e(),(_vm.theme)?_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"type\"}},[_vm._v(\" Question Type (required)\")]),_c('div',{staticClass:\"status-cards exam-type\"},_vm._l((_vm.theme.questionTypes),function(typeOption,index){return _c('div',{key:index,staticClass:\"status-card-container col\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.type),expression:\"type\"}],attrs:{\"type\":\"radio\",\"name\":\"type\",\"id\":(\"type-\" + (typeOption.questionTypeID))},domProps:{\"value\":typeOption.questionTypeID,\"checked\":_vm._q(_vm.type,typeOption.questionTypeID)},on:{\"change\":[function($event){_vm.type=typeOption.questionTypeID},function($event){_vm.isEditMode && _vm.update($event)}]}}),_c('label',{staticClass:\"status-card\",attrs:{\"for\":(\"type-\" + (typeOption.questionTypeID))}},[_c('p',{staticClass:\"m-0 text-center\"},[_vm._v(_vm._s(typeOption.questionTypeName))])])])}),0)]):_vm._e()]),_c('div',{staticClass:\"step-btn-container\"},[_c('a',{staticClass:\"step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_vm._v(\"Cancel \")]),_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext || _vm.loading},on:{\"click\":_vm.next}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Add \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\t@change=\"closeModal\"\n\t\tid=\"add-question-modal\"\n\t\t:visible=\"visible\"\n\t\tsize=\"xl\"\n\t\thide-header\n\t\thide-footer\n\t\tcentered\n\t\tcontent-class=\"add-question-modal\"\n\t\tbody-class=\"modal-body\"\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t\tno-close-on-esc\n\t>\n\t\t<div class=\"custom-stepper-body-container\">\n\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<h1 class=\"add-content-title\">Add Question</h1>\n\t\t\t<div class=\"add-question-container\">\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"this.examThemes && this.examThemes.length > 1\"\n\t\t\t\t\tclass=\"form-group\"\n\t\t\t\t>\n\t\t\t\t\t<label for=\"theme\" class=\"main-label\"> Theme (Required)</label>\n\t\t\t\t\t<div class=\"status-cards exam-type\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"(themeOption, index) in examThemes\"\n\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\tclass=\"status-card-container col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\tname=\"theme\"\n\t\t\t\t\t\t\t\t:value=\"themeOption\"\n\t\t\t\t\t\t\t\t:id=\"`theme-${themeOption.themeID}`\"\n\t\t\t\t\t\t\t\tv-model=\"theme\"\n\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label class=\"status-card\" :for=\"`theme-${themeOption.themeID}`\">\n\t\t\t\t\t\t\t\t<p class=\"m-0 text-center\">{{ themeOption.themeName }}</p>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"theme\" class=\"form-group\">\n\t\t\t\t\t<label for=\"type\" class=\"main-label\"> Question Type (required)</label>\n\t\t\t\t\t<div class=\"status-cards exam-type\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"(typeOption, index) in theme.questionTypes\"\n\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\tclass=\"status-card-container col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\tname=\"type\"\n\t\t\t\t\t\t\t\t:value=\"typeOption.questionTypeID\"\n\t\t\t\t\t\t\t\t:id=\"`type-${typeOption.questionTypeID}`\"\n\t\t\t\t\t\t\t\tv-model=\"type\"\n\t\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\tclass=\"status-card\"\n\t\t\t\t\t\t\t\t:for=\"`type-${typeOption.questionTypeID}`\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<p class=\"m-0 text-center\">{{ typeOption.questionTypeName }}</p>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<!-- <div class=\"form-group mb-3\">\n\t\t\t\t\t<label for=\"title\" class=\"main-label\"\n\t\t\t\t\t\t>Question Title (Optional)\n\t\t\t\t\t</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\tid=\"title\"\n\t\t\t\t\t\tname=\"title\"\n\t\t\t\t\t\tv-model=\"title\"\n\t\t\t\t\t\tplaceholder=\"Enter question title\"\n\t\t\t\t\t/>\n\t\t\t\t</div> -->\n\t\t\t</div>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<a @click=\"closeModal\" role=\"button\" class=\"step-btn\">Cancel </a>\n\t\t\t\t<button\n\t\t\t\t\t@click=\"next\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t:disabled=\"disableNext || loading\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\tAdd <i class=\"fas fa-long-arrow-alt-right\"></i>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"AddQuestionModal\",\n\tdata() {\n\t\treturn {\n\t\t\ttitle: null,\n\t\t\ttype: null,\n\t\t\tisEditMode: false,\n\t\t\ttheme: null,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"exam\", [\"createQuestion\", \"fetchExamThemes\"]),\n\t\tcloseModal() {\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t},\n\t\tnext() {\n\t\t\tthis.createQuestion(this.productVariantId).then((res) => {\n\t\t\t\tconsole.log(res);\n\t\t\t\tvar token = res;\n\t\t\t\tvar categoryID;\n\t\t\t\tif (this.selectedCategory && this.selectedCategory.length > 0) {\n\t\t\t\t\tcategoryID = this.selectedCategory.at(-1).id;\n\t\t\t\t} else {\n\t\t\t\t\tcategoryID = this.questionCategories[this.productVariantId].root.id;\n\t\t\t\t}\n\t\t\t\tvar examinationURL = `http://examapp.gocbeglobal.com/question/create?QuestionTypeID=${this.type}&CategoryID=${categoryID}&Token=${token}&RedirectURL=${window.location.href}`;\n\t\t\t\tif (this.title) {\n\t\t\t\t\texaminationURL += `&QuestionTitle=${this.title}`;\n\t\t\t\t}\n\t\t\t\tconsole.log(examinationURL);\n\t\t\t\twindow.location.href = examinationURL;\n\t\t\t});\n\t\t},\n\t},\n\tprops: {\n\t\tshowModal: Boolean,\n\t\tproductVariantId: String,\n\t\tselectedCategory: Array,\n\t},\n\tcomputed: {\n\t\t...mapState(\"exam\", [\n\t\t\t\"questionTypes\",\n\t\t\t\"examThemes\",\n\t\t\t\"loading\",\n\t\t\t\"questionCategories\",\n\t\t]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tdisableNext() {\n\t\t\tif (this.type && this.theme) {\n\t\t\t\treturn false;\n\t\t\t} else return true;\n\t\t},\n\t},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible) {\n\t\t\t\tif (this.examThemes && this.examThemes.length == 0) {\n\t\t\t\t\tthis.fetchExamThemes().then((res) => {\n\t\t\t\t\t\tif (res && res.length == 1) {\n\t\t\t\t\t\t\tthis.theme = res[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tif (this.examThemes && this.examThemes.length == 1) {\n\t\t\t\t\t\tthis.theme = this.examThemes[0];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style>\n.add-question-modal {\n\tmin-height: 80vh;\n\theight: fit-content;\n\twidth: 60vw;\n}\n#add-question-modal.custom-modal .modal-dialog {\n\tmax-width: 60vw;\n}\n\n#add-question-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n}\n\n.add-question-modal .modal-body .custom-stepper-body-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tpadding: 2.5rem 2.5rem 1.5rem;\n\tposition: relative;\n\tborder-radius: 0 8px 8px 0;\n}\n\n.add-question-container {\n\tmargin-top: 1.625rem;\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.add-question-container .status-cards {\n\tflex-wrap: wrap;\n\tpadding: 1rem 0;\n\trow-gap: 0.75rem;\n\tcolumn-gap: 0.75rem;\n}\n\n.add-question-container .status-cards .status-card-container {\n\tmin-width: 18% !important;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddQuestionModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddQuestionModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddQuestionModal.vue?vue&type=template&id=492a1a4a&\"\nimport script from \"./AddQuestionModal.vue?vue&type=script&lang=js&\"\nexport * from \"./AddQuestionModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AddQuestionModal.vue?vue&type=style&index=0&id=492a1a4a&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"category-list-container\"},[_vm._l((_vm.filteredQuestionCategories),function(category){return _c('QuestionCategoryListItem',{key:category.categoryID,attrs:{\"categoryData\":category,\"selectedCategory\":_vm.selectedCategory,\"productVariantId\":_vm.productVariantId,\"selectMode\":_vm.selectMode},on:{\"selectCategory\":_vm.selectCategory}})}),(_vm.createMode)?_c('QuestionCategoryListItem',{attrs:{\"selectedCategory\":_vm.selectedCategory,\"createMode\":_vm.createMode,\"productVariantId\":_vm.productVariantId,\"selectMode\":_vm.selectMode},on:{\"selectCategory\":_vm.selectCategory,\"cancelCreate\":_vm.cancelCreate}}):_vm._e(),(\n\t\t\t!_vm.createMode &&\n\t\t\t_vm.filteredQuestionCategories &&\n\t\t\t_vm.filteredQuestionCategories.length == 0 &&\n\t\t\t!_vm.loading\n\t\t)?_c('div',{staticClass:\"d-flex justify-content-center\"},[_c('span',{staticClass:\"text-muted\"},[_vm._v(\" \"+_vm._s(_vm.searchText ? \"No question pools found\" : \"You haven't created any question pools yet\")+\" \")])]):_vm._e(),(!_vm.filteredQuestionCategories && _vm.loading)?_c('div',{staticClass:\"d-flex flex-column gap-1\"},[_c('b-skeleton',{attrs:{\"height\":\"2rem\"}}),_c('b-skeleton',{attrs:{\"height\":\"2rem\"}}),_c('b-skeleton',{attrs:{\"height\":\"2rem\"}})],1):_vm._e(),_c('div',{staticClass:\"category-collapse-button create mt-auto\",on:{\"click\":function($event){return _vm.selectCategory([])}}},[_vm._v(\" Uncategorized Questions \")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"category-list-container\">\n\t\t<QuestionCategoryListItem\n\t\t\tv-for=\"category in filteredQuestionCategories\"\n\t\t\t:key=\"category.categoryID\"\n\t\t\t:categoryData=\"category\"\n\t\t\t@selectCategory=\"selectCategory\"\n\t\t\t:selectedCategory=\"selectedCategory\"\n\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t:selectMode=\"selectMode\"\n\t\t/>\n\t\t<QuestionCategoryListItem\n\t\t\tv-if=\"createMode\"\n\t\t\t@selectCategory=\"selectCategory\"\n\t\t\t:selectedCategory=\"selectedCategory\"\n\t\t\t:createMode=\"createMode\"\n\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t@cancelCreate=\"cancelCreate\"\n\t\t\t:selectMode=\"selectMode\"\n\t\t/>\n\t\t<div\n\t\t\tclass=\"d-flex justify-content-center\"\n\t\t\tv-if=\"\n\t\t\t\t!createMode &&\n\t\t\t\tfilteredQuestionCategories &&\n\t\t\t\tfilteredQuestionCategories.length == 0 &&\n\t\t\t\t!loading\n\t\t\t\"\n\t\t>\n\t\t\t<span class=\"text-muted\">\n\t\t\t\t{{\n\t\t\t\t\tsearchText\n\t\t\t\t\t\t? \"No question pools found\"\n\t\t\t\t\t\t: \"You haven't created any question pools yet\"\n\t\t\t\t}}\n\t\t\t</span>\n\t\t</div>\n\t\t<div\n\t\t\tv-if=\"!filteredQuestionCategories && loading\"\n\t\t\tclass=\"d-flex flex-column gap-1\"\n\t\t>\n\t\t\t<b-skeleton height=\"2rem\"></b-skeleton>\n\t\t\t<b-skeleton height=\"2rem\"></b-skeleton>\n\t\t\t<b-skeleton height=\"2rem\"></b-skeleton>\n\t\t</div>\n\t\t<div\n\t\t\t@click=\"selectCategory([])\"\n\t\t\tclass=\"category-collapse-button create mt-auto\"\n\t\t>\n\t\t\t<!-- v-if=\"hasUncategorizedQuestions\" -->\n\t\t\tUncategorized Questions\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport QuestionCategoryListItem from \"./QuestionCategoryListItem.vue\";\nexport default {\n\tname: \"QuestionCategoryList\",\n\tcomponents: {\n\t\tQuestionCategoryListItem,\n\t},\n\tcomputed: {\n\t\t...mapState(\"exam\", [\"questionCategories\", \"loading\"]),\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\t\tfilteredQuestionCategories() {\n\t\t\tif (\n\t\t\t\tthis.questionCategories[this.productVariantId] &&\n\t\t\t\tthis.questionCategories[this.productVariantId].root &&\n\t\t\t\tthis.questionCategories[this.productVariantId].root.childCategories\n\t\t\t)\n\t\t\t\tif (this.searchText && this.searchText.length > 0) {\n\t\t\t\t\treturn Object.values(\n\t\t\t\t\t\tthis.questionCategories[this.productVariantId]\n\t\t\t\t\t).filter((category) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t(category.id !==\n\t\t\t\t\t\t\t\tthis.questionCategories[this.productVariantId].root.id &&\n\t\t\t\t\t\t\t\t(category.categoryName || \"\")\n\t\t\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1) ||\n\t\t\t\t\t\t\t(category.id || \"\")\n\t\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturn this.questionCategories[\n\t\t\t\t\t\tthis.productVariantId\n\t\t\t\t\t].root.childCategories.filter((category) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t(category.categoryName || \"\")\n\t\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t\t(category.id || \"\")\n\t\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\telse return null;\n\t\t},\n\t\t// hasUncategorizedQuestions() {\n\t\t// \treturn this.allQuestions.find();\n\t\t// },\n\t},\n\tmethods: {\n\t\t...mapActions(\"exam\", [\"fetchQuestionCategories\", \"createQuestion\"]),\n\t\tselectCategory(category) {\n\t\t\tthis.$emit(\"selectCategory\", category);\n\t\t},\n\t\tcancelCreate() {\n\t\t\tthis.$emit(\"cancelCreate\");\n\t\t},\n\t},\n\tprops: {\n\t\tselectedCategory: Array,\n\t\tproductVariantId: String,\n\t\tcreateMode: { type: Boolean, default: false },\n\t\tsearchText: String,\n\t\tselectMode: { type: Boolean, default: false },\n\t},\n\tcreated() {},\n};\n</script>\n\n<style scoped>\n.category-list-container {\n\tpadding: 1rem;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow-y: auto;\n\theight: 100%;\n}\n\n.category-collapse-button {\n\tbackground: #ffffff;\n\t/* border: 1px solid #dcdcdc; */\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.5rem 0.75rem;\n\twidth: 100%;\n\ttext-align: left;\n\tmargin-bottom: 0.5rem;\n\tcolor: #000000;\n\tfont-size: 1rem;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 0.75rem;\n\tposition: relative;\n\tcursor: pointer;\n}\n\n.category-collapse-button:hover,\n.category-collapse-button.create {\n\tbackground-color: #fafafa;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuestionCategoryList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuestionCategoryList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QuestionCategoryList.vue?vue&type=template&id=07940c46&scoped=true&\"\nimport script from \"./QuestionCategoryList.vue?vue&type=script&lang=js&\"\nexport * from \"./QuestionCategoryList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./QuestionCategoryList.vue?vue&type=style&index=0&id=07940c46&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"07940c46\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.createMode && _vm.mode == 'view')?_c('div',{class:(\"category-collapse-button \" + (_vm.selectedCategory.find(function (c) { return c.id == _vm.categoryData.id; }) ? 'active' : '')),on:{\"click\":_vm.selectCategory}},[_c('button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"collapse-\" + (_vm.categoryData.id))),expression:\"`collapse-${categoryData.id}`\"}],attrs:{\"id\":(\"collapse-btn-\" + (_vm.categoryData.id))},on:{\"click\":function (e) { return e.stopPropagation(); }}},[_c('img',{staticClass:\"caret-icon\",attrs:{\"src\":require(\"@/assets/images/caret-down.svg\")}})]),_c('div',{staticClass:\"category-name\"},[_vm._v(\" \"+_vm._s(_vm.categoryData.categoryName)+\" \")]),_c('span',{staticClass:\"ms-auto\"},[_vm._v(\"(\"+_vm._s(_vm.categoryData.questionsCount != null ? _vm.categoryData.questionsCount + _vm.categoryData.childQuestionsCount : 0)+\") \")]),(!_vm.selectMode)?_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.toggleSubCategoryCreate($event, true)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/plus-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.changeMode($event, 'edit')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.showDeleteConfirmPopup}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])]):_vm._e()]):_vm._e(),(!_vm.createMode && _vm.mode == 'view')?_c('b-collapse',{staticClass:\"category-collapse-body\",attrs:{\"id\":(\"collapse-\" + (_vm.categoryData.id))},model:{value:(_vm.expanded),callback:function ($$v) {_vm.expanded=$$v},expression:\"expanded\"}},[(\n\t\t\t\t_vm.expanded &&\n\t\t\t\t_vm.mode == 'view' &&\n\t\t\t\t_vm.questionCategories[_vm.productVariantId][_vm.categoryData.id]\n\t\t\t)?_c('div',{staticClass:\"sub-category-container\"},[_vm._l((_vm.questionCategories[_vm.productVariantId][\n\t\t\t\t\t_vm.categoryData.id\n\t\t\t\t].childCategories),function(category){return _c('QuestionCategoryListItem',{key:category.id,attrs:{\"categoryData\":category,\"selectedCategory\":_vm.selectedCategory,\"productVariantId\":_vm.productVariantId,\"parentCategoryId\":_vm.categoryData.id,\"selectMode\":_vm.selectMode},on:{\"selectCategory\":_vm.selectChildCategory}})}),(\n\t\t\t\t\t_vm.questionCategories[_vm.productVariantId][_vm.categoryData.id]\n\t\t\t\t\t\t.childCategories &&\n\t\t\t\t\t_vm.questionCategories[_vm.productVariantId][_vm.categoryData.id]\n\t\t\t\t\t\t.childCategories.length == 0 &&\n\t\t\t\t\t!_vm.isSubCategoryCreate\n\t\t\t\t)?_c('div',{staticClass:\"no-categories mb-2\"},[_c('span',[_vm._v(\" No sub categories \")])]):_vm._e()],2):_vm._e(),(_vm.expanded && _vm.isSubCategoryCreate)?_c('div',{staticClass:\"sub-category-container\"},[_c('QuestionCategoryListItem',{attrs:{\"parentCategoryId\":_vm.categoryData.id,\"selectedCategory\":_vm.selectedCategory,\"createMode\":_vm.isSubCategoryCreate,\"productVariantId\":_vm.productVariantId,\"selectMode\":_vm.selectMode},on:{\"selectCategory\":_vm.selectChildCategory,\"cancelCreate\":_vm.cancelSubCategoryCreate}})],1):_vm._e()]):_vm._e(),(_vm.createMode || _vm.mode == 'edit')?_c('div',{staticClass:\"category-collapse-button create\"},[_c('form',{on:{\"submit\":function($event){return _vm.createCategory($event)}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.categoryName),expression:\"categoryName\"}],staticClass:\"category-input\",attrs:{\"type\":\"search\",\"name\":\"categoryName\",\"id\":\"categoryName\",\"placeholder\":\"Enter pool name\"},domProps:{\"value\":(_vm.categoryName)},on:{\"blur\":function($event){_vm.createMode ? _vm.$emit('cancelCreate') : _vm.changeMode($event, 'view')},\"input\":function($event){if($event.target.composing){ return; }_vm.categoryName=$event.target.value}}}),_c('div',{staticClass:\"ms-auto d-flex gap-3\"},[_c('button',{staticClass:\"category-action-btn save\",attrs:{\"type\":\"submit\"},on:{\"click\":function($event){return _vm.createCategory($event)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"category-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":function($event){return _vm.changeMode($event, 'view')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])])])]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div\n\t\t\tv-if=\"!createMode && mode == 'view'\"\n\t\t\t:class=\"`category-collapse-button ${\n\t\t\t\tselectedCategory.find((c) => c.id == categoryData.id) ? 'active' : ''\n\t\t\t}`\"\n\t\t\t@click=\"selectCategory\"\n\t\t>\n\t\t\t<button\n\t\t\t\t:id=\"`collapse-btn-${categoryData.id}`\"\n\t\t\t\tv-b-toggle=\"`collapse-${categoryData.id}`\"\n\t\t\t\t@click=\"(e) => e.stopPropagation()\"\n\t\t\t>\n\t\t\t\t<img src=\"@/assets/images/caret-down.svg\" class=\"caret-icon\" />\n\t\t\t</button>\n\t\t\t<div class=\"category-name\">\n\t\t\t\t{{ categoryData.categoryName }}\n\t\t\t</div>\n\t\t\t<span class=\"ms-auto\"\n\t\t\t\t>({{\n\t\t\t\t\tcategoryData.questionsCount != null\n\t\t\t\t\t\t? categoryData.questionsCount + categoryData.childQuestionsCount\n\t\t\t\t\t\t: 0\n\t\t\t\t}})\n\t\t\t</span>\n\t\t\t<div v-if=\"!selectMode\" class=\"right-menu\">\n\t\t\t\t<a\n\t\t\t\t\t@click=\"toggleSubCategoryCreate($event, true)\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/plus-icon.svg\" />\n\t\t\t\t</a>\n\t\t\t\t<a\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\t@click=\"changeMode($event, 'edit')\"\n\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t</a>\n\t\t\t\t<a\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\t@click=\"showDeleteConfirmPopup\"\n\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<b-collapse\n\t\t\tv-model=\"expanded\"\n\t\t\tv-if=\"!createMode && mode == 'view'\"\n\t\t\t:id=\"`collapse-${categoryData.id}`\"\n\t\t\tclass=\"category-collapse-body\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"sub-category-container\"\n\t\t\t\tv-if=\"\n\t\t\t\t\texpanded &&\n\t\t\t\t\tmode == 'view' &&\n\t\t\t\t\tquestionCategories[productVariantId][categoryData.id]\n\t\t\t\t\"\n\t\t\t>\n\t\t\t\t<QuestionCategoryListItem\n\t\t\t\t\tv-for=\"category in questionCategories[productVariantId][\n\t\t\t\t\t\tcategoryData.id\n\t\t\t\t\t].childCategories\"\n\t\t\t\t\t:key=\"category.id\"\n\t\t\t\t\t:categoryData=\"category\"\n\t\t\t\t\t:selectedCategory=\"selectedCategory\"\n\t\t\t\t\t@selectCategory=\"selectChildCategory\"\n\t\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t\t:parentCategoryId=\"categoryData.id\"\n\t\t\t\t\t:selectMode=\"selectMode\"\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"\n\t\t\t\t\t\tquestionCategories[productVariantId][categoryData.id]\n\t\t\t\t\t\t\t.childCategories &&\n\t\t\t\t\t\tquestionCategories[productVariantId][categoryData.id]\n\t\t\t\t\t\t\t.childCategories.length == 0 &&\n\t\t\t\t\t\t!isSubCategoryCreate\n\t\t\t\t\t\"\n\t\t\t\t\tclass=\"no-categories mb-2\"\n\t\t\t\t>\n\t\t\t\t\t<span> No sub categories </span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tv-if=\"expanded && isSubCategoryCreate\"\n\t\t\t\tclass=\"sub-category-container\"\n\t\t\t>\n\t\t\t\t<QuestionCategoryListItem\n\t\t\t\t\t:parentCategoryId=\"categoryData.id\"\n\t\t\t\t\t:selectedCategory=\"selectedCategory\"\n\t\t\t\t\t@selectCategory=\"selectChildCategory\"\n\t\t\t\t\t:createMode=\"isSubCategoryCreate\"\n\t\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t\t@cancelCreate=\"cancelSubCategoryCreate\"\n\t\t\t\t\t:selectMode=\"selectMode\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</b-collapse>\n\t\t<div\n\t\t\tv-if=\"createMode || mode == 'edit'\"\n\t\t\tclass=\"category-collapse-button create\"\n\t\t>\n\t\t\t<form @submit=\"createCategory($event)\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tname=\"categoryName\"\n\t\t\t\t\tid=\"categoryName\"\n\t\t\t\t\tclass=\"category-input\"\n\t\t\t\t\tv-model=\"categoryName\"\n\t\t\t\t\tplaceholder=\"Enter pool name\"\n\t\t\t\t\t@blur=\"\n\t\t\t\t\t\tcreateMode ? $emit('cancelCreate') : changeMode($event, 'view')\n\t\t\t\t\t\"\n\t\t\t\t/>\n\t\t\t\t<div class=\"ms-auto d-flex gap-3\">\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"createCategory($event)\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tclass=\"category-action-btn save\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\" />\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"changeMode($event, 'view')\"\n\t\t\t\t\t\tclass=\"category-action-btn cancel\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\" />\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"QuestionCategoryListItem\",\n\tdata() {\n\t\treturn {\n\t\t\tmode: \"view\",\n\t\t\texpanded: false,\n\t\t\tcategoryName: null,\n\t\t\tisSubCategoryCreate: false,\n\t\t};\n\t},\n\tprops: {\n\t\tcategoryData: { type: Object, default: null },\n\t\tselectedCategory: Array,\n\t\tcreateMode: { type: Boolean, default: false },\n\t\tproductVariantId: String,\n\t\tparentCategoryId: { type: String, default: null },\n\t\tselectMode: { type: Boolean, default: false },\n\t},\n\tmethods: {\n\t\t...mapActions(\"exam\", [\n\t\t\t\"createQuestionCategory\",\n\t\t\t\"fetchQuestionCategories\",\n\t\t\t\"updateQuestionCategory\",\n\t\t\t\"deleteQuestionCategory\",\n\t\t]),\n\t\ttoggleCollapse(e) {\n\t\t\te.stopPropagation();\n\t\t\t// if (\n\t\t\t// \tthis.questionCategories[this.productVariantId] &&\n\t\t\t// \t!this.questionCategories[this.productVariantId][this.categoryData.id]\n\t\t\t// )\n\t\t\tif (this.expanded)\n\t\t\t\tsetTimeout(() => (this.expanded = !this.expanded), 300);\n\t\t\telse this.expanded = !this.expanded;\n\t\t},\n\t\ttoggleSubCategoryCreate(e, value) {\n\t\t\te.stopPropagation();\n\t\t\tif (value !== undefined) {\n\t\t\t\tthis.isSubCategoryCreate = value;\n\t\t\t\tthis.expanded = value;\n\t\t\t\tif (value) setTimeout(() => $(\"input#categoryName\").focus(), 100);\n\t\t\t} else {\n\t\t\t\tthis.isSubCategoryCreate = !this.isSubCategoryCreate;\n\t\t\t\tthis.expanded = !this.expanded;\n\t\t\t\tif (this.isSubCategoryCreate)\n\t\t\t\t\tsetTimeout(() => $(\"input#categoryName\").focus(), 100);\n\t\t\t}\n\t\t},\n\t\tcancelSubCategoryCreate() {\n\t\t\tsetTimeout(() => (this.isSubCategoryCreate = false), 300);\n\n\t\t\t// if (\n\t\t\t// \tthis.questionCategories[this.productVariantId][this.categoryData.id] &&\n\t\t\t// \tthis.questionCategories[this.productVariantId][this.categoryData.id]\n\t\t\t// \t\t.childCategories.length == 0\n\t\t\t// )\n\t\t\t// \tsetTimeout(() => (this.expanded = false), 300);\n\t\t},\n\t\tselectCategory() {\n\t\t\tthis.$emit(\"selectCategory\", [\n\t\t\t\t{\n\t\t\t\t\tid: this.categoryData.id,\n\t\t\t\t\tcategoryName: this.categoryData.categoryName,\n\t\t\t\t},\n\t\t\t]);\n\t\t\tthis.expanded = true;\n\t\t},\n\t\tselectChildCategory(category) {\n\t\t\tthis.$emit(\"selectCategory\", [\n\t\t\t\t{\n\t\t\t\t\tid: this.categoryData.id,\n\t\t\t\t\tcategoryName: this.categoryData.categoryName,\n\t\t\t\t},\n\t\t\t\t...category,\n\t\t\t]);\n\t\t},\n\t\tchangeMode(e, mode) {\n\t\t\te.stopPropagation();\n\t\t\tif (mode == \"view\") {\n\t\t\t\tsetTimeout(() => (this.mode = mode), 300);\n\t\t\t\tthis.$emit(\"cancelCreate\");\n\t\t\t} else if (mode == \"edit\") {\n\t\t\t\tthis.mode = mode;\n\t\t\t\tthis.categoryName = this.categoryData.categoryName;\n\t\t\t\tsetTimeout(() => $(\"input#categoryName\").focus(), 100);\n\t\t\t}\n\t\t},\n\t\tcreateCategory(e) {\n\t\t\te.preventDefault();\n\t\t\tvar parentID = this.parentCategoryId\n\t\t\t\t? this.parentCategoryId\n\t\t\t\t: this.questionCategories[this.productVariantId].root.id;\n\n\t\t\tvar createCategoryObject = {\n\t\t\t\tcategoryName: this.categoryName,\n\t\t\t\tparentID: parentID,\n\t\t\t};\n\t\t\tif (this.mode == \"edit\") {\n\t\t\t\tcreateCategoryObject.id = this.categoryData.id;\n\t\t\t\tcreateCategoryObject.parentID = this.categoryData.parentID;\n\t\t\t\tthis.updateQuestionCategory({\n\t\t\t\t\tcreateCategoryObject,\n\t\t\t\t\tproductVariantID: this.productVariantId,\n\t\t\t\t}).then((res) => {\n\t\t\t\t\tconsole.log(res);\n\t\t\t\t\tthis.fetchQuestionCategories({\n\t\t\t\t\t\tproductVariantID: this.productVariantId,\n\t\t\t\t\t\tcategoryID: parentID,\n\t\t\t\t\t}).then((res) => {\n\t\t\t\t\t\tthis.mode = \"view\";\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.createQuestionCategory(createCategoryObject).then((res) => {\n\t\t\t\t\tconsole.log(res);\n\t\t\t\t\tthis.fetchQuestionCategories({\n\t\t\t\t\t\tproductVariantID: this.productVariantId,\n\t\t\t\t\t\tcategoryID: parentID,\n\t\t\t\t\t}).then((res) => {\n\t\t\t\t\t\tthis.$emit(\"cancelCreate\");\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\t// this.$emit(\"createCategory\", this.categoryName);\n\t\t},\n\t\tshowDeleteConfirmPopup(e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to delete the question pool: ${this.categoryData.categoryName}?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.questionCategoryDelete();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t\tquestionCategoryDelete() {\n\t\t\tthis.deleteQuestionCategory(this.categoryData.id).then((res) => {\n\t\t\t\tif (res) {\n\t\t\t\t\tvar parentID = this.parentCategoryId\n\t\t\t\t\t\t? this.parentCategoryId\n\t\t\t\t\t\t: this.questionCategories[this.productVariantId].root.id;\n\t\t\t\t\tthis.fetchQuestionCategories({\n\t\t\t\t\t\tproductVariantID: this.productVariantId,\n\t\t\t\t\t\tcategoryID: parentID,\n\t\t\t\t\t}).then((res) => {\n\t\t\t\t\t\tthis.$toasted.success(\"Question Pool deleted!\", {\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"exam\", [\n\t\t\t\"questionCategories\",\n\t\t\t\"questionCategoriesByParent\",\n\t\t\t\"loading\",\n\t\t]),\n\t\thasChildCategories() {\n\t\t\treturn (\n\t\t\t\tthis.categoryData.childCategories &&\n\t\t\t\tthis.categoryData.childCategories.length > 0\n\t\t\t);\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.selectedCategory.forEach((cat, index) => {\n\t\t\tif (\n\t\t\t\tcat.id == this.categoryData.id &&\n\t\t\t\tindex != this.selectedCategory.length - 1\n\t\t\t) {\n\t\t\t\tconsole.log(\"expand\");\n\t\t\t\tthis.expanded = true;\n\t\t\t}\n\t\t});\n\n\t\tif (\n\t\t\t!this.createMode &&\n\t\t\t!this.questionCategories[this.productVariantId][this.categoryData.id]\n\t\t) {\n\t\t\tthis.fetchQuestionCategories({\n\t\t\t\tproductVariantID: this.productVariantId,\n\t\t\t\tcategoryID: this.categoryData.id,\n\t\t\t}).then((res) => {\n\t\t\t\tconsole.log(res);\n\t\t\t});\n\t\t}\n\t},\n\twatch: {\n\t\tselectedCategory: function () {\n\t\t\tthis.selectedCategory.forEach((cat, index) => {\n\t\t\t\tif (\n\t\t\t\t\tcat.id == this.categoryData.id &&\n\t\t\t\t\tindex != this.selectedCategory.length - 1\n\t\t\t\t) {\n\t\t\t\t\tconsole.log(\"expand\");\n\t\t\t\t\tthis.expanded = true;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.category-collapse-button {\n\tbackground: #ffffff;\n\t/* border: 1px solid #dcdcdc; */\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.5rem 0.75rem;\n\twidth: 100%;\n\ttext-align: left;\n\tmargin-bottom: 0.5rem;\n\tcolor: #000000;\n\tfont-size: 1rem;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 0.75rem;\n\tposition: relative;\n\tcursor: pointer;\n}\n\n.category-collapse-button:hover,\n.category-collapse-button.create {\n\tbackground-color: #fafafa;\n}\n\n.category-collapse-button form {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n}\n.category-collapse-button .category-name {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-grow: 0;\n\toverflow: hidden;\n}\n\n.category-collapse-button input {\n\tbackground-color: transparent;\n\tborder: none;\n\tflex-grow: 1;\n}\n\n.category-collapse-button.active {\n\tbackground-color: #fafafa;\n\tcolor: var(--primary-color);\n}\n\n.caret-icon {\n\ttransition: transform 0.3s;\n\ttransform: rotate(-90deg);\n}\n\n.not-collapsed .caret-icon {\n\ttransform: rotate(0deg);\n}\n\n.category-collapse-body {\n\tpadding-left: 1rem;\n\tmargin-left: 1rem;\n\tborder-left: 1px solid #dedede;\n}\n\n.category-collapse-button.no-child {\n\tpadding-left: 2.25rem;\n}\n\n.category-collapse-button .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tmargin-left: auto;\n\tpadding-right: 0.25rem;\n\tpadding-left: 0.25rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n\tposition: absolute;\n\tright: 0.75rem;\n\tbackground: #fafafae2;\n\theight: 100%;\n}\n\n.category-collapse-button:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.category-action-btn {\n\tbackground: #ffffff;\n\tbox-sizing: border-box;\n\tborder-radius: 50%;\n\twidth: 1.5rem;\n\theight: 1.5rem;\n\t/* padding: 0.375rem; */\n\tfont-weight: bold;\n\tfont-size: 0.875rem;\n\tline-height: 1;\n\tletter-spacing: 0.05rem;\n\ttext-transform: uppercase;\n\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n}\n\n.category-action-btn.save {\n\tborder: 1px solid #21cf47;\n\tcolor: #21cf47;\n\tposition: absolute;\n\tright: 3rem;\n}\n.category-action-btn.cancel {\n\tborder: 1px solid #ff0000;\n\tcolor: #ff0000;\n\tposition: absolute;\n\tright: 0.75rem;\n}\n\n.right-menu-icon {\n\tcolor: #000000;\n\tline-height: 1;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuestionCategoryListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuestionCategoryListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QuestionCategoryListItem.vue?vue&type=template&id=5a9b76cc&scoped=true&\"\nimport script from \"./QuestionCategoryListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./QuestionCategoryListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./QuestionCategoryListItem.vue?vue&type=style&index=0&id=5a9b76cc&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5a9b76cc\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"question-list-container\",attrs:{\"id\":\"question-list-container\"}},[(_vm.selectMode)?_c('div',_vm._l((_vm.questionList),function(question,index){return _c('div',{key:question.ID,staticClass:\"d-flex align-items-center gap-2\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.questionSelected),expression:\"questionSelected\"}],staticClass:\"form-check-input m-0\",attrs:{\"type\":\"checkbox\",\"name\":\"exam-question\",\"id\":(\"question-\" + index)},domProps:{\"value\":question.ID,\"checked\":Array.isArray(_vm.questionSelected)?_vm._i(_vm.questionSelected,question.ID)>-1:(_vm.questionSelected)},on:{\"change\":function($event){var $$a=_vm.questionSelected,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=question.ID,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.questionSelected=$$a.concat([$$v]))}else{$$i>-1&&(_vm.questionSelected=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.questionSelected=$$c}}}}),_c('label',{staticClass:\"w-100\",attrs:{\"for\":(\"question-\" + index)}},[_c('QuestionListItem',{attrs:{\"questionData\":question,\"selectMode\":_vm.selectMode}})],1)])}),0):_c('div',{staticClass:\"d-flex flex-column gap-2\"},_vm._l((_vm.questionList),function(question){return _c('QuestionListItem',{key:question.ID,attrs:{\"questionData\":question,\"selectMode\":_vm.selectMode}})}),1),(_vm.questionList && _vm.questionList.length == 0)?_c('div',{staticClass:\"d-flex h-100\"},[(_vm.searchText.length == 0 && !_vm.selectMode)?_c('div',{staticClass:\"no-questions\"},[_c('span',[_vm._v(\"You haven't added any questions \"+_vm._s(this.selectedCategory.length > 0 ? \"in this pool\" : \" yet\"))]),(!_vm.selectMode)?_c('button',{staticClass:\"add-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.toggleQuestionModal(true)}}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\")}}),_vm._v(\" add question \")]):_vm._e(),(!_vm.selectMode)?_c('AddQuestionModal',{attrs:{\"showModal\":_vm.showQuestionModal,\"productVariantId\":_vm.productVariantId,\"selectedCategory\":_vm.selectedCategory},on:{\"updateModalState\":_vm.toggleQuestionModal}}):_vm._e()],1):_c('div',{staticClass:\"no-questions\"},[_c('span',[_vm._v(\"No Questions found\")])])]):_vm._e(),(_vm.moreLoading)?_c('b-spinner'):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"question-list-container\" id=\"question-list-container\">\n\t\t<div v-if=\"selectMode\">\n\t\t\t<div\n\t\t\t\tv-for=\"(question, index) in questionList\"\n\t\t\t\t:key=\"question.ID\"\n\t\t\t\tclass=\"d-flex align-items-center gap-2\"\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tclass=\"form-check-input m-0\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tname=\"exam-question\"\n\t\t\t\t\t:id=\"`question-${index}`\"\n\t\t\t\t\t:value=\"question.ID\"\n\t\t\t\t\tv-model=\"questionSelected\"\n\t\t\t\t/>\n\t\t\t\t<label class=\"w-100\" :for=\"`question-${index}`\">\n\t\t\t\t\t<QuestionListItem :questionData=\"question\" :selectMode=\"selectMode\" />\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"d-flex flex-column gap-2\" v-else>\n\t\t\t<QuestionListItem\n\t\t\t\tv-for=\"question in questionList\"\n\t\t\t\t:key=\"question.ID\"\n\t\t\t\t:questionData=\"question\"\n\t\t\t\t:selectMode=\"selectMode\"\n\t\t\t/>\n\t\t</div>\n\t\t<div class=\"d-flex h-100\" v-if=\"questionList && questionList.length == 0\">\n\t\t\t<div v-if=\"searchText.length == 0 && !selectMode\" class=\"no-questions\">\n\t\t\t\t<span\n\t\t\t\t\t>You haven't added any questions\n\t\t\t\t\t{{ this.selectedCategory.length > 0 ? \"in this pool\" : \" yet\" }}</span\n\t\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"!selectMode\"\n\t\t\t\t\tclass=\"add-btn\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\t@click=\"toggleQuestionModal(true)\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/add-border-icon.svg\" class=\"add-btn-icon\" />\n\t\t\t\t\tadd question\n\t\t\t\t</button>\n\t\t\t\t<AddQuestionModal\n\t\t\t\t\tv-if=\"!selectMode\"\n\t\t\t\t\t:showModal=\"showQuestionModal\"\n\t\t\t\t\t@updateModalState=\"toggleQuestionModal\"\n\t\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t\t:selectedCategory=\"selectedCategory\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div v-else class=\"no-questions\">\n\t\t\t\t<span>No Questions found</span>\n\t\t\t</div>\n\t\t</div>\n\t\t<b-spinner v-if=\"moreLoading\"></b-spinner>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport QuestionListItem from \"./QuestionListItem.vue\";\nimport AddQuestionModal from \"./AddQuestionModal.vue\";\n\nexport default {\n\tname: \"QuestionList\",\n\tdata() {\n\t\treturn {\n\t\t\tshowQuestionModal: false,\n\t\t\tquestionSelected: [],\n\t\t};\n\t},\n\tcomponents: {\n\t\tQuestionListItem,\n\t\tAddQuestionModal,\n\t},\n\tcomputed: {\n\t\t...mapState(\"exam\", [\"totalPages\"]),\n\t},\n\tprops: {\n\t\tquestionList: Array,\n\t\tproductVariantId: String,\n\t\tselectedCategory: Array,\n\t\tsearchText: String,\n\t\tpageSize: Number,\n\t\tcurrentPage: Number,\n\t\tmoreLoading: Boolean,\n\t\tselectMode: { type: Boolean, default: false },\n\t},\n\tmethods: {\n\t\ttoggleQuestionModal(value) {\n\t\t\tif (value !== undefined) {\n\t\t\t\tthis.showQuestionModal = value;\n\t\t\t} else {\n\t\t\t\tthis.showQuestionModal = !this.showQuestionModal;\n\t\t\t}\n\t\t},\n\t},\n\tmounted() {\n\t\t// jQuery(function ($) {\n\t\tvar myDiv = document.getElementById(\"question-list-container\");\n\t\t// console.log(myDiv);\n\t\tmyDiv.addEventListener(\"scroll\", () => {\n\t\t\tif (myDiv.offsetHeight + myDiv.scrollTop >= myDiv.scrollHeight - 5) {\n\t\t\t\t// console.log(\"scrolled to bottom\");\n\t\t\t\tif (this.currentPage < this.totalPages[this.selectedCategory.at(-1).id])\n\t\t\t\t\tthis.$emit(\"fetchMore\", this.currentPage + 1);\n\t\t\t}\n\t\t});\n\t\t// $(\"#question-list-container\").on(\"scroll\", function () {\n\t\t// \tconsole.log(\"scrolling\");\n\t\t// \tif (\n\t\t// \t\t$(this).scrollTop() + $(this).innerHeight() >=\n\t\t// \t\t$(this)[0].scrollHeight\n\t\t// \t) {\n\t\t// \t\talert(\"end reached\");\n\t\t// \t}\n\t\t// });\n\t\t// });\n\t},\n\twatch: {\n\t\tquestionSelected: function () {\n\t\t\tthis.$emit(\"selectQuestions\", this.questionSelected);\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.question-list-container {\n\tpadding: 1rem;\n\tdisplay: flex;\n\tflex-direction: column;\n\trow-gap: 1rem;\n\toverflow-y: auto;\n\tflex-grow: 1;\n}\n\n.no-questions {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-direction: column;\n\tflex-grow: 1;\n\tcolor: var(--color-gray);\n\tfont-size: 1.25rem;\n\trow-gap: 1rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuestionList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuestionList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QuestionList.vue?vue&type=template&id=2926d917&scoped=true&\"\nimport script from \"./QuestionList.vue?vue&type=script&lang=js&\"\nexport * from \"./QuestionList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./QuestionList.vue?vue&type=style&index=0&id=2926d917&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2926d917\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"question-card\"},[_c('div',{staticClass:\"title-container\"},[_c('span',{staticClass:\"question-id text-muted text-bold\"},[_vm._v(_vm._s(_vm.questionData.ID))]),_c('h4',{staticClass:\"question-title\"},[_vm._v(_vm._s(_vm.questionData.QuestionTitle))]),_c('div',{staticClass:\"ms-auto d-flex gap-2 align-items-center\"},[_c('span',{staticClass:\"question-marks text-bold text-muted\"},[_vm._v(\" \"+_vm._s(_vm.questionData.QuestionMarks)+\" \"+_vm._s(parseFloat(_vm.questionData.QuestionMarks) == 1 ? \"mark\" : \"marks\")+\" \")]),_vm._v(\"| \"),_c('span',{staticClass:\"question-difficulty\"},[_vm._v(_vm._s(_vm.questionData.DifficultyLevel))]),_vm._v(\" | \"),_c('div',{staticClass:\"question-type-pill\"},[_vm._v(\" \"+_vm._s(_vm.QuestionTypeText[_vm.questionData.QuestionType.QuestionTypeName])+\" \")])])]),_c('div',{staticClass:\"question-content-container\"},[_c('div',{staticClass:\"d-flex flex-column flex-grow-1 question-content\"},[_c('div',{class:['question-text m-0', { 'show-all': _vm.showAllQuestionText }],domProps:{\"innerHTML\":_vm._s(_vm.questionData.QuestionText)}}),(_vm.questionData.QuestionText.length > 200)?_c('button',{staticClass:\"d-flex align-items-center gap-1 ms-auto text-muted mt-2\",on:{\"click\":_vm.toggleShowAll}},[_vm._v(\" Show \"+_vm._s(_vm.showAllQuestionText ? \"Less\" : \"More\")+\" \"),_c('i',{class:(\"fa fa-caret-\" + (_vm.showAllQuestionText ? 'up' : 'down'))})]):_vm._e()]),(!_vm.selectMode)?_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")},on:{\"click\":_vm.showModal}})]),_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.showDeleteConfirmPopup}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])]):_vm._e(),(_vm.selectMode && _vm.showDelete)?_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('removeQuestion')}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"question-card\">\n\t\t<div class=\"title-container\">\n\t\t\t<span class=\"question-id text-muted text-bold\">{{\n\t\t\t\tquestionData.ID\n\t\t\t}}</span>\n\t\t\t<h4 class=\"question-title\">{{ questionData.QuestionTitle }}</h4>\n\t\t\t<div class=\"ms-auto d-flex gap-2 align-items-center\">\n\t\t\t\t<span class=\"question-marks text-bold text-muted\">\n\t\t\t\t\t{{ questionData.QuestionMarks }}\n\t\t\t\t\t{{\n\t\t\t\t\t\tparseFloat(questionData.QuestionMarks) == 1 ? \"mark\" : \"marks\"\n\t\t\t\t\t}} </span\n\t\t\t\t>|\n\t\t\t\t<span class=\"question-difficulty\">{{\n\t\t\t\t\tquestionData.DifficultyLevel\n\t\t\t\t}}</span>\n\t\t\t\t|\n\t\t\t\t<div class=\"question-type-pill\">\n\t\t\t\t\t{{ QuestionTypeText[questionData.QuestionType.QuestionTypeName] }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"question-content-container\">\n\t\t\t<div class=\"d-flex flex-column flex-grow-1 question-content\">\n\t\t\t\t<div\n\t\t\t\t\tv-html=\"questionData.QuestionText\"\n\t\t\t\t\t:class=\"['question-text m-0', { 'show-all': showAllQuestionText }]\"\n\t\t\t\t></div>\n\t\t\t\t<button\n\t\t\t\t\t@click=\"toggleShowAll\"\n\t\t\t\t\tv-if=\"questionData.QuestionText.length > 200\"\n\t\t\t\t\tclass=\"d-flex align-items-center gap-1 ms-auto text-muted mt-2\"\n\t\t\t\t>\n\t\t\t\t\tShow {{ showAllQuestionText ? \"Less\" : \"More\" }}\n\t\t\t\t\t<i :class=\"`fa fa-caret-${showAllQuestionText ? 'up' : 'down'}`\"></i>\n\t\t\t\t</button>\n\t\t\t\t<!-- <div\n\t\t\t\t\tv-if=\"!viewOnly\"\n\t\t\t\t\tclass=\"d-flex pt-2 mt-2 gap-3 question-actions-container\"\n\t\t\t\t>\n\t\t\t\t\t<button class=\"d-flex align-items-center gap-1\">\n\t\t\t\t\t\tAnswers <i class=\"fa fa-caret-down\"></i>\n\t\t\t\t\t</button>\n\t\t\t\t</div> -->\n\t\t\t</div>\n\t\t\t<div class=\"right-menu\" v-if=\"!selectMode\">\n\t\t\t\t<a role=\"button\" class=\"right-menu-icon\">\n\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" @click=\"showModal\" />\n\t\t\t\t</a>\n\n\t\t\t\t<a\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t@click=\"showDeleteConfirmPopup\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t\t<div class=\"right-menu\" v-if=\"selectMode && showDelete\">\n\t\t\t\t<a\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t@click=\"$emit('removeQuestion')\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { QuestionTypeText } from \"../../../constants/question\";\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"QuestionListItem\",\n\tdata() {\n\t\treturn {\n\t\t\tshowAllQuestionText: false,\n\t\t\tQuestionTypeText,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"exam\", [\"deleteQuestion\"]),\n\t\tshowDeleteConfirmPopup(e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to delete this Question: ${this.questionData.QuestionTitle}?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.questionDelete();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t\tshowModal() {},\n\t\ttoggleShowAll() {\n\t\t\tthis.showAllQuestionText = !this.showAllQuestionText;\n\t\t},\n\t\tquestionDelete() {\n\t\t\tthis.deleteQuestion(this.questionData.ID).then((res) => {\n\t\t\t\tconsole.log(\"Question deleted successfully\");\n\t\t\t});\n\t\t},\n\t},\n\tprops: {\n\t\tselectMode: { type: Boolean, default: false },\n\t\tshowDelete: { type: Boolean, default: false },\n\t\tquestionData: Object,\n\t},\n};\n</script>\n\n<style scoped>\n.question-card {\n\tbackground-color: #fff;\n\tborder: 1px solid #ddd;\n\tborder-radius: 6px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n}\n\n.question-card .title-container {\n\tpadding: 1rem;\n\tborder-bottom: 1px solid #ddd;\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n\talign-items: center;\n}\n\n.question-title {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.question-type-pill {\n\tpadding: 0.25rem 0.75rem;\n\tfont-size: 0.75rem;\n\tborder: 1px solid var(--primary-color);\n\tborder-radius: 1rem;\n\tdisplay: flex;\n}\n\n.question-content-container {\n\tpadding: 1rem;\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n\talign-items: flex-start;\n}\n\n.question-content-container .question-content {\n\toverflow-x: hidden;\n\t/* max-width: 80%; */\n}\n\n.question-content-container .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: flex-start;\n\tcolumn-gap: 1rem;\n\tmargin-left: auto;\n\t/* margin-right: 0.75rem; */\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.question-card:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.right-menu-icon {\n\twidth: 1.75rem;\n\theight: 1.75rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n.right-menu-icon img {\n\twidth: 0.875rem;\n\theight: 0.875rem;\n}\n\n.right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n.question-text {\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 3;\n\t-webkit-box-orient: vertical;\n\toverflow: hidden;\n\ttransition: all 0.3s ease;\n}\n\n.question-text.show-all {\n\t-webkit-line-clamp: unset;\n}\n\n.question-actions-container {\n\tborder-top: 1px solid #eee;\n}\n/* \n.question-difficulty {\n\tcolor: var(--color-warning);\n} */\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuestionListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuestionListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QuestionListItem.vue?vue&type=template&id=f606f57c&scoped=true&\"\nimport script from \"./QuestionListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./QuestionListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./QuestionListItem.vue?vue&type=style&index=0&id=f606f57c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"f606f57c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"categories-column\"},[_c('div',{staticClass:\"search-container\"},[_c('div',{staticClass:\"position-relative w-100\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],staticClass:\"searchbar\",attrs:{\"type\":\"search\",\"placeholder\":\"Search question pool\"},domProps:{\"value\":(_vm.searchText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}}),_vm._m(0)]),(!_vm.selectMode)?_c('a',{staticClass:\"category-options dropdown-toggle\",attrs:{\"data-bs-toggle\":\"dropdown\",\"id\":\"options-dropdown-btn\",\"role\":\"button\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/options-icon.svg\")}})]):_vm._e(),_c('ul',{staticClass:\"dropdown-menu dropdown-menu-end\",attrs:{\"id\":\"options-dropdown\",\"aria-labelledby\":\"dropdownMenuLink\"}},[_c('li',{staticClass:\"options-dropdown-item\",on:{\"click\":function($event){return _vm.toggleCreate(true)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/plus-icon.svg\")}}),_vm._v(\" Create Pool \")])])]),_c('QuestionCategoryList',{attrs:{\"selectedCategory\":_vm.selectedCategory,\"createMode\":_vm.createMode,\"productVariantId\":_vm.productVariantId,\"searchText\":_vm.searchText,\"selectMode\":_vm.selectMode},on:{\"selectCategory\":_vm.selectCategory,\"cancelCreate\":function($event){return _vm.toggleCreate(false)}}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"role\":\"button\"}},[_c('img',{staticClass:\"search-icon\",attrs:{\"src\":require(\"@/assets/images/search-icon.svg\")}})])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"categories-column\">\n\t\t<div class=\"search-container\">\n\t\t\t<div class=\"position-relative w-100\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tclass=\"searchbar\"\n\t\t\t\t\tplaceholder=\"Search question pool\"\n\t\t\t\t\tv-model=\"searchText\"\n\t\t\t\t/>\n\t\t\t\t<a role=\"button\"\n\t\t\t\t\t><img class=\"search-icon\" src=\"@/assets/images/search-icon.svg\"\n\t\t\t\t/></a>\n\t\t\t</div>\n\t\t\t<a\n\t\t\t\tv-if=\"!selectMode\"\n\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\tid=\"options-dropdown-btn\"\n\t\t\t\tclass=\"category-options dropdown-toggle\"\n\t\t\t\trole=\"button\"\n\t\t\t\t><img src=\"@/assets/images/options-icon.svg\" />\n\t\t\t</a>\n\t\t\t<ul\n\t\t\t\tid=\"options-dropdown\"\n\t\t\t\tclass=\"dropdown-menu dropdown-menu-end\"\n\t\t\t\taria-labelledby=\"dropdownMenuLink\"\n\t\t\t>\n\t\t\t\t<li @click=\"toggleCreate(true)\" class=\"options-dropdown-item\">\n\t\t\t\t\t<img src=\"@/assets/images/plus-icon.svg\" /> Create Pool\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<!-- <button>\n\t\t\t\t<img src=\"@/assets/images/options-icon.svg\" />\n\t\t\t</button> -->\n\t\t</div>\n\t\t<QuestionCategoryList\n\t\t\t@selectCategory=\"selectCategory\"\n\t\t\t:selectedCategory=\"selectedCategory\"\n\t\t\t:createMode=\"createMode\"\n\t\t\t@cancelCreate=\"toggleCreate(false)\"\n\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t:searchText=\"searchText\"\n\t\t\t:selectMode=\"selectMode\"\n\t\t/>\n\t</div>\n</template>\n\n<script>\nimport QuestionCategoryList from \"../Question/QuestionCategoryList.vue\";\n\nexport default {\n\tname: \"CategoriesColumn\",\n\tdata() {\n\t\treturn {\n\t\t\tcreateMode: false,\n\t\t\tsearchText: \"\",\n\t\t};\n\t},\n\tcomponents: {\n\t\tQuestionCategoryList,\n\t},\n\tmethods: {\n\t\tselectCategory(category) {\n\t\t\tthis.$emit(\"selectCategory\", category);\n\t\t},\n\t\ttoggleCreate(value) {\n\t\t\tif (value !== undefined) {\n\t\t\t\t// this.createMode = value;\n\t\t\t\tif (value) {\n\t\t\t\t\tthis.createMode = value;\n\t\t\t\t\tsetTimeout(() => $(\"input#categoryName\").focus(), 100);\n\t\t\t\t} else {\n\t\t\t\t\tsetTimeout(() => (this.createMode = value), 300);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.createMode = !this.createMode;\n\t\t\t\tif (this.createMode)\n\t\t\t\t\tsetTimeout(() => $(\"input#categoryName\").focus(), 100);\n\t\t\t}\n\t\t},\n\t},\n\tprops: {\n\t\tselectedCategory: Array,\n\t\tproductVariantId: String,\n\t\tselectMode: { type: Boolean, default: false },\n\t},\n};\n</script>\n\n<style scoped>\n.categories-column {\n\twidth: 25%;\n\tdisplay: flex;\n\tborder-right: 1px solid #ddd;\n\tflex-direction: column;\n}\n\n.categories-column .search-container {\n\tpadding: 1rem;\n\tbackground-color: #f9f9f9;\n\t/* border-bottom: 1px solid #ddd; */\n\tborder-radius: 0.5rem 0 0 0;\n\tdisplay: flex;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\theight: 4.625rem;\n}\n\n.search-container .searchbar {\n\tborder: 1px solid #ddd;\n\tpadding: 0.5rem 0.75rem;\n\twidth: 100%;\n\tborder-radius: 0.5rem;\n}\n\n.search-icon {\n\tposition: absolute;\n\tmargin-right: 1rem;\n\tright: 0;\n\twidth: 1.375rem;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n}\n\n.category-options {\n\twidth: 1.875rem;\n\theight: 1.875rem;\n\tbackground: #ebebeb;\n\tborder-radius: 50%;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-shrink: 0;\n\tmargin-left: auto;\n}\n\n.category-options::after {\n\tdisplay: none !important;\n}\n\n.options-dropdown-item {\n\tpadding: 0.75rem 1rem;\n\tcursor: pointer;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolor: #000000;\n\tcolumn-gap: 0.75rem;\n}\n\n.options-dropdown-item:hover {\n\tbackground-color: #ebebeb;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CategoriesColumn.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CategoriesColumn.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CategoriesColumn.vue?vue&type=template&id=9a0fa9ee&scoped=true&\"\nimport script from \"./CategoriesColumn.vue?vue&type=script&lang=js&\"\nexport * from \"./CategoriesColumn.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CategoriesColumn.vue?vue&type=style&index=0&id=9a0fa9ee&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"9a0fa9ee\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"question-bank-container\"},[_c('div',{staticClass:\"bank-container\"},[_c('CategoriesColumn',{attrs:{\"selectedCategory\":_vm.selectedCategory,\"productVariantId\":_vm.productVariantId},on:{\"selectCategory\":_vm.selectCategory}}),_c('QuestionsColumn',{attrs:{\"selectedCategory\":_vm.selectedCategory,\"productVariantId\":_vm.productVariantId}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"question-bank-container\">\n\t\t<div class=\"bank-container\">\n\t\t\t<CategoriesColumn\n\t\t\t\t@selectCategory=\"selectCategory\"\n\t\t\t\t:selectedCategory=\"selectedCategory\"\n\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t/>\n\t\t\t<QuestionsColumn\n\t\t\t\t:selectedCategory=\"selectedCategory\"\n\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t/>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport CategoriesColumn from \"./CategoriesColumn.vue\";\nimport QuestionsColumn from \"./QuestionsColumn.vue\";\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"CourseQuestionBank\",\n\tdata() {\n\t\treturn {\n\t\t\tselectedCategory: [],\n\t\t};\n\t},\n\tcomponents: {\n\t\tCategoriesColumn,\n\t\tQuestionsColumn,\n\t},\n\tmethods: {\n\t\t...mapActions(\"exam\", [\n\t\t\t\"fetchQuestionCategories\",\n\t\t\t\"createQuestionCategory\",\n\t\t]),\n\t\tselectCategory(category) {\n\t\t\tthis.selectedCategory = category;\n\t\t},\n\t},\n\tprops: {\n\t\tproductVariantData: Object,\n\t\tproductVariantId: String,\n\t},\n\tcomputed: {\n\t\t...mapState(\"exam\", [\"questionCategories\"]),\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\t},\n\twatch: {\n\t\tselectedCategory: function (newVal, oldVal) {\n\t\t\tif (this.selectedCategory) {\n\t\t\t\tvar selected = [...this.selectedCategory];\n\t\t\t\t// selected.reverse();\n\t\t\t\tconsole.log(selected);\n\t\t\t\tif (selected.length > 0) {\n\t\t\t\t\tvar queryString = \"\";\n\t\t\t\t\tselected.forEach((cat, index) => {\n\t\t\t\t\t\tqueryString +=\n\t\t\t\t\t\t\t`${index != 0 ? \"_\" : \"\"}` + `${cat.id}$${cat.categoryName}`;\n\t\t\t\t\t});\n\t\t\t\t\t// console.log(queryString);\n\t\t\t\t\tif (queryString != this.$route.query.pool)\n\t\t\t\t\t\tthis.$router.push({\n\t\t\t\t\t\t\tpath: \"questionbank\",\n\t\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\t\tpool: queryString,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.$router.push({\n\t\t\t\t\t\tpath: \"questionbank\",\n\t\t\t\t\t\tquery: null,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tcreated() {\n\t\tif (!this.questionCategories[this.productVariantId]) {\n\t\t\tthis.fetchQuestionCategories({\n\t\t\t\tproductVariantID: this.productVariantId,\n\t\t\t\tcategoryID: null,\n\t\t\t}).then((res) => {\n\t\t\t\tif (res == null) {\n\t\t\t\t\tconsole.log(res, \"res is null\");\n\t\t\t\t\tvar productVariantName =\n\t\t\t\t\t\tthis.productVariants.items[this.productVariantId].title;\n\t\t\t\t\tconsole.log(productVariantName);\n\t\t\t\t\tvar createCategoryObject = {\n\t\t\t\t\t\tcategoryName: productVariantName,\n\t\t\t\t\t\tparentID: null,\n\t\t\t\t\t\tsourceID: this.productVariantId,\n\t\t\t\t\t};\n\t\t\t\t\tthis.createQuestionCategory(createCategoryObject).then((res) => {\n\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\tthis.fetchQuestionCategories({\n\t\t\t\t\t\t\t\tproductVariantID: this.productVariantId,\n\t\t\t\t\t\t\t\tcategoryID: this.selectedCategory.at(-1)\n\t\t\t\t\t\t\t\t\t? this.selectedCategory.at(-1).id\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (this.$route.query && this.$route.query.pool) {\n\t\t\tif (this.questionCategories[this.productVariantId]) {\n\t\t\t\tvar selectedCategory = this.$route.query.pool.split(\"_\");\n\t\t\t\tselectedCategory = selectedCategory.map((cat) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: cat.split(\"$\")[0],\n\t\t\t\t\t\tcategoryName: cat.split(\"$\")[1],\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\t// selectedCategory.reverse();\n\t\t\t\tthis.selectedCategory = selectedCategory;\n\t\t\t} else {\n\t\t\t\tthis.fetchQuestionCategories({\n\t\t\t\t\tproductVariantID: this.productVariantId,\n\t\t\t\t\tcategoryID: null,\n\t\t\t\t}).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tif (this.$route.query && this.$route.query.pool) {\n\t\t\t\t\t\t\tvar selectedCategory = this.$route.query.pool.split(\"_\");\n\t\t\t\t\t\t\tselectedCategory = selectedCategory.map((cat) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tid: cat.split(\"$\")[0],\n\t\t\t\t\t\t\t\t\tcategoryName: cat.split(\"$\")[1],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t// selectedCategory.reverse();\n\t\t\t\t\t\t\tthis.selectedCategory = selectedCategory;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n};\n</script>\n\n<style scoped>\n.question-bank-container {\n\tbackground-color: #f5f5f5;\n\theight: calc(100vh - 5rem);\n\tpadding: 1.875rem;\n\toverflow-y: auto;\n}\n\n.title-container {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.page-title {\n\tfont-weight: 500;\n\tfont-size: 1.25rem;\n\tline-height: 1.5rem;\n\tcolor: #000000;\n\tdisplay: inline-block;\n\tmargin: 0;\n}\n\n.bank-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tbackground-color: #fff;\n\tborder-radius: 0.5rem;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\theight: calc(100vh - 9rem);\n\tborder: 1px solid #ddd;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseQuestionBank.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseQuestionBank.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourseQuestionBank.vue?vue&type=template&id=60f919d0&scoped=true&\"\nimport script from \"./CourseQuestionBank.vue?vue&type=script&lang=js&\"\nexport * from \"./CourseQuestionBank.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CourseQuestionBank.vue?vue&type=style&index=0&id=60f919d0&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"60f919d0\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"questions-column\"},[_c('div',{staticClass:\"top-bar\"},[(_vm.selectedCategory && _vm.selectedCategory.length > 0)?_c('div',{staticClass:\"question-heading\"},_vm._l((_vm.selectedCategory),function(category,index){return _c('div',{key:index,staticClass:\"heading-item\"},[_c('span',{staticClass:\"text\"},[_vm._v(_vm._s(category.categoryName))]),(index != _vm.selectedCategory.length - 1)?_c('img',{staticClass:\"caret-icon\",attrs:{\"src\":require(\"@/assets/images/caret-down.svg\")}}):_vm._e()])}),0):_c('div',{staticClass:\"question-heading\"},[_c('div',{staticClass:\"heading-item\"},[_vm._v(\"Uncategorized Questions\")])]),_c('div',{staticClass:\"menu-container flex-shrink-0\"},[_c('div',{staticClass:\"position-relative\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.questionSearchText),expression:\"questionSearchText\"}],staticClass:\"searchbar\",attrs:{\"type\":\"search\",\"placeholder\":\"Search question\"},domProps:{\"value\":(_vm.questionSearchText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.questionSearchText=$event.target.value}}}),_vm._m(0)]),(!_vm.selectMode)?_c('a',{staticClass:\"add-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.toggleQuestionModal(true)}}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\")}}),_vm._v(\" add question \")]):_vm._e(),(!_vm.selectMode)?_c('AddQuestionModal',{attrs:{\"showModal\":_vm.showQuestionModal,\"productVariantId\":_vm.productVariantId,\"selectedCategory\":_vm.selectedCategory},on:{\"updateModalState\":_vm.toggleQuestionModal}}):_vm._e()],1)]),_c('QuestionList',{attrs:{\"questionList\":_vm.filteredQuestions,\"productVariantId\":_vm.productVariantId,\"selectedCategory\":_vm.selectedCategory,\"searchText\":_vm.questionSearchText,\"pageSize\":_vm.pageSize,\"currentPage\":_vm.currentPage,\"moreLoading\":_vm.moreLoading,\"selectMode\":_vm.selectMode},on:{\"fetchMore\":_vm.updateCurrentPage,\"selectQuestions\":_vm.selectQuestions}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"role\":\"button\"}},[_c('img',{staticClass:\"search-icon\",attrs:{\"src\":require(\"@/assets/images/search-icon.svg\")}})])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"questions-column\">\n\t\t<div class=\"top-bar\">\n\t\t\t<div\n\t\t\t\tclass=\"question-heading\"\n\t\t\t\tv-if=\"selectedCategory && selectedCategory.length > 0\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"heading-item\"\n\t\t\t\t\tv-for=\"(category, index) in selectedCategory\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"text\">{{ category.categoryName }}</span>\n\t\t\t\t\t<img\n\t\t\t\t\t\tv-if=\"index != selectedCategory.length - 1\"\n\t\t\t\t\t\tsrc=\"@/assets/images/caret-down.svg\"\n\t\t\t\t\t\tclass=\"caret-icon\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"question-heading\" v-else>\n\t\t\t\t<div class=\"heading-item\">Uncategorized Questions</div>\n\t\t\t</div>\n\n\t\t\t<div class=\"menu-container flex-shrink-0\">\n\t\t\t\t<div class=\"position-relative\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tclass=\"searchbar\"\n\t\t\t\t\t\tplaceholder=\"Search question\"\n\t\t\t\t\t\tv-model=\"questionSearchText\"\n\t\t\t\t\t/>\n\t\t\t\t\t<a role=\"button\"\n\t\t\t\t\t\t><img class=\"search-icon\" src=\"@/assets/images/search-icon.svg\"\n\t\t\t\t\t/></a>\n\t\t\t\t</div>\n\t\t\t\t<a\n\t\t\t\t\tv-if=\"!selectMode\"\n\t\t\t\t\tclass=\"add-btn\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\t@click=\"toggleQuestionModal(true)\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/add-border-icon.svg\" class=\"add-btn-icon\" />\n\t\t\t\t\tadd question\n\t\t\t\t</a>\n\t\t\t\t<AddQuestionModal\n\t\t\t\t\tv-if=\"!selectMode\"\n\t\t\t\t\t:showModal=\"showQuestionModal\"\n\t\t\t\t\t@updateModalState=\"toggleQuestionModal\"\n\t\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t\t:selectedCategory=\"selectedCategory\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t\t<QuestionList\n\t\t\t:questionList=\"filteredQuestions\"\n\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t:selectedCategory=\"selectedCategory\"\n\t\t\t:searchText=\"questionSearchText\"\n\t\t\t@fetchMore=\"updateCurrentPage\"\n\t\t\t:pageSize=\"pageSize\"\n\t\t\t:currentPage=\"currentPage\"\n\t\t\t:moreLoading=\"moreLoading\"\n\t\t\t:selectMode=\"selectMode\"\n\t\t\t@selectQuestions=\"selectQuestions\"\n\t\t/>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport QuestionList from \"../Question/QuestionList.vue\";\nimport AddQuestionModal from \"../Question/AddQuestionModal.vue\";\nexport default {\n\tname: \"QuestionsColumn\",\n\tdata() {\n\t\treturn {\n\t\t\tquestionSearchText: \"\",\n\t\t\tshowQuestionModal: false,\n\t\t\tpageSize: 5,\n\t\t\tcurrentPage: 1,\n\t\t\tmoreLoading: false,\n\t\t};\n\t},\n\tcomponents: {\n\t\tQuestionList,\n\t\tAddQuestionModal,\n\t},\n\tprops: {\n\t\tselectedCategory: Array,\n\t\tproductVariantId: String,\n\t\tselectMode: { type: Boolean, default: false },\n\t},\n\tcomputed: {\n\t\t...mapState(\"exam\", [\"questionCategories\", \"allQuestions\"]),\n\t\tfilteredQuestions() {\n\t\t\tif (\n\t\t\t\tthis.selectedCategory &&\n\t\t\t\tthis.selectedCategory.length > 0 &&\n\t\t\t\tthis.allQuestions &&\n\t\t\t\tthis.allQuestions.length > 0\n\t\t\t) {\n\t\t\t\treturn this.allQuestions.filter(\n\t\t\t\t\t(question) =>\n\t\t\t\t\t\tquestion.Categories.findIndex(\n\t\t\t\t\t\t\t(cat) => cat.ID == this.selectedCategory.at(-1).id\n\t\t\t\t\t\t) != -1 &&\n\t\t\t\t\t\t((question.id || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.questionSearchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t\t(question.questionTitle || \"\")\n\t\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t\t.indexOf(this.questionSearchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t\t(question.questionText || \"\")\n\t\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t\t.indexOf(this.questionSearchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t\t(question.requirementsText || \"\")\n\t\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t\t.indexOf(this.questionSearchText.toLocaleLowerCase()) > -1)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn this.allQuestions.filter(\n\t\t\t\t\t(question) =>\n\t\t\t\t\t\tquestion.Categories.findIndex(\n\t\t\t\t\t\t\t(cat) =>\n\t\t\t\t\t\t\t\tcat.ID == this.questionCategories[this.productVariantId].root.id\n\t\t\t\t\t\t) != -1 &&\n\t\t\t\t\t\t((question.id || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.questionSearchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t\t(question.questionTitle || \"\")\n\t\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t\t.indexOf(this.questionSearchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t\t(question.questionText || \"\")\n\t\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t\t.indexOf(this.questionSearchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t\t(question.requirementsText || \"\")\n\t\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t\t.indexOf(this.questionSearchText.toLocaleLowerCase()) > -1)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"exam\", [\"fetchQuestions\"]),\n\t\t// categoryName(category) {\n\t\t// \tif (category && category.length > 1) {\n\t\t// \t\tvar childCategory = category.at(-1);\n\t\t// \t\tvar parentCategory = childCategory.parentID;\n\n\t\t// \t}\n\t\t// \treturn this.questionCategories[id].categoryName;\n\t\t// },\n\t\ttoggleQuestionModal(value) {\n\t\t\tif (value !== undefined) {\n\t\t\t\tthis.showQuestionModal = value;\n\t\t\t} else {\n\t\t\t\tthis.showQuestionModal = !this.showQuestionModal;\n\t\t\t}\n\t\t},\n\t\tupdateCurrentPage(value) {\n\t\t\tthis.currentPage = value;\n\t\t},\n\t\tselectQuestions(selectedQuestions) {\n\t\t\tthis.$emit(\"selectQuestions\", selectedQuestions);\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.fetchQuestions({\n\t\t\tproductVariantID: this.productVariantId,\n\t\t\tcategoryID: this.selectedCategory.at(-1)\n\t\t\t\t? this.selectedCategory.at(-1).id\n\t\t\t\t: null,\n\t\t\tpageSize: this.pageSize,\n\t\t\tcurrentPage: this.currentPage,\n\t\t}).then((res) => console.log(res));\n\t},\n\twatch: {\n\t\tselectedCategory: function (newValue, oldValue) {\n\t\t\tthis.pageSize = 5;\n\t\t\tthis.currentPage = 1;\n\t\t\tif (this.selectedCategory.length > 0) {\n\t\t\t\tvar found = this.allQuestions.find((q) => {\n\t\t\t\t\tif (q.Categories[0].ID == this.selectedCategory.at(-1).id) {\n\t\t\t\t\t\treturn q;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (!found) {\n\t\t\t\t\tthis.fetchQuestions({\n\t\t\t\t\t\tproductVariantID: this.productVariantId,\n\t\t\t\t\t\tcategoryID: this.selectedCategory.at(-1)\n\t\t\t\t\t\t\t? this.selectedCategory.at(-1).id\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tpageSize: this.pageSize,\n\t\t\t\t\t\tcurrentPage: this.currentPage,\n\t\t\t\t\t}).then((res) => console.log(res));\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcurrentPage: function () {\n\t\t\tthis.moreLoading = true;\n\t\t\tthis.fetchQuestions({\n\t\t\t\tproductVariantID: this.productVariantId,\n\t\t\t\tcategoryID: this.selectedCategory.at(-1)\n\t\t\t\t\t? this.selectedCategory.at(-1).id\n\t\t\t\t\t: null,\n\t\t\t\tpageSize: this.pageSize,\n\t\t\t\tcurrentPage: this.currentPage,\n\t\t\t}).then((res) => console.log(res), (this.moreLoading = false));\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.questions-column {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 75%;\n}\n\n.top-bar {\n\tpadding: 1rem;\n\tbackground-color: #f9f9f9;\n\tfont-size: 1rem;\n\t/* border-bottom: 1px solid #ddd; */\n\tdisplay: flex;\n\tborder-radius: 0 0.5rem 0 0;\n\tjustify-content: space-between;\n\talign-items: center;\n\theight: 4.625rem;\n}\n\n.question-heading {\n\tfont-size: 1.125rem;\n\tline-height: 1;\n\tvertical-align: middle;\n\t/* font-weight: 500; */\n\tdisplay: flex;\n\talign-items: center;\n\tcolumn-gap: 0.25rem;\n}\n\n.top-bar .searchbar {\n\tborder: 1px solid #ddd;\n\tpadding: 0.5rem 0.75rem;\n\twidth: 100%;\n\tborder-radius: 0.5rem;\n\tfont-size: 1rem;\n}\n\n.search-icon {\n\tposition: absolute;\n\tmargin-right: 1rem;\n\tright: 0;\n\twidth: 1.375rem;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n}\n\n.menu-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n\talign-items: center;\n}\n\n.add-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0.625rem 1rem;\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.875rem;\n\tline-height: 1rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\ttext-decoration: none;\n\ttransition: all 0.3s ease;\n}\n\n.add-btn:hover {\n\tbox-shadow: 4px 6px 5px 0px rgb(197 197 197 / 20%);\n}\n\n.add-btn-icon {\n\tmargin-right: 0.625rem;\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.question-heading .caret-icon {\n\ttransform: rotate(-90deg);\n}\n\n.question-heading .heading-item {\n\tdisplay: flex;\n\talign-items: center;\n\tcolumn-gap: 0.25rem;\n}\n\n.question-heading .heading-item:last-of-type .text {\n\tcolor: var(--primary-color);\n}\n.question-heading .heading-item:first-of-type .text {\n\tcolor: #000000;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuestionsColumn.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuestionsColumn.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QuestionsColumn.vue?vue&type=template&id=02b69763&scoped=true&\"\nimport script from \"./QuestionsColumn.vue?vue&type=script&lang=js&\"\nexport * from \"./QuestionsColumn.vue?vue&type=script&lang=js&\"\nimport style0 from \"./QuestionsColumn.vue?vue&type=style&index=0&id=02b69763&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"02b69763\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isAuthenticationProcessed)?_c('div',{staticClass:\"text-center p-5 \",staticStyle:{\"width\":\"100%\",\"position\":\"absolute\"}},[_c('img',{attrs:{\"src\":require(\"../../../assets/images/zoom-logo.png\")}}),_c('h2',{staticClass:\"mb-3 mt-3\"},[_vm._v(\"Connect Zoom Account\")]),_c('center',[_c('h6',{staticClass:\"mb-3\",staticStyle:{\"text-align\":\"left\",\"max-width\":\"500px\"}},[_vm._v(\" To connect Zoom account, log into your Zoom Developer Account and create a new server to server OAuth app. Once created, locate the \\\"Client ID\\\", \\\"Client Secret\\\", \\\"Secret Token\\\" and \\\"Account ID\\\" within the app settings. And allowed necessary scopes. Follow these steps while referring to this \"),_c('a',{attrs:{\"href\":\"https://lms-files.techsol360.com/LMS_Zoom_Account_Integration_Process.pdf\"}},[_vm._v(\"tutorial document\")])]),_c('div',{staticStyle:{\"max-width\":\"350px\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.zoomOAuthObj.email),expression:\"zoomOAuthObj.email\"}],staticClass:\"search-input mt-3\",attrs:{\"autocomplete\":\"off\",\"type\":\"search\",\"placeholder\":\"Enter Zoom Email\"},domProps:{\"value\":(_vm.zoomOAuthObj.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.zoomOAuthObj, \"email\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.zoomOAuthObj.accountId),expression:\"zoomOAuthObj.accountId\"}],staticClass:\"search-input mt-3\",attrs:{\"autocomplete\":\"off\",\"type\":\"search\",\"placeholder\":\"Enter Zoom AccountId\"},domProps:{\"value\":(_vm.zoomOAuthObj.accountId)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.zoomOAuthObj, \"accountId\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.zoomOAuthObj.clientId),expression:\"zoomOAuthObj.clientId\"}],staticClass:\"search-input mt-3\",attrs:{\"autocomplete\":\"off\",\"type\":\"search\",\"placeholder\":\"Enter Zoom Client ID\"},domProps:{\"value\":(_vm.zoomOAuthObj.clientId)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.zoomOAuthObj, \"clientId\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.zoomOAuthObj.clientSecret),expression:\"zoomOAuthObj.clientSecret\"}],staticClass:\"search-input mt-3\",attrs:{\"autocomplete\":\"off\",\"type\":\"search\",\"placeholder\":\"Enter Zoom Client Secret\"},domProps:{\"value\":(_vm.zoomOAuthObj.clientSecret)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.zoomOAuthObj, \"clientSecret\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.zoomOAuthObj.secretToken),expression:\"zoomOAuthObj.secretToken\"}],staticClass:\"search-input mt-3 mb-3\",attrs:{\"autocomplete\":\"off\",\"type\":\"search\",\"placeholder\":\"Enter Zoom Event Secret Token\"},domProps:{\"value\":(_vm.zoomOAuthObj.secretToken)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.zoomOAuthObj, \"secretToken\", $event.target.value)}}}),(_vm.error)?_c('p',{staticClass:\"text-danger mb-2\"},[_vm._v(_vm._s(_vm.error))]):_vm._e(),_c('button',{staticClass:\"connect-btn step-btn mb-3\",on:{\"click\":_vm.connectServerToServerOAuth}},[_vm._v(\"Connect\")])])])],1):(_vm.isAuthenticationProcessed)?_c('div',{staticClass:\"ms-5 pt-5\"},[_c('img',{attrs:{\"src\":require(\"../../../assets/images/zoom-logo.png\")}}),_vm._m(0),(_vm.message)?_c('h5',[_vm._v(_vm._s(_vm.message))]):_vm._e(),(_vm.error)?_c('h5',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.error))]):_vm._e()]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{staticClass:\"pb-5 mt-1\"},[_vm._v(\"Account Connecting\"),_c('br'),_c('small',[_vm._v(\"Redirecting...\")])])}]\n\nexport { render, staticRenderFns }","<template>\n  <div v-if=\"!isAuthenticationProcessed\" class=\"text-center p-5 \" style=\"width: 100%; position: absolute;\">\n    <img src=\"../../../assets/images/zoom-logo.png\"/>\n    <h2 class=\"mb-3 mt-3\">Connect Zoom Account</h2>\n   \n    <center>\n      <h6 style=\"text-align: left; max-width: 500px;\" class=\"mb-3\">   To connect Zoom account, log into your Zoom Developer Account and create a new server to server OAuth app. Once created, locate the \"Client ID\", \"Client Secret\", \"Secret Token\" and \"Account ID\" within the app settings. And allowed necessary scopes.\n        Follow these steps while referring to this <a href=\"https://lms-files.techsol360.com/LMS_Zoom_Account_Integration_Process.pdf\">tutorial document</a>\n      </h6>\n      <div style=\"max-width: 350px;\">\n        <input\n          v-model=\"zoomOAuthObj.email\"\n          autocomplete=\"off\"\n          type=\"search\"\n          placeholder=\"Enter Zoom Email\"\n          class=\"search-input mt-3\"\n        />\n        <input\n          v-model=\"zoomOAuthObj.accountId\"\n          autocomplete=\"off\"\n          type=\"search\"\n          placeholder=\"Enter Zoom AccountId\"\n          class=\"search-input mt-3\"\n        />\n\n        <input\n          v-model=\"zoomOAuthObj.clientId\"\n          autocomplete=\"off\"\n          type=\"search\"\n          placeholder=\"Enter Zoom Client ID\"\n          class=\"search-input mt-3\"\n        />\n        <input\n          v-model=\"zoomOAuthObj.clientSecret\"\n          autocomplete=\"off\"\n          type=\"search\"\n          placeholder=\"Enter Zoom Client Secret\"\n          class=\"search-input mt-3\"\n        />\n        <input\n          v-model=\"zoomOAuthObj.secretToken\"\n          autocomplete=\"off\"\n          type=\"search\"\n          placeholder=\"Enter Zoom Event Secret Token\"\n          class=\"search-input mt-3 mb-3\"\n        />\n        <p v-if=\"error\" class=\"text-danger mb-2\">{{ error }}</p>\n        <button @click=\"connectServerToServerOAuth\" class=\"connect-btn step-btn mb-3\">Connect</button>\n        <!-- <h6>Or</h6>\n        <button @click=\"makeOAuthServiceConnection\" class=\"step-btn mb-3\"> \n          <i  style=\"color: #2D8CFF; font-weight: bold;\" class=\"fa fa-video\"></i>\n           Continue With <span style=\"color: #2D8CFF; font-weight: bold;\"> Zoom </span></button> -->\n      </div>\n    </center>\n  </div>\n  <div v-else-if=\"isAuthenticationProcessed\" class=\"ms-5 pt-5\">\n    <img src=\"../../../assets/images/zoom-logo.png\"/>\n    <h2 class=\"pb-5 mt-1\">Account Connecting<br/><small>Redirecting...</small></h2>\n      <h5 v-if=\"message\">{{ message }}</h5>\n      <h5 v-if=\"error\" class=\"text-danger\">{{ error }}</h5>\n    \n  </div>\n  \n</template>\n\n<script>\nimport {mapActions, mapState} from \"vuex\";\n\nexport default {\n  name: \"ZoomOAuthService\",\n  data() {\n    return {\n      message: undefined,\n      error: undefined,\n      isRedirected:false,\n      isAuthenticationProcessed:false,\n      zoomOAuthObj:{\n        type:\"s2s\",\n        clientId:\"\",\n        clientSecret:\"\",\n        accountId:\"\",\n        secretToken:\"\",\n        email:null\n      }\n    };\n  },\n  computed: {\n    \n  },\n  methods: {\n\t\t...mapActions(\"appState\", [\"createExternalServices\"]),\t\n    makeOAuthServiceConnection(){\n      this.error=null;\n      this.isAuthenticationProcessed=true;\n      this.createExternalServices({ type: \"liveclass\", provider: \"zoom\", data: { redirecturl: `${window.location.origin}/service/zoom` } }).then((response) => {\n        if (response && response.payload && response.payload.redirectUrl) {\n          if (this.isRedirected == false) {\n            this.isRedirected = true;\n            window.location.href = response.payload.redirectUrl;\n\n          }\n        } else {\n          this.error = \"Some error occurred. ERR_CODE: 001.\"\n          setTimeout(function(){\n            window.close();\n          },1000);\n        }\n      });\n    },\n    connectServerToServerOAuth(){\n      this.error=null;\n      if(this.zoomOAuthObj && \n      this.zoomOAuthObj.email && \n      this.zoomOAuthObj.clientId && \n      this.zoomOAuthObj.clientSecret && \n      this.zoomOAuthObj.secretToken && \n      this.zoomOAuthObj.accountId)\n      {\n        \n        this.isAuthenticationProcessed=true;\n        this.createExternalServices({ type: \"liveclass\", provider: \"zoom\", data: this.zoomOAuthObj}).then((response) => {\n          if (response && response.error && response.error.message) {\n            this.isAuthenticationProcessed = false;\n            this.error = response.error.message;\n            return;\n          }\n\n          if (response) {     \n            if (window.opener.beforeCloseCallback) {\n              window.opener.beforeCloseCallback();\n            }\n            window.close();\n          } else {\n            this.isAuthenticationProcessed=false;\n            this.error = \"Some error occured. ERR_CODE: 002\";\n          }\n\n        }).catch((response) => {\n            this.isAuthenticationProcessed=false;\n            this.error = \"Some error cccured. ERR_CODE: 003\";\n        });\n        \n      }else{\n        this.error=\"Please fill all the fields\";\n      }\n    }\n  },\n  created() {\n    let action = this.$route.query.action;\n    if (action && action.toLowerCase() == \"postservice\") {\n      this.isAuthenticationProcessed=true;\n      let status = this.$route.query.status;\n      if(status.toLowerCase()==\"success\")\n      {\n        if(window.opener.beforeCloseCallback)\n        {\n          window.opener.beforeCloseCallback();\n        }\n        window.close();\n      }else\n      {\n        this.error==this.$route.query.message??\"Some Error Occured\";        \n      }\n    }\n    else {\n      //this.makeOAuthServiceConnection();\n    }\n  }\n}\n</script>\n\n<style scoped>\n.search-input {\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.5rem 0.75rem;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: #000000;\n\tfont-size: 1.5rem;\n\tcolumn-gap: 0.75rem;\n\tposition: relative;\n\toutline: none;\n}\n.connect-btn{\n  background-color: #2D8CFF;\n  border: #2D8CFF;\n  color: #ffffff;\n  font-size: small;\n\n}\n.step-btn{\n  width: 100%;  \n}\n</style>","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ZoomOAuthService.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ZoomOAuthService.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoomOAuthService.vue?vue&type=template&id=6501b3a9&scoped=true&\"\nimport script from \"./ZoomOAuthService.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoomOAuthService.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZoomOAuthService.vue?vue&type=style&index=0&id=6501b3a9&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6501b3a9\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"assign-trainer-dropdown dropdown-menu dropdown-menu-end\",attrs:{\"aria-labelledby\":\"dropdownMenuLink\",\"id\":(\"assign-trainer-\" + _vm.productVariantId)}},[_vm._m(0),_c('div',{staticClass:\"content-container\",attrs:{\"id\":\"content-container\"},on:{\"click\":function (e) {\n\t\t\t\te.stopPropagation();\n\t\t\t}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],staticClass:\"trainer-email-input\",attrs:{\"type\":\"search\",\"name\":\"trainer-email\",\"placeholder\":\"Type name or email of trainer...\",\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.searchText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}}),_c('div',{staticClass:\"trainer-list-container\"},[_c('ul',{staticClass:\"all-trainers-list\"},_vm._l((_vm.filteredTrainers),function(item){return _c('TrainerPermissionsListItem',{key:item.id,attrs:{\"trainerData\":item,\"trainersList\":_vm.trainersList,\"productVariantId\":_vm.productVariantId},on:{\"editPermissions\":_vm.updatePermissions,\"checkboxToggle\":_vm.checkboxToggle}})}),1)]),_c('button',{staticClass:\"assign-trainer-btn in-dropdown\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.assignTrainersToContent}},[_vm._v(\" \"+_vm._s(_vm.areTrainersAssigned ? \"update\" : \"assign\")+\" \")])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown-title-container\"},[_c('h1',{staticClass:\"dropdown-title\"},[_vm._v(\"Find your trainer\")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<!-- <div class=\"assign-btn-container\">\n\t\t<button\n\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\tclass=\"assign-trainer-btn dropdown-toggle\"\n\t\t\trole=\"button\"\n\t\t\tid=\"assign-trainer-btn\"\n\t\t>\n\t\t\tassign\n\t\t</button> -->\n\t<div\n\t\taria-labelledby=\"dropdownMenuLink\"\n\t\t:id=\"`assign-trainer-${productVariantId}`\"\n\t\tclass=\"assign-trainer-dropdown dropdown-menu dropdown-menu-end\"\n\t>\n\t\t<div class=\"dropdown-title-container\">\n\t\t\t<h1 class=\"dropdown-title\">Find your trainer</h1>\n\t\t</div>\n\t\t<div\n\t\t\t@click=\"\n\t\t\t\t(e) => {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t}\n\t\t\t\"\n\t\t\tid=\"content-container\"\n\t\t\tclass=\"content-container\"\n\t\t>\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tname=\"trainer-email\"\n\t\t\t\tclass=\"trainer-email-input\"\n\t\t\t\tplaceholder=\"Type name or email of trainer...\"\n\t\t\t\tv-model=\"searchText\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t/>\n\t\t\t<div class=\"trainer-list-container\">\n\t\t\t\t<ul class=\"all-trainers-list\">\n\t\t\t\t\t<TrainerPermissionsListItem\n\t\t\t\t\t\tv-for=\"item in filteredTrainers\"\n\t\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t\t:trainerData=\"item\"\n\t\t\t\t\t\t@editPermissions=\"updatePermissions\"\n\t\t\t\t\t\t:trainersList=\"trainersList\"\n\t\t\t\t\t\t@checkboxToggle=\"checkboxToggle\"\n\t\t\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t\t/>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<button\n\t\t\t\t@click=\"assignTrainersToContent\"\n\t\t\t\tclass=\"assign-trainer-btn in-dropdown\"\n\t\t\t\trole=\"button\"\n\t\t\t>\n\t\t\t\t{{ areTrainersAssigned ? \"update\" : \"assign\" }}\n\t\t\t</button>\n\t\t</div>\n\t\t<!-- </div> -->\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport TrainerPermissionsListItem from \"./TrainerPermissionsListItem.vue\";\nexport default {\n\tname: \"AssignTrainerToContentDropdown\",\n\tprops: {\n\t\t// showAssign: Boolean,\n\t\tproductVariantId: String,\n\t\tassignedTrainers: Array,\n\t\tareTrainersAssigned: Boolean,\n\t},\n\tcomponents: {\n\t\tTrainerPermissionsListItem,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tsearchText: \"\",\n\t\t\ttrainersList: [],\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"trainers\"]),\n\t\tfilteredTrainers() {\n\t\t\tif (this.trainers) {\n\t\t\t\tvar filtered = this.trainers.filter((trainer) => {\n\t\t\t\t\t// console.log(\"trainer\", trainer.firstName.includes(\"H\"));\n\t\t\t\t\tif (\n\t\t\t\t\t\ttrainer.firstName.toLowerCase().includes(this.searchText) ||\n\t\t\t\t\t\ttrainer.lastName.toLowerCase().includes(this.searchText) ||\n\t\t\t\t\t\ttrainer.email.toLowerCase().includes(this.searchText)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn trainer;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn filtered;\n\t\t\t}\n\t\t},\n\t},\n\tcreated() {\n\t\tif (!this.trainers) {\n\t\t\tthis.fetchTrainersList().then(() => (this.allTrainers = this.trainers));\n\t\t}\n\t\tif (this.assignedTrainers && this.assignedTrainers.length > 0) {\n\t\t\tthis.trainersList = this.assignedTrainers;\n\t\t}\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchTrainersList\"]),\n\t\tcheckboxToggle(e, item) {\n\t\t\t// console.log(e.target.checked, item);\n\t\t\tif (e.target.checked) {\n\t\t\t\tvar trainerObject = {\n\t\t\t\t\tid: item.id,\n\t\t\t\t\ttrainerID: item.id,\n\t\t\t\t\tfirstName: item.firstName,\n\t\t\t\t\tlastName: item.lastName,\n\t\t\t\t\tIsShowInTrainerList: true,\n\t\t\t\t\tjobTitle: \"Trainer\",\n\t\t\t\t\tpermissions: [],\n\t\t\t\t\tisActive: true,\n\t\t\t\t\temail: item.email,\n\t\t\t\t};\n\t\t\t\tconsole.log(e.target.checked, trainerObject);\n\t\t\t\tthis.addTrainer(trainerObject);\n\t\t\t} else if (!e.target.checked) {\n\t\t\t\tthis.removeTrainer(item.id);\n\t\t\t}\n\t\t},\n\t\taddTrainer(trainer) {\n\t\t\t// console.log(trainer);\n\t\t\tvar found = this.trainersList.find(\n\t\t\t\t(item) => item.trainerID == trainer.trainerID\n\t\t\t);\n\t\t\tconsole.log(found);\n\t\t\tif (!found) {\n\t\t\t\tvar list = this.trainersList;\n\t\t\t\tlist.push(trainer);\n\t\t\t\tthis.trainersList = list;\n\t\t\t}\n\t\t\tconsole.log(this.trainersList);\n\t\t},\n\t\tremoveTrainer(id) {\n\t\t\tthis.trainersList = this.trainersList.filter(\n\t\t\t\t(trainer) => trainer.trainerID != id\n\t\t\t);\n\t\t},\n\t\tupdatePermissions(value, id) {\n\t\t\t// console.log(value, id);\n\t\t\tthis.trainersList = this.trainersList.map((item) => {\n\t\t\t\tif (item.trainerID == id) {\n\t\t\t\t\titem.permissions = value;\n\t\t\t\t\tconsole.log(item.permissions);\n\t\t\t\t}\n\t\t\t\treturn item;\n\t\t\t});\n\t\t},\n\t\tassignTrainersToContent() {\n\t\t\tthis.$emit(\"assignTrainers\", this.trainersList);\n\t\t\tdocument\n\t\t\t\t.getElementById(`assign-trainer-btn-${this.productVariantId}`)\n\t\t\t\t.click();\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.assign-trainer-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid #21bacf;\n\tbox-sizing: border-box;\n\tborder-radius: 5px;\n\tpadding: 0.375rem 0.625rem;\n\tcolor: #21bacf;\n\tfont-weight: bold;\n\tfont-size: 0.875rem;\n\tline-height: 1;\n\tletter-spacing: 0.05rem;\n\ttext-transform: uppercase;\n\t/* top: 0.875rem; */\n}\n\n.assign-trainer-btn.in-dropdown {\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.15);\n\tmargin-left: auto;\n\tmargin-top: 1rem;\n\t/* top: 0.875rem; */\n}\n\n.assign-trainer-dropdown {\n\tbackground: #ffffff;\n\tbox-shadow: 0px 0px 30px rgba(138, 138, 138, 0.2);\n\tborder-radius: 10px;\n\tpadding: 1.5rem 1.75rem;\n\tborder: none !important;\n\twidth: 34.375rem;\n\t/* display: flex;\n\tflex-direction: column; */\n}\n\n.content-container {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.dropdown-title-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tmargin-bottom: 1.125rem;\n}\n\n.dropdown-title {\n\tfont-weight: 450;\n\tfont-size: 1.625rem;\n\tline-height: 1.1;\n\tcolor: #000000;\n\tmargin: 0;\n}\n\n.trainer-email-input {\n\tborder: 0;\n\tborder-bottom: 1.2px solid #b2b2b2;\n\twidth: 100%;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding-bottom: 1.125rem;\n}\n\n.assigned-trainers-list {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.assigned-trainers-list li .form-group {\n\tdisplay: flex;\n\tflex-direction: row !important;\n\tcolumn-gap: 0.75rem;\n\twidth: 100%;\n\talign-items: center;\n}\n\n.assigned-trainers-list li .form-group input,\n.assigned-trainers-list li .form-group label {\n\tmargin: 0;\n}\n\n.assigned-trainers-list li .form-group .multiselect {\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.15);\n\tborder-radius: 5px;\n\twidth: 12.5rem;\n\tmargin-left: auto;\n\t/* height: 2.25rem; */\n}\n\n.assigned-trainers-list li .form-group .multiselect__tags {\n\tborder: 0;\n}\n\n.assigned-trainers-list li .form-group input[type=\"checkbox\"] {\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n\n.assigned-trainers-list li .form-group input[type=\"checkbox\"]:checked::before {\n\tbackground-color: var(--primary-color);\n}\n.all-trainers-list {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n\t/* margin-top: 0.75rem;\n\tpadding-top: 0.75rem;\n\tborder-top: 1px solid #b2b2b2; */\n}\n\n.trainer-list-container {\n\t/* max-height: 8.75rem;\n\toverflow-y: auto; */\n\tmargin-top: 1.5rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AssignTrainerToContentDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AssignTrainerToContentDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AssignTrainerToContentDropdown.vue?vue&type=template&id=084b1f83&scoped=true&\"\nimport script from \"./AssignTrainerToContentDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./AssignTrainerToContentDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AssignTrainerToContentDropdown.vue?vue&type=style&index=0&id=084b1f83&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"084b1f83\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('div',{staticClass:\"form-group\"},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"trainer\",\"id\":(\"trainer\" + (_vm.trainerData.id) + \"_\" + _vm.productVariantId)},domProps:{\"checked\":!_vm.isDisabled()},on:{\"change\":function($event){return _vm.checkboxToggle($event, _vm.trainerData)}}}),_c('label',{attrs:{\"for\":(\"trainer\" + (_vm.trainerData.id) + \"_\" + _vm.productVariantId)}},[_c('span',{staticClass:\"text-black\"},[_vm._v(_vm._s(_vm.trainerData.firstName)+\" \"+_vm._s(_vm.trainerData.lastName))]),_vm._v(\"  (\"+_vm._s(_vm.trainerData.email)+\") \")]),_c('v-select',{staticClass:\"permission-selector\",attrs:{\"multiple\":\"\",\"value\":_vm.permissionValue,\"options\":_vm.options,\"placeholder\":\"Permission\",\"reduce\":function (permission) { return permission.value; },\"disabled\":_vm.isDisabled(),\"closeOnSelect\":false,\"deselectFromDropdown\":\"\",\"appendToBody\":true,\"calculate-position\":_vm.withPopper,\"hidden\":\"\"},on:{\"input\":_vm.updatePermissions}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<li>\n\t\t<div class=\"form-group\">\n\t\t\t<input\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tname=\"trainer\"\n\t\t\t\t:id=\"`trainer${trainerData.id}_${productVariantId}`\"\n\t\t\t\t@change=\"checkboxToggle($event, trainerData)\"\n\t\t\t\t:checked=\"!isDisabled()\"\n\t\t\t/>\n\t\t\t<label :for=\"`trainer${trainerData.id}_${productVariantId}`\">\n\t\t\t\t<span class=\"text-black\"\n\t\t\t\t\t>{{ trainerData.firstName }} {{ trainerData.lastName }}</span\n\t\t\t\t>\n\t\t\t\t&nbsp;({{ trainerData.email }})\n\t\t\t</label>\n\n\t\t\t<v-select\n\t\t\t\tmultiple\n\t\t\t\tclass=\"permission-selector\"\n\t\t\t\t:value=\"permissionValue\"\n\t\t\t\t:options=\"options\"\n\t\t\t\tplaceholder=\"Permission\"\n\t\t\t\t@input=\"updatePermissions\"\n\t\t\t\t:reduce=\"(permission) => permission.value\"\n\t\t\t\t:disabled=\"isDisabled()\"\n\t\t\t\t:closeOnSelect=\"false\"\n\t\t\t\tdeselectFromDropdown\n\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\thidden\n\t\t\t>\n\t\t\t</v-select>\n\t\t</div>\n\t</li>\n</template>\n\n<script>\nimport { createPopper } from \"@popperjs/core\";\n\nexport default {\n\tname: \"TrainerPermissionsListItem\",\n\tdata() {\n\t\treturn {\n\t\t\toptions: [\n\t\t\t\t{ label: \"Read\", value: \"RD\" },\n\t\t\t\t{ label: \"Write\", value: \"WD\" },\n\t\t\t\t{ label: \"Edit\", value: \"ED\" },\n\t\t\t],\n\t\t};\n\t},\n\tprops: {\n\t\ttrainerData: Object,\n\t\ttrainersList: Array,\n\t\tproductVariantId: String,\n\t},\n\tcomputed: {\n\t\tpermissionValue() {\n\t\t\tvar trainer = this.trainersList\n\t\t\t\t? this.trainersList.find((t) => t.id == this.trainerData.id)\n\t\t\t\t: null;\n\t\t\tif (trainer) {\n\t\t\t\treturn trainer.permissions;\n\t\t\t} else return [];\n\t\t},\n\t},\n\tmethods: {\n\t\tupdatePermissions(value) {\n\t\t\tthis.$emit(\"editPermissions\", value, this.trainerData.id);\n\t\t},\n\t\tcheckboxToggle(e, data) {\n\t\t\tthis.$emit(\"checkboxToggle\", e, data);\n\t\t},\n\t\tisDisabled() {\n\t\t\tvar trainerAssigned = this.trainersList\n\t\t\t\t? this.trainersList.find((t) => t.trainerID == this.trainerData.id)\n\t\t\t\t: false;\n\t\t\treturn !trainerAssigned;\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\t// console.log(dropdownList, component.$refs.toggle, { width });\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.all-trainers-list li .form-group {\n\tdisplay: flex;\n\tflex-direction: row !important;\n\tcolumn-gap: 0.75rem;\n\twidth: 100%;\n\talign-items: center;\n}\n\n.all-trainers-list li .form-group input,\n.all-trainers-list li .form-group label {\n\tmargin: 0;\n}\n\n.all-trainers-list li .form-group .permission-selector {\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.15);\n\tborder-radius: 5px;\n\twidth: 12.5rem;\n\tmargin-left: auto;\n\t/* height: 2.25rem; */\n}\n\n.all-trainers-list li .form-group input[type=\"checkbox\"] {\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n\n.all-trainers-list li .form-group input[type=\"checkbox\"]:checked::before {\n\tbackground-color: var(--primary-color);\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TrainerPermissionsListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TrainerPermissionsListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TrainerPermissionsListItem.vue?vue&type=template&id=607d8e6e&scoped=true&\"\nimport script from \"./TrainerPermissionsListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./TrainerPermissionsListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TrainerPermissionsListItem.vue?vue&type=style&index=0&id=607d8e6e&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"607d8e6e\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"bulk-user-upload-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"bulk-user-upload-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h1',{staticClass:\"add-enroll-title\"},[_vm._v(\"Bulk Upload Users\")]),_c('div',{staticClass:\"d-flex gap-2 mb-4 mt-4\"},[_c('a',{staticClass:\"add-btn\",attrs:{\"type\":\"button\",\"href\":\"https://gocbe-lms-files.b-cdn.net/LMSv4_Bulk_Users_Upload_Template_Updated.xlsx\",\"download\":\"https://gocbe-lms-files.b-cdn.net/LMSv4_Bulk_Users_Upload_Template_Updated.xlsx\",\"target\":\"_blank\"}},[_c('i',{staticClass:\"fas fa-arrow-to-bottom me-2\"}),_vm._v(\" Download Template \")]),_c('input',{attrs:{\"type\":\"file\",\"id\":\"import_csv\",\"hidden\":\"\",\"accept\":\".xls,.xlsx\"},on:{\"input\":_vm.getFile,\"change\":_vm.getFile}}),_c('vue-tel-input',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],ref:\"phone_validate\",attrs:{\"defaultCountry\":\"PK\",\"inputOptions\":_vm.telInputOptions,\"validCharactersOnly\":\"\",\"autoFormat\":true,\"mode\":\"national\",\"id\":\"phone_validate\",\"hidden\":\"\"},on:{\"input\":_vm.validate},model:{value:(_vm.phoneInput),callback:function ($$v) {_vm.phoneInput=$$v},expression:\"phoneInput\"}}),_c('button',{staticClass:\"add-btn\",on:{\"click\":_vm.importFile}},[_c('i',{staticClass:\"fas fa-arrow-to-top me-2\"}),_vm._v(\" Upload Excel File \")])],1),(_vm.userImportData)?_c('table',{staticClass:\"table table-hover table-borderless enrolled-users-table\"},[_c('thead',[_c('th',{staticClass:\"col-1\"},[_vm._v(\"S.No #\")]),_c('th',[_vm._v(\"Name\")]),_c('th',[_vm._v(\"Phone\")]),_c('th',[_vm._v(\"Email\")]),_c('th',[_vm._v(\"Username\")]),_c('th',{staticClass:\"col-1\"},[_vm._v(\"Password\")]),_c('th',{staticClass:\"col-1\"},[_vm._v(\"Type\")]),_c('th',{staticClass:\"col-1\"},[_vm._v(\"Status\")])]),_c('tbody',_vm._l((_vm.userImportData),function(user,index){return _c('tr',{key:index},[_c('td',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"col-1\"},[_vm._v(\" \"+_vm._s((index + 1).toString().padStart(3, \"0\"))+\" \")]),_c('td',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"title\":user.FirstName + ' ' + user.LastName}},[_vm._v(\" \"+_vm._s(user.FirstName)+\" \"+_vm._s(user.LastName)+\" \")]),_c('td',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"col-2\",attrs:{\"title\":user.Phone}},[_vm._v(\" \"+_vm._s(user.Phone)+\" \")]),_c('td',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"title\":user.Email}},[_vm._v(_vm._s(user.Email))]),_c('td',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"title\":user.Username}},[_vm._v(\" \"+_vm._s(user.Username)+\" \")]),_c('td',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"col-1 text-center\",attrs:{\"title\":user.Password}},[_vm._v(\" **** \")]),_c('td',{staticClass:\"col-1\"},[_vm._v(_vm._s(user.Type))]),(_vm.usersGenerating)?_c('td',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"col-1 text-center\",attrs:{\"title\":_vm.userStatusTitle(index)}},[(_vm.userCreateResponse[index])?_c('div',{class:(\"status-tag \" + (_vm.isSuccess(index) ? 'success' : 'danger'))},[_vm._v(\" \"+_vm._s(_vm.userStatusText(index))+\" \")]):_c('div',[_c('b-spinner',{attrs:{\"small\":\"\"}})],1)]):_c('td',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"col-1 text-center\",attrs:{\"title\":_vm.validationStatusTitle(index)}},[(_vm.userValidationStatus[index])?_c('div',{class:(\"status-tag \" + (_vm.isValidationSuccess(index) ? 'success' : 'danger'))},[_vm._v(\" \"+_vm._s(_vm.validationStatusText(index))+\" \")]):(_vm.usersGenerating)?_c('div',[_c('b-spinner',{attrs:{\"small\":\"\"}})],1):_vm._e()])])}),0)]):_c('div',[_c('h4',{staticClass:\"text-danger\"},[_vm._v(\"Instructions\")]),_c('p',{staticClass:\"text-danger\",staticStyle:{\"font-size\":\"1.125rem\"}},[_c('strong',[_vm._v(\"1.\")]),_vm._v(\" Email, Phone, Username, Password, FirstName, LastName, Type, CountryCode and City are mandatory fields.\"),_c('br'),_c('strong',[_vm._v(\"2.\")]),_vm._v(\" BatchIDs field is optional, if you pass any Batch IDs, the student will be enrolled in those batches. If there are multiple batches in which you want to enroll student, then, provide comma-separated batch IDs. Example: 3231,7623.\"),_c('br'),_c('strong',[_vm._v(\"3.\")]),_vm._v(\" Please ensure that Email, Phone and Username fields must be unique. If a user already exists with same email, phone number or username then the row will not be inserted as user already exists in the system.\"),_c('br'),_c('strong',[_vm._v(\"4.\")]),_vm._v(\" Make sure Email is in correct format. Phone number must start with \\\"+\\\", followed by country code and then mobile number. Example: +923215544331.\"),_c('br'),_c('strong',[_vm._v(\"5.\")]),_vm._v(\" Do not change column names in the template file.\"),_c('br'),_c('strong',[_vm._v(\"6.\")]),_vm._v(\" Value in the Type column must be \\\"Student\\\".\"),_c('br'),_c('strong',[_vm._v(\"7.\")]),_vm._v(\" If you have any custom fields enabled in the system, then add those columns in the last. If you are unsure about this, contact our support team.\"),_c('br')])]),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"skip-step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_vm._v(\" \"+_vm._s(_vm.isUploadComplete ? \"close\" : \"cancel\")+\" \")]),(!_vm.isUploadComplete)?_c('button',{staticClass:\"step-btn\",attrs:{\"disabled\":_vm.disableNext() || _vm.loading,\"role\":\"button\"},on:{\"click\":function($event){return _vm.uploadUsers()}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Upload \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\tid=\"bulk-user-upload-modal\"\n\t\t@change=\"$emit('updateModalState', false)\"\n\t\t:visible=\"visible\"\n\t\thide-header\n\t\tcentered\n\t\tcontent-class=\"bulk-user-upload-modal\"\n\t\tsize=\"xl\"\n\t\tbody-class=\"modal-body\"\n\t\thide-footer\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t>\n\t\t<div class=\"body-container\">\n\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<h1 class=\"add-enroll-title\">Bulk Upload Users</h1>\n\t\t\t<div class=\"d-flex gap-2 mb-4 mt-4\">\n\t\t\t\t<a\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"add-btn\"\n\t\t\t\t\thref=\"https://gocbe-lms-files.b-cdn.net/LMSv4_Bulk_Users_Upload_Template_Updated.xlsx\"\n\t\t\t\t\tdownload=\"https://gocbe-lms-files.b-cdn.net/LMSv4_Bulk_Users_Upload_Template_Updated.xlsx\"\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t>\n\t\t\t\t\t<i class=\"fas fa-arrow-to-bottom me-2\"></i> Download Template\n\t\t\t\t</a>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"file\"\n\t\t\t\t\tid=\"import_csv\"\n\t\t\t\t\thidden\n\t\t\t\t\t@input=\"getFile\"\n\t\t\t\t\t@change=\"getFile\"\n\t\t\t\t\taccept=\".xls,.xlsx\"\n\t\t\t\t/>\n\t\t\t\t<vue-tel-input\n\t\t\t\t\tref=\"phone_validate\"\n\t\t\t\t\tdefaultCountry=\"PK\"\n\t\t\t\t\t:inputOptions=\"telInputOptions\"\n\t\t\t\t\tvalidCharactersOnly\n\t\t\t\t\tv-model=\"phoneInput\"\n\t\t\t\t\t@input=\"validate\"\n\t\t\t\t\t:autoFormat=\"true\"\n\t\t\t\t\tmode=\"national\"\n\t\t\t\t\tid=\"phone_validate\"\n\t\t\t\t\thidden\n          v-show=\"false\"\n\t\t\t\t></vue-tel-input>\n\t\t\t\t<button class=\"add-btn\" @click=\"importFile\">\n\t\t\t\t\t<i class=\"fas fa-arrow-to-top me-2\"></i> Upload Excel File\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<table\n\t\t\t\tv-if=\"userImportData\"\n\t\t\t\tclass=\"table table-hover table-borderless enrolled-users-table\"\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<th class=\"col-1\">S.No #</th>\n\t\t\t\t\t<th>Name</th>\n\t\t\t\t\t<th>Phone</th>\n\t\t\t\t\t<th>Email</th>\n\t\t\t\t\t<th>Username</th>\n\t\t\t\t\t<th class=\"col-1\">Password</th>\n\t\t\t\t\t<th class=\"col-1\">Type</th>\n\t\t\t\t\t<th class=\"col-1\">Status</th>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr v-for=\"(user, index) in userImportData\" :key=\"index\">\n\t\t\t\t\t\t<td v-b-tooltip.hover class=\"col-1\">\n\t\t\t\t\t\t\t{{ (index + 1).toString().padStart(3, \"0\") }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td v-b-tooltip.hover :title=\"user.FirstName + ' ' + user.LastName\">\n\t\t\t\t\t\t\t{{ user.FirstName }} {{ user.LastName }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td v-b-tooltip.hover :title=\"user.Phone\" class=\"col-2\">\n\t\t\t\t\t\t\t{{ user.Phone }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td v-b-tooltip.hover :title=\"user.Email\">{{ user.Email }}</td>\n\t\t\t\t\t\t<td v-b-tooltip.hover :title=\"user.Username\">\n\t\t\t\t\t\t\t{{ user.Username }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"col-1 text-center\"\n\t\t\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\t\t\t:title=\"user.Password\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t****\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td class=\"col-1\">{{ user.Type }}</td>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-if=\"usersGenerating\"\n\t\t\t\t\t\t\tclass=\"col-1 text-center\"\n\t\t\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\t\t\t:title=\"userStatusTitle(index)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tv-if=\"userCreateResponse[index]\"\n\t\t\t\t\t\t\t\t:class=\"`status-tag ${isSuccess(index) ? 'success' : 'danger'}`\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{ userStatusText(index) }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-else><b-spinner small></b-spinner></div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\tclass=\"col-1 text-center\"\n\t\t\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\t\t\t:title=\"validationStatusTitle(index)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tv-if=\"userValidationStatus[index]\"\n\t\t\t\t\t\t\t\t:class=\"`status-tag ${\n\t\t\t\t\t\t\t\t\tisValidationSuccess(index) ? 'success' : 'danger'\n\t\t\t\t\t\t\t\t}`\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{ validationStatusText(index) }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-else-if=\"usersGenerating\">\n                <b-spinner small></b-spinner>\n              </div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div v-else>\n\t\t\t\t<!-- <p class=\"text-danger\">\n\t\t\t\t\tPlease read the below instructions very carefully to avoid any\n\t\t\t\t\tunexpected behavior\n\t\t\t\t</p> -->\n\t\t\t\t<h4 class=\"text-danger\">Instructions</h4>\n\t\t\t\t<p class=\"text-danger\" style=\"font-size: 1.125rem\">\n\t\t\t\t\t<strong>1.</strong> Email, Phone, Username, Password, FirstName,\n\t\t\t\t\tLastName, Type, CountryCode and City are mandatory fields.<br />\n\t\t\t\t\t<strong>2.</strong> BatchIDs field is optional, if you pass any Batch\n\t\t\t\t\tIDs, the student will be enrolled in those batches. If there are\n\t\t\t\t\tmultiple batches in which you want to enroll student, then, provide\n\t\t\t\t\tcomma-separated batch IDs. Example: 3231,7623.<br />\n\t\t\t\t\t<strong>3.</strong> Please ensure that Email, Phone and Username\n\t\t\t\t\tfields must be unique. If a user already exists with same email, phone\n\t\t\t\t\tnumber or username then the row will not be inserted as user already\n\t\t\t\t\texists in the system.<br />\n\t\t\t\t\t<strong>4.</strong> Make sure Email is in correct format. Phone number\n\t\t\t\t\tmust start with \"+\", followed by country code and then mobile number.\n\t\t\t\t\tExample: +923215544331.<br />\n\t\t\t\t\t<strong>5.</strong> Do not change column names in the template\n\t\t\t\t\tfile.<br />\n\t\t\t\t\t<strong>6.</strong> Value in the Type column must be \"Student\".<br />\n\t\t\t\t\t<strong>7.</strong> If you have any custom fields enabled in the\n\t\t\t\t\tsystem, then add those columns in the last. If you are unsure about\n\t\t\t\t\tthis, contact our support team.<br />\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<button @click=\"closeModal\" role=\"button\" class=\"skip-step-btn\">\n\t\t\t\t\t{{ isUploadComplete ? \"close\" : \"cancel\" }}\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"!isUploadComplete\"\n\t\t\t\t\t:disabled=\"disableNext() || loading\"\n\t\t\t\t\t@click=\"uploadUsers()\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\tUpload\n\t\t\t\t\t<img src=\"@/assets/images/arrow-right.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport csvToJSON from \"../../../utils/csv-reader\";\nimport XLSXtoJSON from \"../../../utils/xlsx-reader\";\nconst getCountryISO3 = require(\"country-iso-2-to-3\");\nimport Vue from \"vue\";\nimport { UserType } from \"../../../constants/user\";\n\nexport default {\n\tname: \"BulkUserUploadModal\",\n\tdata() {\n\t\treturn {\n\t\t\tuserImportData: null,\n\t\t\ttelInputOptions: {\n\t\t\t\tautocomplete: \"on\",\n\t\t\t\tmaxlength: 15,\n\t\t\t\ttabindex: 10,\n\t\t\t\tplaceholder: \"Phone Number (required)\",\n\t\t\t\tmode: \"national\",\n\t\t\t},\n\t\t\tphoneInput: null,\n\t\t\tisPhoneError: false,\n\t\t\textraFields: null,\n\t\t\tuserRegisterFields: [\n\t\t\t\t\"FirstName\",\n\t\t\t\t\"LastName\",\n\t\t\t\t\"Username\",\n\t\t\t\t\"Email\",\n\t\t\t\t\"Password\",\n\t\t\t\t\"Phone\",\n\t\t\t\t\"Type\",\n\t\t\t\t\"CountryCode\",\n\t\t\t\t\"City\",\n\t\t\t\t\"ProfilePicture\",\n\t\t\t],\n\t\t\textraproperties: { CustomFields: {} },\n\t\t\tuserCreateResponse: [],\n\t\t\tuserValidationStatus: [],\n\t\t\tusersGenerating: false,\n\t\t\tisValidationError: false,\n\t\t\tisValidating: false,\n\t\t\tisUploadComplete: false,\n\t\t};\n\t},\n\tprops: {\n\t\tshowModal: Boolean,\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"createUser\", \"enrollUserInProductVariant\"]),\n\t\t...mapActions(\"productVariant\", [\"fetchProductVariants\"]),\n\t\timportFile() {\n\t\t\tdocument.querySelector(\"#import_csv\").click();\n\t\t},\n\t\tgetFile(evt) {\n\t\t\tconsole.log(evt);\n\t\t\tthis.userCreateResponse = [];\n\t\t\tthis.userValidationStatus = [];\n\t\t\tlet file = evt.target.files[0];\n\t\t\tlet reader = new FileReader();\n\n\t\t\t// XLSXtoJSON(file);\n\t\t\treader.onload = async (event) => {\n\t\t\t\t// console.log(event);\n\t\t\t\tvar data = event.target.result;\n\t\t\t\tvar workbook = XLSX.read(data, {\n\t\t\t\t\ttype: \"binary\",\n\t\t\t\t});\n\n\t\t\t\tvar sheetsJSONArray = [];\n\n\t\t\t\tworkbook.SheetNames.forEach(function (sheet) {\n\t\t\t\t\tlet rowObject = XLSX.utils.sheet_to_row_object_array(\n\t\t\t\t\t\tworkbook.Sheets[sheet]\n\t\t\t\t\t);\n\t\t\t\t\tsheetsJSONArray.push(rowObject);\n\t\t\t\t\t// console.log(rowObject);\n\t\t\t\t});\n\t\t\t\tthis.userImportData = sheetsJSONArray[0];\n\t\t\t\tthis.isValidating = true;\n\t\t\t\t//var isValid = await this.validateJSON();\n        var isValid = true;\n\t\t\t\tconsole.log(isValid);\n\t\t\t\tthis.isValidating = false;\n\t\t\t\tthis.isValidationError = !isValid;\n\t\t\t\t// this.createUsersAndEnrollBatches();\n\t\t\t};\n\n\t\t\treader.readAsBinaryString(file);\n\t\t\tdocument.querySelector(\"#import_csv\").value = \"\";\n\n\t\t\t// console.log(files);\n\t\t\t// reader.onload = ((_) => (e) => {\n\t\t\t// \tconsole.log(e.target.result);\n\t\t\t// \tthis.userImportData = e.target.result;\n\t\t\t// \tthis.userImportData = csvToJSON(this.userImportData);\n\t\t\t// \t// this.extractExtraFields();\n\n\t\t\t// })(file);\n\n\t\t\t// reader.readAsText(file);\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t},\n\t\tvalidateJSON() {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\ttry {\n\t\t\t\t\tthis.userImportData.forEach((user, index) => {\n\t\t\t\t\t\tthis.validateUsername(user, index);\n\t\t\t\t\t\tthis.validateEmailFormat(user, index);\n\t\t\t\t\t\tthis.validatePassword(user, index);\n\t\t\t\t\t\tthis.validateType(user, index);\n\t\t\t\t\t\tthis.validateCountryCode(user, index);\n\t\t\t\t\t\tthis.validatePhoneNumber(user, index);\n\t\t\t\t\t\tthis.validateRequiredFields(user, index);\n\t\t\t\t\t\t// this.validateBatchIDs(user, index);\n\t\t\t\t\t\tif (!this.userValidationStatus[index]) {\n\t\t\t\t\t\t\tVue.set(this.userValidationStatus, index, {\n\t\t\t\t\t\t\t\tvalidationMessages: [\"User Data is valid\"],\n\t\t\t\t\t\t\t\tvalidationSuccess: true,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tthis.userValidationStatus.forEach((user) => {\n\t\t\t\t\t\tconsole.log(user);\n\t\t\t\t\t\tif (!user.validationSuccess) {\n\t\t\t\t\t\t\tresolve(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tresolve(true);\n\t\t\t\t} catch (e) {\n\t\t\t\t\talert(e);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\textractExtraFields(type) {\n\t\t\tthis.extraFields = Object.keys(this.userImportData[0]).filter(\n\t\t\t\t(item) => !this.userRegisterFields.includes(item)\n\t\t\t);\n\t\t\tvar extraFieldsFromSystemParams = this.parsedExtraFields(type).map(\n\t\t\t\t(item) => item.Key\n\t\t\t);\n\t\t\tthis.extraFields = this.extraFields.filter((item) =>\n\t\t\t\textraFieldsFromSystemParams.includes(item)\n\t\t\t);\n\t\t},\n\t\tvalidate(num, obj) {\n\t\t\tconsole.log(num, obj);\n\t\t\tif (obj.valid != null && obj.valid === false) {\n\t\t\t\tthis.isPhoneError = true;\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.isPhoneError = false;\n\t\t\tif (obj.country && obj.country.iso2) {\n\t\t\t\t// this.countryCode = getCountryISO3(obj.country.iso2);\n\t\t\t\tthis.phoneInput = obj.number;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tasync createUsersAndEnrollBatches() {\n\t\t\tthis.usersGenerating = true;\n\t\t\tfor (var index = 0; index < this.userImportData.length; index++) {\n\t\t\t\tlet item = this.userImportData[index];\n\t\t\t\tvar createUserObject = {\n\t\t\t\t\tfirstName: item.FirstName.toString().trim(),\n\t\t\t\t\tlastName: item.LastName.toString().trim(),\n\t\t\t\t\tusername: item.Username.toString().trim(),\n\t\t\t\t\temail: item.Email.toString().trim(),\n\t\t\t\t\tpassword: item.Password.toString().trim(),\n\t\t\t\t\ttype: item.Type.toString().trim(),\n\t\t\t\t\tcountryCode: item.CountryCode.toString().trim(),\n\t\t\t\t\tcity: item.City.toString().trim(),\n\t\t\t\t\tmobile: item.Phone.toString().trim(),\n\t\t\t\t};\n\t\t\t\tthis.extractExtraFields(item.Type);\n\t\t\t\tif (this.hasExtraFields(item.Type)) {\n\t\t\t\t\tthis.extraproperties = { CustomFields: {} };\n\t\t\t\t\tthis.extraFields.forEach(\n\t\t\t\t\t\t(field) => (this.extraproperties.CustomFields[field] = item[field])\n\t\t\t\t\t);\n\t\t\t\t\tcreateUserObject.extraproperties = JSON.stringify(\n\t\t\t\t\t\tthis.extraproperties\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tvar user=null;\n\t\t\t\tawait this.createUser(createUserObject)\n\t\t\t\t\t.then(async (res) => {\n\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t// this.userCreateResponse[index] = {\n\t\t\t\t\t\t\t// \tcreateSuccess: true,\n\t\t\t\t\t\t\t// \tcreateMessage: \"User created successfully\",\n\t\t\t\t\t\t\t// };\n                            user=res;\n\t\t\t\t\t\t\tVue.set(this.userCreateResponse, index, {\n\t\t\t\t\t\t\t\tcreateSuccess: true,\n\t\t\t\t\t\t\t\tcreateMessage: \"User created\",\n\t\t\t\t\t\t\t});\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\n\t\t\t\t\t\tif (error && error.errorCode && error.errorCode == 116) {\n\t\t\t\t\t\t\t// User Already Exist\n\t\t\t\t\t\t\tuser=error.user;\n\t\t\t\t\t\t\tVue.set(this.userCreateResponse, index, {\n\t\t\t\t\t\t\t\tcreateSuccess: true,\n\t\t\t\t\t\t\t\tcreateMessage: \"User created successfully\",\n\t\t\t\t\t\t\t});\t\t\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tVue.set(this.userCreateResponse, index, {\n\t\t\t\t\t\t\t\tcreateSuccess: false,\n\t\t\t\t\t\t\t\tcreateMessage: error?.message ?? \"Some unknown error occurred\",\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n                    \n\t\t\t\t\tif (item.BatchIDs && user) {\n\t\t\t\t\t\t\t\titem.BatchIDs = item.BatchIDs.toString().split(\",\");\n\t\t\t\t\t\t\t\tfor (var batch of item.BatchIDs) {\n\t\t\t\t\t\t\t\t\tbatch = batch.trim();\n\t\t\t\t\t\t\t\t\tif (!this.productVariants.items[batch]) continue;\n\t\t\t\t\t\t\t\t\tvar requestObj = {\n\t\t\t\t\t\t\t\t\t\tuserID: user.id,\n\t\t\t\t\t\t\t\t\t\tproductVariantID: batch,\n\t\t\t\t\t\t\t\t\t\tallowedRanges: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tstartsFrom: this.productVariants.items[batch].startDate\n\t\t\t\t\t\t\t\t\t\t\t\t\t? this.productVariants.items[batch].startDate\n\t\t\t\t\t\t\t\t\t\t\t\t\t: new Date(\"12/31/1970\").toISOString(),\n\t\t\t\t\t\t\t\t\t\t\t\tendsAt: this.productVariants.items[batch].endDate\n\t\t\t\t\t\t\t\t\t\t\t\t\t? this.productVariants.items[batch].endDate\n\t\t\t\t\t\t\t\t\t\t\t\t\t: new Date(\"12/31/2070\").toISOString(),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tawait this.enrollUserInProductVariant({\n\t\t\t\t\t\t\t\t\t\tuser: user,\n\t\t\t\t\t\t\t\t\t\trequestObj,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\t\t\t\t\t\tVue.set(this.userCreateResponse, index, {\n\t\t\t\t\t\t\t\t\t\t\t\t...this.userCreateResponse[index],\n\t\t\t\t\t\t\t\t\t\t\t\tenrollSuccess: true,\n\t\t\t\t\t\t\t\t\t\t\t\tenrollMessage: \"Batches enrolled Successfully\",\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\t\t\tVue.set(this.userCreateResponse, index, {\n\t\t\t\t\t\t\t\t\t\t\t\t...this.userCreateResponse[index],\n\t\t\t\t\t\t\t\t\t\t\t\tenrollSuccess: false,\n\t\t\t\t\t\t\t\t\t\t\t\tenrollMessage:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"Enrollment failed for batch: \" +\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.productVariants.items[batch].title,\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n \n\n\t\t\t}\n\t\t\t// this.userImportData.forEach(async (item, index) => {});\n\t\t},\n        \n\n\n\t\thasExtraFields(type) {\n\t\t\tif (\n\t\t\t\t(this.systemParameters.UserRegisterExtraFields &&\n\t\t\t\t\ttype.toLowerCase() == \"student\") ||\n\t\t\t\t(this.systemParameters.TrainerUserRegisterExtraFields &&\n\t\t\t\t\ttype.toLowerCase() == \"trainer\")\n\t\t\t)\n\t\t\t\treturn true;\n\t\t\telse return false;\n\t\t},\n\t\tparsedExtraFields(type) {\n\t\t\t// console.log(this.systemParameters);\n\t\t\tif (\n\t\t\t\tthis.systemParameters &&\n\t\t\t\tthis.systemParameters.UserRegisterExtraFields &&\n\t\t\t\ttype.toLowerCase() == \"student\"\n\t\t\t) {\n\t\t\t\t// console.log(\"user type student\");\n\t\t\t\treturn this.systemParameters.UserRegisterExtraFields;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tthis.systemParameters &&\n\t\t\t\tthis.systemParameters.TrainerUserRegisterExtraFields &&\n\t\t\t\ttype.toLowerCase() == \"trainer\"\n\t\t\t) {\n\t\t\t\t// console.log(\"user type TRAINER\");\n\t\t\t\treturn this.systemParameters.TrainerUserRegisterExtraFields;\n\t\t\t}\n\t\t\treturn [];\n\t\t},\n\t\tuserStatusText: function (index) {\n\t\t\treturn this.userCreateResponse[index]?.createSuccess\n\t\t\t\t? \"Success\"\n\t\t\t\t: \"Failed\";\n\t\t},\n\t\tuserStatusTitle: function (index) {\n\t\t\treturn this.userCreateResponse[index]?.createMessage ?? \"Loading...\";\n\t\t},\n\t\tisSuccess: function (index) {\n\t\t\treturn this.userCreateResponse[index]\n\t\t\t\t? this.userCreateResponse[index].createSuccess &&\n\t\t\t\t\t\tthis.userCreateResponse[index].enrollSuccess\n\t\t\t\t: false;\n\t\t},\n\t\tvalidationStatusText: function (index) {\n\t\t\treturn this.userValidationStatus[index]?.validationSuccess\n\t\t\t\t? \"OK\"\n\t\t\t\t: \"Error\";\n\t\t},\n\t\tvalidationStatusTitle: function (index) {\n\t\t\treturn (\n\t\t\t\tthis.userValidationStatus[index]?.validationMessages\n\t\t\t\t\t.toString()\n\t\t\t\t\t.split(\",\")\n\t\t\t\t\t.join(\", \") ?? \"Loading...\"\n\t\t\t);\n\t\t},\n\t\tisValidationSuccess: function (index) {\n\t\t\treturn this.userValidationStatus[index]\n\t\t\t\t? this.userValidationStatus[index].validationSuccess\n\t\t\t\t: false;\n\t\t},\n\t\tvalidateRequiredFields(user, index) {\n\t\t\tthis.userRegisterFields.forEach((field) => {\n\t\t\t\tif ((!user[field] || user[field] == \"\") && field != \"ProfilePicture\") {\n\t\t\t\t\tif (!this.userValidationStatus[index]) {\n\t\t\t\t\t\tthis.userValidationStatus[index] = {};\n\t\t\t\t\t}\n\t\t\t\t\tthis.userValidationStatus[index].validationSuccess = false;\n\n\t\t\t\t\tthis.userValidationStatus[index].validationMessages\n\t\t\t\t\t\t? this.userValidationStatus[index].validationMessages.push(\n\t\t\t\t\t\t\t\tfield + \" is required\"\n\t\t\t\t\t\t  )\n\t\t\t\t\t\t: (this.userValidationStatus[index].validationMessages = [\n\t\t\t\t\t\t\t\tfield + \" is required\",\n\t\t\t\t\t\t  ]);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tvalidatePhoneNumber(user, index) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!user.Phone.includes(\"+\")) {\n\t\t\t\t\tuser.Phone = \"+\" + user.Phone;\n\t\t\t\t}\n\t\t\t\tthis.phoneInput = user.Phone;\n\t\t\t});\n\t\t},\n\t\tvalidateEmailFormat(user, index) {\n\t\t\tif (user.Email) {\n\t\t\t\tvar emailFormat = new RegExp(\n\t\t\t\t\t/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/\n\t\t\t\t);\n\t\t\t\tvar isValid = emailFormat.test(user.Email);\n\t\t\t\tconsole.log(isValid);\n\t\t\t\tif (!isValid) {\n\t\t\t\t\tif (this.userValidationStatus[index]) {\n\t\t\t\t\t\tthis.userValidationStatus[index].validationMessages.push(\n\t\t\t\t\t\t\t\"Invalid Email\"\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tVue.set(this.userValidationStatus, index, {\n\t\t\t\t\t\tvalidationSuccess: false,\n\t\t\t\t\t\tvalidationMessages: [\"Invalid Email\"],\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn emailFormat.test(user.Email);\n\t\t\t}\n\t\t},\n\t\tvalidateUsername(user, index) {\n\t\t\tif (!user.Username) {\n\t\t\t\tif (user.FirstName && user.LastName)\n\t\t\t\t\tvar length = 4,\n\t\t\t\t\t\tcharset =\n\t\t\t\t\t\t\t\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\",\n\t\t\t\t\t\trandomCode = \"\";\n\t\t\t\tfor (var i = 0, n = charset.length; i < length; ++i) {\n\t\t\t\t\trandomCode += charset.charAt(Math.floor(Math.random() * n));\n\t\t\t\t}\n\t\t\t\tuser.Username =\n\t\t\t\t\tuser.FirstName.trim().replace(/ +/g, \"_\").toLowerCase() +\n\t\t\t\t\t\"_\" +\n\t\t\t\t\tuser.LastName.trim().replace(/ +/g, \"_\").toLowerCase() +\n\t\t\t\t\t\"_\" +\n\t\t\t\t\trandomCode;\n\t\t\t}\n\t\t},\n\t\tvalidatePassword(user, index) {\n\t\t\tif (!user.Password) {\n\t\t\t\tvar length = 4,\n\t\t\t\t\tcharset = \"0123456789\",\n\t\t\t\t\trandomCode = \"\";\n\t\t\t\tfor (var i = 0, n = charset.length; i < length; ++i) {\n\t\t\t\t\trandomCode += charset.charAt(Math.floor(Math.random() * n));\n\t\t\t\t}\n\t\t\t\tuser.Password = randomCode;\n\t\t\t}\n\t\t},\n\t\tvalidateType(user, index) {\n\t\t\tif (!user.Type) {\n\t\t\t\tuser.Type = UserType.STUDENT;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar found = Object.values(UserType).find(\n\t\t\t\t(type) => type.toLowerCase() == user.Type.toLowerCase()\n\t\t\t);\n\t\t\tif (!found) {\n\t\t\t\tif (this.userValidationStatus[index]) {\n\t\t\t\t\tthis.userValidationStatus[index].validationMessages.push(\n\t\t\t\t\t\t\"Invalid Type, type should be one of Student, Trainer, Management\"\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tVue.set(this.userValidationStatus, index, {\n\t\t\t\t\tvalidationSuccess: false,\n\t\t\t\t\tvalidationMessages: [\n\t\t\t\t\t\t\"Invalid Type, type should be one of Student, Trainer, Management\",\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tvalidateCountryCode(user, index) {\n\t\t\tif (!user.CountryCode) {\n\t\t\t\t// Code to add country code from phone number\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (user.CountryCode.length && user.CountryCode.length < 3) {\n\t\t\t\tif (this.userValidationStatus[index]) {\n\t\t\t\t\tthis.userValidationStatus[index].validationMessages.push(\n\t\t\t\t\t\t\"Invalid CountryCode. It should be a 3 letter ISO code\"\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tVue.set(this.userValidationStatus, index, {\n\t\t\t\t\tvalidationSuccess: false,\n\t\t\t\t\tvalidationMessages: [\n\t\t\t\t\t\t\"Invalid CountryCode. It should be a 3 letter ISO code\",\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tvalidateBatchIDs(user, index) {\n\t\t\tvar batches = user.BatchIDs.split(\",\");\n\t\t\tbatches.forEach((batch) => {\n\t\t\t\tif (!this.productVariants.items[batch]) {\n\t\t\t\t\tif (this.userValidationStatus[index]) {\n\t\t\t\t\t\tthis.userValidationStatus[index].validationMessages.push(\n\t\t\t\t\t\t\t\"Batch \" + batch + \"does not exist\"\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tVue.set(this.userValidationStatus, index, {\n\t\t\t\t\t\tvalidationSuccess: false,\n\t\t\t\t\t\tvalidationMessages: [\"Batch \" + batch + \"does not exist\"],\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tdisableNext() {\n\t\t\treturn !this.userImportData || this.isValidationError;\n\t\t},\n\t\tuploadUsers() {\n\t\t\tthis.createUsersAndEnrollBatches().then((res) => {\n\t\t\t\tthis.isUploadComplete = true;\n\t\t\t});\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\t\t...mapState(\"user\", [\"loading\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible) this.fetchProductVariants();\n\t\t},\n\t\tphoneInput: function () {\n\t\t\tconsole.log(this.phoneInput);\n\t\t\t// this.$nextTick(function () {\n\t\t\t// \tthis.$refs.phone_validate.onInput();\n\t\t\t// });\n\t\t},\n\t},\n};\n</script>\n\n<style>\n.bulk-user-upload-modal {\n\tmin-height: 45.375rem;\n\twidth: 70vw;\n}\n\n.bulk-user-upload-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n}\n.bulk-user-upload-modal .body-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 2.5rem 2.5rem 1.5rem;\n\twidth: 100%;\n}\n\n.bulk-user-upload-modal .add-enroll-title {\n\ttext-transform: capitalize;\n\tfont-weight: 450;\n\tfont-size: 2rem;\n\tline-height: 0.75;\n\tmargin: 0.5rem 0 1rem;\n\tcolor: #000000;\n}\n\n.bulk-user-upload-modal .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n\n.bulk-user-upload-modal .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0 0 0.875rem;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n\tborder-radius: 0;\n\tbox-shadow: none !important;\n\tposition: relative;\n\theight: 40px;\n}\n\n.bulk-user-upload-modal .add-btn {\n\ttext-decoration: none !important;\n\tcolor: #000000;\n}\n\n.bulk-user-upload-modal .enrolled-users-table th {\n\tpadding: 8px !important;\n}\n\n.bulk-user-upload-modal .enrolled-users-table tbody {\n\tdisplay: block;\n\theight: 50vh;\n\toverflow: auto;\n}\n\n.bulk-user-upload-modal .enrolled-users-table tbody td {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.bulk-user-upload-modal .enrolled-users-table thead,\n.bulk-user-upload-modal .enrolled-users-table tbody tr {\n\tdisplay: table;\n\twidth: 100%;\n\ttable-layout: fixed;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BulkUserUploadModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BulkUserUploadModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BulkUserUploadModal.vue?vue&type=template&id=7c72dd39&\"\nimport script from \"./BulkUserUploadModal.vue?vue&type=script&lang=js&\"\nexport * from \"./BulkUserUploadModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BulkUserUploadModal.vue?vue&type=style&index=0&id=7c72dd39&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"create-user-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"create-user-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState')}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),(_vm.currentStep == 1)?_c('div',{attrs:{\"id\":\"page1\"}},[_c('div',{staticClass:\"mb-4\"},[_c('h1',{staticClass:\"add-enroll-title\"},[_vm._v(\" Add New \"+_vm._s(_vm.createUserType)+\" \"+_vm._s(_vm.createUserType.toLowerCase() == \"management\" ? \"User\" : null)+\" \")]),_c('span',{staticClass:\"add-pricing-sub-title\"},[_vm._v(\" Basic Information \")])]),_c('form',[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"firstName\"}},[_vm._v(\"First Name (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.firstName),expression:\"firstName\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"id\":\"firstName\",\"placeholder\":\"Enter First Name here...\"},domProps:{\"value\":(_vm.firstName)},on:{\"change\":_vm.setUsername,\"input\":function($event){if($event.target.composing){ return; }_vm.firstName=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"lastName\"}},[_vm._v(\"Last Name (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.lastName),expression:\"lastName\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"id\":\"lastName\",\"placeholder\":\"Enter Last Name here...\"},domProps:{\"value\":(_vm.lastName)},on:{\"change\":_vm.setUsername,\"input\":function($event){if($event.target.composing){ return; }_vm.lastName=$event.target.value}}})])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"email\"}},[_vm._v(\"Email (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"}],staticClass:\"form-input\",attrs:{\"type\":\"email\",\"id\":\"email\",\"placeholder\":\"Enter Email here...\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value}}})]),(_vm.createUserType.toLowerCase() == 'management')?_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"role\"}},[_vm._v(\"Role\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"id\":\"role\",\"placeholder\":\"Select Role...\",\"options\":_vm.roleOptions,\"appendToBody\":true,\"calculate-position\":_vm.withPopper},model:{value:(_vm.managementRole),callback:function ($$v) {_vm.managementRole=$$v},expression:\"managementRole\"}})],1):_vm._e()])]),_c('div',{staticClass:\"col-3 ps-5\"},[_c('label',{staticClass:\"main-label\"},[_vm._v(\"Profile Picture (optional)\")]),_c('div',{class:['upload-btn-wrapper', { preview: _vm.profilePicturePath }]},[_c('img',{class:[{ 'd-none': !_vm.profilePicturePath }],attrs:{\"id\":\"preview\",\"src\":_vm.profilePicturePath,\"alt\":\"preview\"}}),(_vm.profilePicturePath)?_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.openDialog}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.removeFile}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])]):_vm._e(),(!_vm.profilePicturePath)?_c('button',{staticClass:\"upload-btn\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.openDialog}},[_vm._v(\" upload \")]):_vm._e(),_c('input',{staticClass:\"form-input\",attrs:{\"type\":\"file\",\"accept\":\"image/*,video/*\",\"name\":\"image-upload\",\"id\":\"image-upload\"},on:{\"change\":_vm.getFile}})])])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"username\"}},[_vm._v(\"Username (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"id\":\"username\",\"placeholder\":\"Enter Username here...\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.username=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"mobile\"}},[_vm._v(\"Phone Number (required)\")]),_c('vue-tel-input',{class:(\"form-input \" + (_vm.isPhoneError && _vm.showError ? 'error' : '')),attrs:{\"defaultCountry\":\"PK\",\"inputOptions\":_vm.telInputOptions,\"validCharactersOnly\":\"\",\"autoFormat\":true,\"mode\":\"national\",\"invalidMsg\":\"Please enter a valid phone number\",\"id\":\"mobile\"},on:{\"input\":_vm.validate,\"blur\":function($event){_vm.showError = true},\"focus\":function($event){_vm.showError = false}},model:{value:(_vm.mobile),callback:function ($$v) {_vm.mobile=$$v},expression:\"mobile\"}}),(_vm.showError && _vm.isPhoneError)?_c('p',{staticClass:\"text-danger\"},[_vm._v(\" Invalid Phone Number \")]):_vm._e()],1)]),_c('div',{staticClass:\"inline-group align-items-end\"},[_c('div',{staticClass:\"col position-relative\"},[_c('label',{class:['main-label', { 'text-danger': _vm.pwdError }],attrs:{\"for\":\"password\"}},[_vm._v(\"Password (required)\")]),((_vm.showPassword ? 'text' : 'password')==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],class:['form-input', { 'text-danger': _vm.pwdError }],attrs:{\"id\":\"password\",\"placeholder\":\"Enter Password here...\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.password)?_vm._i(_vm.password,null)>-1:(_vm.password)},on:{\"change\":function($event){var $$a=_vm.password,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.password=$$a.concat([$$v]))}else{$$i>-1&&(_vm.password=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.password=$$c}}}}):((_vm.showPassword ? 'text' : 'password')==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],class:['form-input', { 'text-danger': _vm.pwdError }],attrs:{\"id\":\"password\",\"placeholder\":\"Enter Password here...\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.password,null)},on:{\"change\":function($event){_vm.password=null}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],class:['form-input', { 'text-danger': _vm.pwdError }],attrs:{\"id\":\"password\",\"placeholder\":\"Enter Password here...\",\"type\":_vm.showPassword ? 'text' : 'password'},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}}),_c('i',{class:[\n\t\t\t\t\t\t\t\t'fas input-icon-right',\n\t\t\t\t\t\t\t\t{ 'fa-eye-slash': _vm.showPassword, 'fa-eye': !_vm.showPassword } ],on:{\"click\":_vm.toggleShowPassword}})]),_c('div',{staticClass:\"col-1\"},[_c('button',{staticClass:\"primary-btn\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.generatePassword}},[_vm._v(\" Generate \")])])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"address\"}},[_vm._v(\"Address (optional)\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.address),expression:\"address\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"placeholder\":\"Enter Address here...\"},domProps:{\"value\":(_vm.address)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.address=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"city\"}},[_vm._v(\"City (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.city),expression:\"city\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"id\":\"city\",\"placeholder\":\"Enter city here...\"},domProps:{\"value\":(_vm.city)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.city=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"country\"}},[_vm._v(\"Country (required)\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"type\":\"password\",\"id\":\"country\",\"placeholder\":\"Select Country...\",\"options\":_vm.countryCodes,\"label\":\"name\",\"reduce\":function (option) { return option['alpha-3']; },\"appendToBody\":true,\"calculate-position\":_vm.withPopper},model:{value:(_vm.country),callback:function ($$v) {_vm.country=$$v},expression:\"country\"}})],1)])]),(_vm.pwdError)?_c('p',{staticClass:\"error-text text-danger\"},[_vm._v(_vm._s(_vm.errorText))]):_vm._e()]):_vm._e(),(_vm.currentStep == 2 && _vm.hasExtraFields)?_c('div',{attrs:{\"id\":\"page2\"}},[_c('div',{staticClass:\"mb-4\"},[_c('h1',{staticClass:\"add-enroll-title\"},[_vm._v(\" Add New \"+_vm._s(_vm.createUserType)+\" \"+_vm._s(_vm.createUserType.toLowerCase() == \"management\" ? \"User\" : null)+\" \")]),_c('span',{staticClass:\"add-pricing-sub-title\"},[_vm._v(\" Additional Information \")])]),_vm._l((_vm.parsedExtraFields),function(input){return _c('div',{key:input.Key,staticClass:\"form-group mb-4\"},[_c('DynamicFormInput',{attrs:{\"customInputClass\":\"form-input\",\"customLabelClass\":\"main-label\",\"inputFieldOptions\":input,\"required\":true,\"showLabel\":true},on:{\"inputValue\":function (value) {\n\t\t\t\t\t\t\t_vm.extraproperties.CustomFields[input.Key] = value;\n\t\t\t\t\t\t}}})],1)})],2):_vm._e(),_c('div',{staticClass:\"step-btn-container\"},[(_vm.showPrev)?_c('a',{staticClass:\"step-btn prev\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prev}},[_c('i',{staticClass:\"fas fa-long-arrow-alt-left\"}),_vm._v(\" prev \")]):_vm._e(),_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.disableNext || _vm.loading},on:{\"click\":_vm.next}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.stepButtonContent)+\" \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\tid=\"create-user-modal\"\n\t\t@change=\"$emit('updateModalState')\"\n\t\t:visible=\"visible\"\n\t\thide-header\n\t\tcentered\n\t\tcontent-class=\"create-user-modal\"\n\t\tsize=\"xl\"\n\t\tbody-class=\"modal-body\"\n\t\thide-footer\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t>\n\t\t<!-- <div class=\"custom-stepper-container\">\n\t\t\t<div class=\"custom-stepper\">\n\t\t\t\t<div class=\"custom-stepper-step\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'step-icon first',\n\t\t\t\t\t\t\t{ active: currentStep == 1, complete: currentStep > 1 },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t1\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t<h1 class=\"title\">\n\t\t\t\t\t\t\tUser Information\n\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t<h3 class=\"subtitle\">\n\t\t\t\t\t\t\tEnter basic information\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"custom-stepper-step\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'step-icon',\n\t\t\t\t\t\t\t{ active: currentStep == 2, complete: currentStep > 2 },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t2\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"step-text\">\n\t\t\t\t\t\t<h1 class=\"title\">\n\t\t\t\t\t\t\tAdditional Info\n\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t<h3 class=\"subtitle\">Fill out additional information</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\tCustom Stepper\n\t\t</div> -->\n\t\t<div class=\"body-container\">\n\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<div v-if=\"currentStep == 1\" id=\"page1\">\n\t\t\t\t<div class=\"mb-4\">\n\t\t\t\t\t<h1 class=\"add-enroll-title\">\n\t\t\t\t\t\tAdd New {{ createUserType }}\n\t\t\t\t\t\t{{ createUserType.toLowerCase() == \"management\" ? \"User\" : null }}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<span class=\"add-pricing-sub-title\"> Basic Information </span>\n\t\t\t\t</div>\n\t\t\t\t<form>\n\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t\t<label for=\"firstName\" class=\"main-label\"\n\t\t\t\t\t\t\t\t\t\t>First Name (required)</label\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\tid=\"firstName\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"firstName\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Enter First Name here...\"\n\t\t\t\t\t\t\t\t\t\t@change=\"setUsername\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t\t<label for=\"lastName\" class=\"main-label\"\n\t\t\t\t\t\t\t\t\t\t>Last Name (required)</label\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\tid=\"lastName\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"lastName\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Enter Last Name here...\"\n\t\t\t\t\t\t\t\t\t\t@change=\"setUsername\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t\t<label for=\"email\" class=\"main-label\">Email (required)</label>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\tid=\"email\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"email\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Enter Email here...\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tv-if=\"createUserType.toLowerCase() == 'management'\"\n\t\t\t\t\t\t\t\t\tclass=\"col\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<label for=\"role\" class=\"main-label\">Role</label>\n\t\t\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\tid=\"role\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"managementRole\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Select Role...\"\n\t\t\t\t\t\t\t\t\t\t:options=\"roleOptions\"\n\t\t\t\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<!-- <div\n\t\t\t\t\t\t\t\t\tv-if=\"createUserType.toLowerCase() == 'trainer'\"\n\t\t\t\t\t\t\t\t\tclass=\"col\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<label for=\"education\" class=\"main-label\"\n\t\t\t\t\t\t\t\t\t\t>Education (required)</label\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\t\tid=\"education\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"extraproperties.CustomFields['Education']\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Enter your Education here...\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div> -->\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-3 ps-5\">\n\t\t\t\t\t\t\t<label class=\"main-label\">Profile Picture (optional)</label>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t:class=\"['upload-btn-wrapper', { preview: profilePicturePath }]\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t:class=\"[{ 'd-none': !profilePicturePath }]\"\n\t\t\t\t\t\t\t\t\tid=\"preview\"\n\t\t\t\t\t\t\t\t\t:src=\"profilePicturePath\"\n\t\t\t\t\t\t\t\t\talt=\"preview\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<div v-if=\"profilePicturePath\" class=\"right-menu\">\n\t\t\t\t\t\t\t\t\t<a role=\"button\" class=\"right-menu-icon\" @click=\"openDialog\">\n\t\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t@click=\"removeFile\"\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tv-if=\"!profilePicturePath\"\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tclass=\"upload-btn\"\n\t\t\t\t\t\t\t\t\t@click=\"openDialog\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tupload\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\t\t\t\t\tname=\"image-upload\"\n\t\t\t\t\t\t\t\t\tid=\"image-upload\"\n\t\t\t\t\t\t\t\t\t@change=\"getFile\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t<label for=\"username\" class=\"main-label\"\n\t\t\t\t\t\t\t\t>Username (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\tid=\"username\"\n\t\t\t\t\t\t\t\tv-model=\"username\"\n\t\t\t\t\t\t\t\tplaceholder=\"Enter Username here...\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t<label for=\"mobile\" class=\"main-label\"\n\t\t\t\t\t\t\t\t>Phone Number (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<vue-tel-input\n\t\t\t\t\t\t\t\t:class=\"`form-input ${\n\t\t\t\t\t\t\t\t\tisPhoneError && showError ? 'error' : ''\n\t\t\t\t\t\t\t\t}`\"\n\t\t\t\t\t\t\t\tdefaultCountry=\"PK\"\n\t\t\t\t\t\t\t\t:inputOptions=\"telInputOptions\"\n\t\t\t\t\t\t\t\tvalidCharactersOnly\n\t\t\t\t\t\t\t\tv-model=\"mobile\"\n\t\t\t\t\t\t\t\t@input=\"validate\"\n\t\t\t\t\t\t\t\t@blur=\"showError = true\"\n\t\t\t\t\t\t\t\t@focus=\"showError = false\"\n\t\t\t\t\t\t\t\t:autoFormat=\"true\"\n\t\t\t\t\t\t\t\tmode=\"national\"\n\t\t\t\t\t\t\t\tinvalidMsg=\"Please enter a valid phone number\"\n\t\t\t\t\t\t\t\tid=\"mobile\"\n\t\t\t\t\t\t\t></vue-tel-input>\n\t\t\t\t\t\t\t<p class=\"text-danger\" v-if=\"showError && isPhoneError\">\n\t\t\t\t\t\t\t\tInvalid Phone Number\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"inline-group align-items-end\">\n\t\t\t\t\t\t<div class=\"col position-relative\">\n\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\tfor=\"password\"\n\t\t\t\t\t\t\t\t:class=\"['main-label', { 'text-danger': pwdError }]\"\n\t\t\t\t\t\t\t\t>Password (required)</label\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t:type=\"showPassword ? 'text' : 'password'\"\n\t\t\t\t\t\t\t\t:class=\"['form-input', { 'text-danger': pwdError }]\"\n\t\t\t\t\t\t\t\tid=\"password\"\n\t\t\t\t\t\t\t\tv-model=\"password\"\n\t\t\t\t\t\t\t\tplaceholder=\"Enter Password here...\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t@click=\"toggleShowPassword\"\n\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t\t'fas input-icon-right',\n\t\t\t\t\t\t\t\t\t{ 'fa-eye-slash': showPassword, 'fa-eye': !showPassword },\n\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-1\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t@click=\"generatePassword\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tclass=\"primary-btn\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tGenerate\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t<label for=\"address\" class=\"main-label\">Address (optional)</label>\n\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\tplaceholder=\"Enter Address here...\"\n\t\t\t\t\t\t\t\tv-model=\"address\"\n\t\t\t\t\t\t\t></textarea>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t<label for=\"city\" class=\"main-label\">City (required)</label>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\tid=\"city\"\n\t\t\t\t\t\t\t\tv-model=\"city\"\n\t\t\t\t\t\t\t\tplaceholder=\"Enter city here...\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t<label for=\"country\" class=\"main-label\">Country (required)</label>\n\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\t\tid=\"country\"\n\t\t\t\t\t\t\t\tv-model=\"country\"\n\t\t\t\t\t\t\t\tplaceholder=\"Select Country...\"\n\t\t\t\t\t\t\t\t:options=\"countryCodes\"\n\t\t\t\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t\t\t\t:reduce=\"(option) => option['alpha-3']\"\n\t\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t\t></v-select>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t\t<p v-if=\"pwdError\" class=\"error-text text-danger\">{{ errorText }}</p>\n\t\t\t</div>\n\t\t\t<div v-if=\"currentStep == 2 && hasExtraFields\" id=\"page2\">\n\t\t\t\t<div class=\"mb-4\">\n\t\t\t\t\t<h1 class=\"add-enroll-title\">\n\t\t\t\t\t\tAdd New {{ createUserType }}\n\t\t\t\t\t\t{{ createUserType.toLowerCase() == \"management\" ? \"User\" : null }}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<span class=\"add-pricing-sub-title\"> Additional Information </span>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"input in parsedExtraFields\"\n\t\t\t\t\t:key=\"input.Key\"\n\t\t\t\t\tclass=\"form-group mb-4\"\n\t\t\t\t>\n\t\t\t\t\t<!-- <label for=\"gender\" class=\"main-label\">Gender (required)</label> -->\n\t\t\t\t\t<DynamicFormInput\n\t\t\t\t\t\tcustomInputClass=\"form-input\"\n\t\t\t\t\t\tcustomLabelClass=\"main-label\"\n\t\t\t\t\t\t:inputFieldOptions=\"input\"\n\t\t\t\t\t\t@inputValue=\"\n\t\t\t\t\t\t\t(value) => {\n\t\t\t\t\t\t\t\textraproperties.CustomFields[input.Key] = value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t:required=\"true\"\n\t\t\t\t\t\t:showLabel=\"true\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<a @click=\"prev\" v-if=\"showPrev\" role=\"button\" class=\"step-btn prev\">\n\t\t\t\t\t<i class=\"fas fa-long-arrow-alt-left\"></i> prev\n\t\t\t\t</a>\n\t\t\t\t<button\n\t\t\t\t\t@click=\"next\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t\t:disabled=\"disableNext || loading\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner small v-if=\"loading\"></b-spinner> {{ stepButtonContent }}\n\t\t\t\t\t<i class=\"fas fa-long-arrow-alt-right\"></i>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { countryCodes } from \"../../../constants/countryCodes\";\nimport { mapActions, mapState } from \"vuex\";\nimport DynamicFormInput from \"../../Layout/DynamicFormInput.vue\";\nconst getCountryISO3 = require(\"country-iso-2-to-3\");\nimport { createPopper } from \"@popperjs/core\";\n\nexport default {\n\tname: \"CreateNewUserModal\",\n\tdata() {\n\t\treturn {\n\t\t\tcurrentStep: 1,\n\t\t\ttotalSteps: 1,\n\t\t\tfirstName: null,\n\t\t\tlastName: null,\n\t\t\temail: null,\n\t\t\tpassword: null,\n\t\t\tconfirmPassword: null,\n\t\t\tusername: null,\n\t\t\tmobile: null,\n\t\t\tphone: null,\n\t\t\tcity: null,\n\t\t\tcountryCodes,\n\t\t\tcountry: null,\n\t\t\tmanagementRole: null,\n\t\t\t// education: null,\n\t\t\troleOptions: [{ id: \"1\", value: \"admin\", label: \"Admin\" }],\n\t\t\tprofilePicturePath: null,\n\t\t\tprofilePictureType: \"image\",\n\t\t\t// role: null,\n\t\t\taddress: null,\n\t\t\textraproperties: { CustomFields: {} },\n\t\t\terrorText: \"\",\n\t\t\tpwdError: false,\n\t\t\ttelInputOptions: {\n\t\t\t\tautocomplete: \"on\",\n\t\t\t\tmaxlength: 15,\n\t\t\t\ttabindex: 10,\n\t\t\t\tplaceholder: \"Phone Number (required)\",\n\t\t\t\tmode: \"national\",\n\t\t\t},\n\t\t\tshowPassword: false,\n\t\t\tisPhoneError: false,\n\t\t\tshowError: false,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\n\t\t\t\"systemParameters\",\n\t\t\t\"currentCountry\",\n\t\t\t\"currentCity\",\n\t\t]),\n\t\t...mapState(\"user\", [\"allUsers\", \"loading\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tstepButtonContent() {\n\t\t\tif (this.currentStep != this.totalSteps) {\n\t\t\t\treturn \"Next\";\n\t\t\t} else return \"Create\";\n\t\t},\n\t\tshowPrev() {\n\t\t\treturn this.currentStep > 1;\n\t\t},\n\t\tdisableNext() {\n\t\t\tif (this.currentStep == 1) {\n\t\t\t\tif (this.isPhoneError) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tthis.firstName &&\n\t\t\t\t\tthis.lastName &&\n\t\t\t\t\tthis.email &&\n\t\t\t\t\tthis.password &&\n\t\t\t\t\tthis.country &&\n\t\t\t\t\tthis.city &&\n\t\t\t\t\tthis.phone\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else return true;\n\t\t\t} else if (this.currentStep == 2) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\thasExtraFields() {\n\t\t\tif (\n\t\t\t\t(this.systemParameters.UserRegisterExtraFields &&\n\t\t\t\t\tthis.createUserType.toLowerCase() == \"student\") ||\n\t\t\t\t(this.systemParameters.TrainerUserRegisterExtraFields &&\n\t\t\t\t\tthis.createUserType.toLowerCase() == \"trainer\")\n\t\t\t)\n\t\t\t\treturn true;\n\t\t\telse return false;\n\t\t},\n\t\tparsedExtraFields() {\n\t\t\t// console.log(this.systemParameters);\n\t\t\tif (\n\t\t\t\tthis.systemParameters &&\n\t\t\t\tthis.systemParameters.UserRegisterExtraFields &&\n\t\t\t\tthis.createUserType.toLowerCase() == \"student\"\n\t\t\t) {\n\t\t\t\t// console.log(\"user type student\");\n\t\t\t\treturn this.systemParameters.UserRegisterExtraFields;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tthis.systemParameters &&\n\t\t\t\tthis.systemParameters.TrainerUserRegisterExtraFields &&\n\t\t\t\tthis.createUserType.toLowerCase() == \"trainer\"\n\t\t\t) {\n\t\t\t\t// console.log(\"user type TRAINER\");\n\t\t\t\treturn this.systemParameters.TrainerUserRegisterExtraFields;\n\t\t\t}\n\t\t},\n\t},\n\tprops: {\n\t\tshowModal: Boolean,\n\t\tcreateUserType: String,\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"createUser\"]),\n\t\topenDialog() {\n\t\t\t$(\"#image-upload\").click();\n\t\t},\n\t\tremoveFile() {\n\t\t\tthis.profilePicturePath = null;\n\t\t},\n\t\tprev() {\n\t\t\tif (this.currentStep > 1) {\n\t\t\t\tthis.currentStep -= 1;\n\t\t\t}\n\t\t},\n\t\tnext() {\n\t\t\tif (this.currentStep < this.totalSteps) {\n\t\t\t\tthis.currentStep += 1;\n\t\t\t} else if (this.currentStep == this.totalSteps) {\n\t\t\t\tvar newUser = {\n\t\t\t\t\tmobile: this.phone,\n\t\t\t\t\temail: this.email,\n\t\t\t\t\tusername: this.username,\n\t\t\t\t\tpassword: this.password,\n\t\t\t\t\tcountryCode: this.country,\n\t\t\t\t\tcity: this.city,\n\t\t\t\t\textraproperties: JSON.stringify(this.extraproperties),\n\t\t\t\t\tfirstName: this.firstName,\n\t\t\t\t\tlastName: this.lastName,\n\t\t\t\t\tprofilePicturePath: this.profilePicturePath,\n\t\t\t\t\taddress: this.address,\n\t\t\t\t\ttype: this.createUserType,\n\t\t\t\t\tisActive: true,\n\t\t\t\t};\n\t\t\t\tif (this.createUserType.toLowerCase() == \"trainer\") {\n\t\t\t\t\tnewUser.education = this.education;\n\t\t\t\t} else if (this.createUserType.toLowerCase() == \"management\") {\n\t\t\t\t\tnewUser.role = this.managementRole;\n\t\t\t\t}\n\t\t\t\tthis.createUser(newUser).then((response) => {\n\t\t\t\t\tconsole.log(response);\n\t\t\t\t\tif (response) {\n\t\t\t\t\t\tif (this.createUserType.toLowerCase() == \"student\")\n\t\t\t\t\t\t\tthis.triggerEnroll(response);\n\t\t\t\t\t\tthis.closeModal();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetFile(e) {\n\t\t\tconst [file] = e.target.files;\n\t\t\tif (file) {\n\t\t\t\tthis.profilePicturePath = URL.createObjectURL(file);\n\t\t\t\tdocument.getElementById(\"preview\").title = file.name;\n\t\t\t\tthis.profilePictureType = file.type.split(\"/\")[0];\n\t\t\t}\n\t\t\tconsole.log(\"file: \", e.target.files);\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t},\n\t\tshowEnrollUserPopup(user) {\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\"Do you wish to enroll this student in any courses?\", {\n\t\t\t\t\ttitle: \"Enroll New Student\",\n\t\t\t\t\tsize: \"md\",\n\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\tcentered: true,\n\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\tnoCloseOnBackdrop: true,\n\t\t\t\t\tnoCloseOnEsc: true,\n\t\t\t\t})\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tconsole.log(value);\n\t\t\t\t\t\tthis.triggerEnroll(user);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.closeModal();\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t\ttriggerEnroll(user) {\n\t\t\tconsole.log(\"triggerEnroll\");\n\t\t\tthis.$emit(\"enrollStudent\", user);\n\t\t\tthis.closeModal();\n\t\t},\n\t\tvalidate(num, obj) {\n\t\t\t// console.log(num, obj);\n\t\t\tif (obj.valid != null && obj.valid === false) {\n\t\t\t\tthis.isPhoneError = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.isPhoneError = false;\n\t\t\tif (obj.country && obj.country.iso2) {\n\t\t\t\tthis.country = getCountryISO3(obj.country.iso2);\n\t\t\t\tthis.phone = obj.number;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tsetUsername() {\n\t\t\tif (this.firstName && this.lastName)\n\t\t\t\tvar length = 4,\n\t\t\t\t\tcharset =\n\t\t\t\t\t\t\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\",\n\t\t\t\t\trandomCode = \"\";\n\t\t\tfor (var i = 0, n = charset.length; i < length; ++i) {\n\t\t\t\trandomCode += charset.charAt(Math.floor(Math.random() * n));\n\t\t\t}\n\t\t\tthis.username =\n\t\t\t\tthis.firstName.trim().replace(/ +/g, \"_\").toLowerCase() +\n\t\t\t\t\"_\" +\n\t\t\t\tthis.lastName.trim().replace(/ +/g, \"_\").toLowerCase() +\n\t\t\t\t\"_\" +\n\t\t\t\trandomCode;\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\t// console.log(dropdownList, component.$refs.toggle, { width });\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t\tgeneratePassword() {\n\t\t\tvar length = 8,\n\t\t\t\tcharset =\n\t\t\t\t\t\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\",\n\t\t\t\tretVal = \"\";\n\t\t\tfor (var i = 0, n = charset.length; i < length; ++i) {\n\t\t\t\tretVal += charset.charAt(Math.floor(Math.random() * n));\n\t\t\t}\n\t\t\tthis.password = retVal;\n\t\t\t// return retVal;\n\t\t},\n\t\ttoggleShowPassword() {\n\t\t\tthis.showPassword = !this.showPassword;\n\t\t},\n\t},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.hasExtraFields) {\n\t\t\t\tthis.totalSteps = 2;\n\t\t\t}\n\t\t\tthis.country = this.currentCountry;\n\t\t\tif (this.currentCity) this.city = this.currentCity;\n\t\t},\n\t\tpassword: function () {\n\t\t\tif (this.pwdError) {\n\t\t\t\tthis.pwdError = false;\n\t\t\t\tthis.errorText = \"\";\n\t\t\t}\n\t\t},\n\t\tconfirmPassword: function () {\n\t\t\tif (this.pwdError) {\n\t\t\t\tthis.pwdError = false;\n\t\t\t\tthis.errorText = \"\";\n\t\t\t}\n\t\t},\n\t},\n\tcomponents: { DynamicFormInput },\n};\n</script>\n\n<style>\n.create-user-modal {\n\tmin-height: 45.375rem;\n\twidth: 70vw;\n}\n\n.create-user-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n}\n\n.confirm-modal-body {\n\tpadding: 1rem !important;\n\tfont-size: 1.125rem;\n}\n.create-user-modal .body-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 2.5rem 2.5rem 1.5rem;\n\twidth: 100%;\n}\n\n.create-user-modal .add-enroll-title {\n\ttext-transform: capitalize;\n\tfont-weight: 450;\n\tfont-size: 2rem;\n\tline-height: 0.75;\n\tmargin: 0.5rem 0 1rem;\n\tcolor: #000000;\n}\n\n.create-user-modal .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n\n.create-user-modal .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0 0 0.875rem;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n\tborder-radius: 0;\n\tbox-shadow: none !important;\n\tposition: relative;\n\theight: 40px;\n}\n\n.create-user-modal .upload-btn-wrapper {\n\twidth: 11rem;\n\tmax-width: 11rem;\n\tmax-height: 11rem;\n\theight: 10rem;\n\tposition: relative;\n\toverflow: hidden;\n\tbackground: #f5f5f5;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\tborder-radius: 8px;\n\tpadding: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.upload-btn-wrapper.preview {\n\tpadding: 0;\n}\n\n#preview {\n\tmax-width: 100%;\n}\n\n.upload-btn {\n\tpadding: 0.5rem 1.25rem;\n\tfont-weight: bold;\n\tcursor: pointer;\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 6px;\n\ttext-transform: uppercase;\n\tcolor: #000000;\n\tfont-weight: normal;\n}\n\n.input-icon-right {\n\t/* position: absolute; */\n\tfont-size: 1.25rem;\n\tright: 0rem;\n\tmargin-top: 0.5rem;\n\tcursor: pointer;\n}\n\n.create-user-modal .upload-btn-wrapper .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n\tposition: absolute;\n}\n\n.create-user-modal .upload-btn-wrapper:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.create-user-modal .upload-btn-wrapper .right-menu-icon {\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n.create-user-modal .upload-btn-wrapper .right-menu-icon img {\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.create-user-modal .upload-btn-wrapper .right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n.create-user-modal #profilePicturePath {\n\tpointer-events: none;\n}\n\n.create-user-modal .form-input.error {\n\tcolor: var(--color-danger) !important;\n\tborder-color: var(--color-danger) !important;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateNewUserModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateNewUserModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreateNewUserModal.vue?vue&type=template&id=b9d37348&\"\nimport script from \"./CreateNewUserModal.vue?vue&type=script&lang=js&\"\nexport * from \"./CreateNewUserModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CreateNewUserModal.vue?vue&type=style&index=0&id=b9d37348&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"user-modal-tab-body devices\"},[_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('div',[(_vm.isUserViewLog && _vm.selectedDetail)?_c('div',[(_vm.parseProductVariants(_vm.selectedDetail.content.parentContents))?_c('h6',{staticStyle:{\"color\":\"var(--primary-color)\",\"margin\":\"0px\"}},[_vm._v(\" \"+_vm._s(_vm.parseProductVariants(_vm.selectedDetail.content.parentContents).map(function (x) { return x.ProductVariantTitle; }).join(\", \"))+\" \")]):_vm._e(),_c('h5',{staticStyle:{\"margin\":\"0px\"}},[_vm._v(_vm._s(_vm.selectedDetail.content.title))]),(_vm.parseSubjects(_vm.selectedDetail.content.parentContents))?_c('small',[_vm._v(\" \"+_vm._s(_vm.parseSubjects(_vm.selectedDetail.content.parentContents).map(function (x) { return x.title; }).join(\", \"))+\" \")]):_vm._e(),(_vm.parseChapters(_vm.selectedDetail.content.parentContents))?_c('small',[_vm._v(\" -> \"+_vm._s(_vm.parseChapters(_vm.selectedDetail.content.parentContents).map(function (x) { return x.title; }).join(\", \"))+\" \")]):_vm._e()]):_vm._e()]),(_vm.isUserViewLog)?_c('div',[_c('button',{staticClass:\"step-btn\",on:{\"click\":_vm.backToList}},[_vm._v(\"Back To List\")])]):_vm._e()]),(!_vm.isUserViewLog)?_c('div',[(_vm.contentDetail.length > 0)?_c('table',{staticClass:\"table table-hover table-borderless enrolled-users-table\"},[_c('thead',[_c('tr',[_c('th',{staticClass:\"col\"},[_vm._v(\"#\")]),(!_vm.productVariantID)?_c('th',{staticClass:\"col\"},[_vm._v(\"Course\")]):_vm._e(),_c('th',{staticClass:\"col\"},[_vm._v(\"Subject\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Chapter\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Content\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"View Count\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Last Viewed At\")])])]),_c('tbody',_vm._l((_vm.contentDetail),function(data,index){return _c('tr',{key:data.id,staticStyle:{\"cursor\":\"pointer\"},attrs:{\"disabled\":!data.viewsCount || data.viewsCount <= 0},on:{\"click\":function($event){return _vm.showDetail(index)}}},[_c('td',[_vm._v(\" \"+_vm._s(index+1)+\" \")]),(!_vm.productVariantID)?_c('td',{staticClass:\"col\"},[(_vm.parseProductVariants(data.content.parentContents))?_c('span',[_vm._v(\" \"+_vm._s(_vm.parseProductVariants(data.content.parentContents).map(function (x) { return x.ProductVariantTitle; }).join(\", \"))+\" \")]):_vm._e()]):_vm._e(),_c('td',{staticClass:\"col\"},[(_vm.parseSubjects(data.content.parentContents))?_c('span',[_vm._v(\" \"+_vm._s(_vm.parseSubjects(data.content.parentContents).map(function (x) { return x.title; }).join(\", \"))+\" \")]):_vm._e()]),_c('td',{staticClass:\"col\"},[(_vm.parseChapters(data.content.parentContents))?_c('span',[_vm._v(\" \"+_vm._s(_vm.parseChapters(data.content.parentContents).map(function (x) { return x.title; }).join(\", \"))+\" \")]):_vm._e()]),_c('td',{staticClass:\"col\"},[_c('div',{staticStyle:{\"display\":\"flex\"}},[(data.content.type.toLowerCase() == 'recordedvideos')?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/recorded-lecture.png\")}}):(data.content.type.toLowerCase() == 'exam')?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/exam-test.png\")}}):(data.content.type.toLowerCase() == 'flashcards')?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/flash-card.png\")}}):(data.content.type.toLowerCase() == 'freetext')?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/freeText.png\")}}):(data.content.type.toLowerCase() == 'studymaterial')?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/study-material.png\")}}):(data.content.type.toLowerCase() == 'quiz')?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/exam-test.png\")}}):(data.content.type.toLowerCase() == 'assignment')?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/assignment.png\")}}):(data.content.type.toLowerCase() == 'liveclass')?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/zoom-logo.png\")}}):_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/study-material.png\")}}),_c('h6',{staticStyle:{\"margin\":\"0px\"}},[_vm._v(\" \"+_vm._s(data.content.title)+\" \"),_c('small',[_c('br'),_vm._v(_vm._s(data.content.type))])])])]),_c('td',[_c('div',[_vm._v(\" \"+_vm._s(data.viewsCount && data.viewsCount > 0 ? data.viewsCount + \" Views\" : \"No Views\")+\" \")])]),_c('td',[_c('div',[_vm._v(\" \"+_vm._s(_vm.timeParser(data.lastViewedAt))+\" \")])])])}),0)]):(_vm.contentDetail.length == 0 && _vm.loading)?_c('div',{staticClass:\"d-flex align-items-center justify-content-center gap-2 p-3 font-500\"},[_c('b-spinner',{attrs:{\"small\":\"\"}}),_vm._v(\" Loading... \")],1):_c('div',{staticClass:\"no-content\"},[_vm._v(\"No Data found\")])]):_c('table',{staticClass:\"table table-hover table-borderless\"},[_c('thead',[(_vm.selectedDetail.content.type.toLowerCase() == 'liveclass')?_c('tr',[_c('th',{staticStyle:{\"width\":\"2%\",\"text-align\":\"center\"}},[_vm._v(\"#\")]),_c('th',{staticStyle:{\"width\":\"25%\"}},[_vm._v(\"Time in\")]),_c('th',{staticStyle:{\"width\":\"25%\"}},[_vm._v(\"Time out\")]),_c('th',{staticStyle:{\"width\":\"25%\"}},[_vm._v(\"Duration\")]),_c('th',{staticStyle:{\"width\":\"23%\"}},[_vm._v(\"Attended From\")])]):_c('tr',[_c('th',{staticStyle:{\"width\":\"2%\",\"text-align\":\"center\"}},[_vm._v(\"#\")]),_c('th',{staticStyle:{\"width\":\"10%\"}},[_vm._v(\"Viewed At\")]),_c('th',{staticStyle:{\"width\":\"35%\"}},[_vm._v(\"Device\")])])]),_c('tbody',[(!_vm.selectedDetailViewLogs)?_c('tr',[_c('td',{attrs:{\"colspan\":\"5\"}},[_c('center',[_vm._v(\"Loading...\")])],1)]):(_vm.selectedDetailViewLogs.length <= 0)?_c('tr',[_c('td',{attrs:{\"colspan\":\"5\"}},[_c('center',[_vm._v(\"No Data Found\")])],1)]):(_vm.selectedDetailViewLogs.length > 0 && _vm.selectedDetail.content.type.toLowerCase() != 'liveclass')?_vm._l((_vm.selectedDetailViewLogs),function(viewLog,index){return _c('tr',[_c('td',[_c('center',[_vm._v(_vm._s(index + 1))])],1),_c('td',[_vm._v(_vm._s(_vm.timeParser(viewLog.viewedAt)))]),_c('td',[(viewLog.device && viewLog.device.deviceToken)?_c('span',[_vm._v(_vm._s(viewLog.device.deviceToken))]):_c('center',[_vm._v(\"-\")])],1)])}):_vm._l((_vm.selectedDetailViewLogs),function(viewLog,index){return _c('tr',[_c('td',[_c('center',[_vm._v(_vm._s(index + 1))])],1),_c('td',[_vm._v(_vm._s(_vm.timeParser(viewLog.timeIn)))]),_c('td',[_vm._v(_vm._s(_vm.timeParser(viewLog.timeOut)))]),_c('td',[_vm._v(_vm._s(_vm.secondsToHHMMSSFormat(viewLog.duration)))]),_c('td',[_vm._v(_vm._s(viewLog.attendedFrom))])])})],2)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <div class=\"user-modal-tab-body devices\">\n      <div class=\"d-flex justify-content-between\">\n        <div>\n          <div v-if=\"isUserViewLog && selectedDetail\">\n            <h6 v-if=\"parseProductVariants(selectedDetail.content.parentContents)\"\n              style=\"color: var(--primary-color); margin: 0px;\">\n              {{ parseProductVariants(selectedDetail.content.parentContents).map(x => x.ProductVariantTitle).join(\", \") }}\n            </h6>\n            <h5 style=\"margin: 0px;\">{{ selectedDetail.content.title }}</h5>\n            <small v-if=\"parseSubjects(selectedDetail.content.parentContents)\">\n              {{ parseSubjects(selectedDetail.content.parentContents).map(x => x.title).join(\", \") }}\n            </small>\n            <small v-if=\"parseChapters(selectedDetail.content.parentContents)\">\n              ->\n              {{ parseChapters(selectedDetail.content.parentContents).map(x => x.title).join(\", \") }}\n            </small>\n          </div>\n        </div>\n        <div v-if=\"isUserViewLog\">\n          <button class=\"step-btn\" @click=\"backToList\">Back To List</button>\n        </div>\n      </div>\n      <div v-if=\"!isUserViewLog\">\n        <table class=\"table table-hover table-borderless enrolled-users-table\" v-if=\"contentDetail.length > 0\">\n          <thead>\n            <tr>\n              <th class=\"col\">#</th>\n              <th class=\"col\" v-if=\"!productVariantID\">Course</th>\n              <th class=\"col\">Subject</th>\n              <th class=\"col\">Chapter</th>\n              <th class=\"col\">Content</th>\n              <th class=\"col\">View Count</th>\n              <th class=\"col\">Last Viewed At</th>\n            </tr>\n          </thead>\n          <tbody>\n            <tr v-for=\"(data, index) in contentDetail\" :disabled=\"!data.viewsCount || data.viewsCount <= 0\"\n              @click=\"showDetail(index)\" style=\"cursor: pointer;\" :key=\"data.id\">\n              <!-- v-for=\"device in devices\"\n                :key=\"device.id\" -->\n              <td>\n                {{ index+1 }}\n              </td>  \n              <td class=\"col\" v-if=\"!productVariantID\">\n                  <span v-if=\"parseProductVariants(data.content.parentContents)\">\n                    {{ parseProductVariants(data.content.parentContents).map(x => x.ProductVariantTitle).join(\", \") }}\n                  </span>\n              </td>\n              <td class=\"col\">                \n                  <span v-if=\"parseSubjects(data.content.parentContents)\">\n                    {{ parseSubjects(data.content.parentContents).map(x => x.title).join(\", \") }}\n                  </span>\n              </td>\n              <td class=\"col\">                \n                  <span v-if=\"parseChapters(data.content.parentContents)\">\n                    {{ parseChapters(data.content.parentContents).map(x => x.title).join(\", \") }}\n                  </span>\n              </td>\n              <td class=\"col\">\n                <div style=\"display: flex;\">\n                  <img v-if=\"data.content.type.toLowerCase() == 'recordedvideos'\" class=\"page-view-icon\" src=\"@/assets/images/recorded-lecture.png\" />\n                  <img v-else-if=\"data.content.type.toLowerCase() == 'exam'\" class=\"page-view-icon\" src=\"@/assets/images/exam-test.png\" />\n                  <img v-else-if=\"data.content.type.toLowerCase() == 'flashcards'\" class=\"page-view-icon\" src=\"@/assets/images/flash-card.png\" />\n                  <img v-else-if=\"data.content.type.toLowerCase() == 'freetext'\" class=\"page-view-icon\" src=\"@/assets/images/freeText.png\" />\n                  <img v-else-if=\"data.content.type.toLowerCase() == 'studymaterial'\" class=\"page-view-icon\" src=\"@/assets/images/study-material.png\" />\n                  <img v-else-if=\"data.content.type.toLowerCase() == 'quiz'\" class=\"page-view-icon\" src=\"@/assets/images/exam-test.png\" />\n                  <img v-else-if=\"data.content.type.toLowerCase() == 'assignment'\" class=\"page-view-icon\" src=\"@/assets/images/assignment.png\" />\n                  <img v-else-if=\"data.content.type.toLowerCase() == 'liveclass'\" class=\"page-view-icon\" src=\"@/assets/images/zoom-logo.png\" />\n                  <img v-else class=\"page-view-icon\" src=\"@/assets/images/study-material.png\" />\n                  <h6 style=\"margin: 0px;\">\n                    {{ data.content.title }}\n                    <small><br />{{ data.content.type }}</small>\n                  </h6>\n                </div>\n              </td>\n              <td>\n                <div>\n                  {{\n                    data.viewsCount && data.viewsCount > 0\n                    ? data.viewsCount + \" Views\"\n                    : \"No Views\"\n                  }}\n                </div>\n              </td>\n              <td>\n                <div>\n                  {{ timeParser(data.lastViewedAt) }}\n                </div>\n              </td>\n            </tr>\n          </tbody>\n        </table>\n\n        <div v-else-if=\"contentDetail.length == 0 && loading\"\n          class=\"d-flex align-items-center justify-content-center gap-2 p-3 font-500\">\n          <b-spinner small></b-spinner> Loading...\n        </div>\n        <div v-else class=\"no-content\">No Data found</div>\n      </div>\n      <table class=\"table table-hover table-borderless\" v-else>\n        <thead>\n          <tr v-if=\"selectedDetail.content.type.toLowerCase() == 'liveclass'\">\n            <th style=\"width: 2%; text-align: center\">#</th>\n            <th style=\"width: 25%\">Time in</th>\n            <th style=\"width: 25%\">Time out</th>\n            <th style=\"width: 25%\">Duration</th>\n            <th style=\"width: 23%\">Attended From</th>\n          </tr>\n          <tr v-else>\n            <th style=\"width: 2%; text-align: center\">#</th>\n            <th style=\"width: 10%\">Viewed At</th>\n            <th style=\"width: 35%\">Device</th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr v-if=\"!selectedDetailViewLogs\">\n            <td colspan=\"5\">\n              <center>Loading...</center>\n            </td>\n          </tr>\n          <tr v-else-if=\"selectedDetailViewLogs.length <= 0\">\n            <td colspan=\"5\">\n              <center>No Data Found</center>\n            </td>\n\n          </tr>\n          <tr v-else-if=\"selectedDetailViewLogs.length > 0 && selectedDetail.content.type.toLowerCase() != 'liveclass'\" v-for=\"(viewLog, index) in selectedDetailViewLogs\">\n            <td>\n              <center>{{ index + 1 }}</center>\n            </td>\n            <td>{{ timeParser(viewLog.viewedAt) }}</td>\n            <td>\n              <span v-if=\"viewLog.device && viewLog.device.deviceToken\">{{\n                viewLog.device.deviceToken\n              }}</span>\n              <center v-else>-</center>\n            </td>\n            <!-- <td><span v-if=\"viewLog.device && viewLog.device.platform\">{{ viewLog.device.platform }}</span><span v-else>-</span></td>\n\t\t\t\t\t\t\t<td><span v-if=\"viewLog.device && viewLog.device.ip\">{{ viewLog.device.ip }}</span><span v-else>-</span></td> -->\n          </tr>\n          <tr v-else v-for=\"(viewLog, index) in selectedDetailViewLogs\">\n            <td>\n              <center>{{ index + 1 }}</center>\n            </td>\n            <td>{{ timeParser(viewLog.timeIn) }}</td>\n            <td>{{ timeParser(viewLog.timeOut) }}</td>\n            <td>{{ secondsToHHMMSSFormat(viewLog.duration) }}</td>\n            <td>{{ viewLog.attendedFrom }}</td>\n            <!-- <td><span v-if=\"viewLog.device && viewLog.device.platform\">{{ viewLog.device.platform }}</span><span v-else>-</span></td>\n\t\t\t\t\t\t\t<td><span v-if=\"viewLog.device && viewLog.device.ip\">{{ viewLog.device.ip }}</span><span v-else>-</span></td> -->\n          </tr>\n        </tbody>\n      </table>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport formatter from \"../../../helpers/FormatHelpers\";\n\nexport default {\n  name: \"UserAttendance\",\n  data() {\n    return {\n      contentDetail: [],\n      selectedDetailViewLogs: [],\n      isUserViewLog: false,\n      selectedDetail: null\n    };\n  },\n  props: { user: Object, mode: Number },\n  methods: {\n    ...mapActions(\"content\", [\n      \"fetchContentAttendance\",\n      \"fetchContentAttendanceDetail\",\n      \"exportContentAttendanceReport\",\n      \"fetchSingleLiveClassAttendance\"\n    ]),\n\n    secondsToHHMMSSFormat:function (seconds) {\n      if(seconds == null || seconds == undefined) {\n        return \"-\";\n      }\n      else if(seconds == 0) {\n        return \"0 sec\";\n      }\n\t\t\tvar sec_num = parseInt(seconds, 10); // don't forget the second param\n\t\t\tvar hours = Math.floor(sec_num / 3600);\n\t\t\tvar minutes = Math.floor((sec_num - (hours * 3600)) / 60);\n\t\t\tvar seconds = sec_num - (hours * 3600) - (minutes * 60);\n\n\t\t\treturn (parseInt(hours)>0 ? (hours + ' hr ') : \"\") + \n\t\t\t\t   (parseInt(minutes)>0 ? (minutes + ' min ') : \"\") + \n\t\t\t\t   (parseInt(seconds)>0 ? (seconds + ' sec'): \"\") ;\n\t\t},\n\n    showDetail(index) {\n      this.isUserViewLog = true;\n\n      this.selectedDetail = this.contentDetail[index];\n      \n      if(this.selectedDetail.content.type.toLowerCase() == 'liveclass') {\n        this.fetchSingleLiveClassAttendance({contentId: this.selectedDetail.content.id, userId: this.user.id})\n\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\tif (data && data.length > 0) {\n\t\t\t\t\t\t\tdata.sort((a, b) => new Date(a.timeIn) - new Date(b.timeIn));\n\t\t\t\t\t\t\tthis.selectedDetailViewLogs = data;\n\t\t\t\t\t\t} else {\n              this.selectedDetailViewLogs = [];\n            }\n\t\t\t\t\t});\n        return;\n      }\n      this.fetchContentAttendanceDetail({\n        contentID: this.contentDetail[index].content.id,\n        userID: this.user.id,\n      })\n        .then((data) => {\n          if (data && data.length > 0) {\n            this.selectedDetailViewLogs = data[0].viewLogs;\n          } else {\n            this.contentDetail = [];\n          }\n        });\n    },\n\n    timeParser(date) {\n      if(!date) {\n        return \"-\";\n      }\n      return (\n        formatter.getInputDateFormat(date) +\n        \" \" +\n        formatter.getTimeIn12Hours(date)\n      );\n    },\n\n    backToList() {\n      this.selectedDetailViewLogs = [];\n      this.isUserViewLog = false;\n    },\n    parseContentParentHerarchy(parentContents) {\n      if (parentContents) {\n        var obj = JSON.parse(parentContents);\n        var chapters = obj.filter(x => x.ParentContentID);\n        var subjects = obj.filter(x => !x.ParentContentID);\n        var productVariants = obj.filter(x => x.ProductVariantID && x.ProductVariantTitle).map(x => { return { ProductVariantID: x.ProductVariantID, ProductVariantTitle: x.ProductVariantTitle } });\n        return { chapters, subjects, productVariants };\n      }\n    },\n    parseProductVariants(parentContents) {\n      return this.parseContentParentHerarchy(parentContents)?.productVariants.filter(x=>!this.productVariantID || x.ProductVariantID==this.productVariantID);\n    },\n    parseSubjects(parentContents) {\n      var subjects = {};\n      this.parseContentParentHerarchy(parentContents)?.subjects\n        .forEach(subject => {\n          subjects[subject.ID] = subject;\n        });\n      return Object.values(subjects);\n    },\n    parseChapters(parentContents) {\n      var chapters = {};\n      this.parseContentParentHerarchy(parentContents)?.chapters\n        .forEach(chapter => {\n          chapters[chapter.ID] = chapter;\n        });\n      return Object.values(chapters);\n    }\n  },\n  computed:{\n    productVariantID(){\n      if(this.$route.meta.title.toLowerCase()=='enrollment' && this.$route.params.id)\n      {\n        return this.$route.params.id;\n      }\n    }\n  },\n  created() {\n    this.loading = true;\n    this.fetchContentAttendance({\n      contentID: null,\n      userID: this.user.id,\n      productVariantID: this.productVariantID\n    })\n      .then((data) => {\n        this.loading = false;\n        if (data && data.length > 0) {\n          this.contentDetail = data;\n        } else {\n          this.contentDetail = [];\n        }\n      })\n      .catch(() => {\n        this.contentDetail = [];\n        this.loading = false;\n      });\n  },\n};\n</script>\n<style scoped>\n.page-view-icon {\n  width: 30px;\n  height: 30px;\n}\n\n.no-content {\n  padding: 1rem;\n  text-align: center;\n  font-weight: 500;\n  color: #666;\n  font-size: 1.125rem;\n}\n\n.set-limits-container {\n  display: flex;\n  flex-direction: column;\n}\n\n.right-float-label {\n  position: absolute;\n  right: 0;\n  /* bottom: 0.5rem; */\n  color: #aaa;\n}\n\n.platform-item input[type=\"checkbox\"] {\n  background: #ffffff;\n  border: 1px solid #b2b2b2;\n  box-sizing: border-box;\n  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n  border-radius: 3px;\n  width: 1.125rem;\n  height: 1.125rem;\n}\n\n.platform-item label {\n  flex-grow: 1;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserAttendance.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserAttendance.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserAttendance.vue?vue&type=template&id=1596edf4&scoped=true&\"\nimport script from \"./UserAttendance.vue?vue&type=script&lang=js&\"\nexport * from \"./UserAttendance.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserAttendance.vue?vue&type=style&index=0&id=1596edf4&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1596edf4\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-modal-tab-body\"},[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"firstName\"}},[_vm._v(\"First Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.firstName),expression:\"firstName\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"id\":\"firstName\",\"name\":\"firstName\",\"placeholder\":\"Enter First Name here...\",\"readonly\":!_vm.isEditMode},domProps:{\"value\":(_vm.firstName)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.firstName=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"lastName\"}},[_vm._v(\"Last Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.lastName),expression:\"lastName\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"id\":\"lastName\",\"name\":\"lastName\",\"placeholder\":\"Enter Last Name here...\",\"readonly\":!_vm.isEditMode},domProps:{\"value\":(_vm.lastName)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.lastName=$event.target.value}}})])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"email\"}},[_vm._v(\"Email\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"}],staticClass:\"form-input\",attrs:{\"type\":\"email\",\"id\":\"email\",\"name\":\"email\",\"placeholder\":\"Enter Email here...\",\"readonly\":!_vm.isEditMode,\"disabled\":\"\"},domProps:{\"value\":(_vm.email)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value}}})]),(_vm.user.type.toLowerCase() == 'management')?_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"role\"}},[_vm._v(\"Role\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"id\":\"role\",\"name\":\"role\",\"placeholder\":\"Select Role...\",\"options\":_vm.roleOptions,\"readonly\":!_vm.isEditMode,\"appendToBody\":true,\"disabled\":!_vm.isEditMode,\"calculate-position\":_vm.withPopper},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)}},model:{value:(_vm.managementRole),callback:function ($$v) {_vm.managementRole=$$v},expression:\"managementRole\"}})],1):_vm._e()])]),_c('div',{staticClass:\"col-3 ps-5\"},[_c('label',{staticClass:\"main-label\"},[_vm._v(\"Profile Picture\")]),_c('div',{class:[\n\t\t\t\t\t'upload-btn-wrapper',\n\t\t\t\t\t{ preview: _vm.profilePicturePath, disabled: !_vm.isEditMode } ]},[(_vm.isProfilePictureUploading)?_c('div',[_c('b-spinner',{attrs:{\"small\":\"\"}})],1):_c('img',{class:[{ 'd-none': !_vm.profilePicturePath, disabled: !_vm.isEditMode }],attrs:{\"id\":\"preview\",\"src\":_vm.profilePicturePath,\"alt\":\"preview\"}}),(_vm.profilePicturePath && !_vm.isProfilePictureUploading)?_c('div',{staticClass:\"right-menu\"},[_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.editFile}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]),_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.removeFile}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})])]):_vm._e(),(!_vm.profilePicturePath)?_c('button',{staticClass:\"upload-btn\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.editFile}},[_vm._v(\" upload \")]):_vm._e(),_c('input',{staticClass:\"form-input\",attrs:{\"type\":\"file\",\"accept\":\"image/*,video/*\",\"name\":\"profilePicturePath\",\"id\":\"profilePicturePath\",\"disabled\":!_vm.isEditMode},on:{\"change\":_vm.getFile}})])])]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"username\"}},[_vm._v(\"Username\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"id\":\"username\",\"name\":\"username\",\"placeholder\":\"Enter Username here...\",\"readonly\":!_vm.isEditMode},domProps:{\"value\":(_vm.username)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.username=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"phone\"}},[_vm._v(\"Phone Number\")]),_c('vue-tel-input',{ref:\"phoneInput\",class:(\"form-input \" + (_vm.isPhoneError && _vm.showError ? 'error' : '')),attrs:{\"inputOptions\":_vm.telInputOptions,\"validCharactersOnly\":\"\",\"defaultCountry\":_vm.user.countryCode ? _vm.user.countryCode : '',\"autoFormat\":true,\"mode\":\"national\",\"invalidMsg\":\"Please enter a valid phone number\",\"id\":\"mobile\",\"disabled\":!_vm.isEditMode},on:{\"input\":_vm.validate,\"country-changed\":_vm.changeCountry,\"blur\":function($event){_vm.showError = true},\"focus\":function($event){_vm.showError = false}},model:{value:(_vm.mobile),callback:function ($$v) {_vm.mobile=$$v},expression:\"mobile\"}})],1)]),_c('div',{staticClass:\"inline-group\"},[_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"address\"}},[_vm._v(\"Address\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.address),expression:\"address\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"placeholder\":\"Enter Address here...\",\"id\":\"address\",\"name\":\"address\",\"readonly\":!_vm.isEditMode},domProps:{\"value\":(_vm.address)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.address=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"city\"}},[_vm._v(\"City\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.city),expression:\"city\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"id\":\"city\",\"name\":\"city\",\"placeholder\":\"Enter city here...\",\"readonly\":!_vm.isEditMode},domProps:{\"value\":(_vm.city)},on:{\"change\":function($event){_vm.isEditMode && _vm.update($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.city=$event.target.value}}})]),_c('div',{staticClass:\"col\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"country\"}},[_vm._v(\"Country\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"type\":\"password\",\"id\":\"country\",\"name\":\"country\",\"placeholder\":\"Select Country...\",\"options\":_vm.countryCodes,\"label\":\"name\",\"reduce\":function (option) { return option['alpha-3']; },\"disabled\":!_vm.isEditMode,\"appendToBody\":true,\"calculate-position\":_vm.withPopper},on:{\"input\":function($event){_vm.isEditMode && _vm.update($event, 'country')}},model:{value:(_vm.country),callback:function ($$v) {_vm.country=$$v},expression:\"country\"}})],1)]),_c('div',{staticClass:\"inline-group\"},_vm._l((_vm.CustomFields),function(input,index){return _c('div',{key:index,staticClass:\"col\"},[_c('DynamicFormInput',{attrs:{\"inputFieldOptions\":input,\"hasIcon\":false,\"customInputClass\":'form-input',\"showLabel\":true,\"customLabelClass\":'main-label',\"inputSetValue\":_vm.extraProperties.CustomFields &&\n\t\t\t\t\t_vm.extraProperties.CustomFields[input.Key],\"readonly\":!_vm.isEditMode},on:{\"inputValue\":function (value) {\n\t\t\t\t\t\t_vm.extraProperties.CustomFields[input.Key] = value;\n\t\t\t\t\t}}})],1)}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"user-modal-tab-body\">\n\t\t<div class=\"inline-group\">\n\t\t\t<div class=\"col\">\n\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t<label for=\"firstName\" class=\"main-label\">First Name</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\tid=\"firstName\"\n\t\t\t\t\t\t\tname=\"firstName\"\n\t\t\t\t\t\t\tv-model=\"firstName\"\n\t\t\t\t\t\t\tplaceholder=\"Enter First Name here...\"\n\t\t\t\t\t\t\t:readonly=\"!isEditMode\"\n\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t<label for=\"lastName\" class=\"main-label\">Last Name</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\tid=\"lastName\"\n\t\t\t\t\t\t\tname=\"lastName\"\n\t\t\t\t\t\t\tv-model=\"lastName\"\n\t\t\t\t\t\t\tplaceholder=\"Enter Last Name here...\"\n\t\t\t\t\t\t\t:readonly=\"!isEditMode\"\n\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"inline-group\">\n\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t<label for=\"email\" class=\"main-label\">Email</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\tid=\"email\"\n\t\t\t\t\t\t\tname=\"email\"\n\t\t\t\t\t\t\tv-model=\"email\"\n\t\t\t\t\t\t\tplaceholder=\"Enter Email here...\"\n\t\t\t\t\t\t\t:readonly=\"!isEditMode\"\n\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"user.type.toLowerCase() == 'management'\" class=\"col\">\n\t\t\t\t\t\t<label for=\"role\" class=\"main-label\">Role</label>\n\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\t\tid=\"role\"\n\t\t\t\t\t\t\tname=\"role\"\n\t\t\t\t\t\t\tv-model=\"managementRole\"\n\t\t\t\t\t\t\tplaceholder=\"Select Role...\"\n\t\t\t\t\t\t\t:options=\"roleOptions\"\n\t\t\t\t\t\t\t:readonly=\"!isEditMode\"\n\t\t\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t:disabled=\"!isEditMode\"\n\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"col-3 ps-5\">\n\t\t\t\t<label class=\"main-label\">Profile Picture</label>\n\t\t\t\t<div\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'upload-btn-wrapper',\n\t\t\t\t\t\t{ preview: profilePicturePath, disabled: !isEditMode },\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<div v-if=\"isProfilePictureUploading\">\n\t\t\t\t\t\t<b-spinner small> </b-spinner>\n\t\t\t\t\t</div>\n\t\t\t\t\t<img\n\t\t\t\t\t\tv-else\n\t\t\t\t\t\t:class=\"[{ 'd-none': !profilePicturePath, disabled: !isEditMode }]\"\n\t\t\t\t\t\tid=\"preview\"\n\t\t\t\t\t\t:src=\"profilePicturePath\"\n\t\t\t\t\t\talt=\"preview\"\n\t\t\t\t\t/>\n\t\t\t\t\t<div v-if=\"profilePicturePath && !isProfilePictureUploading\" class=\"right-menu\">\n\t\t\t\t\t\t<a role=\"button\" class=\"right-menu-icon\" @click=\"editFile\">\n\t\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a @click=\"removeFile\" role=\"button\" class=\"right-menu-icon delete\">\n\t\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"editFile\"\n\t\t\t\t\t\tv-if=\"!profilePicturePath\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclass=\"upload-btn\"\n\t\t\t\t\t>\n\t\t\t\t\t\tupload\n\t\t\t\t\t</button>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\t\tname=\"profilePicturePath\"\n\t\t\t\t\t\tid=\"profilePicturePath\"\n\t\t\t\t\t\t@change=\"getFile\"\n\t\t\t\t\t\t:disabled=\"!isEditMode\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"inline-group\">\n\t\t\t<div class=\"col\">\n\t\t\t\t<label for=\"username\" class=\"main-label\">Username</label>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\tid=\"username\"\n\t\t\t\t\tname=\"username\"\n\t\t\t\t\tv-model=\"username\"\n\t\t\t\t\tplaceholder=\"Enter Username here...\"\n\t\t\t\t\t:readonly=\"!isEditMode\"\n\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"col\">\n\t\t\t\t<label for=\"phone\" class=\"main-label\">Phone Number</label>\n\t\t\t\t<vue-tel-input\n\t\t\t\t\t:class=\"`form-input ${isPhoneError && showError ? 'error' : ''}`\"\n\t\t\t\t\t:inputOptions=\"telInputOptions\"\n\t\t\t\t\tvalidCharactersOnly\n\t\t\t\t\tv-model=\"mobile\"\n\t\t\t\t\t:defaultCountry=\"user.countryCode ? user.countryCode : ''\"\n\t\t\t\t\t@input=\"validate\"\n\t\t\t\t\t@country-changed=\"changeCountry\"\n\t\t\t\t\t@blur=\"showError = true\"\n\t\t\t\t\t@focus=\"showError = false\"\n\t\t\t\t\t:autoFormat=\"true\"\n\t\t\t\t\tmode=\"national\"\n\t\t\t\t\tinvalidMsg=\"Please enter a valid phone number\"\n\t\t\t\t\tid=\"mobile\"\n\t\t\t\t\t:disabled=\"!isEditMode\"\n\t\t\t\t\tref=\"phoneInput\"\n\t\t\t\t></vue-tel-input>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"inline-group\">\n\t\t\t<div class=\"col\">\n\t\t\t\t<label for=\"address\" class=\"main-label\">Address</label>\n\t\t\t\t <textarea\n\t\t\t\ttype=\"search\"\n\t\t\t\t\tclass=\"form-input\" \n\t\t\t\t\tplaceholder=\"Enter Address here...\"\n\t\t\t\t\tv-model=\"address\"\n\t\t\t\t\tid=\"address\"\n\t\t\t\t\tname=\"address\"\n\t\t\t\t\t:readonly=\"!isEditMode\"\n\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t></textarea>\n\t\t\t</div>\n\t\t\t<div class=\"col\">\n\t\t\t\t<label for=\"city\" class=\"main-label\">City</label>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\tid=\"city\"\n\t\t\t\t\tname=\"city\"\n\t\t\t\t\tv-model=\"city\"\n\t\t\t\t\tplaceholder=\"Enter city here...\"\n\t\t\t\t\t:readonly=\"!isEditMode\"\n\t\t\t\t\t@change=\"isEditMode && update($event)\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"col\">\n\t\t\t\t<label for=\"country\" class=\"main-label\">Country</label>\n\t\t\t\t<v-select\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\tid=\"country\"\n\t\t\t\t\tname=\"country\"\n\t\t\t\t\tv-model=\"country\"\n\t\t\t\t\tplaceholder=\"Select Country...\"\n\t\t\t\t\t:options=\"countryCodes\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:reduce=\"(option) => option['alpha-3']\"\n\t\t\t\t\t:disabled=\"!isEditMode\"\n\t\t\t\t\t@input=\"isEditMode && update($event, 'country')\"\n\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t></v-select>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"inline-group\">\n\t\t\t<div v-for=\"(input, index) in CustomFields\" :key=\"index\" class=\"col\">\n\t\t\t\t<DynamicFormInput\n\t\t\t\t\t:inputFieldOptions=\"input\"\n\t\t\t\t\t:hasIcon=\"false\"\n\t\t\t\t\t:customInputClass=\"'form-input'\"\n\t\t\t\t\t:showLabel=\"true\"\n\t\t\t\t\t:customLabelClass=\"'main-label'\"\n\t\t\t\t\t@inputValue=\"\n\t\t\t\t\t\t(value) => {\n\t\t\t\t\t\t\textraProperties.CustomFields[input.Key] = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\"\n\t\t\t\t\t:inputSetValue=\"\n\t\t\t\t\t\textraProperties.CustomFields &&\n\t\t\t\t\t\textraProperties.CustomFields[input.Key]\n\t\t\t\t\t\"\n\t\t\t\t\t:readonly=\"!isEditMode\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { countryCodes } from \"../../../constants/countryCodes\";\nimport { mapActions, mapState } from \"vuex\";\nimport { createPopper } from \"@popperjs/core\";\nimport DynamicFormInput from \"../../Layout/DynamicFormInput.vue\";\nconst getCountryISO3 = require(\"country-iso-2-to-3\");\nconst getCountryISO2 = require(\"country-iso-3-to-2\");\n\nexport default {\n\tname: \"UserDetails\",\n\tprops: { user: Object, mode: Number },\n\tcomponents: { DynamicFormInput },\n\tdata() {\n\t\treturn {\n\t\t\tfirstName: null,\n\t\t\tlastName: null,\n\t\t\temail: null,\n\t\t\tusername: null,\n\t\t\tphone: null,\n\t\t\tmobile: null,\n\t\t\tcity: null,\n\t\t\tcountryCodes,\n\t\t\tcountry: null,\n\t\t\tmanagementRole: null,\n\t\t\troleOptions: [{ id: \"1\", value: \"admin\", label: \"Admin\" }],\n\t\t\tprofilePicturePath: null,\n\t\t\tprofilePictureType: \"image\",\n\t\t\terrorText: \"\",\n\t\t\taddress: null,\n\t\t\textraProperties: { CustomFields: {} },\n\t\t\t// mode: 0,\n\t\t\tupdateObj: {},\n\t\t\ttelInputOptions: {\n\t\t\t\tautocomplete: \"on\",\n\t\t\t\tmaxlength: 15,\n\t\t\t\ttabindex: 10,\n\t\t\t\tplaceholder: \"Phone Number (required)\",\n\t\t\t\tmode: \"national\",\n\t\t\t},\n\t\t\tshowPassword: false,\n\t\t\tisPhoneError: false,\n\t\t\tshowError: false,\n\t\t\tCustomFields: null,\n\t\t\tisProfilePictureUploading: false\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"uploadContentFile\"]),\n\t\tgetFile(e) {\n\t\t\tconst [file] = e.target.files;\n\t\t\tif (file) {\n\t\t\t\tthis.isProfilePictureUploading = true;\n\t\t\t\tthis.$emit(\"disableSaveBtn\", this.isProfilePictureUploading);\n\t\t\t\tthis.profilePicturePath = URL.createObjectURL(file);\n\t\t\t\tdocument.getElementById(\"preview\").title = file.name;\n\t\t\t\tthis.profilePictureType = file.type.split(\"/\")[0];\n\t\t\t\tlet formData = new FormData();\n\t\t\t\tformData.append(\"file\", file);\n\t\t\t\tformData.append(\"entity\", \"ProductVariant\");\n\t\t\t\tformData.append(\"type\", \"Image\");\n\t\t\t\tformData.append(\"IsCompressionRequired\", true);\n\n\t\t\t\tconsole.log(...formData);\n\t\t\t\tthis.uploadContentFile(formData).then((data) => {\n\t\t\t\t\tconsole.log(data);\n\t\t\t\t\tthis.profilePicturePath = data;\n\t\t\t\t\t$(\".upload-btn-wrapper\").addClass(\"success\");\n\t\t\t\t\tthis.isProfilePictureUploading = false;\n\t\t\t\t\tthis.$emit(\"disableSaveBtn\", this.isProfilePictureUploading);\n\t\t\t\t\tif (this.isEditMode) {\n\t\t\t\t\t\tthis.updateObj.profilePicture = this.profilePicturePath;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tconsole.log(\"file: \", e.target.files);\n\t\t},\n\t\tupdate(e, value) {\n\t\t\tconsole.log(e, value);\n\t\t\tif (value == \"country\") {\n\t\t\t\tthis.updateObj[\"countryCode\"] = e;\n\t\t\t} else if (value == \"mobile\") {\n\t\t\t\tthis.updateObj[\"mobile\"] = e;\n\t\t\t} else this.updateObj[e.target.name] = e.target.value;\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t\teditFile() {\n\t\t\tdocument.getElementById(\"profilePicturePath\").click();\n\t\t},\n\t\tremoveFile() {\n\t\t\tthis.profilePicturePath = null;\n\t\t},\n\t\tvalidate(num, obj) {\n\t\t\t// console.log(num, obj);\n\t\t\tif (obj.valid != null && obj.valid === false) {\n\t\t\t\tthis.isPhoneError = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.isPhoneError = false;\n\t\t\tif (obj.number) {\n\t\t\t\tthis.phone = obj.number;\n\t\t\t\tthis.update(this.phone, \"mobile\");\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tchangeCountry(obj) {\n\t\t\tconsole.log(\"changeCountry\");\n\t\t\tthis.country = getCountryISO3(obj.iso2);\n\t\t\tthis.update(this.country, \"country\");\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t\tisEditMode() {\n\t\t\treturn this.mode == 1;\n\t\t},\n\t},\n\tcreated() {\n\t\t// console.log(\"user detail created\");\n\t\tif (this.user) {\n\t\t\tthis.firstName = this.user.firstName ? this.user.firstName : null;\n\t\t\tthis.lastName = this.user.lastName ? this.user.lastName : null;\n\t\t\tthis.email = this.user.email ? this.user.email : null;\n\t\t\tthis.password = this.user.password ? this.user.password : null;\n\t\t\tthis.confirmPassword = this.user.password ? this.user.password : null;\n\t\t\tthis.phone = this.user.phone ? this.user.phone : null;\n\t\t\tthis.mobile = this.user.phone ? this.user.phone : null;\n\t\t\tthis.managementRole = this.user.managementRole\n\t\t\t\t? this.user.managementRole\n\t\t\t\t: null;\n\t\t\tthis.country = this.user.countryCode ? this.user.countryCode : null;\n\t\t\tthis.city = this.user.city ? this.user.city : null;\n\t\t\tthis.profilePicturePath = this.user.profilePicture\n\t\t\t\t? this.user.profilePicture\n\t\t\t\t: require(\"@/assets/images/user_img_placeholder.jpg\");\n\t\t\tthis.address = this.user.address ? this.user.address : null;\n\t\t\tthis.username = this.user.username ? this.user.username : null;\n\t\t\tthis.extraProperties = this.user.extraProperties\n\t\t\t\t? JSON.parse(this.user.extraProperties)\n\t\t\t\t: { CustomFields: {} };\n\t\t\tif (this.user.type && this.user.type.toLowerCase() == \"student\") {\n\t\t\t\tthis.CustomFields = this.systemParameters.UserRegisterExtraFields\n\t\t\t\t\t? this.systemParameters.UserRegisterExtraFields\n\t\t\t\t\t: null;\n\t\t\t}\n\t\t\tif (this.user.type && this.user.type.toLowerCase() == \"trainer\") {\n\t\t\t\tthis.CustomFields = this.systemParameters.TrainerUserRegisterExtraFields\n\t\t\t\t\t? this.systemParameters.TrainerUserRegisterExtraFields\n\t\t\t\t\t: null;\n\t\t\t}\n\t\t}\n\t},\n\twatch: {\n\t\tcountry: function () {\n\t\t\tvar phoneInput = this.$refs.phoneInput;\n\t\t\tif (phoneInput) {\n\t\t\t\tphoneInput.$data.activeCountryCode = getCountryISO2(this.country);\n\t\t\t\tif (phoneInput.phoneObject.number) {\n\t\t\t\t\tthis.mobile = phoneInput.phoneObject.number;\n\t\t\t\t\tphoneInput.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// console.log(phoneInput);\n\t\t},\n\t\tisPhoneError: function () {\n\t\t\tthis.$emit(\"error\", this.isPhoneError);\n\t\t},\n\t\tshowError: function () {\n\t\t\tif (this.showError && this.isPhoneError) {\n\t\t\t\tthis.$toasted.error(\"Please enter a valid phone number\", {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.view-edit-user-modal .upload-btn-wrapper {\n\twidth: 11rem;\n\tmax-width: 11rem;\n\tmax-height: 11rem;\n\theight: 10rem;\n\tposition: relative;\n\toverflow: hidden;\n\tbackground: #f5f5f5;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\tborder-radius: 8px;\n\tpadding: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.upload-btn-wrapper.preview {\n\tpadding: 0;\n}\n\n.upload-btn-wrapper.preview .disabled {\n\tpointer-events: none;\n}\n.upload-btn-wrapper.preview.disabled {\n\tpointer-events: none;\n}\n\n#preview {\n\tmax-width: 100%;\n}\n\n.upload-btn {\n\tpadding: 0.5rem 1.25rem;\n\tfont-weight: bold;\n\tcursor: pointer;\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 6px;\n\ttext-transform: uppercase;\n\tcolor: #000000;\n\tfont-weight: normal;\n}\n\n.form-input {\n\tcolor: #000000 !important;\n}\n\n.form-input.error {\n\tborder-color: var(--color-danger) !important;\n\tcolor: var(--color-danger) !important;\n}\n\n.upload-btn-wrapper .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n\tposition: absolute;\n}\n\n.upload-btn-wrapper:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.upload-btn-wrapper .right-menu-icon {\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n.upload-btn-wrapper .right-menu-icon img {\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.upload-btn-wrapper .right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n#profilePicturePath {\n\tpointer-events: none;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserDetails.vue?vue&type=template&id=3a829a52&scoped=true&\"\nimport script from \"./UserDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./UserDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserDetails.vue?vue&type=style&index=0&id=3a829a52&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3a829a52\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-modal-tab-body devices\"},[(_vm.mode == 3)?_c('div',{staticClass:\"set-limits-container\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"status\"}},[_vm._v(\" Set user's device limits\")]),_c('div',{staticClass:\"status-cards\"},[_c('div',{staticClass:\"status-card-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.platformType),expression:\"platformType\"}],attrs:{\"type\":\"radio\",\"name\":\"status\",\"id\":\"any\",\"value\":\"any\"},domProps:{\"checked\":_vm._q(_vm.platformType,\"any\")},on:{\"change\":function($event){_vm.platformType=\"any\"}}}),_vm._m(0)]),_c('div',{staticClass:\"status-card-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.platformType),expression:\"platformType\"}],attrs:{\"type\":\"radio\",\"name\":\"status\",\"id\":\"specific\",\"value\":\"specific\"},domProps:{\"checked\":_vm._q(_vm.platformType,\"specific\")},on:{\"change\":function($event){_vm.platformType=\"specific\"}}}),_vm._m(1)])])]),_c('h5',{staticClass:\"text-black mt-4\"},[_vm._v(\" Set user's device limits for \"+_vm._s(_vm.platformType==\"any\"?\"any platform\":\"each platforms\")+\" \")]),_c('div',{staticClass:\"mt-4 row\"},_vm._l((_vm.platforms),function(platform){return ((platform.item=='any_platform' && _vm.platformType=='any') || (_vm.platformType=='specific' && platform.item!=='any_platform'))?_c('div',{staticClass:\"form-group col-md-3\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":platform.item}},[_vm._v(_vm._s(platform.name))]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.platformLimits[platform.item]),expression:\"platformLimits[platform.item]\"}],staticClass:\"form-select\",attrs:{\"type\":\"number\",\"name\":platform.item,\"id\":platform.item},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.platformLimits, platform.item, $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l(([0,1,2,3,4,5,6,7,8,9,10]),function(i){return _c('option',{domProps:{\"value\":_vm.isSystemDefaultLimit(platform.item,i)?'default':i,\"selected\":_vm.isSystemDefaultLimit(platform.item,i)}},[(_vm.isSystemDefaultLimit(platform.item,i))?_c('span',[_vm._v(\"(System Default)\")]):_vm._e(),_vm._v(\" \"+_vm._s(i)+\" \")])}),0),(_vm.platformLimits[platform.item] && _vm.platformLimits[platform.item]>-1)?_c('span',{staticClass:\"right-float-label\",staticStyle:{\"margin-right\":\"45px\",\"bottom\":\"0.45rem\"}},[_vm._v(\" devices \")]):_vm._e()]):_vm._e()}),0)]):_vm._e(),(_vm.mode != 3)?_c('div',[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"user-devices\"}},[_vm._v(\"User Devices\")]),_c('table',{staticClass:\"table table-hover table-borderless enrolled-users-table\"},[_vm._m(2),(_vm.devices && _vm.devices.length > 0)?_c('tbody',_vm._l((_vm.devices),function(device){return _c('tr',{key:device.id,class:['d-flex payment-item']},[_c('td',{staticClass:\"col-1\"},[_vm._v(_vm._s(device.id))]),_c('td',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(device.brandName ? device.brandName : \"Other\")+\" \")]),_c('td',{staticClass:\"col\"},[_vm._v(_vm._s(device.model ? device.model : \"Other\"))]),_c('td',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(device.deviceName)+\" \")]),_c('td',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.devicePlatform(device.platform))+\" \")])])}),0):(_vm.devices.length == 0 && _vm.loading)?_c('div',{staticClass:\"d-flex align-items-center justify-content-center gap-2 p-3 font-500\"},[_c('b-spinner',{attrs:{\"small\":\"\"}}),_vm._v(\" Loading... \")],1):_c('div',{staticClass:\"no-content\"},[_vm._v(\"No devices found\")])])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"status-card\",attrs:{\"for\":\"any\"}},[_c('p',[_vm._v(\"Allowed Any Platform\")]),_vm._v(\" User will be allowed to login from any platform. \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"status-card\",attrs:{\"for\":\"specific\"}},[_c('p',[_vm._v(\"Allowed Specific Platforms\")]),_vm._v(\" User will be allowed to login from only specific platforms. \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{staticClass:\"d-flex\"},[_c('th',{staticClass:\"col-1\"},[_vm._v(\"ID\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Brand Name\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Model\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Type\")]),_c('th',{staticClass:\"col\"},[_vm._v(\"Platform\")])])])}]\n\nexport { render, staticRenderFns }","\n<template>\n\t<div class=\"user-modal-tab-body devices\">\n\t\t<div v-if=\"mode == 3\" class=\"set-limits-container\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label class=\"main-label\" for=\"status\">\n\t\t\t\t\tSet user's device limits</label>\n\t\t\t\t<div class=\"status-cards\">\n\t\t\t\t\t<div class=\"status-card-container\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\tname=\"status\"\n\t\t\t\t\t\t\tid=\"any\"\n\t\t\t\t\t\t\tvalue=\"any\"\n\t\t\t\t\t\t\tv-model=\"platformType\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label class=\"status-card\" for=\"any\">\n\t\t\t\t\t\t\t<p>Allowed Any Platform</p>\n\t\t\t\t\t\t\tUser will be allowed to login from any platform.\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"status-card-container\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\tname=\"status\"\n\t\t\t\t\t\t\tid=\"specific\"\n\t\t\t\t\t\t\tvalue=\"specific\"\n\t\t\t\t\t\t\tv-model=\"platformType\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label class=\"status-card\" for=\"specific\">\n\t\t\t\t\t\t\t<p>Allowed Specific Platforms</p>\n\t\t\t\t\t\t\tUser will be allowed to login from only specific platforms.\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<h5 class=\"text-black mt-4\">\n\t\t\t\tSet user's device limits for {{ platformType==\"any\"?\"any platform\":\"each platforms\" }}\n\t\t\t</h5>\n\t\t\t<div class=\"mt-4 row\">\n\t\t\t\t\n\t\t\t\t<div\n\t\t\t\tv-for=\"platform in platforms\"\n\t\t\t\t\tclass=\"form-group col-md-3\"\n\t\t\t\t\tv-if=\"(platform.item=='any_platform' && platformType=='any') || (platformType=='specific' && platform.item!=='any_platform')\"\n\t\t\t\t>\n\t\t\t\t\t<label :for=\"platform.item\" class=\"main-label\">{{platform.name}}</label>\n\t\t\t\t\t<select\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t:name=\"platform.item\"\n\t\t\t\t\t\t:id=\"platform.item\"\n\t\t\t\t\t\tclass=\"form-select\"\n\t\t\t\t\t\tv-model=\"platformLimits[platform.item]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<option \n\t\t\t\t\t\t\tv-for=\"i in [0,1,2,3,4,5,6,7,8,9,10]\" \n\t\t\t\t\t\t\t:value=\"isSystemDefaultLimit(platform.item,i)?'default':i\" \n\t\t\t\t\t\t\t:selected=\"isSystemDefaultLimit(platform.item,i)\"\n\t\t\t\t\t\t\t> <span v-if=\"isSystemDefaultLimit(platform.item,i)\" >(System Default)</span>\n\t\t\t\t\t\t\t{{ i }} \n\t\t\t\t\t\t</option>\n\t\t\t\t\t</select>\n\t\t\t\t\t\n\t\t\t\t\t<span class=\"right-float-label\" v-if=\"platformLimits[platform.item] && platformLimits[platform.item]>-1\" style=\"margin-right: 45px; bottom: 0.45rem;\"> devices </span>\n\t\t\t\t\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</div>\n\t\t<div  v-if=\"mode != 3\">\n\t\t\t<label for=\"user-devices\" class=\"main-label\">User Devices</label>\n\t\t\t<table class=\"table table-hover table-borderless enrolled-users-table\">\n\t\t\t\t<thead>\n\t\t\t\t\t<tr class=\"d-flex\">\n\t\t\t\t\t\t<th class=\"col-1\">ID</th>\n\t\t\t\t\t\t<th class=\"col\">Brand Name</th>\n\t\t\t\t\t\t<th class=\"col\">Model</th>\n\t\t\t\t\t\t<th class=\"col\">Type</th>\n\t\t\t\t\t\t<th class=\"col\">Platform</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody v-if=\"devices && devices.length > 0\">\n\t\t\t\t\t<tr\n\t\t\t\t\t\t:class=\"['d-flex payment-item']\"\n\t\t\t\t\t\tv-for=\"device in devices\"\n\t\t\t\t\t\t:key=\"device.id\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<td class=\"col-1\">{{ device.id }}</td>\n\t\t\t\t\t\t<td class=\"col\">\n\t\t\t\t\t\t\t{{ device.brandName ? device.brandName : \"Other\" }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td class=\"col\">{{ device.model ? device.model : \"Other\" }}</td>\n\t\t\t\t\t\t<td class=\"col\">\n\t\t\t\t\t\t\t{{ device.deviceName }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td class=\"col\">\n\t\t\t\t\t\t\t{{ devicePlatform(device.platform) }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t\t<div\n\t\t\t\t\tv-else-if=\"devices.length == 0 && loading\"\n\t\t\t\t\tclass=\"d-flex align-items-center justify-content-center gap-2 p-3 font-500\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner small></b-spinner> Loading...\n\t\t\t\t</div>\n\t\t\t\t<div v-else class=\"no-content\">No devices found</div>\n\t\t\t</table>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n\nimport Swal from \"sweetalert2\";\nexport default {\n\tname: \"UserDevices\",\n\tdata() {\n\t\treturn {\n\t\t\tplatformType:null,\n\t\t\tdevices: [],\n\t\t\trestrictionsList: {},\n\t\t\tplatformLimits:{},\n      \t\tsetPlatforms: [],\n\t\t\tplatforms: [\n\t\t\t\t{ item: \"mobile_web\", name: \"Mobile Browser\" },\n\t\t\t\t{ item: \"desktop_web\", name: \"Desktop Browser\" },\n\t\t\t\t{ item: \"windows\", name: \"Windows Application\" },\n\t\t\t\t{ item: \"macos\", name: \"Mac Os Application\" },\n\t\t\t\t{ item: \"android\", name: \"Android App\" },\n        { item: \"ios\", name: \"iOS App\" },\n        { item: \"any_platform\", name: \"Any Platform\" },\n\t\t\t],\n\t\t};\n\t},\n\tprops: { user: Object, mode: Number },\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchUserDevices\", \"fetchUserDeviceRestrictions\"]),\n\t\tdevicePlatform(platform) {\n\t\t\tif (platform.toLowerCase() == \"mobile_web\") return \"Web (Mobile)\";\n\t\t\telse if (platform.toLowerCase() == \"desktop_web\") return \"Web (Desktop)\";\n\t\t\telse if (platform.toLowerCase() == \"ios\") return \"iOS App (iPhone/iPad)\";\n\t\t\telse if (platform.toLowerCase() == \"android\")\n\t\t\t\treturn \"Android App (Smartphone/Tablet)\";\n\t\t\telse if (platform.toLowerCase() == \"windows\") return \"Windows App\";\n\t\t\telse if (platform.toLowerCase() == \"macos\") return \"Mac Os App\";\n\t\t\telse return \"Other\";\n\t\t},\n\t\tsetDevices(devices) {\n\t\t\tdevices.forEach((device) =>\n\t\t\t\tthis[device] == null\n\t\t\t\t\t? (this[device] = 1)\n\t\t\t\t\t: (this[device] = this[device])\n\t\t\t);\n\t\t},\n\t\tshowPlatformDropdown(e) {\n\t\t\te.stopPropagation();\n\t\t},\n\t\tshowInput(platform) {\n\t\t\tvar found = this.setPlatforms.find(\n\t\t\t\t(p) => p.toLowerCase() == platform.toLowerCase()\n\t\t\t);\n\t\t\tif (!found) this[platform] = null;\n\t\t\treturn found ? true : false;\n\t\t},\n\t\temitDeviceDetails() {\n\n\t\t\tvar platformRestrictions = Object.keys(this.platformLimits)\n\t\t\t.filter((platform) => this.platformLimits[platform]!='default' )\n\t\t\t.map((platform) => {\n\t\t\t\treturn {\n\t\t\t\t\tplatform: platform\n\t\t\t\t\t\t.split(\"_\")\n\t\t\t\t\t\t.map((p) => p[0].toUpperCase() + p.substring(1))\n\t\t\t\t\t\t.join(\"_\"),\n\t\t\t\t\tlimit: parseInt(this.platformLimits[platform.toLowerCase()]),\n\t\t\t\t};\n\t\t\t});\n\t\t\tthis.$emit(\"updateData\", platformRestrictions);\n\t\t},\n\t\tisSystemDefaultLimit(platform,limit){\n\t\t\treturn this.systemDefaultDeviceLimits[platform]==(limit+'');\n\t\t},\n\t\t\n\t\tcheckState(){\n\t\t\tif (this.userDeviceRestrictions[this.user.id].find(x => x.platform.toLowerCase() == \"any_platform\")) {\n\t\t\t\tthis.platformType = 'any';\n\t\t\t} else if (this.userDeviceRestrictions[this.user.id].length > 0) {\n\t\t\t\tthis.platformType = 'specific';\n\t\t\t} else if (this.systemDefaultDeviceLimits[\"any_platform\"]) {\n\t\t\t\tthis.platformType = 'any';\n\t\t\t} else if (Object.keys(this.systemDefaultDeviceLimits).length > 0) {\n\t\t\t\tthis.platformType = 'specific';\n\t\t\t} else {\n\t\t\t\tthis.platformType = 'any';\n\t\t\t}\n\t\t}\t\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"userDevices\", \"loading\", \"userDeviceRestrictions\"]),\n\t\t...mapState(\"appState\", [\n\t\t\t\"systemParameters\",\n\t\t\t\"currentCountry\",\n\t\t\t\"currentCity\",\n\t\t]),\n\t\tsystemDefaultDeviceLimits(){\n\n\t\t\tvar deviceLimits={};\n\t\t\tif(this.systemParameters.Any_Platform_Limit)\n\t\t\t{\n\t\t\t\tdeviceLimits[\"any_platform\"] = this.systemParameters.Any_Platform_Limit;\n\t\t\t}\n\t\t\tif(this.systemParameters.Desktop_Web_Limit)\n\t\t\t{\n\t\t\t\tdeviceLimits[\"desktop_web\"] = this.systemParameters.Desktop_Web_Limit;\n\t\t\t}\n\t\t\tif(this.systemParameters.Mobile_Web_Limit)\n\t\t\t{\n\t\t\t\tdeviceLimits[\"mobile_web\"] = this.systemParameters.Mobile_Web_Limit;\n\t\t\t}\n\t\t\tif(this.systemParameters.Android_App_Limit)\n\t\t\t{\n\t\t\t\tdeviceLimits[\"android\"] = this.systemParameters.Android_App_Limit;\n\t\t\t}\n\t\t\tif(this.systemParameters.IOS_App_Limit)\n\t\t\t{\n\t\t\t\tdeviceLimits[\"ios\"] = this.systemParameters.IOS_App_Limit;\n\t\t\t}\n\t\t\t\n\t\t\tif(this.systemParameters.Windows_App_Limit)\n\t\t\t{\n\t\t\t\tdeviceLimits[\"windows\"] = this.systemParameters.Windows_App_Limit;\n\t\t\t}\n\n\t\t\tif(this.systemParameters.MacOs_App_Limit)\n\t\t\t{\n\t\t\t\tdeviceLimits[\"macos\"] = this.systemParameters.MacOs_App_Limit;\n\t\t\t}\n\n\t\t\treturn deviceLimits;\n\t\t}\n\n\t},\n\tmounted() {\n\t\t// console.log(\"render\");\n\t\tif (this.devices && this.devices.length == 0 && !this.loading) {\n\t\t\t// console.log(\"disable\");\n\t\t\tthis.$emit(\"disable\");\n\t\t}\n\t},\n\tcreated() {\n\t\tif (this.userDevices && !this.userDevices[this.user.id])\n\t\t\tthis.fetchUserDevices(this.user).then((devicesList) => {\n\t\t\t\tif (devicesList) this.devices = devicesList;\n\t\t\t\telse {\n\t\t\t\t\tthis.devices = [];\n\t\t\t\t\tthis.$emit(\"disable\");\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tthis.userDeviceRestrictions &&\n\t\t\t\t\t!this.userDeviceRestrictions[this.user.id]\n\t\t\t\t)\n\t\t\t\t\tthis.fetchUserDeviceRestrictions(this.user).then((res) => {\n\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\tres.forEach(\n\t\t\t\t\t\t\t\t(restrict) =>\n\t\t\t\t\t\t\t\t\t(this.restrictionsList[restrict.platform.toLowerCase()] = restrict.limit)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tthis.userDeviceRestrictions[this.user.id].forEach(\n\t\t\t\t\t\t(restrict) =>\n\t\t\t\t\t\t\t(this.restrictionsList[restrict.platform.toLowerCase()] = restrict.limit)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\telse {\n\t\t\tthis.devices = this.userDevices[this.user.id];\n\t\t\tif (\n\t\t\t\tthis.userDeviceRestrictions &&\n\t\t\t\t!this.userDeviceRestrictions[this.user.id]\n\t\t\t)\n\t\t\t\tthis.fetchUserDeviceRestrictions(this.user).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.setPlatforms = res.map((p) => p.platform.toLowerCase());\n\t\t\t\t\t\tres.forEach(\n\t\t\t\t\t\t\t(restrict) =>\n\t\t\t\t\t\t\t\t(this.restrictionsList[restrict.platform.toLowerCase()] = restrict.limit)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\telse {\n\t\t\t\tthis.userDeviceRestrictions[this.user.id].forEach(\n\t\t\t\t\t(restrict) => (this.restrictionsList[restrict.platform.toLowerCase()] = restrict.limit)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t},\n\twatch: {\n\t\tuserDevices: function () {\n\t\t\tthis.devices = this.userDevices[this.user.id];\n\t\t\tif (this.devices && this.devices.length == 0) this.$emit(\"disable\");\n\t\t},\n\t\tuserDeviceRestrictions: function(){\n\t\t\t\t\n\t\t\t\tthis.userDeviceRestrictions[this.user.id].forEach(\n\t\t\t\t\t(restrict) =>\n\t\t\t\t\t(this.restrictionsList[restrict.platform.toLowerCase()] = restrict.limit)\n\t\t\t\t);\n\t\t\t\tthis.checkState();\n\t\t},\n\t\tplatformType: function() {\n\t\t\tthis.platformLimits={};\n\t\t\tthis.platforms\n\t\t\t.forEach(platform => {\n\t\t\t\tif ((this.platformType == 'any' && platform.item == 'any_platform') || (this.platformType == 'specific' && platform.item != 'any_platform')) {\n\t\t\t\t\t\tif (typeof(this.systemDefaultDeviceLimits[platform.item])!='undefined')\n\t\t\t\t\t\t\tthis.platformLimits[platform.item] = 'default';\n\t\t\t\t\t\tif (typeof(this.restrictionsList[platform.item])!='undefined')\n\t\t\t\t\t\t\tthis.platformLimits[platform.item] = this.restrictionsList[platform.item];\n\n\t\t\t\t\t\tif (typeof(this.platformLimits[platform.item])==\"undefined\")\n\t\t\t\t\t\t\t \tthis.platformLimits[platform.item] = 1;\n\t\t\t\t}\n\t\t\t});\n\t\t\t \n\t\t},\n\t\tmode(){\n\t\t\tthis.checkState();\n\t\t}\n\t},\n};\n</script>\n\n<style>\n.no-content {\n\tpadding: 1rem;\n\ttext-align: center;\n\tfont-weight: 500;\n\tcolor: #666;\n\tfont-size: 1.125rem;\n}\n\n.set-limits-container {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.right-float-label {\n\tposition: absolute;\n\tright: 0;\n\t/* bottom: 0.5rem; */\n\tcolor: #aaa;\n}\n\n.platform-item input[type=\"checkbox\"] {\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.125rem;\n\theight: 1.125rem;\n}\n\n.platform-item label {\n\tflex-grow: 1;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserDevices.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserDevices.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserDevices.vue?vue&type=template&id=5c576578&\"\nimport script from \"./UserDevices.vue?vue&type=script&lang=js&\"\nexport * from \"./UserDevices.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserDevices.vue?vue&type=style&index=0&id=5c576578&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"qrcode-scanner-screen\",attrs:{\"id\":\"qrcode-attendance\"}},[_c('img',{staticClass:\"logo top-logo\"}),_c('h4',{staticClass:\"text-center\"},[_vm._v(\"Please scan QR code to get user details\")]),_c('b-overlay',{staticClass:\"text-center\",attrs:{\"show\":_vm.isLoading}},[_c('video',{attrs:{\"id\":\"qr-code-scanner\"}})]),_c('ViewEditUserModal',{attrs:{\"user\":_vm.userData,\"openTab\":_vm.openTab,\"showModal\":_vm.showUserDetailModal},on:{\"updateModalState\":_vm.toggleViewEditUser}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div id=\"qrcode-attendance\" class=\"qrcode-scanner-screen\">\n    <img class=\"logo top-logo\" />\n    <h4 class=\"text-center\">Please scan QR code to get user details</h4>\n    <b-overlay class=\"text-center\":show=\"isLoading\">\n      <video id=\"qr-code-scanner\"></video>\n    </b-overlay>\n    <ViewEditUserModal \n      :user=\"userData\"\n      :openTab=\"openTab\"\n      @updateModalState=\"toggleViewEditUser\"\n      :showModal=\"showUserDetailModal\"\n    />\n  </div>\n</template>\n\n<script>\nimport QrScanner from \"qr-scanner\";\nimport Swal from \"sweetalert2\";\nimport { mapActions, mapState } from \"vuex\";\nimport ViewEditUserModal from \"./ViewEditUserModal.vue\";\nexport default {\n  name: \"UserScan\",\n  data() {\n    return {\n      qrScanner: null,\n      selectedCamera: null,\n      availableCameras: [],\n      openTab: 0,\n      showUserDetailModal: false,\n      currentScannedUserId: null,\n      isLoading: false,\n      userData:{}\n    };\n  },\n  components: {\n    ViewEditUserModal\n  },\n  methods: {\n    async onDetectedCallback(result) {\n      try {\n      this.isLoading=true;\n      const scannedUserId = result.data;\n      if (this.currentScannedUserId !== scannedUserId) {\n        this.currentScannedUserId = scannedUserId;\n            this.userData = { id: this.currentScannedUserId };\n            this.showUserDetailModal = true;\n            var sound = new Howl({\n              src: [\"https://gocbe-lms-files.b-cdn.net/qr-scan-beep.mp3\"],\n            });\n            sound.play();\n      } } catch (error) {\n          console.error(\"Error fetching user:\", error);\n        }\n        finally{\n          this.isLoading=false;\n        }\n    },\n    initializeScanner() {\n      const videoElem = document.getElementById(\"qr-code-scanner\");\n      this.qrScanner = new QrScanner(videoElem, this.onDetectedCallback, {\n        highlightCodeOutline: true,\n        highlightScanRegion: true,\n      });\n      QrScanner.listCameras(true).then((cameras) => {\n        this.availableCameras = cameras;\n        if (cameras.length) {\n          this.showCameraSelectionDialog();\n        }\n      });\n    },\n    showCameraSelectionDialog() {\n      Swal.fire({\n        title: \"Select a camera\",\n        html: `\n          <div class='d-flex flex-column justify-content-center align-items-center gap-2'>\n            <select id=\"camera-select\"></select>\n          </div>\n        `,\n        target: document.querySelector(\"#qrcode-attendance\"),\n        preConfirm: () => {\n          const selectElem = document.getElementById(\"camera-select\");\n          this.selectedCamera = selectElem.value;\n          this.qrScanner.setCamera(this.selectedCamera);\n          this.qrScanner.start();\n        },\n      }).then(() => {\n        const selectElem = document.getElementById(\"camera-select\");\n        this.availableCameras.forEach((cam) => {\n          const option = document.createElement(\"option\");\n          option.text = cam.label;\n          option.value = cam.id;\n          selectElem.add(option);\n        });\n      });\n    },\ntoggleViewEditUser() {\n      this.showUserDetailModal = !this.showUserDetailModal;\n      if (!this.showUserDetailModal) {\n        this.currentScannedUserId = null;\n        this.openTab = 0;\n        this.qrScanner.start();\n      }\n    },\n  },\n  mounted() {\n    this.initializeScanner();\n  },\n  beforeDestroy() {\n    if (this.qrScanner) {\n      this.qrScanner.stop();\n      this.qrScanner.destroy();\n      this.qrScanner = null;\n    }\n  },\n};\n</script>\n<style scoped>\n#qr-code-scanner {\n  height: 50vh;\n}\n</style>","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserScan.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserScan.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserScan.vue?vue&type=template&id=342b32fe&scoped=true&\"\nimport script from \"./UserScan.vue?vue&type=script&lang=js&\"\nexport * from \"./UserScan.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserScan.vue?vue&type=style&index=0&id=342b32fe&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"342b32fe\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"view-edit-user-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"view-edit-user-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState')}}},[(_vm.userData)?_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h1',{staticClass:\"add-enroll-title\"},[_vm._v(\" \"+_vm._s(_vm.userData.firstName)+\" \"+_vm._s(_vm.userData.lastName)+\" \")]),(_vm.userData)?_c('div',{staticClass:\"d-flex align-items-center gap-3\"},[_c('div',{class:[\n\t\t\t\t\t'status-tag',\n\t\t\t\t\t{\n\t\t\t\t\t\tsuccess: _vm.userData.status == _vm.UserStatus.ACTIVE,\n\t\t\t\t\t\twarning: _vm.userData.status == _vm.UserStatus.INACTIVE,\n\t\t\t\t\t} ]},[_vm._v(\" \"+_vm._s(_vm.userData.status)+\" \")])]):_vm._e(),_c('ul',{staticClass:\"inline-list user-modal-tabs d-flex\"},[_c('li',{class:['user-tab', { active: _vm.currentTab == 0 }],on:{\"click\":function($event){return _vm.changeTab(0)}}},[_vm._v(\" User Info \")]),(_vm.userData.type.toLowerCase() == 'student' && !_vm.viewOnly)?_c('li',{class:['user-tab', { active: _vm.currentTab == 1 }],on:{\"click\":function($event){return _vm.changeTab(1)}}},[_vm._v(\" Enrolled Courses \")]):_vm._e(),(_vm.userData.type.toLowerCase() == 'student' && !_vm.viewOnly)?_c('li',{class:['user-tab', { active: _vm.currentTab == 2 }],on:{\"click\":function($event){return _vm.changeTab(2)}}},[_vm._v(\" Invoices \")]):_vm._e(),(_vm.userData.type.toLowerCase() == 'student' && !_vm.viewOnly)?_c('li',{class:['user-tab', { active: _vm.currentTab == 3 }],on:{\"click\":function($event){return _vm.changeTab(3)}}},[_vm._v(\" Payments \")]):_vm._e(),(_vm.userData.type.toLowerCase() == 'student' && !_vm.viewOnly)?_c('li',{class:['user-tab', { active: _vm.currentTab == 4 }],on:{\"click\":function($event){return _vm.changeTab(4)}}},[_vm._v(\" Devices \")]):_vm._e(),(_vm.userData.type.toLowerCase() == 'student')?_c('li',{class:['user-tab', { active: _vm.currentTab == 5 }],on:{\"click\":function($event){return _vm.changeTab(5)}}},[_vm._v(\" Attendance \")]):_vm._e(),(_vm.currentTab == 0 && _vm.mode == 0 && !_vm.viewOnly)?_c('li',{staticClass:\"p-0 ms-auto\"},[_c('button',{staticClass:\"add-btn\",on:{\"click\":function($event){return _vm.changeMode(1)}}},[_c('img',{staticClass:\"me-2\",attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}}),_vm._v(\" Edit \")])]):_vm._e(),(_vm.currentTab == 0 && _vm.mode == 0 && !_vm.viewOnly)?_c('li',{staticClass:\"p-0 ms-3\"},[_c('button',{class:(\"add-btn \" + (_vm.isUserActive ? 'danger' : '')),attrs:{\"disabled\":_vm.isUserStatusUpdate},on:{\"click\":function($event){_vm.isUserActive\n\t\t\t\t\t\t\t? _vm.showDisableConfirmPopup($event)\n\t\t\t\t\t\t\t: _vm.updateStatus($event)}}},[(_vm.isUserStatusUpdate)?_c('b-spinner',{staticClass:\"me-2\",attrs:{\"small\":\"\"}}):_vm._e(),_c('i',{staticClass:\"fa fa-user me-2\"}),_vm._v(\" \"+_vm._s(_vm.userData && _vm.userData.status == _vm.UserStatus.INACTIVE ? \"Enable\" : \"Disable\")+\" \")],1)]):_vm._e(),(_vm.currentTab == 0 && _vm.mode == 0 && !_vm.viewOnly)?_c('li',{staticClass:\"p-0 ms-3\"},[_c('button',{staticClass:\"add-btn\",on:{\"click\":_vm.showDeleteConfirmPopup}},[(_vm.isUserDeleting)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_c('img',{staticClass:\"me-2\",attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}}),_vm._v(\" Delete \")],1)]):_vm._e(),(_vm.currentTab == 1 && !_vm.viewOnly)?_c('li',{staticClass:\"p-0 ms-auto\"},[_c('button',{staticClass:\"step-btn add-btn\",on:{\"click\":function($event){return _vm.changeMode(2)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\"),\"alt\":\"\"}}),_vm._v(\" Enroll Courses \")])]):_vm._e(),(_vm.currentTab == 4 && _vm.mode!=3 && !_vm.viewOnly)?_c('li',{staticClass:\"p-0 ms-auto\"},[_c('button',{staticClass:\"step-btn add-btn\",attrs:{\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.changeMode(3)}}},[_c('i',{staticClass:\"far fa-phone-laptop\"}),_vm._v(\" Set Device Limits \")])]):_vm._e(),(_vm.currentTab == 4 && _vm.mode==3 && !_vm.viewOnly)?_c('li',{staticClass:\"p-0 ms-auto\"},[_c('button',{staticClass:\"step-btn add-btn\",attrs:{\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.changeMode(4)}}},[_c('i',{staticClass:\"far fa-phone-laptop\"}),_vm._v(\" User Devices \")])]):_vm._e(),(_vm.currentTab == 4 && _vm.mode!=3 && !_vm.viewOnly)?_c('li',{staticClass:\"p-0 ms-3\"},[_c('button',{staticClass:\"step-btn add-btn\",attrs:{\"disabled\":_vm.loading || _vm.disableReset},on:{\"click\":_vm.showConfirmResetDevices}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_c('i',{staticClass:\"far fa-redo\"}),_vm._v(\" Reset devices \")],1)]):_vm._e(),(_vm.currentTab == 0)?_c('li',{staticClass:\"p-0 ms-3\"},[_c('button',{staticClass:\"add-btn dropdown-toggle\",attrs:{\"data-bs-toggle\":\"dropdown\",\"id\":\"add-dropdown-btn\",\"disabled\":_vm.isChangePassword},on:{\"click\":_vm.showDropdown}},[(_vm.loading && _vm.isChangePassword)?_c('b-spinner',{staticClass:\"me-2\",attrs:{\"small\":\"\"}}):_c('i',{staticClass:\"fas fa-key me-2\"}),_vm._v(\" Change Password \")],1),_c('div',{staticClass:\"dropdown-menu dropdown-menu-end\",attrs:{\"id\":\"add-dropdown\",\"aria-labelledby\":\"dropdownMenuLink\"}},[_c('form',{on:{\"submit\":_vm.passwordChange}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newPassword),expression:\"newPassword\"}],staticClass:\"change-password-input\",attrs:{\"type\":\"search\",\"placeholder\":\"Enter new password (required)\",\"id\":\"change-password-input\",\"required\":\"\",\"autofocus\":\"\",\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.newPassword)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.hideDropdown.apply(null, arguments)},\"input\":function($event){if($event.target.composing){ return; }_vm.newPassword=$event.target.value}}}),_c('button',{staticClass:\"content-action-btn save\",attrs:{\"type\":\"submit\"},on:{\"click\":_vm.passwordChange}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/check-icon-green.svg\"),\"alt\":\"save\"}})]),_c('button',{staticClass:\"content-action-btn cancel\",attrs:{\"type\":\"button\",\"role\":\"button\"},on:{\"click\":_vm.hideDropdown}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon-red.svg\"),\"alt\":\"cancel\"}})])])])]):_vm._e()]),_c('div',{staticClass:\"tab-body\"},[_c(_vm.tabComponent,{ref:_vm.isUserDetailTab && 'userDetails',tag:\"component\",attrs:{\"user\":_vm.userData,\"mode\":_vm.mode,\"refs\":\"comp\"},on:{\"updateMode\":_vm.changeMode,\"disable\":_vm.handleDisable,\"updateData\":_vm.handleUpdateData,\"error\":_vm.updateError,\"disableSaveBtn\":_vm.disableSaveBtn}})],1),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"skip-step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_vm._v(\" cancel \")]),_c('button',{staticClass:\"step-btn\",attrs:{\"disabled\":_vm.disableSave || _vm.isSaveBtnDisabled,\"role\":\"button\"},on:{\"click\":function($event){return _vm.save()}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" save \"),_c('img',{attrs:{\"src\":require(\"@/assets/images/arrow-right.svg\")}})],1)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\tid=\"view-edit-user-modal\"\n\t\t@change=\"$emit('updateModalState')\"\n\t\t:visible=\"visible\"\n\t\thide-header\n\t\tcentered\n\t\tcontent-class=\"view-edit-user-modal\"\n\t\tsize=\"xl\"\n\t\tbody-class=\"modal-body\"\n\t\thide-footer\n\t\tmodal-class=\"custom-modal\"\n\t\tno-close-on-backdrop\n\t>\n\t\t<div v-if=\"userData\" class=\"body-container\">\n\t\t\t<button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n\t\t\t<h1 class=\"add-enroll-title\">\n\t\t\t\t{{ userData.firstName }} {{ userData.lastName }}\n\t\t\t</h1>\n\t\t\t<div v-if=\"userData\" class=\"d-flex align-items-center gap-3\">\n\t\t\t\t<div\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsuccess: userData.status == UserStatus.ACTIVE,\n\t\t\t\t\t\t\twarning: userData.status == UserStatus.INACTIVE,\n\t\t\t\t\t\t},\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t{{ userData.status }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<ul class=\"inline-list user-modal-tabs d-flex\">\n\t\t\t\t<li\n\t\t\t\t\t@click=\"changeTab(0)\"\n\t\t\t\t\t:class=\"['user-tab', { active: currentTab == 0 }]\"\n\t\t\t\t>\n\t\t\t\t\tUser Info\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\tv-if=\"userData.type.toLowerCase() == 'student' && !viewOnly\"\n\t\t\t\t\t@click=\"changeTab(1)\"\n\t\t\t\t\t:class=\"['user-tab', { active: currentTab == 1 }]\"\n\t\t\t\t>\n\t\t\t\t\tEnrolled Courses\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\tv-if=\"userData.type.toLowerCase() == 'student' && !viewOnly\"\n\t\t\t\t\t@click=\"changeTab(2)\"\n\t\t\t\t\t:class=\"['user-tab', { active: currentTab == 2 }]\"\n\t\t\t\t>\n\t\t\t\t\tInvoices\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\tv-if=\"userData.type.toLowerCase() == 'student' && !viewOnly\"\n\t\t\t\t\t@click=\"changeTab(3)\"\n\t\t\t\t\t:class=\"['user-tab', { active: currentTab == 3 }]\"\n\t\t\t\t>\n\t\t\t\t\tPayments\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\tv-if=\"userData.type.toLowerCase() == 'student' && !viewOnly\"\n\t\t\t\t\t@click=\"changeTab(4)\"\n\t\t\t\t\t:class=\"['user-tab', { active: currentTab == 4 }]\"\n\t\t\t\t>\n\t\t\t\t\tDevices\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\tv-if=\"userData.type.toLowerCase() == 'student'\"\n\t\t\t\t\t@click=\"changeTab(5)\"\n\t\t\t\t\t:class=\"['user-tab', { active: currentTab == 5 }]\"\n\t\t\t\t>\n\t\t\t\t\tAttendance\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\tclass=\"p-0 ms-auto\"\n\t\t\t\t\tv-if=\"currentTab == 0 && mode == 0 && !viewOnly\"\n\t\t\t\t>\n\t\t\t\t\t<button @click=\"changeMode(1)\" class=\"add-btn\">\n\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" class=\"me-2\" /> Edit\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t\t<li class=\"p-0 ms-3\" v-if=\"currentTab == 0 && mode == 0 && !viewOnly\">\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"\n\t\t\t\t\t\t\tisUserActive\n\t\t\t\t\t\t\t\t? showDisableConfirmPopup($event)\n\t\t\t\t\t\t\t\t: updateStatus($event)\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t:disabled=\"isUserStatusUpdate\"\n\t\t\t\t\t\t:class=\"`add-btn ${isUserActive ? 'danger' : ''}`\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<b-spinner class=\"me-2\" v-if=\"isUserStatusUpdate\" small></b-spinner>\n\t\t\t\t\t\t<i class=\"fa fa-user me-2\"></i>\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\tuserData && userData.status == UserStatus.INACTIVE\n\t\t\t\t\t\t\t\t? \"Enable\"\n\t\t\t\t\t\t\t\t: \"Disable\"\n\t\t\t\t\t\t}}\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t\t<li class=\"p-0 ms-3\" v-if=\"currentTab == 0 && mode == 0 && !viewOnly\">\n\t\t\t\t\t<button @click=\"showDeleteConfirmPopup\" class=\"add-btn\">\n\t\t\t\t\t\t<b-spinner v-if=\"isUserDeleting\" small></b-spinner>\n\t\t\t\t\t\t<img v-else src=\"@/assets/images/delete-icon.svg\" class=\"me-2\" />\n\t\t\t\t\t\tDelete\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t\t<li class=\"p-0 ms-auto\" v-if=\"currentTab == 1 && !viewOnly\">\n\t\t\t\t\t<button class=\"step-btn add-btn\" @click=\"changeMode(2)\">\n\t\t\t\t\t\t<img src=\"@/assets/images/add-border-icon.svg\" alt=\"\" /> Enroll\n\t\t\t\t\t\tCourses\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t\t<li class=\"p-0 ms-auto\" v-if=\"currentTab == 4 && mode!=3 && !viewOnly\">\n\t\t\t\t\t<button\n\t\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\t\tclass=\"step-btn add-btn\"\n\t\t\t\t\t\t@click=\"changeMode(3)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i class=\"far fa-phone-laptop\"></i> Set Device Limits\n\t\t\t\t\t</button>\n\t\t\t\t</li>\t\t\t\t\n\t\t\t\t<li class=\"p-0 ms-auto\" v-if=\"currentTab == 4 && mode==3 && !viewOnly\">\n\t\t\t\t\t<button\n\t\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\t\tclass=\"step-btn add-btn\"\n\t\t\t\t\t\t@click=\"changeMode(4)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i class=\"far fa-phone-laptop\"></i> User Devices\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t\t<li class=\"p-0 ms-3\" v-if=\"currentTab == 4 && mode!=3 && !viewOnly\">\n\t\t\t\t\t<button\n\t\t\t\t\t\t:disabled=\"loading || disableReset\"\n\t\t\t\t\t\tclass=\"step-btn add-btn\"\n\t\t\t\t\t\t@click=\"showConfirmResetDevices\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\t\t<i v-else class=\"far fa-redo\"></i> Reset devices\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t\t<li class=\"p-0 ms-3\" v-if=\"currentTab == 0\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\t\tid=\"add-dropdown-btn\"\n\t\t\t\t\t\tclass=\"add-btn dropdown-toggle\"\n\t\t\t\t\t\t:disabled=\"isChangePassword\"\n\t\t\t\t\t\t@click=\"showDropdown\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<b-spinner\n\t\t\t\t\t\t\tclass=\"me-2\"\n\t\t\t\t\t\t\tv-if=\"loading && isChangePassword\"\n\t\t\t\t\t\t\tsmall\n\t\t\t\t\t\t></b-spinner>\n\t\t\t\t\t\t<i v-else class=\"fas fa-key me-2\"></i> Change Password\n\t\t\t\t\t</button>\n\t\t\t\t\t<div\n\t\t\t\t\t\tid=\"add-dropdown\"\n\t\t\t\t\t\tclass=\"dropdown-menu dropdown-menu-end\"\n\t\t\t\t\t\taria-labelledby=\"dropdownMenuLink\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<form @submit=\"passwordChange\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\tclass=\"change-password-input\"\n\t\t\t\t\t\t\t\tv-model=\"newPassword\"\n\t\t\t\t\t\t\t\tplaceholder=\"Enter new password (required)\"\n\t\t\t\t\t\t\t\tid=\"change-password-input\"\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\tv-on:keyup.esc=\"hideDropdown\"\n\t\t\t\t\t\t\t\tautofocus\n\t\t\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t@click=\"passwordChange\"\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tclass=\"content-action-btn save\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img src=\"@/assets/images/check-icon-green.svg\" alt=\"save\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t@click=\"hideDropdown\"\n\t\t\t\t\t\t\t\tclass=\"content-action-btn cancel\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img src=\"@/assets/images/cancel-icon-red.svg\" alt=\"cancel\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<div class=\"tab-body\">\n\t\t\t\t<component\n\t\t\t\t\t:is=\"tabComponent\"\n\t\t\t\t\t:user=\"userData\"\n\t\t\t\t\t:mode=\"mode\"\n\t\t\t\t\t@updateMode=\"changeMode\"\n\t\t\t\t\t:ref=\"isUserDetailTab && 'userDetails'\"\n\t\t\t\t\t@disable=\"handleDisable\"\n\t\t\t\t\t@updateData=\"handleUpdateData\"\n\t\t\t\t\t@error=\"updateError\"\n\t\t\t\t\t@disableSaveBtn=\"disableSaveBtn\"\n\t\t\t\t\trefs=\"comp\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"step-btn-container\">\n\t\t\t\t<button @click=\"closeModal\" role=\"button\" class=\"skip-step-btn\">\n\t\t\t\t\tcancel\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\t:disabled=\"disableSave || isSaveBtnDisabled\"\n\t\t\t\t\t@click=\"save()\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"step-btn\"\n\t\t\t\t>\n\t\t\t\t\t<b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t\tsave\n\t\t\t\t\t<img src=\"@/assets/images/arrow-right.svg\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport UserDetails from \"./UserDetails.vue\";\nimport UserInvoicesAndPayments from \"../Invoice/UserInvoices.vue\";\nimport UserEnrollments from \"../Enrollment/UserEnrollments.vue\";\nimport UserPayments from \"../Payment/UserPayments.vue\";\nimport UserDevices from \"./UserDevices.vue\";\nimport UserAttendance from \"./UserAttendance.vue\";\nimport { mapActions, mapState } from \"vuex\";\nimport { UserStatus } from \"../../../constants/user\";\n\nexport default {\n\tname: \"ViewEditUserModal\",\n\tdata() {\n\t\treturn {\n\t\t\tcurrentTab: 0,\n\t\t\tuserDetails: null,\n\t\t\tmode: 0,\n\t\t\tdisableReset: false,\n\t\t\tdeviceData: null,\n\t\t\tisError: false,\n\t\t\tUserStatus,\n\t\t\tnewPassword: null,\n\t\t\tisChangePassword: false,\n\t\t\tisUserStatusUpdate: false,\n\t\t\tisUserDeleting: false,\n\t\t\tisSaveBtnDisabled: false\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\n\t\t\t\"editUser\",\n\t\t\t\"deleteUser\",\n\t\t\t\"resetUserDevices\",\n\t\t\t\"setUserDeviceRestrictions\",\n\t\t\t\"fetchUserDeviceRestrictions\",\n\t\t\t\"fetchUserById\",\n\t\t\t\"updateUserStatus\",\n\t\t\t\"changePassword\",\n\t\t]),\n\t\tdisableSaveBtn(state) {\n\t\t\tif(state == undefined || state == null) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.isSaveBtnDisabled = state;\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.$emit(\"updateModalState\");\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t},\n\t\tchangeTab(tab) {\n\t\t\tthis.currentTab = tab;\n\t\t},\n\t\tsave() {\n\t\t\tif (this.mode == 3) {\n\t\t\t\tconsole.log(\"save\", this.$refs.userDetails);\n\t\t\t\tthis.$refs.userDetails.emitDeviceDetails();\n\t\t\t\t\tvar restrictionsObj = {\n\t\t\t\t\t\tuserID: this.user.id,\n\t\t\t\t\t\trestrictionLimits: this.deviceData,\n\t\t\t\t\t};\n\n\t\t\t\t\tthis.setUserDeviceRestrictions(restrictionsObj).then(() => {\n\t\t\t\t\t\t//this.changeMode(0);\n\t\t\t\t\t\tthis.$toasted.success(\"Device limits updated successfully\", {\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.fetchUserDeviceRestrictions(this.user);\n\t\t\t\t\t});\n\t\t\t\t\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.userDetails = this.$refs.userDetails.updateObj;\n\t\t\tif (this.userDetails.mobile)\n\t\t\t\tthis.userDetails.mobile = this.userDetails.mobile.replaceAll(\" \", \"\");\n\t\t\tthis.userDetails.extraProperties = JSON.stringify(\n\t\t\t\tthis.$refs.userDetails.extraProperties\n\t\t\t);\n\t\t\tthis.userDetails.id = this.user.id;\n\t\t\tthis.editUser(this.userDetails).then(() => {\n\t\t\t\tthis.$emit(\"updateModalState\");\n\t\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\t});\n\t\t},\n\t\tchangeMode(mode) {\n\t\t\tthis.mode = mode;\n\t\t},\n\t\tisUserDetailTab() {\n\t\t\treturn this.tabComponent == UserDetails;\n\t\t},\n\t\tshowDisableConfirmPopup(e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to disable the User: ${this.userData.firstName} ${this.userData.lastName}?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.updateStatus();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t\tupdateStatus() {\n\t\t\tthis.isUserStatusUpdate = true;\n\t\t\tthis.updateUserStatus({\n\t\t\t\tuserID: this.user.id,\n\t\t\t\tstatus:\n\t\t\t\t\tthis.userData.status == UserStatus.ACTIVE\n\t\t\t\t\t\t? UserStatus.INACTIVE\n\t\t\t\t\t\t: UserStatus.ACTIVE,\n\t\t\t\tuser: this.user,\n\t\t\t}).then(() => {\n\t\t\t\tthis.isUserStatusUpdate = false;\n\t\t\t\tconsole.log(\"user status updated\");\n\t\t\t\tthis.$toasted.success(`User Status Updated!`, {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tthis.closeModal();\n\t\t\t});\n\t\t},\n\t\tuserDelete() {\n\t\t\tthis.isUserDeleting = true;\n\t\t\tthis.deleteUser(this.user).then(() => {\n\t\t\t\tthis.isUserDeleting = false;\n\t\t\t\tconsole.log(\"user delete successfully\");\n\t\t\t\tthis.$toasted.success(`User deleted successfully!`, {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tthis.closeModal();\n\t\t\t});\n\t\t},\n\t\thandleDisable() {\n\t\t\tif (this.tabComponent == UserDevices) this.disableReset = true;\n\t\t},\n\t\tshowConfirmResetDevices(e) {\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to reset all devices for ${this.userData.firstName} ${this.userData.lastName}?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.resetDevices();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t\tresetDevices() {\n\t\t\tthis.resetUserDevices(this.user).then(() => {\n\t\t\t\tconsole.log(\"User devices reset successfully\");\n\t\t\t\tthis.disableReset = true;\n\t\t\t\tthis.$toasted.success(`User devices reset successfully!`, {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\t// this.closeModal();\n\t\t\t});\n\t\t},\n\t\thandleUpdateData(data) {\n\t\t\tif (this.mode == 3) {\n\t\t\t\tthis.deviceData = data;\n\t\t\t}\n\t\t},\n\t\tupdateError(error) {\n\t\t\tthis.isError = error;\n\t\t},\n\t\tshowDropdown() {\n\t\t\tconsole.log(\"dropdown toggled\");\n\t\t\tdocument.getElementById(\"change-password-input\").focus();\n\t\t},\n\t\thideDropdown() {\n\t\t\tdocument.getElementById(\"add-dropdown-btn\").click();\n\t\t},\n\t\tpasswordChange(e) {\n\t\t\te.preventDefault();\n\t\t\tthis.isChangePassword = true;\n\t\t\tthis.newPassword = this.newPassword.trim();\n\t\t\tif (this.newPassword.length > 0 && !this.loading) {\n\t\t\t\tvar changePasswordObj = {\n\t\t\t\t\tid: this.user.id,\n\t\t\t\t\tpassword: this.newPassword,\n\t\t\t\t};\n\t\t\t\tthis.editUser(changePasswordObj).then(() => {\n\t\t\t\t\tthis.newPassword = \"\";\n\t\t\t\t\tthis.isChangePassword = false;\n\t\t\t\t\tthis.$toasted.success(\"User's password changed successfully\", {\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\t// console.log(\"CreateCategory called\");\n\t\t\t} else {\n\t\t\t\tdocument.getElementById(\"add-dropdown-btn\").click();\n\t\t\t}\n\n\t\t\t// this.categoryTitle = \"\";\n\t\t},\n\t\tshowDeleteConfirmPopup(e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis.$bvModal\n\t\t\t\t.msgBoxConfirm(\n\t\t\t\t\t`Are you sure you want to delete the User: ${this.userData.firstName} ${this.userData.lastName}?`,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\t\t\tsize: \"md\",\n\t\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\t\tokTitle: \"Yes\",\n\t\t\t\t\t\tcancelTitle: \"No\",\n\t\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\t\tcentered: true,\n\t\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.then((value) => {\n\t\t\t\t\t// this.isConfirm = value;\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tthis.userDelete();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t// An error occurred\n\t\t\t\t});\n\t\t},\n\t},\n\tprops: {\n\t\tuser: Object,\n\t\topenTab: Number,\n\t\tshowModal: Boolean,\n\t\tviewOnly: { default: false, type: Boolean },\n\t},\n\tcomponents: { UserDetails },\n\tcomputed: {\n\t\t...mapState(\"user\", [\"loading\", \"allUsers\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\ttabComponent() {\n\t\t\tswitch (this.currentTab) {\n\t\t\t\tcase 0:\n\t\t\t\t\treturn UserDetails;\n\t\t\t\tcase 1:\n\t\t\t\t\treturn UserEnrollments;\n\t\t\t\tcase 2:\n\t\t\t\t\treturn UserInvoicesAndPayments;\n\t\t\t\tcase 3:\n\t\t\t\t\treturn UserPayments;\n\t\t\t\tcase 4:\n\t\t\t\t\treturn UserDevices;\n\t\t\t\tcase 5:\n\t\t\t\t\treturn UserAttendance;\n\t\t\t}\n\t\t},\n\t\tdisableSave() {\n\t\t\tif (this.isError) return this.isError;\n\t\t\tif ((this.mode == 1 || this.mode == 3) && !this.loading) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tisUserActive() {\n\t\t\treturn this.userData.status == UserStatus.ACTIVE;\n\t\t},\n\t\tuserData() {\n\t\t\tif (this.user)\n\t\t\t\treturn (\n\t\t\t\t\tthis.allUsers?.find((user) => user.id == this.user.id) ?? this.user\n\t\t\t\t);\n\t\t},\n\t},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible) {\n\t\t\t\tthis.fetchUserById(this.user.id);\n\t\t\t\tthis.currentTab = this.openTab;\n\t\t\t}\n\t\t},\n\t\tcurrentTab: function () {\n\t\t\tthis.mode = 0;\n\t\t\t// console.log(this.tabComponent.computed.UserDevices());\n\t\t\t// if (\n\t\t\t// \tthis.tabComponent == UserDevices &&\n\t\t\t// \tthis.tabComponent.computed.UserDevices &&\n\t\t\t// \tthis.tabComponent.devices.length == 0\n\t\t\t// )\n\t\t\t// \tthis.disableReset = true;\n\t\t},\n\t},\n};\n</script>\n\n<style>\n.view-edit-user-modal,\n.add-enroll-modal,\n.invoice-detail-modal,\n.payment-detail-modal {\n\tmin-height: 45.375rem;\n\twidth: 70vw;\n}\n\n.view-edit-user-modal .modal-body,\n.add-enroll-modal .modal-body,\n.invoice-detail-modal .modal-body,\n.payment-detail-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n}\n\n.confirm-modal-body {\n\tpadding: 1rem !important;\n\tfont-size: 1.125rem;\n}\n\n.view-edit-user-modal .body-container,\n.add-enroll-modal .body-container,\n.invoice-detail-modal .body-container,\n.payment-detail-modal .body-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 2.5rem 2.5rem 1.5rem;\n\twidth: 100%;\n}\n\n.view-edit-user-modal .add-enroll-title,\n.add-enroll-modal .add-enroll-title,\n.invoice-detail-modal .add-enroll-title,\n.payment-detail-modal .add-enroll-title {\n\ttext-transform: capitalize;\n\tfont-weight: 450;\n\tfont-size: 2rem;\n\tline-height: 0.75;\n\tmargin: 0.5rem 0 1rem;\n\tcolor: #000000;\n}\n\n.view-edit-user-modal .main-label,\n.add-enroll-modal .main-label,\n.invoice-detail-modal .main-label,\n.payment-detail-modal .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n.view-edit-user-modal .form-input,\n.add-enroll-modal .form-input,\n.invoice-detail-modal .form-input,\n.payment-detail-modal .form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0 0 0.875rem;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n\tborder-radius: 0;\n\tbox-shadow: none !important;\n\tposition: relative;\n\theight: 40px;\n}\n\n.user-modal-tabs {\n\tborder-bottom: 1px solid #dedede;\n\t/* box-shadow: 0 3px 6px #dedede; */\n}\n\n.user-tab {\n\tpadding: 0 0 0.5rem !important;\n\tmargin: 1rem 1rem 0 0;\n\t/* padding-bottom: 1rem; */\n\tborder-bottom: 2px solid transparent;\n\tfont-size: 1.125rem;\n}\n\n.user-tab.active {\n\tborder-bottom: 2px solid var(--primary-color);\n}\n\n.user-modal-tab-body {\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-top: 2rem;\n\tmax-height: 31rem;\n\toverflow-y: auto;\n\tmargin-right: -1rem;\n\tpadding-right: 1rem;\n\tmargin-bottom: 1rem;\n}\n\n.add-btn.danger {\n\tcolor: var(--color-danger);\n}\n\n.change-password-input {\n\theight: 3.125rem;\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.875rem 1rem;\n\tfont-size: 1.125rem;\n\tcolor: #000000;\n\twidth: 100%;\n\ttext-align: left;\n\tline-height: 1;\n\tpadding-right: 5.25rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ViewEditUserModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ViewEditUserModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ViewEditUserModal.vue?vue&type=template&id=22057b86&\"\nimport script from \"./ViewEditUserModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ViewEditUserModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ViewEditUserModal.vue?vue&type=style&index=0&id=22057b86&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"product-card\"},[_c('div',{staticClass:\"product-image-container\"},[_c('img',{staticClass:\"cart-product-image\",attrs:{\"src\":require((\"@/\" + (_vm.productVariantData.product.thumbnailPath))),\"alt\":\"\"}})]),_c('div',{staticClass:\"d-flex justify-content-between flex-grow-1 flex-lg-row flex-md-row flex-column\"},[_c('div',{staticClass:\"col-md-8 cart-product-content-container\"},[_c('h3',{staticClass:\"text-bold\"},[_vm._v(\" \"+_vm._s(_vm.productVariantData.product.title)+\" - \"+_vm._s(_vm.productVariantData.title)+\" \")]),(_vm.productVariantTrainers && _vm.productVariantTrainers.length > 0)?_c('p',[_c('span',{staticClass:\"text-500\"},[_vm._v(\"Trainers:\")]),_vm._v(\" \"+_vm._s(_vm.productVariantTrainers .map(function (p) { return p.firstName + \" \" + p.lastName; }) .toString() .split(\",\") .join(\",\\n\"))+\" \")]):_vm._e(),_c('p',[_c('span',{staticClass:\"text-500\"},[_vm._v(\"Course Start Date:\")]),_vm._v(\" \"+_vm._s(_vm.productVariantData.startDate ? new Date(_vm.productVariantData.startDate).toDateString() : \"-\")+\" \")]),_c('p',[_c('span',{staticClass:\"text-500\"},[_vm._v(\"Course End Date:\")]),_vm._v(\" \"+_vm._s(_vm.productVariantData.endDate ? new Date(_vm.productVariantData.endDate).toDateString() : \"-\")+\" \")])]),_c('div',{staticClass:\"col-md-3 cart-product-price-container\"},[_c('h4',{staticClass:\"text-bold\"},[_vm._v(\" \"+_vm._s(_vm.productVariantData.pricing.amount ? _vm.parseCurrency( _vm.productVariantData.pricing.amount, _vm.productVariantData.pricing.currency, 0 ) : \"Free\")+\" \")]),_c('a',{staticClass:\"remove-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.removeFromCart(_vm.productVariantData)}}},[_vm._v(\"Remove\")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"product-card\">\n\t\t<div class=\"product-image-container\">\n\t\t\t<img\n\t\t\t\t:src=\"require(`@/${productVariantData.product.thumbnailPath}`)\"\n\t\t\t\talt=\"\"\n\t\t\t\tclass=\"cart-product-image\"\n\t\t\t/>\n\t\t</div>\n\t\t<div\n\t\t\tclass=\"d-flex justify-content-between flex-grow-1 flex-lg-row flex-md-row flex-column\"\n\t\t>\n\t\t\t<div class=\"col-md-8 cart-product-content-container\">\n\t\t\t\t<h3 class=\"text-bold\">\n\t\t\t\t\t{{ productVariantData.product.title }} -\n\t\t\t\t\t{{ productVariantData.title }}\n\t\t\t\t</h3>\n\t\t\t\t<p v-if=\"productVariantTrainers && productVariantTrainers.length > 0\">\n\t\t\t\t\t<span class=\"text-500\">Trainers:</span>\n\t\t\t\t\t{{\n\t\t\t\t\t\tproductVariantTrainers\n\t\t\t\t\t\t\t.map((p) => {\n\t\t\t\t\t\t\t\treturn p.firstName + \" \" + p.lastName;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t\t.split(\",\")\n\t\t\t\t\t\t\t.join(\",\\n\")\n\t\t\t\t\t}}\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t<span class=\"text-500\">Course Start Date:</span>\n\t\t\t\t\t{{\n\t\t\t\t\t\tproductVariantData.startDate\n\t\t\t\t\t\t\t? new Date(productVariantData.startDate).toDateString()\n\t\t\t\t\t\t\t: \"-\"\n\t\t\t\t\t}}\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t<span class=\"text-500\">Course End Date:</span>\n\t\t\t\t\t{{\n\t\t\t\t\t\tproductVariantData.endDate\n\t\t\t\t\t\t\t? new Date(productVariantData.endDate).toDateString()\n\t\t\t\t\t\t\t: \"-\"\n\t\t\t\t\t}}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div class=\"col-md-3 cart-product-price-container\">\n\t\t\t\t<h4 class=\"text-bold\">\n\t\t\t\t\t{{\n\t\t\t\t\t\tproductVariantData.pricing.amount\n\t\t\t\t\t\t\t? parseCurrency(\n\t\t\t\t\t\t\t\t\tproductVariantData.pricing.amount,\n\t\t\t\t\t\t\t\t\tproductVariantData.pricing.currency,\n\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: \"Free\"\n\t\t\t\t\t}}\n\t\t\t\t</h4>\n\t\t\t\t<a\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"remove-btn\"\n\t\t\t\t\t@click=\"removeFromCart(productVariantData)\"\n\t\t\t\t\t>Remove</a\n\t\t\t\t>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport formatter from \"../../helpers/FormatHelpers\";\n\nexport default {\n\tname: \"CartProductItem\",\n\tprops: { productVariantData: Object },\n\tmethods: {\n\t\t...mapActions(\"cart\", [\"removeFromCart\"]),\n\t\t...mapActions(\"user\", [\"fetchUsersList\",\"fetchTrainersList\"]),\n\n\t\tparseCurrency(amount, currency, decimal) {\n\t\t\treturn formatter.toCurrencyString(amount, currency, decimal);\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"trainers\"]),\n\t\tproductVariantTrainers() {\n\t\t\tvar trainerList = [];\n\t\t\tif (\n\t\t\t\tthis.productVariantData.properties &&\n\t\t\t\tthis.productVariantData.properties.trainers\n\t\t\t) {\n\t\t\t\tif (this.trainers) {\n\t\t\t\t\tvar list = JSON.parse(this.productVariantData.properties.trainers);\n\t\t\t\t\t// console.log(list);\n\t\t\t\t\tlist.forEach((trainerID) => {\n\t\t\t\t\t\tvar found = this.trainers.find((t) => t.id == trainerID);\n\t\t\t\t\t\tif (found) {\n\t\t\t\t\t\t\ttrainerList.push(found);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\treturn trainerList;\n\t\t\t\t}\n\t\t\t\tthis.fetchTrainersList().then(() => {\n\t\t\t\t\tvar list = JSON.parse(this.productVariantData.properties.trainers);\n\t\t\t\t\t// console.log(list);\n\t\t\t\t\tlist.forEach((trainerID) => {\n\t\t\t\t\t\tvar found = this.trainers.find((t) => t.id == trainerID);\n\t\t\t\t\t\tif (found) {\n\t\t\t\t\t\t\ttrainerList.push(found);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn trainerList;\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.cart-product-image {\n\t\twidth: 100px !important;\n\t}\n}\n\n@media screen and (max-width: 768px) {\n\th3 {\n\t\tfont-size: 1.1rem;\n\t}\n\n\th4 {\n\t\tfont-size: 1.2rem;\n\t}\n\n\t.cart-product-price-container {\n\t\ttext-align: left !important;\n\t\tmargin-left: 1rem;\n\t\tmargin-top: 0.5rem;\n\t}\n\n\t.cart-product-content-container {\n\t\tfont-size: 0.9rem;\n\t}\n\n\t.cart-product-image {\n\t\twidth: 70px !important;\n\t}\n\n\t.product-card {\n\t\tpadding: 1rem !important;\n\t}\n}\n\np {\n\tmargin: 0;\n}\n\n.product-card {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: row;\n\tborder: 1px solid var(--color-light-blue);\n\tbackground-color: var(--color-white);\n\tbox-shadow: 3px 3px 10px var(--color-light-blue);\n\t/* height: 200px; */\n\tborder-radius: 8px;\n\tpadding: 1.5rem 2rem;\n\tmargin-bottom: 1rem !important;\n}\n\n.cart-product-image {\n\twidth: 170px;\n\tborder-radius: 4px;\n}\n\n.cart-product-content-container {\n\tmargin-left: 1rem;\n}\n\n.cart-product-price-container {\n\ttext-align: right;\n}\n\n.cart-product-price-container h4 {\n\tmargin-bottom: 1rem;\n}\n\n.remove-btn {\n\tpadding: 0.5rem 0.75rem;\n\ttext-transform: uppercase;\n\tfont-size: 0.75rem;\n\tbackground-color: var(--color-light-blue);\n\ttext-decoration: none;\n\tcolor: var(--color-text-default);\n\tborder-radius: 1rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CartProductItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CartProductItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CartProductItem.vue?vue&type=template&id=778f00b7&scoped=true&\"\nimport script from \"./CartProductItem.vue?vue&type=script&lang=js&\"\nexport * from \"./CartProductItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CartProductItem.vue?vue&type=style&index=0&id=778f00b7&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"778f00b7\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"payment-card\"},[_c('h5',{staticClass:\"text-gray\"},[_vm._v(\"Total Amount\")]),_c('h2',{staticClass:\"text-bold mb-4\"},[_vm._v(\" \"+_vm._s(_vm.parseCurrency(_vm.getCartTotalAmount, _vm.cart.currency, 0))+\" \")]),_c('p',{staticClass:\"text-uppercase-danger\"},[_vm._v(\"Payment Method\")]),_c('div',{staticClass:\"radio-group\"},[_vm._l((_vm.paymentOptions),function(option){return _c('div',{key:option.code,staticClass:\"radio-input d-flex\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentMode),expression:\"paymentMode\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"payment-method\",\"id\":option.serviceProvider},domProps:{\"value\":option.serviceProvider,\"checked\":_vm._q(_vm.paymentMode,option.serviceProvider)},on:{\"change\":function($event){_vm.paymentMode=option.serviceProvider}}}),_c('label',{staticClass:\"form-check-label flex-grow-1 d-flex justify-content-between align-items-center\",attrs:{\"for\":option.serviceProvider}},[_vm._v(\" \"+_vm._s(option.serviceName)+\" \"),(option.serviceData && JSON.parse(option.serviceData))?_c('img',{staticStyle:{\"height\":\"20px\"},attrs:{\"src\":JSON.parse(option.serviceData).IconSrc}}):_vm._e()])])}),(!_vm.paymentOptions || _vm.loading)?_c('div',{staticClass:\"d-flex justify-content-center align-items-center gap-2\"},[_c('b-spinner',{attrs:{\"small\":\"\"}}),_vm._v(\" Loading... \")],1):_vm._e(),(!_vm.loading && _vm.paymentOptions && _vm.paymentOptions.length === 0)?_c('div',{staticClass:\"text-muted no-methods\"},[_vm._v(\" No payment methods available \")]):_vm._e(),_c('table',{staticClass:\"table mt-4\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"col-7\"},[_vm._v(\"Total (Before GST)\")]),_c('td',{staticClass:\"col-5 text-bold text-end\"},[_vm._v(\" \"+_vm._s(_vm.parseCurrency(_vm.getCartTotalAmount, _vm.cart.currency, 0))+\" \")])]),_c('tr',[_c('td',{staticClass:\"col-7 text-muted\"},[_vm._v(\"GST\")]),_c('td',{staticClass:\"col-5 text-muted text-end\"},[_vm._v(\" \"+_vm._s(_vm.parseCurrency(0, _vm.cart.currency, 2))+\" \")])]),_c('tr',{staticClass:\"text-bold\"},[_c('td',{staticClass:\"col-7\"},[_vm._v(\"Total (Including GST)\")]),_c('td',{staticClass:\"col-5 text-end\"},[_vm._v(\" \"+_vm._s(_vm.parseCurrency(_vm.getCartTotalAmount, _vm.cart.currency, 0))+\" \")])])])]),_c('p',{staticClass:\"text-muted\"},[_vm._v(\"Disclaimer: By clicking on Pay Now, you agree to the terms and conditions and all policies including refund policy.\")]),(_vm.directEnrollVariants && _vm.directEnrollVariants.length > 0 && (!_vm.paidVariants || _vm.paidVariants.length === 0))?_c('button',{staticClass:\"btn-block-rounded-primary width-100\",attrs:{\"disabled\":_vm.loading,\"role\":\"button\"},on:{\"click\":_vm.confirmRegistration}},[_vm._v(\" Enroll Now \")]):_c('button',{staticClass:\"btn-block-rounded-primary width-100\",attrs:{\"disabled\":_vm.paymentMode == '' || _vm.loading,\"role\":\"button\"},on:{\"click\":_vm.handlePayNowClick}},[_vm._v(\" Pay Now \")])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"payment-card\">\n    <h5 class=\"text-gray\">Total Amount</h5>\n    <h2 class=\"text-bold mb-4\">\n      {{ parseCurrency(getCartTotalAmount, cart.currency, 0) }}\n    </h2>\n    <p class=\"text-uppercase-danger\">Payment Method</p>\n    <div class=\"radio-group\">\n      <div\n        v-for=\"option in paymentOptions\"\n        :key=\"option.code\"\n        class=\"radio-input d-flex\"\n      >\n        <input\n          v-model=\"paymentMode\"\n          class=\"form-check-input\"\n          type=\"radio\"\n          name=\"payment-method\"\n          :id=\"option.serviceProvider\"\n          :value=\"option.serviceProvider\"\n        />\n\n        <label\n          class=\"form-check-label flex-grow-1 d-flex justify-content-between align-items-center\"\n          :for=\"option.serviceProvider\"\n        >\n          {{ option.serviceName }}\n          <img\n            style=\"height: 20px\"\n            v-if=\"option.serviceData && JSON.parse(option.serviceData)\"\n            :src=\"JSON.parse(option.serviceData).IconSrc\"\n          />\n        </label>\n      </div>\n      <div\n        v-if=\"!paymentOptions || loading\"\n        class=\"d-flex justify-content-center align-items-center gap-2\"\n      >\n        <b-spinner small></b-spinner> Loading...\n      </div>\n      <div v-if=\"!loading && paymentOptions && paymentOptions.length === 0\" class=\"text-muted no-methods\">\n        No payment methods available\n      </div>\n      <table class=\"table mt-4\">\n        <tbody>\n          <tr>\n            <td class=\"col-7\">Total (Before GST)</td>\n            <td class=\"col-5 text-bold text-end\">\n              {{ parseCurrency(getCartTotalAmount, cart.currency, 0) }}\n            </td>\n          </tr>\n          <tr>\n            <td class=\"col-7 text-muted\">GST</td>\n            <td class=\"col-5 text-muted text-end\">\n              {{ parseCurrency(0, cart.currency, 2) }}\n            </td>\n          </tr>\n          <tr class=\"text-bold\">\n            <td class=\"col-7\">Total (Including GST)</td>\n            <td class=\"col-5 text-end\">\n              {{ parseCurrency(getCartTotalAmount, cart.currency, 0) }}\n            </td>\n          </tr>\n        </tbody>\n      </table>\n      <p class=\"text-muted\">Disclaimer: By clicking on Pay Now, you agree to the terms and conditions and all policies including refund policy.</p>\n      <button\n          v-if=\"directEnrollVariants && directEnrollVariants.length > 0 && (!paidVariants || paidVariants.length === 0)\"\n          :disabled=\"loading\"\n          @click=\"confirmRegistration\"\n          role=\"button\"\n          class=\"btn-block-rounded-primary width-100\"\n      >\n        Enroll Now\n      </button>\n      <button\n        v-else\n        :disabled=\"paymentMode == '' || loading\"\n        @click=\"handlePayNowClick\"\n        role=\"button\"\n        class=\"btn-block-rounded-primary width-100\"\n      >\n        Pay Now\n      </button>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters, mapActions, mapState } from \"vuex\";\nimport formatter from \"../../helpers/FormatHelpers\";\nexport default {\n  name: \"PaymentCard\",\n  data() {\n    return {\n      paymentMode: \"\",\n      paymentOptions: null,\n      enrolledVariants: [],\n    };\n  },\n  methods: {\n    ...mapActions(\"appState\", [\"fetchExternalServices\"]),\n    ...mapActions(\"pricing\", [\"createBulkInvoice\", \"fetchInvoiceByUserId\"]),\n    ...mapActions(\"user\", [\"fetchUserById\", \"enrollUserInProductVariant\"]),\n    ...mapActions(\"cart\", [\"emptyCart\"]),\n    parseCurrency(amount, currency, decimal) {\n      return formatter.toCurrencyString(amount, currency, decimal);\n    },\n    iconPath(option) {\n      // console.log(`@${JSON.parse(option.serviceData).IconSrc}`);\n      return require(`@${JSON.parse(option.serviceData).IconSrc}`);\n    },\n    confirmRegistration() {\n      if (this.directEnrollVariants && this.directEnrollVariants.length > 0) {\n        this.directlyEnrollCourses();\n      }\n      if (this.paidVariants && this.paidVariants.length > 0) {\n        this.cart.items.forEach((item) => {\n          if (item.pricingStatus.toLowerCase() == \"paid\")\n            this.getInvoiceDetails(item);\n        });\n        this.generateInvoice();\n      }\n    },\n    generateInvoice() {\n      var invoice = {\n        customerID: this.user.id,\n        invoiceDate: new Date().toISOString(),\n        currency: this.cart.currency,\n        status: \"unpaid\",\n        details: this.invoiceDetails,\n      };\n\n      this.createBulkInvoice([invoice]).then((res) => {\n        console.log(res);\n        if (res && res.length && res[0]?.id != 0) {\n          // this.enrolledVariants.push(...this.invoiceDetails);\n          this.fetchUserById(this.user.id);\n          this.fetchInvoiceByUserId(this.user.id).then(() => {\n            // console.log(this.invoicesByUserId);\n            // this.$router.push(\"/user/invoices\");\n            this.processPayments(res);\n            // this.closeModal();\n            this.$toasted.success(\n              \"Courses enrolled & invoice generated successfully\",\n              {\n                theme: \"outline\",\n                position: \"bottom-center\",\n                duration: 3000,\n              }\n            );\n            this.emptyCart();\n          });\n        } else {\n          this.$toasted.show(\n            \"You are already enrolled in one or more of the selected courses and have an unpaid invoice. Please pay the invoice to access the course.\",\n            {\n              theme: \"outline\",\n              position: \"bottom-center\",\n              fullwidth: true,\n              action: {\n                text: \"DISMISS\",\n                onClick: (e, toastObject) => {\n                  toastObject.goAway(0);\n                },\n              },\n            }\n          );\n          this.$router.push(\"/user/invoices\");\n        }\n      });\n    },\n    directlyEnrollCourses() {\n      this.directEnrollVariants.forEach((variant) => {\n        var requestObj = {\n          userID: this.user.id,\n          productVariantID: variant.id,\n          expiresAt: variant.endDate\n            ? variant.endDate\n            : new Date(\"12/31/2070\").toISOString(),\n          allowedRanges: [\n            {\n              startsFrom: variant.startDate\n                ? variant.startDate\n                : new Date(\"12/31/1970\").toISOString(),\n              endsAt: variant.endDate\n                ? variant.endDate\n                : new Date(\"12/31/2070\").toISOString(),\n            },\n          ],\n        };\n        this.enrollUserInProductVariant({\n          user: this.user,\n          requestObj,\n        }).then(() => {\n          console.log(\n            `User ${this.user.id} enrolled in variant ${variant.id}.`\n          );\n          // this.disableEnroll = false;\n          this.enrolledVariants.push(variant);\n          if (\n            this.enrolledVariants.length >= this.directEnrollVariants.length\n          ) {\n            this.fetchUserById(this.user.id).then(() => {\n              console.log(\"direct enroll variants complete\");\n              if (this.paidVariants && this.paidVariants.length == 0) {\n                this.$toasted.success(\"Courses enrolled successfully\", {\n                  theme: \"outline\",\n                  position: \"bottom-center\",\n                  duration: 3000,\n                });\n                this.$router.push(\"/user/dashboard\");\n              }\n              this.emptyCart(this.currentCurrency);\n            });\n          }\n        });\n      });\n    },\n    getInvoiceDetails(variant) {\n      console.log(\"getInvoiceDetails\", variant);\n      var invoiceDetail = [];\n      if (variant.selectedPlan.type.toLowerCase() == \"onetime\") {\n        var detail = {\n          planDetailID: parseInt(variant.selectedPlan.details[0].id),\n          amount: 0, //variant.selectedPlan.details[0].amount,\n          status: \"unpaid\",\n        };\n        var dueDate = new Date().setDate(\n          new Date().getDate() + variant.selectedPlan.details[0].gracePeriod\n        );\n        dueDate = new Date(dueDate).setHours(23, 59, 59);\n\n        console.log(dueDate);\n        detail.dueDate = new Date(dueDate).toISOString();\n        detail.discount = 0.0;\n        detail.discountType = null;\n        invoiceDetail.push(detail);\n      } else {\n        variant.selectedPlan.details.forEach((detail) => {\n          var invDetail = {\n            planDetailID: parseInt(detail.id),\n            amount: 0, //detail.amount,\n            status: \"unpaid\",\n          };\n          var dueDate = new Date().setDate(\n            new Date().getDate() + detail.gracePeriod\n          );\n          dueDate = new Date(dueDate).setHours(23, 59, 59);\n\n          console.log(dueDate);\n          invDetail.dueDate = new Date(dueDate).toISOString();\n          invDetail.discount = 0.0;\n          invDetail.discountType = null;\n          invoiceDetail.push(invDetail);\n        });\n      }\n      if (!this.invoiceDetails) this.invoiceDetails = invoiceDetail;\n      else this.invoiceDetails.push(...invoiceDetail);\n    },\n    processPayments(invoice) {\n      if(this.paymentMode.toLowerCase() == 'kuickpaybps') {\n        var kuickpaybpsPayment = this.paymentOptions.find((x) => x.serviceProvider.toLowerCase() == this.paymentMode.toLowerCase());\n\n        var serviceData = kuickpaybpsPayment.serviceData ? JSON.parse(kuickpaybpsPayment.serviceData) : null;\n\n        this.$router.push(`${this.payNowLink}/${invoice[0].id}?merchantcode=${serviceData.MerchantCode}`);\n      }\n      else{\n        this.$router.push(`${this.payNowLink}/${invoice[0].id}`);\n      }\n    },\n    handlePayNowClick() {\n      if (\n        this.paymentMode.toLowerCase() == \"cash\"\n        // ||\n        // this.paymentMode.toLowerCase() == \"banktransfer\"\n      ) {\n        this.$router.push(`${this.payNowLink}`);\n      } else if (\n        this.paymentMode.toLowerCase() == \"banktransfer\" ||\n        this.paymentMode.toLowerCase() == \"paypro\" ||\n        this.paymentMode.toLowerCase() == \"meezan\" ||\n        this.paymentMode.toLowerCase() == \"scotia\" ||\n        this.paymentMode.toLowerCase() == \"ngenius\" ||\n        this.paymentMode.toLowerCase() == \"kuickpaybps\" ||\n        this.paymentMode.toLowerCase() == \"kuickpaycheckout\" ||\n        this.paymentMode.toLowerCase() == \"safepay\" ||\n        this.paymentMode.toLowerCase() == \"stripe\"\n      ) {\n        this.confirmRegistration();\n      }\n    },\n  },\n  computed: {\n    ...mapGetters(\"cart\", [\"getCartTotalAmount\"]),\n    ...mapState(\"appState\", [\"externalServicesList\", \"loading\"]),\n    ...mapState(\"cart\", [\"cart\"]),\n    ...mapState(\"pricing\", [\"paymentsByUserId\"]),\n    ...mapState(\"user\", [\"user\"]),\n    payNowLink() {\n      return `/payment/${this.paymentMode.toLowerCase()}`;\n    },\n    directEnrollVariants() {\n      return this.cart.items.filter(\n        (item) => item.pricingStatus.toLowerCase() != \"paid\"\n      );\n    },\n    paidVariants() {\n      return this.cart.items.filter(\n        (item) => item.pricingStatus.toLowerCase() == \"paid\"\n      );\n    },\n  },\n  created() {\n    if (!this.externalServicesList.PaymentGateway) {\n      this.fetchExternalServices(\"PaymentGateway\").then((res) => {\n        console.log(res);\n        if (res.payload.length > 0) {\n          this.paymentOptions = this.externalServicesList.PaymentGateway;\n          this.paymentMode =\n            this.externalServicesList.PaymentGateway[0].serviceProvider;\n        } else {\n          this.paymentOptions = [];\n        }\n        // console.log(\n        // \t\"payment options\",\n        // \tthis.externalServicesList.PaymentGateway\n        // );\n      });\n    } else {\n      this.paymentOptions = this.externalServicesList.PaymentGateway;\n      this.paymentMode =\n        this.externalServicesList.PaymentGateway[0].serviceProvider;\n    }\n  },\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n  .payment-card {\n    top: 1rem !important;\n  }\n}\n\n@media screen and (max-width: 768px) {\n  .payment-card {\n    border: 1px solid var(--color-light-blue) !important;\n    box-shadow: 3px 3px 10px var(--color-light-blue) !important;\n  }\n}\n\n.payment-card {\n  /* height: 500px; */\n  border-radius: 0.75rem;\n  position: relative;\n  top: -7rem;\n  background-color: var(--color-white);\n  z-index: 99;\n  border: 3px solid var(--color-light-blue);\n  box-shadow: 0 0 10px var(--color-gray);\n  padding: 1.5rem;\n}\n\n.text-uppercase-danger {\n  font-size: 0.85rem;\n  text-transform: uppercase;\n  color: var(--color-danger);\n  margin: 0.5rem 0 0.75rem;\n}\n\n.radio-input {\n  padding: 1rem 0.25rem;\n  border-bottom: 1px solid #dee2e6 !important;\n}\n\n.radio-input:last-of-type {\n  border-bottom: none !important;\n}\n\n.radio-input input[type=\"radio\"] {\n  margin-right: 0.5rem;\n  width: 1.25rem;\n  height: 1.25rem;\n  outline: none;\n}\n\n.radio-input input[type=\"radio\"]:checked {\n  background-color: white;\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23febb2c'/%3e%3c/svg%3e\");\n  border-color: var(--color-dark-gray);\n}\n\n.payment-icon {\n  width: 70px;\n  float: right;\n}\n\ntable {\n  line-height: 1rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PaymentCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PaymentCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PaymentCard.vue?vue&type=template&id=2923c436&scoped=true&\"\nimport script from \"./PaymentCard.vue?vue&type=script&lang=js&\"\nexport * from \"./PaymentCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PaymentCard.vue?vue&type=style&index=0&id=2923c436&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2923c436\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.data)?_c('div',{staticClass:\"container-fluid assignment-container mt-4\"},[_c('img',{staticClass:\"page-view-icon\",staticStyle:{\"margin-right\":\"15px\",\"width\":\"50px\",\"height\":\"50px\"},attrs:{\"src\":require(\"@/assets/images/exam-test.png\")}}),_c('div',{staticClass:\"row\",staticStyle:{\"width\":\"100%\"}},[_c('div',{staticClass:\"col-lg-9 col-md-8 col-sm-12\"},[_c('h3',{staticStyle:{\"margin\":\"0px\"}},[_vm._v(_vm._s(_vm.contentData.title))]),_c('h4',{staticStyle:{\"margin\":\"0px\"}},[_c('small',{staticClass:\"text-dark\"},[_vm._v(_vm._s(_vm.productVariantData.product.title)+\" (\"+_vm._s(_vm.productVariantData.title)+\")\")])]),(_vm.submittedAssignment)?_c('small',[_c('b',{style:('color:' + _vm.currentSubmissionStatusColor)},[_vm._v(_vm._s(_vm.currentSubmissionStatus))]),_vm._v(\" | \"),_c('b',[_vm._v(\"Submitted At: \")]),_vm._v(\" \"+_vm._s(new Date(_vm.assignmentSubmittedAt).toDateString())+\" \"+_vm._s(new Date(_vm.assignmentSubmittedAt).toLocaleTimeString()))]):_vm._e(),_c('div',{staticClass:\"line3 mt-2\"},[(_vm.data.Marks)?_c('h6',{staticStyle:{\"font-size\":\"small\"}},[_vm._v(_vm._s(_vm.data.Marks)+\" Marks\")]):_vm._e(),(_vm.data.Deadline)?_c('h6',{staticStyle:{\"flex\":\"1\",\"text-align\":\"right\",\"font-size\":\"small\"}},[_c('b',[_vm._v(\"Submission Deadline: \")]),_vm._v(\" \"+_vm._s(new Date(_vm.data.Deadline).toDateString())+\" \"+_vm._s(new Date(_vm.data.Deadline).toLocaleTimeString()))]):_vm._e()]),_c('hr',{staticClass:\"mb-4\",staticStyle:{\"color\":\"var(--primary-color)\",\"margin-top\":\"2px\"}}),_c('div',{attrs:{\"id\":\"editor\"},domProps:{\"innerHTML\":_vm._s(_vm.data.Discription)}}),(_vm.data.Files)?_c('div',{staticClass:\"row mt-4\"},_vm._l((_vm.data.Files),function(file){return _c('div',{staticClass:\"pr-3 col-lg-3 col-md-4\"},[_c('a',{staticClass:\"card file-card\",attrs:{\"download\":\"\",\"href\":file.Url,\"target\":\"_blank\"}},[_c('h6',{attrs:{\"title\":file.Name}},[_vm._v(\" \"+_vm._s(file.Name)+\" \"),_c('small',[_c('br'),_vm._v(_vm._s(file.Type))])]),_c('span',{staticStyle:{\"display\":\"contents\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('a',{staticClass:\"downloadbtn\",attrs:{\"href\":file.Url,\"target\":\"_blank\",\"download\":\"true\"}},[_c('i',{staticClass:\"fa fa-download\",staticStyle:{\"margin-top\":\"60%\"}})])])])])}),0):_vm._e()]),_c('div',{staticClass:\" col-lg-3 col-md-4 p-4 pl-5\"},[_c('div',{staticClass:\"card p-3\"},[_c('div',{staticClass:\"mb-2\",staticStyle:{\"display\":\"flex\",\"align-items\":\"end\"}},[_c('h5',[_vm._v(\"Your Submissions\")]),(_vm.isMissing)?_c('h6',{style:((\"margin-left: 15px; flex: 1; text-align: right; color: \" + _vm.currentSubmissionStatusColor))},[_vm._v(\" \"+_vm._s(_vm.currentSideSubmissionStatus))]):_vm._e()]),(_vm.submittedFiles && _vm.submittedFiles.length > 0)?_c('div',_vm._l((_vm.submittedFiles),function(file){return _c('a',{class:'card file-card '+file.status,attrs:{\"target\":\"_blank\"},on:{\"click\":function($event){$event.stopPropagation();}}},[(file.status == 'uploading')?_c('b-progress',{staticClass:\"progress m-0\",attrs:{\"value\":file.uploadingProgress,\"max\":100,\"animated\":\"\"}}):_vm._e(),_c('label',{attrs:{\"title\":file.name}},[_vm._v(\" \"+_vm._s(file.name)+\" \"),_c('small',[_c('br'),_vm._v(_vm._s(file.type))]),(file.status == 'submitted')?_c('small',{staticClass:\"text-success\"},[_c('br'),_vm._v(\"SUBMITTED\")]):_vm._e(),(file.status == 'uploaded')?_c('small',{staticClass:\"text-primary\"},[_c('br'),_vm._v(\"Uploaded\")]):_vm._e(),(file.status == 'pending')?_c('small',{staticStyle:{\"color\":\"gray\"}},[_c('br'),_vm._v(\"Waiting For Upload\")]):_vm._e(),(file.status == 'failed')?_c('small',[_c('br'),_vm._v(\"Failed ! \"+_vm._s(file.error))]):_vm._e()]),(_vm.isSubmissionAllowed)?_c('div',{staticStyle:{\"display\":\"contents\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('button',{staticClass:\"downloadbtn\",on:{\"click\":function($event){$event.stopPropagation();return _vm.removeFile(file.id)}}},[_c('i',{staticClass:\"fa fa-times\",staticStyle:{\"margin-top\":\"60%\"}})])]):_vm._e()],1)}),0):_vm._e(),(_vm.isSubmissionAllowed)?_c('a',{staticClass:\"add-btn dropdown-toggle\",staticStyle:{\"align-items\":\"center\"},attrs:{\"data-bs-toggle\":\"dropdown\",\"role\":\"button\"}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\")}}),_vm._v(\" Add New File \")]):_vm._e(),(_vm.isSubmissionAllowed)?_c('ul',{staticClass:\"dropdown-menu dropdown-menu-end\"},[_c('li',{staticClass:\"dropdown-item\"},[_vm._v(\"Link \")]),_c('li',{staticClass:\"dropdown-item\",on:{\"click\":_vm.uploadFile}},[_c('input',{ref:\"fileinput\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\"},on:{\"change\":_vm.onFilePicked}}),_vm._v(\" File \")])]):_vm._e(),(_vm.isSubmissionAllowed)?_c('button',{staticClass:\"add-btn submit-btn dropdown-toggle mt-3\",attrs:{\"disabled\":_vm.isSubmitDisabled,\"data-bs-toggle\":\"dropdown\",\"id\":\"add-dropdown-btn\",\"role\":\"button\"},on:{\"click\":_vm.makeAssignmentSubmission}},[_vm._v(\" Turn In \")]):_vm._e(),(_vm.isMissing && _vm.data.IsLateSubimissionAllowed==false && !_vm.isSubmitted)?_c('p',{staticClass:\"text-danger\"},[_vm._v(\" Assignment submission date passed away. \")]):_vm._e()])])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"container-fluid assignment-container mt-4\" v-if=\"data\">\n\t\t<img class=\"page-view-icon\" style=\"margin-right: 15px; width: 50px; height: 50px;\"\n\t\t\tsrc=\"@/assets/images/exam-test.png\" />\n\t\t<div style=\"width: 100%;\" class=\"row\">\n\t\t\t<div class=\"col-lg-9 col-md-8 col-sm-12\">\n\t\t\t\t<h3 style=\"margin: 0px;\">{{ contentData.title }}</h3>\n\t\t\t\t<h4 style=\"margin: 0px;\">\n\t\t\t\t\t<small class=\"text-dark\">{{ productVariantData.product.title }} ({{ productVariantData.title }})</small>\n\t\t\t\t</h4>\n\t\t\t\t<small v-if=\"submittedAssignment\" ><b :style=\"'color:' + currentSubmissionStatusColor\">{{ currentSubmissionStatus }}</b> | <b>Submitted At: </b> {{ \n\t\t\t\t\tnew Date(assignmentSubmittedAt).toDateString() }}  {{ \n\t\t\t\t\t\tnew Date(assignmentSubmittedAt).toLocaleTimeString() }}</small>\n\t\t\t\t<div class=\"line3 mt-2\">\n\t\t\t\t\t<h6 style=\"font-size: small;\" v-if=\"data.Marks\">{{ data.Marks }} Marks</h6>\n\t\t\t\t\t<h6 style=\"flex: 1; text-align: right; font-size: small;\" v-if=\"data.Deadline\"><b>Submission Deadline: </b> {{ new\n\t\t\t\t\t\tDate(data.Deadline).toDateString() }} {{ new Date(data.Deadline).toLocaleTimeString() }}</h6>\n\t\t\t\t</div>\n\t\t\t\t<hr style=\"color: var(--primary-color); margin-top: 2px;\" class=\"mb-4\" />\n\t\t\t\t<div id=\"editor\" v-html=\"data.Discription\"></div>\n\t\t\t\t<div class=\"row mt-4\" v-if=\"data.Files\">\n\n\t\t\t\t\t<div class=\"pr-3 col-lg-3 col-md-4\" v-for=\"file in data.Files\">\n\t\t\t\t\t\t<a class=\"card file-card\" download :href=\"file.Url\" target=\"_blank\">\n\n\t\t\t\t\t\t\t<h6 :title=\"file.Name\">\n\t\t\t\t\t\t\t\t{{ file.Name }}\n\t\t\t\t\t\t\t\t<small><br />{{ file.Type }}</small>\n\t\t\t\t\t\t\t</h6>\n\t\t\t\t\t\t\t<span @click.stop style=\"display: contents;\">\n\t\t\t\t\t\t\t\t<a :href=\"file.Url\" target=\"_blank\" download=\"true\" class=\"downloadbtn\"> <i\n\t\t\t\t\t\t\t\t\t\tstyle=\"margin-top: 60%;\" class=\"fa fa-download\"></i></a>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\" col-lg-3 col-md-4 p-4 pl-5\">\n\t\t\t\t<div class=\"card p-3\">\n\t\t\t\t\t<div style=\"display: flex; align-items: end;\" class=\"mb-2\">\n\t\t\t\t\t\t<h5>Your Submissions</h5>\n\t\t\t\t\t\t<h6 v-if=\"isMissing\"\n\t\t\t\t\t\t\t:style=\"`margin-left: 15px; flex: 1; text-align: right; color: ${currentSubmissionStatusColor}`\">\n\t\t\t\t\t\t\t{{ currentSideSubmissionStatus }}</h6>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"submittedFiles && submittedFiles.length > 0\">\n\t\t\t\t\t\t<a v-for=\"file in submittedFiles\" :class=\"'card file-card '+file.status\"  @click.stop target=\"_blank\">\n\t\t\t\t\t\t\t<b-progress class=\"progress m-0\" v-if=\"file.status == 'uploading'\" :value=\"file.uploadingProgress\" :max=\"100\"\n\t\t\t\t\t\t\t\tanimated></b-progress>\n\t\t\t\t\t\t\t<label :title=\"file.name\">\n\t\t\t\t\t\t\t\t{{ file.name }}\n\t\t\t\t\t\t\t\t<small><br />{{ file.type }}</small>\n\t\t\t\t\t\t\t\t<small v-if=\"file.status == 'submitted'\" class=\"text-success\"><br />SUBMITTED</small>\n\t\t\t\t\t\t\t\t<small v-if=\"file.status == 'uploaded'\" class=\"text-primary\"><br />Uploaded</small>\n\t\t\t\t\t\t\t\t<small v-if=\"file.status == 'pending'\" style=\"color: gray;\"><br />Waiting For Upload</small>\n\t\t\t\t\t\t\t\t<small v-if=\"file.status == 'failed'\" ><br />Failed ! {{file.error}}</small>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div v-if=\"isSubmissionAllowed\" @click.stop style=\"display: contents;\">\n\t\t\t\t\t\t\t\t<button @click.stop=\"removeFile(file.id)\" class=\"downloadbtn\"> <i style=\"margin-top: 60%;\"\n\t\t\t\t\t\t\t\t\t\tclass=\"fa fa-times\"></i></button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t\t<a v-if=\"isSubmissionAllowed\" class=\"add-btn dropdown-toggle\" data-bs-toggle=\"dropdown\" role=\"button\" style=\"align-items: center;\">\n\t\t\t\t\t\t<img src=\"@/assets/images/add-border-icon.svg\" class=\"add-btn-icon\" />\n\t\t\t\t\t\tAdd New File\n\t\t\t\t\t</a>\n\t\t\t\t\t<ul v-if=\"isSubmissionAllowed\" class=\"dropdown-menu dropdown-menu-end\">\n\t\t\t\t\t\t<li class=\"dropdown-item\">Link\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li class=\"dropdown-item\" @click=\"uploadFile\">\n\t\t\t\t\t\t\t<input type=\"file\" style=\"display: none;\" @change=\"onFilePicked\" multiple ref=\"fileinput\" />\n\t\t\t\t\t\t\tFile\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t\t<!-- <keep-alive>\n\t\t\t\t\t\t\t<vue-dropzone\n\t\t\t\t\t\t\t\tref=\"myVueDropzone\"\n\t\t\t\t\t\t\t\tid=\"dropzone\"\n\t\t\t\t\t\t\t\t:options=\"dropzoneOptions\"\n\t\t\t\t\t\t\t\t:useCustomSlot=\"true\"\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t  <div class=\"dropzone-custom-content\">\n\t\t\t\t\t\t\t\t<h5 class=\"dropzone-custom-title\">\n\t\t\t\t\t\t\t\t  Drag and drop to upload file!\n\t\t\t\t\t\t\t\t</h5>\n\t\t\t\t\t\t\t\t<div class=\"subtitle\">\n\t\t\t\t\t\t\t\t\t<small>\n\t\t\t\t\t\t\t\t  ...or click to select a file from your computer\n\t\t\t\t\t\t\t\t\t</small>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t  </div>\n\t\t\t\t\t\t\t</vue-dropzone>\n\t\t\t\t\t</keep-alive> -->\n\t\t\t\t\t<!-- <button\n\t\t\t\t\t\tv-if=\"!isSubmitDisabled\"\n\t\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\t\tid=\"add-dropdown-btn\"\n\t\t\t\t\t\tclass=\"add-btn dropdown-toggle mt-1\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div style=\"align-items: center;\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<img src=\"@/assets/images/add-border-icon.svg\" class=\"add-btn-icon\" />\n\t\t\t\t\t\t\t\tUpload your Files\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</button>\n\t\t\t\t\t -->\n\t\t\t\t\t<button v-if=\"isSubmissionAllowed\" @click=\"makeAssignmentSubmission\" :disabled=\"isSubmitDisabled\" data-bs-toggle=\"dropdown\" id=\"add-dropdown-btn\"\n\t\t\t\t\t\tclass=\"add-btn submit-btn dropdown-toggle mt-3\" role=\"button\" >\n\t\t\t\t\t\tTurn In\n\t\t\t\t\t</button>\n\t\t\t\t\t<p class=\"text-danger\" v-if=\"isMissing && data.IsLateSubimissionAllowed==false && !isSubmitted\">\n\t\t\t\t\t\tAssignment submission date passed away.\n\t\t\t\t\t</p>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport vue2Dropzone from 'vue2-dropzone'\nimport 'vue2-dropzone/dist/vue2Dropzone.min.css'\n\nimport CookieHelpers from \"./../../helpers/CookieHelpers\";\nimport { mapActions, mapState } from \"vuex\";\nimport { POST_FILE_API } from \"./../../constants/urls\";\nimport { v4 as uuidv4 } from \"uuid\";\nexport default {\n\tname: \"Assignment\",\n\tprops: { productVariantData: Object, contentData: Object },\n\tcomponents: {\n\t\tvueDropzone: vue2Dropzone\n\t},\n\tdata: function () {\n\t\treturn {\t\t\t\n\t\t\tquillEditor: null,\n\t\t\tfileSizeLimit:100,\n\t\t\tdropzoneOptions: {\n\t\t\t\turl: \" \",\n\t\t\t\tthumbnailWidth: 300,\n\t\t\t\ttimeout: 100000000,\n\t\t\t\tuploadMultiple: true,\n\t\t\t\tautoProcessQueue: false\n\t\t\t},\n\t\t\tsubmittedFiles: [],\n\t\t\tisLoading:false,\n\t\t\tsubmittedAssignment:null,\n\t\t\tassignmentSubmittedAt:null,\t\t\t\n\t\t}\n\t},\n\tcomputed: {\n\n\t\t...mapState(\"appState\", [\"apiURL\"]),\n\t\tdata() {\n\t\t\treturn this.contentData && this.contentData.extraProperties ? JSON.parse(this.contentData.extraProperties) : null;\n\t\t},\n\t\tisSubmitted() {\n\t\t\treturn this.submittedAssignment && this.submittedAssignment.submittedFiles.length>0;\n\t\t},\n\t\tisLateSubmission() {\n\t\t\treturn this.submittedAssignment && this.submittedAssignment.isLateSubmission;\n\t\t},\n\t\tisMissing() {\n\t\t\tif (this.data && this.data.Deadline && new Date(this.data.Deadline) < new Date()) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tcurrentSubmissionStatusColor() {\n\t\t\tif (this.isSubmitted) {\n\t\t\t\tif (this.isLateSubmission)\n\t\t\t\t\treturn \"rgb(var(--bs-danger-rgb))\"\n\n\t\t\t\treturn \"#198754\"\n\t\t\t}\n\t\t\tif (this.isMissing) {\n\t\t\t\treturn \"rgb(var(--bs-danger-rgb))\"\n\t\t\t}\n\t\t\treturn \"#808080\"\n\t\t},\n\t\tcurrentSubmissionStatus() {\n\t\t\tif (this.isSubmitted) {\n\t\t\t\tif (this.isLateSubmission)\n\t\t\t\t\treturn \"Late Submission\"\n\t\t\t\t\n\t\t\t\treturn \"Submitted\"\n\t\t\t}\n\t\t\tif (this.isMissing) {\n\t\t\t\treturn \"Submission Date Passed\"\n\t\t\t}\n\t\t\treturn \"Not Submitted Yet\"\n\t\t},\n\t\tcurrentSideSubmissionStatus() {\n\t\t\tif (this.isSubmitted) {\n\t\t\t\tif (this.isLateSubmission)\n\t\t\t\t\treturn \"Submitted Late\"\n\t\t\t\treturn \"Submitted\"\n\t\t\t}\n\t\t\tif (this.isMissing && this.data.IsLateSubimissionAllowed==true) {\n\t\t\t\treturn \"Date Missed\"\n\t\t\t}\n\t\t\treturn \"\"\n\t\t},\n\t\tisSubmitDisabled() {\n\t\t\tif(this.isLoading)\n\t\t\t\ttrue;\n\n\t\t\tif(this.submittedFiles.length==0)\n\t\t\t\treturn true;\n\t\t\tif(this.submittedFiles.find(x=>x.status==\"pending\"))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(!this.submittedFiles.find(x=>x.status==\"uploaded\"))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\tisSubmissionAllowed(){\n\t\t\treturn (!this.isMissing || this.data.IsLateSubimissionAllowed==true);\n\t\t}\n\t\t\n\t},\n\tmethods: {\n\t\t\n\t\t...mapActions(\"assignment\", [\"submitAssignment\",\"getSubmittedAssignment\"]),\n\t\tuploadFile() {\n\t\t\tthis.$refs.fileinput.click();\n\t\t},\n\t\tonFilePicked(event) {\n\t\t\tconst files = event.target.files;\n\t\t\tfiles.forEach(file => {\n\t\t\t\tthis.addFileForUpload(file);\n\t\t\t});\n\n\t\t\t// const fileReader = new FileReader()\n\t\t\t// fileReader.addEventListener('load', () => {\n\t\t\t// \tthis.imageUrl = fileReader.result\n\t\t\t// })\n\t\t\t// fileReader.readAsDataURL(files[0])\n\t\t},\n\t\taddFileForUpload(file) {\n\t\t\n\t\t\tvar nameParts = file.name.split(\".\");\n\t\t\tvar extension = nameParts.pop();\n\t\t\tvar name = nameParts.join(\".\").toUpperCase();\n\t\t\tvar sizeInMB = (file.size/1024)/1024;\n\t\t\tvar isSizeIncreasedLimit = sizeInMB>this.fileSizeLimit;\n\t\t\t \n\t\t\tthis.submittedFiles.push({\n\t\t\t\tid: uuidv4(),\n\t\t\t\tname: name,\n\t\t\t\tfile: file,\n\t\t\t\textension: extension,\n\t\t\t\ttype: this.fileTypeByExtentions(file.name) ?? this.fileTypeByType(file.type) ?? \"File\",\n\t\t\t\turl: null,\n\t\t\t\tstatus: isSizeIncreasedLimit?'failed':'pending',\n\t\t\t\terror: isSizeIncreasedLimit?`File size should be less then ${this.fileSizeLimit}`:null,\n\t\t\t\tuploadingProgress: 0\n\t\t\t});\n\t\t\tthis.uplaodNextFileInQueue();\n\t\t},\n\t\tfileTypeByExtentions(filename) {\n\t\t\tif (filename.endsWith(\".pdf\")) {\n\t\t\t\treturn \"PDF\";\n\t\t\t}\n\t\t\tif (filename.endsWith(\".ppt\") || filename.endsWith(\".pptx\")) {\n\t\t\t\treturn \"Powerpoint\";\n\t\t\t}\n\t\t\tif (filename.endsWith(\".xls\") || filename.endsWith(\".xlsx\")) {\n\t\t\t\treturn \"Excel Worksheet\";\n\t\t\t}\n\t\t\tif (filename.endsWith(\".csv\")) {\n\t\t\t\treturn \"Comma Seperated Values\";\n\t\t\t}\n\t\t\tif (filename.endsWith(\".doc\") || filename.endsWith(\".docx\")) {\n\t\t\t\treturn \"Document\";\n\t\t\t}\n\t\t},\n\t\tfileTypeByType(fileType) {\n\t\t\tfileType = fileType.toLowerCase();\n\t\t\tif (fileType.indexOf(\"image\") > -1) {\n\t\t\t\treturn \"Image\";\n\t\t\t}\n\t\t\tif (fileType.indexOf(\"video\") > -1) {\n\t\t\t\treturn \"Video\";\n\t\t\t}\n\n\t\t},\n\t\tremoveFile(fileId){\n\t\t\tvar file=this.submittedFiles.find(x=>x.id==fileId);\n\t\t\tif(file)\n\t\t\t{\n\t\t\t\tif (file.xhr) {\n\t\t\t\t\tfile.xhr.abort();\n\t\t\t\t}\n\t\t\t\tthis.submittedFiles.splice(this.submittedFiles.indexOf(file),1);\n\t\t\t\tthis.uplaodNextFileInQueue();\n\t\t\t}\n\n\t\t},\n\t\tuplaodNextFileInQueue() {\n\t\t\tvar self=this;\n\t\t\tvar minUploadinglimit = 2;\n\t\t\tvar inUploadingFiles = this.submittedFiles.filter(x=>x.status.toLowerCase() == \"uploading\");\n\t\t\tvar queuedFile = this.submittedFiles.find(x=>x.status.toLowerCase() != \"uploading\" && x.status.toLowerCase() == \"pending\");\n\t\t\tif (inUploadingFiles.length <= (minUploadinglimit - 1) && queuedFile) {\n\t\t\t\tqueuedFile.status = \"uploading\";\n\t\t\t\tqueuedFile.uploadingProgress = 0;\n\t\t\t\tvar uploadurl = this.apiURL + POST_FILE_API;\n\n\t\t\t\tconst formData = new FormData();\n      \t\t\tformData.append(\"entity\", \"Assignment\");\n      \t\t\tformData.append(\"type\", queuedFile.type);\n\t\t\t\tformData.append('file', queuedFile.file);\n\n\t\t\t\t// post form data\n\t\t\t\tconst xhr = new XMLHttpRequest()\n\t\t\t\txhr.upload.onprogress = function (event) {\n\t\t\t\t\tvar percentComplete = Math.floor((event.loaded / event.total) * 100);\n\t\t\t\t\tqueuedFile.uploadingProgress = percentComplete;\n\t\t\t\t\tqueuedFile.status = \"uploaded\";\n\t\t\t\t\tqueuedFile.status = \"uploading\";\n\t\t\t\t};\n\n\t\t\t\t// Set up a handler for when the request completes\n\t\t\t\txhr.onload = function () {\n\t\t\t\t\tif (xhr.status === 201) {\n\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\tvar response=JSON.parse(xhr.responseText);\n\t\t\t\t\t\t\tif(response && response.payload)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tqueuedFile.url=response.payload;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tqueuedFile.status = \"uploaded\";\n\t\t\t\t\t\t\tself.uplaodNextFileInQueue();\n\t\t\t\t\t\t}, 2000);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tqueuedFile.status = \"failed\";\n\t\t\t\t\t\tqueuedFile.error = \"Due to some error occurred\";\n\t\t\t\t\t\tself.uplaodNextFileInQueue();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\txhr.open('POST', uploadurl,);\n\t\t\t\tqueuedFile.xhr = xhr;\n\t\t\t\txhr.setRequestHeader(\"AuthToken\", \"System123\");\n\t\t\t\txhr.setRequestHeader(\"Authorization\", `Bearer ${CookieHelpers.getCookie(\"token\")}`);\n\t\t\t\txhr.send(formData);\n\t\t\t}\n\t\t},\n\t\tinitializeQuillEditor() {\n\t\t\tvar options = {\n\t\t\t\ttheme: 'snow',\n\t\t\t\tpastePlain: true,\n\t\t\t\treadOnly: true,\n\t\t\t\tmodules: {\n\t\t\t\t\ttoolbar: false\n\t\t\t\t}\n\t\t\t};\n\t\t\tvar editor = new Quill('#editor', options);\n\t\t},\n\t\tmakeAssignmentSubmission(){\n\t\t\tif(this.isMissing && this.data.IsLateSubimissionAllowed==false)\n\t\t\t\treturn;\n\t\t\t\n\t\t\tif (this.isSubmitted && this.data.IsReSubimissionAllowed==false )\n\t\t\t\treturn ;\n\t\t\t\t\n\t\t\tif(this.submittedFiles.find(x=>x.status.toLowerCase()=='pending'))\n\t\t\t\treturn;\n\n\t\t\tif(!this.submittedFiles.find(x=>x.status.toLowerCase()=='uploaded'))\n\t\t\t\treturn;\n\n\t\t\tvar files = this.submittedFiles.filter(x=>x.status!='failed').map(x=>{\n\t\t\t\treturn {\n\t\t\t\t\tName:x.name,\n\t\t\t\t\tUrl:x.url,\n\t\t\t\t\tExtension:x.extension,\n\t\t\t\t\tType:x.type\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tif(files.length>0)\n\t\t\t{\n\t\t\t\tthis.isLoading=true;\n\t\t\t\tthis.submitAssignment({contentId:this.contentData.id, assignmentSubmissionFiles:files}).then(response=>{\n\t\t\t\t\tif(response && response.submittedFiles && response.submittedFiles.length>0)\n\t\t\t\t\t{\t\t\t\t\t\t\t\n\t\t\t\t\t\tthis.isLoading=false;\n\t\t\t\t\t\tthis.mapSubmittedAssignmentFiles(response);\t\t\t\t\t\t \n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t},\n\t\tgetAssignmentSubmissions(){\n\t\t\tthis.isLoading=true;\n\t\t\tthis.getSubmittedAssignment(this.contentData.id).then(response=>{\n\t\t\t\t\tif(response && response.submittedFiles && response.submittedFiles.length>0)\n\t\t\t\t\t{\t\t\t\t\t\t\t\n\t\t\t\t\t\tthis.isLoading=false;\t\t\t\t\t\t\n\t\t\t\t\t\tthis.mapSubmittedAssignmentFiles(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\t\tmapSubmittedAssignmentFiles(data){\n\t\t\tthis.submittedAssignment=data;\n\t\t\tthis.assignmentSubmittedAt = new Date(data.submittedAt);\n\t\t\tthis.submittedFiles=data.submittedFiles.map(x=>{\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tid: uuidv4(),\n\t\t\t\t\t\t\t\tname: x.name,\n\t\t\t\t\t\t\t\textension: x.extension,\n\t\t\t\t\t\t\t\ttype: x.type,\n\t\t\t\t\t\t\t\turl: x.url,\n\t\t\t\t\t\t\t\tstatus: \"submitted\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t}\n\t},\n\tmounted(){\n\t\tthis.initializeQuillEditor();\n\t},\n\tcreated(){\n\t\tthis.getAssignmentSubmissions();\n\t}\n};\n</script>\n\n<style scoped>\n.assignment-container {\n\tpadding: 0 2rem;\n\twidth: 100%;\n\tdisplay: flex;\n}\n\n.assignment-container h3 {\n\tcolor: var(--primary-color);\n}\n\n\n.assignment-container .section-heading {\n\tfont-size: 1.9rem;\n}\n\n.assignment-container .line3 {\n\tdisplay: flex;\n}\n\n\n.submit-heading {\n\tfont-size: 1.4rem !important;\n\tfont-weight: normal !important;\n\tcolor: var(--color-dark-gray);\n\tline-height: 1.1;\n}\n\n.add-btn.submit-btn.dropdown-toggle {\n\tbackground: var(--primary-color);\n\tcolor: white;\n}\n\n@media only screen and (max-width: 600px) {\n\t.page-view-icon {\n\t\tdisplay: none;\n\t}\n\n\t.col-md-3.p-4.pl-5 {\n\t\tpadding: 0px !important;\n\t\tmargin-top: 10px;\n\t\tmargin-bottom: 20px;\n\t}\n}\n\n.card {\n\tbox-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;\n\tborder-radius: 15px;\n\tborder: 0px;\n}\n\n.file-card:hover {\n\tbackground-color: whitesmoke;\n}\n\n.file-card {\n\tdisplay: flex;\n\tpadding: 5px;\n\tpadding-top: 8px;\n\tpadding-left: 10px;\n\tpadding-right: 10px;\n\tborder: 1px solid var(--primary-color);\n\tcursor: pointer;\n\tflex-direction: inherit;\n\tmargin-bottom: 10px;\n\ttext-decoration: none;\n\tcolor: black;\n\toverflow: hidden;\n}\n\n.file-card h6 {\n\tflex: 1;\n\tpadding: 0px;\n\tmargin: 0px;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.file-card label {\n\tflex: 1;\n\tpadding: 0px;\n\tmargin: 0px;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\twhite-space: nowrap;\n\tfont-size: x-small;\n\tfont-weight: bold;\n}\n.file-card.failed\n{\n\tbackground-color:rgb(var(--bs-danger-rgb)) ;\n}\n.file-card.failed label {\n\tcolor: white;\n}\n\n\n.file-card h6 small {\n\tcolor: var(--primary-color);\n\ttext-transform: uppercase;\n\tpadding: 0px;\n\tmargin: 0px;\n}\n\n.file-card label small {\n\tcolor: var(--primary-color);\n\ttext-transform: uppercase;\n\tpadding: 0px;\n\tmargin: 0px;\n\tfont-weight: lighter;\n}\n\n.file-card.failed label small {\n\tcolor: white;\n}\n\n\n.file-card .progress {\n\tposition: absolute;\n\twidth: 100%;\n\tbottom: -2px;\n\tleft: 0px;\n\theight: 7px;\n\n}\n\n.file-card .downloadbtn {\n\tborder-color: var(--primary-color);\n\tcolor: var(--primary-color);\n\tfont-size: medium;\n\tpadding-left: 10px;\n\tpadding-right: 10px;\n\tborder-radius: 10px;\n}\n\n\n.file-card.failed .downloadbtn {\n\tcolor: white;\t\n}\n.vue-dropzone {\n\tborder: 1px solid var(--primary-color);\n\tborder-radius: 10px;\n\tbox-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n\tpadding: 15px 20px;\n\tmin-height: auto;\n\tbackground-color: #fdfdfd;\n}\n\n.vue-dropzone h5 {\n\tcolor: var(--primary-color);\n}\n\n.add-btn.dropdown-toggle:hover {\n\tcolor: black; \n\ttext-decoration: none;\n}\n\n\n  \n  .ql-container.ql-snow {\n\theight: auto;\n\tborder: 0px;\n  }\n</style>\n<style>\n.file-card .progress-bar-striped {\n\tbackground-color: var(--primary-color);\n\tbackground-image: linear-gradient(45deg, rgba(255, 255, 255, .45) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .45) 50%, rgba(255, 255, 255, .45) 75%, transparent 75%, transparent);\n}\n\n.assignment-container .ql-editor {\n\tpadding: 0px;\n    height: auto;\t\n  }\n</style>","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Assignment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Assignment.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Assignment.vue?vue&type=template&id=81d8473a&scoped=true&\"\nimport script from \"./Assignment.vue?vue&type=script&lang=js&\"\nexport * from \"./Assignment.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Assignment.vue?vue&type=style&index=0&id=81d8473a&prod&scoped=true&lang=css&\"\nimport style1 from \"./Assignment.vue?vue&type=style&index=1&id=81d8473a&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"81d8473a\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c(_vm.liveClassComponent,{tag:\"component\",attrs:{\"contentData\":_vm.contentData,\"productVariantData\":_vm.productVariantData}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<component :is=\"liveClassComponent\" :contentData=\"contentData\" :productVariantData=\"productVariantData\" />\n\t</div>\n</template>\n\n<script>\nimport Zoom from \"./Zoom.vue\";\nimport ProductVariant from \"../../models/productVariant\";\nimport LiveClass from \"../../models/content/liveClass\";\nimport Vue from \"vue\";\n\nexport default {\n\tname: \"LiveClass\",\n\tprops: { productVariantData: ProductVariant, contentData: LiveClass },\n\tcomputed: {\n\t\tliveClassComponent() {\n\t\t\tswitch (this.contentData.externalService.serviceProvider) {\n\t\t\t\tcase \"Zoom\":\n\t\t\t\t\treturn Zoom;\n\t\t\t}\n\t\t},\n\t},\n\tcreated() {\n\t\tVue.prototype.ZoomMtg = window.ZoomMtg;\n\t},\n};\n</script>\n\n<style scoped>\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LiveClass.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LiveClass.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LiveClass.vue?vue&type=template&id=68c21399&scoped=true&\"\nimport script from \"./LiveClass.vue?vue&type=script&lang=js&\"\nexport * from \"./LiveClass.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"68c21399\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"viewer\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div ref='viewer'></div>\n</template>\n\n<script>\n/* eslint-disable */\nimport WebViewer from '@pdftron/pdfjs-express'\n\nexport default {\n  name: 'PDFExpressViewer',\n  props: {\n    path: String,\n    url: String,\n    apiKey: String\n  },\n  mounted: function () {\n    WebViewer({\n      path: this.path,\n      licenseKey: this.apiKey,\n      initialDoc: this.url, // replace with your own PDF file\n\n    }, this.$refs.viewer).then((instance) => {\n      console.log({instance});\n\n      // call apis here\n      instance.UI.disableFeatures([instance.UI.Feature.Print]);\n      instance.UI.disableFeatures([instance.UI.Feature.Download]);\n\n    });\n  }\n}\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\ndiv {\n  width: 100%;\n  height: 100vh;\n}\n</style>","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PDFExpressViewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PDFExpressViewer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PDFExpressViewer.vue?vue&type=template&id=332eb3c4&scoped=true&\"\nimport script from \"./PDFExpressViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./PDFExpressViewer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PDFExpressViewer.vue?vue&type=style&index=0&id=332eb3c4&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"332eb3c4\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('link',{attrs:{\"rel\":\"stylesheet\",\"href\":\"https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css\"}}),(!_vm.isQuizStarted && !_vm.isQuizEnded)?_c('div',[_c('div',{staticClass:\"p-5 col-lg-12 text-center exam-content\"},[_c('img',{staticClass:\"page-view-icon mb-3\",attrs:{\"src\":require(\"../../assets/images/exam-test.png\")}}),_c('h2',[_vm._v(_vm._s(_vm.contentData.title)+\" \")]),_c('div',[_c('div',{staticClass:\"text-muted\"},[_c('h3',[(_vm.productVariantData && _vm.productVariantData.product)?_c('strong',[_vm._v(_vm._s(_vm.productVariantData.product.title)+\" \"+_vm._s(_vm.productVariantData.title))]):_vm._e(),_c('br'),_c('small',[_vm._v(_vm._s(_vm.dateParser(_vm.contentData.availableFrom))+\" - \"+_vm._s(_vm.dateParser(_vm.contentData.availableTo))+\" \"),(_vm.haveTimeLimit == true)?_c('span',[_vm._v(\"| \"+_vm._s(_vm.timeLimit))]):_vm._e()])])]),_c('div',{staticClass:\"exam-total-row d-flex justify-content-center my-4\"},[_c('div',{staticClass:\"col-2 exam-total-card text-center\"},[_c('h3',{staticClass:\"total-card-val\"},[_vm._v(_vm._s(_vm.contentData.data.totalQuestions))]),_c('div',{staticClass:\"total-card-label text-muted\"},[_vm._v(\"Total Questions\")])]),_c('div',{staticClass:\"col-2 exam-total-card text-center\"},[_c('h3',{staticClass:\"total-card-val\"},[_vm._v(_vm._s(_vm.contentData.data.totalMarks))]),_c('div',{staticClass:\"total-card-label text-muted\"},[_vm._v(\"Total Marks\")])])]),_c('div',{staticClass:\"d-flex justify-content-center exam-actions-row\"},[(!_vm.contentData.availableTo || new Date() <= new Date(_vm.contentData.availableTo))?_c('button',{staticClass:\"primary-btn attempt-btn btn-round mx-2\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.startQuiz}},[_c('h4',{staticStyle:{\"margin\":\"0px\",\"padding\":\"0px\"}},[_vm._v(\"Start Quiz\")])]):_vm._e()])])])]):(_vm.isQuizStarted && !_vm.isQuizEnded)?_c('div',{staticClass:\"div-box\"},[(_vm.isTimeEnded)?_c('div',{staticClass:\"disable-box\"}):_vm._e(),_c('div',{staticClass:\"MainQuiz-Box\"},[_c('b-card',{staticClass:\"header\"},[_c('h4',[_vm._v(_vm._s(_vm.contentData.title)),_c('br'),(_vm.productVariantData)?_c('small',[_vm._v(\" \"+_vm._s(_vm.productVariantData.product.title)+\" \"+_vm._s(_vm.productVariantData.title)+\" \")]):_vm._e()]),_c('div',{staticStyle:{\"flex\":\"1\"}}),_c('h6',{staticStyle:{\"align-self\":\"end\"}},[_c('b',[_vm._v(\"Question\")]),_vm._v(\" \"+_vm._s(_vm.currentQuestionIndex + 1)+\"/\"+_vm._s(_vm.contentData.data.totalQuestions))])]),_c('b-card',{staticClass:\"p-3 pt-4 pb-4 center-section card-overflow-handle\",staticStyle:{\"min-height\":\"40vh\"}},[_c('div',{class:(\"animate__animated \" + _vm.loadQuestionClass)},[_c('h3',{staticClass:\"mb-4\",domProps:{\"innerHTML\":_vm._s(_vm.questions[_vm.currentQuestionIndex].questionText)}}),(_vm.questions[_vm.currentQuestionIndex].type.toLowerCase() == 'radio')?_c('RadioButtonQuestion',{attrs:{\"isReviewMode\":_vm.isReviewMode,\"answers\":_vm.questions[_vm.currentQuestionIndex].answers,\"correctAnswers\":_vm.questions[_vm.currentQuestionIndex].correctAnswers,\"options\":_vm.questions[_vm.currentQuestionIndex].options},on:{\"setAnswer\":_vm.setAnswer}}):_vm._e(),(_vm.questions[_vm.currentQuestionIndex].type.toLowerCase() == 'select')?_c('SelectButtonQuestion',{attrs:{\"isReviewMode\":_vm.isReviewMode,\"answers\":_vm.questions[_vm.currentQuestionIndex].answers,\"correctAnswers\":_vm.questions[_vm.currentQuestionIndex].correctAnswers,\"options\":_vm.questions[_vm.currentQuestionIndex].options},on:{\"setAnswer\":_vm.setAnswer}}):_vm._e(),(_vm.questions[_vm.currentQuestionIndex].type.toLowerCase() == 'textbox')?_c('TextboxQuestion',{attrs:{\"isReviewMode\":_vm.isReviewMode,\"answers\":_vm.questions[_vm.currentQuestionIndex].answers,\"correctAnswers\":_vm.questions[_vm.currentQuestionIndex].correctAnswers,\"options\":_vm.questions[_vm.currentQuestionIndex].options},on:{\"setAnswer\":_vm.setAnswer}}):_vm._e(),(_vm.questions[_vm.currentQuestionIndex].type.toLowerCase() == 'checkbox')?_c('CheckboxButtonQuestion',{attrs:{\"isReviewMode\":_vm.isReviewMode,\"answers\":_vm.questions[_vm.currentQuestionIndex].answers,\"correctAnswers\":_vm.questions[_vm.currentQuestionIndex].correctAnswers,\"options\":_vm.questions[_vm.currentQuestionIndex].options},on:{\"setAnswer\":_vm.setAnswer}}):_vm._e()],1)]),_c('b-card',[_c('div',{staticStyle:{\"display\":\"flex\"}},[(_vm.currentQuestionIndex > 0)?_c('button',{staticClass:\"primary-btn attempt-btn btn-round mx-2\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.previousQuestion}},[_vm._v(\" Previous Question \")]):_vm._e(),_c('div',{staticClass:\"pt-1\",staticStyle:{\"flex\":\"1\"}},[(_vm.haveTimeLimit && !_vm.isReviewMode)?_c('h3',{staticStyle:{\"text-align\":\"center\",\"margin\":\"0px\",\"font-weight\":\"lighter\"}},[_vm._v(_vm._s(_vm.timeFormat(_vm.currentLeftTime)))]):_vm._e()]),((_vm.currentQuestionIndex + 1) < _vm.contentData.data.totalQuestions)?_c('button',{staticClass:\"primary-btn attempt-btn btn-round mx-2\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.nextQuestion}},[_vm._v(\" Next Question \")]):(!_vm.isReviewMode)?_c('button',{staticClass:\"primary-btn attempt-btn btn-round mx-2\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.submitQuiz}},[_vm._v(\" Submit \")]):(_vm.isReviewMode)?_c('button',{staticClass:\"primary-btn attempt-btn btn-round mx-2\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.showResult}},[_vm._v(\" Show Result \")]):_vm._e()])])],1)]):(_vm.isQuizStarted && _vm.isQuizEnded && _vm.quizResult)?_c('div',[_c('div',{staticClass:\"p-5 col-lg-12 text-center  result\"},[_c('h4',[_vm._v(_vm._s(_vm.contentData.title)),_c('br'),(_vm.productVariantData && _vm.productVariantData.product)?_c('small',[_vm._v(\" \"+_vm._s(_vm.productVariantData.product.title)+\" \"+_vm._s(_vm.productVariantData.title)+\" \")]):_vm._e()]),_c('circle-counter',{attrs:{\"size\":\"10rem\",\"dashCount\":\"100\",\"dash-spacing\":\"0\",\"stroke-width\":\"20\",\"active-width\":\"20\",\"active-count\":_vm.quizResult.overallPercentage,\"text\":_vm.quizResult.overallPercentage+'%',\"activeStroke\":_vm.quizResult.result.toLowerCase()=='pass'?'#5cb85c':'#FF0000'}}),_c('div',{staticClass:\"exam-total-row d-flex justify-content-center mt-4\"},[_c('div',{staticClass:\"col-4 exam-total-card text-center\"},[_c('h3',{staticClass:\"total-card-val\"},[_vm._v(_vm._s(_vm.quizResult.noOfCorrectQuestions ? _vm.quizResult.noOfCorrectQuestions : \"0\")+\" \"),_c('span',{staticStyle:{\"font-weight\":\"lighter\"}},[_vm._v(\"out of\")]),_vm._v(\" \"+_vm._s(_vm.contentData.data.totalQuestions)+\" \"),_c('span',{staticStyle:{\"font-weight\":\"lighter\"}},[_vm._v(\"Questions\")])]),_c('div',{staticClass:\"total-card-label text-muted\"},[_vm._v(\"Correct Questions\")])]),_c('div',{staticClass:\"col-2 exam-total-card text-center\"},[_c('h3',{style:('color:'+(_vm.quizResult.result.toLowerCase()=='pass'?'green':'#FF0000'))},[_vm._v(_vm._s(_vm.quizResult.result.toLowerCase()=='pass'?'PASS':'FAIL'))]),_c('div',{staticClass:\"total-card-label text-muted\"},[_vm._v(\"Result\")])]),_c('div',{staticClass:\"col-4 exam-total-card text-center\"},[_c('h3',{staticClass:\"total-card-val\"},[_vm._v(_vm._s(_vm.quizResult.obtainedMarks)+\" \"),_c('span',{staticStyle:{\"font-weight\":\"lighter\"}},[_vm._v(\"out of\")]),_vm._v(\" \"+_vm._s(_vm.contentData.data.totalMarks))]),_c('div',{staticClass:\"total-card-label text-muted\"},[_vm._v(\"Obtained Scores\")])])]),_c('div',{staticClass:\"d-flex justify-content-center exam-actions-row mt-3\"},[_c('button',{staticClass:\"primary-btn attempt-btn btn-round mx-2\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.attemptAgain}},[_c('h4',{staticStyle:{\"margin\":\"0px\",\"padding\":\"0px\"}},[_vm._v(\"Attempt Again\")])]),_c('button',{staticClass:\"primary-btn attempt-btn btn-round mx-2\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.reviewQuiz}},[_c('h4',{staticStyle:{\"margin\":\"0px\",\"padding\":\"0px\"}},[_vm._v(\"Review\")])])])],1)]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\t\n\t\t<link\n\t\trel=\"stylesheet\"\n\t\thref=\"https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css\"\n\t  />\n\t\t<div v-if=\"!isQuizStarted && !isQuizEnded\" >\n\t\t\t<div class=\"p-5 col-lg-12 text-center exam-content\" >\n\t\t\t\t<img\t\t\t\t\n\t\t\t\t\tclass=\"page-view-icon mb-3\"\n\t\t\t\t\tsrc=\"../../assets/images/exam-test.png\"\n\t\t\t\t/>\n\t\t\t\t<h2>{{ contentData.title }}\n\t\t\t\t\t<!-- <br/>\n\t\t\t<small>Exam</small> -->\n\t\t\t\t\t</h2>\n\t\t\t\t<div\n\t\t\n\t\t\t>\n\t\t\t\t<div class=\"text-muted\" >\n\t\t\t\t\t<h3>\n\t\t\t\t\t<strong v-if=\"productVariantData && productVariantData.product\">{{ productVariantData.product.title }} {{ productVariantData.title }}</strong><br/>\n\t\t\t\t\t<small>{{ dateParser(contentData.availableFrom) }} - \n\t\t\t\t\t\t{{ dateParser(contentData.availableTo) }} <span v-if=\"haveTimeLimit == true\">| {{ timeLimit }}</span></small>\n\t\t\t\t</h3>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"exam-total-row d-flex justify-content-center my-4\">\n\t\t\t\t\t<div class=\"col-2 exam-total-card text-center\">\n\t\t\t\t\t\t<h3 class=\"total-card-val\">{{ contentData.data.totalQuestions }}</h3>\n\t\t\t\t\t\t<div class=\"total-card-label text-muted\">Total Questions</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-2 exam-total-card text-center\">\n\t\t\t\t\t\t<h3 class=\"total-card-val\">{{ contentData.data.totalMarks }}</h3>\n\t\t\t\t\t\t<div class=\"total-card-label text-muted\">Total Marks</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\n\t\t\t\t<div class=\"d-flex justify-content-center exam-actions-row\">\n\t\t\t\t\t<button \t\n\t\t\t\t\tv-if=\"!contentData.availableTo || new Date() <= new Date(contentData.availableTo)\"\t\t\t\n\t\t\t\t\ttype=\"button\" @click=\"startQuiz\" class=\"primary-btn attempt-btn btn-round mx-2\">\n\t\t\t\t\t\t<!-- <img class=\"page-view-icon\" src=\"@/assets/images/exam-paper-white-icon.svg\"/> -->\n\t\t\t\t\t\t<h4 style=\"margin: 0px; padding: 0px;\">Start Quiz</h4>\t\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\t<div v-else-if=\"isQuizStarted && !isQuizEnded\" class=\"div-box\" >\n\t\t  <div class=\"disable-box\" v-if=\"isTimeEnded\">\n\n\t\t  </div>\n\t\t\t<div class=\"MainQuiz-Box\">\n\t\t\t\t<b-card class=\"header\">\n\t\t\t\t\t<h4>{{ contentData.title }}<br/>\n\t\t\t\t\t<small v-if=\"productVariantData\">\n\t\t\t\t\t\t{{ productVariantData.product.title }} {{ productVariantData.title }}\n\t\t\t\t\t</small></h4>\n\t\t\t\t\t<div style=\"flex: 1;\"></div>\n\t\t\t\t\t<h6 style=\"align-self: end;\"><b>Question</b>  {{ currentQuestionIndex + 1 }}/{{ contentData.data.totalQuestions }}</h6>\n\t\t\t\t</b-card >\n\t\t\n\t\t\t\t\t<b-card class=\"p-3 pt-4 pb-4 center-section card-overflow-handle\"  style=\"min-height: 40vh;\">\n\t\t\t\t\t\t<div  :class=\"`animate__animated ${loadQuestionClass}`\">\n\t\t\t\t\t\t\t<h3 class=\"mb-4\" v-html=\"questions[currentQuestionIndex].questionText\">\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t<RadioButtonQuestion @setAnswer=\"setAnswer\" :isReviewMode=\"isReviewMode\" :answers=\"questions[currentQuestionIndex].answers\" :correctAnswers=\"questions[currentQuestionIndex].correctAnswers\" v-if=\"questions[currentQuestionIndex].type.toLowerCase() == 'radio'\" :options=\"questions[currentQuestionIndex].options\"></RadioButtonQuestion>\n\t\t\t\t\t\t\t<SelectButtonQuestion @setAnswer=\"setAnswer\" :isReviewMode=\"isReviewMode\" :answers=\"questions[currentQuestionIndex].answers\" :correctAnswers=\"questions[currentQuestionIndex].correctAnswers\" v-if=\"questions[currentQuestionIndex].type.toLowerCase() == 'select'\" :options=\"questions[currentQuestionIndex].options\"></SelectButtonQuestion>\n\t\t\t\t\t\t\t<TextboxQuestion @setAnswer=\"setAnswer\" :isReviewMode=\"isReviewMode\" :answers=\"questions[currentQuestionIndex].answers\" :correctAnswers=\"questions[currentQuestionIndex].correctAnswers\" v-if=\"questions[currentQuestionIndex].type.toLowerCase() == 'textbox'\" :options=\"questions[currentQuestionIndex].options\"></TextboxQuestion>\n\t\t\t\t\t\t\t<CheckboxButtonQuestion @setAnswer=\"setAnswer\" :isReviewMode=\"isReviewMode\" :answers=\"questions[currentQuestionIndex].answers\" :correctAnswers=\"questions[currentQuestionIndex].correctAnswers\" v-if=\"questions[currentQuestionIndex].type.toLowerCase() == 'checkbox'\" :options=\"questions[currentQuestionIndex].options\"></CheckboxButtonQuestion>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</b-card>\n\t\t\n\t\t\t\t<b-card >\n\t\t\t\t\t<div style=\"display: flex;\">\n\t\t\t\t\t\t<button \t\n\t\t\t\t\t\t@click=\"previousQuestion\"\n\t\t\t\t\t\tv-if=\"currentQuestionIndex > 0\"\t\t\t\n\t\t\t\t\t\ttype=\"button\" class=\"primary-btn attempt-btn btn-round mx-2\">\n\t\t\t\t\t\t\tPrevious Question\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<div style=\"flex: 1;\" class=\"pt-1\" >\n\t\t\t\t\t\t\t<h3 style=\"text-align: center; margin:0px; font-weight: lighter;\" v-if=\"haveTimeLimit && !isReviewMode\">{{ timeFormat(currentLeftTime) }}</h3>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<button \t\n\t\t\t\t\t\t@click=\"nextQuestion\"\n\t\t\t\t\t\tv-if=\"(currentQuestionIndex + 1) < contentData.data.totalQuestions\"\t\t\t\n\t\t\t\t\t\ttype=\"button\" class=\"primary-btn attempt-btn btn-round mx-2\">\n\t\t\t\t\t\t\tNext Question\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button \t\n\t\t\t\t\t\tv-else-if=\"!isReviewMode\"\t\n\t\t\t\t\t\t@click=\"submitQuiz\"\n\t\t\t\t\t\ttype=\"button\" class=\"primary-btn attempt-btn btn-round mx-2\">\n\t\t\t\t\t\t\tSubmit\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<button \t\n\t\t\t\t\t\tv-else-if=\"isReviewMode\"\t\n\t\t\t\t\t\t@click=\"showResult\"\n\t\t\t\t\t\ttype=\"button\" class=\"primary-btn attempt-btn btn-round mx-2\">\n\t\t\t\t\t\t\tShow Result\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</b-card>\n\t\t\t</div>\n\t\t\n\t\t</div>\n\t\t<!--  -->\n\t\t<div  v-else-if=\"isQuizStarted && isQuizEnded && quizResult\">\n\t\t\t<div class=\"p-5 col-lg-12 text-center  result\" >\n\t\t\t\n\t\t\t\t<h4>{{ contentData.title }}<br/>\n\t\t\t\t\t\t<small v-if=\"productVariantData && productVariantData.product\">\n\t\t\t\t\t\t\t{{ productVariantData.product.title }} {{ productVariantData.title }}\n\t\t\t\t\t\t</small></h4>\n\t\t\t\t<circle-counter \n\t\t\t\tsize=\"10rem\" \n\t\t\t\tdashCount=\"100\"\n\t\t\t\tdash-spacing=\"0\"\n\t\t\t\tstroke-width=\"20\"\n\t\t\t\tactive-width=\"20\"\n\t\t\t\t:active-count=\"quizResult.overallPercentage\"\n\t\t\t\t:text=\"quizResult.overallPercentage+'%'\"\n\t\t\t\t:activeStroke=\"quizResult.result.toLowerCase()=='pass'?'#5cb85c':'#FF0000'\"\n\t\t\t  >\n\t\t\t  </circle-counter>\n\t\t\t  <div class=\"exam-total-row d-flex justify-content-center mt-4\">\n\t\t\t\t<div class=\"col-4 exam-total-card text-center\">\n\t\t\t\t\t<h3 class=\"total-card-val\">{{ quizResult.noOfCorrectQuestions ? quizResult.noOfCorrectQuestions : \"0\" }} <span style=\"font-weight: lighter;\">out of</span> {{contentData.data.totalQuestions}} <span style=\"font-weight: lighter;\">Questions</span></h3>\n\t\t\t\t\t<div class=\"total-card-label text-muted\">Correct Questions</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-2 exam-total-card text-center\">\n\t\t\t\t\t<h3 :style=\"'color:'+(quizResult.result.toLowerCase()=='pass'?'green':'#FF0000')\">{{quizResult.result.toLowerCase()=='pass'?'PASS':'FAIL'}}</h3>\n\t\t\t\t\t<div class=\"total-card-label text-muted\">Result</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-4 exam-total-card text-center\">\n\t\t\t\t\t<h3 class=\"total-card-val\">{{ quizResult.obtainedMarks }} <span style=\"font-weight: lighter;\">out of</span> {{ contentData.data.totalMarks }}</h3>\n\t\t\t\t\t<div class=\"total-card-label text-muted\">Obtained Scores</div>\n\t\t\t\t</div>\n\t\t\t  </div>\n\t\t\t  <div class=\"d-flex justify-content-center exam-actions-row mt-3\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\" @click=\"attemptAgain\" class=\"primary-btn attempt-btn btn-round mx-2\">\n\t\t\t\t\t\t<!-- <img class=\"page-view-icon\" src=\"@/assets/images/exam-paper-white-icon.svg\"/> -->\n\t\t\t\t\t\t<h4 style=\"margin: 0px; padding: 0px;\">Attempt Again</h4>\t\n\t\t\t\t</button>\n\t\t\t  <button \t\n\t\t\t\t@click=\"reviewQuiz\"\t\t\t\n\t\t\t\ttype=\"button\" class=\"primary-btn attempt-btn btn-round mx-2\">\n\t\t\t\t\t<!-- <img class=\"page-view-icon\" src=\"@/assets/images/exam-paper-white-icon.svg\"/> -->\n\t\t\t\t\t<h4 style=\"margin: 0px; padding: 0px;\">Review</h4>\t\n\t\t\t\t</button>\n\t\t\t  </div>\t\t\t\n\t\t\t</div>\t\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport ProductVariant from \"../../models/productVariant\";\nimport Vue from \"vue\";\nimport { mapState, mapActions } from \"vuex\";\nimport formatter from \"./../../helpers/FormatHelpers\";\nimport SelectButtonQuestion from \"./Quiz/SelectButtonQuestionOptions.vue\"\nimport TextboxQuestion from \"./Quiz/TextboxQuestionOptions.vue\"\nimport circleCounter from 'vue-circle-counter';\nimport RadioButtonQuestion from \"./Quiz/RadioButtonQuestionOptions\";\nimport CheckboxButtonQuestion from \"./Quiz/CheckboxButtonQuestionOptions.vue\";\nimport Swal from \"sweetalert2\";\nexport default {\n\tname: \"Quiz\",\n\tprops: { productVariantData: ProductVariant, contentData: Object },\n\tdata(){\n\t\treturn {\n\t\t\tisQuizStarted:false,\n\t\t\tcurrentAttemptID:null,\n\t\t\tquestions:[],\n\t\t\tcurrentQuestionIndex:0,\n\t\t\tloadQuestionClass:'',\n\t\t\tcurrentLeftTime:0,\n\t\t\tcurrentTimer:null,\n\t\t\tisQuizEnded:false,\n\t\t\tquizResult:null,\n\t\t\tisReviewMode:false\n\t\t\t\n\t\t};\n\t},\n\tcomponents:{\n\t\tRadioButtonQuestion, circleCounter, SelectButtonQuestion, TextboxQuestion, CheckboxButtonQuestion\n\t},\n\tcomputed: {\n\t\thaveTimeLimit:function(){\n\t\t\treturn this.contentData.extraProperties.HaveTimeLimit && this.contentData.extraProperties.HaveTimeLimit.toString().toLowerCase()=='true';\n\t\t},\n\t\ttimeLimit:function(){\n\t\t\tif(this.haveTimeLimit==true){\n\n\t\t\t\tvar seconds = this.contentData.extraProperties.Time;\n\t\t\t\treturn this.timeFormat (seconds);\n\t\t\t\t\n\t\t\t}\n\t\t},\n\t\tisTimeEnded:function(){\n\t\t\tif(this.haveTimeLimit && this.currentLeftTime<=0 && !this.isReviewMode)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\n\t},\n\n\tmethods:{\n\t\t\n\t\t...mapActions(\"content\", [\"getContentById\"]),\n\t\t...mapActions(\"quiz\", [\"submitQuizAttempt\", \"getQuizDetail\"]),\n\t\tdateParser(date) {\n\t\t\treturn formatter.toShortDateString(date);\n\t\t},\n\t\t\n\t\ttimeFormat(seconds)\n\t\t{\n\t\t\tif(seconds>0){\n\t\t\t\t\tconst hours = Math.floor(seconds / 3600);   \n\t\t\t\t\tvar minutes = Math.floor((seconds % 3600) / 60);\n\t\t\t\t\tvar remainingSeconds = seconds % 60;\n\n\t\t\t\t\treturn `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${remainingSeconds.toString().padStart(2, '0')}`;\n\n\t\t\t}\n\t\t},\n\n\t\tasync startQuiz(){\n\t\t\tawait this.getContentById({\n\t\t\t\tid: this.contentData.id,\n\t\t\t\textraParams: { Action: 'Attempt' },\n\t\t\t}).then(async (content) => {\n\t\t\t\tif(content.data && content.data.questions && content.data.questions.length>0){\t\t\t\t\t\n\t\t\t\t\tthis.questions=content.data.questions;\n\t\t\t\t\tthis.currentAttemptID=content.data.quizAttemptID; \n\t\t\t\t\tthis.isQuizStarted=true;\n\t\t\t\t\tif(this.haveTimeLimit && this.contentData.extraProperties.Time>0)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.startQuizTimer();\n\t\t\t\t\t}\n\t\t\t\t\tvar queryData = this.$route.query;\n\t\t\t\t\tqueryData[\"action\"] = \"Attempt\";\n\n\t\t\t\t\tthis.$router.replace({});\n\t\t\t\t\tthis.$router.replace({ query: queryData});\n\n\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tstartQuizTimer(){\n\t\t\tthis.currentLeftTime = this.contentData.extraProperties.Time;\n\t\t\tvar self = this;\n\t\t\tthis.currentTimer = setInterval(function () {\n\n\t\t\t\tif(self._isDestroyed)\n\t\t\t\t{\n\t\t\t\t\tclearInterval(self.currentTimer);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\n\t\t\t\tself.currentLeftTime--;\n\t\t\t\t\n\t\t\t\tif(self.currentLeftTime<=0 && self.currentTimer)\n\t\t\t\t{\n\t\t\t\t\tclearInterval(self.currentTimer);\n\n\t\t\t\t\tself.quizTimeEnded();\n\t\t\t\t\tself.currentTimer=null;\n\t\t\t\t}\n\t\t\t}, 1000);\n\t\t},\n\t\tquizTimeEnded(){\t\n\t\t\tif(this.currentTimer)\n\t\t\t{\n\t\t\t\tclearInterval(this.currentTimer);\n\t\t\t}\t\t\n\t\t\tSwal.fire({\n\t\t\t\ttitle: \"Time Ended\",\n\t\t\t\ttext: \"Time's up for the quiz.\",\n\t\t\t\tbutton: \"Ok\",\n\t\t\t\tdangerMode: true,\n\t\t\t\tallowOutsideClick: false,\n\t\t\t\tallowEscapeKey: false,\n\t\t\t}).then((confirm) => {\n\t\t\t\tif (confirm) {\n\t\t\t\t\tthis.submitQuiz();\t\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tnextQuestion(){\n\t\t\tthis.loadQuestionClass='animate__fadeOutLeft';\n\t\t\tvar self=this;\t\t\t\n\t\t\tsetTimeout(function () {\t\t\t\t\t\t\n\t\t\t\tself.currentQuestionIndex++;\n\t\t\t\tself.loadQuestionClass='animate__fadeInRight';\t\t\n\t\t\t}, 300);\n\t\t},\n\t\tpreviousQuestion(){\n\t\t\tthis.loadQuestionClass='animate__fadeOutRight';\t\t\t\n\t\t\tvar self=this;\t\t\t\n\t\t\tsetTimeout(function () {\t\n\t\t\t\tself.currentQuestionIndex--;\t\n\t\t\t\tself.loadQuestionClass='animate__fadeInLeft';\t\t\n\t\t\t}, 300);\n\t\t},\n\t\tsetAnswer(answers){\n\t\t\tthis.questions[this.currentQuestionIndex].answers = answers;\n\t\t},\n\t\tsubmitQuiz() {\n\t\t\tvar queryData = this.$route.query;\n\t\t\tqueryData[\"action\"] = undefined;\n\t\t\tthis.$router.replace({});\n\t\t\tthis.$router.replace({ query: queryData });\n\n\t\t\tif (!this.isReviewMode) {\n\t\t\t\tif (!this.isTimeEnded) {\n\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\ttitle: 'Are you sure to submit quiz?',\n\t\t\t\t\t\tshowDenyButton: true,\n\t\t\t\t\t\tshowCancelButton: false,\n\t\t\t\t\t\tconfirmButtonText: 'Yes',\n\t\t\t\t\t\tdenyButtonText: `No`,\n\t\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t\tallowEscapeKey: false,\n\t\t\t\t\t}).then((result) => {\n\t\t\t\t\t\t/* Read more about isConfirmed, isDenied below */\n\t\t\t\t\t\tif (result.isConfirmed) {\n\t\t\t\t\t\t\tthis.compileQuizAndSubmitExam();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t} else if (result.isDenied) {\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\n\t\t\t\tthis.compileQuizAndSubmitExam();\n\t\t\t}\n\t\t},\n\t\tcompileQuizAndSubmitExam(){\n\t\t\tif (this.haveTimeLimit && this.currentTimer) {\n\t\t\t\tclearInterval(this.currentTimer);\n\t\t\t}\n\t\t\tthis.isQuizStarted=true;\n\t\t\tthis.isQuizEnded=true;\n\t\t\tvar attempQAndA = this.questions.map(x=>{ return {\n\t\t\t\t\tQuestionID:x.id,\n\t\t\t\t\tAnswers:x.answers\n\t\t\t\t};} ); \n\t\t\tvar attemptObj ={\n\t\t\t\tAttemptID:this.currentAttemptID,\n\t\t\t\tAnswers: attempQAndA\n\t\t\t};\n\n\t\t\tthis.submitQuizAttempt(attemptObj).then((result)=>{\n\t\t\t\tif(result)\n\t\t\t\t{\n\t\t\t\t\tthis.quizResult =  result;\n\t\t\t\t}\n\t\t\t});\n\n\n\n\n\t\t},\n\t\tattemptAgain(){\n\t\t\t\n\t\t\tthis.currentTimer=null;\n\t\t\tthis.isQuizStarted=false;\n\t\t\tthis.isQuizEnded=false;\n\t\t\tthis.currentLeftTime=0;\n\t\t\tthis.currentQuestionIndex=0;\n\t\t\tthis.questions=[];\n\t\t\tthis.quizResult=null;\t\t\t\n\t\t},\n\t\treviewQuiz(questionIndex = 0){\n\t\t\tif (this.quizResult) {\n\t\t\t\tthis.currentTimer=null;\n\t\t\t\tthis.isReviewMode = true;\n\t\t\t\tthis.isQuizStarted = true;\n\t\t\t\tthis.isQuizEnded = false;\n\t\t\t\tthis.currentQuestionIndex = !questionIndex ? 0 : this.currentQuestionIndex;\n\t\t\t\t\n\t\t\t\tthis.questions=this.quizResult.quizAttemptDetails.map(x=>{\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid:x.QuestionID,\n\t\t\t\t\t\tquestionText:x.questionText,\n\t\t\t\t\t\toptions:JSON.parse(x.answerOptions),\n\t\t\t\t\t\tanswers:JSON.parse(x.userAnswer),\n\t\t\t\t\t\tcorrectAnswers:JSON.parse(x.correctAnswers),\n\t\t\t\t\t\ttype:x.type\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t\n\t\t}\n\t\t,\n\t\tshowResult(){\n\t\t\tif (this.quizResult) {\n\t\t\t\tthis.isReviewMode = false;\n\t\t\t\tthis.isQuizStarted = true;\n\t\t\t\tthis.isQuizEnded = true;\t\t\t\t\n\t\t\t}\n\t\t\n\t\t}\n\n\t},\n\tcreated() {\n\t\tlet isReviewMode = this.$route.query.isReviewMode;\n\n\t\tif(isReviewMode != null && isReviewMode != undefined && isReviewMode == 'true'){\n\t\t\tlet attemptId = this.$route.query.attemptId;\n\t\t\tlet questionId = this.$route.query.questionId;\n\t\t\t\n\t\t\tthis.getQuizDetail(attemptId).then((res) => {\n\t\t\t\tif(res && res.length > 0) {\n\t\t\t\t\tthis.isQuizEnded = true;\n\t\t\t\t\tthis.isQuizStarted = true;\n\t\t\t\t\tthis.quizResult = res[0];\n\n\t\t\t\t\tif(questionId) {\n\t\t\t\t\t\tthis.currentQuestionIndex = this.quizResult.quizAttemptDetails.findIndex(x => x.id == questionId);\n\t\t\t\t\t\tthis.reviewQuiz(this.currentQuestionIndex);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tif(this.contentData.extraProperties){\n\t\t\tthis.contentData.extraProperties=JSON.parse(this.contentData.extraProperties);\n\t\t}\n\t},\t\n\tbeforeRouteUpdate(to, from, next) {\n\t\tdebugger;\n\t},\n\twatch:{\n\t\t$route (to, from){\n        \tdebugger;\n    \t}\n\t}\n};\n</script>\n\n<style scoped>\n.card-overflow-handle {\n\toverflow: scroll;\n}\n.header{\n\t\n\tborder-bottom: 2px solid var(--primary-color);\n}\n.header .card-body{\n\tdisplay: flex;\n}\n.disable-box{\n\tposition: absolute;\n    background-color: white;\n    height: 100%;\n    z-index: 9;\n    width: 100%;\n    opacity: 0.5;\n}\n</style>\n<style>\n.result svg text{\n\tfont-size: 40px;\n    font-weight: bolder;\n}\n\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Quiz.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Quiz.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Quiz.vue?vue&type=template&id=84830ebe&scoped=true&\"\nimport script from \"./Quiz.vue?vue&type=script&lang=js&\"\nexport * from \"./Quiz.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Quiz.vue?vue&type=style&index=0&id=84830ebe&prod&scoped=true&lang=css&\"\nimport style1 from \"./Quiz.vue?vue&type=style&index=1&id=84830ebe&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"84830ebe\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',_vm._l((_vm.options),function(option,index){return _c('h5',{key:index,class:'checkbox-inputs '+(_vm.isReviewMode && _vm.isCorrect(option)?' correct':(_vm.isReviewMode && _vm.isInCorrect(option)?' incorrect':''))},[_c('b-form-checkbox',{staticClass:\"quiz-checkbox\",attrs:{\"id\":'checkbox-option-' + option.identifier,\"name\":\"checkbox-option\",\"disabled\":_vm.isReviewMode,\"value\":option.identifier},model:{value:(_vm.selectedAnswer),callback:function ($$v) {_vm.selectedAnswer=$$v},expression:\"selectedAnswer\"}},[_c('span',{staticClass:\"input-option\",attrs:{\"for\":'checkbox-option-' + option.identifier},domProps:{\"innerHTML\":_vm._s(option.option)}})])],1)}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n    <div>\n      <div>\n        <h5 v-for=\"(option, index) in options\" :key=\"index\" :class=\"'checkbox-inputs '+(isReviewMode && isCorrect(option)?' correct':(isReviewMode && isInCorrect(option)?' incorrect':''))\" >\n          <b-form-checkbox :id=\"'checkbox-option-' + option.identifier\" name=\"checkbox-option\" \n            :disabled=\"isReviewMode\" v-model=\"selectedAnswer\" \n            :value=\"option.identifier\" class=\"quiz-checkbox\"> \n            <span :for=\"'checkbox-option-' + option.identifier\" class=\"input-option\" v-html=\"option.option\"></span> \n          </b-form-checkbox>\n       </h5>\n\n\n        <!-- <h5 v-for=\"(option, index) in options\" :key=\"index\" :class=\"'checkbox-inputs '+(isReviewMode && isCorrect(option)?' correct':(isReviewMode && isInCorrect(option)?' incorrect':''))\" >\n          \n          <b-form-checkbox id=\"checkbox-option\" name=\"checkbox-option\" \n          :disabled=\"isReviewMode\" v-model=\"selectedAnswer\" \n          :value=\"option.identifier\" class=\"quiz-checkbox\"> \n          <span class=\"input-option\" v-html=\"option.option\"></span> \n          </b-form-checkbox>\n        </h5> -->\n      </div>\n    </div>\n  </template>\n  \n  <script>\n    export default {\n      name: 'CheckboxButtonQuestion',\n      data() {\n        return {\n          selectedAnswer:[]\n        }\n      },\n      props:{\n        isReviewMode:Boolean,\n        options:Array,\n        answers:Array,\n        correctAnswers:Array\n      },\n      computed: {\n        // filteredOptions: {\n        //     get() {\n        //         return this.options && this.options.length > 0 ? this.options : [];\n        //     },\n        //     set(value) {\n        //         this.options = value;\n        //     },\n        // },\n      },\n      mounted() {},\n      methods: {\n        isCorrect(option)\n        {\n          if(this.isReviewMode && this.correctAnswers)\n          {\n            return this.correctAnswers.indexOf(option.identifier)>-1;\n          }\n          return false;\n        },\n        isInCorrect(option){\n          if(this.isReviewMode && !this.isCorrect(option.identifier) && this.answers)\n          {\n            return this.answers.indexOf(option.identifier)>-1;\n          }\n          return false;\n        }\n      },\n      created(){\n        // if(this.filteredOptions && this.filteredOptions.length > 0) {\n        //     var _options = [];\n\n        //     for(let i=0; i<this.filteredOptions.length; i++) {\n        //         _options.push({value: this.filteredOptions[i], text: this.filteredOptions[i]});\n        //     }\n\n        //     this.filteredOptions = [];\n        //     this.filteredOptions = _options;\n            \n        // }\n        if(this.answers && this.answers.length>0)\n          {\n            this.selectedAnswer= this.answers;\n          }\n      },\n      watch:{\n        selectedAnswer:function(){\n          this.$emit(\"setAnswer\", this.selectedAnswer);\n        },\n        answers:function(){\n          if(this.answers && this.answers.length>0)\n          {\n            this.selectedAnswer= this.answers;\n          }\n        }\n      }\n    }\n</script>\n  \n  <!-- Add \"scoped\" attribute to limit CSS to this component only -->\n  <style scoped>\n  .input-option{\n    margin-left: 10px;\n    font-weight: lighter;\n  }\n  .checkbox-inputs{\n    max-width: 40%;\n    padding: 5px;\n    border-radius: 10px;\n  \n  }\n  .checkbox-inputs.correct{\n    background: #ddf1dd;\n  \n  }\n  .checkbox-inputs.incorrect{  \n    background: #fed2d2;\n  \n  }\n  \n  </style>\n  \n  <style>\n  \n  .quiz-checkbox input[type=checkbox]{\n    accent-color: var(--primary-color);\n  }\n  \n  .radio-inputs .custom-control-label{\n    margin: 0px;\n  }\n  </style>","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CheckboxButtonQuestionOptions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CheckboxButtonQuestionOptions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CheckboxButtonQuestionOptions.vue?vue&type=template&id=6be222c2&scoped=true&\"\nimport script from \"./CheckboxButtonQuestionOptions.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckboxButtonQuestionOptions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CheckboxButtonQuestionOptions.vue?vue&type=style&index=0&id=6be222c2&prod&scoped=true&lang=css&\"\nimport style1 from \"./CheckboxButtonQuestionOptions.vue?vue&type=style&index=1&id=6be222c2&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6be222c2\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-form-group',_vm._l((_vm.options),function(option){return _c('h5',{class:'radio-inputs '+(_vm.isReviewMode && _vm.isCorrect(option)?' correct':(_vm.isReviewMode && _vm.isInCorrect(option)?' incorrect':''))},[_c('b-form-radio',{staticClass:\"quiz-radio\",attrs:{\"disabled\":_vm.isReviewMode,\"value\":option.identifier},model:{value:(_vm.selectedAnswer),callback:function ($$v) {_vm.selectedAnswer=$$v},expression:\"selectedAnswer\"}},[_c('span',{staticClass:\"input-option\",domProps:{\"innerHTML\":_vm._s(option.option)}})])],1)}),0)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <b-form-group >\n      <h5   v-for=\"option in options\" :class=\"'radio-inputs '+(isReviewMode && isCorrect(option)?' correct':(isReviewMode && isInCorrect(option)?' incorrect':''))\" >\n        <b-form-radio :disabled=\"isReviewMode\" v-model=\"selectedAnswer\"  class=\"quiz-radio\" :value=\"option.identifier\"> <span class=\"input-option\" v-html=\"option.option\"></span> </b-form-radio>\n      </h5>\n    </b-form-group>\n  </div>\n</template>\n\n<script>\n  export default {\n    name: 'RadioButtonQuestion',\n    data() {\n      return {\n        selectedAnswer:null\n      }\n    },\n    props:{\n      isReviewMode:Boolean,\n      options:Array,\n      answers:Array,\n      correctAnswers:Array\n    },\n    computed: {},\n    mounted() {},\n    methods: {\n      isCorrect(option)\n      {\n        if(this.isReviewMode && this.correctAnswers)\n        {\n          return this.correctAnswers.indexOf(option.identifier)>-1;\n        }\n        return false;\n      },\n      isInCorrect(option){\n        if(this.isReviewMode && !this.isCorrect(option) && this.answers)\n        {\n          return this.answers.indexOf(option.identifier)>-1;\n        }\n        return false;\n      }\n    },\n    created(){\n      if(this.answers && this.answers.length>0)\n        {\n          this.selectedAnswer= this.answers[0];\n        }\n    },\n    watch:{\n      selectedAnswer:function(){\n        this.$emit(\"setAnswer\", [this.selectedAnswer]);\n      },\n      answers:function(){\n        if(this.answers && this.answers.length>0)\n        {\n          this.selectedAnswer= this.answers[0];\n        }\n      }\n    }\n  }\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n.input-option{\n  margin-left: 10px;\n  font-weight: lighter;\n}\n.radio-inputs{\n  max-width: 40%;\n  padding: 5px;\n  border-radius: 10px;\n\n}\n.radio-inputs.correct{\n  background: #ddf1dd;\n\n}\n.radio-inputs.incorrect{  \n  background: #fed2d2;\n\n}\n\n</style>\n\n<style>\n\n.quiz-radio input[type=radio]{\n  accent-color: var(--primary-color);\n}\n\n.radio-inputs .custom-control-label{\n  margin: 0px;\n}\n</style>","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RadioButtonQuestionOptions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RadioButtonQuestionOptions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RadioButtonQuestionOptions.vue?vue&type=template&id=1839500c&scoped=true&\"\nimport script from \"./RadioButtonQuestionOptions.vue?vue&type=script&lang=js&\"\nexport * from \"./RadioButtonQuestionOptions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RadioButtonQuestionOptions.vue?vue&type=style&index=0&id=1839500c&prod&scoped=true&lang=css&\"\nimport style1 from \"./RadioButtonQuestionOptions.vue?vue&type=style&index=1&id=1839500c&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1839500c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isReviewMode)?_c('div',[(_vm.isCorrect(_vm.selectedAnswer))?_c('h5',{staticClass:\"select-inputs correct\"},[_vm._v(\"Correct\")]):_vm._e(),(_vm.isInCorrect(_vm.selectedAnswer))?_c('h5',{staticClass:\"select-inputs incorrect\"},[_vm._v(\"Wrong! Correct Answer is: \"),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.correctAnswer)}})]):_vm._e(),(!this.answers || this.answers.length <= 0)?_c('h5',{staticClass:\"select-inputs incorrect\"},[_vm._v(\"Wrong! Correct Answer is: \"),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.correctAnswer)}})]):_vm._e()]):_vm._e(),_c('b-form-select',{staticClass:\"select-inputs-group\",attrs:{\"disabled\":_vm.isReviewMode},model:{value:(_vm.selectedAnswer),callback:function ($$v) {_vm.selectedAnswer=$$v},expression:\"selectedAnswer\"}},[_c('b-form-select-option',{attrs:{\"value\":null}},[_vm._v(\"Please select an option\")]),_vm._l((_vm.options),function(option,index){return _c('b-form-select-option',{key:index,attrs:{\"value\":option.identifier}},[_c('span',{domProps:{\"innerHTML\":_vm._s(option.option)}})])})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n    <div>\n      <div v-if=\"isReviewMode\">\n          <h5 v-if=\"isCorrect(selectedAnswer)\" class=\"select-inputs correct\" >Correct</h5>\n          <h5 v-if=\"isInCorrect(selectedAnswer)\" class=\"select-inputs incorrect\" >Wrong! Correct Answer is: <span v-html=\"correctAnswer\"></span></h5>\n          <h5 v-if=\"!this.answers || this.answers.length <= 0\" class=\"select-inputs incorrect\" >Wrong! Correct Answer is: <span v-html=\"correctAnswer\"></span></h5>\n      </div>\n        <b-form-select class=\"select-inputs-group\" v-model=\"selectedAnswer\" :disabled=\"isReviewMode\">\n          <b-form-select-option :value=\"null\">Please select an option</b-form-select-option>\n          <b-form-select-option v-for=\"(option,index) in options\" :value=\"option.identifier\" :key=\"index\"><span v-html=\"option.option\"></span></b-form-select-option>\n        </b-form-select>\n    </div>\n  </template>\n  \n  <script>\n    export default {\n      name: 'SelectButtonQuestion',\n      data() {\n        return {\n          selectedAnswer:null\n        }\n      },\n      props:{\n        isReviewMode:Boolean,\n        options:Array,\n        answers:Array,\n        correctAnswers:Array\n      },\n      computed: {\n        filteredOptions: {\n            get() {\n                return this.options && this.options.length > 0 ? this.options : [];\n            },\n            set(value) {\n                this.options = value;\n            },\n        },\n        correctAnswer: function() {\n          var correctOption = this.selectedAnswer != this.correctAnswers[0] ? this.options.filter((x) => x.identifier == this.correctAnswers[0]) : null;\n          return correctOption[0]?.option;\n        }\n      },\n      mounted() {},\n      methods: {\n        isCorrect(option)\n        {\n          if(this.isReviewMode && this.correctAnswers)\n          {\n            return this.correctAnswers.indexOf(option)>-1;\n          }\n          return false;\n        },\n        isInCorrect(option){\n          if(this.isReviewMode && !this.isCorrect(option) && this.answers)\n          {\n            return this.answers.indexOf(option)>-1;\n          }\n          return false;\n        },\n      },\n      created(){\n        // if(this.filteredOptions && this.filteredOptions.length > 0) {\n        //     var _options = [];\n        //     _options.push({value: null, text: 'Please select an answer'});\n\n        //     for(let i=0; i<this.filteredOptions.length; i++) {\n        //         _options.push({value: this.filteredOptions[i], text: this.filteredOptions[i]});\n        //     }\n\n        //     this.filteredOptions = [];\n        //     this.filteredOptions = _options;\n            \n        // }\n        if(this.answers && this.answers.length>0)\n          {\n            this.selectedAnswer= this.answers[0];\n          }\n      },\n      watch:{\n        selectedAnswer:function(){\n          this.$emit(\"setAnswer\", [this.selectedAnswer]);\n        },\n        answers:function(){\n          if(this.answers && this.answers.length>0)\n          {\n            this.selectedAnswer= this.answers[0];\n          }\n        }\n      }\n    }\n  </script>\n  \n  <!-- Add \"scoped\" attribute to limit CSS to this component only -->\n  <style scoped>\n  .input-option{\n    margin-left: 10px;\n    font-weight: lighter;\n  }\n  .select-inputs{\n    max-width: 40%;\n    padding: 5px;\n    border-radius: 5px;\n  \n  }\n  .select-inputs-group{\n    min-width: 20%;\n    padding: 5px;\n    border-radius: 5px;\n    font-size: 1rem;\n  }\n  .select-inputs.correct{\n    background: #ddf1dd;\n  \n  }\n  .select-inputs.incorrect{  \n    background: #fed2d2;\n  \n  }\n  \n  </style>\n  \n  <style>\n  \n  .quiz-select input[type=select]{\n    accent-color: var(--primary-color);\n  }\n  \n  .select-inputs .custom-control-label{\n    margin: 0px;\n  }\n  </style>","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectButtonQuestionOptions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectButtonQuestionOptions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SelectButtonQuestionOptions.vue?vue&type=template&id=45720b86&scoped=true&\"\nimport script from \"./SelectButtonQuestionOptions.vue?vue&type=script&lang=js&\"\nexport * from \"./SelectButtonQuestionOptions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SelectButtonQuestionOptions.vue?vue&type=style&index=0&id=45720b86&prod&scoped=true&lang=css&\"\nimport style1 from \"./SelectButtonQuestionOptions.vue?vue&type=style&index=1&id=45720b86&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"45720b86\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isReviewMode)?_c('div',[(_vm.isCorrect(_vm.selectedAnswer))?_c('h5',{staticClass:\"textbox-inputs correct\"},[_vm._v(\" Correct \")]):_vm._e(),(_vm.isInCorrect(_vm.selectedAnswer))?_c('h5',{staticClass:\"textbox-inputs incorrect\"},[_vm._v(\" Wrong! Possible Correct Answers are: \"+_vm._s(_vm.correctAnswer)+\" \")]):_vm._e(),(!this.answers || this.answers.length <= 0)?_c('h5',{staticClass:\"textbox-inputs incorrect\"},[_vm._v(\" Wrong! Possible Correct Answers are: \"+_vm._s(_vm.correctAnswer)+\" \")]):_vm._e()]):_vm._e(),(!_vm.isReviewMode)?_c('b-form-input',{staticClass:\"textbox-inputs\",attrs:{\"placeholder\":\"Type your answer\"},on:{\"blur\":_vm.getUserInput},model:{value:(_vm.userInput),callback:function ($$v) {_vm.userInput=$$v},expression:\"userInput\"}}):_vm._e(),(_vm.isReviewMode)?_c('b-form-input',{staticClass:\"textbox-inputs\",attrs:{\"disabled\":\"\"},model:{value:(_vm.selectedAnswer),callback:function ($$v) {_vm.selectedAnswer=$$v},expression:\"selectedAnswer\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <div v-if=\"isReviewMode\">\n      <h5 v-if=\"isCorrect(selectedAnswer)\" class=\"textbox-inputs correct\">\n        Correct\n      </h5>\n      <h5 v-if=\"isInCorrect(selectedAnswer)\" class=\"textbox-inputs incorrect\">\n        Wrong! Possible Correct Answers are: {{ correctAnswer }}\n      </h5>\n      <h5\n        v-if=\"!this.answers || this.answers.length <= 0\"\n        class=\"textbox-inputs incorrect\"\n      >\n        Wrong! Possible Correct Answers are: {{ correctAnswer }}\n      </h5>\n    </div>\n    <b-form-input\n      class=\"textbox-inputs\"\n      v-model=\"userInput\"\n      placeholder=\"Type your answer\"\n      @blur=\"getUserInput\"\n      v-if=\"!isReviewMode\"\n    ></b-form-input>\n    <b-form-input\n      class=\"textbox-inputs\"\n      v-model=\"selectedAnswer\"\n      v-if=\"isReviewMode\"\n      disabled\n    ></b-form-input>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: \"TextboxQuestion\",\n  data() {\n    return {\n      selectedAnswer: null,\n      userInput: \"\",\n    };\n  },\n  props: {\n    isReviewMode: Boolean,\n    options: Array,\n    answers: Array,\n    correctAnswers: Array,\n  },\n  computed: {\n    correctAnswer: function () {\n      return this.options.map((x) => x.option).toString();\n    },\n  },\n  mounted() {},\n  methods: {\n    isCorrect(option) {\n      // debugger;\n      // if(this.isReviewMode && this.correctAnswers)\n      // {\n      //   return this.correctAnswers.indexOf(option.identifier)>-1;\n      // }\n      // return false;\n      if (this.options && this.options.length > 0 && option) {\n        var correctOption = this.options.filter((x) => x.option == option);\n        return correctOption.length > 0 ? true : false;\n      }\n      return false;\n    },\n    isInCorrect(option) {\n      if (this.isReviewMode && !this.isCorrect(option) && this.answers) {\n        return true;\n      }\n      return false;\n    },\n    getUserInput() {\n      this.selectedAnswer = this.userInput;\n    },\n  },\n  created() {\n    if (this.answers && this.answers.length > 0) {\n      this.selectedAnswer = this.answers[0];\n    }\n  },\n  watch: {\n    selectedAnswer: function () {\n      this.$emit(\"setAnswer\", [this.selectedAnswer]);\n    },\n    answers: function () {\n      if (this.answers && this.answers.length > 0) {\n        this.selectedAnswer = this.answers[0];\n      }\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n.input-option {\n  margin-left: 10px;\n  font-weight: lighter;\n}\n.textbox-inputs {\n  max-width: 40%;\n  padding: 5px;\n  border-radius: 5px;\n}\n.textbox-inputs.correct {\n  background: #ddf1dd;\n}\n.textbox-inputs.incorrect {\n  background: #fed2d2;\n}\n</style>\n\n<style>\n.quiz-textbox input[type=\"textbox\"] {\n  accent-color: var(--primary-color);\n}\n\n.textbox-inputs .custom-control-label {\n  margin: 0px;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextboxQuestionOptions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextboxQuestionOptions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextboxQuestionOptions.vue?vue&type=template&id=33b77a65&scoped=true&\"\nimport script from \"./TextboxQuestionOptions.vue?vue&type=script&lang=js&\"\nexport * from \"./TextboxQuestionOptions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TextboxQuestionOptions.vue?vue&type=style&index=0&id=33b77a65&prod&scoped=true&lang=css&\"\nimport style1 from \"./TextboxQuestionOptions.vue?vue&type=style&index=1&id=33b77a65&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"33b77a65\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isVSS)?_c('div',{staticClass:\"video-container\"},[(_vm.contentData.data.status.toLowerCase() == 'processing')?_c('div',{staticClass:\"video-processing\"},[_c('i',{staticClass:\"fas fa-cogs\"}),_vm._v(\" Video is currently processing. The video will be available soon... \")]):_vm._e(),(_vm.contentData.data.status.toLowerCase() == 'notuploaded')?_c('div',{staticClass:\"video-processing\"},[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_vm._v(\" The video is either corrupted or incorrectly uploaded. Please inform your trainer or the administrator. \")]):_vm._e(),(_vm.contentData.data.viewUrl || _vm.contentData.data.url)?_c('iframe',{staticClass:\"video-player\",attrs:{\"allow\":\"encrypted-media; fullscreen\",\"src\":_vm.contentData.data.viewUrl}}):_vm._e()]):_vm._e(),(_vm.isYoutube)?_c('div',{staticClass:\"video-container\"},[(_vm.contentData.data.url)?_c('iframe',{staticClass:\"video-player\",attrs:{\"allow\":\"fullscreen\",\"src\":_vm.contentData.data.url}}):_vm._e()]):_vm._e(),_c('div',{staticClass:\"video-details-container\"},[_c('ul',{staticClass:\"inline-list video-details-tabs\"},[_c('li',{class:{ tab: true, active: _vm.activeTab == 'overview' },attrs:{\"id\":\"overview\"},on:{\"click\":_vm.changeTab}},[_vm._v(\" Overview \")])]),_c('div',{staticClass:\"video-details-content\"},[_c('h2',[_vm._v(_vm._s(_vm.contentData.title))]),(_vm.productVariantData && _vm.productVariantData.product)?_c('h5',[_vm._v(\" \"+_vm._s(_vm.productVariantData.product.title)+\" (\"+_vm._s(_vm.productVariantData.title)+\") \")]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div class=\"video-container\" v-if=\"isVSS\">\n\t\t\t<div\n\t\t\t\tv-if=\"contentData.data.status.toLowerCase() == 'processing'\"\n\t\t\t\tclass=\"video-processing\"\n\t\t\t>\n\t\t\t\t<i class=\"fas fa-cogs\"></i>\n\t\t\t\tVideo is currently processing. The video will be available soon...\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tv-if=\"contentData.data.status.toLowerCase() == 'notuploaded'\"\n\t\t\t\tclass=\"video-processing\"\n\t\t\t>\n\t\t\t\t<i class=\"fas fa-exclamation-triangle\"></i>\n\t\t\t\tThe video is either corrupted or incorrectly uploaded. Please inform\n\t\t\t\tyour trainer or the administrator.\n\t\t\t</div>\n\t\t\t<iframe\n        allow=\"encrypted-media; fullscreen\"\n\t\t\t\tv-if=\"contentData.data.viewUrl || contentData.data.url\"\n\t\t\t\t:src=\"contentData.data.viewUrl\"\n\t\t\t\tclass=\"video-player\"\n\t\t\t></iframe>\n\t\t</div>\n\t\t<div class=\"video-container\" v-if=\"isYoutube\">\t\t\t\n\t\t\t<iframe\n\t\t\t\tallow=\"fullscreen\"\n\t\t\t\tv-if=\"contentData.data.url\"\n\t\t\t\t:src=\"contentData.data.url\"\n\t\t\t\tclass=\"video-player\"\n\t\t\t></iframe>\n\t\t</div>\n\t\t<div class=\"video-details-container\">\n\t\t\t<ul class=\"inline-list video-details-tabs\">\n\t\t\t\t<li\n\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t:class=\"{ tab: true, active: activeTab == 'overview' }\"\n\t\t\t\t\tid=\"overview\"\n\t\t\t\t>\n\t\t\t\t\tOverview\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<div class=\"video-details-content\">\n\t\t\t\t<h2>{{ contentData.title }}</h2>\n\t\t\t\t<h5 v-if=\"productVariantData && productVariantData.product\">\n\t\t\t\t\t{{ productVariantData.product.title }} ({{\n\t\t\t\t\t\tproductVariantData.title\n\t\t\t\t\t}})\n\t\t\t\t</h5>\n\t\t\t\t<!-- <h5>Chapter: {{ chapterName }}</h5> -->\n\t\t\t\t<!-- <h5 class=\"mt-4\">Trainer: {{ productVariantData.creator.name }}</h5> -->\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"RecordedVideo\",\n\tdata() {\n\t\treturn {\n\t\t\tactiveTab: \"overview\",\n\t\t};\n\t},\n\tmethods: {\n\t\tchangeTab(e) {\n\t\t\tthis.activeTab = e.target.id;\n\t\t},\n\t},\n\tprops: {\n\t\tproductVariantData: Object,\n\t\tcontentData: Object,\n\t},\n\tcomputed: {\n\t\tisVSS(){\n\t\t\treturn this.contentData && this.contentData.externalService && this.contentData.externalService.serviceProvider.toLowerCase()=='vss';\n\t\t},\n\t\tisYoutube(){\n\t\t\treturn this.contentData && this.contentData.externalService && this.contentData.externalService.serviceProvider.toLowerCase()=='youtube';\n\t\t}\n\t\t// videoTitle() {\n\t\t// \tvar title = \"\";\n\t\t// \tthis.contentData.map((content) => {\n\t\t// \t\tif (content.id == this.$route.params.id) {\n\t\t// \t\t\ttitle = content.content[0].title;\n\t\t// \t\t}\n\t\t// \t});\n\t\t// \treturn title;\n\t\t// },\n\t\t// chapterName() {\n\t\t// \tvar chapter = \"\";\n\t\t// \tthis.contentData.map((content) => {\n\t\t// \t\tif (content.id == this.$route.params.id) {\n\t\t// \t\t\tchapter = content.title;\n\t\t// \t\t}\n\t\t// \t});\n\t\t// \treturn chapter;\n\t\t// },\n\t},\n\tcreated() {\n\t\t// document.location.href = this.contentData.data.viewUrl;\n\t},\n};\n</script>\n\n<style scoped>\n.floating-menu {\n    top: 0px;\n}\n.video-container {\n\tdisplay: flex;\n\theight: 57.75vh;\n}\n\n.video-player {\n\twidth: 100%;\n}\n\n.video-details-tabs {\n\tbox-shadow: 1px 1px 5px var(--color-gray);\n}\n\n.video-details-tabs .tab {\n\tpadding: 2rem !important;\n\tfont-size: 1.15rem;\n}\n\n.active {\n\tborder-bottom: 5px solid var(--primary-color);\n}\n\n.video-details-content {\n\tpadding: 1rem;\n}\n\n.video-processing {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tflex-direction: column;\n\twidth: 100%;\n\tbackground-color: #fafafa;\n\tfont-size: 1.5rem;\n\tfont-weight: 500;\n\tcolor: #999;\n\trow-gap: 1rem;\n\tpadding: 0 1rem;\n\ttext-align: center;\n}\n\n.video-processing .fas {\n\tfont-size: 3rem;\n}\n\n</style>\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RecordedVideo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RecordedVideo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RecordedVideo.vue?vue&type=template&id=a5aa40e2&scoped=true&\"\nimport script from \"./RecordedVideo.vue?vue&type=script&lang=js&\"\nexport * from \"./RecordedVideo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RecordedVideo.vue?vue&type=style&index=0&id=a5aa40e2&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"a5aa40e2\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"view-study-material-modal\",\"visible\":_vm.visible,\"size\":\"lg\",\"hide-header\":\"\",\"hide-footer\":\"\",\"centered\":\"\",\"content-class\":\"view-study-material-modal\",\"body-class\":\"modal-body\",\"modal-class\":\"custom-modal\"},on:{\"change\":function($event){return _vm.closeModal()},\"contextmenu\":function () { return _vm.console.log('context menu'); }}},[_c('div',{staticClass:\"body-container position-relative\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.closeModal()}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('div',{staticClass:\"row document-div\",attrs:{\"id\":\"document-div\"}},[(_vm.isPDFLoading)?_c('h4',{staticClass:\"loader px-4 py-3\",staticStyle:{\"position\":\"absolute\",\"z-index\":\"-1\"}},[_vm._v(\"Loading document, please wait...\")]):_vm._e(),(_vm.type == 'pdf' && _vm.PDFJSViewerUrl && (_vm.isMobile || !_vm.isDownloadAllowed))?_c('iframe',{attrs:{\"id\":\"no-click\",\"src\":_vm.PDFJSViewerUrl,\"frameborder\":\"0\",\"width\":\"100%\",\"height\":\"100%\",\"tabindex\":\"1\",\"sandbox\":\"allow-scripts allow-same-origin allow-forms\"},on:{\"change\":_vm.hideShare,\"loadeddata\":_vm.hideShare,\"contextmenu\":_vm.disableRightClick,\"load\":_vm.iframeLoadEvent}}):(_vm.type == 'pdf' && !_vm.isDownloadAllowed && _vm.pdfJsExpressApiKey && !_vm.isMobile)?_c('PDFExpressViewer',{attrs:{\"path\":(_vm.publicPath + \"lib\"),\"url\":_vm.iframeLink,\"apiKey\":_vm.pdfJsExpressApiKey}}):(_vm.type == 'pdf' && _vm.isDownloadAllowed && !_vm.isMobile)?_c('embed',{attrs:{\"id\":\"no-click\",\"src\":(_vm.iframeLink + \"#embedded=true&navpanes=0\"),\"frameborder\":\"0\",\"navpanes\":\"0\",\"width\":\"100%\",\"height\":\"100%\"}}):(_vm.type == 'pdf' && _vm.isDownloadAllowed && _vm.isMobile && _vm.AdobePDFReaderAPIKey)?_c('AdobePDFViewer',{attrs:{\"apiKey\":_vm.AdobePDFReaderAPIKey,\"source\":_vm.src,\"fileName\":_vm.content[_vm.contentId].title}}):_c('iframe',{attrs:{\"id\":\"no-click\",\"src\":_vm.iframeLink,\"frameborder\":\"0\",\"width\":\"100%\",\"height\":\"100%\",\"tabindex\":\"1\",\"sandbox\":\"allow-scripts allow-same-origin allow-forms\"},on:{\"change\":_vm.hideShare,\"loadeddata\":_vm.hideShare,\"contextmenu\":_vm.disableRightClick,\"load\":_vm.iframeLoadEvent}})],1),_c('div',{staticClass:\"row\"},[(_vm.isDownloadAllowed)?_c('div',{staticClass:\"download-btn-div\"},[_c('button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.right\",modifiers:{\"hover\":true,\"right\":true}}],staticClass:\"btn btn-primary\",attrs:{\"disabled\":_vm.isDownloading || _vm.isDownloaded,\"title\":_vm.tooltipMessage},on:{\"click\":_vm.handleDownloadDocumentButtonClick}},[(!_vm.isDownloading && !_vm.isDownloaded)?_c('span',[_vm._v(\"Download\")]):(_vm.isDownloading)?_c('span',[_vm._v(\"Downloading... (\"+_vm._s(_vm.downloadProgress)+\"%)\")]):_c('span',[_vm._v(\"Downloaded\")])])]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-modal @change=\"closeModal()\" id=\"view-study-material-modal\" :visible=\"visible\" size=\"lg\" hide-header hide-footer\n    centered content-class=\"view-study-material-modal\" body-class=\"modal-body\" modal-class=\"custom-modal\"\n    @contextmenu=\"() => console.log('context menu')\">\n    <div class=\"body-container position-relative\">\n      <button @click=\"closeModal()\" class=\"close-button\" role=\"button\">\n        <img src=\"@/assets/images/cancel-icon.svg\" />\n      </button>\n      <!-- <div id=\"no-click\"></div> -->\n      <div id=\"document-div\" class=\"row document-div\">\n        <h4 v-if=\"isPDFLoading\" class=\"loader px-4 py-3\" style=\"position: absolute;z-index: -1;\">Loading document, please wait...</h4>\n\n        <!--\n          PDFJS Viewer will be shown inside iFrame when downloadAllowed is either false\n          or user is using through mobile\n        -->\n        <iframe v-if=\"type == 'pdf' && PDFJSViewerUrl && (isMobile || !isDownloadAllowed)\" @change=\"hideShare\" @loadeddata=\"hideShare\" id=\"no-click\" :src=\"PDFJSViewerUrl\" frameborder=\"0\"\n                width=\"100%\" height=\"100%\" @contextmenu=\"disableRightClick\" tabindex=\"1\" @load=\"iframeLoadEvent\" sandbox=\"allow-scripts allow-same-origin allow-forms\"></iframe>\n\n        <PDFExpressViewer v-else-if=\"type == 'pdf' && !isDownloadAllowed && pdfJsExpressApiKey && !isMobile\"\n          :path=\"`${publicPath}lib`\" :url=\"iframeLink\" :apiKey=\"pdfJsExpressApiKey\" />\n\n        <embed id=\"no-click\" v-else-if=\"type == 'pdf' && isDownloadAllowed && !isMobile\"\n          :src=\"`${iframeLink}#embedded=true&navpanes=0`\" frameborder=\"0\" navpanes=\"0\" width=\"100%\"\n          height=\"100%\" />\n\n        <AdobePDFViewer v-else-if=\"type == 'pdf' && isDownloadAllowed && isMobile && AdobePDFReaderAPIKey\" :apiKey=\"AdobePDFReaderAPIKey\" :source=\"src\" :fileName=\"content[contentId].title\"  />\n\n        <!--\n          Following iFrame will be used for non-PDF docs.\n          Or, it will be used as fallback if AllowDownload of PDF is set to false\n          and PDFExpress/AdobeViewer/PDFJSViewer none of them are configured for current tenant\n        -->\n        <iframe v-else @change=\"hideShare\" @loadeddata=\"hideShare\" id=\"no-click\" :src=\"iframeLink\" frameborder=\"0\"\n          width=\"100%\" height=\"100%\" @contextmenu=\"disableRightClick\" tabindex=\"1\" @load=\"iframeLoadEvent\"\n          sandbox=\"allow-scripts allow-same-origin allow-forms\"></iframe>\n\n      </div>\n      <!--      <div class=\"overlay\"></div>-->\n      <div class=\"row\">\n        <div class=\"download-btn-div\" v-if=\"isDownloadAllowed\">\n          <button class=\"btn btn-primary\" :disabled=\"isDownloading || isDownloaded\" @click=\"handleDownloadDocumentButtonClick\" v-b-tooltip.hover.right :title=\"tooltipMessage\">\n            <span v-if=\"!isDownloading && !isDownloaded\">Download</span>\n            <span v-else-if=\"isDownloading\">Downloading... ({{ downloadProgress }}%)</span>\n            <span v-else>Downloaded</span>\n          </button>\n      </div>\n      </div>\n    </div>\n  </b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport { default as download } from 'downloadjs';\n//import pdf from 'vue-pdf';\nimport PDFExpressViewer from \"@/components/Content/PDFExpressViewer\";\nimport AdobePDFViewer from \"../PDFViewer/AdobePDFViewer.vue\"\nimport streamSaver from 'streamsaver';\n\n\nexport default {\n  name: \"StudyMaterial\",\n  components: {\n    //pdf,\n    PDFExpressViewer,\n    AdobePDFViewer\n  },\n  data() {\n    return {\n      type: null,\n      src: null,\n      isDownloadAllowed: false,\n      numberPages: 1,\n      isPDFLoading: true,\n      publicPath: process.env.BASE_URL,\n      isDownloading: false,\n      isDownloaded: false,\n      downloadProgress: 0,\n      tooltipMessage: 'Click to download',\n    };\n  },\n  props: {\n    contentId: String,\n    showModal: Boolean,\n  },\n  methods: {\n    ...mapActions(\"content\", [\"getContentById\"]),\n    closeModal() {\n      Object.assign(this.$data, this.$options.data.call(this));\n      this.$emit(\"updateModalState\", false);\n    },\n    handleRightClick(e) {\n      console.log(\"handle right click\");\n      e.preventDefault();\n      return false;\n    },\n    hideShare() { },\n\n    // handleDownloadDocumentButtonClick(e) {\n    //   download(this.src);\n    //   //window.open(this.src, 'download');\n    // },  \n    async handleDownloadDocumentButtonClick() {\n      if(this.isDownloading){\n        this.tooltipMessage = 'File is already downloading...';\n\t\t\t\treturn;\n      }\n      this.isDownloading = true;\n      this.downloadProgress = 0;\n      this.tooltipMessage = 'Downloading...';\n\n      const abortController = new AbortController(); // Create AbortController\n      const signal = abortController.signal;\n\n      let writer;\n\n      try {\n        const response = await fetch(this.src, {\n          method: 'GET', signal\n        });\n        const totalLength = +response.headers.get('Content-Length') || 0;\n\n        if (!response.ok) {\n          console.error(`Failed to download: ${response.statusText}`)\n          throw new Error(`Unable to fetch file. ${response.statusCode}`);\n        }\n\n        let fileName = this.src.split('/').pop();\n        fileName = fileName.split('?')[0].split('#')[0];  // this will handle cases like \"https://example.com/files/document.pdf?version=2#section2\"\n\n        const fileStream = streamSaver.createWriteStream(fileName);\n        writer = fileStream.getWriter();\n        const reader = response.body.getReader();\n        let receivedLength = 0;\n\n        while (true) {\n          const { done, value } =await reader.read();\n          if (done) break;\n          receivedLength += value.length;\n          this.downloadProgress = Math.floor((receivedLength / totalLength) * 100);\n          try {\n            await writer.write(value);\n          } catch(writeError) {\n            console.error('Error while downloading:', writeError);\n\n            abortController.abort();\n\n            this.isDownloading = false;\n            this.isDownloaded = false;\n            this.tooltipMessage = 'Download cancelled!';\n            this.$toasted.error(\n                `Download cancelled`,\n                {\n                  icon: \"exclamation-triangle\",\n                  theme: \"outline\",\n                  position: \"bottom-right\",\n                  singleton: true,\n                  duration: 5000\n                }\n            );\n            break;\n          }\n        }\n\n        if(this.isDownloading) {\n          this.isDownloading = false;\n          this.isDownloaded = true;\n          this.downloadProgress = 100;\n          this.tooltipMessage = 'Download complete!';\n        }\n      } catch (error) {\n        console.error('Error while downloading:', error);\n\n        abortController.abort();\n\n        this.isDownloading = false;\n        this.tooltipMessage = 'Download failed!';\n        this.$toasted.error(\n\t\t\t\t\t`Error:  ${error.message}`,\n\t\t\t\t\t{\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-right\",\n\t\t\t\t\t\tsingleton: true,\n            duration: 5000\n\t\t\t\t\t}\n\t\t\t\t);\n      } finally {\n        if(writer) {\n          try {\n            await writer.close();\n          } catch (closeError) {\n            console.warn('Failed to close the stream, stream might be already errored or closed:', closeError);\n          }\n        }\n      }\n    },\n    disableRightClick(e) {\n      e.preventDefault();\n    },\n    randomNumber(min, max) {\n      return Math.floor(Math.random() * (max - min + 1) + min)\n    },\n    iframeLoadEvent(e) {\n      this.isPDFLoading = false;\n      console.log({ e });\n    }\n  },\n  computed: {\n    ...mapState(\"content\", [\"content\"]),\n    ...mapState(\"appState\", [\"isMobile\", \"systemParameters\"]),\n    visible() {\n      return this.showModal;\n    },\n    iframeLink() {\n\n      //debugger;\n\n\n      if (this.type == \"document\") {\n        return `https://view.officeapps.live.com/op/embed.aspx?src=${this.src}`;\n      }\n\n      if (this.type == \"pdf\" && !this.isDownloadAllowed && !this.pdfJsExpressApiKey) {\n        let src = `https://docs.google.com/viewer?embedded=true&url=${this.src}?randomizer=${this.randomNumber(1, 10000)}`;\n\n        return src;\n\n      } else if (this.type == \"pdf\" && this.isMobile && !this.AdobePDFReaderAPIKey) {\n        return `https://docs.google.com/viewer?embedded=true&url=${this.src}?randomizer=${this.randomNumber(1, 10000)}`;\n      }\n      return this.src;\n    },\n    pdfJsExpressApiKey() {\n      return this.systemParameters.PDFJSExpressAPIKey\n        ? this.systemParameters.PDFJSExpressAPIKey\n        : undefined;\n    },\n    AdobePDFReaderAPIKey() {\n      return this.systemParameters.AdobePDFReaderAPIKey\n        ? this.systemParameters.AdobePDFReaderAPIKey\n        : undefined;\n    },\n\n    PDFJSViewerUrl() {\n      const baseUrl = this.systemParameters && this.systemParameters.PDFJSVIEWERURL\n      if(!baseUrl) return null;\n      return `${baseUrl}?pdfUrl=${encodeURIComponent(this.src)}`;\n    },\n  },\n  mounted() {\n    $(\"#no-click\").on(\"load\", function () {\n      console.log(\"hideShare\", $(\"[data-tooltip='Pop-out']\"));\n    });\n    // console.log($(\"#view-study-material-modal\"));\n  },\n  // beforeDestroy() {\n  // \t$(\"body\").off(\"onmousedown\");\n  // },\n  watch: {\n    visible: function () {\n\n\n      if (this.visible) {\n        // $(document).ready(function () {\n        // \tsetTimeout(function () {\n        // \t\tvar object = $(\"#no-click\")[0];\n        // \t\tconsole.log(object);\n        // \t\tobject.addEventListener(\"click\", (e) => {\n        // \t\t\tconsole.log(\"mousedown\");\n        // \t\t\treturn false;\n        // \t\t});\n        // \t}, 300);\n        // });\n        if (!this.content[this.contentId] || this.content[this.contentId].externalService.serviceProvider.toLowerCase() == \"vss\" || !this.content[this.contentId].data) {\n          this.getContentById({ id: this.contentId }).then(() => {\n            //debugger;\n            console.log(\"content fetched\");\n            if (this.content[this.contentId].externalService.serviceProvider.toLowerCase() == \"vss\") {\n              this.src = this.content[this.contentId].data?.viewUrl;\n            } else {\n              if (this.content[this.contentId].data?.Type == \"link\") {\n                window.open(this.content[this.contentId].data?.Source, \"_blank\");\n                this.closeModal();\n              } else {\n                this.type = this.content[this.contentId].data?.Type;\n                this.src = this.content[this.contentId].data?.Source;\n                this.isDownloadAllowed = this.content[this.contentId].data?.AllowDownload?.toString().toLowerCase() == \"true\" ? true : false;\n              }\n            }\n          });\n        } else {\n\n          //debugger;\n          if (this.content[this.contentId].data?.Type == \"link\") {\n\n            // console.log(\"opening in new tab\");\n            window.open(this.content[this.contentId].data?.Source, \"_blank\");\n            this.closeModal();\n          } else {\n            this.type = this.content[this.contentId].data?.Type;\n            this.src = this.content[this.contentId].data?.Source;\n            this.isDownloadAllowed = this.content[this.contentId].data?.AllowDownload?.toString().toLowerCase() == \"true\" ? true : false;\n          }\n        }\n      }\n    },\n  },\n};\n</script>\n\n<style scoped>\n.row{\n  margin-right: 0px;\n  --bs-gutter-x: 0px;\n}\n</style>\n\n<style>\ndiv:has(> #view-study-material-modal) { \n  z-index: 9999999999999999 !important;\n}\n\n@media screen and (min-width: 996px) {\n  .view-study-material-modal {\n    height: fit-content !important;\n    width: 90vw !important;\n  }\n\n  #view-study-material-modal .modal-dialog {\n    max-width: 90vw !important;\n  }\n}\n\n@media screen and (min-width: 996px) {\n  .view-study-material-modal {\n    height: fit-content !important;\n    width: 95vw !important;\n  }\n\n  #view-study-material-modal .modal-dialog {\n    max-width: 90vw !important;\n  }\n}\n\n\n.view-study-material-modal {\n  height: 80vh !important;\n  margin: 10px;\n}\n\n\n.loader{\n  margin-top: 50px;\n}\n\n/* .view-study-material-modal {\n\theight: 90vh;\n\twidth: 90vw !important;\n}\n#view-study-material-modal .modal-dialog {\n\tmax-width: 90vw !important;\n} */\n\n.view-study-material-modal .modal-body {\n  display: flex;\n  flex-direction: row;\n  padding: 0 !important;\n  font-size: 1rem;\n  overflow: hidden;\n  height: inherit;\n}\n\n.view-study-material-modal .modal-body .body-container {\n  padding: 0;\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n  position: relative;\n  height: inherit;\n}\n\n.document-div {\n  overflow: scroll;\n  height: 100% !important;\n}\n\n.document-div::-webkit-scrollbar {\n  width: 1.5rem !important;\n  height: auto !important;\n}\n\n\n.document-div::-webkit-scrollbar-thumb {\n  border-radius: 0px !important;\n  background: rgb(0 0 0 / 35%) !important;\n}\n\n.document-div::-webkit-scrollbar-thumb:hover {\n  background: rgb(0 0 0 / 60%) !important;\n}\n\n.view-study-material-modal .modal-body .body-container .download-btn-div {\n  margin: 10px;\n}\n\n.view-study-material-modal .modal-body .body-container .close-button {\n  position: absolute;\n  right: 1rem;\n  top: 1rem;\n  z-index: 99;\n  background-color: #ffffff;\n  padding: 0.75rem;\n  border-radius: 50%;\n  border: 2px solid var(--primary-color);\n  box-shadow: 0 3px 6px #d5d5d529;\n}\n\n.close-button img {\n  width: 1.5rem;\n}\n\n.pdf-viewer {\n  height: fit-content;\n}\n\n.overlay {\n  position: absolute;\n  top: 0;\n\n  height: 5rem;\n  width: 100%;\n  background: rgba(0, 0, 0, 0.1);\n}\n\n@media print {\n  .document-div {\n    display: none !important;\n  }\n}\n\n/* #no-click {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tz-index: 1250;\n\tpointer-events: click;\n} */\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StudyMaterial.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StudyMaterial.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StudyMaterial.vue?vue&type=template&id=27995d12&scoped=true&\"\nimport script from \"./StudyMaterial.vue?vue&type=script&lang=js&\"\nexport * from \"./StudyMaterial.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StudyMaterial.vue?vue&type=style&index=0&id=27995d12&prod&scoped=true&lang=css&\"\nimport style1 from \"./StudyMaterial.vue?vue&type=style&index=1&id=27995d12&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"27995d12\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('main',[_c('div',[_c('div',{staticClass:\"container\"},[(!_vm.joinUrl)?_c('h5',{staticClass:\"text-danger\"},[_vm._v(\" Something went wrong, class details not available. Please go back to the courses dashboard and try joining the class again. \")]):_c('div',[(_vm.openMeetingInSDK)?_c('div',[(_vm.status == 'NOT_STARTED')?_c('button',{staticClass:\"btn btn-primary\",on:{\"click\":_vm.joinInSDK}},[_vm._v(\"Join Class\")]):(_vm.status == 'JOINING')?_c('button',{staticClass:\"btn btn-primary\",attrs:{\"disabled\":\"\"}},[_vm._v(\"Joining\")]):(_vm.status == 'JOINED')?_c('div',[_c('p',[_vm._v(\"Your class has been joined.\")]),_c('button',{staticClass:\"btn btn-link\",on:{\"click\":_vm.startZoomWebMeeting}},[_vm._v(\"Having trouble? Try in compatibility mode\")])]):(_vm.status == 'ERROR' && _vm.errorMsg)?_c('div',[_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errorMsg))]),_c('button',{staticClass:\"btn btn-link\",on:{\"click\":_vm.startZoomWebMeeting}},[_vm._v(\"Try joining in compatibility mode\")])]):(_vm.status == 'ERROR' && _vm.errorMsg)?_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errorMsg))]):_vm._e()]):_c('div',[_c('h5',[_vm._v(\" Your class will be joined on the Zoom application on your device. If you do not have Zoom already installed on your device, then install it first and then click on join button. \")]),(_vm.status == 'NOT_STARTED')?_c('button',{staticClass:\"btn btn-primary\",on:{\"click\":_vm.joinInZoomApp}},[_vm._v(\"Join Class\")]):(_vm.status == 'JOINING')?_c('button',{staticClass:\"btn btn-primary\",attrs:{\"disabled\":\"\"}},[_vm._v(\"Joining\")]):(_vm.status == 'JOINED')?_c('p',[_vm._v(\"Your class has been joined. If you are having any trouble, please refresh the page.\")]):(_vm.status == 'ERROR' && _vm.errorMsg)?_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errorMsg))]):_vm._e()])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <main>\n    <div>\n      <div class=\"container\">\n        <h5 class=\"text-danger\" v-if=\"!joinUrl\">\n          Something went wrong, class details not available. Please go back to the courses dashboard and try joining the class again.\n        </h5>\n        <div v-else>\n          <div v-if=\"openMeetingInSDK\">\n            <button class=\"btn btn-primary\" @click=\"joinInSDK\" v-if=\"status == 'NOT_STARTED'\">Join Class</button>\n            <button class=\"btn btn-primary\" v-else-if=\"status == 'JOINING'\" disabled>Joining</button>\n            <div v-else-if=\"status == 'JOINED'\">\n              <p>Your class has been joined.</p>\n              <button class=\"btn btn-link\" @click=\"startZoomWebMeeting\">Having trouble? Try in compatibility mode</button>\n            </div>\n            <div v-else-if=\"status == 'ERROR' && errorMsg\">\n              <p class=\"text-danger\">{{errorMsg}}</p>\n              <button class=\"btn btn-link\" @click=\"startZoomWebMeeting\">Try joining in compatibility mode</button>\n            </div>\n            <p class=\"text-danger\" v-else-if=\"status == 'ERROR' && errorMsg\">{{ errorMsg }}</p>\n          </div>\n          <div v-else>\n            <h5>\n              Your class will be joined on the Zoom application on your device. If you do not have Zoom already installed on your device, then install it first and then click on join button.\n            </h5>\n            <button class=\"btn btn-primary\" @click=\"joinInZoomApp\" v-if=\"status == 'NOT_STARTED'\">Join Class</button>\n            <button class=\"btn btn-primary\" v-else-if=\"status == 'JOINING'\" disabled>Joining</button>\n            <p v-else-if=\"status == 'JOINED'\">Your class has been joined. If you are having any trouble, please refresh the page.</p>\n            <p class=\"text-danger\" v-else-if=\"status == 'ERROR' && errorMsg\">{{ errorMsg }}</p>\n          </div>\n        </div>\n\n      </div>\n\n\n<!--      <div className=\"container\">-->\n<!--        <center v-if=\"!isReadyToLoad\"><h2 className=\"zoom-loading\">Please wait while zoom is being loaded</h2></center>-->\n<!--      </div>-->\n\n    </div>\n\n  </main>\n</template>\n\n<script>\nimport router from \"../../router\";\nimport {ZoomMtg} from '@zoom/meetingsdk'\nimport LiveClass from \"../../models/content/liveClass\";\nimport ProductVariant from \"../../models/productVariant\";\nimport {mapActions, mapState} from \"vuex\";\nimport {parseForURL} from \"../../helpers/FormatHelpers\";\nimport {setCookie, getCookie} from \"../../helpers/CookieHelpers\";\n\nexport default {\n  name: \"Zoom\",\n  props: {contentData: LiveClass, productVariantData: Object},\n  data() {\n    return {\n      // leaveUrl: \"\",\n      userEmail: null,\n      userName: null,\n      watermarkInterval: null,\n      status: 'NOT_STARTED',\n      errorMsg: undefined\n    };\n  },\n  created() {\n\n    this.currentUser = JSON.parse(localStorage.getItem(\"user\"));\n    this.userEmail = this.currentUser?.email ?? `demo_${Math.random().toString(36).substring(2, 15)}@mail.com`;\n    this.userName = this.currentUser?.firstName ?? \"Demo Student\";\n\n    if(this.joinUrl) {\n\n\n      if(!this.openMeetingInSDK && !this.isDesktopApp) {\n        this.loadZoomWebSDKDependencies();\n      }\n\n      /*if(this.openMeetingInSDK) {\n        this.joinInSDK();\n      } else {\n        this.joinInZoomApp();\n      }*/\n    }\n/*\n\n\n\n\n\n\n\n    this.initObj = {\n      meetingNumber: this.contentData.data.meetingId,\n      userName: `${this.userName} (${this.userEmail})`,\n      userEmail: this.userEmail,\n      signature: this.signature,\n      sdkKey: this.getSDKKey(),\n      passWord: this.contentData.data.password,\n      success: (success) => {\n\n        if (!this.isDesktopApp) this.addWatermark(`${this.currentUser.id}`);\n        this.isReadyToLoad = true;\n\n        if (this.currentUser) {\n          var attendanceObj = {\n            contentID: this.contentData.id,\n            userID: this.currentUser?.id,\n            status: \"Present\",\n            attendedFrom: \"Online\",\n            timeIn: new Date().toISOString(),\n            isMarkLate: false,\n            isLeftEarly: false,\n          };\n          this.markLiveClassAttendance([attendanceObj]).then((res) => {\n            if (res) {\n              console.log(res);\n            }\n          });\n        }\n\n        console.log(success);\n\n        if (!this.showParticipantsButton) this.hideParticipants()\n\n        //this.ZoomMtg.showInviteFunction({ show: false });\n        //this.ZoomMtg.showMeetingHeader({ show: false });\n\n      },\n      error: (error) => {\n        console.log(error);\n      },\n    };\n\n    if (!this.contentData.data.openInSDK) {\n      if (this.currentUser) {\n        var attendanceObj = {\n          contentID: this.contentData.id,\n          userID: this.currentUser?.id,\n          status: \"Present\",\n          attendedFrom: \"Online\",\n          timeIn: new Date().toISOString(),\n          isMarkLate: false,\n          isLeftEarly: false,\n        };\n        this.markLiveClassAttendance([attendanceObj])\n            .then((res) => {\n              if (res) {\n                console.log(res);\n                this.saveJoinUrl(this.currentUser);\n              }\n            })\n            .finally(() => {\n              window.location.href = this.contentData.data.joining_Url;\n            });\n        return;\n      }\n\n      window.location.href = this.contentData.data.joining_Url;\n    }\n\n    if (this.contentData.data.registrantAllow && this.contentData?.data?.joining_Url) {\n\n      const params = new URL(this.contentData?.data?.joining_Url).searchParams;\n      let tk = params.get(\"tk\");\n\n      if (tk) this.initObj.tk = tk;\n\n    }\n    if (this.contentData) this.startMeeting();*/\n  },\n  methods: {\n    ...mapActions(\"content\", [\"markLiveClassAttendance\"]),\n\n    getSDKKey() {\n      let sdkKey = '';\n      sdkKey = JSON.parse(\n          this.contentData.externalService.serviceData\n      ).SDKKey;\n\n      return sdkKey;\n    },\n\n    async markAttendance() {\n      if (this.currentUser) {\n        const attendanceObj = {\n          contentID: this.contentData.id,\n          userID: this.currentUser?.id,\n          status: \"Present\",\n          attendedFrom: \"Online\",\n          timeIn: new Date().toISOString(),\n          isMarkLate: false,\n          isLeftEarly: false,\n        };\n\n        const res = await this.markLiveClassAttendance([attendanceObj]);\n        console.log('attendance marked', res);\n      }\n    },\n\n    joinInZoomApp() {\n\n      this.status = 'JOINING';\n\n      this.markAttendance()\n          .then(() => console.log('attendance marked'))\n          .catch((err) => console.error('error while marking attendance', err))\n          .finally(() => {\n            window.location.href = this.joinUrl;\n            this.status = 'JOINED';\n          });\n    },\n\n    loadZoomWebSDKDependencies() {\n      this.loadZoomCSS('https://source.zoom.us/3.6.1/css/bootstrap.css');\n      ZoomMtg.preLoadWasm();\n      ZoomMtg.prepareWebSDK();\n\n      ZoomMtg.i18n.load(\"en-US\");\n      //ZoomMtg.i18n.reload(\"en-US\");\n    },\n\n    async joinInSDK() {\n      this.status = 'JOINING';\n      this.errorMsg = '';\n\n      if(!this.isDesktopApp) {\n        this.startZoomWebMeeting();\n      } else {\n        this.isZoomWindowsSDKAvailable().then(async (isSDKAvailable) => {\n          if(isSDKAvailable) {\n\n            let zoomWindowsSDKParams = {\n              token: this.signature,\n              meetingNumber: this.contentData.data.meetingId,\n              userName: `${this.userName}`,\n              userEmail: this.userEmail,\n              password: this.contentData.data.password,\n              watermark: this.userEmail,\n              showInviteUrl: this.showInviteUrl,\n              showMeetingInfo: this.showMeetingID && this.showMeetingPassword,\n              showParticipants: this.showParticipantsButton\n            };\n\n            if(this.isRegistrationRequired) {\n              zoomWindowsSDKParams.registrantToken = this.registrantToken\n            }\n\n            const isExecuted = await this.sendMessageAndGetResponse({\n              action: \"OpenZoomSDK\",\n              value: zoomWindowsSDKParams\n            }, window).then(function (response) {\n              console.log('windows sdk execution success', response);\n              return response.data;\n            }).catch(function (error) {\n              console.error('error executing windows sdk', error);\n              return false;\n            });\n\n            if (!isExecuted) {\n              // fallback to Zoom Web SDK when unable to start in Windows SDK\n              this.startZoomWebMeeting();\n            } else {\n              await this.markAttendance();\n              setTimeout(() => {\n                this.status = 'JOINED';\n              }, 7000);\n            }\n          } else {\n            // fallback to Zoom Web SDK when unable to start in Windows SDK\n            this.startZoomWebMeeting();\n          }\n        }).catch((err) => {\n          // fallback to Zoom Web SDK\n          console.error('Error in Zoom Windows SDK availability check', err);\n          this.startZoomWebMeeting();\n        })\n      }\n    },\n\n    async startMeeting() {\n      console.log(`Meeting STarted: Desktop: ${this.isDesktopApp}`)\n      if (this.isDesktopApp) {\n        var isZoomSDKAvailable = await this.sendMessageAndGetResponse({action: \"isZoomSDKAvailable\"}, window).then(function (response) {\n          return response.data;\n        }).catch(function (error) {\n          return false;\n        });\n        if (isZoomSDKAvailable) {\n\n          this.$bvModal\n              .msgBoxConfirm(\n                  `Click OK to start class automatically in best available quality. If you are facing issues, then press Cancel to manually join in compatibility mode.`,\n                  {\n                    title: \"\",\n                    size: \"md\",\n                    buttonSize: \"md\",\n                    okVariant: \"danger\",\n                    okTitle: \"Ok\",\n                    cancelTitle: \"Cancel\",\n                    footerClass: \"p-2\",\n                    hideHeaderClose: false,\n                    centered: true,\n                    bodyClass: \"confirm-modal-body\",\n                  }\n              )\n              .then(async (value) => {\n                if (value) {\n                  var isExecuted = await this.sendMessageAndGetResponse({\n                    action: \"OpenZoomSDK\",\n                    value: {\n                      token: this.desktopSDkToken,\n                      meetingNumber: this.contentData.data.meetingId,\n                      userName: `${this.userName}`,\n                      userEmail: this.userEmail,\n                      password: this.contentData.data.password,\n                      watermark: JSON.parse(localStorage.getItem(\"user\")).id\n                    }\n                  }, window).then(function (response) {\n                    return response.data;\n                  }).catch(function (error) {\n                    return false;\n                  });\n                  debugger;\n                  if (!isExecuted) {\n\n                    this.startZoomWebMeeting();\n                  }\n\n                } else {\n                  this.startZoomWebMeeting();\n                }\n              })\n              .catch((err) => {\n                console.error(err);\n                // An error occurred\n              });\n          return;\n        }\n      }\n\n\n      this.startZoomWebMeeting();\n\n\n    },\n\n    sendMessageAndGetResponse(message, targetWindow) {\n      return new Promise(function (resolve, reject) {\n        function handleMessage(event) {\n          if (event.source === targetWindow && event.data.responseTo && event.data.responseTo.action == message.action) {\n            window.removeEventListener('message', handleMessage);\n            resolve(event.data);\n          }\n        }\n\n        window.addEventListener('message', handleMessage);\n        targetWindow.postMessage(message, '*');\n        setTimeout(() => {\n          window.removeEventListener('message', handleMessage);\n          reject(new Error('Response timeout'));\n        }, 5000);\n      });\n    },\n\n    async isZoomWindowsSDKAvailable() {\n      return await this.sendMessageAndGetResponse({action: \"isZoomSDKAvailable\"}, window).then(function (response) {\n        return response.data;\n      }).catch(function (error) {\n        return false;\n      });\n    },\n\n    startZoomWebMeeting() {\n      console.log(ZoomMtg);\n      this.status = 'JOINING';\n      this.errorMsg = '';\n\n      console.log(\"Web meeting trying to initiate\")\n      //document.getElementById(\"zmmtg-root\").style.display = \"block\";\n\n\n      let meetingInfo = ['topic', 'host', 'dc', 'enctype'];\n\n      if (this.showMeetingID) meetingInfo.push('mn')\n      if (this.showMeetingPassword) meetingInfo.push('pwd')\n      if (this.showMeetingPassword) meetingInfo.push('telPwd')\n      if (this.showInviteUrl) meetingInfo.push('invite')\n      if (this.showParticipantsButton) meetingInfo.push('participant')\n\n      let meetingInitObj = {\n        meetingNumber: this.contentData.data.meetingId,\n        userName: `${this.userName}`,\n        userEmail: this.userEmail,\n        signature: this.signature,\n        sdkKey: this.getSDKKey(),\n        passWord: this.contentData.data.password,\n        success: (joinSuccess) => {\n          this.addWatermark(this.userEmail);\n          this.markAttendance()\n              .then(() => console.log('attendance marked'))\n              .catch((err) => console.error('error while marking attendance', err));\n\n          console.log(joinSuccess);\n\n          /*if (!this.showParticipantsButton) {\n            setInterval(this.hideParticipants, 12000);\n          }*/\n\n          if(this.isRegistrationRequired) {\n            this.saveRegistrantJoinUrlInCookie();\n          }\n\n          //this.ZoomMtg.showInviteFunction({ show: false });\n          //this.ZoomMtg.showMeetingHeader({ show: false });\n\n          this.status = 'JOINED';\n\n        },\n        error: (error) => {\n          console.error(error);\n          this.status = 'ERROR';\n          this.errorMsg = 'Some error occurred while joining class. [Code: JOIN_ERR]';\n        },\n      };\n\n      ZoomMtg.init({\n        leaveUrl: this.leaveUrl,\n        showMeetingHeader: false,\n        disableInvite: !this.showInviteUrl,\n        disablePreview: false,\n        isSupportChat: true,\n        isSupportAV: true,\n        disableCallOut: true,\n        isShowJoiningErrorDialog: true,\n        disablePictureInPicture: true,\n        isSupportCC: true,\n        meetingInfo: meetingInfo,\n        success: (success) => {\n          console.log('zoom web sdk initialized success', success);\n\n          if (this.isRegistrationRequired) {\n            console.log('registrant Token', this.registrantToken);\n            meetingInitObj.tk = this.registrantToken;\n          }\n\n          document.getElementById('zmmtg-root').style.display = 'block';\n\n          ZoomMtg.join(meetingInitObj);\n        },\n        error: (error) => {\n          console.error(error);\n          this.status = 'ERROR';\n          this.errorMsg = 'Some error occurred while joining class. [Code: SDK_INIT_ERR]';\n        },\n      });\n\n      console.log(\"function ended \")\n    },\n\n    calculatedDuration() {\n      var startTime = new Date(this.contentData.availableFrom).getTime();\n      var endTime = new Date(this.contentData.availableTo).getTime();\n      var diff = endTime - startTime;\n      return diff / (1000 * 60);\n    },\n\n    saveRegistrantJoinUrlInCookie() {\n      /*\n        saving the current registrant join Url for current meeting\n        to avoid empty join url issue when Zoom API to add registrant\n        has been attempted more than 3 times\n      */\n\n      if (this.contentData.data.joining_Url) {\n        const linkExpiryTime = new Date(this.contentData.availableTo).setTime(\n            new Date(this.contentData.availableTo).getTime() + 60 * 60 * 1000\n        );\n        setCookie(\n            `${this.contentData.id}_${this.currentUser?.id}`,\n            this.contentData.data.joining_Url,\n            new Date(linkExpiryTime).toUTCString()\n        );\n        console.log(\n            `${this.contentData.id}_${this.currentUser?.id}`,\n            linkExpiryTime\n        );\n      }\n    },\n\n    getRegistrantJoinUrlFromCookie() {\n\n      if(this.currentUser) {\n        return getCookie(`${this.contentData.id}_${this.currentUser?.id}`);\n      }\n\n      return;\n    },\n\n    loadZoomCSS(url) {\n      // It is done so it could load only when loaded\n      var link = document.createElement('link');\n      link.rel = 'stylesheet';\n      link.href = url;\n      document.head.appendChild(link);\n    },\n\n    hideParticipants() {\n      console.log('hideParticipants called');\n      let elemsToHide = [];\n      elemsToHide.push(...document.querySelectorAll('div[feature-type^=\"participants\"] button'));\n      elemsToHide.push(...document.querySelectorAll('.participants-section-container'));\n      elemsToHide.push(...document.querySelectorAll('.participants-li'));\n      elemsToHide.push(...document.querySelectorAll('.full-screen-icon a[aria-label*=\"Gallery View\"]'));\n      elemsToHide.push(...document.querySelectorAll('.more-button a[aria-label*=\"participant\"]'));\n      elemsToHide.push(...document.querySelectorAll('.mobile-gallery-video-container__video-frame'));\n\n      elemsToHide.forEach(elem => {\n        elem.style.display = 'none';\n      });\n\n    },\n\n    addWatermark(watermarkText) {\n      let watermark = document.getElementById('watermark');\n\n      if(!watermark) {\n        watermark = document.createElement('div');\n        watermark.id = 'watermark';\n        watermark.style.position = 'fixed';\n        watermark.style.opacity = '0.5';\n        watermark.style.pointerEvents = 'none';\n        watermark.style.zIndex = '999999999999';\n        watermark.style.fontSize = '20px';\n        watermark.style.color = 'red';\n        watermark.textContent = watermarkText;\n        document.body.appendChild(watermark);\n      }\n\n      this.moveWatermark(watermark);\n\n      if(!this.watermarkInterval) {\n        this.watermarkInterval = setInterval(() => {\n          this.moveWatermark(watermark);\n        }, 4000);\n      }\n\n    },\n\n    moveWatermark(watermark) {\n      const x = Math.random() * (window.innerWidth - watermark.offsetWidth);\n      const y = Math.random() * (window.innerHeight - watermark.offsetHeight);\n      watermark.style.left = `${x}px`;\n      watermark.style.top = `${y}px`;\n    },\n\n    removeWatermark() {\n      const watermark = document.getElementById('watermark');\n      if (watermark) {\n        document.body.removeChild(watermark);\n      }\n      if (this.watermarkInterval) {\n        clearInterval(this.watermarkInterval);\n      }\n    }\n\n  },\n  computed: {\n    leaveUrl() {\n      console.log(\"leave function\");\n      if (this.productVariantData) {\n\n        if (this.isEbookTheme) {\n          return `/product/dashboard/chapters/${this.productVariantData && this.productVariantData.id}`\n        }\n\n        return `/product/content/${parseForURL(\n            this.productVariantData && this.productVariantData.product ? this.productVariantData.product.friendlyTitle : ''\n        )}-${this.productVariantData.id}`;\n      } else {\n        return `/user/dashboard/`;\n      }\n    },\n\n    isEbookTheme() {\n\n      if (this.productVariantData && this.productVariantData.properties && this.productVariantData.properties.contentViewTheme) {\n        const contentViewTheme = this.productVariantData.properties.contentViewTheme;\n        return contentViewTheme && contentViewTheme.toLowerCase() === \"ebook\";\n      }\n\n      return false;\n    },\n\n    isDesktopApp() {\n\n      // const browser = bowser.getParser(window.navigator.userAgent);\n      // if (browser &&\n      //     browser.parsedResult &&\n      //     browser.parsedResult.browser &&\n      //     browser.parsedResult.browser.name && browser.parsedResult.browser.name.toLowerCase() == \"electron\") {\n      //   this.isDesktopApp = true;\n      // }\n      //\n      // if (this.isDesktopApp && this.contentData.data && this.contentData.data.token) {\n      //   this.desktopSDkToken = this.contentData.data.token;\n      // }\n\n      console.log(window.navigator?.userAgent);\n\n      return window.navigator?.userAgent?.toLowerCase().indexOf('electron') > -1;\n    },\n\n    signature() {\n      return this.contentData?.data?.token;\n    },\n\n    joinUrl() {\n      if(!this.contentData || !this.contentData.data)\n        return;\n\n      const url = this.contentData?.data?.joining_Url;\n\n      if(url && url != '')\n        return url;\n\n      // if url not found, check if the meeting has registration required and get the previously saved url for the current registrant\n      if(this.isRegistrationRequired) {\n        const registrantUrl = this.getRegistrantJoinUrlFromCookie();\n\n        if(registrantUrl && registrantUrl != '')\n          return registrantUrl;\n\n      }\n\n      return;\n    },\n\n    isRegistrationRequired() {\n      return this.contentData.data.registrantAllow ?? false;\n    },\n\n    openMeetingInSDK() {\n      return this.contentData.data.openInSDK ?? true;\n    },\n\n    showInviteUrl() {\n      return this.contentData?.extraProperties?.ShowInviteUrl?.toString()?.toLowerCase() === 'true' ||\n          this.contentData?.extraProperties?.showInviteUrl?.toString()?.toLowerCase() === 'true';\n\n    },\n\n    showMeetingID() {\n      return this.contentData?.extraProperties?.ShowMeetingID?.toString()?.toLowerCase() === 'true' ||\n          this.contentData?.extraProperties?.showMeetingID?.toString()?.toLowerCase() === 'true';\n    },\n\n    showMeetingPassword() {\n      return this.contentData?.extraProperties?.ShowMeetingPassword?.toString()?.toLowerCase() === 'true' ||\n          this.contentData?.extraProperties?.showMeetingPassword?.toString()?.toLowerCase() === 'true';\n    },\n\n    showParticipantsButton() {\n      return this.contentData?.extraProperties?.ShowParticipantsButton?.toString()?.toLowerCase() === 'true' ||\n          this.contentData?.extraProperties?.showParticipantsButton?.toString()?.toLowerCase() === 'true';\n    },\n\n    registrantToken() {\n      if (!this.isRegistrationRequired)\n        return;\n\n      const params = new URL(this.joinUrl).searchParams;\n      const tk = params.get(\"tk\");\n\n      return tk;\n    }\n  },\n\n  mounted() {\n  },\n\n  beforeDestroy() {\n    this.removeWatermark();\n\n    ZoomMtg.leaveMeeting({\n      success: () => {\n        console.log(\"leaveMeeting\");\n      },\n      error: (e) => {\n        console.error(\"error leaving meeting\", e);\n        document.getElementById(\"zmmtg-root\").style.display = \"none\";\n      },\n    });\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped>\n.container {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  height: 80vh;\n}\n\n.zoom-loading {\n  font-size: 24px;\n  font-weight: bold;\n  color: #333;\n}\n\nmain {\n  width: 80%;\n  margin: auto;\n  text-align: center;\n}\n\n\nmain button {\n  margin-top: 20px;\n  background-color: #2d8cff;\n  color: #ffffff;\n  text-decoration: none;\n  padding-top: 10px;\n  padding-bottom: 10px;\n  padding-left: 40px;\n  padding-right: 40px;\n  display: inline-block;\n  border-radius: 10px;\n  cursor: pointer;\n  border: none;\n  outline: none;\n}\n\nmain button:hover {\n  background-color: #2681f2;\n}\n</style>\n\n<style>\ndiv[id=\"zmmtg-root\"] {\n  z-index: 999999999998 !important;\n}\n\ndiv.ReactModal__Overlay {\n  z-index: 9999999999 !important;\n}\n\n/* div[feature-type^=\"participants\"] button {\n\tdisplay: none;\n} */\n\nhtml:not([dir=rtl]) .chat-container .wrapper {\n  padding-left: 0 !important;\n  padding-right: 0 !important;\n}\n\ndiv[feature-type^=\"participants\"] button,\n.participants-section-container,\n.participants-li,\n.full-screen-icon a[aria-label*=\"Gallery View\"],\n.more-button a[aria-label*=\"participant\"],\n.mobile-gallery-video-container__video-frame {\n  display: none !important;\n}\n</style>","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Zoom.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Zoom.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Zoom.vue?vue&type=template&id=6fa43df8&scoped=true&\"\nimport script from \"./Zoom.vue?vue&type=script&lang=js&\"\nexport * from \"./Zoom.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Zoom.vue?vue&type=style&index=0&id=6fa43df8&prod&scoped=true&lang=css&\"\nimport style1 from \"./Zoom.vue?vue&type=style&index=1&id=6fa43df8&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6fa43df8\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dashboard-updates-container\"},[(_vm.loading)?_c('div',{staticClass:\"updates-card\"},[_c('b-skeleton',{attrs:{\"height\":\"25rem\",\"width\":\"100%\"}})],1):(_vm.filteredUpcomingContent().length > 0 || !_vm.isMobile)?_c('div',{staticClass:\"updates-card\"},[_c('ul',{staticClass:\"inline-list updates-tabs\"},[_c('li',{class:[{ active: _vm.activeTab == 'reminder' }],attrs:{\"id\":\"reminder\"},on:{\"click\":_vm.changeTab}},[_c('i',{staticClass:\"far fa-clock tab-icon\"}),_vm._v(\" Reminders \"),_c('span',{staticClass:\"notification-badge\"},[_vm._v(_vm._s(_vm.totalReminderSlides))])])]),(_vm.activeTab == 'announcement')?_c('div',{staticClass:\"announcements-content\"},[_c('div',{staticClass:\"accordion accordion-flush\",attrs:{\"id\":\"announcementAccordian\"}},_vm._l((1),function(item){return _c('div',{key:item,staticClass:\"accordion-item\"},[_c('h2',{staticClass:\"accordion-header\",attrs:{\"id\":(\"accordian-\" + item)}},[_c('button',{class:[\n\t\t\t\t\t\t\t\t'accordion-button',\n\t\t\t\t\t\t\t\t{ collapsed: _vm.activeAnnouncementAccordian != item } ],attrs:{\"type\":\"button\",\"data-bs-toggle\":\"collapse\",\"data-bs-target\":(\"#accordian-collapse-\" + item),\"aria-expanded\":_vm.activeAnnouncementAccordian == item}},[_vm._v(\" Today \")])]),_c('div',{class:[\n\t\t\t\t\t\t\t'accordion-collapse',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcollapse: _vm.activeAnnouncementAccordian != item,\n\t\t\t\t\t\t\t\tshow: _vm.activeAnnouncementAccordian == item,\n\t\t\t\t\t\t\t} ],attrs:{\"id\":(\"accordian-collapse-\" + item),\"data-bs-parent\":\"#announcementAccordian\"}},[_c('div',{staticClass:\"accordion-body\"},[_c('div',{staticClass:\"announcements-list\"},_vm._l((5),function(item){return _c('div',{key:item,staticClass:\"announcement-item\"},[_c('h4',{staticClass:\"announcement-title\"},[_vm._v(\" This course class teacher will be continue from Another teacher from next class \")]),_c('p',{staticClass:\"announcement-text\"},[_vm._v(\" Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore \")]),_c('a',{staticClass:\"announcement-read-more\",attrs:{\"role\":\"button\"}},[_vm._v(\"Read more\")])])}),0)])])])}),0)]):_vm._e(),(_vm.activeTab == 'reminder')?_c('div',{class:['reminders-content', { mobile: _vm.isMobile }]},[(!_vm.isMobile)?_c('div',{staticClass:\"accordion accordion-flush\",attrs:{\"id\":\"reminderAccordian\"}},_vm._l((Object.values(_vm.UpcomingContentType)),function(contentType){return _c('div',{key:contentType,staticClass:\"accordion-item\"},[_c('h2',{staticClass:\"accordion-header\",attrs:{\"id\":(\"accordian-\" + contentType)}},[_c('button',{class:[\n\t\t\t\t\t\t\t\t'accordion-button',\n\t\t\t\t\t\t\t\t{ collapsed: _vm.activeAnnouncementAccordian != contentType } ],attrs:{\"type\":\"button\",\"data-bs-toggle\":\"collapse\",\"data-bs-target\":(\"#accordian-collapse-\" + contentType),\"aria-expanded\":_vm.activeAnnouncementAccordian == contentType}},[_vm._v(\" \"+_vm._s(contentType)+\" Events \")])]),_c('div',{class:['accordion-collapse'],attrs:{\"id\":(\"accordian-collapse-\" + contentType),\"data-bs-parent\":\"#reminderAccordian\"}},[_c('div',{staticClass:\"accordion-body\"},[(\n\t\t\t\t\t\t\t\t\t_vm.filteredUpcomingContent(contentType).length > 0 && !_vm.loading\n\t\t\t\t\t\t\t\t)?_c('div',{staticClass:\"reminders-list\"},_vm._l((_vm.filteredUpcomingContent(contentType)),function(item){return _c('ReminderListItem',{key:item.id,attrs:{\"reminderItem\":item}})}),1):_c('div',{staticClass:\"no-content\"},[_vm._v(\" No \"+_vm._s(contentType.toLowerCase())+\" events \")])])])])}),0):_c('div',[_c('VueSlickCarousel',_vm._b({ref:\"reminder_carousel\",on:{\"afterChange\":_vm.updateSlide},scopedSlots:_vm._u([{key:\"prevArrow\",fn:function(arrowOption){return [_c('div',{staticClass:\"custom-arrow\"},[_vm._v(\" \"+_vm._s(arrowOption.currentSlide)+\"/\"+_vm._s(arrowOption.slideCount)+\" \")])]}}],null,false,2816469163)},'VueSlickCarousel',_vm.settings,false),[_vm._l((_vm.filteredUpcomingContent(\n\t\t\t\t\t\t\t_vm.UpcomingContentType.CURRENT\n\t\t\t\t\t\t)),function(item){return _c('ReminderListItem',{key:item.id,attrs:{\"reminderItem\":item}})}),_vm._l((_vm.filteredUpcomingContent(\n\t\t\t\t\t\t\t_vm.UpcomingContentType.UPCOMING\n\t\t\t\t\t\t)),function(item){return _c('ReminderListItem',{key:item.id,attrs:{\"reminderItem\":item}})}),_vm._l((_vm.filteredUpcomingContent(_vm.UpcomingContentType.PAST)),function(item){return _c('ReminderListItem',{key:item.id,attrs:{\"reminderItem\":item}})})],2),_c('div',{staticClass:\"carousel-controls\"},[_c('span',{staticClass:\"carousel-slide-count\"},[_vm._v(\" \"+_vm._s(_vm.currentReminderSlide)+\" of \"+_vm._s(_vm.totalReminderSlides)+\" \")]),(_vm.totalReminderSlides > 1)?_c('div',{staticClass:\"carousel-arrows\"},[_c('a',{staticClass:\"carousel-arrow-mobile\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prevSlide}},[_c('i',{staticClass:\"fas fa-caret-left\"})]),_c('a',{staticClass:\"carousel-arrow-mobile\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.nextSlide}},[_c('i',{staticClass:\"fas fa-caret-right\"})])]):_vm._e()])],1)]):_vm._e()]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"dashboard-updates-container\">\n\t\t<div\n\t\t\tclass=\"updates-card\"\n\t\t\tv-if=\"loading\"\n\t\t>\t\n\t\t\t<b-skeleton height=\"25rem\" width=\"100%\"></b-skeleton>\n\t\t</div>\n\t\t<div v-else-if=\"filteredUpcomingContent().length > 0 || !isMobile\" class=\"updates-card\">\n\t\t\t<ul class=\"inline-list updates-tabs\">\n\t\t\t\t<li\n\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\tid=\"reminder\"\n\t\t\t\t\t:class=\"[{ active: activeTab == 'reminder' }]\"\n\t\t\t\t>\n\t\t\t\t\t<i class=\"far fa-clock tab-icon\"></i> Reminders\n\t\t\t\t\t<span class=\"notification-badge\">{{ totalReminderSlides }}</span>\n\t\t\t\t</li>\n\t\t\t\t<!-- <li\n\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\tid=\"announcement\"\n\t\t\t\t\t:class=\"[{ active: activeTab == 'announcement' }]\"\n\t\t\t\t>\n\t\t\t\t\t<i class=\"fas fa-bullhorn tab-icon\"></i> Announcements\n\t\t\t\t\t<span class=\"notification-badge\">3</span>\n\t\t\t\t</li> -->\n\t\t\t</ul>\n\t\t\t<div v-if=\"activeTab == 'announcement'\" class=\"announcements-content\">\n\t\t\t\t<div class=\"accordion accordion-flush\" id=\"announcementAccordian\">\n\t\t\t\t\t<div v-for=\"item in 1\" :key=\"item\" class=\"accordion-item\">\n\t\t\t\t\t\t<h2 class=\"accordion-header\" :id=\"`accordian-${item}`\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t\t'accordion-button',\n\t\t\t\t\t\t\t\t\t{ collapsed: activeAnnouncementAccordian != item },\n\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tdata-bs-toggle=\"collapse\"\n\t\t\t\t\t\t\t\t:data-bs-target=\"`#accordian-collapse-${item}`\"\n\t\t\t\t\t\t\t\t:aria-expanded=\"activeAnnouncementAccordian == item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tToday\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t:id=\"`accordian-collapse-${item}`\"\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'accordion-collapse',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcollapse: activeAnnouncementAccordian != item,\n\t\t\t\t\t\t\t\t\tshow: activeAnnouncementAccordian == item,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\tdata-bs-parent=\"#announcementAccordian\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div class=\"accordion-body\">\n\t\t\t\t\t\t\t\t<div class=\"announcements-list\">\n\t\t\t\t\t\t\t\t\t<div class=\"announcement-item\" v-for=\"item in 5\" :key=\"item\">\n\t\t\t\t\t\t\t\t\t\t<h4 class=\"announcement-title\">\n\t\t\t\t\t\t\t\t\t\t\tThis course class teacher will be continue from Another\n\t\t\t\t\t\t\t\t\t\t\tteacher from next class\n\t\t\t\t\t\t\t\t\t\t</h4>\n\t\t\t\t\t\t\t\t\t\t<p class=\"announcement-text\">\n\t\t\t\t\t\t\t\t\t\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit,\n\t\t\t\t\t\t\t\t\t\t\tsed do eiusmod tempor incididunt ut labore\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t<a role=\"button\" class=\"announcement-read-more\"\n\t\t\t\t\t\t\t\t\t\t\t>Read more</a\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tv-if=\"activeTab == 'reminder'\"\n\t\t\t\t:class=\"['reminders-content', { mobile: isMobile }]\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"!isMobile\"\n\t\t\t\t\tclass=\"accordion accordion-flush\"\n\t\t\t\t\tid=\"reminderAccordian\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-for=\"contentType in Object.values(UpcomingContentType)\"\n\t\t\t\t\t\t:key=\"contentType\"\n\t\t\t\t\t\tclass=\"accordion-item\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<h2 class=\"accordion-header\" :id=\"`accordian-${contentType}`\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t\t'accordion-button',\n\t\t\t\t\t\t\t\t\t{ collapsed: activeAnnouncementAccordian != contentType },\n\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tdata-bs-toggle=\"collapse\"\n\t\t\t\t\t\t\t\t:data-bs-target=\"`#accordian-collapse-${contentType}`\"\n\t\t\t\t\t\t\t\t:aria-expanded=\"activeAnnouncementAccordian == contentType\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{ contentType }} Events\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t:id=\"`accordian-collapse-${contentType}`\"\n\t\t\t\t\t\t\t:class=\"['accordion-collapse']\"\n\t\t\t\t\t\t\tdata-bs-parent=\"#reminderAccordian\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div class=\"accordion-body\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\t\t\t\tfilteredUpcomingContent(contentType).length > 0 && !loading\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\tclass=\"reminders-list\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ReminderListItem\n\t\t\t\t\t\t\t\t\t\tv-for=\"item in filteredUpcomingContent(contentType)\"\n\t\t\t\t\t\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t\t\t\t\t\t:reminderItem=\"item\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"no-content\" v-else>\n\t\t\t\t\t\t\t\t\tNo {{ contentType.toLowerCase() }} events\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-else>\n\t\t\t\t\t<VueSlickCarousel\n\t\t\t\t\t\tref=\"reminder_carousel\"\n\t\t\t\t\t\tv-bind=\"settings\"\n\t\t\t\t\t\t@afterChange=\"updateSlide\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ReminderListItem\n\t\t\t\t\t\t\tv-for=\"item in filteredUpcomingContent(\n\t\t\t\t\t\t\t\tUpcomingContentType.CURRENT\n\t\t\t\t\t\t\t)\"\n\t\t\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t\t\t:reminderItem=\"item\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ReminderListItem\n\t\t\t\t\t\t\tv-for=\"item in filteredUpcomingContent(\n\t\t\t\t\t\t\t\tUpcomingContentType.UPCOMING\n\t\t\t\t\t\t\t)\"\n\t\t\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t\t\t:reminderItem=\"item\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ReminderListItem\n\t\t\t\t\t\t\tv-for=\"item in filteredUpcomingContent(UpcomingContentType.PAST)\"\n\t\t\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t\t\t:reminderItem=\"item\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<template #prevArrow=\"arrowOption\">\n\t\t\t\t\t\t\t<div class=\"custom-arrow\">\n\t\t\t\t\t\t\t\t{{ arrowOption.currentSlide }}/{{ arrowOption.slideCount }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</VueSlickCarousel>\n\t\t\t\t\t<div class=\"carousel-controls\">\n\t\t\t\t\t\t<span class=\"carousel-slide-count\">\n\t\t\t\t\t\t\t{{ currentReminderSlide }} of {{ totalReminderSlides }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div v-if=\"totalReminderSlides > 1\" class=\"carousel-arrows\">\n\t\t\t\t\t\t\t<a class=\"carousel-arrow-mobile\" role=\"button\" @click=\"prevSlide\"\n\t\t\t\t\t\t\t\t><i class=\"fas fa-caret-left\"></i\n\t\t\t\t\t\t\t></a>\n\t\t\t\t\t\t\t<a class=\"carousel-arrow-mobile\" role=\"button\" @click=\"nextSlide\"\n\t\t\t\t\t\t\t\t><i class=\"fas fa-caret-right\"></i\n\t\t\t\t\t\t\t></a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport ReminderListItem from \"./ReminderListItem.vue\";\nimport { mapActions, mapState } from \"vuex\";\nimport { UPDATES_CAROUSEL_SETTINGS } from \"../../constants/productCarouselSettings\";\nimport VueSlickCarousel from \"vue-slick-carousel\";\nimport { getInputDateFormat } from \"../../helpers/FormatHelpers\";\nimport { UpcomingContentType } from \"../../constants/content\";\n\nexport default {\n\tname: \"DashboardUpdatesCard\",\n\tdata() {\n\t\treturn {\n\t\t\tactiveAnnouncementAccordian: UpcomingContentType.CURRENT,\n\t\t\tactiveTab: \"reminder\",\n\t\t\tsettings: UPDATES_CAROUSEL_SETTINGS,\n\t\t\tcurrentReminderSlide: 1,\n\t\t\tcurrentAnnouncementSlide: 1,\n\t\t\ttotalReminderSlides: 0,\n\t\t\tloading: false,\n\t\t\tUpcomingContentType,\n\t\t};\n\t},\n\tcomponents: { ReminderListItem, VueSlickCarousel },\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getUpcomingContent\"]),\n\t\thasContentStarted(reminderItem) {\n\t\t\treturn (\n\t\t\t\tnew Date(\n\t\t\t\t\tnew Date(reminderItem.availableFrom).getTime() - 5 * 60 * 1000\n\t\t\t\t) < new Date()\n\t\t\t);\n\t\t\t// return new Date(reminderItem.availableFrom) < new Date();\n\t\t},\n\t\t// check if meeting has ended and 15 minutes have passed\n\t\thasContentEnded(reminderItem) {\n\t\t\treturn (\n\t\t\t\tnew Date() >\n\t\t\t\tnew Date(\n\t\t\t\t\tnew Date(reminderItem.availableTo).setTime(\n\t\t\t\t\t\tnew Date(reminderItem.availableTo).getTime() + 900000\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\tchangeTab(e) {\n\t\t\tthis.activeTab = e.target.id;\n\t\t},\n\t\tnextSlide() {\n\t\t\tthis.$refs.reminder_carousel.next();\n\t\t\tif (this.currentReminderSlide < this.totalReminderSlides)\n\t\t\t\tthis.currentReminderSlide += 1;\n\t\t},\n\t\tprevSlide() {\n\t\t\tthis.$refs.reminder_carousel.prev();\n\t\t\tif (this.currentReminderSlide > 1) this.currentReminderSlide -= 1;\n\t\t},\n\t\tupdateSlide(currSlide) {\n\t\t\tthis.currentReminderSlide = currSlide + 1;\n\t\t},\n\t\tfilteredUpcomingContent(type = null, order = \"asc\") {\n\t\t\tif (type) {\n\t\t\t\treturn this.upcomingContent.filter((content) => {\n\t\t\t\t\tswitch (type) {\n\t\t\t\t\t\tcase UpcomingContentType.CURRENT:\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tthis.hasContentStarted(content) &&\n\t\t\t\t\t\t\t\t!this.hasContentEnded(content)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn content;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase UpcomingContentType.UPCOMING:\n\t\t\t\t\t\t\tif (!this.hasContentStarted(content)) {\n\t\t\t\t\t\t\t\treturn content;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase UpcomingContentType.PAST:\n\t\t\t\t\t\t\tif (this.hasContentEnded(content)) {\n\t\t\t\t\t\t\t\treturn content;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn this.upcomingContent;\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.loading = true;\n\t\tvar currentDate = new Date();\n\t\tvar tomorrowDate = new Date(currentDate).setDate(currentDate.getDate() + 1);\n\t\ttomorrowDate = new Date(tomorrowDate).toISOString();\n\t\tthis.getUpcomingContent({\n\t\t\tstartDate: new Date(currentDate.setHours(0, 0, 0, 0)).toISOString(),\n\t\t\tendDate: tomorrowDate,\n\t\t}).then(() => {\n\t\t\tthis.loading = false;\n\t\t\tthis.totalReminderSlides = this.filteredUpcomingContent().length;\n\t\t\tthis.$emit(\"updatesCardVisibility\", this.upcomingContent.length > 0);\n\t\t});\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"upcomingContent\"]),\n\t\t...mapState(\"appState\", [\"isMobile\"]),\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (min-width: 1440px) {\n\t.dashboard-updates-container {\n\t\twidth: 100% !important;\n\t}\n}\n\n@media screen and (max-width: 996px) {\n\t.updates-card {\n\t\tbox-shadow: 0 3px 6px #d5d5d529 !important;\n\t}\n\n\t.reminders-content {\n\t\tmax-height: unset !important;\n\t\tpadding: 1rem !important;\n\t\tmargin: 0 !important;\n\t\tpadding-bottom: 0.5rem !important;\n\t}\n\n\t.dashboard-updates-container {\n\t\tpadding: 0 !important;\n\t\twidth: 100% !important;\n\t}\n}\n\n.reminders-content.mobile {\n\toverflow: hidden;\n}\n\n.dashboard-updates-container {\n\tdisplay: flex;\n\tpadding: 0 0 0 0.5rem;\n\tflex-shrink: 0;\n\twidth: 100%;\n}\n\n.updates-card {\n\twidth: 100%;\n\tborder: 1px solid #959595;\n\tborder-radius: 8px;\n\t/* padding: 1.5rem 1.5rem 0; */\n\t/* margin-top: -3.5rem; */\n\tz-index: 998;\n\tbackground-color: var(--color-white);\n\tbox-shadow: 0 -6px 8px #e0e0e029;\n\theight: fit-content;\n}\n\n.updates-tabs {\n\tborder-radius: 8px 8px 0 0;\n\tbackground-color: #f8f8f8;\n}\n\n.updates-tabs li {\n\twidth: 50%;\n\tfont-weight: 500;\n\tpadding: 1rem;\n}\n\n.updates-tabs li:first-child {\n\tborder-radius: 8px 0 0 0 !important;\n}\n\n.updates-tabs li.active {\n\tborder-radius: 0 8px 0 0;\n\tbackground-color: #ffffff;\n}\n\n.announcements-content {\n\tpadding: 1rem 1.5rem 0;\n\tmax-height: 50vh;\n\toverflow-y: auto;\n\tmargin: 0.5rem 0;\n}\n\n.reminders-content {\n\tpadding: 1rem 1.5rem 0;\n\tmax-height: 60vh;\n\toverflow-y: auto;\n\tmargin: 0.5rem 0;\n}\n\n.tab-icon {\n\tfont-size: 1.1rem;\n\tmargin-right: 0.5rem;\n\tpointer-events: none;\n}\n\n.accordion-button {\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.75rem;\n\tpadding: 0.5rem 0;\n}\n\n.accordion-button:not(.collapsed) {\n\tcolor: #8b8b8b !important;\n\tbackground-color: transparent !important;\n\tbox-shadow: none !important;\n}\n\n.accordion-button:not(.collapsed)::after {\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%707070'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\") !important;\n}\n.accordion-body {\n\tpadding: 1rem 0;\n}\n\n.announcement-item {\n\tborder: 1px solid #e5e5e5;\n\tborder-radius: 8px;\n\tbackground-color: #fafafa;\n\tbox-shadow: 0 6px 8px #e0e0e029;\n\tpadding: 1.25rem;\n\tmargin-bottom: 1.5rem;\n}\n\n.announcement-item:last-child {\n\tmargin-bottom: 0;\n}\n\n.announcement-title {\n\tfont-size: 1.125rem;\n\tcolor: #000;\n\tfont-weight: 500;\n\twidth: 100%;\n}\n\n.announcement-text {\n\tfont-size: 1rem;\n\tcolor: #4a4a4a;\n\tline-height: 1.5rem;\n\tfont-weight: normal;\n\tmargin-bottom: 0.5rem;\n}\n\n.announcement-read-more {\n\tfont-size: 0.875rem;\n\tfont-weight: 450;\n\tcolor: #ff0000;\n\ttext-decoration: none;\n}\n\n::-webkit-scrollbar {\n\twidth: 6px;\n\theight: 4px;\n}\n\n::-webkit-scrollbar-track {\n\tbackground: #ebebeb;\n}\n\n::-webkit-scrollbar-thumb {\n\tbackground: #000000;\n\tborder-radius: 1rem;\n}\n\n.notification-badge {\n\tposition: relative;\n\ttop: -0.75rem;\n\tright: 0.3rem;\n\tfont-size: 0.7rem;\n\tline-height: 1;\n\tbackground-color: var(--color-red);\n\tdisplay: inline-block;\n\t/* padding: 0.2rem 0.3rem; */\n\twidth: 1rem;\n\theight: 1rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder-radius: 5rem;\n\tfont-weight: 500;\n\tcolor: #ffffff;\n}\n\n.accordion-button:focus {\n\tbox-shadow: none !important;\n}\n\n.carousel-arrows {\n\tdisplay: flex;\n}\n\n.carousel-arrow-mobile {\n\tmargin: 0.5rem;\n\tfont-size: 1.25rem;\n\tborder: 1px solid var(--primary-color);\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tline-height: 1;\n\tborder-radius: 1rem;\n\ttext-decoration: none;\n\tcolor: #000;\n}\n\n.carousel-arrow-mobile:nth-of-type(1) {\n\tpadding-right: 0.125rem;\n}\n\n.carousel-arrow-mobile:nth-of-type(2) {\n\tpadding-left: 0.125rem;\n}\n\n.carousel-controls {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tmargin-top: 0.25rem;\n}\n\n.carousel-slide-count {\n\tcolor: var(--color-gray);\n}\n\n/* .live-class-item {\n\twidth: 100%;\n\tborder: 2px solid var(--color-gray);\n\tborder-radius: 4px;\n\tpadding: 1rem;\n\tmargin-bottom: 1rem;\n}\n\n.live-class-tag {\n\tborder-radius: 4px;\n\tbackground-color: var(--color-red);\n\tpadding: 0.1rem 0.5rem;\n\tcolor: var(--color-white);\n\tfont-size: 0.65rem;\n\ttext-transform: uppercase;\n}\n\n.class-timings {\n\tcolor: var(--color-dark-gray);\n\tfont-size: 0.7rem;\n\tmargin-left: auto;\n\tdisplay: inline-block;\n}\n\n.live-class-title {\n\tfont-size: 1rem;\n\tpadding: 0.5rem 0;\n\tmargin: 0;\n\tmargin-top: 0.5rem;\n\tfont-weight: bold;\n}\n\n.join-btn {\n\ttext-transform: uppercase;\n\ttext-decoration: none;\n\tfont-size: 0.75rem;\n\tmargin: 0;\n\tpadding: 0.2rem 0.75rem;\n\tcolor: white;\n\tbackground-color: var(--color-red);\n\tborder-radius: 1rem;\n\tmargin-left: 0.5rem;\n\tfont-weight: 500;\n} */\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DashboardUpdatesCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DashboardUpdatesCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DashboardUpdatesCard.vue?vue&type=template&id=ca677870&scoped=true&\"\nimport script from \"./DashboardUpdatesCard.vue?vue&type=script&lang=js&\"\nexport * from \"./DashboardUpdatesCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DashboardUpdatesCard.vue?vue&type=style&index=0&id=ca677870&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ca677870\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dashboard-forum-container\"},[_vm._m(0),_c('div',{staticClass:\"forum-post-list\"},_vm._l((4),function(item){return _c('div',{key:item,staticClass:\"forum-post-item with-threadline\"},[_vm._m(1,true)])}),0)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex justify-content-between align-items-center\"},[_c('div',{staticClass:\"forum-search\"},[_c('input',{staticClass:\"border-input forum-search\",attrs:{\"type\":\"search\",\"placeholder\":\"Search\"}}),_c('i',{staticClass:\"fas fa-search search-icon\"})]),_c('a',{staticClass:\"border-input start-conversation-button\",attrs:{\"type\":\"button\"}},[_c('i',{staticClass:\"far fa-edit button-icon\"}),_vm._v(\" Start Conversation\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"post-content\"},[_c('div',{staticClass:\"user-avatar\"},[_c('span',[_vm._v(\"A\")])]),_c('div',{staticClass:\"d-flex flex-column\"},[_c('p',{staticClass:\"creator-name\"},[_vm._v(\"Alber Afzal Khan\")]),_c('span',{staticClass:\"post-time\"},[_vm._v(\"30 minutes ago\")]),_c('h5',{staticClass:\"post-heading\"},[_vm._v(\" How was the Meetups, Study Groups, and Lecture Screenings ? \")]),_c('div',{staticClass:\"post-text\"},[_vm._v(\" Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.…. \")]),_c('div',{staticClass:\"post-buttons-container\"},[_c('a',{staticClass:\"post-btn\",attrs:{\"role\":\"button\"}},[_c('i',{staticClass:\"fas fa-thumbs-up post-btn-icon\"}),_vm._v(\" Likes 23\")]),_c('a',{staticClass:\"post-btn\",attrs:{\"role\":\"button\"}},[_c('i',{staticClass:\"far fa-comment post-btn-icon\"}),_vm._v(\" Reply 32\")]),_c('span',{staticClass:\"last-comment\"},[_vm._v(\"Last comment: replied 3 months ago\")])]),_c('div',{staticClass:\"post-reply-item\"},[_c('div',{staticClass:\"post-reply-content\"},[_c('div',{staticClass:\"user-avatar avatar-answer\"},[_c('span',[_vm._v(\"H\")])]),_c('div',{staticClass:\"d-flex flex-column\"},[_c('div',{staticClass:\"answer-tag\"},[_c('i',{staticClass:\"fas fa-check answer-tag-icon\"}),_vm._v(\" Answer \")]),_c('p',{staticClass:\"creator-name\"},[_vm._v(\"Hamza Abdul Haq\")]),_c('span',{staticClass:\"post-time\"},[_vm._v(\"30 minutes ago\")]),_c('div',{staticClass:\"post-text mt-2 mb-0\"},[_vm._v(\" Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.…. \")])])])]),_c('a',{staticClass:\"view-more-comments\",attrs:{\"role\":\"button\"}},[_vm._v(\" View 10 more 876 comments \")])])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"dashboard-forum-container\">\n\t\t<div class=\"d-flex justify-content-between align-items-center\">\n\t\t\t<div class=\"forum-search\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tclass=\"border-input forum-search\"\n\t\t\t\t\tplaceholder=\"Search\"\n\t\t\t\t/>\n\t\t\t\t<i class=\"fas fa-search search-icon\"></i>\n\t\t\t</div>\n\t\t\t<!-- <select name=\"ratings\" id=\"ratings\" class=\"border-input flex-grow-1\">\n\t\t\t\t<option value=\"all\">All Rating</option>\n\t\t\t</select> -->\n\t\t\t<a type=\"button\" class=\"border-input start-conversation-button\"\n\t\t\t\t><i class=\"far fa-edit button-icon\"></i> Start Conversation</a\n\t\t\t>\n\t\t</div>\n\t\t<!-- <NewPost /> -->\n\t\t<div class=\"forum-post-list\">\n\t\t\t<div\n\t\t\t\tclass=\"forum-post-item with-threadline\"\n\t\t\t\tv-for=\"item in 4\"\n\t\t\t\t:key=\"item\"\n\t\t\t>\n\t\t\t\t<div class=\"post-content\">\n\t\t\t\t\t<div class=\"user-avatar\">\n\t\t\t\t\t\t<span>A</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"d-flex flex-column\">\n\t\t\t\t\t\t<p class=\"creator-name\">Alber Afzal Khan</p>\n\t\t\t\t\t\t<span class=\"post-time\">30 minutes ago</span>\n\t\t\t\t\t\t<h5 class=\"post-heading\">\n\t\t\t\t\t\t\tHow was the Meetups, Study Groups, and Lecture Screenings ?\n\t\t\t\t\t\t</h5>\n\t\t\t\t\t\t<div class=\"post-text\">\n\t\t\t\t\t\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n\t\t\t\t\t\t\teiusmod tempor incididunt ut labore et dolore magna aliqua.….\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"post-buttons-container\">\n\t\t\t\t\t\t\t<a role=\"button\" class=\"post-btn\"\n\t\t\t\t\t\t\t\t><i class=\"fas fa-thumbs-up post-btn-icon\"></i> Likes 23</a\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<a role=\"button\" class=\"post-btn\"\n\t\t\t\t\t\t\t\t><i class=\"far fa-comment post-btn-icon\"></i> Reply 32</a\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"last-comment\"\n\t\t\t\t\t\t\t\t>Last comment: replied 3 months ago</span\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"post-reply-item\">\n\t\t\t\t\t\t\t<div class=\"post-reply-content\">\n\t\t\t\t\t\t\t\t<div class=\"user-avatar avatar-answer\">\n\t\t\t\t\t\t\t\t\t<span>H</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column\">\n\t\t\t\t\t\t\t\t\t<div class=\"answer-tag\">\n\t\t\t\t\t\t\t\t\t\t<i class=\"fas fa-check answer-tag-icon\"></i> Answer\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<p class=\"creator-name\">Hamza Abdul Haq</p>\n\t\t\t\t\t\t\t\t\t<span class=\"post-time\">30 minutes ago</span>\n\t\t\t\t\t\t\t\t\t<div class=\"post-text mt-2 mb-0\">\n\t\t\t\t\t\t\t\t\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit, sed\n\t\t\t\t\t\t\t\t\t\tdo eiusmod tempor incididunt ut labore et dolore magna\n\t\t\t\t\t\t\t\t\t\taliqua.….\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<a role=\"button\" class=\"view-more-comments\">\n\t\t\t\t\t\t\tView 10 more 876 comments\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport NewPost from \"../Forum/NewPost.vue\";\nexport default {\n\tname: \"Forum\",\n\tcomponents: { NewPost },\n};\n</script>\n\n<style>\n@media screen and (min-width: 1440px) {\n\t.dashboard-forum-container {\n\t\twidth: 70% !important;\n\t}\n}\n\n@media screen and (max-width: 996px) {\n\t.dashboard-forum-container {\n\t\twidth: 100% !important;\n\t}\n}\n\n.dashboard-forum-container {\n\twidth: 65%;\n\tpadding: 2rem 1.5rem 2rem 0;\n}\n\n.forum-search {\n\tdisplay: flex;\n\talign-items: center;\n\tposition: relative;\n\tflex-grow: 4;\n\tmargin: 0 !important;\n}\n\n.dashboard-forum-container .border-input {\n\tmin-width: unset !important;\n\tpadding: 1.125rem 1rem;\n\tfont-size: 1rem;\n\t/* font-weight: 500 !important; */\n\tborder-radius: 6px;\n\tline-height: 1;\n}\n\n.button-icon {\n\tfont-size: 1rem;\n}\n\n.start-conversation-button {\n\tborder-color: var(--color-dark-gray) !important;\n\tbackground-color: var(--color-off-white) !important;\n\ttext-decoration: none !important;\n\tbox-shadow: 0 3px 6px #88888829;\n}\n\n.search-icon {\n\tfont-size: 18px;\n\tposition: absolute;\n\tmargin-right: 12px;\n\tright: 0;\n}\n\n.forum-post-list {\n\tmargin-top: 2rem;\n}\n\n.forum-post-item {\n\tborder-radius: 6px;\n\tborder: 1px solid #a7a9ac;\n\tbackground-color: #f9f9f9;\n\topacity: 0.8;\n\tpadding: 1.6rem 1.5rem;\n\tposition: relative;\n\tmargin-bottom: 2.125rem;\n}\n\n.post-content {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1.2rem;\n}\n\n.post-reply-content {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n}\n\n.user-avatar {\n\twidth: 2.3rem;\n\theight: 2.3rem;\n\tcolor: var(--color-white);\n\tbackground-color: #231f20;\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tline-height: 1;\n\tfont-size: 1.2rem;\n\tmin-width: 2.3rem;\n\tz-index: 10;\n}\n\n.avatar-answer {\n\tborder: 3px solid #1dc321;\n\tmargin-top: 0.5rem;\n}\n\n.with-threadline::before {\n\tcontent: \" \";\n\twidth: 3px;\n\tbackground-color: #ccc;\n\theight: calc(100% - 7rem);\n\tposition: absolute;\n\ttop: 3rem;\n\tleft: 2.5rem;\n}\n\n.answer-tag {\n\tfont-size: 0.625rem;\n\tbackground-color: #1dc321;\n\tborder-radius: 3px;\n\tpadding: 0.175rem 0.25rem;\n\tcolor: #fafafa;\n\talign-self: flex-start;\n\tline-height: 1;\n}\n\n.answer-tag-icon {\n\tfont-size: 0.5rem;\n}\n\n.creator-name {\n\tfont-size: 1.125rem;\n\tline-height: 1;\n\tfont-weight: 500;\n\tmargin-bottom: 4px;\n\tmargin-top: 6px;\n\tcolor: #000;\n}\n\n.post-time {\n\tfont-size: 0.75rem;\n\tcolor: #959595;\n}\n\n.post-heading {\n\tcolor: #000;\n\tmargin-top: 1rem;\n\tmargin-bottom: 0.8rem;\n\t/* font-size: 1.375rem; */\n}\n\n.post-text {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tcolor: #7c7c7c;\n\tfont-weight: 450;\n\tfont-size: 0.9rem;\n\tmargin-bottom: 1rem;\n}\n\n.post-btn {\n\tpadding: 0.3rem 0.6rem !important;\n\tfont-size: 0.625rem !important;\n\tcolor: #000 !important;\n\tdisplay: inline-block;\n\ttext-align: center;\n\ttext-decoration: none;\n\tvertical-align: middle;\n\tcursor: pointer;\n\tbackground-color: transparent !important;\n\tborder: 1px solid var(--color-gray);\n\ttransition: all 0.3s ease-in-out;\n\tborder-radius: 4px;\n\tfont-weight: 450;\n\tmargin-right: 1rem;\n}\n\n.post-btn:hover {\n\tbackground-color: var(--color-light-blue) !important;\n\tcolor: var(--color-navy) !important;\n}\n\n.post-btn-icon {\n\tfont-size: 0.8rem;\n}\n\n.last-comment {\n\tfont-size: 0.75rem;\n\tmargin: 0;\n\tfont-weight: 500;\n}\n\n.post-reply-item {\n\tbackground-color: #f0f0f0;\n\t/* height: 100px; */\n\tborder-radius: 19px;\n\tmargin-top: 1.5rem;\n\tpadding: 1.25rem;\n\tposition: relative;\n}\n\n.post-reply-item::before {\n\tcontent: \"\";\n\twidth: 5rem;\n\theight: 2rem;\n\tborder-left: 3px solid #ccc;\n\tborder-bottom: 3px solid #ccc;\n\tposition: absolute;\n\ttop: 2rem;\n\tleft: -2.5rem;\n\tborder-radius: 0 18px;\n\tz-index: -1;\n}\n\n.view-more-comments {\n\tmargin-top: 1.5rem;\n\ttext-decoration: underline;\n\tcolor: #000;\n\tfont-size: 0.875rem;\n\tpadding-left: 1.5rem;\n\tfont-weight: 500;\n\talign-self: flex-start;\n\tposition: relative;\n\tbackground-color: #f9f9f9;\n}\n\n.view-more-comments::before {\n\tcontent: \"\";\n\twidth: 5rem;\n\theight: 2rem;\n\tborder-left: 3px solid #ccc;\n\tborder-bottom: 3px solid #ccc;\n\tposition: absolute;\n\ttop: -1.25rem;\n\tleft: -2.5rem;\n\tborder-radius: 0 18px;\n\tz-index: -1;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Forum.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Forum.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Forum.vue?vue&type=template&id=0218b26a&\"\nimport script from \"./Forum.vue?vue&type=script&lang=js&\"\nexport * from \"./Forum.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Forum.vue?vue&type=style&index=0&id=0218b26a&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"reminder-item\"},[_c('div',{staticClass:\"reminder-content-top\"},[_c('span',{staticClass:\"reminder-badge\"},[_c('img',{staticClass:\"reminder-badge-icon\",attrs:{\"src\":require(\"../../assets/images/live-class.svg\")}}),_vm._v(\" \"+_vm._s(_vm.badgeText)+\" \")]),_c('span',{staticClass:\"reminder-time\"},[_c('i',{staticClass:\"far fa-clock reminder-time-icon\"}),_vm._v(\" \"+_vm._s(_vm.time)+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.date)+\" \")])]),_c('div',{staticClass:\"reminder-content-bottom\"},[_c('div',[_c('h4',{staticClass:\"reminder-title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('p',{staticClass:\"reminder-subtitle\"},[_vm._v(\" \"+_vm._s(_vm.subTitle)+\" \")])]),_c('a',{class:['reminder-cta', { disabled: _vm.isDisabled }],attrs:{\"role\":\"button\"},on:{\"click\":_vm.handleContentClick}},[_vm._v(_vm._s(_vm.ctaText))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"reminder-item\">\n\t\t<div class=\"reminder-content-top\">\n\t\t\t<span class=\"reminder-badge\"\n\t\t\t\t><img\n\t\t\t\t\tclass=\"reminder-badge-icon\"\n\t\t\t\t\tsrc=\"../../assets/images/live-class.svg\"\n\t\t\t\t/>\n\t\t\t\t{{ badgeText }}\n\t\t\t</span>\n\t\t\t<span class=\"reminder-time\">\n\t\t\t\t<i class=\"far fa-clock reminder-time-icon\"></i> {{ time }} <br />\n\t\t\t\t{{ date }}\n\t\t\t</span>\n\t\t</div>\n\t\t<div class=\"reminder-content-bottom\">\n\t\t\t<div>\n\t\t\t\t<h4 class=\"reminder-title\">\n\t\t\t\t\t{{ title }}\n\t\t\t\t</h4>\n\t\t\t\t<p class=\"reminder-subtitle\">\n\t\t\t\t\t{{ subTitle }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<a\n\t\t\t\t@click=\"handleContentClick\"\n\t\t\t\trole=\"button\"\n\t\t\t\t:class=\"['reminder-cta', { disabled: isDisabled }]\"\n\t\t\t\t>{{ ctaText }}</a\n\t\t\t>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapState } from \"vuex\";\nimport { getCookie } from \"../../helpers/CookieHelpers\";\nimport {\n\tgetTimeIn12Hours,\n\ttoShortDateString,\n} from \"../../helpers/FormatHelpers\";\n\nexport default {\n\tname: \"ReminderListItem\",\n\tdata() {\n\t\treturn {\n\t\t\tid: this.reminderItem.id,\n\t\t\tproductVariantId: this.reminderItem.productVariantID,\n\t\t\ttype: this.reminderItem.type.toLowerCase(),\n\t\t\ttitle: this.reminderItem.title,\n\t\t\tsubTitle: this.reminderItem.productVariantTitle,\n\t\t\t//time: \" 1:00 PM to 5:00 PM\",\n\t\t};\n\t},\n\tprops: { reminderItem: Object },\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\"]),\n\t\thasContentStarted() {\n\t\t\treturn (\n\t\t\t\tnew Date(\n\t\t\t\t\tnew Date(this.reminderItem.availableFrom).getTime() - 5 * 60 * 1000\n\t\t\t\t) < new Date()\n\t\t\t);\n\t\t},\n\t\t// check if meeting has ended and 15 minutes have passed\n\t\thasContentEnded() {\n\t\t\treturn (\n\t\t\t\tnew Date() >\n\t\t\t\tnew Date(\n\t\t\t\t\tnew Date(this.reminderItem.availableTo).setTime(\n\t\t\t\t\t\tnew Date(this.reminderItem.availableTo).getTime() + 900000\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\tbadgeText() {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase \"liveclass\":\n\t\t\t\t\treturn \"Live Class\";\n\t\t\t\tcase \"recordedvideos\":\n\t\t\t\t\treturn \"Recorded Video\";\n\t\t\t\tcase \"assignment\":\n\t\t\t\t\treturn \"Assignment\";\n\t\t\t\tcase \"test\":\n\t\t\t\t\treturn \"Test\";\n\t\t\t}\n\t\t},\n\t\tctaText() {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase \"liveclass\":\n\t\t\t\t\treturn this.isDisabled && this.hasContentEnded\n\t\t\t\t\t\t? \"Class ended\"\n\t\t\t\t\t\t: \"Join Now\";\n\t\t\t\tcase \"recordedvideos\":\n\t\t\t\t\treturn \"Watch Now\";\n\t\t\t\tcase \"assignment\":\n\t\t\t\t\treturn \"Submit\";\n\t\t\t\tcase \"test\":\n\t\t\t\t\treturn \"Submit\";\n\t\t\t}\n\t\t},\n\t\tcontentLink() {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase \"recordedvideos\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath:\n\t\t\t\t\t\t\t\"/content/video/\" +\n\t\t\t\t\t\t\tthis.title\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\t\tthis.id +\n\t\t\t\t\t\t\t\"_\" +\n\t\t\t\t\t\t\tthis.productVariantId,\n\t\t\t\t\t\t// query: { productVariantId: this.productVariantId },\n\t\t\t\t\t};\n\t\t\t\tcase \"liveclass\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath:\n\t\t\t\t\t\t\t\"/content/liveclass/\" +\n\t\t\t\t\t\t\tthis.title\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\t\tthis.id +\n\t\t\t\t\t\t\t\"_\" +\n\t\t\t\t\t\t\tthis.productVariantId,\n\t\t\t\t\t\t// query: { productVariantId: this.productVariantId },\n\t\t\t\t\t};\n\t\t\t\tcase \"assignment\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath:\n\t\t\t\t\t\t\t\"/content/assignment/\" +\n\t\t\t\t\t\t\tthis.title\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\t\tthis.id +\n\t\t\t\t\t\t\t\"_\" +\n\t\t\t\t\t\t\tthis.productVariantId,\n\t\t\t\t\t\t// query: { productVariantId: this.productVariantId },\n\t\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\ttime() {\n\t\t\treturn (\n\t\t\t\tgetTimeIn12Hours(this.reminderItem.availableFrom) +\n\t\t\t\t\" - \" +\n\t\t\t\tgetTimeIn12Hours(this.reminderItem.availableTo)\n\t\t\t);\n\t\t},\n\t\tdate() {\n\t\t\treturn toShortDateString(this.reminderItem.availableFrom);\n\t\t},\n\t\tisDisabled() {\n\t\t\t// console.log(new Date(this.reminderItem.availableFrom).getDate());\n\t\t\tif (!this.hasContentStarted || this.hasContentEnded) return true;\n\t\t\telse return false;\n\t\t},\n\t},\n\tmethods: {\n\t\t// ...mapActions(\"content\", [\"getContentById\"]),\n\t\thandleContentClick() {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase \"liveclass\":\n\t\t\t\t\tthis.$router.push(this.contentLink);\n\t\t\t\t\treturn;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.$router.push(this.contentLink);\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 768px) {\n\t.reminder-item {\n\t\tmargin-bottom: 0 !important;\n\t\tmargin-right: 0.25rem !important;\n\t}\n}\n\n.reminder-item {\n\tborder: 1px solid #e5e5e5;\n\tborder-radius: 8px;\n\tbackground-color: #fafafa;\n\tbox-shadow: 0 6px 8px #e0e0e029;\n\tpadding: 1.125rem;\n\tmargin-bottom: 1.875rem;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.reminder-title {\n\tfont-size: 1.25rem;\n\tcolor: #000;\n\tfont-weight: 500;\n\tmargin-bottom: 0.25rem;\n\t/* width: 100%; */\n}\n\n.reminder-subtitle {\n\tfont-size: 0.875rem;\n\tcolor: #959595;\n\tline-height: 1.5rem;\n\tfont-weight: normal;\n\tmargin-bottom: 0;\n}\n\n.reminder-badge {\n\tcolor: #fd0d1b;\n\tpadding: 0.25rem 0.5rem;\n\tbackground-color: #ffffff;\n\tborder: 1px solid #fd0d1b;\n\tfont-size: 0.75rem;\n\tfont-weight: 500;\n\tborder-radius: 3px;\n\tdisplay: flex;\n\talign-items: center;\n\twidth: fit-content;\n\theight: 1.375rem;\n\tmargin-bottom: 1rem;\n}\n\n.reminder-badge-icon {\n\twidth: 12px;\n\tmargin-right: 0.25rem;\n}\n\n.reminder-content-bottom {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: flex-end;\n}\n\n.reminder-content-top {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: flex-start;\n}\n\n.reminder-cta {\n\tpadding: 0.25rem 1rem;\n\tbackground-color: #1dc13a;\n\tborder-radius: 6px;\n\tfont-weight: bold;\n\tfont-size: 0.875rem;\n\ttext-decoration: none;\n\tcolor: #ffffff;\n\tflex-shrink: 0;\n}\n\n.reminder-cta.disabled {\n\topacity: 0.5;\n\tpointer-events: none;\n}\n\n.reminder-time {\n\tfont-size: 0.75rem;\n\tcolor: #767676;\n\ttext-align: right;\n}\n\n.reminder-time-icon {\n\tmargin-right: 0.25rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReminderListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReminderListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ReminderListItem.vue?vue&type=template&id=bd45d126&scoped=true&\"\nimport script from \"./ReminderListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ReminderListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ReminderListItem.vue?vue&type=style&index=0&id=bd45d126&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"bd45d126\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dashboard-products-container\",attrs:{\"id\":\"dashboard-products-container\"}},[(_vm.userProducts.length > 0 && !_vm.loading)?_c('div',_vm._l((_vm.userProducts),function(product){return _c('ProductListItem',{key:product.id,staticClass:\"grid\",attrs:{\"data\":product,\"purchased\":true}})}),1):(_vm.loading)?_c('div',{staticClass:\"mt-5\"},[_c('b-skeleton',{staticClass:\"d-inline-block m-2 mt-0\",attrs:{\"type\":\"button\",\"width\":\"16.25rem\",\"height\":\"25rem\"}}),_c('b-skeleton',{staticClass:\"d-inline-block m-2 mt-0\",attrs:{\"type\":\"button\",\"width\":\"16.25rem\",\"height\":\"25rem\"}}),_c('b-skeleton',{staticClass:\"d-inline-block m-2 mt-0\",attrs:{\"type\":\"button\",\"width\":\"16.25rem\",\"height\":\"25rem\"}})],1):_c('div',{staticClass:\"no-products\"},[_c('h4',[_vm._v(\" You are not enrolled in any of the courses. \"),_c('br'),_c('router-link',{attrs:{\"to\":\"/search\"}},[_vm._v(\"Click here\")]),_vm._v(\" to browse through full list of our courses. \")],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"dashboard-products-container\" id=\"dashboard-products-container\">\n\t\t<div v-if=\"userProducts.length > 0 && !loading\">\n\t\t\t<ProductListItem\n\t\t\t\tv-for=\"product in userProducts\"\n\t\t\t\t:key=\"product.id\"\n\t\t\t\tclass=\"grid\"\n\t\t\t\t:data=\"product\"\n\t\t\t\t:purchased=\"true\"\n\t\t\t/>\n\t\t</div>\n\t\t<div v-else-if=\"loading\" class=\"mt-5\">\n\t\t\t<b-skeleton\n\t\t\t\tclass=\"d-inline-block m-2 mt-0\"\n\t\t\t\ttype=\"button\"\n\t\t\t\twidth=\"16.25rem\"\n\t\t\t\theight=\"25rem\"\n\t\t\t></b-skeleton>\n\t\t\t<b-skeleton\n\t\t\t\tclass=\"d-inline-block m-2 mt-0\"\n\t\t\t\ttype=\"button\"\n\t\t\t\twidth=\"16.25rem\"\n\t\t\t\theight=\"25rem\"\n\t\t\t></b-skeleton>\n\t\t\t<b-skeleton\n\t\t\t\tclass=\"d-inline-block m-2 mt-0\"\n\t\t\t\ttype=\"button\"\n\t\t\t\twidth=\"16.25rem\"\n\t\t\t\theight=\"25rem\"\n\t\t\t></b-skeleton>\n\t\t</div>\n\t\t<div v-else class=\"no-products\">\n\t\t\t<h4>\n\t\t\t\tYou are not enrolled in any of the courses. <br />\n\t\t\t\t<router-link to=\"/search\">Click here</router-link> to browse through\n\t\t\t\tfull list of our courses.\n\t\t\t</h4>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapState } from \"vuex\";\nimport ProductListItem from \"../Product/ProductListItem.vue\";\n\nexport default {\n\tname: \"UserProducts\",\n\tprops: { userProducts: Array },\n\tcomponents: { ProductListItem },\n\tcomputed: {\n\t\t...mapState(\"productVariant\", [\"loading\"]),\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (min-width: 1440px) {\n\t.dashboard-products-container {\n\t\twidth: 70% !important;\n\t}\n}\n\n@media screen and (max-width: 996px) {\n\t.dashboard-products-container {\n\t\twidth: 100% !important;\n\t\tmargin-top: 1.5rem;\n\t}\n}\n\n@media screen and (max-width: 600px) {\n\t.dashboard-products-container div {\n\t\tdisplay: flex;\n\t\trow-gap: 1rem;\n\t\tflex-direction: column;\n\t}\n}\n\n.no-products {\n\tpadding: 1.5rem !important;\n}\n\n.dashboard-products-container {\n\twidth: 65%;\n\tpadding-top: 2rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserProducts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserProducts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserProducts.vue?vue&type=template&id=93cbb5a8&scoped=true&\"\nimport script from \"./UserProducts.vue?vue&type=script&lang=js&\"\nexport * from \"./UserProducts.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserProducts.vue?vue&type=style&index=0&id=93cbb5a8&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"93cbb5a8\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:'editor-div '+(_vm.isReadOnly?'readonly':'')},[_c('div',{staticClass:\"quill-editor\",attrs:{\"id\":_vm.editorID}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div :class=\"'editor-div '+(isReadOnly?'readonly':'')\">\n    <div :id=\"editorID\" class=\"quill-editor\"></div>\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n// import { VueEditor } from \"vue2-editor\";\nimport { getFileType } from \"../../helpers/Converters\";\n\nexport default {\n  name: \"QuillRichTextEditor\",\n  props: {\n    text: String,\n    isInline: Boolean,\n    editorID: String,\n    placeholder: String,\n    isReadOnly: Boolean,\n  },\n  data() {\n    return {\n      quillEditor: null,\n      toolbarOptions: [\n        [\"bold\", \"italic\", \"underline\", \"strike\"],\n        [\"blockquote\", \"code-block\"],\n        [{ header: 1 }, { header: 2 }],\n        [{ list: \"ordered\" }, { list: \"bullet\" }],\n        [{ script: \"sub\" }, { script: \"super\" }],\n        [{ indent: \"-1\" }, { indent: \"+1\" }],\n        [{ align: [] }],\n        [\"link\", \"image\", \"video\"],\n        [{ color: [] }, { background: [] }],\n        [{ font: [] }],\n        [{ size: [\"small\", false, \"large\", \"huge\"] }],\n        [{ header: [1, 2, 3, 4, 5, 6, false] }],\n        [{ direction: \"rtl\" }],\n        [\"clean\"],\n      ],\n      _text: \"\",\n    };\n  },\n  methods: {\n    ...mapActions(\"content\", [\"uploadContentFile\"]),\n\n    initQuillEditor() {\n      const options = {\n        modules: {\n          toolbar: this.toolbarOptions,\n        },\n        theme: this.isInline ? \"bubble\" : \"snow\",\n\n        placeholder: this.placeholder,\n        readOnly: this.isReadOnly??false,\n      };\n\n      this.quillEditor = new Quill(`#${this.editorID}`, options);\n\n      this.handleFileInput();\n      this.handleSnippingImagePaste();\n      this.quillEditor.on(\"text-change\", this.handleTextChange);\n    },\n\n    async uploadFile(fileType, fileName, file) {\n      let formData = new FormData();\n      formData.append(\"Type\", fileType);\n      formData.append(\"Entity\", \"content/quiz\");\n      formData.append(\"File\", file, fileName);\n      formData.append(\"IsCompressionRequired\", \"false\");\n\n      try {\n        return await this.uploadContentFile(formData);\n      } catch (e) {\n        return null;\n      }\n    },\n\n    handleSnippingImagePaste() {\n      const component = this;\n\n      this.quillEditor.clipboard.addMatcher(\"img\", async (node, delta) => {\n        if (node && node.src) {\n          try {\n            const file = component.dataURItoBlob(node.src);\n            file.name = \"Picture.png\";\n            const range = component.quillEditor.getSelection(true);\n            const url = await component.uploadFile(\"image\", file.name, file);\n\n            if (url) {\n              component.quillEditor.insertEmbed(\n                range.index,\n                \"image\",\n                url,\n                Quill.sources.USER\n              );\n            }\n          } catch (error) {\n            console.error(\"Error handling image paste:\", error);\n          }\n        }\n        return delta;\n      });\n    },\n\n    handleFileInput() {\n      var component = this;\n      this.quillEditor.getModule(\"toolbar\").addHandler(\"image\", function () {\n        var input = document.createElement(\"input\");\n        input.setAttribute(\"type\", \"file\");\n        input.click();\n\n        input.addEventListener(\"change\", async function () {\n          var uploadedFile = input.files[0];\n          var fileName = uploadedFile.name;\n          var fileType = getFileType(fileName);\n\n          if (fileType !== \"unknown\") {\n            try {\n              const url = await component.uploadFile(\n                fileType,\n                fileName,\n                uploadedFile\n              );\n              const range = component.quillEditor.getSelection();\n\n              if (fileType === \"image\") {\n                component.quillEditor.insertEmbed(range, \"image\", url);\n              } else if (fileType !== \"video\") {\n                const linkText = fileName.toUpperCase();\n                let content = `<a href=\"${url}\" class=\"editor-link\" target=\"_blank\">${linkText}</a>`;\n                component.quillEditor.clipboard.dangerouslyPasteHTML(\n                  range.index,\n                  content\n                );\n              }\n            } catch (error) {\n              console.error(\"Error uploading and inserting link:\", error);\n            }\n          }\n        });\n      });\n    },\n\n    dataURItoBlob(dataURI) {\n      const byteString = atob(dataURI.split(\",\")[1]);\n      const mimeString = dataURI.split(\",\")[0].split(\":\")[1].split(\";\")[0];\n      const ab = new ArrayBuffer(byteString.length);\n      const ia = new Uint8Array(ab);\n\n      for (let i = 0; i < byteString.length; i++) {\n        ia[i] = byteString.charCodeAt(i);\n      }\n\n      return new Blob([ab], { type: mimeString });\n    },\n\n    getValue(event) {\n      const content = event.target.innerHTML;\n      console.log(\"Current Content:\", content);\n    },\n\n    handleTextChange() {\n      this._text = this.quillEditor.root.innerHTML;\n      console.log({ _Text: this._text });\n      this.$emit(\"input\", this._text);\n    },\n  },\n  components: {},\n  created() {\n    this._text = this.text;\n  },\n  mounted() {\n    var self = this;\n    setTimeout(() => {\n      self.initQuillEditor();\n\n      if (self.quillEditor) {\n        self.quillEditor.root.innerHTML = self._text;\n      }\n    }, 1000);\n  },\n  computed: {},\n  watch: {\n    text() {\n      if (this.quillEditor && this.text != this._text) {\n        this._text = this.text;\n        this.quillEditor.root.innerHTML = this._text;\n      }\n    },\n  },\n};\n</script>\n\n<style>\n.editor-div.readonly .ql-toolbar.ql-snow{\n  display: none;\n\n}\n.editor-div.readonly .ql-editor.ql-blank{\n  padding: 0px;\n\n}\n.editor-div.readonly .quill-editor.ql-container\n{\n  border: 0px;\n}\n\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuillRichTextEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./QuillRichTextEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QuillRichTextEditor.vue?vue&type=template&id=8285de26&\"\nimport script from \"./QuillRichTextEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./QuillRichTextEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./QuillRichTextEditor.vue?vue&type=style&index=0&id=8285de26&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"form-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"form-modal-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[(_vm.formData)?_c('div',[_c('h1',{staticClass:\"add-content-title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('p',[_vm._v(_vm._s(_vm.description))]),_vm._l((_vm.fields),function(field,index){return _c('div',{key:field.Key,staticClass:\"form-group\"},[_c('DynamicCustomFormInput',{attrs:{\"inputFieldOptions\":field,\"hasIcon\":false,\"required\":true,\"showLabel\":false,\"tabIndex\":61 + index},on:{\"inputValue\":function (value){\t\t\t\t\t\n\t\t\t\t_vm.formResponse[field.key] =value;\n\t\t\t}}})],1)}),_c('div',{staticClass:\"step-btn-container\"},[(!(_vm.formData && _vm.formData.isRequired==true))?_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeForm}},[_vm._v(\" Cancel \")]):_vm._e(),_c('button',{staticClass:\"submit-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.isLoading},on:{\"click\":_vm.submitFormResponse}},[_vm._v(\" Submit \")])])],2):_c('div',[_c('h2',[_c('center',[_vm._v(\"Loading\")])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal id=\"form-modal\" @change=\"$emit('updateModalState', false)\" :visible=\"visible\" hide-header centered\n\t\tcontent-class=\"form-modal-modal\" size=\"xl\" body-class=\"modal-body\" hide-footer modal-class=\"custom-modal\"\n\t\tno-close-on-backdrop>\n\t\t<div v-if=\"formData\">\n\t\t<h1 class=\"add-content-title\">\n\t\t\t{{ title }}\n\t\t</h1>\n\t\t<p>{{ description }}</p>\n\t\t<div class=\"form-group\" v-for=\"(field, index) in fields\" :key=\"field.Key\">\n\t\t\t<DynamicCustomFormInput :inputFieldOptions=\"field\" :hasIcon=\"false\" @inputValue=\"\n\t\t\t\t(value)=> {\t\t\t\t\t\n\t\t\t\t\tformResponse[field.key] =value;\n\t\t\t\t}\n\t\t\t\" :required=\"true\" :showLabel=\"false\" :tabIndex=\"61 + index\" />\n\t\t</div>\n\t\t\n\t\t<div class=\"step-btn-container\">\n\t\t\t\n\t\t\t<button @click=\"closeForm\" v-if=\"!(formData && formData.isRequired==true)\" role=\"button\" class=\"step-btn\" >\t\t\t\t\n\t\t\t    Cancel \n\t\t\t</button>\n\t\t\t<button @click=\"submitFormResponse\" role=\"button\" :disabled=\"isLoading\" class=\"submit-btn\" >\n\t\t\t\t\n\t\t\t    Submit \n\t\t\t</button>\n\t\t</div></div>\n\t\t<div v-else>\n\t\t\t<h2>\n\t\t\t<center>Loading</center></h2>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport DynamicCustomFormInput from \"../Layout/DynamicCustomFormInput.vue\"\n\nexport default {\n\tname: \"FormModal\",\n\tprops: {\n\t\tvisible: Boolean,\n\t\tformID: String\n\t},\n\tdata() {\n\t\treturn {\n\t\t\ttitle: \"\",\n\t\t\tdescription:\"\",\n\t\t\tformData:null,\n\t\t\tfields: [],\n\t\t\tformResponse: {},\n\t\t\tisLoading:false\n\t\t};\n\t},\n\tmethods: {\t\t\n\t\t...mapActions(\"form\", [\"fetchFormByID\",\"submitForm\"]),\n\t    submitFormResponse() {\n\t\t\tvar invalidateFeilds=this.fields.filter(x=>!this.formResponse[x.key] && x.isRequired==true);\n\t\t\tif(invalidateFeilds.length>0)\n\t\t\t{\n\t\t\t\tthis.$toasted.error(invalidateFeilds[0].error, {\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t});\n\t\t\t}else{\n\t\t\t\tvar data=JSON.stringify(this.formResponse);\n\t\t\t\tthis.isLoading=true;\n\t\t\t\tthis.submitForm({ FormID: this.formID, FormData: data }).then((submission) => {\n\t\t\t\t\tthis.isLoading=false;\n\t\t\t\t\tif (submission && submission.id) {\n\t\t\t\t\t\tlocalStorage.removeItem(\"ProcessingFormID\");\n\t\t\t\t\t\tthis.closeForm();\n\t\t\t\t\t\tthis.$toasted.success(\"Response Submitted\", {\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$toasted.error(\"Some Error Occured\", {\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t\n\t\t\t}\n\t\t},\n\t\tcloseForm(){\n\t\t\tthis.$emit('closeModalState');\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapState(\"form\", [\"loading\"]),\n\t},\n\tcreated() {\n\t\tif (this.formID) {\n\t\t\tthis.fetchFormByID(this.formID).then((form) => {\n\t\t\t\tif(!form)\n\t\t\t\t{\n\t\t\t\t\tthis.closeForm();\n\t\t\t\t}\n\n\t\t\t\tif(!(form && form.isRequired==true)){\n\n\t\t\t\t\tlocalStorage.removeItem(\"ProcessingFormID\");\n\t\t\t\t}\n\t\t\t\tthis.formData=form;\n\t\t\t\tthis.title = form.title;\n\t\t\t\tthis.fields = form.fields;\n\t\t\t\tthis.description=form.description;\n\t\t\t});\n\t\t}\n\t},\n\tcomponents: {\n\t\tDynamicCustomFormInput,\n\t},\n\twatch: {\n\t\tvisible: function () {\n\n\t\t}\n\t},\n};\n</script>\n\n<style>\n.form-modal {\n\tmin-height: 45.375rem;\n\twidth: 70vw;\n}\n\n/* .custom-modal .modal-dialog {\n\tmax-width: 70vw;\n} */\n\n.form-modal .modal-body {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 0 !important;\n\tfont-size: 1rem;\n}\n.submit-btn{\n\tbackground-color: var(--primary-color);\n    border: 1px solid #e9e9e9;\n    border-radius: 8px;\n    box-shadow: 0 3px 6px #d5d5d529;\n    padding: 1rem 1.25rem;\n    line-height: 1.25;\n    color: #ffffff !important;\n}\n.step-btn{\n    padding: 1rem 1.25rem !important;\n}\n.step-btn-container{\n\tfloat: right;\n}\n.custom-alert-danger{\n\tpadding: 5px;\n\tborder: 1px solid;\n\tborder-color: rgba(var(--bs-danger-rgb),var(--bs-text-opacity));\n\tborder-radius: 5px;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FormModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FormModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormModal.vue?vue&type=template&id=78e3b5ce&\"\nimport script from \"./FormModal.vue?vue&type=script&lang=js&\"\nexport * from \"./FormModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FormModal.vue?vue&type=style&index=0&id=78e3b5ce&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('editor',{attrs:{\"api-key\":\"yw2m1nqx2e2si0mbgxu00oexgl0ofl14wsu6b8j50u0j6bly\",\"cloud-channel\":\"5\",\"disabled\":false,\"id\":\"uuid\",\"init\":{\n\t\tselector: 'textarea', // change this value according to your HTML\n\t\tmenu: {\n\t\t\thappy: { title: 'Happy', items: 'code' },\n\t\t},\n\t\tplugins: 'code', // required by the code menu item\n\t\tmenubar: 'happy', // adds happy to the menu bar\n\t},\"initial-value\":\"\",\"inline\":true,\"model-events\":\"\",\"plugins\":\"\",\"tag-name\":\"div\",\"toolbar\":\"\",\"value\":\"\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<editor\n\t\tapi-key=\"yw2m1nqx2e2si0mbgxu00oexgl0ofl14wsu6b8j50u0j6bly\"\n\t\tcloud-channel=\"5\"\n\t\t:disabled=\"false\"\n\t\tid=\"uuid\"\n\t\t:init=\"{\n\t\t\tselector: 'textarea', // change this value according to your HTML\n\t\t\tmenu: {\n\t\t\t\thappy: { title: 'Happy', items: 'code' },\n\t\t\t},\n\t\t\tplugins: 'code', // required by the code menu item\n\t\t\tmenubar: 'happy', // adds happy to the menu bar\n\t\t}\"\n\t\tinitial-value=\"\"\n\t\t:inline=\"true\"\n\t\tmodel-events=\"\"\n\t\tplugins=\"\"\n\t\ttag-name=\"div\"\n\t\ttoolbar=\"\"\n\t\tvalue=\"\"\n\t/>\n</template>\n\n<script>\nimport Editor from \"@tinymce/tinymce-vue\";\nexport default {\n\tname: \"NewPost\",\n\tcomponents: {\n\t\tEditor,\n\t},\n};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NewPost.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NewPost.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NewPost.vue?vue&type=template&id=7c406c98&scoped=true&\"\nimport script from \"./NewPost.vue?vue&type=script&lang=js&\"\nexport * from \"./NewPost.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7c406c98\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container instructors-section\"},[_vm._m(0),_c('div',{staticClass:\"instructor-section\"},[(_vm.trainersLoaded)?_c('InstructorList',{attrs:{\"instructorList\":_vm.trainersList}}):_vm._e()],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section-heading-container\"},[_c('h1',{staticClass:\"section-heading\"},[_vm._v(\"Our Instructors\")]),_c('h5',{staticClass:\"section-subheading\"},[_vm._v(\" Most recommendable and highly qualified teachers squad \")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"container instructors-section\">\n\t\t<div class=\"section-heading-container\">\n\t\t\t<h1 class=\"section-heading\">Our Instructors</h1>\n\t\t\t<h5 class=\"section-subheading\">\n\t\t\t\tMost recommendable and highly qualified teachers squad\n\t\t\t</h5>\n\t\t</div>\n\t\t<div class=\"instructor-section\">\n\t\t\t<InstructorList v-if=\"trainersLoaded\" :instructorList=\"trainersList\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport InstructorList from \"./InstructorList.vue\";\nimport { mapActions, mapState, mapGetters } from \"vuex\";\n\nexport default {\n\tname: \"HomePageInstructorSection\",\n\tdata() {\n\t\treturn {\n\t\t\ttrainersLoaded: false,\n\t\t\ttrainersList: [],\n\t\t\ttrainerCourses:{}\n\t\t};\n\t},\n\tcomponents: { InstructorList },\n\tcreated() {\n\t\t\n\t\tif (!this.trainers) {\n\t\t\tthis.ffetchTrainersList().then(() => {\n\t\t\t\tthis.trainersLoaded = true;\n\t\t\t\tthis.trainersList = this.trainers.map((t) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: t.id,\n\t\t\t\t\t\tname: t.firstName + \" \" + t.lastName,\n\t\t\t\t\t\tshort_description:\n\t\t\t\t\t\t\tt.extraProperties &&\n\t\t\t\t\t\t\tJSON.parse(t.extraProperties).CustomFields.ShortDescription\n\t\t\t\t\t\t\t\t? JSON.parse(t.extraProperties).CustomFields.ShortDescription\n\t\t\t\t\t\t\t\t: \"\",\n\t\t\t\t\t\tratings: {\n\t\t\t\t\t\t\tvalue: 4.7,\n\t\t\t\t\t\t\tnumber: \"500+\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcourses: 0,\n\t\t\t\t\t\timage_path: t.profilePicture ?? null,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tthis.UpdateCoursesTrainerList();\n\t\t\t});\n\t\t} else {\n\t\t\tthis.trainersLoaded = true;\n\t\t\tthis.trainersList = this.trainers.map((t) => {\n\t\t\t\treturn {\n\t\t\t\t\tid: t.id,\n\t\t\t\t\tname: t.firstName + \" \" + t.lastName,\n\t\t\t\t\tshort_description:\n\t\t\t\t\t\tt.extraProperties &&\n\t\t\t\t\t\tJSON.parse(t.extraProperties).CustomFields.ShortDescription\n\t\t\t\t\t\t\t? JSON.parse(t.extraProperties).CustomFields.ShortDescription\n\t\t\t\t\t\t\t: \"\",\n\t\t\t\t\tratings: {\n\t\t\t\t\t\tvalue: 4.7,\n\t\t\t\t\t\tnumber: \"500+\",\n\t\t\t\t\t},\n\t\t\t\t\tcourses: 0,\n\t\t\t\t\timage_path: t.profilePicture ?? null,\n\t\t\t\t};\n\t\t\t});\n\t\t\t\n\t\t\tthis.UpdateCoursesTrainerList();\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"trainers\"]),\n\t\t...mapGetters(\"productVariant\", [\"allProductVariants\"]),\n\t\t\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchUsersList\",\"fetchTrainersList\"]),\n\t\tUpdateCoursesTrainerList:function(){\n\t\t\tif(this.trainersList && this.trainersList.length>0)\n\t\t\t{\n\t\t\t\tthis.trainersList.map((t) => {\n\t\t\t\t\tif(this.trainerCourses[t.id])\n\t\t\t\t\t{\n\t\t\t\t\t\tt.courses=this.trainerCourses[t.id];\n\t\t\t\t\t}\n\t\t\t\t\treturn t;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\twatch: {\n\t\tallProductVariants:function () {\n\t\t\tif(this.allProductVariants && this.allProductVariants.length>0){\n\t\t\t\tthis.trainerCourses={};\n\t\t\t    this.allProductVariants.forEach(element => {\n\t\t\t\t\tif(element.properties.trainers){\n\t\t\t\t\t\tJSON.parse(element.properties.trainers).forEach(trainerID=>{\n\t\t\t\t\t\t\tif (this.trainerCourses[trainerID]) {\n\t\t\t\t\t\t\t\tthis.trainerCourses[trainerID].push(element);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.trainerCourses[trainerID]=[];\n\t\t\t\t\t\t\t\tthis.trainerCourses[trainerID].push(element);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t});\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tthis.UpdateCoursesTrainerList();\n\t\t\t}\n\t\t}\n\n\t}\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 990px) {\n\t.instructor-section {\n\t\tpadding: 3rem 1rem !important;\n\t}\n}\n\n@media screen and (max-width: 480px) {\n\t.instructor-section {\n\t\tpadding: 3rem 0 !important;\n\t\tborder-radius: 0 !important;\n\t\tmargin: 0 -1rem !important;\n\t}\n\n\t.section-heading {\n\t\tfont-size: 2rem !important;\n\t}\n\n\t.section-subheading {\n\t\tfont-size: 1rem !important;\n\t}\n\n\t.section-heading-container {\n\t\tmargin: 2rem 0 !important;\n\t}\n}\n\n@media screen and (max-width: 320px) {\n\t.instructor-section {\n\t\tpadding: 3rem 0 !important;\n\t\tborder-radius: 0 !important;\n\t\tmargin: 0 -1rem !important;\n\t}\n}\n\n.section-heading {\n\tfont-weight: 500;\n\tfont-size: 2.75rem;\n\tline-height: 1.3;\n\tcolor: var(--secondary-color);\n\tmargin-bottom: 0;\n\tletter-spacing: -0.45px;\n}\n\n.section-subheading {\n\tfont-size: 1.375rem;\n\tcolor: #898989;\n\tfont-weight: normal;\n}\n\n.section-heading-container {\n\tmargin: 4rem 0 3.375rem;\n}\n.instructor-section {\n\tbackground-color: var(--primary-color);\n\tborder-radius: 8px;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n\tpadding: 3.125rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomepageInstructorSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomepageInstructorSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomepageInstructorSection.vue?vue&type=template&id=35bd3e39&scoped=true&\"\nimport script from \"./HomepageInstructorSection.vue?vue&type=script&lang=js&\"\nexport * from \"./HomepageInstructorSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HomepageInstructorSection.vue?vue&type=style&index=0&id=35bd3e39&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"35bd3e39\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"position-relative\"},[(_vm.instructorList.length > 0)?_c('VueSlickCarousel',_vm._b({ref:\"instructors_carousel\",staticClass:\"instructor-listing-container container-fluid\"},'VueSlickCarousel',_vm.settings,false),_vm._l((_vm.instructorList),function(instructor){return _c('InstructorListItem',{key:instructor.id,attrs:{\"instructorData\":instructor}})}),1):_vm._e(),_c('a',{staticClass:\"carousel-arrow\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prevSlide}},[_c('i',{staticClass:\"fas fa-angle-left\"})]),_c('a',{staticClass:\"carousel-arrow right\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.nextSlide}},[_c('i',{staticClass:\"fas fa-angle-right\"})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"position-relative\">\n\t\t<VueSlickCarousel\n\t\t\tref=\"instructors_carousel\"\n\t\t\tclass=\"instructor-listing-container container-fluid\"\n\t\t\tv-if=\"instructorList.length > 0\"\n\t\t\tv-bind=\"settings\"\n\t\t>\n\t\t\t<InstructorListItem\n\t\t\t\tv-for=\"instructor in instructorList\"\n\t\t\t\t:key=\"instructor.id\"\n\t\t\t\t:instructorData=\"instructor\"\n\t\t\t/>\n\t\t</VueSlickCarousel>\n\t\t<a class=\"carousel-arrow\" role=\"button\" @click=\"prevSlide\"\n\t\t\t><i class=\"fas fa-angle-left\"></i\n\t\t></a>\n\t\t<a class=\"carousel-arrow right\" role=\"button\" @click=\"nextSlide\"\n\t\t\t><i class=\"fas fa-angle-right\"></i\n\t\t></a>\n\t</div>\n</template>\n\n<script>\nimport InstructorListItem from \"./InstructorListItem.vue\";\nimport { INSTRUCTOR_CAROUSEL_SETTINGS } from \"../../constants/productCarouselSettings\";\nimport VueSlickCarousel from \"vue-slick-carousel\";\n\nexport default {\n\tname: \"InstructorList\",\n\tdata() {\n\t\treturn { settings: INSTRUCTOR_CAROUSEL_SETTINGS };\n\t},\n\tprops: { instructorList: Array },\n\tcomponents: { InstructorListItem, VueSlickCarousel },\n\tmethods: {\n\t\tnextSlide() {\n\t\t\tthis.$refs.instructors_carousel.next();\n\t\t\tif (this.currentReminderSlide < this.totalReminderSlides)\n\t\t\t\tthis.currentReminderSlide += 1;\n\t\t},\n\t\tprevSlide() {\n\t\t\tthis.$refs.instructors_carousel.prev();\n\t\t\tif (this.currentReminderSlide > 1) this.currentReminderSlide -= 1;\n\t\t},\n\t},\n};\n</script>\n\n<style>\n@media screen and (max-width: 996px) {\n\t.instructor-listing-container {\n\t\tpadding: 0 !important;\n\t}\n\t.instructor-listing-container .slick-slide {\n\t\tpadding: 2.25rem 0.5rem 0 !important;\n\t}\n}\n\n.instructor-listing-container .slick-slide {\n\tpadding: 0 1rem;\n\tpadding-top: 2.25rem;\n}\n\n.carousel-arrow {\n\t/* margin: 0.5rem; */\n\tfont-size: 2rem;\n\twidth: 2.5rem;\n\theight: 2.5rem;\n\tline-height: 1;\n\talign-items: center;\n\tjustify-content: center;\n\tdisplay: flex;\n\tborder-radius: 50%;\n\tborder: 2px solid var(--secondary-color);\n\tbackground-color: #ffffff;\n\tbox-shadow: 3px 3px 6px #00000029;\n\tcolor: var(--secondary-color);\n\ttext-decoration: none;\n\tposition: absolute;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n}\n.carousel-arrow:hover {\n\tcolor: var(--secondary-color);\n\ttext-decoration: none;\n}\n\n.carousel-arrow.right {\n\tright: 0;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InstructorList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InstructorList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InstructorList.vue?vue&type=template&id=0fbf729a&\"\nimport script from \"./InstructorList.vue?vue&type=script&lang=js&\"\nexport * from \"./InstructorList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InstructorList.vue?vue&type=style&index=0&id=0fbf729a&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"instructor-list-item cursor-pointer\",on:{\"click\":_vm.redirectToProfile}},[_c('div',[_c('img',{staticClass:\"instructor-image\",attrs:{\"src\":_vm.instructorData.image_path && !_vm.isThumbnailError\n\t\t\t? _vm.instructorData.image_path\n\t\t\t: require('@/assets/images/user_img_placeholder.jpg')},on:{\"error\":function () {\n\t\t\t\t_vm.isThumbnailError = true;\n\t\t\t}}})]),_vm._m(0),_c('div',[_c('p',{staticClass:\"instructor-name\",attrs:{\"title\":_vm.instructorData.name}},[_vm._v(\" \"+_vm._s(_vm.instructorData.name.slice(0, 32))+_vm._s(_vm.instructorData.name.length > 32 ? \"...\" : \"\")+\" \")])]),_c('div',{staticClass:\"instructor-about-container\"},[_c('div',{staticClass:\"instructor-about-item\"},[_c('span',{staticClass:\"instructor-about-item-info\"},[_vm._v(\" \"+_vm._s(_vm.instructorData.courses.length ? _vm.instructorData.courses.length : \"0\")+\" \")]),_c('span',{staticClass:\"instructor-about-item-label\"},[_vm._v(\" Courses \")])])]),_c('div',[_c('p',{staticClass:\"instructor-short-description\",attrs:{\"title\":_vm.instructorData.short_description}},[_vm._v(\" \"+_vm._s(_vm.instructorData.short_description.slice(0, 50))+_vm._s(_vm.instructorData.short_description.length > 50 ? \"...\" : \"\")+\" \")])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('span',{staticClass:\"instructor-position\"},[_vm._v(\"Instructor\")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"instructor-list-item cursor-pointer\" @click=\"redirectToProfile\">\n\t\t<div>\n\t\t\t<img class=\"instructor-image\" :src=\"\n\t\t\tinstructorData.image_path && !isThumbnailError\n\t\t\t\t? instructorData.image_path\n\t\t\t\t: require('@/assets/images/user_img_placeholder.jpg')\n\t\t\t\t\" @error=\"\n\t\t\t\t() => {\n\t\t\t\t\tisThumbnailError = true;\n\t\t\t\t}\n\t\t\t\" />\n\t\t</div>\n\t\t<div>\n\t\t\t<span class=\"instructor-position\">Instructor</span>\n\t\t</div>\n\t\t<div>\n\t\t\t<p class=\"instructor-name\" :title=\"instructorData.name\">\n\t\t\t\t{{ instructorData.name.slice(0, 32) }}{{ instructorData.name.length > 32 ? \"...\" : \"\" }}\n\t\t\t</p>\n\t\t</div>\n\t\t<div class=\"instructor-about-container\">\n\t\t\t<!-- <div class=\"instructor-about-item\">\n\t\t\t\t<span class=\"instructor-about-item-info\">\n\t\t\t\t\t{{ instructorData.ratings.value }}\n\t\t\t\t</span>\n\t\t\t\t<span class=\"instructor-about-item-label\"> Ratings </span>\n\t\t\t</div> -->\n\t\t\t<!-- <div class=\"instructor-about-item center\">\n\t\t\t\t<span class=\"instructor-about-item-info\">\n\t\t\t\t\t{{ instructorData.ratings.number }}\n\t\t\t\t</span>\n\t\t\t\t<span class=\"instructor-about-item-label\"> Reviews </span>\n\t\t\t</div> -->\n\t\t\t<div class=\"instructor-about-item\">\n\t\t\t\t<span class=\"instructor-about-item-info\">\n\t\t\t\t\t{{ instructorData.courses.length ? instructorData.courses.length : \"0\" }}\n\t\t\t\t</span>\n\t\t\t\t<span class=\"instructor-about-item-label\"> Courses </span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div>\n\t\t\t<p :title=\"instructorData.short_description\" class=\"instructor-short-description\">\n\t\t\t\t{{ instructorData.short_description.slice(0, 50)\n\t\t\t\t}}{{ instructorData.short_description.length > 50 ? \"...\" : \"\" }}\n\t\t\t</p>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"InstructorListItem\",\n\tdata() {\n\t\treturn {\n\t\t\tisThumbnailError: false,\n\t\t};\n\t},\n\tmethods: {\n\t\tredirectToProfile() {\n\t\t\tthis.$router.push({\n\t\t\t\tpath: '/instructor/profile',\n\t\t\t\tquery:{\n\t\t\t\t\t'trainersid':this.instructorData.id\n\t\t\t\t}\n\t\t\t});\n\t\t},\t\n\t},\n\tprops: { instructorData: Object },\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.instructor-list-item {\n\t\tpadding: 0 1.25rem 2.25rem !important;\n\t}\n}\n\n@media screen and (max-width: 480px) {\n\t.instructor-list-item {\n\t\tpadding: 0 2rem 2.25rem !important;\n\t}\n}\n\n.instructor-list-item {\n\tbackground-color: #ffffff;\n\tborder-radius: 10px;\n\tbackground-color: #fafafa;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n\tpadding: 0 1.5rem 2.25rem;\n\tdisplay: flex !important;\n\tflex-direction: column;\n\talign-items: center;\n\t/* justify-content: center; */\n\toverflow: visible;\n\theight: 28rem;\n}\n\n.instructor-list-item .instructor-image {\n\twidth: 9.75rem;\n\theight: 9.75rem;\n\tborder-radius: 50%;\n\tmargin-top: 10px;\n\tmargin-bottom: 1.25rem;\n\tbox-shadow: 0 1px 16px #a2a0a029;\n\tobject-fit: cover;\n}\n\n.instructor-position {\n\tcolor: #959595;\n\tfont-size: 1rem;\n\tline-height: 1.375rem;\n}\n\n.instructor-name {\n\tfont-size: 1.125rem;\n\tmargin-bottom: 1.25rem;\n}\n\n.instructor-about-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n}\n\n.instructor-about-item {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.instructor-about-item.center {\n\tpadding: 0 1.125rem;\n\tborder-left: 1px solid #e3e3e3;\n\tborder-right: 1px solid #e3e3e3;\n}\n\n.instructor-about-item-info {\n\tfont-weight: bold;\n\t/* margin-bottom: 0.25rem; */\n}\n\n.instructor-about-item-label {\n\tcolor: #959595;\n\tfont-size: 0.875rem;\n}\n\n.instructor-short-description {\n\ttext-align: center;\n\tcolor: #959595;\n\tletter-spacing: 0.42px;\n\tfont-size: 0.875rem;\n\tmargin-top: 1.25rem;\n\tmargin-bottom: 0;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InstructorListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InstructorListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InstructorListItem.vue?vue&type=template&id=7456708c&scoped=true&\"\nimport script from \"./InstructorListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./InstructorListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InstructorListItem.vue?vue&type=style&index=0&id=7456708c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7456708c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"jumbotron \"},[_c('div',{staticClass:\"container tt-box\"},[_c('div',{staticStyle:{\"flex\":\"1\"}},[_c('h4',{staticClass:\"inst-title\"},[_vm._v(\"Instructor\")]),_c('h1',{staticClass:\"instructor-name-text\"},[_vm._v(_vm._s(_vm.trainer.name)),_c('span')]),_c('h4',{staticClass:\"instructor-sd\"},[_vm._v(_vm._s(_vm.trainer.short_description))])]),_c('div',{staticClass:\"ml-5\"},[_c('img',{staticClass:\"tt-trainer-image\",attrs:{\"src\":_vm.trainer.image_path || '/img/user_img_placeholder.52f910c4.jpg'}})])])]),_c('div',{staticClass:\"container\"},[(_vm.trainer.long_description)?_c('h2',[_vm._v(\"Bio\")]):_vm._e(),(_vm.trainer.long_description)?_c('h4',{staticClass:\"mb-5 mt-3 instructor-ld\",staticStyle:{\"font-weight\":\"normal\"}},[_vm._v(_vm._s(_vm.trainer.long_description))]):_vm._e(),(_vm.filteredProductVariants && _vm.filteredProductVariants.length > 0)?_c('div',[_c('div',{staticClass:\"mt-3\"},_vm._l((_vm.filteredProductVariants),function(product){return _c('ProductListItem',{key:product.id,staticClass:\"grid\",staticStyle:{\"margin-bottom\":\"15px\"},attrs:{\"data\":product,\"purchased\":true}})}),1)]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n    <div>\n        <div class=\"jumbotron \">\n            <div class=\"container tt-box\">\n                <div style=\"flex: 1;\">\n                    <h4 class=\"inst-title\">Instructor</h4>\n                    <h1 class=\"instructor-name-text\">{{ trainer.name }}<span></span></h1>\n                    <h4 class=\"instructor-sd\">{{ trainer.short_description }}</h4>\n                </div>\n                <div class=\"ml-5\">\n                    <img class=\"tt-trainer-image\" :src=\"trainer.image_path || '/img/user_img_placeholder.52f910c4.jpg'\">\n                </div>\n            </div>\n        </div>\n        <div class=\"container\">\n            <h2 v-if=\"trainer.long_description\">Bio</h2>\n            <h4 v-if=\"trainer.long_description\" style=\"font-weight: normal;\" class=\"mb-5 mt-3 instructor-ld\">{{ trainer.long_description }}</h4>\n            <div v-if=\"filteredProductVariants && filteredProductVariants.length > 0\">\n                <!-- <h1 class=\"mt-4\">Course</h1> -->\n                <div class=\"mt-3\">\n                    <ProductListItem v-for=\"product in filteredProductVariants\" :key=\"product.id\" class=\"grid\" :data=\"product\" :purchased=\"true\" style=\"margin-bottom: 15px;\" />\n                </div>\n            </div>\n\n        </div>\n    </div>\n</template>\n\n<script>\nimport {\n    mapActions,\n    mapState,\n    mapGetters\n} from \"vuex\";\nimport ProductListItem from \"../Product/ProductListItem.vue\";\nexport default {\n    data() {\n        return {\n            trainersid: this.$route.query.trainersid,\n            trainer: null,\n            filteredProductVariants: [],\n        }\n    },\n    computed: {\n        ...mapGetters(\"productVariant\", [\"allProductVariants\"]),\n        ...mapState(\"user\", [\"trainers\"])\n    },\n    components: {\n        ProductListItem\n    },\n    methods: {\n        ...mapActions(\"user\", [\"fetchTrainersList\"]),\n        ...mapActions(\"productVariant\",[\"fetchProductVariants\"]),\n        getTrainer() {\n            var trainersList = this.trainers.filter(x => x.id == this.trainersid).map((t) => {\n                return {\n                    id: t.id,\n                    name: t.firstName + \" \" + t.lastName,\n                    long_description: t.extraProperties &&\n                        JSON.parse(t.extraProperties).CustomFields.LongDescription\n                        ? JSON.parse(t.extraProperties).CustomFields.LongDescription\n                        : \"\",\n                    short_description:\n                        t.extraProperties &&\n                            JSON.parse(t.extraProperties).CustomFields.ShortDescription\n                            ? JSON.parse(t.extraProperties).CustomFields.ShortDescription\n                            : \"\",\n                    courses: 0,\n                    image_path: t.profilePicture ?? null,\n                };\n            });\n            this.trainer = trainersList?.find(x => x);\n        },\n        filterTrainerCourse(){\n            \n        this.filteredProductVariants = this.allProductVariants.filter(element => {\n            if (element.properties.trainers == null) {\n                return false;\n            }\n            var trainerList = JSON.parse(element.properties.trainers);\n            if (trainerList.includes(this.trainersid)) {\n                return true;\n            }\n            return false;\n        });\n        }\n    },\n    created() {\n        if(this.allProductVariants==null || this.allProductVariants.length<=0)\n        {\n            this.fetchProductVariants();\n        }\n        this.filterTrainerCourse();\n        if (this.trainers && this.trainers.length > 0) {\n            this.getTrainer();\n        } else {\n            this.fetchTrainersList().then(() => {\n                this.getTrainer();\n            });\n        }\n    },\n    watch:{\n        allProductVariants(){\n            this.filterTrainerCourse();\n        }\n    }\n\n}\n</script>\n<style scoped>\n.inst-title {\n    color: var(--primary-color);\n    margin-bottom: 0px;\n}\n\n.tt-trainer-image {\n    border-radius: 90px;\n    object-fit: cover;\n    object-position: top;\n    width: 130px;\n    height: 130px;\n}\n\n.tt-box {\n    display: flex;\n}\n\n@media only screen and (max-width: 600px) {\n    .tt-box {\n        flex-direction: column-reverse;\n        align-items: center;\n    }\n\n    .tt-box img {\n        margin-bottom: 25px;\n        border-radius: 100px;\n        width: 200px;\n        height: 200px;\n    }\n}\n@media only screen and (max-width: 600px) {\n    .container{\n        max-width: 85%;\n    }\n    .jumbotron .container{\n        max-width: 100%;\n    }\n}\n@media screen and (min-width: 768px){\n.jumbotron h1, .jumbotron .h1 {\n    font-size: 50px;\n    color: #231F20;\n}\n}\n@media (min-width: 1200px)\n{\n.h1, h1 {\n    font-size: 2rem;\n}\n}\n</style>\n<style>\n.trainer-image {\n    border-radius: 20px;\n    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);\n    object-fit: cover;\n    object-position: top;\n    width: 300px;\n    height: 250px;\n}\n\nimg {\n    vertical-align: middle;\n}\n\nimg {\n    border: 0;\n}\n\n.name-of-instructor {\n    font-weight: 500;\n    font-size: 2.75rem;\n    line-height: 1.3;\n    color: var(--secondary-color);\n    margin-bottom: 0;\n    letter-spacing: -.45px;\n    padding: 40px 15px 15px;\n}\n\n.instructor-description {\n    margin: 0px;\n    font-size: 14px;\n    line-height: 18px;\n    padding: 0px;\n    display: block;\n    color: #000;\n    text-align: left;\n}\n\n.subdesc-of-instructor {\n    font-size: 1.375rem;\n    color: #898989;\n    font-weight: 400;\n    display: block;\n    line-height: 1.2px;\n}\n\n.instructor-name {\n    padding: 26px 5px 15px;\n}\n\n.description-div {\n    padding: 0px 5px;\n}\n.instructor-name-text{\n    color: #231F20;\nfont-family: Circular Std;\nfont-size: 40px;\nfont-style: normal;\nfont-weight: 500;\nline-height: normal;\n}\n.instructor-sd{\n    color: #231F20;\nfont-family: Circular Std;\nfont-size:11px;\nfont-style: normal;\nfont-weight: 500;\nline-height: normal;\n}\n.instructor-ld{\n    color: #4A4A4A;\nfont-family: Circular Std;\nfont-size: 14px;\nfont-style: normal;\nfont-weight: 450;\nline-height: normal;\n}\n.jumbotron .container {\n    max-width: 89%;\n}\n</style>","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InstructorProfile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InstructorProfile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InstructorProfile.vue?vue&type=template&id=2e367f36&scoped=true&\"\nimport script from \"./InstructorProfile.vue?vue&type=script&lang=js&\"\nexport * from \"./InstructorProfile.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InstructorProfile.vue?vue&type=style&index=0&id=2e367f36&prod&scoped=true&lang=css&\"\nimport style1 from \"./InstructorProfile.vue?vue&type=style&index=1&id=2e367f36&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2e367f36\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.item.status.toLowerCase() != 'paid')?_c('button',{staticClass:\"primary-btn pay-invoice\",on:{\"click\":_vm.payInvoice}},[_vm._v(\" Pay Now \")]):_vm._e(),_c('b-modal',{attrs:{\"visible\":_vm.visible,\"hide-header\":\"\",\"hide-footer\":\"\",\"centered\":\"\",\"no-close-on-backdrop\":\"\",\"content-class\":\"pay-now-modal\"},on:{\"change\":_vm.closeModal}},[(_vm.loading)?_c('div',{staticClass:\"body-container text-center\"},[_c('b-spinner')],1):(_vm.invoice.status == _vm.InvoiceStatus.PARTIALLY_PAID)?_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h3',{staticClass:\"text-center pt-5 pb-5\"},[_vm._v(\" Your invoice is partially paid. Please contact Admin for further payment. \")])]):(_vm.pendingPayments)?_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h3',{staticClass:\"text-center pt-5 pb-5\"},[_vm._v(\" You already have a payment pending for review \")]),_c('button',{staticClass:\"btn-block-rounded-primary width-100\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.handlePayNowClick}},[_vm._v(\" Update Payment \")])]):_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('h5',{staticClass:\"text-gray\"},[_vm._v(\"Total Amount\")]),_c('h2',{staticClass:\"text-bold mb-4\"},[_vm._v(\" \"+_vm._s(_vm.parseCurrency(_vm.totalAmount, _vm.invoice.currency, 0))+\" \")]),_c('p',{staticClass:\"text-uppercase-danger\"},[_vm._v(\"Payment Method\")]),_c('div',{staticClass:\"radio-group\"},[_vm._l((_vm.paymentOptions),function(option){return _c('div',{key:option.code,staticClass:\"border-bottom radio-input d-flex\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentMode),expression:\"paymentMode\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"radio\",\"name\":\"payment-method\",\"id\":option.serviceProvider},domProps:{\"value\":option.serviceProvider,\"checked\":_vm._q(_vm.paymentMode,option.serviceProvider)},on:{\"change\":function($event){_vm.paymentMode=option.serviceProvider}}}),_c('label',{staticClass:\"form-check-label flex-grow-1 d-flex justify-content-between align-items-center\",attrs:{\"for\":option.serviceProvider}},[_vm._v(\" \"+_vm._s(option.serviceName)+\" \"),(option.serviceData && JSON.parse(option.serviceData))?_c('img',{staticStyle:{\"height\":\"20px\"},attrs:{\"src\":JSON.parse(option.serviceData).IconSrc}}):_vm._e()])])}),_c('table',{staticClass:\"table mt-4\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"col-7\"},[_vm._v(\"Total (Before GST)\")]),_c('td',{staticClass:\"col-5 text-bold text-end\"},[_vm._v(\" \"+_vm._s(_vm.parseCurrency(_vm.totalAmount, \"PKR\", 0))+\" \")])]),_c('tr',[_c('td',{staticClass:\"col-7 text-muted\"},[_vm._v(\"GST\")]),_c('td',{staticClass:\"col-5 text-muted text-end\"},[_vm._v(\" \"+_vm._s(_vm.parseCurrency(0, \"PKR\", 2))+\" \")])]),_c('tr',{staticClass:\"text-bold\"},[_c('td',{staticClass:\"col-7\"},[_vm._v(\"Total (Including GST)\")]),_c('td',{staticClass:\"col-5 text-end\"},[_vm._v(\" \"+_vm._s(_vm.parseCurrency(_vm.totalAmount, \"PKR\", 0))+\" \")])])])]),_c('button',{staticClass:\"btn-block-rounded-primary width-100\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.handlePayNowClick}},[_vm._v(\" Pay Now \")])],2)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <button\n      v-if=\"item.status.toLowerCase() != 'paid'\"\n      @click=\"payInvoice\"\n      class=\"primary-btn pay-invoice\"\n    >\n      Pay Now\n    </button>\n    <b-modal\n      :visible=\"visible\"\n      hide-header\n      hide-footer\n      @change=\"closeModal\"\n      centered\n      no-close-on-backdrop\n      content-class=\"pay-now-modal\"\n    >\n      <div v-if=\"loading\" class=\"body-container text-center\">\n        <b-spinner></b-spinner>\n      </div>\n      <div\n        v-else-if=\"invoice.status == InvoiceStatus.PARTIALLY_PAID\"\n        class=\"body-container\"\n      >\n        <button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n          <img src=\"@/assets/images/cancel-icon.svg\" />\n        </button>\n        <h3 class=\"text-center pt-5 pb-5\">\n          Your invoice is partially paid. Please contact Admin for further\n          payment.\n        </h3>\n      </div>\n      <div v-else-if=\"pendingPayments\" class=\"body-container\">\n        <button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n          <img src=\"@/assets/images/cancel-icon.svg\" />\n        </button>\n        <h3 class=\"text-center pt-5 pb-5\">\n          You already have a payment pending for review\n        </h3>\n        <button\n          @click=\"handlePayNowClick\"\n          role=\"button\"\n          class=\"btn-block-rounded-primary width-100\"\n        >\n          Update Payment\n        </button>\n      </div>\n      <div v-else class=\"body-container\">\n        <button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n          <img src=\"@/assets/images/cancel-icon.svg\" />\n        </button>\n        <h5 class=\"text-gray\">Total Amount</h5>\n        <h2 class=\"text-bold mb-4\">\n          {{ parseCurrency(totalAmount, invoice.currency, 0) }}\n        </h2>\n        <p class=\"text-uppercase-danger\">Payment Method</p>\n        <div class=\"radio-group\">\n          <div\n            v-for=\"option in paymentOptions\"\n            :key=\"option.code\"\n            class=\"border-bottom radio-input d-flex\"\n          >\n            <input\n              v-model=\"paymentMode\"\n              class=\"form-check-input\"\n              type=\"radio\"\n              name=\"payment-method\"\n              :id=\"option.serviceProvider\"\n              :value=\"option.serviceProvider\"\n            />\n            <label\n              class=\"form-check-label flex-grow-1 d-flex justify-content-between align-items-center\"\n              :for=\"option.serviceProvider\"\n            >\n              {{ option.serviceName }}\n              <img\n                style=\"height: 20px\"\n                v-if=\"option.serviceData && JSON.parse(option.serviceData)\"\n                :src=\"JSON.parse(option.serviceData).IconSrc\"\n              />\n            </label>\n          </div>\n          <table class=\"table mt-4\">\n            <tbody>\n              <tr>\n                <td class=\"col-7\">Total (Before GST)</td>\n                <td class=\"col-5 text-bold text-end\">\n                  {{ parseCurrency(totalAmount, \"PKR\", 0) }}\n                </td>\n              </tr>\n              <tr>\n                <td class=\"col-7 text-muted\">GST</td>\n                <td class=\"col-5 text-muted text-end\">\n                  {{ parseCurrency(0, \"PKR\", 2) }}\n                </td>\n              </tr>\n              <tr class=\"text-bold\">\n                <td class=\"col-7\">Total (Including GST)</td>\n                <td class=\"col-5 text-end\">\n                  {{ parseCurrency(totalAmount, \"PKR\", 0) }}\n                </td>\n              </tr>\n            </tbody>\n          </table>\n          <button\n            @click=\"handlePayNowClick\"\n            role=\"button\"\n            class=\"btn-block-rounded-primary width-100\"\n          >\n            Pay Now\n          </button>\n        </div>\n      </div>\n      <!-- </div> -->\n    </b-modal>\n  </div>\n</template>\n\n<script>\nimport { mapGetters, mapActions, mapState } from \"vuex\";\nimport formatter from \"../../helpers/FormatHelpers\";\nimport { PaymentStatus, InvoiceStatus } from \"../../constants/pricing\";\n// import { InvoiceStatus } from \"../../constants/pricing\";\nexport default {\n  name: \"PayInvoiceModal\",\n  data() {\n    return {\n      showInvoiceModal: false,\n      paymentMode: \"\",\n      paymentOptions: null,\n      pendingPayments: null,\n      InvoiceStatus,\n    };\n  },\n  props: { invoice: Object, item: Object, totalAmount: String },\n  components: {},\n  methods: {\n    ...mapActions(\"appState\", [\"fetchExternalServices\"]),\n    ...mapActions(\"pricing\", [\"fetchPaymentsList\"]),\n    payInvoice() {\n      this.fetchPaymentsList({ invoiceID: this.invoice.id }).then((res) => {\n        console.log(res);\n        var isPendingPayment = res.payload.filter(\n          (payment) => payment.status == PaymentStatus.PENDING\n        );\n        if (isPendingPayment) {\n          this.pendingPayments = isPendingPayment.length\n            ? isPendingPayment\n            : null;\n          if (this.pendingPayments && this.pendingPayments.length > 0) {\n            this.paymentMode =\n              this.pendingPayments[\n                this.pendingPayments.length - 1\n              ].methodProvider;\n          }\n          if (\n            this.pendingPayments &&\n            this.pendingPayments[\n              this.pendingPayments.length - 1\n            ].methodProvider.toLowerCase() != \"banktransfer\"\n          ) {\n            this.pendingPayments = null;\n          }\n        }\n      });\n      this.showInvoiceModal = true;\n    },\n    closeModal() {\n      this.showInvoiceModal = false;\n    },\n    parseCurrency(amount, currency, decimal) {\n      return formatter.toCurrencyString(amount, currency, decimal);\n    },\n    iconPath(option) {\n      // console.log(`@${JSON.parse(option.serviceData).IconSrc}`);\n      return require(`@${JSON.parse(option.serviceData).IconSrc}`);\n    },\n    handlePayNowClick() {\n      if (\n        this.paymentMode.toLowerCase() == \"cash\" ||\n        this.paymentMode.toLowerCase() == \"banktransfer\" ||\n        this.paymentMode.toLowerCase() == \"paypro\" ||\n        this.paymentMode.toLowerCase() == \"meezan\" ||\n        this.paymentMode.toLowerCase() == \"scotia\" ||\n        this.paymentMode.toLowerCase() == \"ngenius\" ||\n        this.paymentMode.toLowerCase() == \"kuickpaycheckout\" ||\n        this.paymentMode.toLowerCase() == \"kuickpaybps\" ||\n        this.paymentMode.toLowerCase() == \"safepay\" ||\n        this.paymentMode.toLowerCase() == \"stripe\"\n      ) {\n        if(this.paymentMode.toLowerCase() == 'kuickpaybps') {\n          var kuickpaybpsPayment = this.paymentOptions.find((x) => x.serviceProvider.toLowerCase() == this.paymentMode.toLowerCase());\n          var serviceData = kuickpaybpsPayment.serviceData ? JSON.parse(kuickpaybpsPayment.serviceData) : null;\n          this.$router.push(`${this.payNowLink}/${this.invoice.id}?merchantcode=${serviceData.MerchantCode}`);\n          return;\n        }\n        if (!this.pendingPayments) {\n          this.$router.push(`${this.payNowLink}/${this.invoice.id}`);\n          return;\n        }\n        this.$router.push({\n          path: `${this.payNowLink}/${this.invoice.id}`,\n          query: { paymentID: this.pendingPayments[0].id },\n        });\n      }\n    },\n  },\n  computed: {\n    ...mapState(\"appState\", [\"externalServicesList\"]),\n    ...mapState(\"user\", [\"user\"]),\n    ...mapState(\"pricing\", [\"loading\"]),\n    visible() {\n      return this.showInvoiceModal;\n    },\n    payNowLink() {\n      return `/payment/${this.paymentMode.toLowerCase()}`;\n    },\n  },\n  created() {\n    if (!this.externalServicesList.PaymentGateway) {\n      this.fetchExternalServices(\"PaymentGateway\").then(() => {\n        if (\n          this.externalServicesList.PaymentGateway &&\n          this.externalServicesList.PaymentGateway.length > 0\n        ) {\n          this.paymentOptions = this.externalServicesList.PaymentGateway;\n          this.paymentMode =\n            this.externalServicesList.PaymentGateway[0].serviceProvider;\n        }\n        console.log(\n          \"payment options\",\n          this.externalServicesList.PaymentGateway\n        );\n      });\n    } else {\n      this.paymentOptions = this.externalServicesList.PaymentGateway;\n      this.paymentMode =\n        this.externalServicesList.PaymentGateway.length > 0\n          ? this.externalServicesList.PaymentGateway[0].serviceProvider\n          : null;\n    }\n  },\n};\n</script>\n\n<style>\n@media screen and (max-width: 768px) {\n  .primary-btn.pay-invoice {\n    font-weight: normal;\n    font-size: 0.875rem !important;\n    padding: 0.375rem !important;\n  }\n}\n\n.text-uppercase-danger {\n  font-size: 0.85rem;\n  text-transform: uppercase;\n  color: var(--color-danger);\n  margin: 0.5rem 0 0.75rem;\n}\n\n.radio-input {\n  padding: 1rem 0.25rem;\n}\n\n.radio-input input[type=\"radio\"] {\n  margin-right: 0.5rem;\n  width: 1.25rem;\n  height: 1.25rem;\n  outline: none;\n}\n.payment-icon {\n  width: 70px;\n  float: right;\n}\n\ntable {\n  line-height: 1rem;\n}\n\n.pay-now-modal .modal-body {\n  font-size: 1rem;\n}\n\n.primary-btn.pay-invoice {\n  border-radius: 0.375rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PayInvoiceModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PayInvoiceModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PayInvoiceModal.vue?vue&type=template&id=d65300c8&\"\nimport script from \"./PayInvoiceModal.vue?vue&type=script&lang=js&\"\nexport * from \"./PayInvoiceModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PayInvoiceModal.vue?vue&type=style&index=0&id=d65300c8&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login-webDisabled\"},[_c('h1',{staticClass:\"heading-bold-20\"},[_vm._v(\"Please download app for your device to access content.\")]),_c('ul',{staticClass:\"download-btn-list\"},[(_vm.systemParameters && _vm.systemParameters.AndroidAppUpdateUrl)?_c('li',{staticClass:\"download-btn-list-item\"},[_c('a',{staticClass:\"download android\",attrs:{\"href\":_vm.systemParameters.AndroidAppUpdateUrl,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fa fa-android fa-3x\"}),_c('span',{staticClass:\"df\"},[_vm._v(\"Download For\")]),_c('span',{staticClass:\"dfn\"},[_vm._v(\"Android\")])])]):_vm._e(),(_vm.systemParameters && _vm.systemParameters.IOSAppUpdateUrl)?_c('li',{staticClass:\"download-btn-list-item\"},[_c('a',{staticClass:\"download apple\",attrs:{\"href\":_vm.systemParameters.IOSAppUpdateUrl,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fa fa fa-apple fa-3x\"}),_c('span',{staticClass:\"df\"},[_vm._v(\"Download For\")]),_c('span',{staticClass:\"dfn\"},[_vm._v(\"IOS / IPAD\")])])]):_vm._e(),(_vm.systemParameters && _vm.systemParameters.WindowsAppUpdateURL)?_c('li',{staticClass:\"download-btn-list-item\"},[_c('a',{staticClass:\"download windows\",attrs:{\"href\":_vm.systemParameters.WindowsAppUpdateURL,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fa fa fa-windows fa-3x\"}),_c('span',{staticClass:\"df\"},[_vm._v(\"Download For\")]),_c('span',{staticClass:\"dfn\"},[_vm._v(\"Windows\")])])]):_vm._e(),(_vm.systemParameters && _vm.systemParameters.MacAppUpdateURL)?_c('li',{staticClass:\"download-btn-list-item\"},[_c('a',{staticClass:\"download apple\",attrs:{\"href\":_vm.systemParameters.MacAppUpdateURL,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fa fa fa-apple fa-3x\"}),_c('span',{staticClass:\"df\"},[_vm._v(\"Download For\")]),_c('span',{staticClass:\"dfn\"},[_vm._v(\"Mac\")])])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"login-webDisabled\">\n    <h1 class=\"heading-bold-20\">Please download app for your device to access content.</h1>\n    <ul class=\"download-btn-list\">\n      <li class=\"download-btn-list-item\" v-if=\"systemParameters && systemParameters.AndroidAppUpdateUrl\">\n        <a :href=\"systemParameters.AndroidAppUpdateUrl\" class=\"download android\"  target=\"_blank\" >\n          <i class=\"fa fa-android fa-3x\"></i>\n          <span class=\"df\">Download For</span>\n          <span class=\"dfn\">Android</span>\n        </a>\n      </lI>\n      <li class=\"download-btn-list-item\" v-if=\"systemParameters && systemParameters.IOSAppUpdateUrl\">\n        <a :href=\"systemParameters.IOSAppUpdateUrl\"  class=\"download apple\" target=\"_blank\" >\n          <i class=\"fa fa fa-apple fa-3x\"></i>\n          <span class=\"df\">Download For</span>\n          <span class=\"dfn\">IOS / IPAD</span>\n        </a>\n      </li>\n      <li class=\"download-btn-list-item\" v-if=\"systemParameters && systemParameters.WindowsAppUpdateURL\">\n        <a class=\"download windows\" :href=\"systemParameters.WindowsAppUpdateURL\" target=\"_blank\" >\n          <i class=\"fa fa fa-windows fa-3x\"></i>\n          <span class=\"df\">Download For</span>\n          <span class=\"dfn\">Windows</span>\n        </a>\n      </li>\n      <li class=\"download-btn-list-item\" v-if=\"systemParameters && systemParameters.MacAppUpdateURL\">\n        <a :href=\"systemParameters.MacAppUpdateURL\" target=\"_blank\" class=\"download apple\">\n          <i class=\"fa fa fa-apple fa-3x\"></i>\n          <span class=\"df\">Download For</span>\n          <span class=\"dfn\">Mac</span>\n        </a>\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport {mapState} from \"vuex\";\n\nexport default {\n  name: \"AppsDownloadInstructions\",\n  data() {\n    return {};\n  },\n  methods: {\n  },\n  computed: {\n    ...mapState(\"appState\", [\"isMobile\",\"systemParameters\"])\n  }\n}\n</script>\n\n<style scoped>\n.login-webDisabled{\n  display: flex;\n  align-items: center;\n  flex-direction: column;\n  margin: auto;\n  padding: 0 7% 0;\n  margin-top: 20px;\n}\n\n.download-btn-list {\n  text-align: center;\n  margin: 0;\n  padding: 0;\n  display: inline;\n}\n\n.download-btn-list-item {\n  display: inline;\n}\n\n.download-btn-list-item a{\n  margin: 10px;\n}\n\n.download {\n  width: 200px;\n  height: 70px;\n  background: black;\n  float: left;\n  border-radius: 5px;\n  position: relative;\n  color: #fff;\n  cursor: pointer;\n  border: 1px solid #fff;\n}\n\n.download > .fa {\n  color: #fff;\n  position: absolute;\n  top: 50%;\n  left: 15px;\n  transform: translateY(-50%);\n}\n\n.df,\n.dfn {\n  position: absolute;\n  left: 60px;\n  width: 50%;\n}\n\n.df {\n  top: 16px;\n  font-size: 12px;\n}\n\n.dfn {\n  top: 28px;\n  font-size: 18px;\n}\n\n.download:hover {\n  -webkit-filter: invert(100%);\n  filter: invert(100%);\n}\n</style>","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AppsDownloadInstructions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AppsDownloadInstructions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppsDownloadInstructions.vue?vue&type=template&id=68b3db42&scoped=true&\"\nimport script from \"./AppsDownloadInstructions.vue?vue&type=script&lang=js&\"\nexport * from \"./AppsDownloadInstructions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppsDownloadInstructions.vue?vue&type=style&index=0&id=68b3db42&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"68b3db42\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"banner-small\"},[_c('div',{staticClass:\"container d-flex\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"banner-small\">\n\t\t<div class=\"container d-flex\">\n\t\t\t<slot></slot>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"BannerSmall\",\n};\n</script>\n\n<style scoped>\n.banner-small {\n\tpadding: 0;\n\tbackground-color: #ebebeb;\n\tcolor: #231f20;\n\t/* font-size: 2.5rem; */\n\tfont-weight: 500;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BannerSmall.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BannerSmall.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BannerSmall.vue?vue&type=template&id=3a3fec9b&scoped=true&\"\nimport script from \"./BannerSmall.vue?vue&type=script&lang=js&\"\nexport * from \"./BannerSmall.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BannerSmall.vue?vue&type=style&index=0&id=3a3fec9b&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3a3fec9b\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tabs-banner\",class:{ mobile: _vm.isMobile }},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"d-flex align-items-center mb-4\"},[(!_vm.isMobile)?_c('p',{staticClass:\"mb-0\"},[_vm._v(\"Welcome \"+_vm._s(_vm.currentUserName))]):_vm._e(),(_vm.systemParameters.allowStudentCourseRegistration)?_c('router-link',{staticClass:\"add-btn ms-auto\",attrs:{\"to\":\"/register\",\"id\":\"registerCoursesBtn\",\"role\":\"button\"}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\")}}),_vm._v(\" register new courses \")]):_vm._e()],1),_c('div',[_c('ul',{class:[\n\t\t\t\t\t'inline-list',\n\t\t\t\t\t{\n\t\t\t\t\t\t'mobile-banner-tabs': _vm.isMobile,\n\t\t\t\t\t\t'banner-tabs': !_vm.isMobile,\n\t\t\t\t\t} ]},[_c('li',{class:{\n\t\t\t\t\t\tselected: this.activeTab == 'courses',\n\t\t\t\t\t\t'mobile-tab': _vm.isMobile,\n\t\t\t\t\t\t'banner-tab': !_vm.isMobile,\n\t\t\t\t\t},attrs:{\"id\":\"courses\"},on:{\"click\":_vm.changeTab}},[_c('i',{staticClass:\"fas fa-book tab-icon\"}),_vm._v(_vm._s(_vm.tabText[0])+\" \")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"tabs-banner\" :class=\"{ mobile: isMobile }\">\n\t\t<div class=\"container\">\n\t\t\t<div class=\"d-flex align-items-center mb-4\">\n\t\t\t\t<p v-if=\"!isMobile\" class=\"mb-0\">Welcome {{ currentUserName }}</p>\n\t\t\t\t<router-link\n\t\t\t\t\tto=\"/register\"\n\t\t\t\t\tclass=\"add-btn ms-auto\"\n\t\t\t\t\tid=\"registerCoursesBtn\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tv-if=\"systemParameters.allowStudentCourseRegistration\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/add-border-icon.svg\" class=\"add-btn-icon\" />\n\t\t\t\t\tregister new courses\n\t\t\t\t</router-link>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<ul\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'inline-list',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'mobile-banner-tabs': isMobile,\n\t\t\t\t\t\t\t'banner-tabs': !isMobile,\n\t\t\t\t\t\t},\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<li\n\t\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\tselected: this.activeTab == 'courses',\n\t\t\t\t\t\t\t'mobile-tab': isMobile,\n\t\t\t\t\t\t\t'banner-tab': !isMobile,\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\tid=\"courses\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i class=\"fas fa-book tab-icon\"></i>{{ tabText[0] }}\n\t\t\t\t\t</li>\n\t\t\t\t\t<!-- <li\n\t\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\tselected: this.activeTab == 'forum',\n\t\t\t\t\t\t\t'mobile-tab': isMobile,\n\t\t\t\t\t\t\t'banner-tab': !isMobile,\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\tid=\"forum\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i class=\"far fa-comment tab-icon\"></i>{{ tabText[1] }}\n\t\t\t\t\t</li> -->\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<!-- <div> -->\n\n\t\t\t<!-- </div> -->\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapState } from \"vuex\";\n\nexport default {\n\tname: \"BannerWithTabs\",\n\tmethods: {\n\t\tchangeTab(e) {\n\t\t\tthis.activeTab = e.target.id;\n\t\t\tthis.$emit(\"activeTab\", this.activeTab);\n\t\t},\n\t},\n\tprops: { activeTab: String },\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"appState\", [\"isMobile\", \"systemParameters\"]),\n\t\tcurrentUserName() {\n\t\t\treturn `${this.user.firstName} ${this.user.lastName}`;\n\t\t},\n\t\ttabText() {\n\t\t\tif (this.isMobile) {\n\t\t\t\treturn [\"Courses\", \"Discussion\"];\n\t\t\t} else return [\"My Courses\", \"Discussion Forum\"];\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.tabs-banner {\n\tpadding: 1.5rem 0 0;\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tcolor: var(--color-text-default);\n\tbackground-color: var(--color-light-gray);\n}\n\n/* .tabs-banner .container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n} */\n\n.tabs-banner.mobile .container,\n.tabs-banner .container {\n\tpadding: 0 1rem;\n}\n\n.mobile-banner-tabs {\n\tdisplay: flex;\n\tpadding: 0 0 5rem;\n\tdisplay: grid;\n\tgrid-auto-flow: column;\n\tgrid-auto-columns: 1fr;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n}\n\n.banner-tab {\n\tpadding: 1rem 1.25rem;\n\tborder-radius: 8px 8px 0 0;\n\tbackground-color: var(--color-off-white);\n\tfont-weight: 500;\n\t/* font-size: 0.8rem; */\n\tmargin-right: 1rem;\n\tcursor: pointer;\n\tbox-shadow: 0 -6px 8px #e0e0e029;\n}\n\n.mobile-tab {\n\tbackground-color: var(--color-off-white);\n\tfont-weight: 500;\n\tpadding: 1.125rem 0rem;\n\tbox-shadow: 0 -6px 8px #e0e0e029;\n\tborder-radius: 0 0.5rem 0.5rem 0 !important;\n}\n\n.mobile-tab:first-of-type {\n\tborder-radius: 0.5rem 0 0 0.5rem !important;\n}\n\n.banner-tab.selected,\n.mobile-tab.selected {\n\tbackground-color: var(--color-white) !important;\n\t/* line-height: 1.6; */\n}\n\n.tab-icon {\n\tfont-size: 1.1rem;\n\tmargin-right: 0.5rem;\n\tpointer-events: none;\n}\n\n.banner-tab.selected,\n.mobile-tab.selected {\n\tcolor: var(--primary-color) !important;\n}\n\n.add-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0.625rem 1rem;\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.875rem;\n\tline-height: 1.125rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\ttext-decoration: none;\n\ttransition: all 0.3s ease;\n}\n\n.add-btn:hover {\n\tbox-shadow: 4px 6px 5px 0px rgb(197 197 197 / 20%);\n}\n\n.add-btn-icon {\n\tmargin-right: 0.625rem;\n\twidth: 1rem;\n\theight: 1rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BannerWithTabs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BannerWithTabs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BannerWithTabs.vue?vue&type=template&id=fe4cef12&scoped=true&\"\nimport script from \"./BannerWithTabs.vue?vue&type=script&lang=js&\"\nexport * from \"./BannerWithTabs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BannerWithTabs.vue?vue&type=style&index=0&id=fe4cef12&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"fe4cef12\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {\nvar _obj, _obj$1, _obj$2, _obj$3, _obj$4;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',{class:[\n\t\t\t( _obj = {\n\t\t\t\t'form-check-label': !_vm.customLabelClass\n\t\t\t}, _obj[_vm.customLabelClass] = _vm.customLabelClass, _obj ) ],attrs:{\"for\":_vm.inputFieldOptions.displayName}},[_vm._v(_vm._s(_vm.inputFieldOptions.displayName)+\" \"+_vm._s(_vm.inputFieldOptions.isRequired && _vm.inputFieldOptions.displayName ? \" (Required)\" : \"\"))]),(_vm.inputFieldOptions.type.toLowerCase() == 'textarea')?_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],class:[\n\t\t\t( _obj$1 = {\n\t\t\t\t'form-control': !_vm.customInputClass\n\t\t\t}, _obj$1[_vm.customInputClass] = _vm.customInputClass, _obj$1['input-w-icon'] =  _vm.hasIcon, _obj$1 ) ],attrs:{\"type\":\"textarea\",\"placeholder\":((_vm.inputFieldOptions.displayName) + \" \" + (_vm.inputFieldOptions.isRequired == 'true' ? '(required)' : '')),\"required\":_vm.inputFieldOptions.isRequired == 'true',\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly},domProps:{\"value\":(_vm.inputValue)},on:{\"change\":function($event){return _vm.$emit('inputValue', _vm.inputValue)},\"input\":function($event){if($event.target.composing){ return; }_vm.inputValue=$event.target.value}}}):(_vm.inputFieldOptions.type.toLowerCase() == 'select')?_c('div',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],class:[{ 'form-control': !_vm.customInputClass, customInputClass: _vm.customInputClass }],attrs:{\"type\":\"search\",\"placeholder\":((_vm.inputFieldOptions.displayName) + \" \" + (_vm.inputFieldOptions.isRequired == 'true' ? '(required)' : '')),\"required\":_vm.inputFieldOptions.isRequired == 'true',\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled || _vm.readonly},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.inputValue=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},function($event){return _vm.$emit('inputValue', _vm.inputValue)}]}},_vm._l((_vm.inputFieldOptions.SelectOptions),function(option){return _c('option',{key:option.Value,domProps:{\"value\":option.Value}},[_vm._v(\" \"+_vm._s(option.displayName)+\" \")])}),0)]):(_vm.inputFieldOptions.type.toLowerCase() == 'checkbox')?_c('div',{staticClass:\"mb-2\"},_vm._l(((JSON.parse(_vm.inputFieldOptions.properties)[\"CheckboxItems\"])),function(checkbox,index){\n\t\t\tvar _obj;\nreturn (JSON.parse(_vm.inputFieldOptions.properties)[\"CheckboxItems\"])?_c('div',{key:index,staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue[checkbox.value]),expression:\"inputValue[checkbox.value]\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":checkbox.value,\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly},domProps:{\"value\":checkbox.value,\"checked\":Array.isArray(_vm.inputValue[checkbox.value])?_vm._i(_vm.inputValue[checkbox.value],checkbox.value)>-1:(_vm.inputValue[checkbox.value])},on:{\"change\":[function($event){var $$a=_vm.inputValue[checkbox.value],$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=checkbox.value,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.inputValue, checkbox.value, $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.inputValue, checkbox.value, $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.inputValue, checkbox.value, $$c)}},function($event){_vm.$emit('inputValue',Object.keys(_vm.inputValue).find(function (k) { return _vm.inputValue[k]==true; })?_vm.inputValue:null)}]}}),_c('label',{class:[\n\t\t\t\t\t( _obj = {\n\t\t\t\t\t\t'form-check-label': !_vm.customLabelClass\n\t\t\t\t\t}, _obj[_vm.customLabelClass] = _vm.customLabelClass, _obj ) ],attrs:{\"for\":checkbox.value}},[_vm._v(_vm._s(checkbox.displayName))])]):_vm._e()}),0):(_vm.inputFieldOptions.type.toLowerCase() == 'radio')?_c('div',{staticClass:\"mb-2 d-flex flex-column\"},[_c('b-form-radio-group',{attrs:{\"id\":_vm.inputFieldOptions.displayName,\"buttons\":_vm.inputFieldOptions.radioStyle.toLowerCase() == 'buttons',\"html-field\":\"DisplayName\",\"options\":_vm.inputFieldOptions.RadioButtonItems,\"button-variant\":\"outline\",\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled || _vm.readonly},on:{\"change\":function($event){return _vm.$emit('inputValue', _vm.inputValue)}},model:{value:(_vm.inputValue),callback:function ($$v) {_vm.inputValue=$$v},expression:\"inputValue\"}})],1):(_vm.inputFieldOptions.type.toLowerCase() == 'range')?_c('div',{staticClass:\"d-flex justify-content-between mb-2\"},[_c('input',{staticClass:\"d-flex flex-grow-2\",attrs:{\"type\":\"range\",\"min\":_vm.inputFieldOptions.Start,\"max\":_vm.inputFieldOptions.End,\"step\":_vm.inputFieldOptions.Step,\"oninput\":\"this.nextElementSibling.innerHTML = this.value\",\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly}}),_c('output',{staticClass:\"d-flex flex-grow-1 justify-content-center\"})]):(_vm.inputFieldOptions.type.toLowerCase() == 'tel')?_c('div',{staticClass:\"d-flex justify-content-between mb-2\"},[_c('vue-tel-input',{class:((_vm.customInputClass ? _vm.customInputClass : 'form-control') + \" \" + (_vm.isPhoneError && _vm.showError ? 'error' : '')),attrs:{\"defaultCountry\":\"PK\",\"inputOptions\":_vm.telInputOptions,\"validCharactersOnly\":\"\",\"autoFormat\":true,\"mode\":\"national\",\"invalidMsg\":\"Please enter a valid phone number\",\"id\":\"mobile\",\"disabled\":_vm.readonly || _vm.disabled},on:{\"input\":_vm.validate,\"blur\":function($event){_vm.showError = true},\"focus\":function($event){_vm.showError = false}},model:{value:(_vm.inputValue),callback:function ($$v) {_vm.inputValue=$$v},expression:\"inputValue\"}})],1):_c('div',{staticClass:\"form-group\"},[((_vm.inputFieldOptions.type.toLowerCase())==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],class:[\n\t\t\t\t( _obj$2 = {\n\t\t\t\t\t'form-control': !_vm.customInputClass\n\t\t\t\t}, _obj$2[_vm.customInputClass] = _vm.customInputClass, _obj$2 ) ],attrs:{\"placeholder\":((_vm.inputFieldOptions.displayName) + \" \" + (_vm.inputFieldOptions.isRequired == 'true' ? '(required)' : '')),\"required\":_vm.inputFieldOptions.isRequired == 'true',\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.inputValue)?_vm._i(_vm.inputValue,null)>-1:(_vm.inputValue)},on:{\"change\":[function($event){var $$a=_vm.inputValue,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.inputValue=$$a.concat([$$v]))}else{$$i>-1&&(_vm.inputValue=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.inputValue=$$c}},function($event){return _vm.$emit('inputValue', _vm.inputValue)}]}}):((_vm.inputFieldOptions.type.toLowerCase())==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],class:[\n\t\t\t\t( _obj$3 = {\n\t\t\t\t\t'form-control': !_vm.customInputClass\n\t\t\t\t}, _obj$3[_vm.customInputClass] = _vm.customInputClass, _obj$3 ) ],attrs:{\"placeholder\":((_vm.inputFieldOptions.displayName) + \" \" + (_vm.inputFieldOptions.isRequired == 'true' ? '(required)' : '')),\"required\":_vm.inputFieldOptions.isRequired == 'true',\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.inputValue,null)},on:{\"change\":[function($event){_vm.inputValue=null},function($event){return _vm.$emit('inputValue', _vm.inputValue)}]}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],class:[\n\t\t\t\t( _obj$4 = {\n\t\t\t\t\t'form-control': !_vm.customInputClass\n\t\t\t\t}, _obj$4[_vm.customInputClass] = _vm.customInputClass, _obj$4 ) ],attrs:{\"placeholder\":((_vm.inputFieldOptions.displayName) + \" \" + (_vm.inputFieldOptions.isRequired == 'true' ? '(required)' : '')),\"required\":_vm.inputFieldOptions.isRequired == 'true',\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"type\":_vm.inputFieldOptions.type.toLowerCase()},domProps:{\"value\":(_vm.inputValue)},on:{\"change\":function($event){return _vm.$emit('inputValue', _vm.inputValue)},\"input\":function($event){if($event.target.composing){ return; }_vm.inputValue=$event.target.value}}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<label\n\t\t\t:class=\"[\n\t\t\t\t{\n\t\t\t\t\t'form-check-label': !customLabelClass,\n\t\t\t\t\t[customLabelClass]: customLabelClass,\n\t\t\t\t},\n\t\t\t]\"\n\t\t\t:for=\"inputFieldOptions.displayName\"\n\t\t\t>{{ inputFieldOptions.displayName }}\n\t\t\t{{ inputFieldOptions.isRequired && inputFieldOptions.displayName ? \" (Required)\" : \"\" }}</label\n\t\t>\n\t\t<textarea\n\t\t\tv-if=\"inputFieldOptions.type.toLowerCase() == 'textarea'\"\n\t\t\t:class=\"[\n\t\t\t\t{\n\t\t\t\t\t'form-control': !customInputClass,\n\t\t\t\t\t[customInputClass]: customInputClass,\n\t\t\t\t\t'input-w-icon': hasIcon,\n\t\t\t\t},\n\t\t\t]\"\n\t\t\ttype=\"textarea\"\n\t\t\t:placeholder=\"`${inputFieldOptions.displayName} ${\n\t\t\t\tinputFieldOptions.isRequired == 'true' ? '(required)' : ''\n\t\t\t}`\"\n\t\t\t:required=\"inputFieldOptions.isRequired == 'true'\"\n\t\t\tv-model=\"inputValue\"\n\t\t\t@change=\"$emit('inputValue', inputValue)\"\n\t\t\t:tabindex=\"tabIndex\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t/>\n\t\t<div v-else-if=\"inputFieldOptions.type.toLowerCase() == 'select'\">\n\t\t\t<select\n\t\t\t\t:class=\"[{ 'form-control': !customInputClass, customInputClass }]\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:placeholder=\"`${inputFieldOptions.displayName} ${\n\t\t\t\t\tinputFieldOptions.isRequired == 'true' ? '(required)' : ''\n\t\t\t\t}`\"\n\t\t\t\t:required=\"inputFieldOptions.isRequired == 'true'\"\n\t\t\t\tv-model=\"inputValue\"\n\t\t\t\t@change=\"$emit('inputValue', inputValue)\"\n\t\t\t\t:tabindex=\"tabIndex\"\n\t\t\t\t:disabled=\"disabled || readonly\"\n\t\t\t>\n\t\t\t\t<option\n\t\t\t\t\tv-for=\"option in inputFieldOptions.SelectOptions\"\n\t\t\t\t\t:key=\"option.Value\"\n\t\t\t\t\t:value=\"option.Value\"\n\t\t\t\t>\n\t\t\t\t\t{{ option.displayName }}\n\t\t\t\t</option>\n\t\t\t</select>\n\t\t</div>\n\t\t<div\n\t\t\tclass=\"mb-2\"\n\t\t\tv-else-if=\"inputFieldOptions.type.toLowerCase() == 'checkbox'\"\n\t\t>\n\t\t\t<div\n\t\t\t    v-if=\"JSON.parse(inputFieldOptions.properties)[`CheckboxItems`]\"\n\t\t\t\tclass=\"form-check\"\n\t\t\t\tv-for=\"(checkbox, index) in  (JSON.parse(inputFieldOptions.properties)[`CheckboxItems`])\"\n\t\t\t\t:key=\"index\"\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t:value=\"checkbox.value\"\n\t\t\t\t\t:id=\"checkbox.value\"\n\t\t\t\t\tv-model=\"inputValue[checkbox.value]\"\n\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t@change=\"$emit('inputValue',Object.keys(inputValue).find(k => inputValue[k]==true)?inputValue:null)\"\n\t\t\t\t\t:tabindex=\"tabIndex\"\n\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t/>\n\t\t\t\t<label\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'form-check-label': !customLabelClass,\n\t\t\t\t\t\t\t[customLabelClass]: customLabelClass,\n\t\t\t\t\t\t},\n\t\t\t\t\t]\"\n\t\t\t\t\t:for=\"checkbox.value\"\n\t\t\t\t\t>{{ checkbox.displayName }}</label\n\t\t\t\t>\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\tclass=\"mb-2 d-flex flex-column\"\n\t\t\tv-else-if=\"inputFieldOptions.type.toLowerCase() == 'radio'\"\n\t\t>\n\t\t\t<b-form-radio-group\n\t\t\t\t:id=\"inputFieldOptions.displayName\"\n\t\t\t\t:buttons=\"inputFieldOptions.radioStyle.toLowerCase() == 'buttons'\"\n\t\t\t\tv-model=\"inputValue\"\n\t\t\t\thtml-field=\"DisplayName\"\n\t\t\t\t:options=\"inputFieldOptions.RadioButtonItems\"\n\t\t\t\t@change=\"$emit('inputValue', inputValue)\"\n\t\t\t\tbutton-variant=\"outline\"\n\t\t\t\t:tabindex=\"tabIndex\"\n\t\t\t\t:disabled=\"disabled || readonly\"\n\t\t\t>\n\t\t\t</b-form-radio-group>\n\t\t</div>\n\t\t<div\n\t\t\tclass=\"d-flex justify-content-between mb-2\"\n\t\t\tv-else-if=\"inputFieldOptions.type.toLowerCase() == 'range'\"\n\t\t>\n\t\t\t<input\n\t\t\t\tclass=\"d-flex flex-grow-2\"\n\t\t\t\ttype=\"range\"\n\t\t\t\t:min=\"inputFieldOptions.Start\"\n\t\t\t\t:max=\"inputFieldOptions.End\"\n\t\t\t\t:step=\"inputFieldOptions.Step\"\n\t\t\t\toninput=\"this.nextElementSibling.innerHTML = this.value\"\n\t\t\t\t:tabindex=\"tabIndex\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t/>\n\t\t\t<output class=\"d-flex flex-grow-1 justify-content-center\"></output>\n\t\t</div>\n\t\t<div\n\t\t\tclass=\"d-flex justify-content-between mb-2\"\n\t\t\tv-else-if=\"inputFieldOptions.type.toLowerCase() == 'tel'\"\n\t\t>\n\t\t\t<vue-tel-input\n\t\t\t\t:class=\"`${customInputClass ? customInputClass : 'form-control'} ${\n\t\t\t\t\tisPhoneError && showError ? 'error' : ''\n\t\t\t\t}`\"\n\t\t\t\tdefaultCountry=\"PK\"\n\t\t\t\t:inputOptions=\"telInputOptions\"\n\t\t\t\tvalidCharactersOnly\n\t\t\t\tv-model=\"inputValue\"\n\t\t\t\t@input=\"validate\"\n\t\t\t\t@blur=\"showError = true\"\n\t\t\t\t@focus=\"showError = false\"\n\t\t\t\t:autoFormat=\"true\"\n\t\t\t\tmode=\"national\"\n\t\t\t\tinvalidMsg=\"Please enter a valid phone number\"\n\t\t\t\tid=\"mobile\"\n\t\t\t\t:disabled=\"readonly || disabled\"\n\t\t\t></vue-tel-input>\n\t\t</div>\n\t\t<div class=\"form-group\" v-else>\n\t\t\t<input\n\t\t\t\t:class=\"[\n\t\t\t\t\t{\n\t\t\t\t\t\t'form-control': !customInputClass,\n\t\t\t\t\t\t[customInputClass]: customInputClass\n\t\t\t\t\t},\n\t\t\t\t]\"\n\t\t\t\t:type=\"inputFieldOptions.type.toLowerCase()\"\n\t\t\t\t:placeholder=\"`${inputFieldOptions.displayName} ${\n\t\t\t\t\tinputFieldOptions.isRequired == 'true' ? '(required)' : ''\n\t\t\t\t}`\"\n\t\t\t\t:required=\"inputFieldOptions.isRequired == 'true'\"\n\t\t\t\tv-model=\"inputValue\"\n\t\t\t\t@change=\"$emit('inputValue', inputValue)\"\n\t\t\t\t:tabindex=\"tabIndex\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t/>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nconst getCountryISO3 = require(\"country-iso-2-to-3\");\n\nexport default {\n\tname: \"DynamicCustomFormInput\",\n\tprops: {\n\t\tinputFieldOptions: Object,\n\t\tcustomInputClass: { type: String, default: null },\n\t\thasIcon: Boolean,\n\t\tcustomLabelClass: { type: String, default: null },\n\t\ttabIndex: Number,\n\t\tinputSetValue: { type: String, default: null },\n\t\tdisabled: Boolean,\n\t\treadonly: Boolean,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tinputValue: null,\n\t\t\tphone: null,\n\t\t\tisPhoneError: false,\n\t\t\tshowError: false,\n\t\t\ttelInputOptions: {\n\t\t\t\tautocomplete: \"on\",\n\t\t\t\tmaxlength: 15,\n\t\t\t\ttabindex: this.$props.tabIndex,\n\t\t\t\tplaceholder: this.$props.inputFieldOptions.displayName,\n\t\t\t\tmode: \"national\",\n\t\t\t},\n\t\t};\n\t},\n\tmethods: {\n\t\tvalidate(num, obj) {\n\t\t\t// console.log(num, obj);\n\t\t\tif (obj.valid != null && obj.valid === false) {\n\t\t\t\tthis.isPhoneError = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.isPhoneError = false;\n\t\t\tif (obj.country && obj.country.iso2) {\n\t\t\t\tthis.countryCode = getCountryISO3(obj.country.iso2);\n\t\t\t\tthis.phone = obj.number;\n\t\t\t\tthis.$emit(\"inputValue\", this.phone);\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t},\n\tcreated() {\n\t\t// console.log(this.inputSetValue);\n\t\tif (this.inputFieldOptions.type.toLowerCase() == \"tel\") { \n\t\t\tconsole.log(this.inputSetValue);\n\t\t\tif (this.inputSetValue) this.phone = this.inputSetValue ?? null;\n\t\t\tif (this.inputSetValue) this.inputValue = this.inputSetValue ?? null;\n\t\t\tthis.phone = this.inputFieldOptions.value ?? null;\n\t\t\treturn;\n\t\t}\n\t\tthis.inputValue = this.inputFieldOptions.value ?? null;\n\t\tif (this.inputSetValue) this.inputValue = this.inputSetValue ?? null;\n\t\tif (this.inputFieldOptions.type.toLowerCase() == \"checkbox\" && this.inputFieldOptions.properties) {\n\t\t\tif(!this.inputValue)\n\t\t\t{\n\t\t\t\tthis.inputValue={};\n\t\t\t}\n\t\t\tJSON.parse(this.inputFieldOptions.properties).CheckboxItems.forEach((item) => {\n\t\t\t\tdebugger;\n\t\t\t\tthis.inputValue[item.value] = item.checked && item.checked==\"true\"?true: null;\n\t\t\t});\n\t\t}\n\t\tif(this.inputFieldOptions.value)\n\t\t{\t\t\t\n\t\t\tthis.$emit('inputValue', this.inputFieldOptions.value);\n\t\t}\n\t},\n};\n</script>\n\n<style scoped>\n.flex-grow-2 {\n\tflex-grow: 2 !important;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DynamicCustomFormInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DynamicCustomFormInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DynamicCustomFormInput.vue?vue&type=template&id=ceb13436&scoped=true&\"\nimport script from \"./DynamicCustomFormInput.vue?vue&type=script&lang=js&\"\nexport * from \"./DynamicCustomFormInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DynamicCustomFormInput.vue?vue&type=style&index=0&id=ceb13436&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ceb13436\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {\nvar _obj, _obj$1, _obj$2, _obj$3, _obj$4;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.showLabel)?_c('label',{class:[\n\t\t\t( _obj = {\n\t\t\t\t'form-check-label': !_vm.customLabelClass\n\t\t\t}, _obj[_vm.customLabelClass] = _vm.customLabelClass, _obj ) ],attrs:{\"for\":_vm.inputFieldOptions.DisplayName}},[_vm._v(_vm._s(_vm.inputFieldOptions.DisplayName)+\" \"+_vm._s(_vm.inputFieldOptions.IsRequired ? \" (Required)\" : \"\"))]):_vm._e(),(_vm.inputFieldOptions.Type.toLowerCase() == 'textarea')?_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],class:[\n\t\t\t( _obj$1 = {\n\t\t\t\t'form-control': !_vm.customInputClass\n\t\t\t}, _obj$1[_vm.customInputClass] = _vm.customInputClass, _obj$1['input-w-icon'] =  _vm.hasIcon, _obj$1 ) ],attrs:{\"type\":\"textarea\",\"placeholder\":((_vm.inputFieldOptions.DisplayName) + \" \" + (_vm.inputFieldOptions.IsRequired == 'true' ? '(required)' : '')),\"required\":_vm.inputFieldOptions.IsRequired == 'true',\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly},domProps:{\"value\":(_vm.inputValue)},on:{\"change\":function($event){return _vm.$emit('inputValue', _vm.inputValue)},\"input\":function($event){if($event.target.composing){ return; }_vm.inputValue=$event.target.value}}}):(_vm.inputFieldOptions.Type.toLowerCase() == 'select')?_c('div',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],class:[{ 'form-control': !_vm.customInputClass, customInputClass: _vm.customInputClass }],attrs:{\"type\":\"search\",\"placeholder\":((_vm.inputFieldOptions.DisplayName) + \" \" + (_vm.inputFieldOptions.IsRequired == 'true' ? '(required)' : '')),\"required\":_vm.inputFieldOptions.IsRequired == 'true',\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled || _vm.readonly},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.inputValue=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},function($event){return _vm.$emit('inputValue', _vm.inputValue)}]}},_vm._l((_vm.inputFieldOptions.SelectOptions),function(option){return _c('option',{key:option.Value,domProps:{\"value\":option.Value}},[_vm._v(\" \"+_vm._s(option.DisplayName)+\" \")])}),0)]):(_vm.inputFieldOptions.Type.toLowerCase() == 'checkbox')?_c('div',{staticClass:\"mb-2\"},_vm._l((_vm.inputFieldOptions.CheckboxItems),function(checkbox,index){\n\t\t\tvar _obj;\nreturn _c('div',{key:index,staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue[checkbox.value]),expression:\"inputValue[checkbox.value]\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":checkbox.value,\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly},domProps:{\"value\":checkbox.value,\"checked\":Array.isArray(_vm.inputValue[checkbox.value])?_vm._i(_vm.inputValue[checkbox.value],checkbox.value)>-1:(_vm.inputValue[checkbox.value])},on:{\"change\":[function($event){var $$a=_vm.inputValue[checkbox.value],$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=checkbox.value,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.inputValue, checkbox.value, $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.inputValue, checkbox.value, $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.inputValue, checkbox.value, $$c)}},function($event){return _vm.$emit('inputValue', _vm.inputValue)}]}}),_c('label',{class:[\n\t\t\t\t\t( _obj = {\n\t\t\t\t\t\t'form-check-label': !_vm.customLabelClass\n\t\t\t\t\t}, _obj[_vm.customLabelClass] = _vm.customLabelClass, _obj ) ],attrs:{\"for\":checkbox.value}},[_vm._v(_vm._s(checkbox.DisplayName))])])}),0):(_vm.inputFieldOptions.Type.toLowerCase() == 'radio')?_c('div',{staticClass:\"mb-2 d-flex flex-column\"},[_c('b-form-radio-group',{attrs:{\"id\":_vm.inputFieldOptions.DisplayName,\"buttons\":_vm.inputFieldOptions.radioStyle.toLowerCase() == 'buttons',\"html-field\":\"DisplayName\",\"options\":_vm.inputFieldOptions.RadioButtonItems,\"button-variant\":\"outline\",\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled || _vm.readonly},on:{\"change\":function($event){return _vm.$emit('inputValue', _vm.inputValue)}},model:{value:(_vm.inputValue),callback:function ($$v) {_vm.inputValue=$$v},expression:\"inputValue\"}})],1):(_vm.inputFieldOptions.Type.toLowerCase() == 'range')?_c('div',{staticClass:\"d-flex justify-content-between mb-2\"},[_c('input',{staticClass:\"d-flex flex-grow-2\",attrs:{\"type\":\"range\",\"min\":_vm.inputFieldOptions.Start,\"max\":_vm.inputFieldOptions.End,\"step\":_vm.inputFieldOptions.Step,\"oninput\":\"this.nextElementSibling.innerHTML = this.value\",\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly}}),_c('output',{staticClass:\"d-flex flex-grow-1 justify-content-center\"})]):(_vm.inputFieldOptions.Type.toLowerCase() == 'tel')?_c('div',{staticClass:\"d-flex justify-content-between mb-2\"},[_c('vue-tel-input',{class:((_vm.customInputClass ? _vm.customInputClass : 'form-control') + \" \" + (_vm.isPhoneError && _vm.showError ? 'error' : '')),attrs:{\"defaultCountry\":\"PK\",\"inputOptions\":_vm.telInputOptions,\"validCharactersOnly\":\"\",\"autoFormat\":true,\"mode\":\"national\",\"invalidMsg\":\"Please enter a valid phone number\",\"id\":\"mobile\",\"disabled\":_vm.readonly || _vm.disabled},on:{\"input\":_vm.validate,\"blur\":function($event){_vm.showError = true},\"focus\":function($event){_vm.showError = false}},model:{value:(_vm.inputValue),callback:function ($$v) {_vm.inputValue=$$v},expression:\"inputValue\"}})],1):_c('div',{staticClass:\"form-group\"},[(_vm.hasIcon)?_c('i',{staticClass:\"input-icon-left far fa-user-circle\"}):_vm._e(),((_vm.inputFieldOptions.Type.toLowerCase())==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],class:[\n\t\t\t\t( _obj$2 = {\n\t\t\t\t\t'form-control': !_vm.customInputClass\n\t\t\t\t}, _obj$2[_vm.customInputClass] = _vm.customInputClass, _obj$2['input-w-icon'] =  _vm.hasIcon, _obj$2 ) ],attrs:{\"placeholder\":((_vm.inputFieldOptions.DisplayName) + \" \" + (_vm.inputFieldOptions.IsRequired == 'true' ? '(required)' : '')),\"required\":_vm.inputFieldOptions.IsRequired == 'true',\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.inputValue)?_vm._i(_vm.inputValue,null)>-1:(_vm.inputValue)},on:{\"change\":[function($event){var $$a=_vm.inputValue,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.inputValue=$$a.concat([$$v]))}else{$$i>-1&&(_vm.inputValue=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.inputValue=$$c}},function($event){return _vm.$emit('inputValue', _vm.inputValue)}]}}):((_vm.inputFieldOptions.Type.toLowerCase())==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],class:[\n\t\t\t\t( _obj$3 = {\n\t\t\t\t\t'form-control': !_vm.customInputClass\n\t\t\t\t}, _obj$3[_vm.customInputClass] = _vm.customInputClass, _obj$3['input-w-icon'] =  _vm.hasIcon, _obj$3 ) ],attrs:{\"placeholder\":((_vm.inputFieldOptions.DisplayName) + \" \" + (_vm.inputFieldOptions.IsRequired == 'true' ? '(required)' : '')),\"required\":_vm.inputFieldOptions.IsRequired == 'true',\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.inputValue,null)},on:{\"change\":[function($event){_vm.inputValue=null},function($event){return _vm.$emit('inputValue', _vm.inputValue)}]}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],class:[\n\t\t\t\t( _obj$4 = {\n\t\t\t\t\t'form-control': !_vm.customInputClass\n\t\t\t\t}, _obj$4[_vm.customInputClass] = _vm.customInputClass, _obj$4['input-w-icon'] =  _vm.hasIcon, _obj$4 ) ],attrs:{\"placeholder\":((_vm.inputFieldOptions.DisplayName) + \" \" + (_vm.inputFieldOptions.IsRequired == 'true' ? '(required)' : '')),\"required\":_vm.inputFieldOptions.IsRequired == 'true',\"tabindex\":_vm.tabIndex,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"type\":_vm.inputFieldOptions.Type.toLowerCase()},domProps:{\"value\":(_vm.inputValue)},on:{\"change\":function($event){return _vm.$emit('inputValue', _vm.inputValue)},\"input\":function($event){if($event.target.composing){ return; }_vm.inputValue=$event.target.value}}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<label\n\t\t\t:class=\"[\n\t\t\t\t{\n\t\t\t\t\t'form-check-label': !customLabelClass,\n\t\t\t\t\t[customLabelClass]: customLabelClass,\n\t\t\t\t},\n\t\t\t]\"\n\t\t\tv-if=\"showLabel\"\n\t\t\t:for=\"inputFieldOptions.DisplayName\"\n\t\t\t>{{ inputFieldOptions.DisplayName }}\n\t\t\t{{ inputFieldOptions.IsRequired ? \" (Required)\" : \"\" }}</label\n\t\t>\n\t\t<textarea\n\t\t\tv-if=\"inputFieldOptions.Type.toLowerCase() == 'textarea'\"\n\t\t\t:class=\"[\n\t\t\t\t{\n\t\t\t\t\t'form-control': !customInputClass,\n\t\t\t\t\t[customInputClass]: customInputClass,\n\t\t\t\t\t'input-w-icon': hasIcon,\n\t\t\t\t},\n\t\t\t]\"\n\t\t\ttype=\"textarea\"\n\t\t\t:placeholder=\"`${inputFieldOptions.DisplayName} ${\n\t\t\t\tinputFieldOptions.IsRequired == 'true' ? '(required)' : ''\n\t\t\t}`\"\n\t\t\t:required=\"inputFieldOptions.IsRequired == 'true'\"\n\t\t\tv-model=\"inputValue\"\n\t\t\t@change=\"$emit('inputValue', inputValue)\"\n\t\t\t:tabindex=\"tabIndex\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t/>\n\t\t<div v-else-if=\"inputFieldOptions.Type.toLowerCase() == 'select'\">\n\t\t\t<select\n\t\t\t\t:class=\"[{ 'form-control': !customInputClass, customInputClass }]\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:placeholder=\"`${inputFieldOptions.DisplayName} ${\n\t\t\t\t\tinputFieldOptions.IsRequired == 'true' ? '(required)' : ''\n\t\t\t\t}`\"\n\t\t\t\t:required=\"inputFieldOptions.IsRequired == 'true'\"\n\t\t\t\tv-model=\"inputValue\"\n\t\t\t\t@change=\"$emit('inputValue', inputValue)\"\n\t\t\t\t:tabindex=\"tabIndex\"\n\t\t\t\t:disabled=\"disabled || readonly\"\n\t\t\t>\n\t\t\t\t<option\n\t\t\t\t\tv-for=\"option in inputFieldOptions.SelectOptions\"\n\t\t\t\t\t:key=\"option.Value\"\n\t\t\t\t\t:value=\"option.Value\"\n\t\t\t\t>\n\t\t\t\t\t{{ option.DisplayName }}\n\t\t\t\t</option>\n\t\t\t</select>\n\t\t</div>\n\t\t<div\n\t\t\tclass=\"mb-2\"\n\t\t\tv-else-if=\"inputFieldOptions.Type.toLowerCase() == 'checkbox'\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"form-check\"\n\t\t\t\tv-for=\"(checkbox, index) in inputFieldOptions.CheckboxItems\"\n\t\t\t\t:key=\"index\"\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t:value=\"checkbox.value\"\n\t\t\t\t\t:id=\"checkbox.value\"\n\t\t\t\t\tv-model=\"inputValue[checkbox.value]\"\n\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t@change=\"$emit('inputValue', inputValue)\"\n\t\t\t\t\t:tabindex=\"tabIndex\"\n\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t/>\n\t\t\t\t<label\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'form-check-label': !customLabelClass,\n\t\t\t\t\t\t\t[customLabelClass]: customLabelClass,\n\t\t\t\t\t\t},\n\t\t\t\t\t]\"\n\t\t\t\t\t:for=\"checkbox.value\"\n\t\t\t\t\t>{{ checkbox.DisplayName }}</label\n\t\t\t\t>\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\tclass=\"mb-2 d-flex flex-column\"\n\t\t\tv-else-if=\"inputFieldOptions.Type.toLowerCase() == 'radio'\"\n\t\t>\n\t\t\t<b-form-radio-group\n\t\t\t\t:id=\"inputFieldOptions.DisplayName\"\n\t\t\t\t:buttons=\"inputFieldOptions.radioStyle.toLowerCase() == 'buttons'\"\n\t\t\t\tv-model=\"inputValue\"\n\t\t\t\thtml-field=\"DisplayName\"\n\t\t\t\t:options=\"inputFieldOptions.RadioButtonItems\"\n\t\t\t\t@change=\"$emit('inputValue', inputValue)\"\n\t\t\t\tbutton-variant=\"outline\"\n\t\t\t\t:tabindex=\"tabIndex\"\n\t\t\t\t:disabled=\"disabled || readonly\"\n\t\t\t>\n\t\t\t</b-form-radio-group>\n\t\t</div>\n\t\t<div\n\t\t\tclass=\"d-flex justify-content-between mb-2\"\n\t\t\tv-else-if=\"inputFieldOptions.Type.toLowerCase() == 'range'\"\n\t\t>\n\t\t\t<input\n\t\t\t\tclass=\"d-flex flex-grow-2\"\n\t\t\t\ttype=\"range\"\n\t\t\t\t:min=\"inputFieldOptions.Start\"\n\t\t\t\t:max=\"inputFieldOptions.End\"\n\t\t\t\t:step=\"inputFieldOptions.Step\"\n\t\t\t\toninput=\"this.nextElementSibling.innerHTML = this.value\"\n\t\t\t\t:tabindex=\"tabIndex\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t/>\n\t\t\t<output class=\"d-flex flex-grow-1 justify-content-center\"></output>\n\t\t</div>\n\t\t<div\n\t\t\tclass=\"d-flex justify-content-between mb-2\"\n\t\t\tv-else-if=\"inputFieldOptions.Type.toLowerCase() == 'tel'\"\n\t\t>\n\t\t\t<vue-tel-input\n\t\t\t\t:class=\"`${customInputClass ? customInputClass : 'form-control'} ${\n\t\t\t\t\tisPhoneError && showError ? 'error' : ''\n\t\t\t\t}`\"\n\t\t\t\tdefaultCountry=\"PK\"\n\t\t\t\t:inputOptions=\"telInputOptions\"\n\t\t\t\tvalidCharactersOnly\n\t\t\t\tv-model=\"inputValue\"\n\t\t\t\t@input=\"validate\"\n\t\t\t\t@blur=\"showError = true\"\n\t\t\t\t@focus=\"showError = false\"\n\t\t\t\t:autoFormat=\"true\"\n\t\t\t\tmode=\"national\"\n\t\t\t\tinvalidMsg=\"Please enter a valid phone number\"\n\t\t\t\tid=\"mobile\"\n\t\t\t\t:disabled=\"readonly || disabled\"\n\t\t\t></vue-tel-input>\n\t\t</div>\n\t\t<div class=\"form-group\" v-else>\n\t\t\t<i v-if=\"hasIcon\" class=\"input-icon-left far fa-user-circle\"></i>\n\t\t\t<input\n\t\t\t\t:class=\"[\n\t\t\t\t\t{\n\t\t\t\t\t\t'form-control': !customInputClass,\n\t\t\t\t\t\t[customInputClass]: customInputClass,\n\t\t\t\t\t\t'input-w-icon': hasIcon,\n\t\t\t\t\t},\n\t\t\t\t]\"\n\t\t\t\t:type=\"inputFieldOptions.Type.toLowerCase()\"\n\t\t\t\t:placeholder=\"`${inputFieldOptions.DisplayName} ${\n\t\t\t\t\tinputFieldOptions.IsRequired == 'true' ? '(required)' : ''\n\t\t\t\t}`\"\n\t\t\t\t:required=\"inputFieldOptions.IsRequired == 'true'\"\n\t\t\t\tv-model=\"inputValue\"\n\t\t\t\t@change=\"$emit('inputValue', inputValue)\"\n\t\t\t\t:tabindex=\"tabIndex\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t/>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nconst getCountryISO3 = require(\"country-iso-2-to-3\");\n\nexport default {\n\tname: \"DynamicFormInput\",\n\tprops: {\n\t\tinputFieldOptions: Object,\n\t\tcustomInputClass: { type: String, default: null },\n\t\thasIcon: Boolean,\n\t\tshowLabel: Boolean,\n\t\tcustomLabelClass: { type: String, default: null },\n\t\ttabIndex: Number,\n\t\tinputSetValue: { type: String, default: null },\n\t\tdisabled: Boolean,\n\t\treadonly: Boolean,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tinputValue: null,\n\t\t\tphone: null,\n\t\t\tisPhoneError: false,\n\t\t\tshowError: false,\n\t\t\ttelInputOptions: {\n\t\t\t\tautocomplete: \"on\",\n\t\t\t\tmaxlength: 15,\n\t\t\t\ttabindex: this.$props.tabIndex,\n\t\t\t\tplaceholder: this.$props.inputFieldOptions.DisplayName,\n\t\t\t\tmode: \"national\",\n\t\t\t},\n\t\t};\n\t},\n\tmethods: {\n\t\tvalidate(num, obj) {\n\t\t\t// console.log(num, obj);\n\t\t\tif (obj.valid != null && obj.valid === false) {\n\t\t\t\tthis.isPhoneError = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.isPhoneError = false;\n\t\t\tif (obj.country && obj.country.iso2) {\n\t\t\t\tthis.countryCode = getCountryISO3(obj.country.iso2);\n\t\t\t\tthis.phone = obj.number;\n\t\t\t\tthis.$emit(\"inputValue\", this.phone);\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t},\n\tcreated() {\n\t\t// console.log(this.inputSetValue);\n\t\tif (this.inputFieldOptions.Type.toLowerCase() == \"tel\") {\n\t\t\tconsole.log(this.inputSetValue);\n\t\t\tif (this.inputSetValue) this.phone = this.inputSetValue ?? null;\n\t\t\tif (this.inputSetValue) this.inputValue = this.inputSetValue ?? null;\n\t\t\tthis.phone = this.inputFieldOptions.DefaultValue ?? null;\n\t\t\treturn;\n\t\t}\n\t\tthis.inputValue = this.inputFieldOptions.DefaultValue ?? null;\n\t\tif (this.inputSetValue) this.inputValue = this.inputSetValue ?? null;\n\t\tif (this.inputFieldOptions.Type.toLowerCase() == \"checkbox\") {\n\t\t\tthis.inputFieldOptions.CheckboxItems.forEach((item) => {\n\t\t\t\tthis.inputValue[item.value] = item.checked ?? null;\n\t\t\t});\n\t\t}\n\t},\n};\n</script>\n\n<style scoped>\n.flex-grow-2 {\n\tflex-grow: 2 !important;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DynamicFormInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DynamicFormInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DynamicFormInput.vue?vue&type=template&id=7928e079&scoped=true&\"\nimport script from \"./DynamicFormInput.vue?vue&type=script&lang=js&\"\nexport * from \"./DynamicFormInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DynamicFormInput.vue?vue&type=style&index=0&id=7928e079&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7928e079\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('footer',{staticClass:\"footer-container\"},[_c('div',{staticClass:\"footer-nav-container\"},[_c('div',{staticClass:\"d-flex flex-row align-items-center pb-4\"},[_c('a',{staticClass:\"logo\"},[_c('img',{attrs:{\"src\":_vm.logoPath}})]),_c('ul',{staticClass:\"nav footer-nav\"})]),(_vm.systemParameters.TenantInfo)?_c('p',{staticClass:\"footer-bottom-content-hr\"}):_vm._e(),_c('div',{staticClass:\"d-flex\"},[_c('div',{staticClass:\"footer-col-left\"},[(_vm.systemParameters.TenantInfo && _vm.systemParameters.TenantInfo.Address)?_c('div',{staticClass:\"footer-bottom-content\"},[_c('i',{staticClass:\"fas fa-map-marker-alt me-2\"}),(_vm.systemParameters.TenantInfo.Address)?_c('a',{attrs:{\"href\":_vm.systemParameters.TenantInfo.AddressMapLink ? _vm.systemParameters.TenantInfo.AddressMapLink :\n\t\t\t\t\t\t\t_vm.systemParameters.TenantInfo.AddressMapLatitude && _vm.systemParameters.TenantInfo.AddressMapLongitude?\n\t\t\t\t\t\t\t(\"https://maps.google.com/?q=\" + (_vm.systemParameters.TenantInfo.AddressMapLatitude) + \",\" + (_vm.systemParameters.TenantInfo.AddressMapLongitude)):\n\t\t\t\t\t\t\t'',\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.systemParameters.TenantInfo.Address)+\" \")]):_vm._e()]):_vm._e(),(_vm.systemParameters.TenantInfo && _vm.systemParameters.TenantInfo.ContactNumbers)?_c('div',{staticClass:\"footer-bottom-content\"},[_c('i',{staticClass:\"fas fa-phone-alt me-2\"}),_vm._l((_vm.systemParameters.TenantInfo.ContactNumbers),function(contactNum){return _c('a',{attrs:{\"href\":'tel:' + contactNum}},[_vm._v(\" \"+_vm._s(contactNum)+\" \")])})],2):_vm._e(),(_vm.systemParameters.TenantInfo && _vm.systemParameters.TenantInfo.WhatsAppNumbers)?_c('div',{staticClass:\"footer-bottom-content\"},[_c('i',{staticClass:\"fab fa-whatsapp me-2\"}),_vm._l((_vm.systemParameters.TenantInfo.WhatsAppNumbers),function(whatsAppNum){return _c('a',{attrs:{\"href\":'https://wa.me/' + whatsAppNum}},[_vm._v(\" \"+_vm._s(whatsAppNum)+\" \")])})],2):_vm._e(),(_vm.systemParameters.TenantInfo && _vm.systemParameters.TenantInfo.Emails)?_c('div',{staticClass:\"footer-bottom-content\"},[_c('i',{staticClass:\"far fa-envelope me-2\"}),_vm._l((_vm.systemParameters.TenantInfo.Emails),function(email){return _c('a',{attrs:{\"href\":'mailto:' + email}},[_vm._v(\" \"+_vm._s(email)+\" \")])})],2):_vm._e()]),_c('div',{staticClass:\"footer-center-div\"}),_c('div',{staticClass:\"footer-col-right align-items-end\"},[_c('div',{staticClass:\"footer-bottom-content last\"},[(_vm.systemParameters.SocialLinks && _vm.systemParameters.SocialLinks.Facebook)?_c('a',{staticClass:\"me-2 footer-bottom-content-icon social-links\",attrs:{\"href\":_vm.systemParameters.SocialLinks && _vm.systemParameters.SocialLinks.Facebook ? _vm.systemParameters.SocialLinks.Facebook : '',\"target\":\"_blank\"}},[_c('i',{staticClass:\"fab fa-facebook-square\"})]):_vm._e(),(_vm.systemParameters.SocialLinks && _vm.systemParameters.SocialLinks.Twitter)?_c('a',{staticClass:\"me-2 footer-bottom-content-icon social-links\",attrs:{\"href\":_vm.systemParameters.SocialLinks && _vm.systemParameters.SocialLinks.Twitter ? _vm.systemParameters.SocialLinks.Twitter : '',\"target\":\"_blank\"}},[_c('i',{staticClass:\"fab fa-twitter-square\"})]):_vm._e(),(_vm.systemParameters.SocialLinks && _vm.systemParameters.SocialLinks.Instagram)?_c('a',{staticClass:\"me-2 footer-bottom-content-icon social-links\",attrs:{\"href\":_vm.systemParameters.SocialLinks && _vm.systemParameters.SocialLinks.Instagram ? _vm.systemParameters.SocialLinks.Instagram : '',\"target\":\"_blank\"}},[_c('i',{staticClass:\"fab fa-instagram\"})]):_vm._e(),(_vm.systemParameters.SocialLinks && _vm.systemParameters.SocialLinks.LinkedIn)?_c('a',{staticClass:\"me-2 footer-bottom-content-icon social-links\",attrs:{\"href\":_vm.systemParameters.SocialLinks && _vm.systemParameters.SocialLinks.LinkedIn ? _vm.systemParameters.SocialLinks.LinkedIn : '',\"target\":\"_blank\"}},[_c('i',{staticClass:\"fab fa-linkedin\"})]):_vm._e(),(_vm.systemParameters.SocialLinks && _vm.systemParameters.SocialLinks.YouTube)?_c('a',{staticClass:\"me-2 footer-bottom-content-icon social-links\",attrs:{\"href\":_vm.systemParameters.SocialLinks && _vm.systemParameters.SocialLinks.YouTube ? _vm.systemParameters.SocialLinks.YouTube : '',\"target\":\"_blank\"}},[_c('i',{staticClass:\"fab fa-youtube\"})]):_vm._e()]),_c('div',[_c('ul',{staticClass:\"nav footer-nav center-nav last\"},[(_vm.systemParameters.PrivacyPolicyUrl)?_c('li',{staticClass:\"nav-link\",on:{\"click\":function($event){return _vm.togglePrivacyModal($event, _vm.systemParameters.PrivacyPolicyUrl, 'Privacy Policy')}}},[_vm._v(\"Privacy Policy\")]):_vm._e(),(_vm.systemParameters.PrivacyPolicyUrl)?_c('li',{staticClass:\"breaker\"}):_vm._e(),(_vm.systemParameters.RefundPolicyUrl)?_c('li',{staticClass:\"nav-link\",on:{\"click\":function($event){return _vm.togglePrivacyModal($event, _vm.systemParameters.RefundPolicyUrl, 'Refund Policy')}}},[_vm._v(\"Refund Policy\")]):_vm._e(),(_vm.systemParameters.RefundPolicyUrl)?_c('li',{staticClass:\"breaker\"}):_vm._e(),(_vm.systemParameters.ComplainPolicyUrl)?_c('li',{staticClass:\"nav-link\",on:{\"click\":function($event){return _vm.togglePrivacyModal($event, _vm.systemParameters.ComplainPolicyUrl, 'Complaint Policy')}}},[_vm._v(\"Complaint Policy\")]):_vm._e(),(_vm.systemParameters.ComplainPolicyUrl)?_c('li',{staticClass:\"breaker\"}):_vm._e(),(_vm.systemParameters.TermsOfUseUrl)?_c('li',{staticClass:\"nav-link\",on:{\"click\":function($event){return _vm.togglePrivacyModal($event, _vm.systemParameters.TermsOfUseUrl, 'Terms Of Use')}}},[_vm._v(\"Terms Of Use\")]):_vm._e()])])])])])]),_c('b-modal',{attrs:{\"visible\":_vm.isShowPrivacyModel && _vm.currentPrivacyModelURL!=null,\"hide-header\":\"\",\"centered\":\"\",\"hide-footer\":\"\",\"modal-class\":\"privacy-modal\",\"size\":\"xl\"},on:{\"change\":function($event){return _vm.togglePrivacyModal($event)}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.togglePrivacyModal($event)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),(_vm.currentPrivacyModelHeading)?_c('h1',{staticClass:\"add-content-title\"},[_vm._v(_vm._s(_vm.currentPrivacyModelHeading))]):_vm._e(),_c('iframe',{attrs:{\"src\":_vm.currentPrivacyModelURL}})])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"container\">\n\t\t<footer class=\"footer-container\">\n\t\t\t<div class=\"footer-nav-container\">\n\t\t\t\t<div class=\"d-flex flex-row align-items-center pb-4\">\n\t\t\t\t\t<a class=\"logo\"><img :src=\"logoPath\" /></a>\n\t\t\t\t\t<ul class=\"nav footer-nav\">\n\t\t\t\t\t\t<!-- <li class=\"nav-link\">Home</li> -->\n\t\t\t\t\t\t<!-- <li class=\"nav-link\">Popular Courses</li> -->\n\t\t\t\t\t\t<!-- <li class=\"nav-link\">Teach with us</li> -->\n\t\t\t\t\t\t<!-- <li v-if=\"systemParameters.PrivacyPolicyUrl\" @click=\"togglePrivacyModal($event,systemParameters.PrivacyPolicyUrl,'Privacy Policy')\" class=\"nav-link\">Privacy Policy</li>\n\t\t\t\t\t\t<li v-if=\"systemParameters.RefundPolicyUrl\" @click=\"togglePrivacyModal($event,systemParameters.RefundPolicyUrl,'Refund Policy')\" class=\"nav-link\">Refund Policy</li>\n\t\t\t\t\t\t<li v-if=\"systemParameters.TermsOfUseUrl\" @click=\"togglePrivacyModal($event,systemParameters.TermsOfUseUrl,'Terms Of Use')\" class=\"nav-link\">Terms Of Use</li>\n\t\t\t\t\t\t -->\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<p v-if=\"systemParameters.TenantInfo\" class=\"footer-bottom-content-hr\"></p>\n\t\t\t\t<div class=\"d-flex\">\n\t\t\t\t\t<div class=\"footer-col-left\">\n\t\t\t\t\t\t<div class=\"footer-bottom-content\"\n\t\t\t\t\t\t\tv-if=\"systemParameters.TenantInfo && systemParameters.TenantInfo.Address\">\n\n\t\t\t\t\t\t\t<i class=\"fas fa-map-marker-alt me-2\"></i>\n\t\t\t\t\t\t\t<a v-if=\"systemParameters.TenantInfo.Address\"\n\t\t\t\t\t\t\t\t:href=\"systemParameters.TenantInfo.AddressMapLink ? systemParameters.TenantInfo.AddressMapLink :\n\t\t\t\t\t\t\t\tsystemParameters.TenantInfo.AddressMapLatitude && systemParameters.TenantInfo.AddressMapLongitude?\n\t\t\t\t\t\t\t\t`https://maps.google.com/?q=${systemParameters.TenantInfo.AddressMapLatitude},${systemParameters.TenantInfo.AddressMapLongitude}`:\n\t\t\t\t\t\t\t\t''\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t\t\t\t{{ systemParameters.TenantInfo.Address }}\n\t\t\t\t\t\t\t</a>\n\n\t\t\t\t\t\t\t<!-- <a role=\"button\">Terms and Conditions</a> -->\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div class=\"footer-bottom-content\"\n\t\t\t\t\t\t\tv-if=\"systemParameters.TenantInfo && systemParameters.TenantInfo.ContactNumbers\">\n\n\t\t\t\t\t\t\t<i class=\"fas fa-phone-alt me-2\"></i>\n\t\t\t\t\t\t\t<a v-for=\"contactNum in systemParameters.TenantInfo.ContactNumbers\" :href=\"'tel:' + contactNum\">\n\t\t\t\t\t\t\t\t{{ contactNum }}\n\t\t\t\t\t\t\t</a>\n\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div class=\"footer-bottom-content\"\n\t\t\t\t\t\t\tv-if=\"systemParameters.TenantInfo && systemParameters.TenantInfo.WhatsAppNumbers\">\n\n\t\t\t\t\t\t\t<i class=\"fab fa-whatsapp me-2\"></i>\n\n\t\t\t\t\t\t\t<a v-for=\"whatsAppNum in systemParameters.TenantInfo.WhatsAppNumbers\"\n\t\t\t\t\t\t\t\t:href=\"'https://wa.me/' + whatsAppNum\">\n\t\t\t\t\t\t\t\t{{ whatsAppNum }}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div class=\"footer-bottom-content\"\n\t\t\t\t\t\t\tv-if=\"systemParameters.TenantInfo && systemParameters.TenantInfo.Emails\">\n\n\t\t\t\t\t\t\t<i class=\"far fa-envelope me-2\"></i>\n\n\t\t\t\t\t\t\t<a v-for=\"email in systemParameters.TenantInfo.Emails\" :href=\"'mailto:' + email\">\n\t\t\t\t\t\t\t\t{{ email }}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"footer-center-div\">\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"footer-col-right align-items-end\">\n\t\t\t\t\t\t<div class=\"footer-bottom-content last\">\n\t\t\t\t\t\t\t<a class=\"me-2 footer-bottom-content-icon social-links\"\n\t\t\t\t\t\t\t\tv-if=\"systemParameters.SocialLinks && systemParameters.SocialLinks.Facebook\"\n\t\t\t\t\t\t\t\t:href=\"systemParameters.SocialLinks && systemParameters.SocialLinks.Facebook ? systemParameters.SocialLinks.Facebook : ''\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-facebook-square\"></i>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<a class=\"me-2 footer-bottom-content-icon social-links\"\n\t\t\t\t\t\t\t\tv-if=\"systemParameters.SocialLinks && systemParameters.SocialLinks.Twitter\"\n\t\t\t\t\t\t\t\t:href=\"systemParameters.SocialLinks && systemParameters.SocialLinks.Twitter ? systemParameters.SocialLinks.Twitter : ''\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-twitter-square\"></i>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<a class=\"me-2 footer-bottom-content-icon social-links\"\n\t\t\t\t\t\t\t\tv-if=\"systemParameters.SocialLinks && systemParameters.SocialLinks.Instagram\"\n\t\t\t\t\t\t\t\t:href=\"systemParameters.SocialLinks && systemParameters.SocialLinks.Instagram ? systemParameters.SocialLinks.Instagram : ''\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-instagram\"></i>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<a class=\"me-2 footer-bottom-content-icon social-links\"\n\t\t\t\t\t\t\t\tv-if=\"systemParameters.SocialLinks && systemParameters.SocialLinks.LinkedIn\"\n\t\t\t\t\t\t\t\t:href=\"systemParameters.SocialLinks && systemParameters.SocialLinks.LinkedIn ? systemParameters.SocialLinks.LinkedIn : ''\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-linkedin\"></i>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<a class=\"me-2 footer-bottom-content-icon social-links\"\n\t\t\t\t\t\t\t\tv-if=\"systemParameters.SocialLinks && systemParameters.SocialLinks.YouTube\"\n\t\t\t\t\t\t\t\t:href=\"systemParameters.SocialLinks && systemParameters.SocialLinks.YouTube ? systemParameters.SocialLinks.YouTube : ''\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-youtube\"></i>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<!-- <a role=\"button\">Terms and Conditions</a> -->\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<ul class=\"nav footer-nav center-nav last\">\n\t\t\t\t\t\t\t\t<li v-if=\"systemParameters.PrivacyPolicyUrl\" @click=\"togglePrivacyModal($event, systemParameters.PrivacyPolicyUrl, 'Privacy Policy')\" class=\"nav-link\">Privacy Policy</li>\n\t\t\t\t\t\t\t\t<li v-if=\"systemParameters.PrivacyPolicyUrl\" class=\"breaker\"></li>\n\t\t\t\t\t\t\t\t<li v-if=\"systemParameters.RefundPolicyUrl\" @click=\"togglePrivacyModal($event, systemParameters.RefundPolicyUrl, 'Refund Policy')\" class=\"nav-link\">Refund Policy</li>\n\t\t\t\t\t\t\t\t<li v-if=\"systemParameters.RefundPolicyUrl\" class=\"breaker\"></li>\n\t\t\t\t\t\t\t\t<li v-if=\"systemParameters.ComplainPolicyUrl\" @click=\"togglePrivacyModal($event, systemParameters.ComplainPolicyUrl, 'Complaint Policy')\" class=\"nav-link\">Complaint Policy</li>\n\t\t\t\t\t\t\t\t<li v-if=\"systemParameters.ComplainPolicyUrl\" class=\"breaker\"></li>\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li v-if=\"systemParameters.TermsOfUseUrl\" @click=\"togglePrivacyModal($event, systemParameters.TermsOfUseUrl, 'Terms Of Use')\" class=\"nav-link\">Terms Of Use</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</footer>\n\t\t<b-modal\n\t\t\t@change=\"togglePrivacyModal($event)\"\n\t\t\t:visible=\"isShowPrivacyModel && currentPrivacyModelURL!=null\"\n\t\t\thide-header\n\t\t\tcentered\n\t\t\thide-footer\n\t\t\tmodal-class=\"privacy-modal\"\n\t\t\tsize=\"xl\"\n\t\t>\n\t\t\t<div class=\"body-container\">\n\t\t\t\t<button\n\t\t\t\t\t@click=\"togglePrivacyModal($event)\"\n\t\t\t\t\tclass=\"close-button\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t\t</button>\n\t\t\t\t<h1 v-if=\"currentPrivacyModelHeading\" class=\"add-content-title\">{{currentPrivacyModelHeading}}</h1>\n\t\t\t\t<iframe :src=\"currentPrivacyModelURL\">\n\n\t\t\t\t</iframe>\n\t\t\t</div>\n\t\t</b-modal>\n\t</div>\n\t\n</template>\n\n<script>\nimport { mapState } from \"vuex\";\n\nexport default {\n\tname: \"Footer\",\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t\tlogoPath() {\n\t\t\treturn this.systemParameters.LogoPath\n\t\t\t\t? this.systemParameters.LogoPath\n\t\t\t\t: require(\"@/assets/images/gocbe_logo.png\");\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tcurrentPrivacyModelURL:null,\n\t\t\tcurrentPrivacyModelHeading:null,\n\t\t\tisShowPrivacyModel:false\n\t\t}\n\t},\n\tmethods: {\n\t\ttogglePrivacyModal : function(event,privacyModelUrl=null,privacyModelHeading=null){\n\t\t\tif(this.isShowPrivacyModel && !privacyModelUrl){\n\t\t\t\tthis.isShowPrivacyModel=false;\n\t\t\t\tthis.currentPrivacyModelURL = null;\n\t\t\t\tthis.currentPrivacyModelHeading = null;\n\t\t\t}else{\n\t\t\t\tthis.isShowPrivacyModel=true;\n\t\t\t\tthis.currentPrivacyModelURL=privacyModelUrl;\n\t\t\t\tthis.currentPrivacyModelHeading=privacyModelHeading;\n\t\t\t}\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\twindow.postMessage({ event: \"footer-loaded\" });\n\t\t});\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 480px) {\n\t.footer-container {\n\t\tpadding: 2rem 1.5rem !important;\n\t\tmargin: 0 -1rem !important;\n\t\tborder-radius: 0 !important;\n\t}\n}\n\n.footer-container {\n\tpadding: 2rem 2.5rem;\n\tbackground-color: #ebebeb;\n\t/* background-image: url(\"../../assets/images/homeFooterBack.jpg\"); */\n\t/* background-size: cover; */\n\tposition: relative;\n\t/* color: var(--color-white); */\n\tmargin-top: 1.5rem;\n\tbox-shadow: 0 3px 6px #a8a8a829;\n\tborder-radius: 8px;\n\tmargin: 5rem 0;\n}\n\n/* .footer-container:before {\n\tcontent: \"\";\n\twidth: 50%;\n\theight: 10px;\n\tbackground-color: var(--primary-color);\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n} */\n\n.footer-nav {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n}\n\n.footer-nav .nav-link {\n\tcolor: #000000 !important;\n\tcursor: pointer;\n\tfont-weight: 500 !important;\n\tfont-size: 1.1rem;\n}\n\n.footer-nav-container .logo img {\n\tmax-height: 3rem;\n\tmargin-right: 2rem;\n}\n\n/* .footer-nav .logo img {\n\tmax-height: 2rem;\n} */\n\n.footer-nav .nav-link:hover {\n\tcolor: var(--primary-color) !important;\n}\n\n.footer-nav-container {\n\tdisplay: flex;\n\tjustify-content: center;\n\t/* align-items: center; */\n\tflex-direction: column;\n}\n.footer-bottom-content.last {\n\ttext-align: end;\n}\n.footer-bottom-content-hr {\n\tmargin: 0;\n\tfont-size: 1rem;\n\tborder-top: 1px solid #cbcbcb;\n\tpadding-top: 2rem;\n\tfont-weight: 500;\n}\n.footer-bottom-content.last{\n\ttext-align-last: end;\n}\n.footer-bottom-content a {\n\tcolor: #000000 !important;\n\tcursor: pointer;\n\tfont-weight: 500 !important;\n\tfont-size: 1rem;\n\ttext-decoration: none !important;\n\tmargin-right: 15px;\n}\n\n.footer-bottom-content a.social-links {\n\tfont-size: 1.5rem;\n}\n\n.footer-bottom-content a:hover {\n\tcolor: var(--primary-color) !important;\n}\n.privacy-modal .modal-body {\n\tpadding: 0px !important;\n\n\t\n}\n\n.privacy-modal .modal-body iframe{\n\twidth: 100%;\n\theight: 100%;\n\tmin-height: 80vh;\n}\n.footer-col-left {\n\tmax-width: 33%;\n}\n.center-nav li{\n\tmargin-left: 10px;\n}\n.footer-center-div\n{\n\ttext-align: -webkit-center;\n\tflex: 1;\n}\n.center-nav .nav-link{\n\tpadding: 0px;\n}\n.center-nav .breaker{\n\tborder-left: 1px solid black;\n\tmargin-top: 5px;\n\tmargin-bottom: 5px;\n}\n</style>","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=2f23c66e&scoped=true&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=2f23c66e&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2f23c66e\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"student-panel-header\"},[_c('header',[_c('div',{staticClass:\"nav-container\",attrs:{\"id\":\"nav\"}},[_c('div',{staticClass:\"logo-container\"},[_c('a',{staticClass:\"my-nav-link nav-link-mobile hamburger dropdown-toggle\",attrs:{\"role\":\"button\",\"id\":\"coursesMenu\",\"data-bs-toggle\":\"dropdown\",\"aria-expanded\":\"false\"},on:{\"click\":_vm.toggleProductDropdown}},[_c('object',{staticClass:\"color-change-svg\",attrs:{\"data\":require((\"@/\" + _vm.HEADER_HAMBURGER_PATH)),\"alt\":\"\",\"type\":\"image/svg+xml\"}})]),_c('ProductDropdown',{attrs:{\"showModal\":_vm.productDropdown},on:{\"close-dropdown\":_vm.closeProductDropdown}}),_c('router-link',{staticClass:\"d-flex logo-link\",attrs:{\"to\":'/'}},[_c('img',{staticClass:\"logo\",attrs:{\"src\":_vm.logoPath}})])],1),_c('a',{staticClass:\"courses-btn dropdown-toggle\",attrs:{\"type\":\"button\",\"id\":\"coursesMenu\",\"data-bs-toggle\":\"dropdown\",\"aria-expanded\":\"false\"},on:{\"click\":_vm.toggleProductDropdown}},[_vm._v(_vm._s(_vm.HEADER_COURSES)),_c('object',{staticClass:\"ms-2 color-change-svg\",attrs:{\"data\":require((\"@/\" + _vm.HEADER_HAMBURGER_PATH)),\"alt\":\"\",\"type\":\"image/svg+xml\"}})]),_c('ProductDropdown',{attrs:{\"showModal\":_vm.productDropdown},on:{\"close-dropdown\":_vm.closeProductDropdown}}),_c('Searchbar'),(_vm.loggedIn)?_c('div',{staticClass:\"header-links abc\",attrs:{\"id\":\"header-links-login\"}},[_c('router-link',{staticClass:\"my-nav-link first desktop-only\",attrs:{\"to\":\"/user/dashboard\"}},[_vm._v(\" My Courses \")]),(_vm.loggedIn && _vm.systemParameters.StudentKnowledgeBase)?_c('button',{staticClass:\"my-nav-link desktop-only\",attrs:{\"to\":\"#\"},on:{\"click\":_vm.showPDF}},[_vm._v(\" Knowledgebase \")]):_vm._e(),_c('router-link',{staticClass:\"header-border-btn nav-link-mobile\",attrs:{\"to\":\"/search\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/search-icon.svg\")}})]),_c('router-link',{staticClass:\"header-border-btn cart\",attrs:{\"to\":\"/shop/checkout\"}},[_c('img',{staticClass:\"header-btn-icon\",attrs:{\"src\":require((\"@/\" + _vm.HEADER_CART_ICON))}}),_c('span',{staticClass:\"cart-icon-badge\"},[_vm._v(\" \"+_vm._s(_vm.cartItemsNumber)+\" \")])]),_c('a',{class:['header-secondary-btn avatar dropdown-toggle'],attrs:{\"id\":\"userMenu\",\"role\":\"button\",\"data-bs-toggle\":\"dropdown\",\"aria-expanded\":\"false\"}},[_c('div',{staticClass:\"user-avatar-holder\"},[(_vm.user.profilePicture)?_c('img',{staticClass:\"user-avatar\",attrs:{\"src\":_vm.user.profilePicture}}):_c('span',{staticClass:\"user-avatar\"},[_vm._v(_vm._s(_vm.user.firstName[0]))])])]),_c('div',{staticClass:\"dropdown-menu custom-user-dropdown\",attrs:{\"aria-labelledby\":\"coursesMenu\"}},[_c('a',{staticClass:\"custom-dropdown-item\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.handleLinkClick('/user/dashboard')}}},[_vm._v(\" My Courses \")]),_c('a',{staticClass:\"custom-dropdown-item\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.handleLinkClick('/user/profile')}}},[_vm._v(\" Profile \")]),_c('a',{staticClass:\"custom-dropdown-item\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.handleLinkClick('/user/invoices')}}},[_vm._v(\" Invoices \")]),_c('a',{staticClass:\"custom-dropdown-item\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.handleLinkClick('/support')}}},[_vm._v(\" Complaint And Help Center \")]),_c('a',{staticClass:\"custom-dropdown-item\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.handleLinkClick('logout')}}},[_vm._v(\" Logout \")])])],1):_vm._e(),(!_vm.loggedIn)?_c('div',{staticClass:\"flex-grow-1 header-links\",attrs:{\"id\":\"header-links\"}},[_c('router-link',{staticClass:\"header-border-btn cart\",attrs:{\"to\":\"/shop/checkout\"}},[_c('img',{staticClass:\"header-btn-icon\",attrs:{\"src\":require((\"@/\" + _vm.HEADER_CART_ICON))}}),_c('span',{staticClass:\"cart-icon-badge\"},[_vm._v(\" \"+_vm._s(_vm.cartItemsNumber)+\" \")])]),_c('router-link',{staticClass:\"header-secondary-btn\",attrs:{\"to\":\"/account/login\"}},[_vm._v(_vm._s(_vm.HEADER_LOGIN))]),_c('router-link',{staticClass:\"header-primary-btn\",attrs:{\"to\":\"/account/register\"}},[_vm._v(_vm._s(_vm.HEADER_REGISTER))])],1):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"student-panel-header\">\n\t\t<header>\n\t\t\t<div id=\"nav\" class=\"nav-container\">\n\t\t\t\t<div class=\"logo-container\">\n\t\t\t\t\t<a\n\t\t\t\t\t\t@click=\"toggleProductDropdown\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\"my-nav-link nav-link-mobile hamburger dropdown-toggle\"\n\t\t\t\t\t\tid=\"coursesMenu\"\n\t\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t><object\n\t\t\t\t\t\t\t:data=\"require(`@/${HEADER_HAMBURGER_PATH}`)\"\n\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\ttype=\"image/svg+xml\"\n\t\t\t\t\t\t\tclass=\"color-change-svg\"\n\t\t\t\t\t/></a>\n\t\t\t\t\t<ProductDropdown\n\t\t\t\t\t\t:showModal=\"productDropdown\"\n\t\t\t\t\t\t@close-dropdown=\"closeProductDropdown\"\n\t\t\t\t\t/>\n\t\t\t\t\t<router-link :to=\"'/'\" class=\"d-flex logo-link\"\n\t\t\t\t\t\t><img class=\"logo\" :src=\"logoPath\"\n\t\t\t\t\t/></router-link>\n\t\t\t\t</div>\n\t\t\t\t<a\n\t\t\t\t\t@click=\"toggleProductDropdown\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"courses-btn dropdown-toggle\"\n\t\t\t\t\tid=\"coursesMenu\"\n\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t>{{ HEADER_COURSES\n\t\t\t\t\t}}<object\n\t\t\t\t\t\t:data=\"require(`@/${HEADER_HAMBURGER_PATH}`)\"\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\ttype=\"image/svg+xml\"\n\t\t\t\t\t\tclass=\"ms-2 color-change-svg\"\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t\t<ProductDropdown\n\t\t\t\t\t:showModal=\"productDropdown\"\n\t\t\t\t\t@close-dropdown=\"closeProductDropdown\"\n\t\t\t\t/>\n\t\t\t\t<Searchbar />\n\t\t\t\t<div v-if=\"loggedIn\" id=\"header-links-login\" class=\"header-links abc\">\n\t\t\t\t\t<router-link\n\t\t\t\t\t\tclass=\"my-nav-link first desktop-only\"\n\t\t\t\t\t\tto=\"/user/dashboard\"\n\t\t\t\t\t>\n\t\t\t\t\t\tMy Courses\n\t\t\t\t\t</router-link>\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"showPDF\"\n\t\t\t\t\t\tv-if=\"loggedIn && systemParameters.StudentKnowledgeBase\"\n\t\t\t\t\t\tclass=\"my-nav-link desktop-only\"\n\t\t\t\t\t\tto=\"#\"\n\t\t\t\t\t>\n\t\t\t\t\t\tKnowledgebase\n\t\t\t\t\t</button>\n\t\t\t\t\t<!--\n\t\t\t\t\t<button\n\t\t\t\t\t\tv-if=\"loggedIn\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t@click=\"showHideNotification\"\n\t\t\t\t\t\tclass=\"my-nav-link header-border-btn notification-icon nav-link-mobile\"\n\t\t\t\t\t\tto=\"#\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i class=\"fa fa-bell-o\"></i>\n\t\t\t\t\t</button>\n\t\t\t\t\t-->\n\t\t\t\t\t<router-link to=\"/search\" class=\"header-border-btn nav-link-mobile\">\n\t\t\t\t\t\t<img src=\"@/assets/images/search-icon.svg\" />\n\t\t\t\t\t</router-link>\n\t\t\t\t\t<router-link class=\"header-border-btn cart\" to=\"/shop/checkout\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t:src=\"require(`@/${HEADER_CART_ICON}`)\"\n\t\t\t\t\t\t\tclass=\"header-btn-icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span class=\"cart-icon-badge\">\n\t\t\t\t\t\t\t{{ cartItemsNumber }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</router-link>\n\t\t\t\t\t<a\n\t\t\t\t\t\tid=\"userMenu\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t:class=\"['header-secondary-btn avatar dropdown-toggle']\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"user-avatar-holder\">\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tclass=\"user-avatar\"\n\t\t\t\t\t\t\t\tv-if=\"user.profilePicture\"\n\t\t\t\t\t\t\t\t:src=\"user.profilePicture\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span class=\"user-avatar\" v-else>{{ user.firstName[0] }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</a>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"dropdown-menu custom-user-dropdown\"\n\t\t\t\t\t\taria-labelledby=\"coursesMenu\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"custom-dropdown-item\"\n\t\t\t\t\t\t\t@click=\"handleLinkClick('/user/dashboard')\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tMy Courses\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"custom-dropdown-item\"\n\t\t\t\t\t\t\t@click=\"handleLinkClick('/user/profile')\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tProfile\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<!-- <a\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"custom-dropdown-item\"\n\t\t\t\t\t\t\t@click=\"handleLinkClick('/shop/checkout')\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tMy Purchases\n\t\t\t\t\t\t</a> -->\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"custom-dropdown-item\"\n\t\t\t\t\t\t\t@click=\"handleLinkClick('/user/invoices')\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tInvoices\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"custom-dropdown-item\"\n\t\t\t\t\t\t\t@click=\"handleLinkClick('/support')\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tComplaint And Help Center\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"custom-dropdown-item\"\n\t\t\t\t\t\t\t@click=\"handleLinkClick('logout')\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tLogout\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"!loggedIn\"\n\t\t\t\t\tclass=\"flex-grow-1 header-links\"\n\t\t\t\t\tid=\"header-links\"\n\t\t\t\t>\n\t\t\t\t\t<router-link class=\"header-border-btn cart\" to=\"/shop/checkout\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t:src=\"require(`@/${HEADER_CART_ICON}`)\"\n\t\t\t\t\t\t\tclass=\"header-btn-icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span class=\"cart-icon-badge\">\n\t\t\t\t\t\t\t{{ cartItemsNumber }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</router-link>\n\t\t\t\t\t<router-link class=\"header-secondary-btn\" to=\"/account/login\" >{{\n\t\t\t\t\t\tHEADER_LOGIN\n\t\t\t\t\t}}</router-link>\n\t\t\t\t\t<router-link\n\t\t\t\t\t\tclass=\"header-primary-btn\"\n\t\t\t\t\t\tto=\"/account/register\"\n\t\t\t\t\t\t>{{ HEADER_REGISTER }}</router-link\n\t\t\t\t\t>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</header>\n\t</div>\n</template>\n\n<script>\nimport { mapState, mapActions, mapGetters } from \"vuex\";\nimport ProductDropdown from \"../Product/ProductDropdown/ProductDropdown.vue\";\nimport Searchbar from \"./Searchbar.vue\";\nimport {\n\tHEADER_DASHBOARD,\n\tHEADER_LOGIN,\n\tHEADER_REGISTER,\n\tHEADER_COURSES,\n\tHEADER_PROFILE,\n\tHEADER_LOGOUT,\n} from \"../../constants/globalTextConstants\";\n\nimport {\n\tLOGO_LIGHT_PATH,\n\tHEADER_HAMBURGER_PATH,\n\tHEADER_CART_ICON,\n} from \"../../constants/urls\";\nexport default {\n\tname: \"Header\",\n\tdata() {\n\t\treturn {\n\t\t\tuserDropdown: true,\n\t\t\tproductDropdown: false,\n\t\t\tHEADER_DASHBOARD,\n\t\t\tHEADER_LOGIN,\n\t\t\tHEADER_REGISTER,\n\t\t\tHEADER_COURSES,\n\t\t\tHEADER_PROFILE,\n\t\t\tHEADER_LOGOUT,\n\t\t\tLOGO_LIGHT_PATH,\n\t\t\tHEADER_HAMBURGER_PATH,\n\t\t\tHEADER_CART_ICON,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"loggedIn\", \"user\"]),\n\t\t...mapGetters(\"cart\", [\"cartItemsNumber\"]),\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t\tlogoPath() {\n\t\t\treturn this.systemParameters.LogoPath\n\t\t\t\t? this.systemParameters.LogoPath\n\t\t\t\t: require(\"@/assets/images/gocbe_logo.png\");\n\t\t},\n\t\tisWebDisabled(){\n\t\t\treturn this.systemParameters && this.systemParameters.IsWebAccessDisabled=='1';\n\t\t}\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"logout\"]),\n\t\t// toggleLoginDropdown() {\n\t\t// \tthis.loginDropdown = !this.loginDropdown;\n\t\t// \tthis.searchDropdown = false;\n\t\t// },\n\t\t// toggleSearchDropdown() {\n\t\t// \tthis.searchDropdown = !this.searchDropdown;\n\t\t// \tthis.loginDropdown = false;\n\t\t// },\n\t\ttoggleProductDropdown() {\n\t\t\tthis.productDropdown = !this.productDropdown;\n\t\t},\n\t\tcloseProductDropdown() {\n\t\t\tthis.productDropdown = false;\n\t\t},\n\t\thandleLinkClick(link) {\n\t\t\t// this.closeDropdowns();\n\t\t\tif (link == \"logout\") {\n\t\t\t\tthis.logout();\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tthis.$router.push(link);\n\t\t\t}\n\t\t},\n\t\tshowPDF() {\n\t\t\tif (this.user.type && this.systemParameters.StudentKnowledgeBase)\n\t\t\t\tthis.$emit(\"openPDF\", this.systemParameters.StudentKnowledgeBase);\n\t\t},\n\t\tshowHideNotification() {\n\t\t\tdocument.getElementById(\"coursesNotification\").classList.toggle(\"active\");\n\t\t},\n\t},\n\tcomponents: {\n\t\tProductDropdown,\n\t\tSearchbar,\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\t// setTimeout(() => {\n\t\t\twindow.postMessage({ event: \"header-loaded\", data: null });\n\t\t\t// }, 1000);\n\t\t});\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.courses-btn {\n\t\tdisplay: none !important;\n\t}\n\t.nav-link-mobile {\n\t\tdisplay: flex !important;\n\t\talign-items: center !important;\n\t\ttext-transform: none !important;\n\t}\n\t/* .searchbar {\n\t\tdisplay: none !important;\n\t} */\n\n\t.dropdown-menu-custom {\n\t\tdisplay: block !important;\n\t}\n\t.my-nav-link {\n\t\tfont-size: 1rem;\n\t\tpadding: 0.5rem !important;\n\t}\n\t#nav {\n\t\tpadding: 0 0.5rem !important;\n\t}\n\n\t#nav .logo {\n\t\theight: 40px !important;\n\t}\n\n\t#nav .logo-container {\n\t\theight: 40px !important;\n\t}\n\n\t.desktop-only {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media screen and (max-width: 480px) {\n\t.header-border-btn,\n\t.header-secondary-btn {\n\t\tmargin-right: 0.5rem !important;\n\t}\n\n\t#nav .logo-container {\n\t\tmargin-right: 1rem !important;\n\t}\n\n\t.my-nav-link {\n\t\tmargin-right: 0 !important;\n\t}\n}\n\n#nav .logo {\n\theight: 56px;\n}\n\n.nav-container {\n\tdisplay: flex;\n\twidth: 100%;\n\tpadding-right: 2.5rem;\n\tpadding-left: 2.5rem;\n\talign-items: center;\n}\n\ndiv.student-panel-header {\n  position: absolute !important;\n  top: 0 !important;\n  z-index: 999999 !important;\n  background: white !important;\n  width: 100% !important;\n}\n\nheader {\n\tdisplay: flex !important;\n\tbox-shadow: 6px 3px 6px #b9b9b929;\n\theight: var(--header-height);\n\talign-items: center;\n}\n\n.courses-btn {\n\tpadding: 1.125rem 1.5rem;\n\tbackground-color: #f8f8f8;\n\tborder: 1px solid #a3a3a3;\n\tborder-radius: 8px;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n\tfont-size: 1.125rem;\n\tline-height: 1.25;\n\tmargin-right: 1.25rem;\n\theight: fit-content;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.courses-btn img {\n\tmargin-left: 0.75rem;\n\twidth: 1.188rem;\n\theight: 1.188rem;\n}\n\n.header-secondary-btn {\n\tbackground-color: #f8f8f8;\n\tborder: 1px solid #e9e9e9;\n\tborder-radius: 8px;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n\tpadding: 1.25rem 1.75rem;\n\tline-height: 1.25;\n\tmargin-right: 1.25rem;\n}\n\n.header-secondary-btn.avatar {\n\tpadding: 0.75rem 0.875rem;\n\tmargin: 0;\n}\n\n.header-primary-btn {\n\tbackground-color: var(--primary-color);\n\tborder: 1px solid #e9e9e9;\n\tborder-radius: 8px;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n\tpadding: 1.25rem 1.75rem;\n\tline-height: 1.25;\n\tcolor: #ffffff !important;\n}\n\n.header-border-btn {\n\tbackground-color: #ffffff;\n\tborder: 1px solid #e9e9e9;\n\tborder-radius: 8px;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n\tpadding: 1rem;\n\tline-height: 1.25;\n\tmargin-right: 1.25rem;\n}\n\n.header-border-btn.cart {\n\tposition: relative;\n}\n\n.my-nav-link {\n\tdisplay: inline-flex;\n\tfont-size: 0.875rem;\n\t/* padding: 2rem 1rem; */\n\tmargin-right: 1.25rem;\n\tcolor: #231f20 !important;\n\talign-items: center;\n\theight: fit-content;\n\ttext-decoration: underline !important;\n}\n\n.my-nav-link.first {\n\tmargin-left: 1.25rem;\n}\n\n.my-nav-link.right-border {\n\tborder-right: 1px solid #e9e9e9;\n\tpadding-right: 1.25rem;\n}\n\n/* .user-avatar-link {\n\tpadding: 2.125rem 1.7rem;\n}\n\n.user-avatar-link.active {\n\tbackground-color: #f7f7f7;\n} */\n\n.icon-link {\n\tfont-size: 1.75rem;\n\tpadding: 0.5rem 1.25rem;\n}\n\n.header-btn-icon {\n\theight: 1.75rem;\n\tfont-size: 1.75rem;\n}\n\n#nav .logo-container {\n\tdisplay: flex;\n\theight: 56px;\n\tmargin-right: 1.85rem;\n}\n\n#nav a {\n\t/* text-transform: uppercase; */\n\tcolor: var(--color-text-default);\n\ttext-decoration: none;\n\tfont-weight: 500;\n\theight: 42px;\n\tline-height: 40px;\n\tpadding: 0 1.25rem;\n}\n#nav .logo-link{\n\tpadding-left:0;\n\theight:52px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n/* #nav a.router-link-exact-active {\n\tcolor: var(--primary-color);\n} */\n\n/* .searchbar {\n\tflex-grow: 16;\n\tfont-size: 1rem;\n}\n\n.searchbar-mobile {\n\theight: 36px;\n\tborder: none;\n\toutline: none;\n\tpadding: 12px 36px 12px 24px;\n\twidth: 100%;\n}\n\n#search {\n\tline-height: 1.5;\n\tborder: 1px solid #a3a3a3;\n\tborder-radius: 8px;\n\tbackground-color: #fafafa;\n\toutline: none;\n\tpadding: 1.125rem 1.5rem;\n\twidth: 100%;\n\tbox-shadow: 0 3px 6px #dbdbdb29;\n}\n\n.search-icon {\n\tfont-size: 18px;\n\tposition: absolute;\n\tmargin-right: 1.5rem;\n\tright: 0;\n} */\n\n.hamburger {\n\tpadding: 0;\n\tpadding-right: 1rem !important;\n\tfont-size: 1.2rem;\n\talign-self: center;\n}\n\n.nav-link-mobile {\n\tdisplay: none;\n}\n\n.dropdown-toggle::after {\n\tdisplay: none;\n}\n\n/* .dropdown-menu-custom {\n\tbackground-color: white;\n\tborder-top: 1px solid #cccccc;\n\tborder-bottom: 1px solid #cccccc;\n} */\n\n.cart-icon-badge {\n\tposition: absolute;\n\ttop: -0.5rem;\n\tright: -0.5rem;\n\tfont-size: 0.8rem;\n\tline-height: 1;\n\tbackground-color: var(--color-success);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\t/* padding: 0.2rem 0.3rem; */\n\twidth: 1.125rem;\n\theight: 1.125rem;\n\tborder-radius: 50%;\n\tfont-weight: 500;\n}\n\n.header-links {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tflex-grow: 1;\n\talign-items: center;\n}\n\n.user-avatar {\n\twidth: 2.25rem;\n\theight: 2.25rem;\n\tcolor: var(--color-white);\n\tbackground-color: #231f20;\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tline-height: 1;\n\tfont-size: 1.2rem;\n\tmin-width: 2.25rem;\n\tobject-fit: contain;\n\t/* z-index: 10; */\n}\n.user-avatar-holder{\n\theight: 42px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.custom-user-dropdown {\n\tbackground-color: #ffffff;\n\twidth: 21.25rem;\n\tbox-shadow: 6px 3px 6px #b9b9b929;\n\tz-index: 999;\n}\n\n.custom-dropdown-item {\n\tdisplay: flex;\n\tpadding: 1.125rem;\n\tfont-size: 1.125rem;\n\tfont-weight: normal !important;\n}\n\n.custom-dropdown-item:hover {\n\tbackground-color: #f7f7f7;\n}\n\n.dropdown-toggle.show {\n\tdisplay: flex !important;\n}\n\n@media (max-width:768px){\n\t#nav a {\n\t\tpadding: 0 0.55rem;\n\t}\n\t#nav .notification-icon{\n\t\theight:42px;\n\t\tline-height: 42px;\n\t\tmargin-right: 0.5rem !important;\n\t\twidth: 38px;\n\t    justify-content: center;\n\t}\n\t.notification-icon i{\n\t\tfont-size: 22px;\n    \tcolor: var(--gray-2);\n\t}\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=24f869d1&scoped=true&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=24f869d1&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"24f869d1\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('header',[_c('div',{attrs:{\"id\":\"nav\"}},[_c('div',{staticClass:\"logo-container\"},[_vm._m(0),_c('router-link',{staticClass:\"d-flex\",attrs:{\"to\":\"/\"}},[_c('img',{staticClass:\"logo\",attrs:{\"src\":require((\"@/\" + _vm.LOGO_LIGHT_PATH))}})])],1),_c('div',{staticClass:\"searchbar position-relative d-flex align-items-center\"},[_c('input',{attrs:{\"type\":\"search\",\"name\":\"search\",\"id\":\"search\",\"placeholder\":\"Search\"}}),_c('router-link',{staticClass:\"search-icon\",attrs:{\"to\":\"/search\"}},[_c('i',{staticClass:\"fa fa-search\"})])],1),_c('div',{attrs:{\"id\":\"header-links\"}},[_c('a',{staticClass:\"my-nav-link d-inline btn-bold courses-link\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.openProductModal}},[_vm._v(_vm._s(_vm.HEADER_COURSES)+\" \"),_c('img',{attrs:{\"src\":require((\"@/\" + _vm.HEADER_HAMBURGER_PATH)),\"alt\":\"\"}})]),(this.loggedIn)?_c('router-link',{staticClass:\"my-nav-link hide-tab-mobile\",attrs:{\"to\":\"/user/dashboard\"}},[_vm._v(_vm._s(_vm.HEADER_DASHBOARD))]):_vm._e(),(this.loggedIn)?_c('router-link',{staticClass:\"my-nav-link hide-tab-mobile\",attrs:{\"to\":\"/user/profile\"}},[_vm._v(_vm._s(_vm.HEADER_PROFILE))]):_vm._e(),(this.loggedIn)?_c('a',{staticClass:\"my-nav-link hide-tab-mobile\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.logout}},[_vm._v(_vm._s(_vm.HEADER_LOGOUT))]):_vm._e(),(this.loggedIn)?_c('router-link',{staticClass:\"my-nav-link hide-tab-mobile\",attrs:{\"to\":\"/shop/checkout\"}},[_c('i',{staticClass:\"fas fa-shopping-cart\"}),_c('span',{staticClass:\"cart-icon-badge\"},[_vm._v(\" \"+_vm._s(_vm.cartItemsNumber)+\" \")])]):_vm._e(),_c('a',{staticClass:\" my-nav-link nav-link-mobile\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.toggleLoginDropdown}},[_vm._v(_vm._s(this.loggedIn ? _vm.HEADER_COURSES : _vm.HEADER_LOGIN))]),(_vm.loginDropdown)?_c('div',{staticClass:\"dropdown-menu-custom\"},[(!this.loggedIn)?_c('router-link',{staticClass:\"my-nav-link d-inline\",attrs:{\"to\":\"/account/login\"}},[_vm._v(_vm._s(_vm.HEADER_LOGIN))]):_vm._e(),(!this.loggedIn)?_c('router-link',{staticClass:\"my-nav-link d-inline\",attrs:{\"to\":\"/account/register\"}},[_vm._v(_vm._s(_vm.HEADER_REGISTER))]):_vm._e(),(this.loggedIn)?_c('router-link',{staticClass:\"my-nav-link d-inline\",attrs:{\"to\":\"/user/dashboard\"}},[_vm._v(_vm._s(_vm.HEADER_DASHBOARD))]):_vm._e(),(this.loggedIn)?_c('router-link',{staticClass:\"my-nav-link d-inline\",attrs:{\"to\":\"/user/profile\"}},[_vm._v(_vm._s(_vm.HEADER_PROFILE))]):_vm._e(),(this.loggedIn)?_c('a',{staticClass:\"my-nav-link d-inline\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.logout}},[_vm._v(_vm._s(_vm.HEADER_LOGOUT))]):_vm._e(),(this.loggedIn)?_c('router-link',{staticClass:\"my-nav-link d-inline\",attrs:{\"to\":\"/shop/checkout\"}},[_c('i',{staticClass:\"fas fa-shopping-cart\"}),_c('span',{staticClass:\"cart-icon-badge\"},[_vm._v(\" \"+_vm._s(_vm.cartItemsNumber)+\" \")])]):_vm._e()],1):_vm._e(),_c('a',{staticClass:\" my-nav-link nav-link-mobile\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.toggleSearchDropdown}},[(!_vm.searchDropdown)?_c('i',{staticClass:\"fa fa-search\"}):_c('i',{staticClass:\"fas fa-times\"})]),(_vm.searchDropdown)?_c('div',{staticClass:\"dropdown-menu-custom d-flex align-items-center\"},[_c('input',{staticClass:\"searchbar-mobile\",attrs:{\"type\":\"search\",\"name\":\"search\",\"placeholder\":\"Search\"}}),_c('router-link',{staticClass:\"search-icon mr-5\",attrs:{\"to\":\"/search\"}},[_c('i',{staticClass:\"fa fa-search\"})])],1):_vm._e(),(!this.loggedIn)?_c('div',{staticClass:\"d-inline\"},[_c('router-link',{staticClass:\"my-nav-link hide-tab-mobile\",attrs:{\"to\":\"/account/login\"}},[_vm._v(_vm._s(_vm.HEADER_LOGIN))]),_c('router-link',{staticClass:\"my-nav-link hide-tab-mobile\",attrs:{\"to\":\"/account/register\"}},[_vm._v(_vm._s(_vm.HEADER_REGISTER))])],1):_vm._e()],1)])]),(_vm.productModal)?_c('ProductModal',{on:{\"close-modal\":_vm.closeProductModal}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"my-nav-link nav-link-mobile hamburger\",attrs:{\"role\":\"button\"}},[_c('i',{staticClass:\"fas fa-bars\"})])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<header>\n\t\t\t<div id=\"nav\">\n\t\t\t\t<div class=\"logo-container\">\n\t\t\t\t\t<!-- mobile-hamburger -->\n\t\t\t\t\t<a role=\"button\" class=\"my-nav-link nav-link-mobile hamburger\"\n\t\t\t\t\t\t><i class=\"fas fa-bars\"></i\n\t\t\t\t\t></a>\n\t\t\t\t\t<!--  -->\n\n\t\t\t\t\t<!-- logo-image -->\n\t\t\t\t\t<router-link to=\"/\" class=\"d-flex\"\n\t\t\t\t\t\t><img class=\"logo\" :src=\"require(`@/${LOGO_LIGHT_PATH}`)\"\n\t\t\t\t\t/></router-link>\n\t\t\t\t\t<!--  -->\n\t\t\t\t</div>\n\t\t\t\t<div class=\"searchbar position-relative d-flex align-items-center\">\n\t\t\t\t\t<input type=\"search\" name=\"search\" id=\"search\" placeholder=\"Search\" />\n\t\t\t\t\t<router-link to=\"/search\" class=\"search-icon\"\n\t\t\t\t\t\t><i class=\"fa fa-search\"></i\n\t\t\t\t\t></router-link>\n\t\t\t\t</div>\n\t\t\t\t<div id=\"header-links\">\n\t\t\t\t\t<a\n\t\t\t\t\t\t@click=\"openProductModal\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclass=\"my-nav-link d-inline btn-bold courses-link\"\n\t\t\t\t\t\t>{{ HEADER_COURSES }}\n\t\t\t\t\t\t<img :src=\"require(`@/${HEADER_HAMBURGER_PATH}`)\" alt=\"\" />\n\t\t\t\t\t</a>\n\t\t\t\t\t<router-link\n\t\t\t\t\t\tclass=\"my-nav-link hide-tab-mobile\"\n\t\t\t\t\t\tv-if=\"this.loggedIn\"\n\t\t\t\t\t\tto=\"/user/dashboard\"\n\t\t\t\t\t\t>{{ HEADER_DASHBOARD }}</router-link\n\t\t\t\t\t>\n\t\t\t\t\t<router-link\n\t\t\t\t\t\tclass=\"my-nav-link hide-tab-mobile\"\n\t\t\t\t\t\tv-if=\"this.loggedIn\"\n\t\t\t\t\t\tto=\"/user/profile\"\n\t\t\t\t\t\t>{{ HEADER_PROFILE }}</router-link\n\t\t\t\t\t>\n\t\t\t\t\t<a\n\t\t\t\t\t\tv-if=\"this.loggedIn\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t@click=\"logout\"\n\t\t\t\t\t\tclass=\"my-nav-link hide-tab-mobile\"\n\t\t\t\t\t\t>{{ HEADER_LOGOUT }}</a\n\t\t\t\t\t>\n\t\t\t\t\t<router-link\n\t\t\t\t\t\tv-if=\"this.loggedIn\"\n\t\t\t\t\t\tclass=\"my-nav-link hide-tab-mobile\"\n\t\t\t\t\t\tto=\"/shop/checkout\"\n\t\t\t\t\t\t><i class=\"fas fa-shopping-cart\"></i\n\t\t\t\t\t\t><span class=\"cart-icon-badge\">\n\t\t\t\t\t\t\t{{ cartItemsNumber }}\n\t\t\t\t\t\t</span></router-link\n\t\t\t\t\t>\n\n\t\t\t\t\t<a\n\t\t\t\t\t\t@click=\"toggleLoginDropdown\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\" my-nav-link nav-link-mobile\"\n\t\t\t\t\t\t>{{ this.loggedIn ? HEADER_COURSES : HEADER_LOGIN }}</a\n\t\t\t\t\t>\n\t\t\t\t\t<div v-if=\"loginDropdown\" class=\"dropdown-menu-custom\">\n\t\t\t\t\t\t<router-link\n\t\t\t\t\t\t\tv-if=\"!this.loggedIn\"\n\t\t\t\t\t\t\tclass=\"my-nav-link d-inline\"\n\t\t\t\t\t\t\tto=\"/account/login\"\n\t\t\t\t\t\t\t>{{ HEADER_LOGIN }}</router-link\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<router-link\n\t\t\t\t\t\t\tv-if=\"!this.loggedIn\"\n\t\t\t\t\t\t\tclass=\"my-nav-link d-inline\"\n\t\t\t\t\t\t\tto=\"/account/register\"\n\t\t\t\t\t\t\t>{{ HEADER_REGISTER }}</router-link\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<router-link\n\t\t\t\t\t\t\tclass=\"my-nav-link d-inline\"\n\t\t\t\t\t\t\tv-if=\"this.loggedIn\"\n\t\t\t\t\t\t\tto=\"/user/dashboard\"\n\t\t\t\t\t\t\t>{{ HEADER_DASHBOARD }}</router-link\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<router-link\n\t\t\t\t\t\t\tclass=\"my-nav-link d-inline\"\n\t\t\t\t\t\t\tv-if=\"this.loggedIn\"\n\t\t\t\t\t\t\tto=\"/user/profile\"\n\t\t\t\t\t\t\t>{{ HEADER_PROFILE }}</router-link\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tv-if=\"this.loggedIn\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t@click=\"logout\"\n\t\t\t\t\t\t\tclass=\"my-nav-link d-inline\"\n\t\t\t\t\t\t\t>{{ HEADER_LOGOUT }}</a\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<router-link\n\t\t\t\t\t\t\tv-if=\"this.loggedIn\"\n\t\t\t\t\t\t\tclass=\"my-nav-link d-inline\"\n\t\t\t\t\t\t\tto=\"/shop/checkout\"\n\t\t\t\t\t\t\t><i class=\"fas fa-shopping-cart\"></i>\n\t\t\t\t\t\t\t<span class=\"cart-icon-badge\">\n\t\t\t\t\t\t\t\t{{ cartItemsNumber }}\n\t\t\t\t\t\t\t</span></router-link\n\t\t\t\t\t\t>\n\t\t\t\t\t</div>\n\t\t\t\t\t<a\n\t\t\t\t\t\t@click=\"toggleSearchDropdown\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\" my-nav-link nav-link-mobile\"\n\t\t\t\t\t\t><i v-if=\"!searchDropdown\" class=\"fa fa-search\"></i>\n\t\t\t\t\t\t<i v-else class=\"fas fa-times\"></i>\n\t\t\t\t\t</a>\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"searchDropdown\"\n\t\t\t\t\t\tclass=\"dropdown-menu-custom d-flex align-items-center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tname=\"search\"\n\t\t\t\t\t\t\tclass=\"searchbar-mobile\"\n\t\t\t\t\t\t\tplaceholder=\"Search\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<router-link to=\"/search\" class=\"search-icon mr-5\"\n\t\t\t\t\t\t\t><i class=\"fa fa-search\"></i\n\t\t\t\t\t\t></router-link>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"!this.loggedIn\" class=\"d-inline\">\n\t\t\t\t\t\t<router-link\n\t\t\t\t\t\t\tclass=\"my-nav-link hide-tab-mobile\"\n\t\t\t\t\t\t\tto=\"/account/login\"\n\t\t\t\t\t\t\t>{{ HEADER_LOGIN }}</router-link\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<router-link\n\t\t\t\t\t\t\tclass=\"my-nav-link hide-tab-mobile\"\n\t\t\t\t\t\t\tto=\"/account/register\"\n\t\t\t\t\t\t\t>{{ HEADER_REGISTER }}</router-link\n\t\t\t\t\t\t>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</header>\n\n\t\t<ProductModal v-if=\"productModal\" @close-modal=\"closeProductModal\" />\n\t</div>\n</template>\n\n<script>\nimport { mapState, mapActions, mapGetters } from \"vuex\";\nimport ProductModal from \"../Product/ProductDropdown/ProductDropdown.vue\";\nimport {\n\tHEADER_DASHBOARD,\n\tHEADER_LOGIN,\n\tHEADER_REGISTER,\n\tHEADER_COURSES,\n\tHEADER_PROFILE,\n\tHEADER_LOGOUT,\n} from \"../../constants/globalTextConstants\";\n\nimport { LOGO_LIGHT_PATH, HEADER_HAMBURGER_PATH } from \"../../constants/urls\";\nexport default {\n\tname: \"HeaderOld\",\n\tdata() {\n\t\treturn {\n\t\t\tloginDropdown: false,\n\t\t\tsearchDropdown: false,\n\t\t\tproductModal: false,\n\t\t\tHEADER_DASHBOARD,\n\t\t\tHEADER_LOGIN,\n\t\t\tHEADER_REGISTER,\n\t\t\tHEADER_COURSES,\n\t\t\tHEADER_PROFILE,\n\t\t\tHEADER_LOGOUT,\n\t\t\tLOGO_LIGHT_PATH,\n\t\t\tHEADER_HAMBURGER_PATH,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"loggedIn\"]),\n\t\t...mapGetters(\"cart\", [\"cartItemsNumber\"]),\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"logout\"]),\n\t\ttoggleLoginDropdown() {\n\t\t\tthis.loginDropdown = !this.loginDropdown;\n\t\t\tthis.searchDropdown = false;\n\t\t},\n\t\ttoggleSearchDropdown() {\n\t\t\tthis.searchDropdown = !this.searchDropdown;\n\t\t\tthis.loginDropdown = false;\n\t\t},\n\t\tcloseDropdowns() {\n\t\t\tthis.loginDropdown = false;\n\t\t\tthis.searchDropdown = false;\n\t\t},\n\t\topenProductModal() {\n\t\t\tthis.productModal = true;\n\t\t\tdocument.querySelector(\"body\").classList.add(\"modal-open\");\n\t\t},\n\t\tcloseProductModal() {\n\t\t\tthis.productModal = false;\n\t\t\tdocument.querySelector(\"body\").classList.remove(\"modal-open\");\n\t\t},\n\t},\n\tcomponents: {\n\t\tProductModal,\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.courses-link {\n\t\tdisplay: none !important;\n\t}\n\t.nav-link-mobile {\n\t\tdisplay: inline !important;\n\t\ttext-transform: none !important;\n\t}\n\t.searchbar {\n\t\tdisplay: none !important;\n\t}\n\n\t.dropdown-menu-custom {\n\t\tdisplay: block !important;\n\t}\n\t.my-nav-link {\n\t\tfont-size: 0.9rem;\n\t\tpadding: 0.5rem !important;\n\t}\n\t#nav {\n\t\tpadding: 4px 8px !important;\n\t}\n\n\t#nav .logo-container {\n\t\theight: 45px !important;\n\t}\n\n\t.searchbar {\n\t\tdisplay: none !important;\n\t}\n}\n.my-nav-link {\n\tdisplay: inline-block;\n\tpadding: 0.5rem 1rem;\n}\n\n#nav {\n\tpadding: 15px 30px;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-shadow: 5px 5px 5.5px #eaeaea;\n\t/* border-bottom: 1px solid #eee; */\n}\n\n#nav .logo-container {\n\tdisplay: flex;\n\theight: 56px;\n\tmargin-right: 1rem;\n}\n\n#nav a {\n\ttext-transform: uppercase;\n\tcolor: var(--color-text-default);\n\ttext-decoration: none;\n\tfont-weight: 500;\n}\n\n/* #nav a.router-link-exact-active {\n\tcolor: var(--primary-color);\n} */\n\n.searchbar {\n\tflex: 2;\n\tmax-width: 500px;\n}\n\n.searchbar-mobile {\n\theight: 36px;\n\tborder: none;\n\toutline: none;\n\tpadding: 12px 36px 12px 24px;\n\twidth: 100%;\n}\n\n#search {\n\theight: 36px;\n\tborder: none;\n\tborder-radius: 18px;\n\tbackground-color: var(--color-light-blue);\n\toutline: none;\n\tpadding: 12px 36px 12px 24px;\n\twidth: 100%;\n}\n\n.search-icon {\n\tfont-size: 18px;\n\tposition: absolute;\n\tmargin-right: 12px;\n\tright: 0;\n}\n\n.hamburger {\n\t/* display: none; */\n\tpadding: 0;\n\tpadding-right: 1rem !important;\n\tfont-size: 1.2rem;\n\talign-self: center;\n}\n\n.nav-link-mobile {\n\tdisplay: none;\n}\n\n.dropdown-toggle::after {\n\tdisplay: none;\n}\n\n.dropdown-menu-custom {\n\tdisplay: none;\n\twidth: 100% !important;\n\tposition: absolute;\n\ttop: 3.3rem;\n\tpadding: 0.5rem;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: white;\n\tborder-top: 1px solid #cccccc;\n\tborder-bottom: 1px solid #cccccc;\n}\n\n.cart-icon-badge {\n\tposition: relative;\n\ttop: -0.75rem;\n\tright: 0.3rem;\n\tfont-size: 0.7rem;\n\tline-height: 1;\n\tbackground-color: var(--color-success);\n\tdisplay: inline-block;\n\tpadding: 0.2rem 0.3rem;\n\tborder-radius: 5rem;\n\tfont-weight: 500;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HeaderOldUI.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HeaderOldUI.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeaderOldUI.vue?vue&type=template&id=1a32206a&scoped=true&\"\nimport script from \"./HeaderOldUI.vue?vue&type=script&lang=js&\"\nexport * from \"./HeaderOldUI.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeaderOldUI.vue?vue&type=style&index=0&id=1a32206a&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1a32206a\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"carousel-container\"},[(!_vm.bannerData)?_c('img',{staticClass:\"banner-right-img vector\",attrs:{\"src\":require(\"../../assets/images/banner-right-vector.svg\")}}):_vm._e(),(!_vm.bannerData)?_c('img',{staticClass:\"banner-right-img person\",attrs:{\"src\":require(\"../../assets/images/banner-right-person.png\")}}):_vm._e(),(_vm.bannerData && _vm.carouselOptions)?_c('VueSlickCarousel',_vm._b({ref:\"banner_carousel\",staticClass:\"carousel\",attrs:{\"fade\":\"\"}},'VueSlickCarousel',_vm.carouselOptions,false),[_vm._l((_vm.bannerData),function(slide){return _c('div',{key:slide.order,staticClass:\"carousel-slide\"},[(slide.type.toLowerCase() == 'image')?_c('img',{staticClass:\"carousel-content\",attrs:{\"src\":_vm.getData(slide.sources),\"alt\":\"\"}}):(\n\t\t\t\tslide.type.toLowerCase() == 'video' &&\n\t\t\t\t(slide.source.provider.toLowerCase() == 'youtube' ||\n\t\t\t\t\tslide.source.provider.toLowerCase() == 'vimeo')\n\t\t\t)?_c('div',{attrs:{\"id\":\"video-wrapper\"}},[_c('div',{staticClass:\"video-container\"},[_c('iframe',{staticClass:\"carousel-content\",attrs:{\"src\":slide.source.url,\"frameborder\":\"0\",\"allow\":\"autoplay;\",\"autoplay\":\"\"}})])]):(\n\t\t\t\tslide.type.toLowerCase() == 'video' &&\n\t\t\t\tslide.source.provider.toLowerCase() == 'mp4'\n\t\t\t)?_c('video',{staticClass:\"carousel-content\",attrs:{\"src\":slide.source.url,\"autoplay\":\"\"}}):(slide.type.toLowerCase() == 'html')?_c('div',{staticClass:\"carousel-slide html\",domProps:{\"innerHTML\":_vm._s(_vm.getData(slide.sources))}}):_vm._e()])}),(!_vm.bannerData)?_c('div',{staticClass:\"carousel-slide default\"},[_c('div',{staticClass:\"container d-flex\"},[_c('div',{staticClass:\"carousel-content\"},[_c('h2',{staticClass:\"creator-name\"},[_vm._v(\"Hamza Abdul Haq\")]),_c('h1',{staticClass:\"product-title\"},[_vm._v(\"ACCA F8 Audit & Assurance\")]),_c('h2',{staticClass:\"product-variant-title\"},[_vm._v(\" (UK) F8, CA (PK) CAF 9 & ICMA S2. \")]),_c('p',{staticClass:\"sub-heading\"},[_vm._v(\" Get a \"),_c('span',[_vm._v(\"FREE ITEM\")]),_vm._v(\" only for away for a single click \")]),_c('div',{staticClass:\"features-container\"},_vm._l((_vm.features),function(feature){return _c('div',{key:feature,staticClass:\"feature-tag\"},[_c('i',{staticClass:\"fas fa-check-circle feature-tag-icon\"}),_vm._v(_vm._s(feature)+\" \")])}),0),_c('div',{staticClass:\"banner-cta-container\"},[_c('p',{staticClass:\"batch-time\"},[_vm._v(\" Online Batch Will start from 15th July, 2019 \")]),_c('div',{staticClass:\"banner-cta-btn-container\"},[_c('a',{staticClass:\"cta-btn primary\",attrs:{\"role\":\"button\"}},[_vm._v(\" 7 Day Free Trail \")]),_c('span',{staticClass:\"cta-btn-divider\"},[_vm._v(\"OR\")]),_c('a',{staticClass:\"cta-btn secondary\",attrs:{\"role\":\"button\"}},[_vm._v(\" Enroll Now \")])]),_c('div',{staticClass:\"demo-container\"},[_c('p',{staticClass:\"watch-demo\"},[_vm._v(\"Click here to watch demo 1:45 Minutes\")]),_c('i',{staticClass:\"fas fa-play-circle play-icon\"})])])]),_c('div',{staticClass:\"product-stats-container\"},[_c('div',{staticClass:\"stats-card first\"},[_c('h1',{staticClass:\"rating-text\"},[_vm._v(\"4.7\")]),_c('div',{staticClass:\"right-section\"},[_c('b-form-rating',{attrs:{\"value\":\"4\",\"readonly\":\"\"}}),_c('p',{staticClass:\"stats-text rating\"},[_vm._v(\"Instructor Rating\")])],1)]),_c('div',{staticClass:\"stats-card\"},[_c('img',{staticClass:\"left-image\",attrs:{\"src\":require(\"../../assets/images/bell.svg\")}}),_c('div',{staticClass:\"right-section\"},[_c('p',{staticClass:\"stats-number\"},[_vm._v(\"240+\")]),_c('p',{staticClass:\"stats-text\"},[_vm._v(\"Courses Completed\")])])]),_c('div',{staticClass:\"stats-card last\"},[_c('img',{staticClass:\"left-image\",attrs:{\"src\":require(\"../../assets/images/bell.svg\")}}),_c('div',{staticClass:\"right-section\"},[_c('p',{staticClass:\"stats-number\"},[_vm._v(\"100,000+\")]),_c('p',{staticClass:\"stats-text\"},[_vm._v(\"Enrolled Students\")])])])])])]):_vm._e()],2):_vm._e(),(_vm.bannerData.length > 1)?_c('a',{staticClass:\"carousel-arrow left\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prevSlide}},[_c('i',{staticClass:\"fas fa-angle-left\"})]):_vm._e(),(_vm.bannerData.length > 1)?_c('a',{staticClass:\"carousel-arrow right\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.nextSlide}},[_c('i',{staticClass:\"fas fa-angle-right\"})]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"carousel-container\">\n\t\t<img v-if=\"!bannerData\" src=\"../../assets/images/banner-right-vector.svg\" class=\"banner-right-img vector\" />\n\t\t<img v-if=\"!bannerData\" src=\"../../assets/images/banner-right-person.png\" class=\"banner-right-img person\" />\n\t\t<VueSlickCarousel v-if=\"bannerData && carouselOptions\" class=\"carousel\" v-bind=\"carouselOptions\" fade\n\t\t\tref=\"banner_carousel\">\n\t\t\t<div v-for=\"slide in bannerData\" :key=\"slide.order\" class=\"carousel-slide\">\n\t\t\t\t<img v-if=\"slide.type.toLowerCase() == 'image'\" class=\"carousel-content\" :src=\"getData(slide.sources)\"\n\t\t\t\t\talt=\"\" />\n\t\t\t\t<div v-else-if=\"\n\t\t\t\t\tslide.type.toLowerCase() == 'video' &&\n\t\t\t\t\t(slide.source.provider.toLowerCase() == 'youtube' ||\n\t\t\t\t\t\tslide.source.provider.toLowerCase() == 'vimeo')\n\t\t\t\t\" id=\"video-wrapper\">\n\t\t\t\t\t<div class=\"video-container\">\n\t\t\t\t\t\t<iframe class=\"carousel-content\" :src=\"slide.source.url\" frameborder=\"0\" allow=\"autoplay;\"\n\t\t\t\t\t\t\tautoplay></iframe>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<video class=\"carousel-content\" v-else-if=\"\n\t\t\t\t\tslide.type.toLowerCase() == 'video' &&\n\t\t\t\t\tslide.source.provider.toLowerCase() == 'mp4'\n\t\t\t\t\" :src=\"slide.source.url\" autoplay></video>\n\n\t\t\t\t<div v-else-if=\"slide.type.toLowerCase() == 'html'\" class=\"carousel-slide html\"\n\t\t\t\t\tv-html=\"getData(slide.sources)\"></div>\n\t\t\t\t<!-- </div> -->\n\t\t\t</div>\n\t\t\t<div v-if=\"!bannerData\" class=\"carousel-slide default\">\n\t\t\t\t<div class=\"container d-flex\">\n\t\t\t\t\t<div class=\"carousel-content\">\n\t\t\t\t\t\t<h2 class=\"creator-name\">Hamza Abdul Haq</h2>\n\t\t\t\t\t\t<h1 class=\"product-title\">ACCA F8 Audit & Assurance</h1>\n\t\t\t\t\t\t<h2 class=\"product-variant-title\">\n\t\t\t\t\t\t\t(UK) F8, CA (PK) CAF 9 & ICMA S2.\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<p class=\"sub-heading\">\n\t\t\t\t\t\t\tGet a <span>FREE ITEM</span> only for away for a single click\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<div class=\"features-container\">\n\t\t\t\t\t\t\t<div v-for=\"feature in features\" :key=\"feature\" class=\"feature-tag\">\n\t\t\t\t\t\t\t\t<i class=\"fas fa-check-circle feature-tag-icon\"></i>{{ feature }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"banner-cta-container\">\n\t\t\t\t\t\t\t<p class=\"batch-time\">\n\t\t\t\t\t\t\t\tOnline Batch Will start from 15th July, 2019\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<div class=\"banner-cta-btn-container\">\n\t\t\t\t\t\t\t\t<a role=\"button\" class=\"cta-btn primary\"> 7 Day Free Trail </a>\n\t\t\t\t\t\t\t\t<span class=\"cta-btn-divider\">OR</span>\n\t\t\t\t\t\t\t\t<a role=\"button\" class=\"cta-btn secondary\"> Enroll Now </a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"demo-container\">\n\t\t\t\t\t\t\t\t<p class=\"watch-demo\">Click here to watch demo 1:45 Minutes</p>\n\t\t\t\t\t\t\t\t<i class=\"fas fa-play-circle play-icon\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"product-stats-container\">\n\t\t\t\t\t\t<div class=\"stats-card first\">\n\t\t\t\t\t\t\t<h1 class=\"rating-text\">4.7</h1>\n\t\t\t\t\t\t\t<div class=\"right-section\">\n\t\t\t\t\t\t\t\t<b-form-rating value=\"4\" readonly></b-form-rating>\n\t\t\t\t\t\t\t\t<p class=\"stats-text rating\">Instructor Rating</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"stats-card\">\n\t\t\t\t\t\t\t<img class=\"left-image\" src=\"../../assets/images/bell.svg\" />\n\t\t\t\t\t\t\t<div class=\"right-section\">\n\t\t\t\t\t\t\t\t<p class=\"stats-number\">240+</p>\n\t\t\t\t\t\t\t\t<p class=\"stats-text\">Courses Completed</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"stats-card last\">\n\t\t\t\t\t\t\t<img class=\"left-image\" src=\"../../assets/images/bell.svg\" />\n\t\t\t\t\t\t\t<div class=\"right-section\">\n\t\t\t\t\t\t\t\t<p class=\"stats-number\">100,000+</p>\n\t\t\t\t\t\t\t\t<p class=\"stats-text\">Enrolled Students</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</VueSlickCarousel>\n\t\t<a v-if=\"bannerData.length > 1\" class=\"carousel-arrow left\" role=\"button\" @click=\"prevSlide\"><i\n\t\t\t\tclass=\"fas fa-angle-left\"></i></a>\n\t\t<a v-if=\"bannerData.length > 1\" class=\"carousel-arrow right\" role=\"button\" @click=\"nextSlide\"><i\n\t\t\t\tclass=\"fas fa-angle-right\"></i></a>\n\t</div>\n</template>\n\n<script>\nimport VueSlickCarousel from \"vue-slick-carousel\";\nimport \"vue-slick-carousel/dist/vue-slick-carousel.css\";\n// optional style for arrows & dots\nimport \"vue-slick-carousel/dist/vue-slick-carousel-theme.css\";\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"HomePageBanner\",\n\tdata() {\n\t\treturn {\n\t\t\tfeatures: [\"webinars\", \"free notes\", \"practice tests\"],\n\t\t\tbannerData: null,\n\t\t\tcarouselOptions: null,\n\t\t\t// {\n\t\t\t// \tautoplay: false,\n\t\t\t// \tautoplaySpeed: 3000,\n\t\t\t// \tpauseOnHover: true,\n\t\t\t// },\n\t\t};\n\t},\n\tcomponents: { VueSlickCarousel },\n\tmethods: {\n\t\tgetData(source) {\n\t\t\t// console.log(\"get image path\", source, this.bannerData);\n\t\t\tif (this.isMobile) {\n\t\t\t\tvar src = source.find((s) => s.screen_size == \"xs\");\n\t\t\t\tif (src) return src.data;\n\t\t\t}\n\t\t\tvar src = source.find((s) => s.screen_size == \"lg\");\n\t\t\treturn src.data;\n\t\t},\n\t\tnextSlide() {\n\t\t\tthis.$refs.banner_carousel.next();\n\t\t},\n\t\tprevSlide() {\n\t\t\tthis.$refs.banner_carousel.prev();\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"isMobile\", \"systemParameters\"]),\n\t},\n\tcreated() {\n\t\tif (this.systemParameters && this.systemParameters.Banners) {\n\t\t\tvar data = this.systemParameters.Banners;\n\t\t\tthis.bannerData = data.slides;\n\t\t\tthis.carouselOptions = {\n\t\t\t\tautoplay: data.autoplay,\n\t\t\t\tautoplaySpeed: parseInt(data.duration),\n\t\t\t\tpauseOnHover: data.pauseOnHover,\n\t\t\t\tarrows: false,\n\t\t\t};\n\t\t}\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 1023px) {\n\t.banner-right-img {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media screen and (max-width: 996px) {\n\t.product-stats-container {\n\t\tdisplay: none !important;\n\t}\n\n\t.carousel-content {\n\t\twidth: 100% !important;\n\t}\n}\n\n@media screen and (max-width: 480px) {\n\t.creator-name {\n\t\tfont-size: 2.5rem !important;\n\t}\n\n\t.product-title {\n\t\tfont-size: 3rem !important;\n\t}\n\n\t.carousel-slide {\n\t\tpadding: 0 !important;\n\t\tmin-height: fit-content !important;\n\t}\n\n\t.carousel-slide .carousel-content {\n\t\tmin-height: fit-content !important;\n\t}\n\n\t.product-variant-title {\n\t\tfont-size: 1.5rem !important;\n\t}\n\n\t.sub-heading {\n\t\tfont-size: 1.25rem !important;\n\t}\n\n\t.feature-tag {\n\t\tmargin-bottom: 1rem !important;\n\t}\n\n\t.banner-cta-container .batch-time {\n\t\t/* font-size: 1rem !important; */\n\t\tmargin-top: 1.5rem !important;\n\t}\n\n\t.banner-cta-btn-container {\n\t\tflex-direction: column !important;\n\t}\n\n\t.banner-cta-btn-container .cta-btn {\n\t\twidth: 100% !important;\n\t}\n\n\t.banner-cta-btn-container .cta-btn-divider {\n\t\tmargin: 1.125rem 0;\n\t}\n\n\t.watch-demo::after {\n\t\tdisplay: none !important;\n\t\twidth: 10rem !important;\n\t\tright: -10rem !important;\n\t}\n\n\t.demo-container .play-icon {\n\t\tmargin-left: 2rem !important;\n\t}\n}\n\n.carousel-container {\n\twidth: 100%;\n\tbackground: linear-gradient(#ebebeb, #ffffff);\n\tbackground-size: cover;\n\tbackground-repeat: no-repeat;\n\tposition: relative;\n\toverflow: hidden;\n}\n\n.carousel-slide.default {\n\tbackground-color: var(--color-gray);\n\t/* height: 100vh; */\n\t/* max-height: 57.5rem; */\n\tpadding: 6.5rem 0;\n\tpadding-bottom: 11rem;\n\t/* color: var(--color-white); */\n\tbackground-color: transparent;\n}\n\n.carousel-slide {\n\tbackground-color: var(--color-gray);\n\t/* height: 100vh; */\n\t/* max-height: 57.5rem; */\n\tpadding: 0 0 2.5rem 0;\n\tbackground-color: transparent;\n\tmin-height: 70vh;\n}\n\n.carousel-slide .html {\n\t/* padding: 0 0 12rem 0; */\n\tmargin: 7rem 0;\n\t/* width: 60%; */\n}\n\n.carousel-slide.default .carousel-content {\n\twidth: unset;\n}\n\n.carousel-content {\n\tflex-grow: 1;\n\twidth: 100%;\n\theight: fit-content;\n\tmin-height: 70vh !important;\n\tobject-fit: cover;\n\tobject-position: top;\n}\n\n.carousel-slide .creator-name {\n\tfont-size: 3.125rem;\n\tcolor: #231f20;\n}\n\n.carousel-slide .product-title {\n\tfont-size: 3.5rem;\n\tcolor: var(--primary-color);\n\tfont-weight: 500;\n\ttext-shadow: 0 15px 50px #00000029;\n}\n\n.carousel-slide .product-variant-title {\n\tfont-size: 2.25rem;\n\tcolor: var(--primary-color);\n\tfont-weight: 500;\n\ttext-shadow: 0 15px 50px #00000029;\n}\n\n.banner-right-img {\n\tposition: absolute;\n\twidth: 41.25rem;\n}\n\n.banner-right-img.vector {\n\twidth: 45.5rem;\n\tright: 1rem;\n\ttop: 0;\n}\n\n.banner-right-img.person {\n\twidth: 44.25rem;\n\ttop: -1.5rem;\n\tright: 4rem;\n}\n\n.sub-heading {\n\tfont-size: 1.75rem;\n\ttext-shadow: 0 15px 50px #00000029;\n\tfont-weight: 500;\n\tmargin-top: 2.25rem;\n\tline-height: 1;\n\tvertical-align: middle;\n\tmargin-bottom: 0;\n}\n\n.sub-heading span {\n\tcolor: #ffffff;\n\tfont-size: 1.125rem;\n\tbackground-color: #05d678;\n\tborder-radius: 0.25rem;\n\tpadding: 0.25rem 0.5rem;\n\tline-height: 1.5;\n\tfont-weight: normal;\n}\n\n.features-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tmargin-top: 1.375rem;\n}\n\n.feature-tag {\n\tpadding: 0.75rem;\n\tpadding-right: 2rem;\n\tbackground-color: #ffffff;\n\tborder-radius: 8px;\n\ttext-decoration: underline;\n\ttext-transform: uppercase;\n\tfont-weight: bold;\n\tletter-spacing: 1.6px;\n\tfont-size: 1rem;\n\tline-height: 1;\n\tmargin-right: 1rem;\n}\n\n.feature-tag-icon {\n\tfont-size: 1rem;\n\tcolor: #05d678;\n\tmargin-right: 0.5rem;\n}\n\n.banner-cta-container {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.banner-cta-container .batch-time {\n\tfont-size: 1.25rem;\n\ttext-shadow: 0 15px 50px #00000029;\n\tmargin-top: 2.5rem;\n}\n\n.banner-cta-btn-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tmargin-top: 1.25rem;\n\talign-items: center;\n\t/* justify-content: space-between; */\n}\n\n.cta-btn {\n\tfont-weight: 500;\n\tcolor: #ffffff;\n\tfont-size: 1.5rem;\n\tpadding: 1rem 0;\n\twidth: 19.75rem;\n\tborder-radius: 10px;\n\ttext-decoration: none;\n\ttext-align: center;\n}\n\n.cta-btn.primary {\n\tbackground-color: var(--primary-color);\n}\n\n.cta-btn.secondary {\n\tbackground-color: var(--secondary-color);\n}\n\n.cta-btn-divider {\n\tfont-weight: bold;\n\tfont-size: 1rem;\n\tletter-spacing: 1.6px;\n\tcolor: #000000;\n\tmargin: 0 1.375rem;\n}\n\n.demo-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\t/* justify-content: space-between; */\n\tmargin-top: 3.375rem;\n}\n\n.watch-demo {\n\tfont-size: 1.25rem;\n\ttext-shadow: 0 15px 50px #00000029;\n\tmargin: 0;\n\tposition: relative;\n}\n\n.watch-demo::after {\n\tcontent: \"\";\n\twidth: 18rem;\n\theight: 1px;\n\tbackground-color: #231f20;\n\tposition: absolute;\n\ttop: 50%;\n\tright: -19rem;\n}\n\n.demo-container .play-icon {\n\tmargin-left: 20rem;\n\tfont-size: 2.5rem;\n}\n\n.product-stats-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-grow: 2;\n\tjustify-content: flex-end;\n}\n\n.stats-card {\n\twidth: 17.25rem;\n\tborder-radius: 12px;\n\tbackground-color: #ffffff;\n\tbox-shadow: 3px 3px 99px #2f2f2f29;\n\tpadding: 1.25rem;\n\tmargin-bottom: 3.25rem;\n\talign-self: center;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\t/* justify-content: space-between; */\n}\n\n.stats-card.first {\n\talign-self: flex-start !important;\n}\n\n.stats-card.last {\n\talign-self: flex-end !important;\n\tmargin-bottom: 0;\n}\n\n.stats-card .rating-text {\n\tfont-size: 3.125rem;\n\tmargin: 0;\n\tfont-weight: bold;\n\tcolor: var(--primary-color);\n\tline-height: 1;\n}\n\n.stats-card .form-control {\n\theight: fit-content;\n\tbackground-color: transparent !important;\n\tborder: none;\n\theight: unset !important;\n\tmargin: 0;\n\tpadding: 0;\n\tfont-size: 1rem !important;\n\twidth: fit-content;\n\tbox-shadow: none;\n\tcolor: #ffba00;\n}\n\n.stats-card .form-control:focus {\n\tbox-shadow: none !important;\n}\n\n.stats-card .rating.stats-text {\n\tfont-size: 1.125rem;\n}\n\n.stats-card .stats-text {\n\tcolor: #575757;\n\tfont-size: 1rem;\n\tmargin-bottom: 0;\n}\n\n.stats-card .stats-number {\n\tcolor: var(--primary-color);\n\tfont-size: 1.5rem;\n\tmargin-bottom: 0.25rem;\n\tline-height: 1;\n\tfont-weight: bold;\n}\n\n.stats-card .left-image {\n\theight: 3.5rem;\n}\n\n.stats-card .right-section {\n\tmargin-left: 1rem;\n}\n\n/* @media screen and (max-width: 1024px) {\n\t.carousel-slide {\n\t\tmax-height: 70vh !important;\n\t}\n} */\n\n#video-wrapper {\n\twidth: 100%;\n\theight: 100%;\n}\n\n/* .video-container iframe,\n.video-container object,\n.video-container embed {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%; */\n/* max-height: 450px; */\n/* } */\n\n.carousel-container .carousel-arrow {\n\t/* margin: 0.5rem; */\n\tfont-size: 2rem;\n\twidth: 2.5rem;\n\theight: 2.5rem;\n\tline-height: 1;\n\talign-items: center;\n\tjustify-content: center;\n\tdisplay: flex;\n\tborder-radius: 50%;\n\tborder: 2px solid var(--secondary-color);\n\tbackground-color: #ffffff;\n\tbox-shadow: 3px 3px 6px #00000029;\n\tcolor: var(--secondary-color);\n\ttext-decoration: none;\n\tposition: absolute;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n}\n\n.carousel-container .carousel-arrow.left {\n\tleft: 1.5rem;\n}\n\n.carousel-container .carousel-arrow.right {\n\tright: 1.5rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageBanner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageBanner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomePageBanner.vue?vue&type=template&id=04d33ab0&scoped=true&\"\nimport script from \"./HomePageBanner.vue?vue&type=script&lang=js&\"\nexport * from \"./HomePageBanner.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HomePageBanner.vue?vue&type=style&index=0&id=04d33ab0&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"04d33ab0\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"carousel-container\"},[(!_vm.bannerData)?_c('img',{staticClass:\"banner-right-img vector\",attrs:{\"src\":require(\"../../assets/images/banner-right-vector.svg\")}}):_vm._e(),(!_vm.bannerData)?_c('img',{staticClass:\"banner-right-img person\",attrs:{\"src\":require(\"../../assets/images/banner-right-person.png\")}}):_vm._e(),(_vm.bannerData && _vm.carouselOptions)?_c('VueSlickCarousel',_vm._b({ref:\"banner_carousel\",staticClass:\"carousel\",attrs:{\"fade\":\"\"}},'VueSlickCarousel',_vm.carouselOptions,false),[_vm._l((_vm.bannerData),function(slide){return _c('div',{key:slide.order,staticClass:\"carousel-slide\"},[(slide.type.toLowerCase() == 'image')?_c('img',{staticClass:\"carousel-content\",attrs:{\"src\":_vm.getData(slide.sources),\"alt\":\"\"}}):(\n\t\t\t\tslide.type.toLowerCase() == 'video' &&\n\t\t\t\t(slide.source.provider.toLowerCase() == 'youtube' ||\n\t\t\t\t\tslide.source.provider.toLowerCase() == 'vimeo')\n\t\t\t)?_c('div',{attrs:{\"id\":\"video-wrapper\"}},[_c('div',{staticClass:\"video-container\"},[_c('iframe',{staticClass:\"carousel-content\",attrs:{\"src\":slide.source.url,\"frameborder\":\"0\",\"allow\":\"autoplay;\",\"autoplay\":\"\"}})])]):(\n\t\t\t\tslide.type.toLowerCase() == 'video' &&\n\t\t\t\tslide.source.provider.toLowerCase() == 'mp4'\n\t\t\t)?_c('video',{staticClass:\"carousel-content\",attrs:{\"src\":slide.source.url,\"autoplay\":\"\"}}):(slide.type.toLowerCase() == 'html')?_c('div',{staticClass:\"carousel-slide html\",domProps:{\"innerHTML\":_vm._s(_vm.getData(slide.sources))}}):_vm._e()])}),(!_vm.bannerData)?_c('div',{staticClass:\"carousel-slide default\"},[_c('div',{staticClass:\"container d-flex\"},[_c('div',{staticClass:\"carousel-content\"},[_c('h2',{staticClass:\"creator-name\"},[_vm._v(\"Hamza Abdul Haq\")]),_c('h1',{staticClass:\"product-title\"},[_vm._v(\"ACCA F8 Audit & Assurance\")]),_c('h2',{staticClass:\"product-variant-title\"},[_vm._v(\" (UK) F8, CA (PK) CAF 9 & ICMA S2. \")]),_c('p',{staticClass:\"sub-heading\"},[_vm._v(\" Get a \"),_c('span',[_vm._v(\"FREE ITEM\")]),_vm._v(\" only for away for a single click \")]),_c('div',{staticClass:\"features-container\"},_vm._l((_vm.features),function(feature){return _c('div',{key:feature,staticClass:\"feature-tag\"},[_c('i',{staticClass:\"fas fa-check-circle feature-tag-icon\"}),_vm._v(_vm._s(feature)+\" \")])}),0),_c('div',{staticClass:\"banner-cta-container\"},[_c('p',{staticClass:\"batch-time\"},[_vm._v(\" Online Batch Will start from 15th July, 2019 \")]),_c('div',{staticClass:\"banner-cta-btn-container\"},[_c('a',{staticClass:\"cta-btn primary\",attrs:{\"role\":\"button\"}},[_vm._v(\" 7 Day Free Trail \")]),_c('span',{staticClass:\"cta-btn-divider\"},[_vm._v(\"OR\")]),_c('a',{staticClass:\"cta-btn secondary\",attrs:{\"role\":\"button\"}},[_vm._v(\" Enroll Now \")])]),_c('div',{staticClass:\"demo-container\"},[_c('p',{staticClass:\"watch-demo\"},[_vm._v(\"Click here to watch demo 1:45 Minutes\")]),_c('i',{staticClass:\"fas fa-play-circle play-icon\"})])])]),_c('div',{staticClass:\"product-stats-container\"},[_c('div',{staticClass:\"stats-card first\"},[_c('h1',{staticClass:\"rating-text\"},[_vm._v(\"4.7\")]),_c('div',{staticClass:\"right-section\"},[_c('b-form-rating',{attrs:{\"value\":\"4\",\"readonly\":\"\"}}),_c('p',{staticClass:\"stats-text rating\"},[_vm._v(\"Instructor Rating\")])],1)]),_c('div',{staticClass:\"stats-card\"},[_c('img',{staticClass:\"left-image\",attrs:{\"src\":require(\"../../assets/images/bell.svg\")}}),_c('div',{staticClass:\"right-section\"},[_c('p',{staticClass:\"stats-number\"},[_vm._v(\"240+\")]),_c('p',{staticClass:\"stats-text\"},[_vm._v(\"Courses Completed\")])])]),_c('div',{staticClass:\"stats-card last\"},[_c('img',{staticClass:\"left-image\",attrs:{\"src\":require(\"../../assets/images/bell.svg\")}}),_c('div',{staticClass:\"right-section\"},[_c('p',{staticClass:\"stats-number\"},[_vm._v(\"100,000+\")]),_c('p',{staticClass:\"stats-text\"},[_vm._v(\"Enrolled Students\")])])])])])]):_vm._e()],2):_vm._e(),(_vm.bannerData.length > 1)?_c('a',{staticClass:\"carousel-arrow left\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prevSlide}},[_c('i',{staticClass:\"fas fa-angle-left\"})]):_vm._e(),(_vm.bannerData.length > 1)?_c('a',{staticClass:\"carousel-arrow right\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.nextSlide}},[_c('i',{staticClass:\"fas fa-angle-right\"})]):_vm._e(),_c('div',{staticClass:\"overlay-box\"},[_c('Login')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"carousel-container\">\n\t\t<img v-if=\"!bannerData\" src=\"../../assets/images/banner-right-vector.svg\" class=\"banner-right-img vector\" />\n\t\t<img v-if=\"!bannerData\" src=\"../../assets/images/banner-right-person.png\" class=\"banner-right-img person\" />\n\t\t<VueSlickCarousel v-if=\"bannerData && carouselOptions\" class=\"carousel\" v-bind=\"carouselOptions\" fade\n\t\t\tref=\"banner_carousel\">\n\t\t\t<div v-for=\"slide in bannerData\" :key=\"slide.order\" class=\"carousel-slide\">\n\t\t\t\t<img v-if=\"slide.type.toLowerCase() == 'image'\" class=\"carousel-content\" :src=\"getData(slide.sources)\"\n\t\t\t\t\talt=\"\" />\n\t\t\t\t<div v-else-if=\"\n\t\t\t\t\tslide.type.toLowerCase() == 'video' &&\n\t\t\t\t\t(slide.source.provider.toLowerCase() == 'youtube' ||\n\t\t\t\t\t\tslide.source.provider.toLowerCase() == 'vimeo')\n\t\t\t\t\" id=\"video-wrapper\">\n\t\t\t\t\t<div class=\"video-container\">\n\t\t\t\t\t\t<iframe class=\"carousel-content\" :src=\"slide.source.url\" frameborder=\"0\" allow=\"autoplay;\"\n\t\t\t\t\t\t\tautoplay></iframe>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<video class=\"carousel-content\" v-else-if=\"\n\t\t\t\t\tslide.type.toLowerCase() == 'video' &&\n\t\t\t\t\tslide.source.provider.toLowerCase() == 'mp4'\n\t\t\t\t\" :src=\"slide.source.url\" autoplay></video>\n\n\t\t\t\t<div v-else-if=\"slide.type.toLowerCase() == 'html'\" class=\"carousel-slide html\"\n\t\t\t\t\tv-html=\"getData(slide.sources)\"></div>\n\t\t\t\t<!-- </div> -->\n\t\t\t</div>\n\t\t\t<div v-if=\"!bannerData\" class=\"carousel-slide default\">\n\t\t\t\t<div class=\"container d-flex\">\n\t\t\t\t\t<div class=\"carousel-content\">\n\t\t\t\t\t\t<h2 class=\"creator-name\">Hamza Abdul Haq</h2>\n\t\t\t\t\t\t<h1 class=\"product-title\">ACCA F8 Audit & Assurance</h1>\n\t\t\t\t\t\t<h2 class=\"product-variant-title\">\n\t\t\t\t\t\t\t(UK) F8, CA (PK) CAF 9 & ICMA S2.\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<p class=\"sub-heading\">\n\t\t\t\t\t\t\tGet a <span>FREE ITEM</span> only for away for a single click\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<div class=\"features-container\">\n\t\t\t\t\t\t\t<div v-for=\"feature in features\" :key=\"feature\" class=\"feature-tag\">\n\t\t\t\t\t\t\t\t<i class=\"fas fa-check-circle feature-tag-icon\"></i>{{ feature }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"banner-cta-container\">\n\t\t\t\t\t\t\t<p class=\"batch-time\">\n\t\t\t\t\t\t\t\tOnline Batch Will start from 15th July, 2019\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<div class=\"banner-cta-btn-container\">\n\t\t\t\t\t\t\t\t<a role=\"button\" class=\"cta-btn primary\"> 7 Day Free Trail </a>\n\t\t\t\t\t\t\t\t<span class=\"cta-btn-divider\">OR</span>\n\t\t\t\t\t\t\t\t<a role=\"button\" class=\"cta-btn secondary\"> Enroll Now </a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"demo-container\">\n\t\t\t\t\t\t\t\t<p class=\"watch-demo\">Click here to watch demo 1:45 Minutes</p>\n\t\t\t\t\t\t\t\t<i class=\"fas fa-play-circle play-icon\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"product-stats-container\">\n\t\t\t\t\t\t<div class=\"stats-card first\">\n\t\t\t\t\t\t\t<h1 class=\"rating-text\">4.7</h1>\n\t\t\t\t\t\t\t<div class=\"right-section\">\n\t\t\t\t\t\t\t\t<b-form-rating value=\"4\" readonly></b-form-rating>\n\t\t\t\t\t\t\t\t<p class=\"stats-text rating\">Instructor Rating</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"stats-card\">\n\t\t\t\t\t\t\t<img class=\"left-image\" src=\"../../assets/images/bell.svg\" />\n\t\t\t\t\t\t\t<div class=\"right-section\">\n\t\t\t\t\t\t\t\t<p class=\"stats-number\">240+</p>\n\t\t\t\t\t\t\t\t<p class=\"stats-text\">Courses Completed</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"stats-card last\">\n\t\t\t\t\t\t\t<img class=\"left-image\" src=\"../../assets/images/bell.svg\" />\n\t\t\t\t\t\t\t<div class=\"right-section\">\n\t\t\t\t\t\t\t\t<p class=\"stats-number\">100,000+</p>\n\t\t\t\t\t\t\t\t<p class=\"stats-text\">Enrolled Students</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</VueSlickCarousel>\n\t\t<a v-if=\"bannerData.length > 1\" class=\"carousel-arrow left\" role=\"button\" @click=\"prevSlide\"><i\n\t\t\t\tclass=\"fas fa-angle-left\"></i></a>\n\t\t<a v-if=\"bannerData.length > 1\" class=\"carousel-arrow right\" role=\"button\" @click=\"nextSlide\"><i\n\t\t\t\tclass=\"fas fa-angle-right\"></i></a>\n\t\t<div class=\"overlay-box\">\n\t\t\t<Login />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport VueSlickCarousel from \"vue-slick-carousel\";\nimport Login from \"@/components/Account/Login.vue\";\nimport \"vue-slick-carousel/dist/vue-slick-carousel.css\";\n// optional style for arrows & dots\nimport \"vue-slick-carousel/dist/vue-slick-carousel-theme.css\";\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"HomePageBanner\",\n\tdata() {\n\t\treturn {\n\t\t\tfeatures: [\"webinars\", \"free notes\", \"practice tests\"],\n\t\t\tbannerData: null,\n\t\t\tcarouselOptions: null,\n\t\t\t// {\n\t\t\t// \tautoplay: false,\n\t\t\t// \tautoplaySpeed: 3000,\n\t\t\t// \tpauseOnHover: true,\n\t\t\t// },\n\t\t};\n\t},\n\tcomponents: { VueSlickCarousel, Login },\n\tmethods: {\n\t\tgetData(source) {\n\t\t\t// console.log(\"get image path\", source, this.bannerData);\n\t\t\tif (this.isMobile) {\n\t\t\t\tvar src = source.find((s) => s.screen_size == \"xs\");\n\t\t\t\tif (src) return src.data;\n\t\t\t}\n\t\t\tvar src = source.find((s) => s.screen_size == \"lg\");\n\t\t\treturn src.data;\n\t\t},\n\t\tnextSlide() {\n\t\t\tthis.$refs.banner_carousel.next();\n\t\t},\n\t\tprevSlide() {\n\t\t\tthis.$refs.banner_carousel.prev();\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"isMobile\", \"systemParameters\"]),\n\t},\n\tcreated() {\n\t\tif (this.systemParameters && this.systemParameters.Banners) {\n\t\t\tvar data = this.systemParameters.Banners;\n\t\t\tthis.bannerData = data.slides;\n\t\t\tthis.carouselOptions = {\n\t\t\t\tautoplay: data.autoplay,\n\t\t\t\tautoplaySpeed: parseInt(data.duration),\n\t\t\t\tpauseOnHover: data.pauseOnHover,\n\t\t\t\tarrows: false,\n\t\t\t};\n\t\t}\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 1023px) {\n\t.banner-right-img {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media screen and (max-width: 996px) {\n\t.product-stats-container {\n\t\tdisplay: none !important;\n\t}\n\n\t.carousel-content {\n\t\twidth: 100% !important;\n\t}\n\n\t.overlay-box {\n\t\tleft: 50% !important;\n\t\ttransform: translate(-50%, -50%) !important;\n\t\twidth: fit-content !important;\n\t\tmin-width: 35rem;\n\t}\n}\n\n@media screen and (max-width: 480px) {\n\t.creator-name {\n\t\tfont-size: 2.5rem !important;\n\t}\n\n\t.product-title {\n\t\tfont-size: 3rem !important;\n\t}\n\n\t/* .carousel-slide {\n\t\tpadding: 0 !important;\n\t\tmin-height: fit-content !important;\n\t}\n\t.carousel-slide .carousel-content {\n\t\tmin-height: fit-content !important;\n\t} */\n\n\t.overlay-box {\n\t\tmin-width: 25rem;\n\t}\n\n\t.product-variant-title {\n\t\tfont-size: 1.5rem !important;\n\t}\n\n\t.sub-heading {\n\t\tfont-size: 1.25rem !important;\n\t}\n\n\t.feature-tag {\n\t\tmargin-bottom: 1rem !important;\n\t}\n\n\t.banner-cta-container .batch-time {\n\t\t/* font-size: 1rem !important; */\n\t\tmargin-top: 1.5rem !important;\n\t}\n\n\t.banner-cta-btn-container {\n\t\tflex-direction: column !important;\n\t}\n\n\t.banner-cta-btn-container .cta-btn {\n\t\twidth: 100% !important;\n\t}\n\n\t.banner-cta-btn-container .cta-btn-divider {\n\t\tmargin: 1.125rem 0;\n\t}\n\n\t.watch-demo::after {\n\t\tdisplay: none !important;\n\t\twidth: 10rem !important;\n\t\tright: -10rem !important;\n\t}\n\n\t.demo-container .play-icon {\n\t\tmargin-left: 2rem !important;\n\t}\n}\n\n.carousel-container {\n\twidth: 100%;\n\tbackground: linear-gradient(#ebebeb, #ffffff);\n\tbackground-size: cover;\n\tbackground-repeat: no-repeat;\n\tposition: relative;\n\toverflow: hidden;\n\tmin-height: fit-content !important;\n}\n\n.carousel-slide.default {\n\tbackground-color: var(--color-gray);\n\t/* height: 100vh; */\n\tmax-height: 57.5rem;\n\tpadding: 6.5rem 0;\n\tpadding-bottom: 11rem;\n\t/* color: var(--color-white); */\n\tbackground-color: transparent;\n}\n\n.carousel-slide {\n\tbackground-color: var(--color-gray);\n\t/* height: 100vh; */\n\tmax-height: 57.5rem;\n\tpadding: 0 0 2.5rem 0;\n\tbackground-color: transparent;\n\tmin-height: 70vh;\n}\n\n.carousel-slide .html {\n\t/* padding: 0 0 12rem 0; */\n\tmargin: 7rem 0;\n\t/* width: 60%; */\n}\n\n.carousel-slide.default .carousel-content {\n\twidth: unset;\n}\n\n.carousel-content {\n\tflex-grow: 1;\n\twidth: 100%;\n\theight: fit-content;\n\tmin-height: 70vh !important;\n\tobject-fit: cover;\n\tobject-position: top;\n}\n\n.carousel-slide .creator-name {\n\tfont-size: 3.125rem;\n\tcolor: #231f20;\n}\n\n.carousel-slide .product-title {\n\tfont-size: 3.5rem;\n\tcolor: var(--primary-color);\n\tfont-weight: 500;\n\ttext-shadow: 0 15px 50px #00000029;\n}\n\n.carousel-slide .product-variant-title {\n\tfont-size: 2.25rem;\n\tcolor: var(--primary-color);\n\tfont-weight: 500;\n\ttext-shadow: 0 15px 50px #00000029;\n}\n\n.banner-right-img {\n\tposition: absolute;\n\twidth: 41.25rem;\n}\n\n.banner-right-img.vector {\n\twidth: 45.5rem;\n\tright: 1rem;\n\ttop: 0;\n}\n\n.banner-right-img.person {\n\twidth: 44.25rem;\n\ttop: -1.5rem;\n\tright: 4rem;\n}\n\n.sub-heading {\n\tfont-size: 1.75rem;\n\ttext-shadow: 0 15px 50px #00000029;\n\tfont-weight: 500;\n\tmargin-top: 2.25rem;\n\tline-height: 1;\n\tvertical-align: middle;\n\tmargin-bottom: 0;\n}\n\n.sub-heading span {\n\tcolor: #ffffff;\n\tfont-size: 1.125rem;\n\tbackground-color: #05d678;\n\tborder-radius: 0.25rem;\n\tpadding: 0.25rem 0.5rem;\n\tline-height: 1.5;\n\tfont-weight: normal;\n}\n\n.features-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tmargin-top: 1.375rem;\n}\n\n.feature-tag {\n\tpadding: 0.75rem;\n\tpadding-right: 2rem;\n\tbackground-color: #ffffff;\n\tborder-radius: 8px;\n\ttext-decoration: underline;\n\ttext-transform: uppercase;\n\tfont-weight: bold;\n\tletter-spacing: 1.6px;\n\tfont-size: 1rem;\n\tline-height: 1;\n\tmargin-right: 1rem;\n}\n\n.feature-tag-icon {\n\tfont-size: 1rem;\n\tcolor: #05d678;\n\tmargin-right: 0.5rem;\n}\n\n.banner-cta-container {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.banner-cta-container .batch-time {\n\tfont-size: 1.25rem;\n\ttext-shadow: 0 15px 50px #00000029;\n\tmargin-top: 2.5rem;\n}\n\n.banner-cta-btn-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tmargin-top: 1.25rem;\n\talign-items: center;\n\t/* justify-content: space-between; */\n}\n\n.cta-btn {\n\tfont-weight: 500;\n\tcolor: #ffffff;\n\tfont-size: 1.5rem;\n\tpadding: 1rem 0;\n\twidth: 19.75rem;\n\tborder-radius: 10px;\n\ttext-decoration: none;\n\ttext-align: center;\n}\n\n.cta-btn.primary {\n\tbackground-color: var(--primary-color);\n}\n\n.cta-btn.secondary {\n\tbackground-color: var(--secondary-color);\n}\n\n.cta-btn-divider {\n\tfont-weight: bold;\n\tfont-size: 1rem;\n\tletter-spacing: 1.6px;\n\tcolor: #000000;\n\tmargin: 0 1.375rem;\n}\n\n.demo-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\t/* justify-content: space-between; */\n\tmargin-top: 3.375rem;\n}\n\n.watch-demo {\n\tfont-size: 1.25rem;\n\ttext-shadow: 0 15px 50px #00000029;\n\tmargin: 0;\n\tposition: relative;\n}\n\n.watch-demo::after {\n\tcontent: \"\";\n\twidth: 18rem;\n\theight: 1px;\n\tbackground-color: #231f20;\n\tposition: absolute;\n\ttop: 50%;\n\tright: -19rem;\n}\n\n.demo-container .play-icon {\n\tmargin-left: 20rem;\n\tfont-size: 2.5rem;\n}\n\n.product-stats-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-grow: 2;\n\tjustify-content: flex-end;\n}\n\n.stats-card {\n\twidth: 17.25rem;\n\tborder-radius: 12px;\n\tbackground-color: #ffffff;\n\tbox-shadow: 3px 3px 99px #2f2f2f29;\n\tpadding: 1.25rem;\n\tmargin-bottom: 3.25rem;\n\talign-self: center;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\t/* justify-content: space-between; */\n}\n\n.stats-card.first {\n\talign-self: flex-start !important;\n}\n\n.stats-card.last {\n\talign-self: flex-end !important;\n\tmargin-bottom: 0;\n}\n\n.stats-card .rating-text {\n\tfont-size: 3.125rem;\n\tmargin: 0;\n\tfont-weight: bold;\n\tcolor: var(--primary-color);\n\tline-height: 1;\n}\n\n.stats-card .form-control {\n\theight: fit-content;\n\tbackground-color: transparent !important;\n\tborder: none;\n\theight: unset !important;\n\tmargin: 0;\n\tpadding: 0;\n\tfont-size: 1rem !important;\n\twidth: fit-content;\n\tbox-shadow: none;\n\tcolor: #ffba00;\n}\n\n.stats-card .form-control:focus {\n\tbox-shadow: none !important;\n}\n\n.stats-card .rating.stats-text {\n\tfont-size: 1.125rem;\n}\n\n.stats-card .stats-text {\n\tcolor: #575757;\n\tfont-size: 1rem;\n\tmargin-bottom: 0;\n}\n\n.stats-card .stats-number {\n\tcolor: var(--primary-color);\n\tfont-size: 1.5rem;\n\tmargin-bottom: 0.25rem;\n\tline-height: 1;\n\tfont-weight: bold;\n}\n\n.stats-card .left-image {\n\theight: 3.5rem;\n}\n\n.stats-card .right-section {\n\tmargin-left: 1rem;\n}\n\n/* @media screen and (max-width: 1024px) {\n\t.carousel-slide {\n\t\tmax-height: 70vh !important;\n\t}\n} */\n\n#video-wrapper {\n\twidth: 100%;\n\theight: 100%;\n}\n\n/* .video-container iframe,\n.video-container object,\n.video-container embed {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%; */\n/* max-height: 450px; */\n/* } */\n\n.carousel-container .carousel-arrow {\n\t/* margin: 0.5rem; */\n\tfont-size: 2rem;\n\twidth: 2.5rem;\n\theight: 2.5rem;\n\tline-height: 1;\n\talign-items: center;\n\tjustify-content: center;\n\tdisplay: flex;\n\tborder-radius: 50%;\n\tborder: 2px solid var(--secondary-color);\n\tbackground-color: #ffffff;\n\tbox-shadow: 3px 3px 6px #00000029;\n\tcolor: var(--secondary-color);\n\ttext-decoration: none;\n\tposition: absolute;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n}\n\n.carousel-container .carousel-arrow.left {\n\tleft: 1.5rem;\n}\n\n.carousel-container .carousel-arrow.right {\n\tright: 1.5rem;\n}\n\n.carousel-container .overlay-box {\n\twidth: 35rem;\n\theight: 70%;\n\tposition: absolute;\n\tright: 10rem;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n\tbackground-color: rgba(255, 255, 255, 0.9);\n\tborder-radius: 0.5rem;\n\tbox-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);\n\t/* padding: 3rem 0; */\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: flex-start;\n}\n\n.carousel-container .overlay-box #login-register {\n\tmin-width: 90%;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageBannerWithOverlay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageBannerWithOverlay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomePageBannerWithOverlay.vue?vue&type=template&id=5f68bb0c&scoped=true&\"\nimport script from \"./HomePageBannerWithOverlay.vue?vue&type=script&lang=js&\"\nexport * from \"./HomePageBannerWithOverlay.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HomePageBannerWithOverlay.vue?vue&type=style&index=0&id=5f68bb0c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5f68bb0c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"clients-section\"},[_c('span',{staticClass:\"heading\"},[_vm._v(\"TRUSTED BY COMPANIES OF ALL SIZE\")]),_c('div',{staticClass:\"client-container\"},[_c('VueSlickCarousel',_vm._b({},'VueSlickCarousel',_vm.CLIENTS_CAROUSEL_SETTINGS,false),[_c('div',{staticClass:\"client-item\"},[_c('div',{staticClass:\"client-image-container\"},[_c('img',{staticClass:\"client-image\",attrs:{\"src\":require(\"@/assets/images/escribir.png\")}})])]),_c('div',{staticClass:\"client-item\"},[_c('div',{staticClass:\"client-image-container\"},[_c('img',{staticClass:\"client-image\",attrs:{\"src\":require(\"@/assets/images/tsa.png\")}})])]),_c('div',{staticClass:\"client-item\"},[_c('div',{staticClass:\"client-image-container\"},[_c('img',{staticClass:\"client-image\",attrs:{\"src\":require(\"@/assets/images/pwcacademy.png\")}})])]),_c('div',{staticClass:\"client-item\"},[_c('div',{staticClass:\"client-image-container\"},[_c('img',{staticClass:\"client-image\",attrs:{\"src\":require(\"@/assets/images/ihdinaa.png\")}})])])])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"container\">\n\t\t<div class=\"clients-section\">\n\t\t\t<span class=\"heading\">TRUSTED BY COMPANIES OF ALL SIZE</span>\n\t\t\t<div class=\"client-container\">\n\t\t\t\t<VueSlickCarousel v-bind=\"CLIENTS_CAROUSEL_SETTINGS\">\n\t\t\t\t\t<div class=\"client-item\">\n\t\t\t\t\t\t<div class=\"client-image-container\">\n\t\t\t\t\t\t\t<img class=\"client-image\" src=\"@/assets/images/escribir.png\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"client-item\">\n\t\t\t\t\t\t<div class=\"client-image-container\">\n\t\t\t\t\t\t\t<img class=\"client-image\" src=\"@/assets/images/tsa.png\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"client-item\">\n\t\t\t\t\t\t<div class=\"client-image-container\">\n\t\t\t\t\t\t\t<img class=\"client-image\" src=\"@/assets/images/pwcacademy.png\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"client-item\">\n\t\t\t\t\t\t<div class=\"client-image-container\">\n\t\t\t\t\t\t\t<img class=\"client-image\" src=\"@/assets/images/ihdinaa.png\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</VueSlickCarousel>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport VueSlickCarousel from \"vue-slick-carousel\";\n// import { CLIENTS_CAROUSEL_SETTINGS } from \"../../constants/productCarouselSettings\";\n\nconst CLIENTS_CAROUSEL_SETTINGS = {\n\tautoplay: false,\n\tinfinite: false,\n\tslidesToShow: 4,\n\tinitialSlide: 0,\n\trows: 1,\n\tarrows: false,\n\tdraggable: false,\n\tresponsive: [\n\t\t{\n\t\t\tbreakpoint: 767,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 2,\n\t\t\t\tinitialSlide: 0,\n\t\t\t\trows: 2,\n\t\t\t\tarrows: false,\n\t\t\t\tdraggable: false,\n\t\t\t\tautoplay: false,\n\t\t\t\tinfinite: false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 480,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 1,\n\t\t\t\tinitialSlide: 0,\n\t\t\t\trows: 4,\n\t\t\t\tarrows: false,\n\t\t\t\tdraggable: false,\n\t\t\t\tautoplay: false,\n\t\t\t\tinfinite: false,\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default {\n\tname: \"HomePageClientsSection\",\n\tdata() {\n\t\treturn {\n\t\t\tCLIENTS_CAROUSEL_SETTINGS,\n\t\t};\n\t},\n\tcomponents: {\n\t\tVueSlickCarousel,\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.client-item {\n\t\tpadding: 2rem 1rem !important;\n\t}\n}\n\n.clients-section {\n\tpadding: 4rem 2.25rem 2.25rem 2.25rem;\n\tbackground-color: #f5f5f5;\n\tbox-shadow: 0 3px 6px #a8a8a829;\n\tborder-radius: 8px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\tmargin-top: 10.625rem;\n\talign-items: center;\n}\n\n.heading {\n\tbackground-color: var(--secondary-color);\n\tpadding: 0.625rem 2.375rem;\n\tborder-radius: 8px;\n\tborder: 1px solid #707070;\n\ttext-transform: uppercase;\n\tcolor: #ffffff;\n\tposition: absolute;\n\ttop: -1.375rem;\n}\n\n.client-container {\n\twidth: 100%;\n}\n\n.client-item {\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: #fafafa;\n\tbox-shadow: 0 3px 6px #a8a8a829;\n\tborder-radius: 10px;\n\tpadding: 3.5rem 4.25rem;\n\t/* width: fit-content !important; */\n\t/* height: 10.5rem; */\n\tmargin-bottom: 1rem;\n\tmargin-right: 1rem;\n}\n\n.client-image-container {\n\theight: 2.875rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.client-image {\n\tmax-width: 13.75rem;\n\twidth: 100%;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageClientsSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageClientsSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomePageClientsSection.vue?vue&type=template&id=0eb8bcbd&scoped=true&\"\nimport script from \"./HomePageClientsSection.vue?vue&type=script&lang=js&\"\nexport * from \"./HomePageClientsSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HomePageClientsSection.vue?vue&type=style&index=0&id=0eb8bcbd&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0eb8bcbd\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex justify-content-center container\"},[_c('div',{staticClass:\"service-features\"},[_c('div',{staticClass:\"service-features-item\"},[_c('div',[_c('img',{staticClass:\"service-image\",attrs:{\"src\":require(\"../../assets/images/servicIcon2.png\"),\"alt\":\"\"}})]),_c('div',{staticClass:\"service-text\"},[_vm._v(\" Best \"),_c('span',{staticClass:\"text-bold\"},[_vm._v(\" Courses\"),_c('br'),_vm._v(\" in Lowest\")]),_c('br'),_vm._v(\" Cost \")])]),_c('div',{staticClass:\"service-features-item\"},[_c('div',[_c('img',{staticClass:\"service-image\",attrs:{\"src\":require(\"../../assets/images/servicIcon1.png\"),\"alt\":\"\"}})]),_c('div',{staticClass:\"service-text\"},[_vm._v(\" Top \"),_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Award \"),_c('br'),_vm._v(\" Winning\")]),_c('br'),_vm._v(\" Teachers \")])]),_c('div',{staticClass:\"service-features-item\"},[_c('div',[_c('img',{staticClass:\"service-image\",attrs:{\"src\":require(\"../../assets/images/servicIcon3.png\"),\"alt\":\"\"}})]),_c('div',{staticClass:\"service-text\"},[_vm._v(\" 7 Days \"),_c('br'),_c('span',{staticClass:\"text-bold\"},[_vm._v(\"Free Trial \"),_c('br'),_vm._v(\" Classes\")])])])])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"d-flex justify-content-center container\">\n\t\t<div class=\"service-features\">\n\t\t\t<div class=\"service-features-item\">\n\t\t\t\t<div>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclass=\"service-image\"\n\t\t\t\t\t\tsrc=\"../../assets/images/servicIcon2.png\"\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"service-text\">\n\t\t\t\t\tBest\n\t\t\t\t\t<span class=\"text-bold\">\n\t\t\t\t\t\tCourses<br />\n\t\t\t\t\t\tin Lowest</span\n\t\t\t\t\t><br />\n\t\t\t\t\tCost\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"service-features-item\">\n\t\t\t\t<div>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclass=\"service-image\"\n\t\t\t\t\t\tsrc=\"../../assets/images/servicIcon1.png\"\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"service-text\">\n\t\t\t\t\tTop\n\t\t\t\t\t<span class=\"text-bold\"\n\t\t\t\t\t\t>Award <br />\n\t\t\t\t\t\tWinning</span\n\t\t\t\t\t>\n\t\t\t\t\t<br />\n\t\t\t\t\tTeachers\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"service-features-item\">\n\t\t\t\t<div>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclass=\"service-image\"\n\t\t\t\t\t\tsrc=\"../../assets/images/servicIcon3.png\"\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"service-text\">\n\t\t\t\t\t7 Days <br />\n\t\t\t\t\t<span class=\"text-bold\"\n\t\t\t\t\t\t>Free Trial <br />\n\t\t\t\t\t\tClasses</span\n\t\t\t\t\t>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"HomePageServiceFeatures\",\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.service-features-item {\n\t\tflex-direction: column;\n\t\ttext-align: center;\n\t}\n}\n\n@media screen and (max-width: 767px) {\n\t.service-features {\n\t\tdisplay: none !important;\n\t}\n}\n\n.service-features {\n\twidth: 100%;\n\tborder-radius: 10px;\n\tbackground-color: #ebebeb;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n\tdisplay: grid;\n\tgrid-auto-flow: column;\n\tgrid-auto-columns: 1fr;\n\tgrid-column-gap: 1rem;\n\tpadding: 1.875rem;\n\tmargin-top: -8rem;\n\tz-index: 99;\n}\n\n.service-features-item {\n\tpadding: 2rem;\n\tdisplay: flex;\n\tbackground-color: #fafafa;\n\tborder-radius: 10px;\n\talign-items: center;\n\tbox-shadow: 0 3px 6px #a8a8a829;\n}\n\n.service-image {\n\theight: 6.25rem;\n\tmargin-right: 2.375rem;\n}\n\n.service-text {\n\tfont-size: 1.5rem;\n\ttext-transform: uppercase;\n\tcolor: var(--secondary-color);\n\tline-height: 1.3;\n\tfont-weight: 500;\n}\n\n.service-text span {\n\tfont-weight: bold;\n\tcolor: var(--primary-color);\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageServiceFeatures.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageServiceFeatures.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomePageServiceFeatures.vue?vue&type=template&id=f040a6ac&scoped=true&\"\nimport script from \"./HomePageServiceFeatures.vue?vue&type=script&lang=js&\"\nexport * from \"./HomePageServiceFeatures.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HomePageServiceFeatures.vue?vue&type=style&index=0&id=f040a6ac&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"f040a6ac\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"signup-steps\"},[_vm._m(0),_c('div',{staticClass:\"signup-steps-container\"},[_c('div',{staticClass:\"signup-step\"},[_c('div',{staticClass:\"icon-box first\"},[_c('object',{staticClass:\"color-change-svg\",attrs:{\"data\":require('@/assets/images/step1.svg'),\"alt\":\"\",\"type\":\"image/svg+xml\"}})]),_c('p',{staticClass:\"label\"},[_vm._v(\"Step 1\")]),_c('p',{staticClass:\"action\"},[_vm._v(\"Click to Signup\")])]),_c('div',{staticClass:\"signup-step\"},[_c('div',{staticClass:\"icon-box second\"},[_c('object',{staticClass:\"color-change-svg\",attrs:{\"data\":require('@/assets/images/step2.svg'),\"alt\":\"\",\"type\":\"image/svg+xml\"}})]),_c('p',{staticClass:\"label\"},[_vm._v(\"Step 2\")]),_c('p',{staticClass:\"action\"},[_vm._v(\"Fill Basic Info\")])]),_c('div',{staticClass:\"signup-step\"},[_c('div',{staticClass:\"icon-box third\"},[_c('object',{staticClass:\"color-change-svg\",attrs:{\"data\":require('@/assets/images/step3.svg'),\"alt\":\"\",\"type\":\"image/svg+xml\"}})]),_c('p',{staticClass:\"label\"},[_vm._v(\"Step 3\")]),_c('p',{staticClass:\"action\"},[_vm._v(\"Start Learning\")])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{staticClass:\"title\"},[_c('span',[_vm._v(\"3\")]),_vm._v(\" Steps away from signup\")])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"container\">\n\t\t<div class=\"signup-steps\">\n\t\t\t<h1 class=\"title\"><span>3</span> Steps away from signup</h1>\n\t\t\t<div class=\"signup-steps-container\">\n\t\t\t\t<div class=\"signup-step\">\n\t\t\t\t\t<div class=\"icon-box first\">\n\t\t\t\t\t\t<object\n\t\t\t\t\t\t\t:data=\"require('@/assets/images/step1.svg')\"\n\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\ttype=\"image/svg+xml\"\n\t\t\t\t\t\t\tclass=\"color-change-svg\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p class=\"label\">Step 1</p>\n\t\t\t\t\t<p class=\"action\">Click to Signup</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"signup-step\">\n\t\t\t\t\t<div class=\"icon-box second\">\n\t\t\t\t\t\t<object\n\t\t\t\t\t\t\t:data=\"require('@/assets/images/step2.svg')\"\n\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\ttype=\"image/svg+xml\"\n\t\t\t\t\t\t\tclass=\"color-change-svg\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p class=\"label\">Step 2</p>\n\t\t\t\t\t<p class=\"action\">Fill Basic Info</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"signup-step\">\n\t\t\t\t\t<div class=\"icon-box third\">\n\t\t\t\t\t\t<object\n\t\t\t\t\t\t\t:data=\"require('@/assets/images/step3.svg')\"\n\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\ttype=\"image/svg+xml\"\n\t\t\t\t\t\t\tclass=\"color-change-svg\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p class=\"label\">Step 3</p>\n\t\t\t\t\t<p class=\"action\">Start Learning</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapState } from \"vuex\";\n\nexport default {\n\tname: \"HomePageSignupSteps\",\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tvar svg = document.querySelectorAll(\".color-change-svg\");\n\t\t\t\t// console.log(svg);\n\t\t\t\tfor (var j = 0; j < svg.length; j++) {\n\t\t\t\t\tvar data = svg[j].contentDocument;\n\t\t\t\t\tif (data) {\n\t\t\t\t\t\tvar primary = data.querySelectorAll(\".primary-color\");\n\t\t\t\t\t\tvar secondary = data.querySelectorAll(\".secondary-color\");\n\t\t\t\t\t\t// console.log(primary);\n\t\t\t\t\t\tfor (var i = 0; i < primary.length; i++) {\n\t\t\t\t\t\t\tprimary[i].attributes[\"fill\"].value =\n\t\t\t\t\t\t\t\tthis.systemParameters.Theme.PrimaryColor;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (var i = 0; i < secondary.length; i++) {\n\t\t\t\t\t\t\tsecondary[i].attributes[\"fill\"].value =\n\t\t\t\t\t\t\t\tthis.systemParameters.Theme.SecondaryColor;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 300);\n\t\t});\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 1400px) {\n\t.signup-step .icon-box {\n\t\twidth: 20rem !important;\n\t}\n\t.signup-step .icon-box img {\n\t\theight: 148px !important;\n\t}\n}\n\n@media screen and (max-width: 1200px) {\n\t.signup-step .icon-box {\n\t\twidth: 18rem !important;\n\t\tpadding: 3.5rem !important;\n\t}\n\t.signup-step .icon-box img {\n\t\theight: 120px !important;\n\t}\n}\n\n@media screen and (max-width: 996px) {\n\t.signup-step .icon-box {\n\t\twidth: 15rem !important;\n\t\tpadding: 2.5rem !important;\n\t}\n\t.signup-step .icon-box object {\n\t\theight: 100px !important;\n\t}\n\t.signup-steps {\n\t\tpadding: 3rem !important;\n\t}\n}\n\n@media screen and (max-width: 767px) {\n\t.signup-steps .signup-steps-container {\n\t\tflex-direction: column !important;\n\t}\n\n\t.signup-steps {\n\t\tpadding: 3rem !important;\n\t}\n\n\t.signup-step {\n\t\tmargin-bottom: 1rem !important;\n\t}\n}\n\n@media screen and (max-width: 480px) {\n\t.signup-step .icon-box {\n\t\tpadding: 2.5rem !important;\n\t\twidth: 280px !important;\n\t}\n\n\t.signup-step .icon-box img {\n\t\theight: 148px !important;\n\t}\n\n\t.signup-steps {\n\t\tmargin: 0 -1rem !important;\n\t}\n}\n\n.signup-steps {\n\tmargin-top: 9.375rem;\n\tbackground-color: #f5f5f5;\n\tbox-shadow: 0 3px 6px #a8a8a829;\n\tpadding: 3.125rem 6.25rem;\n}\n\n.signup-steps .title {\n\tfont-size: 3.375rem;\n\tcolor: var(--secondary-color);\n\tfont-weight: 500;\n\ttext-align: center;\n\tmargin-bottom: 3.125rem;\n\tletter-spacing: -0.55px;\n}\n\n.signup-steps .title span {\n\tcolor: var(--primary-color);\n\tfont-size: 3.75rem;\n}\n\n.signup-steps .signup-steps-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\talign-items: center;\n}\n\n.signup-step {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n}\n.signup-step .icon-box {\n\tbackground-color: #ffffff;\n\tborder-radius: 1.875rem;\n\tbox-shadow: 2px 2px 50px #a8a8a829;\n\tpadding: 4.5rem;\n\twidth: 23.5rem;\n\tdisplay: flex;\n\tjustify-content: center;\n\tposition: relative;\n\tmargin-bottom: 3.875rem;\n}\n\n.icon-box::before {\n\tcontent: \"\";\n\twidth: 3.5rem;\n\theight: 3.5rem;\n\tbottom: -1.5rem !important;\n\tbackground-color: #f5f5f5;\n\tposition: absolute;\n\tbottom: 0;\n\tborder-radius: 50%;\n\n\t/* box-shadow: 2px 2px 50px #a8a8a829; */\n}\n\n.icon-box::after {\n\tcontent: \"\";\n\tposition: absolute;\n\tbottom: -1rem;\n\twidth: 2.625rem;\n\theight: 2.625rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder-radius: 50%;\n\tbox-shadow: 0 3px 6px #00000029;\n\tcolor: #ffffff;\n\tfont-weight: bold;\n\tfont-size: 2.5rem;\n}\n\n.icon-box.first::after {\n\tcontent: \"1\";\n}\n.icon-box.second::after {\n\tcontent: \"2\";\n}\n.icon-box.third::after {\n\tcontent: \"3\";\n}\n\n.signup-step .icon-box object {\n\theight: 168px;\n}\n\n.signup-step .label {\n\tfont-size: 1.25rem;\n\tcolor: #898989;\n\tletter-spacing: 0.5px;\n\tfont-weight: normal;\n}\n\n.signup-step .action {\n\tfont-size: 1.875rem;\n\tcolor: var(--secondary-color);\n\tfont-weight: 500;\n\tmargin-bottom: 0;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageSignupSteps.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageSignupSteps.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomePageSignupSteps.vue?vue&type=template&id=399505a6&scoped=true&\"\nimport script from \"./HomePageSignupSteps.vue?vue&type=script&lang=js&\"\nexport * from \"./HomePageSignupSteps.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HomePageSignupSteps.vue?vue&type=style&index=0&id=399505a6&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"399505a6\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"teach-partner-section\"},[_c('div',{staticClass:\"teach-with-us image\"},[_c('div',{staticClass:\"content\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\"Teach with Us\")]),_c('p',{staticClass:\"body-text\"},[_vm._v(\" Teach what you love. we gives you the tools to create an online course. \")]),_c('button',{staticClass:\"cta-btn primary\",attrs:{\"role\":\"button\"}},[_vm._v(\" Why Waiting Just Start \")])])]),_c('div',{staticClass:\"become-a-partner image\"},[_c('div',{staticClass:\"content\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\"Become a Partner\")]),_c('p',{staticClass:\"body-text\"},[_vm._v(\" Get unlimited access to 3,000+ of our top courses for your team. \")]),_c('button',{staticClass:\"cta-btn secondary\",attrs:{\"role\":\"button\"}},[_vm._v(\" Build your own Platform \")])])])])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"container\">\n\t\t<div class=\"teach-partner-section\">\n\t\t\t<div class=\"teach-with-us image\">\n\t\t\t\t<div class=\"content\">\n\t\t\t\t\t<h1 class=\"title\">Teach with Us</h1>\n\t\t\t\t\t<p class=\"body-text\">\n\t\t\t\t\t\tTeach what you love. we gives you the tools to create an online\n\t\t\t\t\t\tcourse.\n\t\t\t\t\t</p>\n\t\t\t\t\t<button role=\"button\" class=\"cta-btn primary\">\n\t\t\t\t\t\tWhy Waiting Just Start\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"become-a-partner image\">\n\t\t\t\t<div class=\"content\">\n\t\t\t\t\t<h1 class=\"title\">Become a Partner</h1>\n\t\t\t\t\t<p class=\"body-text\">\n\t\t\t\t\t\tGet unlimited access to 3,000+ of our top courses for your team.\n\t\t\t\t\t</p>\n\t\t\t\t\t<button role=\"button\" class=\"cta-btn secondary\">\n\t\t\t\t\t\tBuild your own Platform\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"HomePageTeachOrPartner.vue\",\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.teach-partner-section .image {\n\t\tpadding: 0 3rem !important;\n\t}\n\n\t.teach-partner-section .image .title {\n\t\tfont-size: 2.375rem !important;\n\t}\n\n\t.teach-partner-section .image .content {\n\t\tmargin: 3rem 0 !important;\n\t\theight: 18rem !important;\n\t}\n\t.teach-partner-section .image .cta-btn {\n\t\tmargin-top: 1rem !important;\n\t\tfont-size: 1.5rem !important;\n\t}\n\n\t.teach-partner-section .image .body-text {\n\t\tfont-size: 1.5rem !important;\n\t}\n}\n\n@media screen and (max-width: 767px) {\n\t.teach-partner-section {\n\t\tflex-direction: column !important;\n\t\tpadding: 1.5rem !important;\n\t\tmargin-top: 8rem !important;\n\t}\n\n\t.teach-partner-section .image {\n\t\twidth: 100% !important;\n\t\tmargin-top: 0 !important;\n\t\tborder-radius: 8px;\n\t}\n\n\t.teach-partner-section .image.teach-with-us {\n\t\tmargin-bottom: 1rem !important;\n\t}\n}\n\n.teach-partner-section {\n\tborder-radius: 8px;\n\tbackground-color: var(--primary-color);\n\tbox-shadow: 0 3px 6px #d5d5d529;\n\tpadding: 0 2.25rem 2.25rem;\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\tmargin-top: 23.75rem;\n}\n\n.teach-partner-section .image {\n\tbackground-position: center center;\n\tbackground-size: 100% 100%;\n\twidth: 49%;\n\tmargin-top: -14.375rem;\n\t/* height: fit-content; */\n\tpadding: 0 6rem;\n\tborder-radius: 8px;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\ttext-align: center;\n\tjustify-content: center;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n}\n\n.teach-partner-section .image .content {\n\theight: 23.5rem;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin: 30% 0;\n}\n\n.teach-partner-section .image.teach-with-us {\n\tbackground-image: url(../../assets/images/teach.png);\n}\n.teach-partner-section .image.become-a-partner {\n\tbackground-image: url(../../assets/images/partner.png);\n}\n\n.teach-partner-section .image .title {\n\tfont-size: 4.375rem;\n\tcolor: #000000;\n\tfont-weight: 500;\n}\n.teach-partner-section .image .body-text {\n\tfont-size: 1.875rem;\n\tcolor: #898989;\n\tfont-weight: normal;\n}\n.teach-partner-section .image .cta-btn {\n\tfont-size: 1.875rem;\n\tcolor: #ffffff;\n\tfont-weight: 500;\n\tpadding: 0.875rem 1rem;\n\tborder-radius: 2rem;\n\ttext-decoration: none;\n\twidth: 100%;\n\tline-height: 1;\n\tmargin-top: 3.125rem;\n}\n\n.teach-partner-section .image .cta-btn.primary {\n\tbackground-color: var(--primary-color);\n}\n\n.teach-partner-section .image .cta-btn.secondary {\n\tbackground-color: var(--secondary-color);\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageTeachOrPartner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageTeachOrPartner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomePageTeachOrPartner.vue?vue&type=template&id=ba030802&scoped=true&\"\nimport script from \"./HomePageTeachOrPartner.vue?vue&type=script&lang=js&\"\nexport * from \"./HomePageTeachOrPartner.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HomePageTeachOrPartner.vue?vue&type=style&index=0&id=ba030802&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ba030802\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"testimonials\"},[_vm._m(0),_c('div',{staticClass:\"col-lg-7 col-sm-12 testimonial-text\"},[_c('VueSlickCarousel',[_c('div',{staticClass:\"testimonial-item\"},[_c('b-form-rating',{attrs:{\"value\":\"4\",\"readonly\":\"\"}}),_c('h1',{staticClass:\"title\"},[_vm._v(\" Extremely satisfied with the quality of Education \")]),_c('p',{staticClass:\"content\"},[_vm._v(\" GoCBE has been a source of intellectual enrichment and practical professional development for me. \")]),_c('span',{staticClass:\"name\"},[_vm._v(\"Nimra Shah\")]),_c('span',{staticClass:\"role\"},[_vm._v(\"Student\")])],1)])],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-lg-5\"},[_c('img',{staticClass:\"testimonial-image\",attrs:{\"src\":require(\"@/assets/images/testimonial.png\"),\"alt\":\"\"}})])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"container\">\n\t\t<div class=\"testimonials\">\n\t\t\t<div class=\"col-lg-5\">\n\t\t\t\t<img\n\t\t\t\t\tsrc=\"@/assets/images/testimonial.png\"\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tclass=\"testimonial-image\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"col-lg-7 col-sm-12 testimonial-text\">\n\t\t\t\t<VueSlickCarousel>\n\t\t\t\t\t<div class=\"testimonial-item\">\n\t\t\t\t\t\t<b-form-rating value=\"4\" readonly></b-form-rating>\n\t\t\t\t\t\t<h1 class=\"title\">\n\t\t\t\t\t\t\tExtremely satisfied with the quality of Education\n\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t<p class=\"content\">\n\t\t\t\t\t\t\tGoCBE has been a source of intellectual enrichment and practical\n\t\t\t\t\t\t\tprofessional development for me.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<span class=\"name\">Nimra Shah</span>\n\t\t\t\t\t\t<span class=\"role\">Student</span>\n\t\t\t\t\t</div>\n\t\t\t\t</VueSlickCarousel>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport VueSlickCarousel from \"vue-slick-carousel\";\nexport default {\n\tname: \"HomePageTestimonials\",\n\tcomponents: { VueSlickCarousel },\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 1400px) {\n\t.testimonial-item {\n\t\tpadding: 0 2rem !important;\n\t}\n\t.testimonial-item .form-control {\n\t\tmargin-bottom: 1.25rem !important;\n\t}\n\t.testimonial-item .title {\n\t\tfont-size: 3rem !important;\n\t\tmargin-bottom: 1.5rem !important;\n\t}\n\t.testimonial-item .content {\n\t\tfont-size: 1.5rem !important;\n\t\tmargin-bottom: 1.5rem !important;\n\t}\n\t.testimonial-item .name {\n\t\tfont-size: 1.25rem !important;\n\t}\n\t.testimonial-item .role {\n\t\tfont-size: 1.125rem !important;\n\t}\n}\n\n@media screen and (max-width: 1200px) {\n\t.testimonial-text {\n\t\tpadding-left: 2rem !important;\n\t}\n\t.testimonial-item {\n\t\tpadding: 0 1rem !important;\n\t}\n\t.testimonial-item .form-control {\n\t\tmargin-bottom: 1.125rem !important;\n\t}\n\t.testimonial-item .title {\n\t\tfont-size: 2.5rem !important;\n\t\tmargin-bottom: 1.125rem !important;\n\t}\n\t.testimonial-item .content {\n\t\tfont-size: 1.25rem !important;\n\t\tmargin-bottom: 1.125rem !important;\n\t}\n\t.testimonial-item .name {\n\t\tfont-size: 1.125rem !important;\n\t}\n\t.testimonial-item .role {\n\t\tfont-size: 1rem !important;\n\t}\n}\n@media screen and (max-width: 996px) {\n\t.testimonials {\n\t\tpadding: 1.5rem 1.25rem !important;\n\t\tmargin-bottom: 4rem !important;\n\t}\n\t.testimonials .col-lg-5 {\n\t\tdisplay: none !important;\n\t}\n\t.testimonial-text {\n\t\tpadding: 0 !important;\n\t}\n\t.testimonial-image {\n\t\tdisplay: none !important;\n\t}\n\t.testimonial-item {\n\t\tpadding: 0 1rem !important;\n\t}\n\t.testimonial-item .form-control {\n\t\tmargin-bottom: 1.125rem !important;\n\t}\n\t.testimonial-item .title {\n\t\tfont-size: 2.5rem !important;\n\t\tmargin-bottom: 1.125rem !important;\n\t}\n\t.testimonial-item .content {\n\t\tfont-size: 1.25rem !important;\n\t\tmargin-bottom: 1.125rem !important;\n\t}\n\t.testimonial-item .name {\n\t\tfont-size: 1.125rem !important;\n\t}\n\t.testimonial-item .role {\n\t\tfont-size: 1rem !important;\n\t}\n\t.testimonial-text::before {\n\t\ttop: -1rem !important;\n\t}\n\t.testimonial-text::after {\n\t\tbottom: -10rem !important;\n\t\tright: 1rem !important;\n\t}\n}\n@media screen and (max-width: 480px) {\n\t.testimonials {\n\t\tpadding: 1.5rem !important;\n\t\tmargin-bottom: 2rem !important;\n\t}\n\t.testimonial-item {\n\t\tpadding: 0 !important;\n\t}\n\t.testimonial-item .form-control {\n\t\tmargin-bottom: 1rem !important;\n\t\tfont-size: 1.5rem !important;\n\t}\n\t.testimonial-item .title {\n\t\tfont-size: 1.5rem !important;\n\t\tmargin-bottom: 1.125rem !important;\n\t}\n\t.testimonial-item .content {\n\t\tfont-size: 1.25rem !important;\n\t\tmargin-bottom: 1.125rem !important;\n\t}\n\t.testimonial-item .name {\n\t\tfont-size: 1.125rem !important;\n\t}\n\t.testimonial-item .role {\n\t\tfont-size: 1rem !important;\n\t}\n\t.testimonial-text::before {\n\t\ttop: -1rem !important;\n\t}\n\t.testimonial-text::after {\n\t\tbottom: -10rem !important;\n\t\tright: 1rem !important;\n\t}\n}\n\n.testimonials {\n\tpadding: 0 1.25rem 0;\n\tbackground-color: var(--secondary-color);\n\tborder-radius: 8px;\n\tbox-shadow: 0 3px 6px #a8a8a829;\n\tdisplay: flex;\n\tflex-direction: row;\n\tmargin-bottom: 9.375rem;\n}\n\n.testimonials .slick-slider {\n\twidth: 100%;\n}\n\n.testimonial-text {\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n\tpadding-left: 4rem;\n}\n\n.testimonial-text::before {\n\tcontent: \"“\";\n\tfont-size: 18.75rem;\n\tcolor: #ffffff1f;\n\tposition: absolute;\n\tline-height: 1;\n\ttop: 1rem;\n\t/* ❝ ❞ “ ” • */\n}\n\n.testimonial-text::after {\n\tcontent: \"”\";\n\tfont-size: 18.75rem;\n\tcolor: #ffffff1f;\n\tposition: absolute;\n\tline-height: 1;\n\tbottom: -7rem;\n\tright: 4rem;\n}\n\n.testimonial-image {\n\tmargin: -1.75rem 0;\n\tborder-radius: 10px;\n\twidth: 100%;\n}\n.testimonial-item {\n\tcolor: #ffffff;\n\tpadding: 0 4rem;\n\twidth: 100%;\n}\n\n.testimonial-item .title {\n\tfont-size: 3.375rem;\n\tfont-weight: 500;\n\tmargin-bottom: 1.875rem;\n}\n\n.testimonial-item .content {\n\tfont-size: 1.875rem;\n\tfont-weight: normal;\n\tcolor: #ffffff6a;\n\tmargin-bottom: 1.875rem;\n}\n.testimonial-item .name {\n\ttext-decoration: underline;\n\tfont-size: 1.5rem;\n\tmargin-right: 1rem;\n}\n.testimonial-item .role {\n\tfont-size: 1.25rem;\n\tcolor: var(--primary-color);\n\tfont-weight: normal;\n}\n\n.testimonial-item .form-control {\n\theight: fit-content;\n\tbackground-color: transparent !important;\n\tborder: none;\n\theight: unset !important;\n\tmargin-bottom: 1.875rem;\n\tmargin-left: 0;\n\tpadding: 0;\n\tfont-size: 2.25rem;\n\twidth: fit-content;\n\tbox-shadow: none;\n}\n\n.testimonial-item .form-control:focus {\n\tbox-shadow: none !important;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageTestimonials.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageTestimonials.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomePageTestimonials.vue?vue&type=template&id=73c2c97c&scoped=true&\"\nimport script from \"./HomePageTestimonials.vue?vue&type=script&lang=js&\"\nexport * from \"./HomePageTestimonials.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HomePageTestimonials.vue?vue&type=style&index=0&id=73c2c97c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"73c2c97c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"why-us-container\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"why-us-content d-flex\"},[_c('div',{staticClass:\"content-text col-lg-5\"},[_c('h1',{staticClass:\"title\"},[_vm._v(\"Why \"),_c('span',[_vm._v(\" GoCBE\")]),_vm._v(\" Global?\")]),_c('p',{staticClass:\"text\"},[_vm._v(\" On one hand, eLearning courses have become hugely popular by the simple virtue of being so much more convenient than traditional face to face courses. \")]),_c('a',{staticClass:\"action-btn\",attrs:{\"type\":\"button\",\"role\":\"button\"}},[_vm._v(\"Get a free consultation \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})])]),_c('div',{staticClass:\"content-img col-lg-7\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/why-us.png\")}})])])])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"why-us-container\">\n\t\t<!-- <img\n\t\t\tsrc=\"../../assets/images/banner-right-vector.svg\"\n\t\t\tclass=\"banner-right-img vector\"\n\t\t/> -->\n\t\t<div class=\"container\">\n\t\t\t<div class=\"why-us-content d-flex\">\n\t\t\t\t<div class=\"content-text col-lg-5\">\n\t\t\t\t\t<h1 class=\"title\">Why <span> GoCBE</span> Global?</h1>\n\t\t\t\t\t<p class=\"text\">\n\t\t\t\t\t\tOn one hand, eLearning courses have become hugely popular by the\n\t\t\t\t\t\tsimple virtue of being so much more convenient than traditional face\n\t\t\t\t\t\tto face courses.\n\t\t\t\t\t</p>\n\t\t\t\t\t<a type=\"button\" role=\"button\" class=\"action-btn\"\n\t\t\t\t\t\t>Get a free consultation <i class=\"fas fa-long-arrow-alt-right\"></i\n\t\t\t\t\t></a>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"content-img col-lg-7\">\n\t\t\t\t\t<img src=\"@/assets/images/why-us.png\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"HomePageWhyUs\",\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.why-us-content {\n\t\tflex-direction: column-reverse !important;\n\t}\n\t.content-img {\n\t\tpadding: 0 !important;\n\t\tmargin-bottom: 2rem !important;\n\t}\n\n\t.why-us-content .content-text .text {\n\t\tbackground-color: #ffffff !important;\n\t}\n\n\t.why-us-container {\n\t\tpadding: 8rem 0 !important;\n\t}\n}\n\n.why-us-container {\n\tbackground-image: url(\"../../assets/images/banner-right-vector.svg\");\n\tpadding: 10.625rem 0;\n\tposition: relative;\n\t/* overflow-x: hidden; */\n\tbackground-repeat: no-repeat;\n\tbackground-attachment: local;\n\tbackground-position: 59vw;\n\tbackground-size: 58.75rem;\n}\n\n.why-us-content {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.why-us-content .content-text {\n\tpadding-right: 2rem;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.why-us-content .content-text .title {\n\tfont-size: 3.438rem;\n\tcolor: var(--secondary-color);\n\tfont-weight: 500;\n\tletter-spacing: -0.55px;\n\tmargin-bottom: 2.25rem;\n}\n\n.why-us-content .content-text .title span {\n\tcolor: var(--primary-color);\n}\n\n.why-us-content .content-text .text {\n\tcolor: #898989;\n\ttext-shadow: 0 15px 50px #00000029;\n\tfont-size: 1.5rem;\n\tfont-weight: normal;\n\tmargin-bottom: 3rem;\n}\n.why-us-content .content-text .action-btn {\n\tcolor: var(--secondary-color);\n\ttext-shadow: 0 15px 50px #00000029;\n\tfont-size: 1.5rem;\n\tfont-weight: normal;\n\ttext-decoration: underline;\n}\n\n.why-us-content .content-text .action-btn i {\n\tmargin-left: 1rem;\n}\n\n.content-img img {\n\twidth: 100%;\n\tborder-radius: 10px;\n\tbox-shadow: 2px 2px 50px #a8a8a829;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageWhyUs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomePageWhyUs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomePageWhyUs.vue?vue&type=template&id=6a4e881c&scoped=true&\"\nimport script from \"./HomePageWhyUs.vue?vue&type=script&lang=js&\"\nexport * from \"./HomePageWhyUs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HomePageWhyUs.vue?vue&type=style&index=0&id=6a4e881c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6a4e881c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"inner-page-banner\"},[_c('div',{staticClass:\"container\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"inner-page-banner\">\n\t\t<div class=\"container\"><slot></slot></div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"InnerPageBanner\",\n};\n</script>\n\n<style scoped>\n.inner-page-banner {\n\tpadding: 2.5rem 2rem;\n\tbackground-image: url(\"../../assets/images/productTopBanner1.jpg\");\n\tbackground-position: center;\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n\tfont-weight: bold;\n\tfont-size: 3rem;\n\tcolor: var(--color-white);\n\tposition: relative;\n}\n\n.inner-page-banner:after {\n\tcontent: \"\";\n\twidth: 45%;\n\theight: 5px;\n\tbackground-color: var(--color-danger);\n\tposition: absolute;\n\tbottom: 0;\n\tright: 0;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InnerPageBanner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InnerPageBanner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InnerPageBanner.vue?vue&type=template&id=7a910fb0&scoped=true&\"\nimport script from \"./InnerPageBanner.vue?vue&type=script&lang=js&\"\nexport * from \"./InnerPageBanner.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InnerPageBanner.vue?vue&type=style&index=0&id=7a910fb0&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7a910fb0\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"loading\"}},[_c('p',[_c('img',{attrs:{\"src\":require(\"@/assets/images/preloader.gif\")}})]),_c('p',[_vm._v(\"Loading...\")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"loading\">\n\t\t<p><img src=\"@/assets/images/preloader.gif\" /></p>\n\t\t<!-- <div class=\"progress-line\"></div> -->\n\t\t<p>Loading...</p>\n\t</div>\n</template>\n\n<script>\n\nexport default {\n\tname: \"Loading\",\n};\n</script>\n\n<style scoped>\n@keyframes loading-animation {\n\tfrom {\n\t\topacity: 0.35;\n\t}\n\n\tto {\n\t\topacity: 1;\n\t}\n}\n\n#loading {\n\tposition: fixed;\n\t/* z-index: 9; */\n\ttop: 0;\n\tleft: 0;\n\tbottom: 0;\n\tright: 0;\n\tbackground-color: #ffffff;\n\ttransition: 1s 0.4s;\n\ttext-align: center;\n\topacity: 0.95;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-direction: column;\n}\n\n#loading p {\n\t/* margin-top: 45vh; */\n\t/* color: #ffffff; */\n\topacity: 1;\n}\n\n#loading p img {\n\theight: 60px;\n\twidth: auto;\n\tmargin-bottom: 10px;\n}\n\n.progress-line,\n.progress-line:before {\n\theight: 3px;\n\twidth: 20%;\n\tmargin: 0;\n}\n.progress-line {\n\tbackground-color: #ffd83f;\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n\tmargin: auto;\n}\n.progress-line:before {\n\tbackground-color: #03334e;\n\tcontent: \"\";\n\t-webkit-animation: running-progress 0.6s linear infinite alternate;\n\tanimation: running-progress 0.6s linear infinite alternate;\n}\n@-webkit-keyframes running-progress {\n\t0% {\n\t\tmargin-left: 0px;\n\t\tmargin-right: 100%;\n\t}\n\t50% {\n\t\tmargin-left: 50%;\n\t\tmargin-right: 0%;\n\t}\n\t100% {\n\t\tmargin-left: 100%;\n\t\tmargin-right: 0;\n\t}\n}\n@keyframes running-progress {\n\t0% {\n\t\tmargin-left: 0px;\n\t\tmargin-right: 100%;\n\t}\n\t50% {\n\t\tmargin-left: 50%;\n\t\tmargin-right: 0%;\n\t}\n\t100% {\n\t\tmargin-left: 100%;\n\t\tmargin-right: 0;\n\t}\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Loading.vue?vue&type=template&id=2709f3ef&scoped=true&\"\nimport script from \"./Loading.vue?vue&type=script&lang=js&\"\nexport * from \"./Loading.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Loading.vue?vue&type=style&index=0&id=2709f3ef&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2709f3ef\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"profile-page-banner\"},[_c('div',{staticClass:\"container\"},[_c('a',{staticClass:\"edit-button\",attrs:{\"role\":\"button\"}},[_c('i',{staticClass:\"fas fa-pencil-alt edit-button-icon\"})])])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"profile-page-banner\">\n\t\t<div class=\"container\">\n\t\t\t<a role=\"button\" class=\"edit-button\"\n\t\t\t\t><i class=\"fas fa-pencil-alt edit-button-icon\"></i\n\t\t\t></a>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"ProfileBanner\",\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 768px) {\n\t.profile-page-banner {\n\t\theight: 15vh !important;\n\t}\n}\n\n.profile-page-banner {\n\tbackground-color: #bababa;\n\theight: 35vh;\n\tmax-height: 27.5rem;\n\t/* width: 100vw; */\n}\n\n.edit-button {\n\twidth: 3.125rem;\n\theight: 3.125rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: #ffffff;\n\tborder-radius: 50%;\n\tmargin-left: auto;\n\tmargin-right: 1.7rem;\n\tmargin-top: 1.125rem;\n\ttext-decoration: none;\n}\n\n.edit-button-icon {\n\tfont-size: 1.25rem;\n\tcolor: var(--primary-color);\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProfileBanner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProfileBanner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileBanner.vue?vue&type=template&id=a431aeb8&scoped=true&\"\nimport script from \"./ProfileBanner.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileBanner.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfileBanner.vue?vue&type=style&index=0&id=a431aeb8&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"a431aeb8\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"searchbar position-relative d-flex align-items-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],attrs:{\"autocomplete\":\"off\",\"type\":\"search\",\"name\":\"search\",\"id\":\"search\",\"placeholder\":\"What do you want to learn\"},domProps:{\"value\":(_vm.searchText)},on:{\"focus\":function($event){_vm.showDropdown = true},\"blur\":_vm.closeDropdown,\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}}),_c('router-link',{staticClass:\"search-icon\",attrs:{\"to\":_vm.searchPageLink}},[_c('i',{staticClass:\"fa fa-search\"})]),(_vm.showDropdown)?_c('div',{staticClass:\"search-dropdown\"},[(_vm.searchList.length > 0)?_c('ul',_vm._l((_vm.searchList),function(item,index){return _c('li',{key:index,on:{\"click\":function($event){return _vm.handleLinkClick(item)}}},[_c('img',{staticClass:\"searchbar-image\",attrs:{\"src\":require(\"../../assets/images/sample-thumbnail.jpeg\"),\"alt\":\"\"}}),_vm._v(\" \"+_vm._s(item.product.title)+\" - \"+_vm._s(item.title)+\" \"),_c('br')])}),0):_vm._e(),(_vm.searchList.length == 0 && _vm.searchText.length > 0)?_c('div',{staticClass:\"no-content p-4 text-center text-muted\"},[_vm._v(\" Sorry! No relevant results found. \")]):_vm._e()]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"searchbar position-relative d-flex align-items-center\">\n\t\t<input\n\t\t\tautocomplete=\"off\"\n\t\t\ttype=\"search\"\n\t\t\tname=\"search\"\n\t\t\tid=\"search\"\n\t\t\tplaceholder=\"What do you want to learn\"\n\t\t\tv-model=\"searchText\"\n\t\t\t@focus=\"showDropdown = true\"\n\t\t\t@blur=\"closeDropdown\"\n\t\t/>\n\t\t<!-- {{ searchOnInput }} -->\n\t\t<router-link :to=\"searchPageLink\" class=\"search-icon\"\n\t\t\t><i class=\"fa fa-search\"></i\n\t\t></router-link>\n\t\t<div class=\"search-dropdown\" v-if=\"showDropdown\">\n\t\t\t<ul v-if=\"searchList.length > 0\">\n\t\t\t\t<li\n\t\t\t\t\t@click=\"handleLinkClick(item)\"\n\t\t\t\t\tv-for=\"(item, index) in searchList\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclass=\"searchbar-image\"\n\t\t\t\t\t\tsrc=\"../../assets/images/sample-thumbnail.jpeg\"\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t/>\n\t\t\t\t\t{{ item.product.title }} - {{ item.title }} <br />\n\t\t\t\t\t<!-- {{ item.creator.name }} -->\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<div\n\t\t\t\tv-if=\"searchList.length == 0 && searchText.length > 0\"\n\t\t\t\tclass=\"no-content p-4 text-center text-muted\"\n\t\t\t>\n\t\t\t\tSorry! No relevant results found.\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport { parseForURL } from '../../helpers/FormatHelpers';\n\nexport default {\n\tname: \"Searchbar\",\n\tdata() {\n\t\treturn {\n\t\t\tsearchText: \"\",\n\t\t\tshowDropdown: false,\n\t\t\t// searchList: [],\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"fetchProductVariants\"]),\n\t\thandleLinkClick(item) {\n\t\t\tthis.searchText = \"\";\n\t\t\tif (\n\t\t\t\tthis.user &&\n\t\t\t\t((this.user.type && this.user.type.toLowerCase() == \"student\") ||\n\t\t\t\t\t(this.user.role && this.user.role.toLowerCase() == \"student\")) &&\n\t\t\t\tthis.user.productVariants.length > 0\n\t\t\t) {\n\t\t\t\tvar found = this.user.productVariants.find((p) => p.id == item.id);\n\t\t\t\tif(found)\n\t\t\t\t{\n\t\t\t\t\tthis.$router.push(\n\t\t\t\t\t\t`/product/dashboard/chapters/${item.id}`\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$router.push(\n\t\t\t\t`/product/details/${parseForURL(item.product.friendlyTitle)}-${item.id}`\n\t\t\t);\n\t\t},\n\t\tcloseDropdown() {\n\t\t\tsetTimeout(() => (this.showDropdown = false), 300);\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\t\t...mapState(\"user\", [\"user\"]),\n\t\tsearchList() {\n\t\t\t// console.log(\"searchOnInput called\");\n\t\t\tvar list = [];\n\t\t\tif (this.productVariants.length > 0 && this.searchText !== \"\") {\n\t\t\t\tvar filteredVariants = Object.values(this.productVariants.items).filter(\n\t\t\t\t\t(v) =>\n\t\t\t\t\t\tv.status.toLowerCase() != \"private\" &&\n\t\t\t\t\t\tv.status.toLowerCase() != \"draft\"\n\t\t\t\t);\n\t\t\t\tfor (var item of filteredVariants) {\n\t\t\t\t\t// console.log(\n\t\t\t\t\t// \tthis.productVariants.items[item].product.title\n\t\t\t\t\t// \t\t.toLowerCase()\n\t\t\t\t\t// \t\t.includes(this.searchText.toLowerCase())\n\t\t\t\t\t// );\n\t\t\t\t\tconsole.log(item);\n\t\t\t\t\tif (\n\t\t\t\t\t\t(item.title || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(item.id || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n\t\t\t\t\t\t(item.product && item.product.title || \"\")\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(this.searchText.toLocaleLowerCase()) > -1\n\t\t\t\t\t\t// this.productVariants.items[item].product.title\n\t\t\t\t\t\t// \t.toLowerCase()\n\t\t\t\t\t\t// \t.includes(this.searchText.toLowerCase())\n\t\t\t\t\t) {\n\t\t\t\t\t\t// this.searchList.push(item);\n\t\t\t\t\t\tlist.push(item);\n\t\t\t\t\t\t// console.log(\n\t\t\t\t\t\t// \t\"Search result:\",\n\t\t\t\t\t\t// \tthis.productVariants.items[item].product.title\n\t\t\t\t\t\t// );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn list;\n\t\t},\n\t\tsearchPageLink() {\n\t\t\tif (this.searchText != \"\") {\n\t\t\t\treturn { path: \"/search\", query: { title: this.searchText } };\n\t\t\t} else return { path: \"/search\" };\n\t\t},\n\t},\n\twatch: {\n\t\t$route(to, from) {\n\t\t\tif (to.name.toLowerCase() !== \"search\") this.searchText = \"\";\n\t\t},\n\t\tshowDropdown: function () {\n\t\t\tif (this.showDropdown) this.fetchProductVariants();\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.searchbar {\n\t\tdisplay: none !important;\n\t}\n}\n\n.searchbar {\n\tflex-grow: 16;\n\tfont-size: 1rem;\n\t/* max-width: 500px; */\n}\n\n.searchbar-mobile {\n\theight: 36px;\n\tborder: none;\n\toutline: none;\n\tpadding: 12px 36px 12px 24px;\n\twidth: 100%;\n}\n\n#search {\n\tline-height: 1;\n\theight:42px;\n\tborder: 1px solid var(--border-color);\n\tborder-radius: 6px;\n\tbackground-color: #fafafa;\n\toutline: none;\n\tpadding: .375rem .75rem;\n\twidth: 100%;\n\tbox-shadow: 0 3px 6px #dbdbdb29;\n}\n\n.search-icon {\n\tfont-size: 18px;\n\tposition: absolute;\n\tmargin-right: 1.5rem;\n\tright: 0;\n\tcolor: #000000;\n}\n\n.search-dropdown {\n\tposition: absolute;\n\ttop: 4.5rem;\n\tbackground-color: #fff;\n\t/* padding: 1rem; */\n\tz-index: 1000;\n\twidth: 100%;\n\tbox-shadow: 0 3px 6px #2f2f2f1f;\n\tborder-radius: 8px;\n}\n\n.searchbar ul {\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tborder-radius: 8px;\n\tmax-height: 70vh;\n\toverflow-y: auto;\n}\n\n.searchbar ul li {\n\tpadding: 1rem;\n\tfont-size: 1rem;\n\tcolor: #000000;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\twidth: 100%;\n\tcursor: pointer;\n\ttransition: all 0.3s linear;\n}\n\n.searchbar ul li:hover {\n\tbackground-color: #f1f1f1;\n}\n\n.searchbar ul li:first-of-type {\n\tborder-top-right-radius: 8px;\n\tborder-top-left-radius: 8px;\n}\n\n.searchbar ul li:last-of-type {\n\tborder-bottom-right-radius: 8px;\n\tborder-bottom-left-radius: 8px;\n}\n\n.searchbar-image {\n\twidth: 4rem;\n\theight: 4rem;\n\tobject-fit: cover;\n\tobject-position: top;\n\tborder-radius: 6px;\n\tmargin-right: 1rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Searchbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Searchbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Searchbar.vue?vue&type=template&id=348a19d0&scoped=true&\"\nimport script from \"./Searchbar.vue?vue&type=script&lang=js&\"\nexport * from \"./Searchbar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Searchbar.vue?vue&type=style&index=0&id=348a19d0&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"348a19d0\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{attrs:{\"id\":'mobile-pdf-viewer-'}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n    <div>\n        <div :id=\"'mobile-pdf-viewer-'\"></div>\n    </div>\n</template>\n\n<script>\nexport default {\n    data() {\n        return {\n            adobeApiReady: false\n        };\n    },\n    props: {\n        apiKey: String,\n        source: String,\n        fileName: String\n    },\n    created() {\n    },\n    mounted() {\n        if (window.AdobeDC) {\n            this.adobeApiReady = true\n        } else {\n            document.addEventListener('adobe_dc_view_sdk.ready', () => {\n                this.adobeApiReady = true\n            });\n        }\n\n    },\n    watch: {\n        adobeApiReady: function () {\n            if (this.adobeApiReady) {\n                const config = {\n                    showZoomControl: true,\n                    hasReadOnlyAccess: true,\n                    showAnnotationTools: false,\n                    enableFormFilling: false,\n                    showDownloadPDF: true,\n                    showPrintPDF: false,\n                    showBookmarks: false\n                }\n\n                var adobeDCView = new AdobeDC.View({ clientId: this.apiKey, divId: \"mobile-pdf-viewer-\" });\n                adobeDCView.previewFile(\n                    {\n                        content: { location: { url: this.source } },\n                        metaData: {fileName: this.fileName}\n                    }, config);\n            }\n        }\n    },\n    methods: {\n    }\n}\n</script>\n\n<style></style>","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AdobePDFViewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AdobePDFViewer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AdobePDFViewer.vue?vue&type=template&id=621a142a&\"\nimport script from \"./AdobePDFViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./AdobePDFViewer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('BannerSmall',[_c('h2',{staticClass:\"pt-5 pb-5\"},[_vm._v(\"Bank Transfer\")])]),_c('div',{staticClass:\"pt-5 container ibft-evidence\"},[_c('h5',{domProps:{\"innerHTML\":_vm._s(_vm.instructions)}}),_c('label',{staticClass:\"main-label mt-4\",attrs:{\"for\":\"ibft_evidence\"}},[_vm._v(\"Picture of transaction:\")]),_c('div',{staticClass:\"d-flex flex-column gap-4\"},[_c('div',{class:['upload-btn-wrapper', { preview: _vm.evidence }]},[_c('img',{class:[{ 'd-none': !_vm.evidence }],attrs:{\"id\":\"preview\",\"src\":_vm.evidence,\"alt\":\"preview\"}}),(!_vm.evidence)?_c('button',{staticClass:\"upload-btn\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.openDialog}},[(_vm.fileUploading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" upload \")],1):_vm._e(),_c('input',{staticClass:\"form-input\",attrs:{\"type\":\"file\",\"accept\":\"image/*\",\"name\":\"file\",\"id\":\"image-upload\"},on:{\"change\":_vm.getFileLink}}),(_vm.evidence && !_vm.pendingPayment)?_c('div',{staticClass:\"right-menu\"},[(_vm.fileUploading)?_c('b-spinner',{staticClass:\"right-menu-icon\",attrs:{\"small\":\"\"}}):_vm._e(),(!_vm.fileUploading)?_c('a',{staticClass:\"right-menu-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.openDialog}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/edit-icon.svg\")}})]):_vm._e(),(!_vm.fileUploading)?_c('a',{staticClass:\"right-menu-icon delete\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.removeFile}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/delete-icon.svg\")}})]):_vm._e()],1):_vm._e()]),(!_vm.pendingPayment)?_c('div',{staticClass:\"col\"},[_c('button',{staticClass:\"primary-btn\",attrs:{\"disabled\":!_vm.evidence || _vm.loading,\"type\":\"submit\"},on:{\"click\":_vm.payInvoice}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Submit \")],1)]):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<BannerSmall>\n\t\t\t<h2 class=\"pt-5 pb-5\">Bank Transfer</h2>\n\t\t</BannerSmall>\n\t\t<div class=\"pt-5 container ibft-evidence\">\n\t\t\t<h5 v-html=\"instructions\"></h5>\n\t\t\t<label class=\"main-label mt-4\" for=\"ibft_evidence\"\n\t\t\t\t>Picture of transaction:</label\n\t\t\t>\n\t\t\t<div class=\"d-flex flex-column gap-4\">\n\t\t\t\t<div :class=\"['upload-btn-wrapper', { preview: evidence }]\">\n\t\t\t\t\t<img\n\t\t\t\t\t\t:class=\"[{ 'd-none': !evidence }]\"\n\t\t\t\t\t\tid=\"preview\"\n\t\t\t\t\t\t:src=\"evidence\"\n\t\t\t\t\t\talt=\"preview\"\n\t\t\t\t\t/>\n\t\t\t\t\t<button\n\t\t\t\t\t\tv-if=\"!evidence\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclass=\"upload-btn\"\n\t\t\t\t\t\t@click=\"openDialog\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<b-spinner v-if=\"fileUploading\" small></b-spinner>\n\t\t\t\t\t\tupload\n\t\t\t\t\t</button>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tname=\"file\"\n\t\t\t\t\t\tid=\"image-upload\"\n\t\t\t\t\t\t@change=\"getFileLink\"\n\t\t\t\t\t/>\n\t\t\t\t\t<div v-if=\"evidence && !pendingPayment\" class=\"right-menu\">\n\t\t\t\t\t\t<b-spinner\n\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\tsmall\n\t\t\t\t\t\t\tv-if=\"fileUploading\"\n\t\t\t\t\t\t></b-spinner>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tv-if=\"!fileUploading\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"right-menu-icon\"\n\t\t\t\t\t\t\t@click=\"openDialog\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img src=\"@/assets/images/edit-icon.svg\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tv-if=\"!fileUploading\"\n\t\t\t\t\t\t\t@click=\"removeFile\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\tclass=\"right-menu-icon delete\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img src=\"@/assets/images/delete-icon.svg\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"!pendingPayment\" class=\"col\">\n\t\t\t\t\t<button\n\t\t\t\t\t\t:disabled=\"!evidence || loading\"\n\t\t\t\t\t\t@click=\"payInvoice\"\n\t\t\t\t\t\tclass=\"primary-btn\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\t\t\tSubmit\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport BannerSmall from \"../Layout/BannerSmall.vue\";\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"BankTransfer\",\n\tdata() {\n\t\treturn {\n\t\t\tevidence: null,\n\t\t\tinvoiceToPay: null,\n\t\t\tfileUploading: false,\n\t\t\tpendingPayment: null,\n\t\t};\n\t},\n\tprops: { instructions: String, paymentMode: Object },\n\tcomponents: { BannerSmall },\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"pricing\", [\"invoicesByUserId\", \"loading\"]),\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"uploadContentFile\"]),\n\t\t...mapActions(\"pricing\", [\n\t\t\t\"fetchInvoiceByUserId\",\n\t\t\t\"createPayment\",\n\t\t\t\"fetchPaymentsList\",\n\t\t]),\n\t\tgetFileLink(e) {\n\t\t\tthis.fileUploading = true;\n\t\t\tconst [file] = e.target.files;\n\t\t\tif (file) {\n\t\t\t\tdocument.getElementById(\"preview\").title = file.name;\n\n\t\t\t\tlet formData = new FormData();\n\t\t\t\tformData.append(\"file\", file);\n\t\t\t\tformData.append(\"entity\", \"PaymentEvidence\");\n\t\t\t\tformData.append(\"type\", \"Image\");\n\t\t\t\t\n\t\t\t\tformData.append(\"IsCompressionRequired\", true);\n\n\t\t\t\tconsole.log(...formData);\n\t\t\t\tthis.uploadContentFile(formData).then((data) => {\n\t\t\t\t\tconsole.log(data);\n\t\t\t\t\tthis.evidence = data;\n\t\t\t\t\t$(\".upload-btn-wrapper\").addClass(\"success\");\n\t\t\t\t\tthis.fileUploading = false;\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.fileUploading = false;\n\t\t\tconsole.log(\"file: \", e.target.files);\n\t\t},\n\t\topenDialog() {\n\t\t\t$(\"#image-upload\").click();\n\t\t},\n\t\tpayInvoice() {\n\t\t\tvar paymentObject = {\n\t\t\t\tcustomerID: this.user.id,\n\t\t\t\tpaymentDate: new Date().toISOString(),\n\t\t\t\tmethod: this.paymentMode.serviceName,\n\t\t\t\tmethodProvider: this.paymentMode.serviceProvider,\n\t\t\t\tmethodProviderID: this.paymentMode.serviceCode,\n\t\t\t\tdetails: this.invoiceToPay.details.map((detail) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tinvoiceDetailID: detail.id.toString(),\n\t\t\t\t\t\tamount: parseFloat(detail.amount),\n\t\t\t\t\t\ttype: \"Received\",\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t\tstatus: \"Pending\",\n\t\t\t\tmetadata: JSON.stringify({ evidence: this.evidence }),\n\t\t\t};\n\t\t\t// console.log(paymentObject);\n\t\t\tthis.createPayment(paymentObject).then((res) => {\n\t\t\t\tconsole.log(res);\n\t\t\t\tif (res) {\n\t\t\t\t\tthis.fetchInvoiceByUserId(this.user.id).then(() => {\n\t\t\t\t\t\tthis.$toasted.success(\"Payment evidence submitted for review\", {\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.$router.push(\"/user/invoices\");\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tremoveFile() {\n\t\t\tthis.evidence = null;\n\t\t},\n\t},\n\tcreated() {\n\t\tif (this.$route.query.paymentID) {\n\t\t\tthis.fetchPaymentsList({ ID: this.$route.query.paymentID }).then(\n\t\t\t\t(res) => {\n\t\t\t\t\tvar data = res.payload;\n\t\t\t\t\tconsole.log(data);\n\t\t\t\t\tthis.pendingPayment = data[0];\n\n\t\t\t\t\tthis.evidence = JSON.parse(data[0].metadata).evidence;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tvar invoiceID = this.$route.params.id;\n\t\tvar invoice;\n\t\tif (this.invoicesByUserId && this.invoicesByUserId[this.user.id]) {\n\t\t\tinvoice = this.invoicesByUserId[this.user.id].find(\n\t\t\t\t(inv) => inv.id == invoiceID\n\t\t\t);\n\t\t\tthis.invoiceToPay = invoice;\n\t\t} else {\n\t\t\tthis.fetchInvoiceByUserId(this.user.id).then(() => {\n\t\t\t\tinvoice = this.invoicesByUserId[this.user.id].find(\n\t\t\t\t\t(invoice) => invoice.id == invoiceID\n\t\t\t\t);\n\t\t\t\tthis.invoiceToPay = invoice;\n\t\t\t});\n\t\t}\n\t},\n};\n</script>\n\n<style scoped>\n.main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n.form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0.875rem 0;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n}\n\n/* .ibft-evidence .upload-btn-wrapper {\n\tmax-width: unset !important;\n} */\n\n.upload-btn-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tbackground: #f5f5f5;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\tborder-radius: 8px;\n\tpadding: 2rem;\n\tdisplay: flex;\n\twidth: fit-content;\n\talign-items: center;\n\tmax-width: 10rem;\n\tmax-height: 6.5rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.upload-btn-wrapper .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n\tposition: absolute;\n}\n\n.upload-btn-wrapper:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.upload-btn-wrapper .right-menu-icon {\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n.upload-btn-wrapper .right-menu-icon img {\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.upload-btn-wrapper .right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n#evidence {\n\tpointer-events: none;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BankTransfer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BankTransfer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BankTransfer.vue?vue&type=template&id=3cff30a5&scoped=true&\"\nimport script from \"./BankTransfer.vue?vue&type=script&lang=js&\"\nexport * from \"./BankTransfer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BankTransfer.vue?vue&type=style&index=0&id=3cff30a5&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3cff30a5\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('BannerSmall',[_c('h2',{staticClass:\"pt-5 pb-5\"},[_vm._v(\"Cash Payment\")])]),_c('div',{staticClass:\"pt-5 container\"},[_c('h5',{domProps:{\"innerHTML\":_vm._s(_vm.instructions)}})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<BannerSmall>\n\t\t\t<h2 class=\"pt-5 pb-5\">Cash Payment</h2>\n\t\t</BannerSmall>\n\t\t<div class=\"pt-5 container\">\n\t\t\t<h5 v-html=\"instructions\"></h5>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport BannerSmall from \"../Layout/BannerSmall.vue\";\nexport default {\n\tname: \"Cash\",\n\tprops: { instructions: String, paymentMode: Object },\n\tcomponents: { BannerSmall },\n};\n</script>\n\n<style scoped>\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Cash.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Cash.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Cash.vue?vue&type=template&id=d1760b98&scoped=true&\"\nimport script from \"./Cash.vue?vue&type=script&lang=js&\"\nexport * from \"./Cash.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"d1760b98\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('BannerSmall',[_c('h2',{staticClass:\"pt-5 pb-5\"},[_vm._v(\"KuickPay BPS\")])]),_c('div',{staticClass:\"pt-5 container ibft-evidence\"},[_c('h5',{domProps:{\"innerHTML\":_vm._s(_vm.instructions)}})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<BannerSmall>\n\t\t\t<h2 class=\"pt-5 pb-5\">KuickPay BPS</h2>\n\t\t</BannerSmall>\n\t\t<div class=\"pt-5 container ibft-evidence\">\n\t\t\t<h5 v-html=\"instructions\"></h5>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport BannerSmall from \"../Layout/BannerSmall.vue\";\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"KuickPayBPS\",\n\tdata() {\n\t\treturn {\n            placeholders: {\n                consumernumber_invoice: null,\n                consumernumber_user: null,\n            },\n            invoiceToPay: {}\n\t\t};\n\t},\n\tprops: { instructions: String, paymentMode: Object, merchantcode: String },\n\tcomponents: { BannerSmall },\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"pricing\", [\"invoicesByUserId\", \"loading\"]),\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"uploadContentFile\"]),\n\t\t...mapActions(\"pricing\", [\n\t\t\t\"fetchInvoiceByUserId\",\n\t\t\t\"createPayment\",\n\t\t\t\"fetchPaymentsList\",\n\t\t]),\n        \n        replacePlaceholders(htmlString, data) {\n            const placeholderRegex = /\\{\\{([^}]+)\\}\\}/g;\n\n            const replacedHtml = htmlString.replace(placeholderRegex, (match, key) => {\n                const replacement = data[key.trim()];\n                return replacement !== undefined ? replacement : match;\n            });\n\n            return replacedHtml;\n        },\n\n        prependZeros(numberString) {\n            const targetLength = 10;\n            const currentLength = numberString.length;\n\n            if (currentLength >= targetLength) {\n                return numberString;\n            }\n\n            const numberOfZerosToAdd = targetLength - currentLength;\n            const zeros = \"0\".repeat(numberOfZerosToAdd);\n            const paddedNumber = zeros + numberString;\n\n            return paddedNumber;\n        }\n\t},\n\tasync created() {\n\t\tvar invoiceID = this.$route.params.id;\n\t\tvar invoice;\n        var merchantcode = this.$route.query.merchantcode;\n\n        this.placeholders.consumernumber_user = merchantcode.toString() + \"877\" + this.prependZeros(this.user.id).toString();\n        this.placeholders.consumernumber_invoice = merchantcode.toString() + \"468\" + this.prependZeros(invoiceID).toString();\n\n\t\tif (this.invoicesByUserId && this.invoicesByUserId[this.user.id]) {\n\t\t\tinvoice = this.invoicesByUserId[this.user.id].find(\n\t\t\t\t(inv) => inv.id == invoiceID\n\t\t\t);\n\t\t\tthis.invoiceToPay = invoice;\n\t\t}\n        else {\n\t\t\tthis.fetchInvoiceByUserId(this.user.id).then(() => {\n\t\t\t\tinvoice = this.invoicesByUserId[this.user.id].find(\n\t\t\t\t\t(invoice) => invoice.id == invoiceID\n\t\t\t\t);\n\t\t\t\tthis.invoiceToPay = invoice;\n\t\t\t});\n\t\t}\n\n        if(this.instructions){\n            this.instructions = await this.replacePlaceholders(this.instructions, this.placeholders);\n        }\n\t},\n};\n</script>\n\n<style scoped>\n.main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n.form-input {\n\tborder: 0;\n\tborder-bottom: 1.5px solid #b2b2b2;\n\tfont-size: 1rem;\n\toutline: none;\n\tpadding: 0.875rem 0;\n\t/* max-width: 21.625rem; */\n\twidth: 100%;\n}\n\n/* .ibft-evidence .upload-btn-wrapper {\n\tmax-width: unset !important;\n} */\n\n.upload-btn-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tbackground: #f5f5f5;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\tborder-radius: 8px;\n\tpadding: 2rem;\n\tdisplay: flex;\n\twidth: fit-content;\n\talign-items: center;\n\tmax-width: 10rem;\n\tmax-height: 6.5rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.upload-btn-wrapper .right-menu {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\ttransition: opacity 0.3s, visibility 0s ease;\n\tvisibility: hidden;\n\topacity: 0;\n\tposition: absolute;\n}\n\n.upload-btn-wrapper:hover .right-menu {\n\tvisibility: visible;\n\topacity: 1;\n}\n\n.upload-btn-wrapper .right-menu-icon {\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: #ffffff;\n\tborder: 0.8px solid #cbcbcb;\n\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 50%;\n}\n\n.upload-btn-wrapper .right-menu-icon img {\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.upload-btn-wrapper .right-menu-icon.delete {\n\tborder-color: #ff0000;\n}\n\n#evidence {\n\tpointer-events: none;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./KuickPayBPS.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./KuickPayBPS.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KuickPayBPS.vue?vue&type=template&id=fe844608&scoped=true&\"\nimport script from \"./KuickPayBPS.vue?vue&type=script&lang=js&\"\nexport * from \"./KuickPayBPS.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KuickPayBPS.vue?vue&type=style&index=0&id=fe844608&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"fe844608\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ms-5\"},[_c('div',[_c('h2',{staticClass:\"pt-5 pb-5\"},[_vm._v(\"Visa/Master Card\")]),(_vm.message)?_c('h5',{staticClass:\"text-success\"},[_vm._v(_vm._s(_vm.message))]):_vm._e(),(_vm.error)?_c('h5',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.error))]):_vm._e()]),(_vm.paymentData)?_c('div',[_c('form',{attrs:{\"id\":\"paymentForm\",\"action\":_vm.paymentData.data.gatewayUrl,\"method\":\"POST\"}},[_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"orderID\"},domProps:{\"value\":_vm.paymentData.data.orderID}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"merchantName\"},domProps:{\"value\":_vm.paymentData.data.merchantName}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"amount\"},domProps:{\"value\":_vm.paymentData.data.amount}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"transactionDescription\"},domProps:{\"value\":_vm.paymentData.data.transactionDescription}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"customerMobileNumber\"},domProps:{\"value\":_vm.paymentData.data.customerMobileNumber}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"customerEmail\"},domProps:{\"value\":_vm.paymentData.data.customerEmail}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"successUrl\"},domProps:{\"value\":_vm.paymentData.data.successUrl}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"failureUrl\"},domProps:{\"value\":_vm.paymentData.data.failureUrl}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"orderDate\"},domProps:{\"value\":_vm.paymentData.data.orderDate}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"checkoutUrl\"},domProps:{\"value\":_vm.paymentData.data.checkoutUrl}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"token\"},domProps:{\"value\":_vm.paymentData.data.token}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"grossAmount\"},domProps:{\"value\":_vm.paymentData.data.amount}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"taxAmount\"},domProps:{\"value\":0}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"discount\"},domProps:{\"value\":0}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"signature\"},domProps:{\"value\":_vm.paymentData.data.signature}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"institutionID\"},domProps:{\"value\":_vm.paymentData.data.institutionID}})])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n    <div class=\"ms-5\">\n      <div>\n        <h2 class=\"pt-5 pb-5\">Visa/Master Card</h2>\n        <h5 v-if=\"message\" class=\"text-success\">{{ message }}</h5>\n        <h5 v-if=\"error\" class=\"text-danger\">{{ error }}</h5>\n      </div>\n  \n      <div v-if=\"paymentData\">\n        <form id=\"paymentForm\" :action=\"paymentData.data.gatewayUrl\" method=\"POST\">\n          <input\n            type=\"hidden\"\n            name=\"orderID\"\n            :value=\"paymentData.data.orderID\"\n          />\n          <input\n            type=\"hidden\"\n            name=\"merchantName\"\n            :value=\"paymentData.data.merchantName\"\n          />\n          <input\n            type=\"hidden\"\n            name=\"amount\"\n            :value=\"paymentData.data.amount\"\n          />\n          <input\n            type=\"hidden\"\n            name=\"transactionDescription\"\n            :value=\"paymentData.data.transactionDescription\"\n          />\n          <input\n            type=\"hidden\"\n            name=\"customerMobileNumber\"\n            :value=\"paymentData.data.customerMobileNumber\"\n          />\n          <input\n            type=\"hidden\"\n            name=\"customerEmail\"\n            :value=\"paymentData.data.customerEmail\"\n          />\n          <input\n            type=\"hidden\"\n            name=\"successUrl\"\n            :value=\"paymentData.data.successUrl\"\n          />\n          <input\n            type=\"hidden\"\n            name=\"failureUrl\"\n            :value=\"paymentData.data.failureUrl\"\n          />\n          <input\n            type=\"hidden\"\n            name=\"orderDate\"\n            :value=\"paymentData.data.orderDate\"\n          />\n          <input\n            type=\"hidden\"\n            name=\"checkoutUrl\"\n            :value=\"paymentData.data.checkoutUrl\"\n          />\n          <input\n            type=\"hidden\"\n            name=\"token\"\n            :value=\"paymentData.data.token\"\n          />\n          <input type=\"hidden\" name=\"grossAmount\" :value=\"paymentData.data.amount\" />\n          <input type=\"hidden\" name=\"taxAmount\" :value=\"0\" />\n          <input type=\"hidden\" name=\"discount\" :value=\"0\" />\n          <input type=\"hidden\" name=\"signature\" :value=\"paymentData.data.signature\" />\n          <input type=\"hidden\" name=\"institutionID\" :value=\"paymentData.data.institutionID\" />\n          <!-- <input\n            style=\"width: 160px; height: 45px\"\n            class=\"mt-3 btn-block-rounded-primary\"\n            type=\"hidden\"\n          /> -->\n        </form>\n      </div>\n    </div>\n  </template>\n  \n  <script>\n  import { mounted } from \"vue2-dropzone\";\n  import Swal from \"sweetalert2\";\n  import { mapActions, mapState } from \"vuex\";\n  \n  export default {\n    name: \"KuickPayCheckout\",\n    data() {\n      return {\n        message: null,\n        error: null,\n        paymentData: null,\n        isSubmitForm: false,\n      };\n    },\n    computed: {\n      ...mapState(\"user\", [\"user\"]),\n      ...mapState(\"pricing\", [\"invoicesByUserId\", \"loading\"]),\n      isPostPayment() {\n        let action = this.$route.params.action;\n  \n        return action && action.toLowerCase() == \"postPayment\";\n      },\n    },\n    methods: {\n      ...mapActions(\"pricing\", [\"fetchInvoiceByUserId\", \"processPayment\"]),\n    },\n    created() {\n      let action = this.$route.query.action;\n      let status = this.$route.query.status;\n      let msg = this.$route.query.message;\n  \n      if (action && action.toLowerCase() == \"postpayment\") {\n        if (msg) {\n          msg = msg.replace(/\\+/g, \"%20\");\n          msg = decodeURIComponent(msg);\n  \n          if (status && status.toLowerCase() == \"failure\") {\n            //this.error = `${msg}. You may navigate to your courses.`;\n            Swal.fire({\n              title: \"Transaction Failed\",\n              text: `${msg}. You may navigate to your courses.`,\n              icon: \"error\",\n              button: \"Ok\",\n              dangerMode: true,\n              allowOutsideClick: false,\n              allowEscapeKey: false,\n            }).then((confirm) => {\n              if (confirm) {\n                this.$router.push(\"/user/dashboard\");\n              }\n            });\n          } else {\n            //this.message = `${msg}. You may navigate to your courses now to access the content.`;\n            Swal.fire({\n              title: \"Transaction Successful\",\n              text: `${msg}. You may navigate to your courses.`,\n              icon: \"success\",\n              button: \"Ok\",\n              allowOutsideClick: false,\n              allowEscapeKey: false,\n            }).then((confirm) => {\n              if (confirm) {\n                this.$router.push(\"/user/dashboard\");\n              }\n            });\n          }\n        }\n      } else {\n        let invoiceID = this.$route.params.id;\n  \n        if (invoiceID) {\n          this.message = \"Fetching payment details, please wait...\";\n          let invoice;\n  \n          if (this.invoicesByUserId && this.invoicesByUserId[this.user.id]) {\n            invoice = this.invoicesByUserId[this.user.id].find(\n              (inv) => inv.id == invoiceID\n            );\n          } else {\n            this.fetchInvoiceByUserId(this.user.id).then(() => {\n              invoice = this.invoicesByUserId[this.user.id].find(\n                (invoice) => invoice.id == invoiceID\n              );\n            });\n          }\n  \n          if (invoiceID == invoice.id) {\n            this.processPayment({\n              invoiceId: invoiceID,\n              serviceCode: \"KuickPayCheckout\",\n              data: {\n                redirectUrl: `${window.location.origin}/payment/KuickPayCheckout`,\n              },\n            })\n              .then((response) => {\n                if (response && response.data && response.data.gatewayUrl) {\n                  this.error = undefined;\n                  this.paymentData = response;\n                  console.log({paymentData: this.paymentData});\n  \n                  let count = 5;\n  \n                  setInterval(() => {\n                    if(count > 0) {\n                        count--;\n                    }\n\n                    this.message = `You will be redirect to KuickPay Payment Gateway in ${count} seconds. Don't reload or leave browser.`;\n  \n                    if (count == 1) {\n                        console.log(\"submit form now\");\n                        document.getElementById(\"paymentForm\").submit();\n                        clearInterval();\n                    }\n                  }, 1000);\n                }\n              })\n              .catch((error) => {\n                console.log(error);\n                this.error =\n                  \"Some error occurred while fetching data from payment gateway.\";\n              });\n          } else {\n            this.error = \"Invoice not found.\";\n          }\n        } else {\n          this.error = \"Invalid parameters\";\n        }\n      }\n    },\n  };\n  </script>\n  \n  <style scoped></style>\n  ","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./KuickPayCheckout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./KuickPayCheckout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KuickPayCheckout.vue?vue&type=template&id=5aa63980&scoped=true&\"\nimport script from \"./KuickPayCheckout.vue?vue&type=script&lang=js&\"\nexport * from \"./KuickPayCheckout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5aa63980\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ms-5\"},[_c('h2',{staticClass:\"pt-5 pb-5 \"},[_vm._v(\"Meezan (Debit/Credit Card)\")]),(_vm.message)?_c('h5',[_vm._v(_vm._s(_vm.message))]):_vm._e(),(_vm.error)?_c('h5',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.error))]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"ms-5\">\n    <h2 class=\"pt-5 pb-5 \">Meezan (Debit/Credit Card)</h2>\n      <h5 v-if=\"message\">{{message}}</h5>\n      <h5 v-if=\"error\" class=\"text-danger\">{{error}}</h5>\n  </div>\n</template>\n\n<script>\nimport {mapActions, mapState} from \"vuex\";\n\nexport default {\n  name: \"MeezanPaymentGateway\",\n  data() {\n    return {\n      message: undefined,\n      error: undefined\n    };\n  },\n  computed: {\n    ...mapState(\"user\", [\"user\"]),\n    ...mapState(\"pricing\", [\"invoicesByUserId\", \"loading\"]),\n    isPostPayment() {\n      let action = this.$route.params.action;\n\n      return action && action.toLowerCase() == \"postPayment\";\n    }\n  },\n  methods: {\n    ...mapActions(\"pricing\", [\n      \"fetchInvoiceByUserId\",\n      \"processPayment\"\n    ]),\n  },\n  created() {\n    let action = this.$route.query.action;\n\n    console.log({action});\n\n    if(action && action.toLowerCase() == \"postpayment\") {\n\n      let status = this.$route.query.status;\n      let msg = this.$route.query.message;\n      if(msg){\n        msg = msg.replace(/\\+/g, '%20');\n        msg = decodeURIComponent(msg);\n      }\n      if(status && status.toLowerCase() == \"failure\") {        \n        this.error = `${msg}. You may navigate to your courses now to access the content.`;\n      } else {\n        this.message = `${msg}. You may navigate to your courses now to access the content.`;\n      }\n    } else {\n\n      let invoiceID = this.$route.params.id;\n\n      if(invoiceID) {\n\n        let invoice;\n\n        if (this.invoicesByUserId && this.invoicesByUserId[this.user.id]) {\n          invoice = this.invoicesByUserId[this.user.id].find(\n              (inv) => inv.id == invoiceID\n          );\n        } else {\n          this.fetchInvoiceByUserId(this.user.id).then(() => {\n            invoice = this.invoicesByUserId[this.user.id].find(\n                (invoice) => invoice.id == invoiceID\n            );\n          });\n        }\n\n        if(invoiceID == invoice.id) {\n          this.message = 'Fetching payment details, please wait...';\n          this.processPayment({invoiceId: invoiceID, serviceCode: 'Meezan', data: { redirectUrl: `${window.location.origin}/payment/Meezan` }}).then((response) => {\n            console.log(response);\n\n            if(response && response.data && response.data.paymentUrl) {\n              this.error = undefined;\n              window.location.href = response.data.paymentUrl;\n            }\n          }).catch((error) => {\n            console.log(error);\n            this.error = 'Some error occurred while fetching data from payment gateway.';\n          });\n        } else {\n          this.error = \"Invoice not found.\";\n        }\n      } else {\n        this.error = \"Invalid parameters\";\n      }\n    }\n\n\n  }\n}\n</script>\n\n<style scoped>\n\n</style>","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MeezanPaymentGateway.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MeezanPaymentGateway.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MeezanPaymentGateway.vue?vue&type=template&id=5bbb6db5&scoped=true&\"\nimport script from \"./MeezanPaymentGateway.vue?vue&type=script&lang=js&\"\nexport * from \"./MeezanPaymentGateway.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5bbb6db5\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ms-5\"},[_c('h2',{staticClass:\"pt-5 pb-5\"},[_vm._v(\"Ngenius (Debit/Credit Card)\")]),(_vm.message)?_c('h5',[_vm._v(_vm._s(_vm.message))]):_vm._e(),(_vm.error)?_c('h5',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.error))]):_vm._e(),(!_vm.showOtpUI)?_c('div',[_c('div',{staticStyle:{\"text-align\":\"center\",\"font-size\":\"18px\"}},[_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"Request Timer: \")]),_vm._v(_vm._s(_vm.minutes + \":\" + _vm.seconds)+\" \")]),_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('b-spinner',{attrs:{\"type\":\"grow\",\"label\":\"Spinning\"}})],1),_c('hr',{staticStyle:{\"background-color\":\"grey\",\"margin-end\":\"35px\"}}),_vm._m(0),_vm._m(1),_c('button',{staticClass:\"btn-block-rounded-primary mt-2\",staticStyle:{\"margin\":\"0 auto\",\"width\":\"10%\"},attrs:{\"id\":\"checkoutBtn\",\"disabled\":\"\"},on:{\"click\":function($event){return _vm.createSession()}}},[_vm._v(\" Pay Now \"),(_vm.loading)?_c('b-spinner',{staticClass:\"ms-2\",attrs:{\"label\":\"Spinning\"}}):_vm._e()],1)]):_vm._e(),_vm._m(2)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"payment-heading-div\"},[_c('h3',[_vm._v(\"Enter Payment Details\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('div',{attrs:{\"id\":\"mount-id\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticStyle:{\"height\":\"70vh\"},attrs:{\"id\":\"3ds_iframe\"}})])}]\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"ms-5\">\n    <h2 class=\"pt-5 pb-5\">Ngenius (Debit/Credit Card)</h2>\n    <h5 v-if=\"message\">{{ message }}</h5>\n    <h5 v-if=\"error\" class=\"text-danger\">{{ error }}</h5>\n\n    <div v-if=\"!showOtpUI\">\n      <div style=\"text-align: center; font-size: 18px\">\n        <span style=\"color: red\">Request Timer: </span\n        >{{ minutes + \":\" + seconds }}\n      </div>\n\n      <div style=\"text-align: center\">\n        <b-spinner type=\"grow\" label=\"Spinning\"></b-spinner>\n      </div>\n\n      <hr style=\"background-color: grey; margin-end: 35px\" />\n\n      <div class=\"payment-heading-div\">\n        <h3>Enter Payment Details</h3>\n      </div>\n\n      <div style=\"text-align: center\">\n        <div id=\"mount-id\"></div>\n      </div>\n\n      <!-- <div v-if=\"showCheckoutBtn\"> -->\n      <button\n        id=\"checkoutBtn\"\n        class=\"btn-block-rounded-primary mt-2\"\n        @click=\"createSession()\"\n        disabled\n        style=\"margin: 0 auto; width: 10%\"\n      >\n        Pay Now\n        <b-spinner label=\"Spinning\" class=\"ms-2\" v-if=\"loading\"></b-spinner>\n      </button>\n    </div>\n\n    <div>\n      <div id=\"3ds_iframe\" style=\"height: 70vh\"></div>\n    </div>\n  </div>\n  <!-- </div> -->\n</template>\n\n<!-- Ngenius Payment Gateway SDK -->\n<!-- <script src=\"https://paypage.sandbox.ngenius-payments.com/hosted-sessions/sdk.js\"></script> -->\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport Swal from \"sweetalert2\";\n\nexport default {\n  name: \"Ngenius\",\n  data() {\n    return {\n      message: undefined,\n      error: undefined,\n      showCheckoutBtn: false,\n      isCredentialsCorrect: false,\n      loading: false,\n      minutes: 4,\n      seconds: 30,\n      showOtpUI: false,\n      sessionId: null,\n      orderReference: null,\n      ngeniusCdnScriptUrl: null,\n    };\n  },\n  computed: {\n    ...mapState(\"user\", [\"user\"]),\n    ...mapState(\"pricing\", [\"invoicesByUserId\", \"loading\"]),\n    isPostPayment() {\n      let action = this.$route.params.action;\n\n      return action && action.toLowerCase() == \"postPayment\";\n    },\n  },\n  methods: {\n    ...mapActions(\"pricing\", [\n      \"fetchInvoiceByUserId\",\n      \"processPayment\",\n      \"completePayment\",\n    ]),\n\n    showCountdown(isEndCountDown) {\n      let totalSeconds = this.minutes * 60 + this.seconds;\n\n      const timer = setInterval(() => {\n        if (isEndCountDown) {\n          clearInterval(timer);\n          return;\n        }\n\n        this.minutes = Math.floor(totalSeconds / 60);\n        this.seconds = totalSeconds % 60;\n\n        this.minutes = this.minutes.toString().padStart(2, \"0\");\n        this.seconds = this.seconds.toString().padStart(2, \"0\");\n\n        if (totalSeconds <= 0) {\n          clearInterval(timer);\n\n          this.showSwalErrorMessage(\n            \"Request Timeout\",\n            `You may navigate to your courses.`\n          );\n        } else {\n          totalSeconds--;\n        }\n      }, 1000);\n    },\n\n    async createSession() {\n      try {\n        this.loading = true;\n        const response = await window.NI.generateSessionId();\n\n        if (response.session_id) {\n          this.sessionId = response.session_id;\n          document.getElementById(\"checkoutBtn\").disabled = true;\n          this.completePayment({\n            serviceProvider: \"ngenius\",\n            paymentReference: this.paymentReference,\n            sessionId: response.session_id,\n            action: \"createorder\",\n          })\n            .then((res) => {\n              this.loading = false;\n              if (res) {\n                console.log(JSON.stringify(res));\n                if (res.state.toLowerCase() == \"await_3ds\") {\n                  this.orderReference = res.orderReference;\n                  this.showOtpUI = true;\n                  this.showCountdown(true);\n                  this.mountOtpUI(res);\n                  return;\n                }\n                this.showSwalErrorMessage(\n                  \"Transaction Failed\",\n                  `You may navigate to your courses.`\n                );\n              }\n              // code\n            })\n            .catch((err) => {\n              this.loading = false;\n              console.log({ err });\n              _this.showSwalErrorMessage(\n                \"Transaction Failed\",\n                \"Some error occurred\"\n              );\n            });\n        }\n      } catch (err) {\n        this.loading = false;\n      }\n    },\n\n    mountNgeniusGatewayUI(apiKey, outletReference) {\n      // let showCheckoutBtn = false;\n      (\"use strict\");\n      window.NI.mountCardInput(\n        \"mount-id\",\n        /* the mount id*/\n        {\n          style: {},\n          // Style configuration you can pass to customize the UI\n          apiKey: apiKey,\n          // API Key for WEB SDK from the portal\n          outletRef: outletReference,\n          // outlet reference from the portal\n          // onSuccess: () => {\n          //   this.isCredentialsCorrect = true;\n          // },\n          // Success callback if apiKey validation succeeds\n          // onFail: () => {\n          //   this.isCredentialsCorrect = false;\n          // }, // Fail callback if apiKey validation fails\n          onChangeValidStatus: function (_ref) {\n            var isCVVValid = _ref.isCVVValid,\n              isExpiryValid = _ref.isExpiryValid,\n              isNameValid = _ref.isNameValid,\n              isPanValid = _ref.isPanValid;\n\n            if (isCVVValid && isExpiryValid && isNameValid && isPanValid) {\n              console.log(isPanValid, isExpiryValid, isCVVValid, isNameValid);\n              document.getElementById(\"checkoutBtn\").disabled = false;\n            } else {\n              document.getElementById(\"checkoutBtn\").disabled = true;\n            }\n          },\n        }\n      );\n\n      this.showCountdown(false);\n    },\n\n    async mountOtpUI(paymentResponse) {\n      var _this = this;\n\n      (\"use strict\");\n      window.NI.handlePaymentResponse(paymentResponse, {\n        mountId: \"3ds_iframe\",\n        style: {\n          width: 500,\n          height: 800,\n        },\n      })\n        .then(async function (response) {\n          console.log({ response });\n          if (response.status.toLowerCase() == \"purchased\") {\n            _this\n              .completePayment({\n                serviceProvider: \"ngenius\",\n                paymentReference: _this.paymentReference,\n                sessionId: _this.sessionId,\n                action: \"markpayment\",\n                orderReference: _this.orderReference,\n              })\n              .then((res) => {\n                _this.loading = false;\n                if (res) {\n                  console.log(JSON.stringify(res));\n                  if (res.status.toLowerCase() == \"failed\") {\n                    _this.showSwalErrorMessage(\n                      \"Transaction Failed\",\n                      `${res.message} You may navigate to your courses.`\n                    );\n                  } else if (res.status.toLowerCase() == \"success\") {\n                    _this.showSwalSuccessMessage(\n                      \"Transaction Successful\",\n                      `${res.message} You may navigate to your courses.`\n                    );\n                  }\n                } else {\n                  _this.showSwalErrorMessage(\n                    \"Transaction Failed\",\n                    \"Some error occurred\"\n                  );\n                }\n                // code\n              })\n              .catch((err) => {\n                _this.loading = false;\n                console.log({ err });\n                _this.showSwalErrorMessage(\n                  \"Some error occured\",\n                  \"You may navigate to your courses.\"\n                );\n              });\n          } else if (response.status.toLowerCase() == \"error\") {\n            _this.showSwalErrorMessage(\n              \"Transaction Failed\",\n              `${response.error} You may navigate to your courses.`\n            );\n          } else {\n            _this.showSwalErrorMessage(\n              \"Transaction Failed\",\n              `Some error occurred. You may navigate to your courses.`\n            );\n          }\n        })\n        .catch(() => {\n          _this.showSwalErrorMessage(\n            \"Transaction Failed\",\n            `Some error occurred. You may navigate to your courses.`\n          );\n        });\n    },\n\n    showSwalErrorMessage(title, message) {\n      Swal.fire({\n        title: title,\n        text: message,\n        icon: \"error\",\n        button: \"Ok\",\n        dangerMode: true,\n        allowOutsideClick: false,\n        allowEscapeKey: false,\n      }).then((confirm) => {\n        if (confirm) {\n          this.$router.push(\"/user/dashboard\");\n        }\n      });\n    },\n\n    showSwalSuccessMessage(title, message) {\n      Swal.fire({\n        title: title,\n        text: message,\n        icon: \"success\",\n        button: \"Ok\",\n        allowOutsideClick: false,\n        allowEscapeKey: false,\n      }).then((confirm) => {\n        if (confirm) {\n          this.$router.push(\"/user/dashboard\");\n        }\n      });\n    },\n  },\n  created() {},\n\n  beforeRouteEnter(to, from, next) {\n    window.NI = undefined;\n    next();\n  },\n\n  mounted() {\n    this.action = this.$route.query.action;\n    console.log({ action: this.action });\n    if (this.action && this.action.toLowerCase() == \"postpayment\") {\n      let status = this.$route.query.status;\n      let ordId = this.$route.query.ordId;\n      let msg = this.$route.query.msg;\n      msg = msg.replace(/\\+/g, \"%20\");\n      msg = decodeURIComponent(msg);\n      if (status.toLowerCase() == \"failure\") {\n        this.error = `${msg} - ${ordId}`;\n      } else if (status.toLowerCase() == \"success\") {\n        this.message = `${msg} - ${ordId}. You may navigate to your courses now to access the content.`;\n        this.error = `Note: It may take few minutes before your payment is updated in our system. If you are unable to view your purchased course, please wait for few minutes and then refresh.`;\n      }\n    } else {\n      let invoiceID = this.$route.params.id;\n      if (invoiceID) {\n        let invoice;\n        if (this.invoicesByUserId && this.invoicesByUserId[this.user.id]) {\n          invoice = this.invoicesByUserId[this.user.id].find(\n            (inv) => inv.id == invoiceID\n          );\n        } else {\n          this.fetchInvoiceByUserId(this.user.id).then(() => {\n            invoice = this.invoicesByUserId[this.user.id].find(\n              (invoice) => invoice.id == invoiceID\n            );\n          });\n        }\n        if (invoiceID == invoice.id) {\n          // this.message = \"Fetching payment details, please wait...\";\n          this.processPayment({\n            invoiceId: invoiceID,\n            serviceCode: \"Ngenius\",\n            data: {\n              redirectUrl: `${window.location.origin}/payment/Ngenius?action=postPayment`,\n            },\n          })\n            .then(async (response) => {\n              console.log({ response });\n              this.paymentReference = response.data.paymentReference;\n              this.ngeniusCdnScriptUrl = response.data.ngeniusCdnScriptUrl;\n\n              let recaptchaScript = document.createElement(\"script\");\n              recaptchaScript.setAttribute(\"src\", this.ngeniusCdnScriptUrl);\n              document.head.appendChild(recaptchaScript);\n              recaptchaScript.addEventListener(\"load\", async () => {\n                console.log(\"File loaded\");\n                await this.mountNgeniusGatewayUI(\n                  response.data.apiKey,\n                  response.data.outletReference\n                );\n              });\n              console.log({ response });\n            })\n            .catch((error) => {\n              console.log(error);\n              this.error = \"Some error occurred in payment process\";\n            });\n        } else {\n          this.error = \"Invoice not found.\";\n        }\n      } else {\n        this.error = \"Invalid parameters\";\n      }\n    }\n  },\n};\n</script>\n\n<style scoped>\n.payment-heading-div {\n  text-align: center;\n  margin-top: 30px;\n  margin-bottom: 10px;\n}\n\n#mount-id {\n  height: 300px;\n  background-color: #f0eaea;\n  width: 55%;\n  margin: auto;\n  /* background-image: linear-gradient(to left, rgb(148 125 125 / 0%), rgb(190 228 255)); */\n  border-radius: 50px;\n  /* box-shadow: 6px 3px 6px #8c8c8c29; */\n  padding: 30px;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NgeniusPaymentGateway.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NgeniusPaymentGateway.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NgeniusPaymentGateway.vue?vue&type=template&id=6dfc0178&scoped=true&\"\nimport script from \"./NgeniusPaymentGateway.vue?vue&type=script&lang=js&\"\nexport * from \"./NgeniusPaymentGateway.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NgeniusPaymentGateway.vue?vue&type=style&index=0&id=6dfc0178&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6dfc0178\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ms-5\"},[_c('h2',{staticClass:\"pt-5 pb-5 \"},[_vm._v(\"Pay Pro (Debit/Credit Card)\")]),(_vm.message)?_c('h5',[_vm._v(_vm._s(_vm.message))]):_vm._e(),(_vm.error)?_c('h5',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.error))]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"ms-5\">\n    <h2 class=\"pt-5 pb-5 \">Pay Pro (Debit/Credit Card)</h2>\n      <h5 v-if=\"message\">{{message}}</h5>\n      <h5 v-if=\"error\" class=\"text-danger\">{{error}}</h5>\n  </div>\n</template>\n\n<script>\nimport {mapActions, mapState} from \"vuex\";\n\nexport default {\n  name: \"PayPro\",\n  data() {\n    return {\n      message: undefined,\n      error: undefined\n    };\n  },\n  computed: {\n    ...mapState(\"user\", [\"user\"]),\n    ...mapState(\"pricing\", [\"invoicesByUserId\", \"loading\"]),\n    isPostPayment() {\n      let action = this.$route.params.action;\n\n      return action && action.toLowerCase() == \"postPayment\";\n    }\n  },\n  methods: {\n    ...mapActions(\"pricing\", [\n      \"fetchInvoiceByUserId\",\n      \"processPayment\"\n    ]),\n  },\n  created() {\n    let action = this.$route.query.action;\n\n    console.log({action});\n\n    if(action && action.toLowerCase() == \"postpayment\") {\n\n      let status = this.$route.query.status;\n      let ordId = this.$route.query.ordId;\n\n      let msg = this.$route.query.msg;\n      msg = msg.replace(/\\+/g, '%20');\n      msg = decodeURIComponent(msg);\n\n      if(status.toLowerCase() == \"failure\") {\n        this.error = `${msg} - ${ordId}`;\n      } else if (status.toLowerCase() == \"success\") {\n        this.message = `${msg} - ${ordId}. You may navigate to your courses now to access the content.`;\n        this.error = `Note: It may take few minutes before your payment is updated in our system. If you are unable to view your purchased course, please wait for few minutes and then refresh.`;\n      }\n    } else {\n\n      let invoiceID = this.$route.params.id;\n\n      if(invoiceID) {\n\n        let invoice;\n\n        if (this.invoicesByUserId && this.invoicesByUserId[this.user.id]) {\n          invoice = this.invoicesByUserId[this.user.id].find(\n              (inv) => inv.id == invoiceID\n          );\n        } else {\n          this.fetchInvoiceByUserId(this.user.id).then(() => {\n            invoice = this.invoicesByUserId[this.user.id].find(\n                (invoice) => invoice.id == invoiceID\n            );\n          });\n        }\n\n        if(invoiceID == invoice.id) {\n          this.message = 'Fetching payment details, please wait...';\n          this.processPayment({invoiceId: invoiceID, serviceCode: 'PayPro', data: { redirectUrl: `${window.location.origin}/payment/PayPro?action=postPayment` }}).then((response) => {\n            console.log(response);\n\n            if(response && response.data && response.data.paymentUrl) {\n              this.error = undefined;\n              window.location.href = response.data.paymentUrl;\n            }\n          }).catch((error) => {\n            console.log(error);\n            this.error = 'Some error occurred while fetching data from payment gateway.';\n          });\n        } else {\n          this.error = \"Invoice not found.\";\n        }\n      } else {\n        this.error = \"Invalid parameters\";\n      }\n    }\n\n\n  }\n}\n</script>\n\n<style scoped>\n\n</style>","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PayPro.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PayPro.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PayPro.vue?vue&type=template&id=3f654e28&scoped=true&\"\nimport script from \"./PayPro.vue?vue&type=script&lang=js&\"\nexport * from \"./PayPro.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3f654e28\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ms-5\"},[_c('div',[_c('h2',{staticClass:\"pt-5 pb-5\"},[_vm._v(\"Visa/Master Card\")]),(_vm.message)?_c('h5',{staticClass:\"text-success\"},[_vm._v(_vm._s(_vm.message))]):_vm._e(),(_vm.error)?_c('h5',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.error))]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n    <div class=\"ms-5\">\n        <div>\n            <h2 class=\"pt-5 pb-5\">Visa/Master Card</h2>\n            <h5 v-if=\"message\" class=\"text-success\">{{ message }}</h5>\n            <h5 v-if=\"error\" class=\"text-danger\">{{ error }}</h5>\n        </div>\n    </div>\n</template>\n  \n<script>\nimport { mounted } from \"vue2-dropzone\";\nimport Swal from \"sweetalert2\";\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n    name: \"Safepay\",\n    data() {\n        return {\n            message: null,\n            error: null,\n            paymentData: null,\n            isSubmitForm: false,\n        };\n    },\n    computed: {\n        ...mapState(\"user\", [\"user\"]),\n        ...mapState(\"pricing\", [\"invoicesByUserId\", \"loading\"]),\n        isPostPayment() {\n            let action = this.$route.params.action;\n\n            return action && action.toLowerCase() == \"postPayment\";\n        },\n    },\n    methods: {\n        ...mapActions(\"pricing\", [\"fetchInvoiceByUserId\", \"processPayment\"]),\n    },\n    created() {\n        let order_id = this.$route.query.order_id;\n        let tracker = this.$route.query.tracker;\n        let status = this.$route.query.status;\n\n        if(order_id && tracker) {\n            Swal.fire({\n                title: \"Transaction Successful\",\n                text: `Congratulations! Your payment has been processed successfully. You may navigate to your courses.`,\n                icon: \"success\",\n                button: \"Ok\",\n                allowOutsideClick: false,\n                allowEscapeKey: false,\n            }).then((confirm) => {\n                if (confirm) {\n                    this.$router.push(\"/user/dashboard\");\n                }\n            });\n        }\n        else if(status && status.toLowerCase() == \"cancel\") {\n            Swal.fire({\n                title: \"Transaction Failed\",\n                text: `Payment has been cancelled. You may navigate to your courses.`,\n                icon: \"error\",\n                button: \"Ok\",\n                dangerMode: true,\n                allowOutsideClick: false,\n                allowEscapeKey: false,\n            }).then((confirm) => {\n                if (confirm) {\n                    this.$router.push(\"/user/dashboard\");\n                }\n            });\n        }\n        else {\n            let invoiceID = this.$route.params.id;\n\n            if (invoiceID) {\n                this.message = \"Fetching payment details, please wait...\";\n                let invoice;\n\n                if (this.invoicesByUserId && this.invoicesByUserId[this.user.id]) {\n                    invoice = this.invoicesByUserId[this.user.id].find(\n                        (inv) => inv.id == invoiceID\n                    );\n                } else {\n                    this.fetchInvoiceByUserId(this.user.id).then(() => {\n                        invoice = this.invoicesByUserId[this.user.id].find(\n                            (invoice) => invoice.id == invoiceID\n                        );\n                    });\n                }\n\n                if (invoiceID == invoice.id) {\n                    this.processPayment({\n                        invoiceId: invoiceID,\n                        serviceCode: \"Safepay\",\n                        data: {\n                            redirectUrl: `${window.location.origin}/payment/Safepay`,\n                        },\n                    })\n                        .then((response) => {\n                            if (response && response.data && response.data.checkoutUrl) {\n                                this.error = undefined;\n                                let count = 5;\n\n                                setInterval(() => {\n                                    if (count > 0) {\n                                        count--;\n                                    }\n\n                                    this.message = `You will be redirect to SafePay Payment Gateway in ${count} seconds. Don't reload or leave browser.`;\n\n                                    if (count == 1) {\n                                        clearInterval();\n                                        window.location.href = response.data.checkoutUrl;\n                                    }\n                                }, 1000);\n                            }\n                        })\n                        .catch((error) => {\n                            console.log(error);\n                            this.error =\n                                \"Some error occurred while fetching data from payment gateway.\";\n                        });\n                } else {\n                    this.error = \"Invoice not found.\";\n                }\n            } else {\n                this.error = \"Invalid parameters\";\n            }\n        }\n    },\n};\n</script>\n  \n<style scoped></style>\n  ","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Safepay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Safepay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Safepay.vue?vue&type=template&id=41a2d0b2&scoped=true&\"\nimport script from \"./Safepay.vue?vue&type=script&lang=js&\"\nexport * from \"./Safepay.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"41a2d0b2\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ms-5\"},[_c('div',[_c('h2',{staticClass:\"pt-5 pb-5\"},[_vm._v(\"Visa/Master Card\")]),(_vm.message)?_c('h5',{staticClass:\"text-success\"},[_vm._v(_vm._s(_vm.message))]):_vm._e(),(_vm.error)?_c('h5',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.error))]):_vm._e()]),(_vm.paymentData)?_c('div',[_c('form',{attrs:{\"id\":\"paymentForm\",\"action\":_vm.paymentData.data.url,\"method\":\"POST\"}},[_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"chargetotal\"},domProps:{\"value\":_vm.paymentData.data.chargetotal}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"checkoutoption\"},domProps:{\"value\":_vm.paymentData.data.checkoutoption}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"currency\"},domProps:{\"value\":_vm.paymentData.data.currency}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"hash_algorithm\"},domProps:{\"value\":_vm.paymentData.data.hash_algorithm}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"language\"},domProps:{\"value\":_vm.paymentData.data.language}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"hashExtended\"},domProps:{\"value\":_vm.paymentData.data.hashExtended}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"responseFailURL\"},domProps:{\"value\":_vm.paymentData.data.responseFailURL}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"responseSuccessURL\"},domProps:{\"value\":_vm.paymentData.data.responseSuccessURL}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"storename\"},domProps:{\"value\":_vm.paymentData.data.storename}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"timezone\"},domProps:{\"value\":_vm.paymentData.data.timezone}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"txndatetime\"},domProps:{\"value\":_vm.paymentData.data.txndatetime}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"txntype\"},domProps:{\"value\":_vm.paymentData.data.txntype}})])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"ms-5\">\n    <div>\n      <h2 class=\"pt-5 pb-5\">Visa/Master Card</h2>\n      <h5 v-if=\"message\" class=\"text-success\">{{ message }}</h5>\n      <h5 v-if=\"error\" class=\"text-danger\">{{ error }}</h5>\n    </div>\n\n    <div v-if=\"paymentData\">\n      <form id=\"paymentForm\" :action=\"paymentData.data.url\" method=\"POST\">\n        <input\n          type=\"hidden\"\n          name=\"chargetotal\"\n          :value=\"paymentData.data.chargetotal\"\n        />\n        <input\n          type=\"hidden\"\n          name=\"checkoutoption\"\n          :value=\"paymentData.data.checkoutoption\"\n        />\n        <input\n          type=\"hidden\"\n          name=\"currency\"\n          :value=\"paymentData.data.currency\"\n        />\n        <input\n          type=\"hidden\"\n          name=\"hash_algorithm\"\n          :value=\"paymentData.data.hash_algorithm\"\n        />\n        <input\n          type=\"hidden\"\n          name=\"language\"\n          :value=\"paymentData.data.language\"\n        />\n        <input\n          type=\"hidden\"\n          name=\"hashExtended\"\n          :value=\"paymentData.data.hashExtended\"\n        />\n        <input\n          type=\"hidden\"\n          name=\"responseFailURL\"\n          :value=\"paymentData.data.responseFailURL\"\n        />\n        <input\n          type=\"hidden\"\n          name=\"responseSuccessURL\"\n          :value=\"paymentData.data.responseSuccessURL\"\n        />\n        <input\n          type=\"hidden\"\n          name=\"storename\"\n          :value=\"paymentData.data.storename\"\n        />\n        <input\n          type=\"hidden\"\n          name=\"timezone\"\n          :value=\"paymentData.data.timezone\"\n        />\n        <input\n          type=\"hidden\"\n          name=\"txndatetime\"\n          :value=\"paymentData.data.txndatetime\"\n        />\n        <input type=\"hidden\" name=\"txntype\" :value=\"paymentData.data.txntype\" />\n        <!-- <input\n          style=\"width: 160px; height: 45px\"\n          class=\"mt-3 btn-block-rounded-primary\"\n          type=\"hidden\"\n        /> -->\n      </form>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mounted } from \"vue2-dropzone\";\nimport Swal from \"sweetalert2\";\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n  name: \"ScotiaPaymentGateway\",\n  data() {\n    return {\n      message: null,\n      error: null,\n      paymentData: null,\n      isSubmitForm: false,\n    };\n  },\n  computed: {\n    ...mapState(\"user\", [\"user\"]),\n    ...mapState(\"pricing\", [\"invoicesByUserId\", \"loading\"]),\n    isPostPayment() {\n      let action = this.$route.params.action;\n\n      return action && action.toLowerCase() == \"postPayment\";\n    },\n  },\n  methods: {\n    ...mapActions(\"pricing\", [\"fetchInvoiceByUserId\", \"processPayment\"]),\n  },\n  created() {\n    let action = this.$route.query.action;\n    let status = this.$route.query.status;\n    let msg = this.$route.query.message;\n\n    if (action && action.toLowerCase() == \"postpayment\") {\n      if (msg) {\n        msg = msg.replace(/\\+/g, \"%20\");\n        msg = decodeURIComponent(msg);\n\n        if (status && status.toLowerCase() == \"failed\") {\n          let fail_rc = this.$route.query.fail_rc;\n          let approval_code = this.$route.query.approval_code;\n\n          //this.error = `${fail_rc} - ${msg}. You may navigate to your courses.`;\n          Swal.fire({\n            title: \"Transaction Failed\",\n            text: `${fail_rc} - ${msg}. You may navigate to your courses.`,\n            icon: \"error\",\n            button: \"Ok\",\n            dangerMode: true,\n            allowOutsideClick: false,\n            allowEscapeKey: false,\n          }).then((confirm) => {\n            if (confirm) {\n              this.$router.push(\"/user/dashboard\");\n            }\n          });\n        } else {\n          //this.message = `${msg}. You may navigate to your courses now to access the content.`;\n          Swal.fire({\n            title: \"Transaction Successful\",\n            text: `${msg}. You may navigate to your courses.`,\n            icon: \"success\",\n            button: \"Ok\",\n            allowOutsideClick: false,\n            allowEscapeKey: false,\n          }).then((confirm) => {\n            if (confirm) {\n              this.$router.push(\"/user/dashboard\");\n            }\n          });\n        }\n      }\n    } else {\n      let invoiceID = this.$route.params.id;\n\n      if (invoiceID) {\n        this.message = \"Fetching payment details, please wait...\";\n        let invoice;\n\n        if (this.invoicesByUserId && this.invoicesByUserId[this.user.id]) {\n          invoice = this.invoicesByUserId[this.user.id].find(\n            (inv) => inv.id == invoiceID\n          );\n        } else {\n          this.fetchInvoiceByUserId(this.user.id).then(() => {\n            invoice = this.invoicesByUserId[this.user.id].find(\n              (invoice) => invoice.id == invoiceID\n            );\n          });\n        }\n\n        if (invoiceID == invoice.id) {\n          // var getCurrentTimeZone =\n          //   Intl.DateTimeFormat().resolvedOptions().timeZone;\n          this.processPayment({\n            invoiceId: invoiceID,\n            serviceCode: \"Scotia\",\n            data: {\n              redirectUrl: `${window.location.origin}/payment/Scotia`,\n            },\n            // timezone: getCurrentTimeZone,\n          })\n            .then((response) => {\n              if (response && response.data && response.data.url) {\n                this.error = undefined;\n                this.paymentData = response;\n                //this.paymentData.data.timezone = getCurrentTimeZone;\n                this.paymentData.data.timezone = \"America/Mexico_City\";\n                //this.$refs.form.$el.submit();\n\n                let count = 5;\n\n                setInterval(() => {\n                  count--;\n                  this.message = `You will be redirect to Scotia Payment Gateway in ${count} seconds. Don't reload or leave browser.`;\n\n                  if (count == 1) {\n                    document.getElementById(\"paymentForm\").submit();\n                    clearInterval();\n                  }\n                }, 1000);\n              }\n            })\n            .catch((error) => {\n              console.log(error);\n              this.error =\n                \"Some error occurred while fetching data from payment gateway.\";\n            });\n        } else {\n          this.error = \"Invoice not found.\";\n        }\n      } else {\n        this.error = \"Invalid parameters\";\n      }\n    }\n  },\n};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ScotiaPaymentGateway.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ScotiaPaymentGateway.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScotiaPaymentGateway.vue?vue&type=template&id=40d4984a&scoped=true&\"\nimport script from \"./ScotiaPaymentGateway.vue?vue&type=script&lang=js&\"\nexport * from \"./ScotiaPaymentGateway.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"40d4984a\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ms-5\"},[_c('div',[_c('h2',{staticClass:\"pt-5 pb-5\"},[_vm._v(\"Visa/Master Card\")]),(_vm.message)?_c('h5',{staticClass:\"text-success\"},[_vm._v(_vm._s(_vm.message))]):_vm._e(),(_vm.error)?_c('h5',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.error))]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n    <div class=\"ms-5\">\n        <div>\n            <h2 class=\"pt-5 pb-5\">Visa/Master Card</h2>\n            <h5 v-if=\"message\" class=\"text-success\">{{ message }}</h5>\n            <h5 v-if=\"error\" class=\"text-danger\">{{ error }}</h5>\n        </div>\n    </div>\n</template>\n  \n<script>\nimport { mounted } from \"vue2-dropzone\";\nimport Swal from \"sweetalert2\";\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n    name: \"Stripe\",\n    data() {\n        return {\n            message: null,\n            error: null,\n            paymentData: null,\n            isSubmitForm: false,\n        };\n    },\n    computed: {\n        ...mapState(\"user\", [\"user\"]),\n        ...mapState(\"pricing\", [\"invoicesByUserId\", \"loading\"]),\n        isPostPayment() {\n            let action = this.$route.params.action;\n\n            return action && action.toLowerCase() == \"postPayment\";\n        },\n    },\n    methods: {\n        ...mapActions(\"pricing\", [\"fetchInvoiceByUserId\", \"processPayment\"]),\n    },\n    created() {\n        let action = this.$route.query.Action;\n\n        if(action && action.toLowerCase() == \"completed\") {\n            Swal.fire({\n                title: \"Transaction Successful\",\n                text: `Congratulations! Your payment has been processed successfully. You may navigate to your courses.`,\n                icon: \"success\",\n                button: \"Ok\",\n                allowOutsideClick: false,\n                allowEscapeKey: false,\n            }).then((confirm) => {\n                if (confirm) {\n                    this.$router.push(\"/user/dashboard\");\n                }\n            });\n        }\n        else if(action && action.toLowerCase() == \"cancel\") {\n            Swal.fire({\n                title: \"Transaction Failed\",\n                text: `Payment has been cancelled. You may navigate to your courses.`,\n                icon: \"error\",\n                button: \"Ok\",\n                dangerMode: true,\n                allowOutsideClick: false,\n                allowEscapeKey: false,\n            }).then((confirm) => {\n                if (confirm) {\n                    this.$router.push(\"/user/dashboard\");\n                }\n            });\n        }\n        else {\n            let invoiceID = this.$route.params.id;\n\n            if (invoiceID) {\n                this.message = \"Fetching payment details, please wait...\";\n                let invoice;\n\n                if (this.invoicesByUserId && this.invoicesByUserId[this.user.id]) {\n                    invoice = this.invoicesByUserId[this.user.id].find(\n                        (inv) => inv.id == invoiceID\n                    );\n                } else {\n                    this.fetchInvoiceByUserId(this.user.id).then(() => {\n                        invoice = this.invoicesByUserId[this.user.id].find(\n                            (invoice) => invoice.id == invoiceID\n                        );\n                    });\n                }\n\n                if (invoiceID == invoice.id) {\n                    this.processPayment({\n                        invoiceId: invoiceID,\n                        serviceCode: \"Stripe\",\n                        data: {\n                            redirectUrl: `${window.location.origin}/payment/Stripe/${invoiceID}`,\n                        },\n                    })\n                        .then((response) => {\n                            console.log({response});\n                            if (response && response.data && response.data.paymentUrl) {\n                                this.error = undefined;\n                                let count = 5;\n\n                                setInterval(() => {\n                                    if (count > 0) {\n                                        count--;\n                                    }\n\n                                    this.message = `You will be redirect to Stripe Payment Gateway in ${count} seconds. Don't reload or leave browser.`;\n\n                                    if (count == 1) {\n                                        clearInterval();\n                                        window.location.href = response.data.paymentUrl;\n                                    }\n                                }, 1000);\n                            }\n                        })\n                        .catch((error) => {\n                            console.log(error);\n                            this.error =\n                                \"Some error occurred while fetching data from payment gateway.\";\n                        });\n                } else {\n                    this.error = \"Invoice not found.\";\n                }\n            } else {\n                this.error = \"Invalid parameters\";\n            }\n        }\n    },\n};\n</script>\n  \n<style scoped></style>\n  ","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Stripe.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Stripe.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Stripe.vue?vue&type=template&id=2597feb0&scoped=true&\"\nimport script from \"./Stripe.vue?vue&type=script&lang=js&\"\nexport * from \"./Stripe.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2597feb0\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"activity-card\"},[_c('h4',{staticClass:\"activity-card-heading\"},[_vm._v(\"Last Activities\")]),_c('div',{staticClass:\"activity-content\"},[_c('div',{staticClass:\"accordion accordion-flush\",attrs:{\"id\":\"activityAccordian\"}},_vm._l((1),function(item){return _c('div',{key:item,staticClass:\"accordion-item\"},[_c('h2',{staticClass:\"accordion-header\",attrs:{\"id\":(\"accordian-\" + item)}},[_c('button',{class:[\n\t\t\t\t\t\t\t'accordion-button',\n\t\t\t\t\t\t\t{ collapsed: _vm.activeActivityAccordian != item } ],attrs:{\"type\":\"button\",\"data-bs-toggle\":\"collapse\",\"data-bs-target\":(\"#accordian-collapse-\" + item),\"aria-expanded\":_vm.activeActivityAccordian == item}},[_vm._v(\" Today \")])]),_c('div',{class:[\n\t\t\t\t\t\t'accordion-collapse',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcollapse: _vm.activeActivityAccordian != item,\n\t\t\t\t\t\t\tshow: _vm.activeActivityAccordian == item,\n\t\t\t\t\t\t} ],attrs:{\"id\":(\"accordian-collapse-\" + item),\"data-bs-parent\":\"#activityAccordian\"}},[_c('div',{staticClass:\"accordion-body\"},[_c('div',{staticClass:\"activity-list\"},_vm._l((5),function(item){return _c('div',{key:item,staticClass:\"activity-item\"},[_c('h4',{staticClass:\"activity-title\"},[_vm._v(\" This course class teacher will be continue from Another teacher from next class \")]),_c('p',{staticClass:\"activity-text\"},[_vm._v(\" Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore \")]),_c('a',{staticClass:\"activity-read-more\",attrs:{\"role\":\"button\"}},[_vm._v(\"Read more\")])])}),0)])])])}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<!-- <div class=\"product-activity-container\"> -->\n\t<div class=\"activity-card\">\n\t\t<h4 class=\"activity-card-heading\">Last Activities</h4>\n\t\t<div class=\"activity-content\">\n\t\t\t<div class=\"accordion accordion-flush\" id=\"activityAccordian\">\n\t\t\t\t<div v-for=\"item in 1\" :key=\"item\" class=\"accordion-item\">\n\t\t\t\t\t<h2 class=\"accordion-header\" :id=\"`accordian-${item}`\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'accordion-button',\n\t\t\t\t\t\t\t\t{ collapsed: activeActivityAccordian != item },\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tdata-bs-toggle=\"collapse\"\n\t\t\t\t\t\t\t:data-bs-target=\"`#accordian-collapse-${item}`\"\n\t\t\t\t\t\t\t:aria-expanded=\"activeActivityAccordian == item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tToday\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</h2>\n\t\t\t\t\t<div\n\t\t\t\t\t\t:id=\"`accordian-collapse-${item}`\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'accordion-collapse',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcollapse: activeActivityAccordian != item,\n\t\t\t\t\t\t\t\tshow: activeActivityAccordian == item,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t]\"\n\t\t\t\t\t\tdata-bs-parent=\"#activityAccordian\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"accordion-body\">\n\t\t\t\t\t\t\t<div class=\"activity-list\">\n\t\t\t\t\t\t\t\t<div class=\"activity-item\" v-for=\"item in 5\" :key=\"item\">\n\t\t\t\t\t\t\t\t\t<h4 class=\"activity-title\">\n\t\t\t\t\t\t\t\t\t\tThis course class teacher will be continue from Another\n\t\t\t\t\t\t\t\t\t\tteacher from next class\n\t\t\t\t\t\t\t\t\t</h4>\n\t\t\t\t\t\t\t\t\t<p class=\"activity-text\">\n\t\t\t\t\t\t\t\t\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit, sed\n\t\t\t\t\t\t\t\t\t\tdo eiusmod tempor incididunt ut labore\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<a role=\"button\" class=\"activity-read-more\">Read more</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<!-- </div> -->\n</template>\n\n<script>\nexport default {\n\tname: \"ProductActivityCard\",\n\tdata() {\n\t\treturn {\n\t\t\tactiveActivityAccordian: 1,\n\t\t};\n\t},\n\t// methods: {\n\t// \tchangeTab(e) {\n\t// \t\tthis.activeTab = e.target.id;\n\t// \t},\n\t// },\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.activity-card {\n\t\tmargin-top: -1rem !important;\n\t}\n\n\t.product-activity-container {\n\t\tpadding: 0 !important;\n\t}\n}\n\n.product-activity-container {\n\tdisplay: flex;\n\twidth: 35%;\n\tpadding: 0 0.5rem;\n}\n\n.activity-card {\n\twidth: 100%;\n\tborder: 1px solid #ebebeb;\n\tborder-radius: 8px;\n\t/* padding: 1.5rem 1.5rem 0; */\n\tmargin-top: -9rem;\n\tz-index: 998;\n\tbackground-color: var(--color-white);\n\tbox-shadow: 0 -6px 8px #e0e0e029;\n\theight: fit-content;\n}\n\n.activity-card-heading {\n\tpadding: 1.375rem 1.5rem 0;\n}\n\n.activity-tabs {\n\tborder-radius: 8px 8px 0 0;\n\tbackground-color: #f8f8f8;\n}\n\n.activity-tabs li {\n\twidth: 50%;\n\tfont-weight: 500;\n\tpadding: 1rem;\n}\n\n.activity-tabs li:first-child {\n\tborder-radius: 8px 0 0 0 !important;\n}\n\n.activity-tabs li.active {\n\tborder-radius: 0 8px 0 0;\n\tbackground-color: #ffffff;\n}\n\n.activity-content {\n\tpadding: 0 1.5rem 0;\n\tmax-height: 80vh;\n\toverflow-y: auto;\n\tmargin: 0.5rem 0;\n}\n\n.tab-icon {\n\tfont-size: 1.1rem;\n\tmargin-right: 0.5rem;\n\tpointer-events: none;\n}\n\n.accordion-button {\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.75rem;\n\tpadding: 0.5rem 0;\n}\n\n.accordion-button:not(.collapsed) {\n\tcolor: #8b8b8b !important;\n\tbackground-color: transparent !important;\n\tbox-shadow: none !important;\n}\n\n.accordion-button:not(.collapsed)::after {\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%707070'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\") !important;\n}\n.accordion-body {\n\tpadding: 1rem 0;\n}\n\n.activity-item {\n\tborder: 1px solid #e5e5e5;\n\tborder-radius: 8px;\n\tbackground-color: #fafafa;\n\tbox-shadow: 0 6px 8px #e0e0e029;\n\tpadding: 1.25rem;\n\tmargin-bottom: 1.5rem;\n}\n.activity-item:last-child {\n\tmargin-bottom: 0;\n}\n\n.activity-title {\n\tfont-size: 1.125rem;\n\tcolor: #000;\n\tfont-weight: 500;\n\twidth: 100%;\n}\n\n.activity-text {\n\tfont-size: 1rem;\n\tcolor: #4a4a4a;\n\tline-height: 1.5rem;\n\tfont-weight: normal;\n\tmargin-bottom: 0.5rem;\n}\n\n.activity-read-more {\n\tfont-size: 0.875rem;\n\tfont-weight: 450;\n\tcolor: #ff0000;\n\ttext-decoration: none;\n}\n\n::-webkit-scrollbar {\n\twidth: 6px;\n\theight: 4px;\n}\n\n::-webkit-scrollbar-track {\n\tbackground: #ebebeb;\n}\n\n::-webkit-scrollbar-thumb {\n\tbackground: #000000;\n\tborder-radius: 1rem;\n}\n\n.notification-badge {\n\tposition: relative;\n\ttop: -0.75rem;\n\tright: 0.3rem;\n\tfont-size: 0.7rem;\n\tline-height: 1;\n\tbackground-color: var(--color-red);\n\tdisplay: inline-block;\n\tpadding: 0.2rem 0.3rem;\n\tborder-radius: 5rem;\n\tfont-weight: 500;\n\tcolor: #ffffff;\n}\n\n/* .live-class-item {\n\twidth: 100%;\n\tborder: 2px solid var(--color-gray);\n\tborder-radius: 4px;\n\tpadding: 1rem;\n\tmargin-bottom: 1rem;\n}\n\n.live-class-tag {\n\tborder-radius: 4px;\n\tbackground-color: var(--color-red);\n\tpadding: 0.1rem 0.5rem;\n\tcolor: var(--color-white);\n\tfont-size: 0.65rem;\n\ttext-transform: uppercase;\n}\n\n.class-timings {\n\tcolor: var(--color-dark-gray);\n\tfont-size: 0.7rem;\n\tmargin-left: auto;\n\tdisplay: inline-block;\n}\n\n.live-class-title {\n\tfont-size: 1rem;\n\tpadding: 0.5rem 0;\n\tmargin: 0;\n\tmargin-top: 0.5rem;\n\tfont-weight: bold;\n}\n\n.join-btn {\n\ttext-transform: uppercase;\n\ttext-decoration: none;\n\tfont-size: 0.75rem;\n\tmargin: 0;\n\tpadding: 0.2rem 0.75rem;\n\tcolor: white;\n\tbackground-color: var(--color-red);\n\tborder-radius: 1rem;\n\tmargin-left: 0.5rem;\n\tfont-weight: 500;\n} */\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductActivityCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductActivityCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductActivityCard.vue?vue&type=template&id=550ddce2&scoped=true&\"\nimport script from \"./ProductActivityCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductActivityCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductActivityCard.vue?vue&type=style&index=0&id=550ddce2&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"550ddce2\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"submit\":_vm.searchCourses}},[_c('div',{staticClass:\"container flexRow gap-0 set-items-center\"},[_c('div',{staticClass:\"container flex-column dropdownStyling\"},[_c('div',[_vm._m(0),_c('div',{staticClass:\"collapse\",attrs:{\"id\":\"Course\"}},[_c('b-form-radio-group',{attrs:{\"id\":\"radio-group-2\",\"name\":\"course\"},model:{value:(_vm.courseSelected),callback:function ($$v) {_vm.courseSelected=$$v},expression:\"courseSelected\"}},_vm._l((_vm.courseList),function(course){return _c('b-form-radio',{key:course.id,staticClass:\"d-flex gap-2 setLiStyle\",attrs:{\"value\":course.id}},[_vm._v(_vm._s(course.title))])}),1)],1)]),_c('div',[_vm._m(1),_c('div',{staticClass:\"collapse\",attrs:{\"id\":\"Qualification\"}},[_c('b-form-radio-group',{attrs:{\"id\":\"radio-group-2\",\"name\":\"category\"},model:{value:(_vm.categorySelected),callback:function ($$v) {_vm.categorySelected=$$v},expression:\"categorySelected\"}},_vm._l((_vm.categoryList),function(category){return _c('b-form-radio',{key:category.id,staticClass:\"d-flex gap-2 setLiStyle\",attrs:{\"value\":category.id}},[_vm._v(_vm._s(category.title))])}),1)],1)])])]),_c('div',{staticClass:\"d-flex gap-3 mt-4\"},[_c('button',{staticClass:\"border-btn flex-grow-1\",on:{\"click\":_vm.clearFilters}},[_vm._v(\" Clear \")]),_c('button',{staticClass:\"primary-btn flex-grow-1\",attrs:{\"disabled\":_vm.loading,\"type\":\"submit\"}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Search \")],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"pStyle\"},[_c('a',{staticClass:\"buttonStyling\",staticStyle:{\"border-top-right-radius\":\"5px\",\"border-top-left-radius\":\"5px\"},attrs:{\"data-bs-toggle\":\"collapse\",\"href\":\"#Course\",\"role\":\"button\",\"aria-expanded\":\"false\",\"aria-controls\":\"Course\"}},[_vm._v(\" Course \"),_c('i',{staticClass:\"fas fa-angle-down\"})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"pStyle\"},[_c('a',{staticClass:\"buttonStyling\",staticStyle:{\"border-top-right-radius\":\"5px\",\"border-top-left-radius\":\"5px\"},attrs:{\"data-bs-toggle\":\"collapse\",\"href\":\"#Qualification\",\"role\":\"button\",\"aria-expanded\":\"false\",\"aria-controls\":\"Qualification\"}},[_vm._v(\" Qualification \"),_c('i',{staticClass:\"fas fa-angle-down\"})])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<form @submit=\"searchCourses\">\n\t\t<div class=\"container flexRow gap-0 set-items-center\">\n\t\t\t<div class=\"container flex-column dropdownStyling\">\n\t\t\t\t<div>\n\t\t\t\t\t<p class=\"pStyle\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tclass=\"buttonStyling\"\n\t\t\t\t\t\t\tdata-bs-toggle=\"collapse\"\n\t\t\t\t\t\t\thref=\"#Course\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\taria-controls=\"Course\"\n\t\t\t\t\t\t\tstyle=\"border-top-right-radius: 5px; border-top-left-radius: 5px\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tCourse\n\t\t\t\t\t\t\t<i class=\"fas fa-angle-down\"></i>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div class=\"collapse\" id=\"Course\">\n\t\t\t\t\t\t<b-form-radio-group\n\t\t\t\t\t\t\tid=\"radio-group-2\"\n\t\t\t\t\t\t\tv-model=\"courseSelected\"\n\t\t\t\t\t\t\tname=\"course\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<b-form-radio\n\t\t\t\t\t\t\t\tclass=\"d-flex gap-2 setLiStyle\"\n\t\t\t\t\t\t\t\tv-for=\"course in courseList\"\n\t\t\t\t\t\t\t\t:key=\"course.id\"\n\t\t\t\t\t\t\t\t:value=\"course.id\"\n\t\t\t\t\t\t\t\t>{{ course.title }}</b-form-radio\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</b-form-radio-group>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<p class=\"pStyle\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tclass=\"buttonStyling\"\n\t\t\t\t\t\t\tdata-bs-toggle=\"collapse\"\n\t\t\t\t\t\t\thref=\"#Qualification\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\taria-controls=\"Qualification\"\n\t\t\t\t\t\t\tstyle=\"border-top-right-radius: 5px; border-top-left-radius: 5px\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tQualification\n\t\t\t\t\t\t\t<i class=\"fas fa-angle-down\"></i>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div class=\"collapse\" id=\"Qualification\">\n\t\t\t\t\t\t<b-form-radio-group\n\t\t\t\t\t\t\tid=\"radio-group-2\"\n\t\t\t\t\t\t\tv-model=\"categorySelected\"\n\t\t\t\t\t\t\tname=\"category\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<b-form-radio\n\t\t\t\t\t\t\t\tclass=\"d-flex gap-2 setLiStyle\"\n\t\t\t\t\t\t\t\tv-for=\"category in categoryList\"\n\t\t\t\t\t\t\t\t:key=\"category.id\"\n\t\t\t\t\t\t\t\t:value=\"category.id\"\n\t\t\t\t\t\t\t\t>{{ category.title }}</b-form-radio\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</b-form-radio-group>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n        <!--\n\t\t\t\t<div>\n\t\t\t\t\t<p class=\"pStyle\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tclass=\"buttonStyling\"\n\t\t\t\t\t\t\tdata-bs-toggle=\"collapse\"\n\t\t\t\t\t\t\thref=\"#category2\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\taria-controls=\"category2\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tTutor\n\t\t\t\t\t\t\t<i class=\"fas fa-angle-down\"></i>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div class=\"collapse\" id=\"category2\">\n\t\t\t\t\t\t<ul class=\"ulStyle\">\n\t\t\t\t\t\t\t<li class=\"setLiStyle\">\n\t\t\t\t\t\t\t\t<form action=\"\" class=\"searchBoxForm\" style=\"margin-left: 0px\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tclass=\"form-control me-2\"\n\t\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"ACCA\"\n\t\t\t\t\t\t\t\t\t\taria-label=\"Search\"\n\t\t\t\t\t\t\t\t\t\tstyle=\"padding: 10px; width: 16rem; border-radius: 0.25rem\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<i class=\"fa fa-search searchIcon\" style=\"color: #a7a9ac\"></i>\n\t\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li class=\"setLiStyle\">\n\t\t\t\t\t\t\t\t<div class=\"form-check\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\t\tvalue=\"\"\n\t\t\t\t\t\t\t\t\t\tid=\"flexCheckDefault\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"flexCheckDefault\">\n\t\t\t\t\t\t\t\t\t\tHamza Abdul Haq\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li class=\"setLiStyle\">\n\t\t\t\t\t\t\t\t<div class=\"form-check\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\t\tvalue=\"\"\n\t\t\t\t\t\t\t\t\t\tid=\"flexCheckDefault\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"flexCheckDefault\">\n\t\t\t\t\t\t\t\t\t\tShahzaib Paracha\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li class=\"setLiStyle\">\n\t\t\t\t\t\t\t\t<div class=\"form-check\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\t\tvalue=\"\"\n\t\t\t\t\t\t\t\t\t\tid=\"flexCheckDefault\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"flexCheckDefault\">\n\t\t\t\t\t\t\t\t\t\tAlber Afzal Khan\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<p class=\"pStyle\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tclass=\"buttonStyling\"\n\t\t\t\t\t\t\tdata-bs-toggle=\"collapse\"\n\t\t\t\t\t\t\thref=\"#category3\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\taria-controls=\"category3\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tDate Uploaded\n\t\t\t\t\t\t\t<i class=\"fas fa-angle-down\"></i>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div class=\"collapse\" id=\"category3\">\n\t\t\t\t\t\t<ul class=\"ulStyle\">\n\t\t\t\t\t\t\t<li class=\"setLiStyle\">Category 2</li>\n\t\t\t\t\t\t\t<li class=\"setLiStyle\">Category 1</li>\n\t\t\t\t\t\t\t<li class=\"setLiStyle\">Category 3</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<p class=\"pStyle\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tclass=\"buttonStyling\"\n\t\t\t\t\t\t\tdata-bs-toggle=\"collapse\"\n\t\t\t\t\t\t\thref=\"#category4\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\taria-controls=\"category4\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tRating\n\t\t\t\t\t\t\t<i class=\"fas fa-angle-down\"></i>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div class=\"collapse\" id=\"category4\">\n\t\t\t\t\t\t<ul class=\"ulStyle\">\n\t\t\t\t\t\t\t<li class=\"setLiStyle\">\n\t\t\t\t\t\t\t\t<div class=\"setFlex\">\n\t\t\t\t\t\t\t\t\t<div class=\"form-check\">\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\t\tname=\"flexRadioDefault\"\n\t\t\t\t\t\t\t\t\t\t\tid=\"flexRadioDefault1\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"flexRadioDefault1\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-star checked\"></span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-star checked\"></span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-star checked\"></span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-star checked\"></span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-star checked\"></span>\n\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<p class=\"pRating\">4.5 & up</p>\n\t\t\t\t\t\t\t\t\t\t<p style=\"display: inline-block\">(4960)</p>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li class=\"setLiStyle\">\n\t\t\t\t\t\t\t\t<div class=\"setFlex\">\n\t\t\t\t\t\t\t\t\t<div class=\"form-check\">\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\tclass=\"form-check-input\"\n\t\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\t\tname=\"flexRadioDefault\"\n\t\t\t\t\t\t\t\t\t\t\tid=\"flexRadioDefault1\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"flexRadioDefault1\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-star checked\"></span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-star checked\"></span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-star checked\"></span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-star checked\"></span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-star checked\"></span>\n\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<p class=\"pRating\">4.5 & up</p>\n\t\t\t\t\t\t\t\t\t\t<p style=\"display: inline-block\">(4960)</p>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"borderBottomAdjustment\">\n\t\t\t\t\t<p class=\"pStyle\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tclass=\"buttonStyling\"\n\t\t\t\t\t\t\tdata-bs-toggle=\"collapse\"\n\t\t\t\t\t\t\thref=\"#category5\"\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\taria-controls=\"category5\"\n\t\t\t\t\t\t\tstyle=\"\n\t\t\t\t\t\t\t\tborder-bottom-right-radius: 5px;\n\t\t\t\t\t\t\t\tborder-bottom-left-radius: 5px;\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tPricing\n\t\t\t\t\t\t\t<i class=\"fas fa-angle-down\"></i>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div class=\"collapse\" id=\"category5\">\n\t\t\t\t\t\t<ul class=\"ulStyle\">\n\t\t\t\t\t\t\t<li class=\"setLiStyle\">Category 2</li>\n\t\t\t\t\t\t\t<li class=\"setLiStyle\">Category 1</li>\n\t\t\t\t\t\t\t<li class=\"setLiStyle\">Category 3</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n        -->\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"d-flex gap-3 mt-4\">\n\t\t\t<button @click=\"clearFilters\" class=\"border-btn flex-grow-1\">\n\t\t\t\t<!-- <b-spinner v-if=\"loading\" small></b-spinner> -->\n\t\t\t\tClear\n\t\t\t</button>\n\t\t\t<button :disabled=\"loading\" class=\"primary-btn flex-grow-1\" type=\"submit\">\n\t\t\t\t<b-spinner v-if=\"loading\" small></b-spinner>\n\t\t\t\tSearch\n\t\t\t</button>\n\t\t</div>\n\t</form>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"ProductAdvancedFilters\",\n\tdata() {\n\t\treturn {\n\t\t\ttutorsList: null,\n\t\t\tcourseList: null,\n\t\t\tcategoryList: null,\n\t\t\ttutorSelected: [],\n\t\t\tratingSelected: 0,\n\t\t\tcourseSelected: null,\n\t\t\tcategorySelected: null,\n\t\t\tsearchText: \"\",\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchTrainersList\"]),\n\t\t...mapActions(\"product\", [\"fetchAllProducts\"]),\n\t\t...mapActions(\"category\", [\"fetchCategories\"]),\n\t\t...mapActions(\"productVariant\", [\"fetchProductVariants\"]),\n\n\t\tsearchCourses(e) {\n\t\t\te.preventDefault();\n\n      let queryParams = this.filters || {};\n\n      if(this.categorySelected) {\n        queryParams['categoryId'] = this.categorySelected;\n      }\n\n      if(this.courseSelected) {\n        queryParams['productId'] = this.courseSelected;\n      }\n\n      this.$router.push({ path: 'search', query: queryParams});\n\n\n\t\t\t// var filterObject = {};\n\t\t\t// if (this.courseSelected) {\n\t\t\t// \tfilterObject.ProductID = this.courseSelected;\n\t\t\t// }\n\t\t\t// if (this.categorySelected) {\n\t\t\t// \tfilterObject.CategoryID = this.categorySelected;\n\t\t\t// }\n\t\t\t// this.fetchProductVariants(filterObject).then((res) => {\n\t\t\t// \tdocument.body.scrollTop = 0; // For Safari\n\t\t\t// \tdocument.documentElement.scrollTop = 0;\n\t\t\t// });\n\t\t},\n\t\tclearFilters(e) {\n\t\t\te.preventDefault();\n\t\t\tthis.courseSelected = null;\n\t\t\tthis.categorySelected = null;\n\n      let queryParams = this.filters || {}; // retain productTitle filter\n      queryParams['categoryId'] = undefined;\n      queryParams['productId'] = undefined;\n\n      this.$router.push({ path: 'search', query: queryParams });\n\n\t\t\t// this.fetchProductVariants().then((res) => {\n\t\t\t// \tdocument.body.scrollTop = 0; // For Safari\n\t\t\t// \tdocument.documentElement.scrollTop = 0;\n\t\t\t// });\n\t\t},\n    loadFilterValuesFromQueryString(query) {\n      this.categorySelected = null;\n      this.courseSelected = null;\n\n      if(query) {\n        if(query.categoryId) {\n          this.categorySelected = query.categoryId;\n        }\n\n        if(query.productId) {\n          this.courseSelected = query.productId;\n        }\n      }\n    }\n\n\t},\n\tcreated() {\n\t\tthis.fetchCategories().then(() => {\n\t\t\tthis.categoryList = this.categories;\n\t\t});\n\t\tthis.fetchAllProducts().then(() => {\n\t\t\tconsole.log(\"products fetched\");\n\t\t\tthis.courseList = Object.values(this.products.items);\n\t\t});\n\n    this.loadFilterValuesFromQueryString(this.$route.query);\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"trainers\"]),\n\t\t...mapState(\"product\", [\"products\"]),\n\t\t...mapState(\"category\", [\"categories\"]),\n\t\t...mapState(\"productVariant\", [\"loading\"]),\n\t},\n  watch: {\n    filters: function() {\n      this.loadFilterValuesFromQueryString();\n    }\n  }\n};\n</script>\n\n<style></style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductAdvancedFilters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductAdvancedFilters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductAdvancedFilters.vue?vue&type=template&id=6fa352d1&\"\nimport script from \"./ProductAdvancedFilters.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductAdvancedFilters.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container product-category-container\"},[_vm._m(0),_c('div',{staticClass:\"product-category-tabs\"},[(_vm.categories && _vm.categories.length > 1)?_c('div',{class:['category-tab', { active: _vm.categoryActive == '0' }],on:{\"click\":function($event){return _vm.changeCategory('0')}}},[_vm._v(\" All Courses \")]):_vm._e(),_vm._l((_vm.categories),function(category){return _c('div',{key:category.id,class:['category-tab', { active: _vm.categoryActive == category.id }],on:{\"click\":function($event){return _vm.changeCategory(category.id)}}},[_vm._v(\" \"+_vm._s(category.title)+\" \")])})],2),_c('div',{class:['category-tab-body', { 'first-tab': _vm.categoryActive == 0 }]},[(_vm.filterProductsByCategory)?_c('ProductList',{attrs:{\"viewMode\":\"carousel\",\"productListData\":_vm.filterProductsByCategory}}):_vm._e()],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section-heading-container\"},[_c('h1',{staticClass:\"section-heading\"},[_vm._v(\"Online Courses\")]),_c('h5',{staticClass:\"section-subheading\"},[_vm._v(\" Grab the best courses in economical prices \")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"container product-category-container\">\n\t\t<div class=\"section-heading-container\">\n\t\t\t<h1 class=\"section-heading\">Online Courses</h1>\n\t\t\t<h5 class=\"section-subheading\">\n\t\t\t\tGrab the best courses in economical prices\n\t\t\t</h5>\n\t\t</div>\n\t\t<div class=\"product-category-tabs\">\n\t\t\t<div\n\t\t\t\tv-if=\"categories && categories.length > 1\"\n\t\t\t\t@click=\"changeCategory('0')\"\n\t\t\t\t:class=\"['category-tab', { active: categoryActive == '0' }]\"\n\t\t\t>\n\t\t\t\tAll Courses\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t@click=\"changeCategory(category.id)\"\n\t\t\t\tv-for=\"category in categories\"\n\t\t\t\t:key=\"category.id\"\n\t\t\t\t:class=\"['category-tab', { active: categoryActive == category.id }]\"\n\t\t\t>\n\t\t\t\t{{ category.title }}\n\t\t\t</div>\n\t\t</div>\n\t\t<div :class=\"['category-tab-body', { 'first-tab': categoryActive == 0 }]\">\n\t\t\t<ProductList\n\t\t\t\tv-if=\"filterProductsByCategory\"\n\t\t\t\tviewMode=\"carousel\"\n\t\t\t\t:productListData=\"filterProductsByCategory\"\n\t\t\t/>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState, mapGetters } from \"vuex\";\nimport ProductList from \"./ProductList.vue\";\nexport default {\n\tname: \"ProductCategoryTabs\",\n\tdata() {\n\t\treturn {\n\t\t\tcategoryActive: \"0\",\n\t\t};\n\t},\n\tcomponents: { ProductList },\n\tcomputed: {\n\t\t...mapState(\"category\", [\"categories\", \"loading\"]),\n\t\t...mapGetters(\"productVariant\", [\"allProductVariants\"]),\n\t\t...mapState(\"productVariant\", [\"productVariantsByCategory\"]),\n\t\tfilterCategories() {\n\t\t\tconst filtered = this.categories?.filter((category) => {\n\t\t\t\tif (category.isVisible) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.productVariantsByCategory[category.id] &&\n\t\t\t\t\t\t!this.productVariantsByCategory[category.id].length\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\treturn category;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn filtered;\n\t\t},\n\t\tfilterProductsByCategory() {\n\t\t\tvar filtered = [];\n\t\t\tif (this.categoryActive == \"0\") {\n\t\t\t\tvar allVariants = Object.values(this.allProductVariants);\n\t\t\t\tfiltered = allVariants.filter((variant) => {\n\t\t\t\t\t// console.log(variant);\n\t\t\t\t\tif (this.carouselType.toLowerCase() == \"featured\") {\n\t\t\t\t\t\tif (!variant.isFeatured) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (\n\t\t\t\t\t\tvariant.status.toLowerCase() != \"private\" &&\n\t\t\t\t\t\tvariant.status.toLowerCase() != \"draft\"\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn variant;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t// console.log(filtered);\n\t\t\t\t// return filtered;\n\t\t\t} else if (\n\t\t\t\tthis.productVariantsByCategory &&\n\t\t\t\tthis.productVariantsByCategory[this.categoryActive]\n\t\t\t) {\n\t\t\t\tfiltered = this.productVariantsByCategory[this.categoryActive].filter(\n\t\t\t\t\t(variant) => {\n\t\t\t\t\t\tif (this.carouselType.toLowerCase() == \"featured\") {\n\t\t\t\t\t\t\tif (!variant.isFeatured) {\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tvariant.status.toLowerCase() != \"private\" &&\n\t\t\t\t\t\t\tvariant.status.toLowerCase() != \"draft\"\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn variant;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t\t//filters productVariants according to category\n\t\t\t// const filtered = { length: 0, items: {} };\n\t\t\t// for (var product in this.allProductVariants.items) {\n\t\t\t// \tvar found = false;\n\t\t\t// \tconst productCategories = product.categories;\n\t\t\t// \tproductCategories.map((category) => {\n\t\t\t// \t\tif (category.id == this.categoryActive) {\n\t\t\t// \t\t\tfound = true;\n\t\t\t// \t\t}\n\t\t\t// \t});\n\t\t\t// \tif (found) {\n\t\t\t// \t\tfiltered.items[product.id] = product;\n\t\t\t// \t\tfiltered.length++;\n\t\t\t// \t}\n\t\t\t// }\n\n\t\t\t// if (filtered.length !== 0) {\n\t\t\t// \treturn filtered;\n\t\t\t// }\n\t\t\treturn filtered;\n\t\t},\n\t},\n\tprops: { carouselType: { type: String, default: \"\" } },\n\tmethods: {\n\t\t...mapActions(\"category\", [\"fetchCategories\"]),\n\t\t...mapActions(\"productVariant\", [\n\t\t\t\"fetchProductVariants\",\n\t\t\t\"getProductVariantByCategoryId\",\n\t\t]),\n\t\tchangeCategory(id) {\n\t\t\tthis.categoryActive = id;\n\t\t},\n\t},\n\tcreated() {\n\t\t// This is commented since the category were already fetched and are in state\n\t\t//this.fetchCategories().then(() => {});\n\t\t\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\twindow.postMessage({\n\t\t\t\tevent: \"product-carousel-loaded\",\n\t\t\t\tdata: { type: this.carouselType },\n\t\t\t});\n\t\t});\n\t},\n\twatch: {\n\t\tcategoryActive: function () {\n\t\t\tif (\n\t\t\t\t!this.productVariantsByCategory[this.categoryActive] &&\n\t\t\t\tthis.categoryActive != \"0\" && this.categoryActive != null\n\t\t\t) {\n\t\t\t\tthis.getProductVariantByCategoryId(this.categoryActive).then(() => {\n\t\t\t\t\tconsole.log(\"product variants by category fetched\");\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.category-tab {\n\t\tborder: none !important;\n\t\tborder-bottom: 2px solid transparent !important;\n\t}\n\n\t.category-tab-body {\n\t\tborder: none !important;\n\t\tpadding: 0 !important;\n\t}\n\n\t.category-tab.active {\n\t\tborder-bottom: 2px solid var(--primary-color) !important;\n\t}\n}\n\n@media screen and (max-width: 480px) {\n\t.section-heading {\n\t\tfont-size: 2rem !important;\n\t}\n\n\t.section-subheading {\n\t\tfont-size: 1rem !important;\n\t}\n\t.section-heading-container {\n\t\tmargin: 2rem 0 !important;\n\t}\n}\n\n.section-heading {\n\tfont-weight: 500;\n\tfont-size: 2.75rem;\n\tline-height: 1.3;\n\tcolor: var(--secondary-color);\n\tmargin-bottom: 0;\n\tletter-spacing: -0.45px;\n}\n\n.section-subheading {\n\tfont-size: 1.375rem;\n\tcolor: #898989;\n\tfont-weight: normal;\n}\n\n.section-heading-container {\n\tmargin: 4rem 0 3.375rem;\n}\n\n.product-category-tabs {\n\tdisplay: flex;\n\toverflow-x: hidden;\n\toverflow-y: visible;\n\t/* z-index: 100; */\n\tposition: relative;\n\ttop: 0.063rem;\n}\n\n.product-category-tabs:hover {\n\toverflow-x: overlay;\n}\n\n.category-tab {\n\tpadding: 1.25rem 0.75rem;\n\tcolor: #898989;\n\tborder-radius: 8px 8px 0 0;\n\tfont-weight: 500;\n\tmin-width: fit-content;\n\ttext-align: center;\n\tborder: 1px solid transparent;\n\tcursor: pointer;\n}\n\n.category-tab.active {\n\tborder: 1px solid #a7a9ac;\n\tborder-bottom: 2px solid #ffffff;\n\t/* border-bottom-color: #ffffff; */\n\tposition: relative;\n\tcolor: #000000;\n\tfont-weight: bold;\n}\n\n.category-tab-body {\n\tpadding: 2.125rem 1.5rem;\n\tborder: 1px solid #a7a9ac;\n\tborder-radius: 8px;\n\t/* position: relative;\n\ttop: -1px; */\n}\n\n.category-tab-body.first-tab {\n\tborder-top-left-radius: 0;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductCategoryTabs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductCategoryTabs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductCategoryTabs.vue?vue&type=template&id=69297a72&scoped=true&\"\nimport script from \"./ProductCategoryTabs.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductCategoryTabs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductCategoryTabs.vue?vue&type=style&index=0&id=69297a72&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"69297a72\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"product-content-page-container\"},[(_vm.viewMode != 'sidebar')?_c('div',{staticClass:\"col-lg-8 col-sm-12 product-content-container\"},[(!_vm.loading && _vm.productVariantData != null)?_c('div',[(!_vm.purchased && _vm.productVariantData.objectives != null)?_c('ProductDetailsTopCard',{attrs:{\"listData\":_vm.productVariantData.objectives}}):_vm._e(),(_vm.productVariantData.productVariantItems.length > 0)?_c('ProductContentTabs',{attrs:{\"productVariantData\":_vm.productVariantData,\"purchased\":_vm.purchased,\"viewMode\":_vm.viewMode}}):_vm._e(),(_vm.productVariantData.productVariantItems.length == 0)?_c('div',{staticClass:\"no-data p-5\"},[_vm._v(\" No content found \")]):_vm._e()],1):_c('div',{staticClass:\"skeleton\"},[_c('div',{staticClass:\"skeleton-tabs d-flex\"},[_c('b-skeleton',{staticClass:\"m-3\",attrs:{\"type\":\"button\",\"width\":\"15%\",\"height\":\"50px\"}}),_c('b-skeleton',{staticClass:\"m-3\",attrs:{\"type\":\"button\",\"width\":\"15%\",\"height\":\"50px\"}}),_c('b-skeleton',{staticClass:\"m-3\",attrs:{\"type\":\"button\",\"width\":\"15%\",\"height\":\"50px\"}}),_c('b-skeleton',{staticClass:\"m-3\",attrs:{\"type\":\"button\",\"width\":\"15%\",\"height\":\"50px\"}})],1),_c('div',{staticClass:\"skeleton-body mt-2 p-3\"},[_c('b-skeleton',{attrs:{\"width\":\"20%\"}}),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"type\":\"input\",\"height\":\"56px\",\"width\":\"100%\"}}),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"type\":\"input\",\"height\":\"56px\",\"width\":\"100%\"}}),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"type\":\"input\",\"height\":\"56px\",\"width\":\"100%\"}})],1)])]):_vm._e(),(_vm.viewMode != 'sidebar')?_c('div',{staticClass:\"product-details-card-container col-lg-4 col-sm-12\"},[_vm._t(\"default\")],2):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"container\">\n    <div class=\"product-content-page-container\">\n      <div\n        v-if=\"viewMode != 'sidebar'\"\n        class=\"col-lg-8 col-sm-12 product-content-container\"\n      >\n        <div v-if=\"!loading && productVariantData != null\">\n          <ProductDetailsTopCard\n            v-if=\"!purchased && productVariantData.objectives != null\"\n            :listData=\"productVariantData.objectives\"\n          />\n          <ProductContentTabs\n            v-if=\"productVariantData.productVariantItems.length > 0\"\n            :productVariantData=\"productVariantData\"\n            :purchased=\"purchased\"\n            :viewMode=\"viewMode\"\n          />\n          <div\n            v-if=\"productVariantData.productVariantItems.length == 0\"\n            class=\"no-data p-5\"\n          >\n            No content found\n          </div>\n        </div>\n        <div v-else class=\"skeleton\">\n          <div class=\"skeleton-tabs d-flex\">\n            <b-skeleton\n              type=\"button\"\n              class=\"m-3\"\n              width=\"15%\"\n              height=\"50px\"\n            ></b-skeleton>\n            <b-skeleton\n              type=\"button\"\n              class=\"m-3\"\n              width=\"15%\"\n              height=\"50px\"\n            ></b-skeleton>\n            <b-skeleton\n              type=\"button\"\n              class=\"m-3\"\n              width=\"15%\"\n              height=\"50px\"\n            ></b-skeleton>\n            <b-skeleton\n              type=\"button\"\n              class=\"m-3\"\n              width=\"15%\"\n              height=\"50px\"\n            ></b-skeleton>\n          </div>\n          <div class=\"skeleton-body mt-2 p-3\">\n            <b-skeleton width=\"20%\"></b-skeleton>\n            <b-skeleton\n              class=\"mt-3\"\n              type=\"input\"\n              height=\"56px\"\n              width=\"100%\"\n            ></b-skeleton>\n            <b-skeleton\n              class=\"mt-3\"\n              type=\"input\"\n              height=\"56px\"\n              width=\"100%\"\n            ></b-skeleton>\n            <b-skeleton\n              class=\"mt-3\"\n              type=\"input\"\n              height=\"56px\"\n              width=\"100%\"\n            ></b-skeleton>\n          </div>\n        </div>\n      </div>\n\n      <div\n        v-if=\"viewMode != 'sidebar'\"\n        class=\"product-details-card-container col-lg-4 col-sm-12\"\n      >\n        <slot></slot>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapState } from \"vuex\";\nimport ProductContentSidebar from \"./ProductContentSidebar.vue\";\nimport ProductContentTabs from \"./ProductContentTabs.vue\";\nimport ProductDetailsTopCard from \"./ProductDetailsTopCard.vue\";\n\nexport default {\n  name: \"ProductContent\",\n  props: {\n    purchased: Boolean,\n    viewMode: String,\n    productVariantData: Object,\n  },\n  components: {\n    ProductContentSidebar,\n    ProductContentTabs,\n    ProductDetailsTopCard,\n  },\n\n  computed: {\n    ...mapState(\"productVariant\", [\"loading\"]),\n  },\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n  /* .product-content-container {\n\t\tpadding: 3rem 1rem !important;\n\t} */\n  .skeleton-tabs {\n    display: none !important;\n  }\n  .skeleton-body {\n    width: 100% !important;\n  }\n  .product-content-page-container {\n    flex-direction: column-reverse !important;\n    padding: 0 0.25rem;\n    margin-top: 2rem;\n  }\n  .product-details-card-container {\n    min-height: fit-content !important;\n  }\n}\n\n.product-content-container,\n.product-details-card-container {\n  min-height: 50vh;\n  padding: 0;\n}\n\n.product-content-page-container {\n  display: flex;\n  flex-direction: row;\n  margin-top: 2rem;\n}\n\n.no-data {\n  text-align: center;\n  padding: 2rem;\n  font-weight: 500;\n  color: var(--color-gray);\n  font-size: 1.5rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContent.vue?vue&type=template&id=7bac5458&scoped=true&\"\nimport script from \"./ProductContent.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContent.vue?vue&type=style&index=0&id=7bac5458&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7bac5458\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{class:{\n\t\tactive: _vm.accordianActive == _vm.section.id,\n\t\t'card-margin': _vm.viewMode != 'sidebar' && _vm.viewMode != 'nested',\n\t},attrs:{\"no-body\":\"\"}},[_c('b-card-header',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:('accordion-' + _vm.section.id),expression:\"'accordion-' + section.id\"}],staticClass:\"d-flex\",attrs:{\"header-tag\":\"header\",\"role\":\"tab\",\"id\":_vm.section.id},on:{\"click\":_vm.accordianClick}},[(_vm.viewMode == 'sidebar' || _vm.viewMode == 'nested')?_c('span',{staticClass:\"header-icon\",domProps:{\"innerHTML\":_vm._s(_vm.headerIcon)}}):_c('span',{staticClass:\"header-icon\"},[_vm._v(_vm._s(_vm.headerIcon))]),_vm._v(_vm._s(_vm.section.title)+\" \")]),_c('b-collapse',{attrs:{\"id\":'accordion-' + _vm.section.id,\"accordion\":_vm.viewMode == 'nested' ? \"nested-accordion\" : \"main-accordion\",\"role\":\"tabpanel\",\"visible\":_vm.isFirstAccordian || _vm.isExpandedAccordian,\"appear\":\"\"}},[(_vm.contentList)?_c('ProductContentList',{attrs:{\"contentData\":_vm.contentData,\"purchased\":_vm.purchased,\"viewMode\":_vm.viewMode,\"productVariantId\":_vm.productVariantId,\"parentContentId\":_vm.section.id}}):_c('b-card-body',[_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"width\":\"100%\",\"height\":\"2rem\"}}),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"width\":\"100%\",\"height\":\"2rem\"}}),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"width\":\"100%\",\"height\":\"2rem\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-card\n\t\tno-body\n\t\t:class=\"{\n\t\t\tactive: accordianActive == section.id,\n\t\t\t'card-margin': viewMode != 'sidebar' && viewMode != 'nested',\n\t\t}\"\n\t>\n\t\t<b-card-header\n\t\t\theader-tag=\"header\"\n\t\t\trole=\"tab\"\n\t\t\tv-b-toggle=\"'accordion-' + section.id\"\n\t\t\t:id=\"section.id\"\n\t\t\t@click=\"accordianClick\"\n\t\t\tclass=\"d-flex\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"viewMode == 'sidebar' || viewMode == 'nested'\"\n\t\t\t\tv-html=\"headerIcon\"\n\t\t\t\tclass=\"header-icon\"\n\t\t\t></span>\n\t\t\t<span class=\"header-icon\" v-else>{{ headerIcon }}</span\n\t\t\t>{{ section.title }}\n\t\t</b-card-header>\n\t\t<b-collapse\n\t\t\t:id=\"'accordion-' + section.id\"\n\t\t\t:accordion=\"viewMode == 'nested' ? `nested-accordion` : `main-accordion`\"\n\t\t\trole=\"tabpanel\"\n\t\t\t:visible=\"isFirstAccordian || isExpandedAccordian\"\n\t\t\tappear\n\t\t>\n\t\t\t<ProductContentList\n\t\t\t\tv-if=\"contentList\"\n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t:purchased=\"purchased\"\n\t\t\t\t:viewMode=\"viewMode\"\n\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t:parentContentId=\"section.id\"\n\t\t\t/>\n\t\t\t<b-card-body v-else>\n\t\t\t\t<b-skeleton width=\"100%\" height=\"2rem\" class=\"mt-3\"></b-skeleton>\n\t\t\t\t<b-skeleton width=\"100%\" height=\"2rem\" class=\"mt-3\"></b-skeleton>\n\t\t\t\t<b-skeleton width=\"100%\" height=\"2rem\" class=\"mt-3\"></b-skeleton>\n\t\t\t</b-card-body>\n\t\t</b-collapse>\n\t</b-card>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nimport ProductContentList from \"./ProductContentList.vue\";\n\nexport default {\n\tname: \"ProductContentAccordian\",\n\tprops: {\n\t\taccordianActive: String,\n\t\tsection: Object,\n\t\tisFirstAccordian: Boolean,\n\t\tviewMode: String,\n\t\tpurchased: Boolean,\n\t\tproductVariantId: String,\n\t},\n\tcomponents: { ProductContentList },\n\tdata() {\n\t\treturn {\n\t\t\tid: \"\",\n\t\t\tisAccordianLoaded: this.isFirstAccordian ? true : false,\n\t\t\tcontentData: null,\n\t\t\tisExpandedAccordian: false,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getContentById\"]),\n\t\taccordianClick(e) {\n\t\t\tif (this.viewMode == \"nested\") {\n\t\t\t\tthis.$emit(\"nestedAccordianClick\", e);\n\t\t\t} else this.$emit(\"accordianClick\", e);\n\t\t},\n\t\t// ...mapActions(\"content\", [\"getContentById\"]),\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"content\"]),\n\t\t...mapState(\"content\", [\"loading\"]),\n\t\tcontentList() {\n\t\t\tif (this.content[this.id]) {\n\t\t\t\t// console.log({\n\t\t\t\t// \tmsg: \"accordian content found in store\",\n\t\t\t\t// \tcurrentID: this.id,\n\t\t\t\t// });\n\t\t\t\tthis.isAccordianLoaded = true;\n\t\t\t\tthis.contentData = this.content[this.id].children;\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\twindow.postMessage({ event: \"content-accordian-loaded\", data: null });\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\t// console.log({ msg: \"accordian content not found in store\" });\n\t\t\t\tif (this.accordianActive == this.id && this.loading == false) {\n\t\t\t\t\tthis.getContentById({ id: this.id }).then(() => {\n\t\t\t\t\t\tthis.isAccordianLoaded = true;\n\t\t\t\t\t\tthis.contentData = this.content[this.id].children;\n\t\t\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t\t\twindow.postMessage({\n\t\t\t\t\t\t\t\tevent: \"content-accordian-loaded\",\n\t\t\t\t\t\t\t\tdata: null,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\theaderIcon() {\n\t\t\tif (this.viewMode == \"sidebar\" || this.viewMode == \"nested\") {\n\t\t\t\tif (this.accordianActive == this.section.id) {\n\t\t\t\t\treturn '<i class=\"fas fa-caret-up\"></i>';\n\t\t\t\t} else return '<i class=\"fas fa-caret-down\"></i>';\n\t\t\t} else {\n\t\t\t\tif (this.accordianActive == this.section.id) {\n\t\t\t\t\treturn \"-\";\n\t\t\t\t} else return \"+\";\n\t\t\t}\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.id = this.section.id;\n\t\tconsole.log(\"Accordian loaded\", this.section.id);\n\t},\n\tmounted() {\n\t\tif (\n\t\t\tthis.$route.query.chapterId &&\n\t\t\tthis.$route.query.chapterId == this.section.id\n\t\t) {\n\t\t\tthis.isExpandedAccordian = true;\n\t\t\t$(`#${this.section.id}`)[0].click();\n\t\t}\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.product-content-accordian .card-header,\n\t.product-content-accordian .card.active .card-header,\n\t.product-content-accordian .card.active .card-body {\n\t\tborder-radius: 0 !important;\n\t\tborder: 0 !important;\n\t\tborder-bottom: 2px solid var(--color-light-gray) !important;\n\t\tbox-shadow: none !important;\n\t}\n\n\t.card-margin {\n\t\tmargin-bottom: 0 !important;\n\t}\n\n\t.product-content-accordian .card {\n\t\tborder: 0 !important;\n\t}\n\n\t.product-content-accordian .nested-content-accordian .card-header,\n\t.product-content-accordian\n\t\t.nested-content-accordian\n\t\t.card.active\n\t\t.card-header {\n\t\tborder: 0 !important;\n\t}\n}\n\n.card-margin {\n\tmargin-bottom: 1rem;\n}\n\n.product-content-accordian .card-header {\n\tbackground-color: var(--color-white);\n\tcursor: pointer;\n\ttext-align: left;\n\tpadding: 0.875rem 1.125rem !important;\n\tcolor: var(--text-color-default);\n\t/* border-bottom: 0 !important; */\n\tfont-weight: 500;\n\tborder-radius: 0.5rem;\n\tborder: 2px solid var(--color-light-gray);\n\tfont-size: 1.125rem;\n}\n\n.product-content-accordian .card.active .card-header {\n\tbackground-color: #f8f8f8;\n\t/* color: var(--color-white); */\n\t/* border-color: var(--secondary-color) !important; */\n\tborder-radius: 0.5rem 0.5rem 0 0;\n}\n\n.product-content-accordian .card {\n\tborder: none;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n}\n\n.product-content-accordian .card.active .card-body {\n\tborder: 2px solid var(--color-light-gray);\n\tborder-top: 0;\n\tborder-radius: 0 0 0.5rem 0.5rem;\n}\n\n.product-content-accordian .card-header .header-icon {\n\tdisplay: inline-flex;\n\twidth: 1.75rem;\n\theight: 1.75rem;\n\tbackground-color: var(--secondary-color);\n\tborder-radius: 50%;\n\tmargin-right: 1.25rem;\n\t/* border: 2px solid var(--primary-color); */\n\tcolor: var(--color-white);\n\tjustify-content: center;\n\talign-items: center;\n\tfont-size: 1.5rem;\n\tfont-weight: normal;\n\tmargin-top: 0;\n\tpointer-events: none;\n}\n\n.sidebar-content-accordian .card {\n\tborder: none !important;\n\tpadding: 0 1rem !important;\n}\n\n.sidebar-content-accordian .card-header {\n\tcursor: pointer;\n\tpadding: 1rem;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tfont-weight: 500;\n}\n\n.sidebar-content-accordian .header-icon {\n\tmargin-right: 1rem;\n}\n\n.nested-content-accordian .card-header {\n\tbackground-color: #fff !important;\n\tpadding: 0 !important;\n\tborder: none !important;\n}\n\n.nested-content-accordian .card {\n\tborder: none;\n\tbox-shadow: none !important;\n}\n\n.nested-content-accordian .card.active .card-body {\n\tborder: none !important;\n}\n\n.nested-content-accordian .card-body {\n\tborder: none !important;\n}\n\n.nested-content-accordian .header-icon {\n\tbackground-color: transparent !important;\n\tcolor: #000 !important;\n}\n\n.content-item-list {\n\tlist-style: none;\n\tfont-size: 0.85rem;\n\tpadding: 0;\n\tmargin-bottom: 0;\n}\n\n.content-item-list li {\n\tpadding: 0.5rem 0.75rem;\n\tborder-bottom: 1px solid var(--color-gray);\n\tcolor: var(--secondary-color);\n\tdisplay: flex;\n\tflex-direction: row;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentAccordian.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentAccordian.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentAccordian.vue?vue&type=template&id=14b9fd79&scoped=true&\"\nimport script from \"./ProductContentAccordian.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentAccordian.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentAccordian.vue?vue&type=style&index=0&id=14b9fd79&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"14b9fd79\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(\n\t\t\t_vm.tabData.children && _vm.tabData.children.length && _vm.viewMode != 'sidebar'\n\t\t)?_c('ul',{staticClass:\"info inline-list hide-tab-mobile\"},[_c('li',{staticClass:\"info-item\"},[_c('i',{staticClass:\"fas fa-align-left list-item-icon\"}),_vm._v(\" \"+_vm._s(_vm.tabData.children.length)+\" chapters \")])]):_vm._e(),(_vm.viewMode == 'sidebar' && _vm.tabData)?_c('div',{staticClass:\"accordion sidebar-content-accordian\",attrs:{\"role\":\"tablist\"}},_vm._l((_vm.tabData.children),function(section){return _c('ProductContentAccordian',{key:section.id,attrs:{\"section\":section,\"accordianActive\":_vm.accordianActive,\"isFirstAccordian\":section.id == _vm.tabData.children[0].id,\"viewMode\":_vm.viewMode,\"purchased\":_vm.purchased,\"productVariantId\":_vm.productVariantId},on:{\"accordianClick\":_vm.accordianClick}})}),1):_vm._e(),(_vm.viewMode != 'sidebar' && _vm.tabData)?_c('div',{staticClass:\"accordion product-content-accordian\",attrs:{\"role\":\"tablist\"}},_vm._l((_vm.tabData.children),function(section){return _c('ProductContentAccordian',{key:section.id,attrs:{\"section\":section,\"accordianActive\":_vm.accordianActive,\"isFirstAccordian\":section.id == _vm.tabData.children[0].id,\"purchased\":_vm.purchased,\"productVariantId\":_vm.productVariantId,\"viewMode\":_vm.viewMode},on:{\"accordianClick\":_vm.accordianClick}})}),1):_vm._e(),(_vm.tabData.children == null || _vm.tabData.children.length == 0)?_c('div',{staticClass:\"no-data text-center p-3\"},[_vm._v(\" No content found \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<ul\n\t\t\tv-if=\"\n\t\t\t\ttabData.children && tabData.children.length && viewMode != 'sidebar'\n\t\t\t\"\n\t\t\tclass=\"info inline-list hide-tab-mobile\"\n\t\t>\n\t\t\t<li class=\"info-item\">\n\t\t\t\t<i class=\"fas fa-align-left list-item-icon\"></i>\n\t\t\t\t{{ tabData.children.length }} chapters\n\t\t\t</li>\n\t\t\t<!-- <li class=\"info-item\">\n\t\t\t\t<i class=\"fas fa-history list-item-icon\"></i>\n\t\t\t\t{{ tabData.children.length }} lectures\n\t\t\t</li> -->\n\t\t</ul>\n\t\t<div\n\t\t\tv-if=\"viewMode == 'sidebar' && tabData\"\n\t\t\tclass=\"accordion sidebar-content-accordian\"\n\t\t\trole=\"tablist\"\n\t\t>\n\t\t\t<ProductContentAccordian\n\t\t\t\tv-for=\"section in tabData.children\"\n\t\t\t\t:key=\"section.id\"\n\t\t\t\t:section=\"section\"\n\t\t\t\t:accordianActive=\"accordianActive\"\n\t\t\t\t@accordianClick=\"accordianClick\"\n\t\t\t\t:isFirstAccordian=\"section.id == tabData.children[0].id\"\n\t\t\t\t:viewMode=\"viewMode\"\n\t\t\t\t:purchased=\"purchased\"\n\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t/>\n\t\t</div>\n\t\t<div\n\t\t\tv-if=\"viewMode != 'sidebar' && tabData\"\n\t\t\tclass=\"accordion product-content-accordian\"\n\t\t\trole=\"tablist\"\n\t\t>\n\t\t\t<ProductContentAccordian\n\t\t\t\tv-for=\"section in tabData.children\"\n\t\t\t\t:key=\"section.id\"\n\t\t\t\t:section=\"section\"\n\t\t\t\t:accordianActive=\"accordianActive\"\n\t\t\t\t@accordianClick=\"accordianClick\"\n\t\t\t\t:isFirstAccordian=\"section.id == tabData.children[0].id\"\n\t\t\t\t:purchased=\"purchased\"\n\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t:viewMode=\"viewMode\"\n\t\t\t/>\n\t\t</div>\n\t\t<div\n\t\t\tv-if=\"tabData.children == null || tabData.children.length == 0\"\n\t\t\tclass=\"no-data text-center p-3\"\n\t\t>\n\t\t\tNo content found\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nimport ProductContentList from \"./ProductContentList.vue\";\nimport ProductContentAccordian from \"./ProductContentAccordian.vue\";\n\nexport default {\n\tname: \"ProductContentAccordianList\",\n\tprops: {\n\t\tpurchased: Boolean,\n\t\tviewMode: String,\n\t\ttabData: Object,\n\t\tproductVariantId: String,\n\t\t// sidebarData: Object,\n\t},\n\tcomponents: { ProductContentList, ProductContentAccordian },\n\tdata() {\n\t\treturn {\n\t\t\taccordianActive: \"\",\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getContentById\"]),\n\t\taccordianClick(e) {\n\t\t\tif (this.accordianActive == e.target.id) {\n\t\t\t\tthis.accordianActive = \"\";\n\t\t\t} else {\n\t\t\t\tthis.accordianActive = e.target.id;\n\t\t\t}\n\t\t},\n\t\t// ...mapActions(\"content\", [\"getContentById\"]),\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"content\"]),\n\t\tfirstAccordianId() {\n\t\t\t// if (this.viewMode == \"sidebar\") {\n\t\t\t// \tconsole.log(\"viewMode is sidebar\");\n\t\t\t// \tif (this.sidebarData.productVariantItems.length > 0) {\n\t\t\t// \t\tconsole.log(\"productVariantItems are not empty\");\n\t\t\t// \t\tthis.accordianActive = this.sidebarData.productVariantItems[0].id;\n\t\t\t// \t\treturn this.sidebarData.productVariantItems[0].id;\n\t\t\t// \t} else return null;\n\t\t\t// // } else {\n\t\t\t// if (this.tabData.children != null) {\n\t\t\tif (this.tabData.children && this.tabData.children.length > 0) {\n\t\t\t\tthis.accordianActive = this.tabData.children[0].id;\n\t\t\t\treturn this.tabData.children[0].id;\n\t\t\t} else return null;\n\t\t\t// } else return null;\n\t\t\t// }\n\t\t},\n\t},\n\tcreated() {\n\t\tif (this.firstAccordianId != null && !this.content[this.firstAccordianId]) {\n\t\t\tthis.getContentById({ id: this.firstAccordianId });\n\t\t\tthis.accordianActive = this.firstAccordianId;\n\t\t}\n\t},\n};\n</script>\n\n<style scoped>\n.list-item-icon {\n\tmargin-right: 0.5rem;\n\tcolor: var(--color-gray);\n}\n\n.info-item {\n\tfont-size: 0.875rem;\n}\n\n.info-item:last-child {\n\tpadding-left: 1rem;\n}\n\n.product-content-accordian .card-header {\n\tbackground-color: var(--color-white);\n\tcursor: pointer;\n\ttext-align: left;\n\tpadding: 1.25rem 1.125rem !important;\n\tcolor: var(--text-color-default);\n\t/* border-bottom: 0 !important; */\n\t/* font-weight: 500; */\n\tborder-radius: 0.5rem !important;\n\tborder: 2px solid var(--color-light-gray);\n\tfont-size: 1.125rem;\n}\n\n.product-content-accordian .card.active .card-header {\n\tbackground-color: var(--secondary-color);\n\tcolor: var(--color-white);\n\tborder-color: var(--secondary-color) !important;\n\tborder-radius: 0.5rem 0.5rem 0 0 !important;\n}\n\n.product-content-accordian .card {\n\tborder: none;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n}\n\n.product-content-accordian .card.active .card-body {\n\tborder: 2px solid var(--secondary-color);\n\tborder-radius: 0 0 0.5rem 0.5rem;\n}\n\n.product-content-accordian .card-header .header-icon {\n\tdisplay: inline-flex;\n\twidth: 1.75rem;\n\theight: 1.75rem;\n\tbackground-color: var(--color-white);\n\tborder-radius: 50%;\n\tmargin-right: 1.25rem;\n\tborder: 2px solid var(--primary-color);\n\tcolor: var(--secondary-color);\n\tjustify-content: center;\n\talign-items: center;\n\tfont-size: 1.5rem;\n\tfont-weight: 500;\n\tmargin-top: 0;\n}\n\n.no-data {\n\ttext-align: center;\n\tpadding: 2rem;\n\tfont-weight: 500;\n\tcolor: var(--color-gray);\n\tfont-size: 1.5rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentAccordianList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentAccordianList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentAccordianList.vue?vue&type=template&id=544e2ae6&scoped=true&\"\nimport script from \"./ProductContentAccordianList.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentAccordianList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentAccordianList.vue?vue&type=style&index=0&id=544e2ae6&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"544e2ae6\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-body',{staticClass:\"p-0\"},[(_vm.contentData)?_c('ul',{staticClass:\"content-item-list\"},_vm._l((_vm.filteredContentData),function(item){return _c('ProductContentListItem',{key:item.id,class:[\n\t\t\t\t'content-item',\n\t\t\t\t{\n\t\t\t\t\tactive: _vm.contentActive == item.id,\n\t\t\t\t} ],attrs:{\"item\":item,\"productVariantId\":_vm.productVariantId,\"purchased\":_vm.purchased,\"viewMode\":_vm.viewMode,\"parentContentId\":_vm.parentContentId}})}),1):_vm._e(),(_vm.filteredContentData.length == 0)?_c('div',{staticClass:\"no-data\"},[_vm._v(\" No content found \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-card-body class=\"p-0\">\n\t\t<ul class=\"content-item-list\" v-if=\"contentData\">\n\t\t\t<ProductContentListItem\n\t\t\t\tv-for=\"item in filteredContentData\"\n\t\t\t\t:key=\"item.id\"\n\t\t\t\t:item=\"item\"\n\t\t\t\t:productVariantId=\"productVariantId\"\n\t\t\t\t:class=\"[\n\t\t\t\t\t'content-item',\n\t\t\t\t\t{\n\t\t\t\t\t\tactive: contentActive == item.id,\n\t\t\t\t\t},\n\t\t\t\t]\"\n\t\t\t\t:purchased=\"purchased\"\n\t\t\t\t:viewMode=\"viewMode\"\n\t\t\t\t:parentContentId=\"parentContentId\"\n\t\t\t/>\n\t\t</ul>\n\t\t<div v-if=\"filteredContentData.length == 0\" class=\"no-data\">\n\t\t\tNo content found\n\t\t</div>\n\t</b-card-body>\n</template>\n\n<script>\nimport ProductContentListItem from \"./ProductContentListItem.vue\";\nimport { ContentType, RecordedVideoStatus } from \"../../constants/content\";\nimport { getInputDateFormat } from \"../../helpers/FormatHelpers\";\n\nimport { ServiceCodes } from \"../../constants/serviceCodes\";\nexport default {\n\tname: \"ProductContentList\",\n\tprops: {\n\t\tpurchased: Boolean,\n\t\tviewMode: String,\n\t\tcontentData: Array,\n\t\tproductVariantId: String,\n\t\tparentContentId: String,\n\t},\n\tcomponents: { ProductContentListItem },\n\tdata() {\n\t\treturn {\n\t\t\tcontentActive: \"\",\n\t\t};\n\t},\n\tmethods: {},\n\tcomputed: {\n\t\tfilteredContentData() {\n\t\t\treturn this.contentData.filter((content) => {\n\n\t\t\t\t\n        var startDate = content.availableFrom ? new Date(content.availableFrom) : undefined;\n        var endDate = content.availableTo ? new Date(content.availableTo) : undefined;\n        const currentDate = new Date();\n\n        // checking if content is within start and end date, if, there is any start or end date\n        if(startDate && currentDate < startDate) return false;\n\n\t\tif (content.type == ContentType.EXAM && content.externalService.serviceProvider == ServiceCodes.EXAM.V3ExamSystem) {\n\t\t\t\n\t\t\treturn true;\n\t\t}\n        if(endDate && currentDate > endDate) return false;\n\n\t\t\t\tif (!content.availableTo) {\n\t\t\t\t\tif (content.type == ContentType.RECORDED_VIDEOS) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcontent.extraProperties &&\n\t\t\t\t\t\t\tcontent.extraProperties.Status !=\n\t\t\t\t\t\t\t\tRecordedVideoStatus.PROCESSING &&\n\t\t\t\t\t\t\tcontent.extraProperties.Status != RecordedVideoStatus.NOT_UPLOADED\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn content;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\treturn content;\n\t\t\t\t} else if (content.availableFrom && content.availableTo) {\n\n\t\t\t\t\tconst tomorrowDate = new Date(currentDate).setDate(\n\t\t\t\t\t\tcurrentDate.getDate() + 1\n\t\t\t\t\t);\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t(tomorrowDate >= startDate || currentDate >= startDate) &&\n\t\t\t\t\t\tcurrentDate <= endDate\n\t\t\t\t\t) {\n\t\t\t\t\t\tif (content.type == ContentType.LIVE_CLASS) {\n\t\t\t\t\t\t\tvar startTime = startDate.getTime() - 900000;\n\t\t\t\t\t\t\tvar endTime = endDate.getTime();\n\t\t\t\t\t\t\tvar currentTime = currentDate.getTime();\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tgetInputDateFormat(currentDate) == getInputDateFormat(startDate)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tif (currentTime >= startTime && currentTime <= endTime) {\n\t\t\t\t\t\t\t\t\treturn content;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tgetInputDateFormat(tomorrowDate) ==\n\t\t\t\t\t\t\t\tgetInputDateFormat(startDate)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tif (content.type == ContentType.RECORDED_VIDEOS) {\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tcontent.extraProperties &&\n\t\t\t\t\t\t\t\t\t\tcontent.extraProperties.Status != \"NotUploaded\"\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn content;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn content;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (content.type == ContentType.RECORDED_VIDEOS) {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tcontent.extraProperties &&\n\t\t\t\t\t\t\t\t\tcontent.extraProperties.Status != \"NotUploaded\"\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\treturn content;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn content;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.product-content-heading {\n\tfont-weight: bold;\n}\n\n.list-item-icon {\n\tmargin-right: 0.5rem;\n\tcolor: var(--primary-color);\n}\n\n.info-item {\n\tfont-size: 0.875rem;\n}\n\n.content-item-list {\n\tlist-style: none;\n\tfont-size: 0.85rem;\n\tpadding: 0;\n\tmargin-bottom: 0;\n}\n\n.no-data {\n\ttext-align: center;\n\tpadding: 2rem;\n\tfont-weight: 500;\n\tcolor: var(--color-gray);\n\tfont-size: 1.5rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentList.vue?vue&type=template&id=13356d9d&scoped=true&\"\nimport script from \"./ProductContentList.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentList.vue?vue&type=style&index=0&id=13356d9d&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"13356d9d\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{class:[\n\t\t{\n\t\t\tdisabled: _vm.isDisabled,\n\t\t} ],on:{\"click\":function($event){return _vm.handleContentClick()}}},[(_vm.item.type != _vm.ContentType.DIRECTORY)?_c('div',{staticClass:\"content-list-item-container\"},[_c('div',{staticClass:\"content-icon-container\"},[_c('div',{staticClass:\"content-icon-border\"},[(_vm.item.type == _vm.ContentType.LIVE_CLASS)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/zoom-icon.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.STUDY_MATERIAL)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/study-material.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.DIRECTORY)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/folder-icon.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.RECORDED_VIDEOS)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/recorded-lecture.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.EXAM)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/exam-test.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.ASSIGNMENT)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/assignment.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.FREETEXT)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/freeText.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.FLASHCARDS)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/flash-card.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.QUIZ)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/exam-test.png\")}}):_vm._e()])]),_c('div',{staticClass:\"content-text\"},[_c('span',[_vm._v(_vm._s(_vm.item.title))]),_vm._v(\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.item.type == _vm.ContentType.RECORDED_VIDEOS ? \"Recorded Lecture\" : _vm.item.type == _vm.ContentType.ASSIGNMENT ? \"Assignment\" : _vm.item.type == _vm.ContentType.LIVE_CLASS ? \"Live Class\" : _vm.item.type == _vm.ContentType.EXAM ? \"Exam\" : _vm.item.type == _vm.ContentType.FREETEXT ? \"FreeText\" : _vm.item.type == _vm.ContentType.FLASHCARDS ? \"Flashcards\" : \"Study Material\")+\" \")]),_c('div',{staticClass:\"content-info\"},[_c('p',{staticClass:\"heading\"},[_vm._v(\" \"+_vm._s(_vm.item.type == _vm.ContentType.RECORDED_VIDEOS ? \"Duration\" : _vm.item.type == _vm.ContentType.LIVE_CLASS ? \"Timing\" : _vm.item.type == _vm.ContentType.ASSIGNMENT ? \"Deadline\" : \"\")+\" \")]),(_vm.item.type == _vm.ContentType.LIVE_CLASS)?_c('p',[(_vm.contentExtraProperties)?_c('span',[_vm._v(_vm._s(_vm.timeParser(_vm.contentExtraProperties.Start_Time))+\", \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.dateParser(_vm.contentExtraProperties.Start_Time)))]):_c('span',[_vm._v(\" 1 hour \")])]):_vm._e(),(_vm.item.type == _vm.ContentType.RECORDED_VIDEOS)?_c('p',[(_vm.contentExtraProperties)?_c('span',[_vm._v(_vm._s(_vm.contentExtraProperties.Duration ? (_vm.contentExtraProperties.Duration / 60).toFixed(1) : \"\")+\" min\")]):_c('span',[_vm._v(\" 45 min\")])]):_vm._e()]),(_vm.isUnpaid && _vm.isDemo)?_c('div',{staticClass:\"content-cta demo\"},[_c('button',{staticClass:\"border-btn\",attrs:{\"type\":\"button\"}},[_vm._v(\"Demo\")])]):(!_vm.isUnpaid)?_c('div',{staticClass:\"content-cta d-flex gap-2\"},[(_vm.item.type != _vm.ContentType.EXAM)?_c('button',{staticClass:\"border-btn\",attrs:{\"disabled\":_vm.isDisabled,\"type\":\"button\"}},[_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")]):(!_vm.item.availableTo || new Date() <= new Date(_vm.item.availableTo))?_c('button',{staticClass:\"border-btn\",attrs:{\"disabled\":_vm.isDisabled,\"type\":\"button\"}},[_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")]):_vm._e(),(\n\t\t\t\t\t_vm.item.type == _vm.ContentType.EXAM &&\n\t\t\t\t\t_vm.item.externalService.serviceProvider ==\n\t\t\t\t\t\t_vm.ServiceCodes.EXAM.V3ExamSystem &&\n\t\t\t\t\t_vm.viewMode != 'description_page'\n\t\t\t\t)?_c('button',{staticClass:\"border-btn\",attrs:{\"disabled\":_vm.isDisabled,\"type\":\"button\"},on:{\"click\":_vm.handleLegacyExamButtonClick}},[_vm._v(\" View Results \")]):_vm._e()]):_vm._e()]):_c('div',{staticClass:\"accordion nested-content-accordian\",attrs:{\"role\":\"tablist\"}},[_c('ProductContentAccordian',{key:_vm.item.id,attrs:{\"section\":_vm.item,\"accordianActive\":_vm.activeAccordian,\"isFirstAccordian\":false,\"purchased\":_vm.purchased,\"viewMode\":\"nested\"},on:{\"nestedAccordianClick\":_vm.handleAccordianClick}})],1),(_vm.item.type == _vm.ContentType.STUDY_MATERIAL)?_c('StudyMaterial',{attrs:{\"showModal\":_vm.showStudyMaterialModal,\"contentId\":_vm.item.id},on:{\"updateModalState\":_vm.toggleStudyMaterialModal}}):_vm._e(),_c('b-modal',{attrs:{\"visible\":_vm.showWebDisabledModel,\"hide-header\":\"\",\"centered\":\"\",\"hide-footer\":\"\",\"size\":\"lg\",\"body-class\":\"modal-body\",\"ok-title\":\"Ok\"},on:{\"change\":_vm.closeWebDisabledModal}},[_c('AppsDownloadInstructions')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<li\n\t\t:class=\"[\n\t\t\t{\n\t\t\t\tdisabled: isDisabled,\n\t\t\t},\n\t\t]\"\n\t\t@click=\"handleContentClick()\"\n\t>\n\t\t<div\n\t\t\tv-if=\"item.type != ContentType.DIRECTORY\"\n\t\t\tclass=\"content-list-item-container\"\n\t\t>\n\t\t\t<div class=\"content-icon-container\">\n\t\t\t\t<div class=\"content-icon-border\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tv-if=\"item.type == ContentType.LIVE_CLASS\"\n\t\t\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/zoom-icon.png\"\n\t\t\t\t\t/>\n\t\t\t\t\t<img\n\t\t\t\t\t\tv-if=\"item.type == ContentType.STUDY_MATERIAL\"\n\t\t\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/study-material.png\"\n\t\t\t\t\t/>\n\t\t\t\t\t<img\n\t\t\t\t\t\tv-if=\"item.type == ContentType.DIRECTORY\"\n\t\t\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/folder-icon.png\"\n\t\t\t\t\t/>\n\t\t\t\t\t<img\n\t\t\t\t\t\tv-if=\"item.type == ContentType.RECORDED_VIDEOS\"\n\t\t\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/recorded-lecture.png\"\n\t\t\t\t\t/>\n\t\t\t\t\t<img\n\t\t\t\t\t\tv-if=\"item.type == ContentType.EXAM\"\n\t\t\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/exam-test.png\"\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t<img\n\t\t\t\t\t\tv-if=\"item.type == ContentType.ASSIGNMENT\"\n\t\t\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/assignment.png\"\n\t\t\t\t\t/>\n\t\t\t\t\t<img\n\t\t\t\t\t\tv-if=\"item.type == ContentType.FREETEXT\"\n\t\t\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/freeText.png\"\n\t\t\t\t\t/>\n\t\t\t\t\t<img\n\t\t\t\t\t\tv-if=\"item.type == ContentType.FLASHCARDS\"\n\t\t\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/flash-card.png\"\n\t\t\t\t\t/>\n\t\t\t\t\t<img\n\t\t\t\t\t\tv-if=\"item.type == ContentType.QUIZ\"\n\t\t\t\t\t\tclass=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/exam-test.png\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"content-text\">\n\t\t\t\t<span>{{ item.title }}</span> <br />\n\t\t\t\t<!-- <span> -->\n\t\t\t\t{{\n\t\t\t\t\titem.type == ContentType.RECORDED_VIDEOS\n\t\t\t\t\t\t? \"Recorded Lecture\"\n\t\t\t\t\t\t: item.type == ContentType.ASSIGNMENT\n\t\t\t\t\t\t? \"Assignment\"\n\t\t\t\t\t\t: item.type == ContentType.LIVE_CLASS\n\t\t\t\t\t\t? \"Live Class\"\n\t\t\t\t\t\t: item.type == ContentType.EXAM\n\t\t\t\t\t\t? \"Exam\"\n\t\t\t\t\t\t: item.type == ContentType.FREETEXT\n\t\t\t\t\t\t? \"FreeText\"\n\t\t\t\t\t\t: item.type == ContentType.FLASHCARDS\n\t\t\t\t\t\t? \"Flashcards\"\n\t\t\t\t\t\t: \"Study Material\"\n\t\t\t\t}}\n\t\t\t\t<!-- </span> -->\n\t\t\t</div>\n\t\t\t<div class=\"content-info\">\n\t\t\t\t<p class=\"heading\">\n\t\t\t\t\t{{\n\t\t\t\t\t\titem.type == ContentType.RECORDED_VIDEOS\n\t\t\t\t\t\t\t? \"Duration\"\n\t\t\t\t\t\t\t: item.type == ContentType.LIVE_CLASS\n\t\t\t\t\t\t\t? \"Timing\"\n\t\t\t\t\t\t\t: item.type == ContentType.ASSIGNMENT\n\t\t\t\t\t\t\t? \"Deadline\"\n\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t}}\n\t\t\t\t</p>\n\t\t\t\t<p v-if=\"item.type == ContentType.LIVE_CLASS\">\n\t\t\t\t\t<span v-if=\"contentExtraProperties\"\n\t\t\t\t\t\t>{{ timeParser(contentExtraProperties.Start_Time) }}, <br />\n\t\t\t\t\t\t{{ dateParser(contentExtraProperties.Start_Time) }}</span\n\t\t\t\t\t>\n\t\t\t\t\t<span v-else> 1 hour </span>\n\t\t\t\t</p>\n\t\t\t\t<p v-if=\"item.type == ContentType.RECORDED_VIDEOS\">\n\t\t\t\t\t<span v-if=\"contentExtraProperties\"\n\t\t\t\t\t\t>{{\n\t\t\t\t\t\t\tcontentExtraProperties.Duration\n\t\t\t\t\t\t\t\t? (contentExtraProperties.Duration / 60).toFixed(1)\n\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tmin</span\n\t\t\t\t\t>\n\t\t\t\t\t<span v-else> 45 min</span>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div v-if=\"isUnpaid && isDemo\" class=\"content-cta demo\">\n\t\t\t\t<button type=\"button\" class=\"border-btn\">Demo</button>\n\t\t\t</div>\n\t\t\t<div v-else-if=\"!isUnpaid\" class=\"content-cta d-flex gap-2\">\n\t\t\t\t<button \t\t\t\t\n\t\t\t\tv-if=\"item.type != ContentType.EXAM\"\n\t\t\t\t:disabled=\"isDisabled\" type=\"button\" class=\"border-btn\">\n\t\t\t\t\t{{ buttonText }}\n\t\t\t\t</button>\n\t\t\t\t<button \t\t\t\t\n\t\t\t\tv-else-if=\"!item.availableTo || new Date() <= new Date(item.availableTo)\"\n\t\t\t\t:disabled=\"isDisabled\" type=\"button\" class=\"border-btn\">\n\t\t\t\t\t{{ buttonText }}\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"\n\t\t\t\t\t\titem.type == ContentType.EXAM &&\n\t\t\t\t\t\titem.externalService.serviceProvider ==\n\t\t\t\t\t\t\tServiceCodes.EXAM.V3ExamSystem &&\n\t\t\t\t\t\tviewMode != 'description_page'\n\t\t\t\t\t\"\n\t\t\t\t\t:disabled=\"isDisabled\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"border-btn\"\n\t\t\t\t\t@click=\"handleLegacyExamButtonClick\"\n\t\t\t\t>\n\t\t\t\t\tView Results\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-else class=\"accordion nested-content-accordian\" role=\"tablist\">\n\t\t\t<ProductContentAccordian\n\t\t\t\t:key=\"item.id\"\n\t\t\t\t:section=\"item\"\n\t\t\t\t:accordianActive=\"activeAccordian\"\n\t\t\t\t@nestedAccordianClick=\"handleAccordianClick\"\n\t\t\t\t:isFirstAccordian=\"false\"\n\t\t\t\t:purchased=\"purchased\"\n\t\t\t\tviewMode=\"nested\"\n\t\t\t/>\n\t\t</div>\n\t\t<StudyMaterial\n\t\t\tv-if=\"item.type == ContentType.STUDY_MATERIAL\"\n\t\t\t:showModal=\"showStudyMaterialModal\"\n\t\t\t@updateModalState=\"toggleStudyMaterialModal\"\n\t\t\t:contentId=\"item.id\"\n\t\t/>\n\t\t\n\t\t<b-modal\n\t\t:visible=\"showWebDisabledModel\"\n\t\thide-header\n\t\tcentered\n\t\thide-footer\n\t\t@change=\"closeWebDisabledModal\"\n\t\tsize=\"lg\"\n\t\tbody-class=\"modal-body\"\n\t\tok-title=\"Ok\"\n\t\t>\n\t\t<AppsDownloadInstructions />\n\n\t</b-modal>\n\n\t</li>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport StudyMaterial from \"../Content/StudyMaterial.vue\";\nimport { ContentType } from \"../../constants/content\";\nimport { LegacyExam } from \"../../constants/exam\";\nimport { getInputDateFormat } from \"../../helpers/FormatHelpers\";\nimport {\n\ttoShortDateString,\n\tgetTimeIn12Hours,\n} from \"../../helpers/FormatHelpers\";\nimport { ServiceCodes } from \"../../constants/serviceCodes\";\nimport { getCookie } from \"../../helpers/CookieHelpers\";\nimport AppsDownloadInstructions from \"@/components/Layout/AppsDownloadInstructions\";\n\nexport default {\n\tname: \"ProductContentListItem\",\n\tdata() {\n\t\treturn {\n\t\t\tactiveAccordian: \"\",\n\t\t\tshowStudyMaterialModal: false,\n\t\t\tContentType,\n\t\t\tServiceCodes,\n\t\t\tLegacyExam,\n\t\t\tshowWebDisabledModel: false\n\t\t};\n\t},\n\tcomponents: {\n    AppsDownloadInstructions,\n\t\tProductContentAccordian: () => import(\"./ProductContentAccordian.vue\"),\n\t\tStudyMaterial,\n\t},\n\tprops: {\n\t\titem: Object,\n\t\tpurchased: Boolean,\n\t\tproductVariantId: String,\n\t\tviewMode: String,\n\t\tparentContentId: String\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getContentById\"]),\n\t\tcloseWebDisabledModal(isOpen){\n\t\t\tthis.showWebDisabledModel=isOpen;\n\t\t},\n\t\thandleContentClick() {\n\t\t\tif(!this.isDesktopApp && this.isWebDisabled && this.item.isContentAvailableForDemo==false)\n\t\t\t{\n\t\t\t\tthis.showWebDisabledModel=true;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this.item.type == ContentType.STUDY_MATERIAL) {\n\t\t\t\tthis.toggleStudyMaterialModal();\n\t\t\t} else if (this.item.type == ContentType.EXAM) {\n\t\t\t\tif (\n\t\t\t\t\tthis.item.externalService.serviceProvider ==\n\t\t\t\t\tServiceCodes.EXAM.V3ExamSystem\n\t\t\t\t) {\n\t\t\t\t\tthis.getContentById({\n\t\t\t\t\t\tid: this.item.id,\n\t\t\t\t\t\textraParams: { action: LegacyExam.GET_EXAM_ACTION.ATTEMPT },\n\t\t\t\t\t}).then((content) => {\n\t\t\t\t\t\tif (content && this.loggedIn) {\n\t\t\t\t\t\t\tvar examAttemptUrl =\n\t\t\t\t\t\t\t\tcontent.data.redirectUrl +\n\t\t\t\t\t\t\t\t\"&RedirectUrl=\" +\n\t\t\t\t\t\t\t\twindow.location.href;\n\t\t\t\t\t\t\twindow.open(examAttemptUrl, \"_blank\");\n\t\t\t\t\t\t\t// window.location.href = examAttemptUrl;\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.$toasted.error(\n\t\t\t\t\t\t\t\"Please login/create an account to demo this Exam\",\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.$router.push({\n\t\t\t\t\t\t\tname: \"Login\",\n\t\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\t\tnextUrl:\n\t\t\t\t\t\t\t\t\tthis.$route.path + `?chapterId=${this.parentContentId}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconsole.log(\"examClicked\");\n\t\t\t\tthis.getContentById({\n\t\t\t\t\tid: this.item.id,\n\t\t\t\t\textraParams: { RedirectUrl: window.location.href },\n\t\t\t\t}).then((res) => {\n\t\t\t\t\tvar data = res.data;\n\t\t\t\t\tif (this.loggedIn) {\n\t\t\t\t\t\tvar examAttemptUrl = `http://examapp.gocbeglobal.com/exam/attempt?TestID=${\n\t\t\t\t\t\t\tdata.examID\n\t\t\t\t\t\t}&Name=${data.name ?? \"\"}&Email=${data.email ?? \"\"}&UserID=${\n\t\t\t\t\t\t\tdata.userID ?? \"\"\n\t\t\t\t\t\t}&RedirectUrl=${data.redirectUrl}&Signature=${data.signature}`;\n\t\t\t\t\t\twindow.open(examAttemptUrl, \"_blank\");\n\t\t\t\t\t\t// window.location.href = examAttemptUrl;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tthis.$toasted.error(\n\t\t\t\t\t\t\"Please login/create an account to demo this Exam\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tthis.$router.push({\n\t\t\t\t\t\tname: \"Login\",\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tnextUrl: this.$route.path + `?chapterId=${this.parentContentId}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else if (this.item.type == ContentType.LIVE_CLASS) {\n\t\t\t\tthis.$router.push(this.contentLink);\n\t\t\t}\n\t\t\t else this.$router.push(this.contentLink);\n\n\t\t\tconsole.log(\"content clicked of type: \", this.item.type);\n\t\t},\n\t\thandleLegacyExamButtonClick(e) {\n\t\t\tif(!this.isDesktopApp && this.isWebDisabled)\n\t\t\t{\n\t\t\t\tthis.showWebDisabledModel=true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\te.stopPropagation();\n\t\t\tthis.getContentById({\n\t\t\t\tid: this.item.id,\n\t\t\t\textraParams: { action: LegacyExam.GET_EXAM_ACTION.VIEW_RESULTS },\n\t\t\t}).then((content) => {\n\t\t\t\tif (content && this.loggedIn) {\n\t\t\t\t\tvar examAttemptUrl =\n\t\t\t\t\t\tcontent.data.redirectUrl + \"&RedirectUrl=\" + window.location.href;\n\t\t\t\t\twindow.open(examAttemptUrl, \"_blank\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\thandleAccordianClick(e) {\n\t\t\tif (this.activeAccordian == e.target.id) {\n\t\t\t\tthis.activeAccordian = \"\";\n\t\t\t} else {\n\t\t\t\tthis.activeAccordian = e.target.id;\n\t\t\t}\n\t\t},\n\t\tproductIdFromUrl() {\n\t\t\tconst urlID = this.$route.params.id.split(\"-\");\n\t\t\tconst productID = urlID.at(-1);\n\t\t\treturn productID;\n\t\t},\n\t\ttoggleStudyMaterialModal(state) {\n\t\t\t\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showStudyMaterialModal = state;\n\t\t\t} else {\n\t\t\t\tthis.showStudyMaterialModal = !this.showStudyMaterialModal;\n\t\t\t}\n\t\t},\n\t\ttimeParser(date) {\n\t\t\treturn getTimeIn12Hours(date);\n\t\t},\n\t\tdateParser(date) {\n\t\t\treturn toShortDateString(date);\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"loggedIn\", \"user\"]),\t\t\n\t\t...mapState(\"appState\", [\"isMobile\",\"systemParameters\"]),\t\t\n\t\tisDesktopApp() {\n      \t\treturn window.navigator.userAgent.toLowerCase().indexOf(\"electron\") > -1;\n    \t},\n\t\tisWebDisabled(){\n\t\t\treturn this.systemParameters && this.systemParameters.IsWebAccessDisabled=='1';\n\t\t},\n\t\tcontentLink() {\n\t\t\tswitch (this.item.type) {\n\t\t\t\tcase ContentType.RECORDED_VIDEOS:\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath:\n\t\t\t\t\t\t\t\"/content/video/\" +\n\t\t\t\t\t\t\tthis.item.title\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\t\tthis.item.id +\n\t\t\t\t\t\t\t\"_\" +\n\t\t\t\t\t\t\tthis.productVariantId,\n\t\t\t\t\t};\n\t\t\t\tcase ContentType.LIVE_CLASS:\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath:\n\t\t\t\t\t\t\t\"/content/liveclass/\" +\n\t\t\t\t\t\t\tthis.item.title\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\t\tthis.item.id +\n\t\t\t\t\t\t\t\"_\" +\n\t\t\t\t\t\t\tthis.productVariantId,\n\t\t\t\t\t};\n\t\t\t\tcase ContentType.QUIZ:\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath:\n\t\t\t\t\t\t\t\"/content/quiz/\" +\n\t\t\t\t\t\t\tthis.item.title\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\t\tthis.item.id +\n\t\t\t\t\t\t\t\"_\" +\n\t\t\t\t\t\t\tthis.productVariantId,\n\t\t\t\t\t};\n\t\t\t\tcase ContentType.ASSIGNMENT:\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath:\n\t\t\t\t\t\t\t\"/content/assignment/\" +\n\t\t\t\t\t\t\tthis.item.title\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\t\tthis.item.id +\n\t\t\t\t\t\t\t\"_\" +\n\t\t\t\t\t\t\tthis.productVariantId,\n\t\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\tisDisabled() {\n\t\t\treturn (\n\t\t\t\t(this.viewMode == \"description_page\" &&\n\t\t\t\t\t!this.item.isContentAvailableForDemo) ||\n\t\t\t\t(getInputDateFormat(new Date(this.item.availableFrom)) !=\n\t\t\t\t\tgetInputDateFormat(new Date()) &&\n\t\t\t\t\tthis.item.type == ContentType.LIVE_CLASS) ||\n\t\t\t\t(new Date(this.item.availableFrom) > new Date() &&\n\t\t\t\t\tthis.item.type == ContentType.LIVE_CLASS) ||\n\t\t\t\t(this.isUnpaid && !this.isDemo)\n\t\t\t);\n\t\t},\n\t\tisDemo() {\n\t\t\treturn this.item.isContentAvailableForDemo;\n\t\t},\n\t\tisUnpaid() {\n\t\t\treturn !this.purchased;\n\t\t},\n\t\tcontentExtraProperties() {\n\t\t\tif (this.item.extraProperties) return this.item.extraProperties;\n\t\t\telse return null;\n\t\t},\n\t\tbuttonText() {\n\t\t\treturn this.item.type == ContentType.RECORDED_VIDEOS\n\t\t\t\t? \"Watch\"\n\t\t\t\t: this.item.type == ContentType.LIVE_CLASS\n\t\t\t\t? \"Join Now\"\n\t\t\t\t: this.item.type == ContentType.ASSIGNMENT\n\t\t\t\t? \"Submit\"\n\t\t\t\t: this.item.type == ContentType.EXAM\n\t\t\t\t? \"Attempt\"\n\t\t\t\t: \"View\";\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.content-item-list li {\n\tpadding: 0;\n\tborder-bottom: 1px solid var(--color-light-gray);\n\tcursor: pointer;\n}\n\n.content-item-list li.disabled {\n\tpointer-events: none;\n}\n\n.content-item.disabled .content-text {\n\topacity: 0.5;\n}\n\n.content-list-item-container {\n\tcolor: var(--secondary-color);\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n\n.content-item {\n\tfont-size: 0.9rem;\n\tpadding: 1rem !important;\n}\n\n/* .content-item span, */\n/* .content-item-disabled span {\n\tfont-size: 0.7rem;\n\tcolor: var(--color-gray);\n} */\n\n.content-item-list li:last-child {\n\tborder-bottom: none;\n}\n\n.content-item-icon {\n\t/* margin-left: 0.25rem; */\n\tmargin-right: 0.5rem;\n\tfont-size: 1rem;\n\tcolor: var(--color-text-default);\n}\n\n.page-view-icon {\n\tfont-size: 0.6rem;\n\t/* width: 36px; */\n\theight: 32px;\n\t/* border-radius: 50%; */\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n.page-view-icon.blue-bg {\n\tbackground-color: #2d8bfe;\n\tcolor: var(--color-white);\n}\n\n.content-item-list li.active {\n\tbackground-color: var(--color-light-gray);\n}\n/* .content-icon-container {\n\twidth: 70px !important;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n} */\n\n.content-text {\n\tline-height: 1.3;\n\tfont-size: 1rem;\n\tcolor: #666;\n\tfont-size: 0.875rem;\n}\n\n.content-text span {\n\tfont-weight: bold;\n\tcolor: black;\n\tfont-size: 1rem;\n}\n\n.content-icon-border {\n\twidth: 32px;\n\theight: 32px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 1rem;\n\t/* border: 2px solid #d5d5d5; */\n\tborder-radius: 50%;\n}\n\n.content-info {\n\tmargin-left: auto;\n\tmargin-right: 1rem;\n\tmin-width: 3.425rem;\n}\n\n.content-info p {\n\tmargin: 0;\n\tfont-size: 0.675rem;\n\tline-height: 1.25;\n}\n\n.content-info .heading {\n\ttext-transform: uppercase;\n\tcolor: var(--color-gray);\n}\n\n.content-cta button {\n\tpadding: 0.425rem 0.5rem;\n\tmin-width: 5.75rem;\n\tline-height: 1;\n\tborder-color: #282828;\n\tfont-size: 0.875rem;\n\tborder-radius: 4px;\n\tcolor: #282828 !important;\n\tfont-weight: 500;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentListItem.vue?vue&type=template&id=3e93cace&scoped=true&\"\nimport script from \"./ProductContentListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentListItem.vue?vue&type=style&index=0&id=3e93cace&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3e93cace\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.productVariantData)?_c('ProductContentTabs',{attrs:{\"productVariantData\":_vm.productVariantData,\"viewMode\":_vm.viewMode,\"purchased\":_vm.purchased}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<ProductContentTabs\n\t\t\tv-if=\"productVariantData\"\n\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t:viewMode=\"viewMode\"\n\t\t\t:purchased=\"purchased\"\n\t\t/>\n\t\t<!-- <div class=\"accordion product-content-accordian\" role=\"tablist\">\n\t\t\t<ProductContentAccordian\n\t\t\t\tv-for=\"section in productVariantData.productVariantItems\"\n\t\t\t\t:key=\"section.id\"\n\t\t\t\t:section=\"section\"\n\t\t\t\t:accordianActive=\"accordianActive\"\n\t\t\t\t@accordianClick=\"accordianClick\"\n\t\t\t\t:isFirstAccordian=\"\n\t\t\t\t\tsection.id == productVariantData.productVariantItems[0].id\n\t\t\t\t\"\n\t\t\t/>\n\t\t</div> -->\n\t\t<!-- <div class=\"accordion sidebar-content-accordian\" role=\"tablist\">\n\t\t\t<b-card\n\t\t\t\tno-body\n\t\t\t\tv-for=\"directory in productVariantData.productVariantItems\"\n\t\t\t\t:key=\"directory.id\"\n\t\t\t\t:id=\"directory.id\"\n\t\t\t>\n\t\t\t\t<b-card-header\n\t\t\t\t\theader-tag=\"header\"\n\t\t\t\t\trole=\"tab\"\n\t\t\t\t\tv-b-toggle=\"'accordian-' + directory.id\"\n\t\t\t\t>\n\t\t\t\t\t{{ directory.title }}\n\t\t\t\t\t<i class=\"fas fa-angle-down input-icon-right mt-0\"></i>\n\t\t\t\t</b-card-header>\n\t\t\t\t<b-collapse\n\t\t\t\t\t:id=\"'accordian-' + directory.id\"\n\t\t\t\t\tvisible\n\t\t\t\t\taccordion=\"my-accordion\"\n\t\t\t\t\trole=\"tabpanel\"\n\t\t\t\t>\n\t\t\t\t\t<b-card-body>\n\t\t\t\t\t\t<ul class=\"content-item-list\" v-if=\"!loading\">\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tv-for=\"item in content.children\"\n\t\t\t\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t\t\t\t:id=\"item.id\"\n\t\t\t\t\t\t\t\t:class=\"{ active: contentActive == item.id }\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\t\t\t\titem.type.toLowerCase() == RECORDED_VIDEO ||\n\t\t\t\t\t\t\t\t\t\t\titem.type.toLowerCase() == LIVE_SESSION\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\tclass=\"fab fa-youtube content-item-icon\"\n\t\t\t\t\t\t\t\t></i>\n\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\tv-if=\"item.type.toLowerCase() == ASSIGNMENT\"\n\t\t\t\t\t\t\t\t\tclass=\"far fa-file content-item-icon\"\n\t\t\t\t\t\t\t\t></i>\n\t\t\t\t\t\t\t\t{{ item.title }}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</b-card-body>\n\t\t\t\t</b-collapse>\n\t\t\t</b-card>\n\t\t</div> -->\n\t</div>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nimport ProductContentAccordianList from \"./ProductContentAccordianList.vue\";\nimport ProductContentTabs from \"./ProductContentTabs.vue\";\nexport default {\n\tname: \"ProductDetailsSidebar\",\n\tprops: { productVariantData: Object },\n\tdata() {\n\t\treturn {\n\t\t\tviewMode: \"sidebar\",\n\t\t\tpurchased: false,\n\t\t};\n\t},\n\tcomponents: { ProductContentAccordianList, ProductContentTabs },\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getContentById\"]),\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"loading\", \"content\"]),\n\t\t// ...mapState(\"content\", []),\n\t\t...mapState(\"user\", [\"user\"]),\n\t},\n\tcreated() {\n\t\tif (this.user) {\n\t\t\tthis.purchased = true;\n\t\t} else this.purchased = false;\n\t},\n};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentSidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentSidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentSidebar.vue?vue&type=template&id=1d3879e8&scoped=true&\"\nimport script from \"./ProductContentSidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentSidebar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1d3879e8\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n\t\t'product-content-tabs-container',\n\t\t{ sidebar: _vm.viewMode == 'sidebar' } ]},[(_vm.purchased && _vm.viewMode != 'sidebar')?_c('div',{class:[\n\t\t\t'd-flex mb-4',\n\t\t\t{\n\t\t\t\t'flex-column': _vm.isMobile,\n\t\t\t\t'justify-content-between align-items-center': !_vm.isMobile,\n\t\t\t} ]}):_vm._e(),(\n\t\t\t_vm.filteredProductVariantItems && _vm.filteredProductVariantItems.length > 1\n\t\t)?_c('ul',{staticClass:\"product-courses-tabs inline-list hide-tab-mobile\"},_vm._l((_vm.filteredProductVariantItems),function(course){return _c('li',{key:course.id,class:[\n\t\t\t\t'course-tab',\n\t\t\t\t{ active: _vm.activeTab == course.id, sidebar: _vm.viewMode == 'sidebar' } ],attrs:{\"id\":course.id},on:{\"click\":_vm.changeTab}},[_vm._v(\" \"+_vm._s(course.title)+\" \")])}),0):_vm._e(),_vm._l((_vm.filteredProductVariantItems),function(courseTab){return _c('div',{key:courseTab.id,class:[\n\t\t\t'course-tab-body hide-tab-mobile',\n\t\t\t{\n\t\t\t\t'first-tab': _vm.activeTab == _vm.filteredProductVariantItems[0].id,\n\t\t\t\t'last-tab':\n\t\t\t\t\t_vm.activeTab ==\n\t\t\t\t\t_vm.filteredProductVariantItems[_vm.filteredProductVariantItems.length - 1]\n\t\t\t\t\t\t.id,\n\t\t\t\t'tab-hidden': _vm.activeTab != courseTab.id,\n\t\t\t\tsidebar: _vm.viewMode == 'sidebar',\n\t\t\t} ]},[(_vm.tabContent && _vm.activeTab == courseTab.id)?_c('ProductContentAccordianList',{attrs:{\"tabData\":_vm.tabData,\"viewMode\":_vm.viewMode,\"purchased\":_vm.purchased,\"productVariantId\":_vm.productVariantData.id}}):_c('div',{staticClass:\"skeleton\"},[_c('div',{staticClass:\"skeleton-body ms-0 ps-0 mt-2\"},[_c('b-skeleton',{staticClass:\"mt-4\",attrs:{\"width\":\"20%\"}}),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"type\":\"input\",\"height\":\"60px\",\"width\":\"100%\"}}),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"type\":\"input\",\"height\":\"60px\",\"width\":\"100%\"}}),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"type\":\"input\",\"height\":\"60px\",\"width\":\"100%\"}})],1)])],1)}),(_vm.isMobile)?_c('div',{staticClass:\"accordion mobile-only\",attrs:{\"id\":\"product-content-accordian\"}},_vm._l((_vm.filteredProductVariantItems),function(course){return _c('div',{key:course.id,staticClass:\"accordion-item content-mobile-accordian\"},[_c('h2',{staticClass:\"accordion-header\",attrs:{\"id\":'heading' + course.id}},[_c('button',{staticClass:\"accordion-button collapsed\",attrs:{\"id\":course.id,\"type\":\"button\",\"data-bs-toggle\":\"collapse\",\"data-bs-target\":'#collapse' + course.id,\"aria-controls\":'collapse' + course.id},on:{\"click\":_vm.changeTab}},[_vm._v(\" \"+_vm._s(course.title)+\" \")])]),_c('div',{staticClass:\"accordion-collapse collapse\",attrs:{\"id\":'collapse' + course.id,\"data-bs-parent\":\"#product-content-accordian\"}},[_c('div',{staticClass:\"accordion-body\"},[(_vm.tabContent && _vm.activeTab == course.id)?_c('ProductContentAccordianList',{attrs:{\"tabData\":_vm.tabData,\"viewMode\":_vm.viewMode,\"purchased\":_vm.purchased,\"productVariantId\":_vm.productVariantData.id}}):_vm._e()],1)])])}),0):_vm._e(),(!_vm.filteredProductVariantItems.length)?_c('div',{staticClass:\"no-content p-3\"},[_vm._v(\" No content found \")]):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\t:class=\"[\n\t\t\t'product-content-tabs-container',\n\t\t\t{ sidebar: viewMode == 'sidebar' },\n\t\t]\"\n\t>\n\t\t<div\n\t\t\tv-if=\"purchased && viewMode != 'sidebar'\"\n\t\t\t:class=\"[\n\t\t\t\t'd-flex mb-4',\n\t\t\t\t{\n\t\t\t\t\t'flex-column': isMobile,\n\t\t\t\t\t'justify-content-between align-items-center': !isMobile,\n\t\t\t\t},\n\t\t\t]\"\n\t\t></div>\n\t\t<ul\n\t\t\tv-if=\"\n\t\t\t\tfilteredProductVariantItems && filteredProductVariantItems.length > 1\n\t\t\t\"\n\t\t\tclass=\"product-courses-tabs inline-list hide-tab-mobile\"\n\t\t>\n\t\t\t<li\n\t\t\t\t@click=\"changeTab\"\n\t\t\t\t:id=\"course.id\"\n\t\t\t\tv-for=\"course in filteredProductVariantItems\"\n\t\t\t\t:key=\"course.id\"\n\t\t\t\t:class=\"[\n\t\t\t\t\t'course-tab',\n\t\t\t\t\t{ active: activeTab == course.id, sidebar: viewMode == 'sidebar' },\n\t\t\t\t]\"\n\t\t\t>\n\t\t\t\t{{ course.title }}\n\t\t\t</li>\n\t\t</ul>\n\t\t<div\n\t\t\tv-for=\"courseTab in filteredProductVariantItems\"\n\t\t\t:key=\"courseTab.id\"\n\t\t\t:class=\"[\n\t\t\t\t'course-tab-body hide-tab-mobile',\n\t\t\t\t{\n\t\t\t\t\t'first-tab': activeTab == filteredProductVariantItems[0].id,\n\t\t\t\t\t'last-tab':\n\t\t\t\t\t\tactiveTab ==\n\t\t\t\t\t\tfilteredProductVariantItems[filteredProductVariantItems.length - 1]\n\t\t\t\t\t\t\t.id,\n\t\t\t\t\t'tab-hidden': activeTab != courseTab.id,\n\t\t\t\t\tsidebar: viewMode == 'sidebar',\n\t\t\t\t},\n\t\t\t]\"\n\t\t>\n\t\t\t<ProductContentAccordianList\n\t\t\t\tv-if=\"tabContent && activeTab == courseTab.id\"\n\t\t\t\t:tabData=\"tabData\"\n\t\t\t\t:viewMode=\"viewMode\"\n\t\t\t\t:purchased=\"purchased\"\n\t\t\t\t:productVariantId=\"productVariantData.id\"\n\t\t\t/>\n\t\t\t<div v-else class=\"skeleton\">\n\t\t\t\t<div class=\"skeleton-body ms-0 ps-0 mt-2\">\n\t\t\t\t\t<b-skeleton class=\"mt-4\" width=\"20%\"></b-skeleton>\n\t\t\t\t\t<b-skeleton\n\t\t\t\t\t\tclass=\"mt-3\"\n\t\t\t\t\t\ttype=\"input\"\n\t\t\t\t\t\theight=\"60px\"\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t></b-skeleton>\n\t\t\t\t\t<b-skeleton\n\t\t\t\t\t\tclass=\"mt-3\"\n\t\t\t\t\t\ttype=\"input\"\n\t\t\t\t\t\theight=\"60px\"\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t></b-skeleton>\n\t\t\t\t\t<b-skeleton\n\t\t\t\t\t\tclass=\"mt-3\"\n\t\t\t\t\t\ttype=\"input\"\n\t\t\t\t\t\theight=\"60px\"\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t></b-skeleton>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\tv-if=\"isMobile\"\n\t\t\tclass=\"accordion mobile-only\"\n\t\t\tid=\"product-content-accordian\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"accordion-item content-mobile-accordian\"\n\t\t\t\tv-for=\"course in filteredProductVariantItems\"\n\t\t\t\t:key=\"course.id\"\n\t\t\t>\n\t\t\t\t<h2 class=\"accordion-header\" :id=\"'heading' + course.id\">\n\t\t\t\t\t<button\n\t\t\t\t\t\t:id=\"course.id\"\n\t\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t\tclass=\"accordion-button collapsed\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tdata-bs-toggle=\"collapse\"\n\t\t\t\t\t\t:data-bs-target=\"'#collapse' + course.id\"\n\t\t\t\t\t\t:aria-controls=\"'collapse' + course.id\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ course.title }}\n\t\t\t\t\t</button>\n\t\t\t\t</h2>\n\t\t\t\t<div\n\t\t\t\t\t:id=\"'collapse' + course.id\"\n\t\t\t\t\tclass=\"accordion-collapse collapse\"\n\t\t\t\t\tdata-bs-parent=\"#product-content-accordian\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"accordion-body\">\n\t\t\t\t\t\t<ProductContentAccordianList\n\t\t\t\t\t\t\tv-if=\"tabContent && activeTab == course.id\"\n\t\t\t\t\t\t\t:tabData=\"tabData\"\n\t\t\t\t\t\t\t:viewMode=\"viewMode\"\n\t\t\t\t\t\t\t:purchased=\"purchased\"\n\t\t\t\t\t\t\t:productVariantId=\"productVariantData.id\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-if=\"!filteredProductVariantItems.length\" class=\"no-content p-3\">\n\t\t\tNo content found\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport ProductContentAccordianList from \"./ProductContentAccordianList.vue\";\nimport { mapActions, mapState } from \"vuex\";\nimport ProductVariant from \"../../models/productVariant\";\n\nexport default {\n\tname: \"ProductContentTabs\",\n\tprops: {\n\t\tproductVariantData: ProductVariant,\n\t\tviewMode: String,\n\t\tpurchased: Boolean,\n\t},\n\tcomponents: { ProductContentAccordianList },\n\tdata() {\n\t\treturn {\n\t\t\tactiveTab: null,\n\t\t\tisTabLoaded: false,\n\t\t\ttabData: null,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getContentById\"]),\n\t\tchangeTab(e) {\n\t\t\tconsole.log({ msg: \"changing tab\", e });\n\n\t\t\tthis.activeTab = e.target.id;\n\t\t\tif (this.tabData.id != this.activeTab) {\n\t\t\t\tthis.isTabLoaded = false;\n\t\t\t}\n\t\t\t// this.contentById(e.target.id);\n\t\t\t// this.$emit(\"activeTab\", this.activeTab);\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"content\", \"loading\"]),\n\t\t...mapState(\"appState\", [\"isMobile\"]),\n\t\ttabContent() {\n\t\t\tthis.isTabLoaded = false;\n\t\t\tif (this.content[this.activeTab]) {\n\t\t\t\tconsole.log({ msg: \"content found in store\" });\n\t\t\t\tthis.isTabLoaded = true;\n\t\t\t\tthis.tabData = this.content[this.activeTab];\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\tconsole.log({ msg: \"content not found in store\" });\n\t\t\t\t// if (!this.loading) {\n\t\t\t\t// \tconst data = this.getContentById(this.activeTab).then(() => {\n\t\t\t\t// \t\tthis.isTabLoaded = true;\n\t\t\t\t// \t\tthis.tabData = this.content[this.activeTab];\n\t\t\t\t// \t\tconsole.log({ msg: \"data from API call\", data });\n\t\t\t\t// \t});\n\t\t\t\t// }\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tfilteredProductVariantItems() {\n\t\t\treturn this.productVariantData.productVariantItems.filter((item) => {\n\t\t\t\tif (!item.availableFrom && !item.availableTo) {\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t\tif (item.availableFrom && new Date(item.availableFrom) < new Date()) {\n\t\t\t\t\tif (item.availableTo && new Date(item.availableTo) > new Date()) {\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t\tif (!item.availableTo) {\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (item.availableTo && new Date(item.availableTo) > new Date()) {\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t},\n\tcreated() {\n\t\tconsole.log(\"product content tabs created\");\n\t\tif (\n\t\t\tthis.filteredProductVariantItems &&\n\t\t\tthis.filteredProductVariantItems.length\n\t\t) {\n\t\t\tthis.activeTab = this.filteredProductVariantItems[0].id;\n\t\t\tthis.getContentById({ id: this.activeTab }).then(() => {\n\t\t\t\tthis.isTabLoaded = true;\n\t\t\t\tif (this.isMobile)\n\t\t\t\t\tdocument\n\t\t\t\t\t\t.querySelectorAll(\n\t\t\t\t\t\t\t`button[data-bs-target='#collapse${this.activeTab}']`\n\t\t\t\t\t\t)[0]\n\t\t\t\t\t\t.click();\n\t\t\t});\n\t\t}\n\t},\n\twatch: {\n\t\tactiveTab: function () {\n\t\t\tconst data = this.getContentById({ id: this.activeTab }).then(\n\t\t\t\t(status) => {\n\t\t\t\t\tthis.isTabLoaded = true;\n\n\t\t\t\t\tthis.tabData = this.content[this.activeTab];\n\t\t\t\t\tconsole.log({ msg: \"data from API call\", data });\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\tfilteredProductVariantItems: function () {\n\t\t\tthis.activeTab = this.filteredProductVariantItems[0].id;\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.product-content-tabs-container {\n\t\tpadding: 2.5rem 0 !important;\n\t}\n}\n\n.product-content-tabs-container {\n\tpadding: 2.5rem 2.75rem 2.5rem 0;\n}\n\n.product-content-tabs-container.sidebar {\n\tpadding: 0;\n}\n\n.product-courses-tabs {\n\tdisplay: flex;\n\toverflow-x: hidden;\n\toverflow-y: visible;\n\t/* z-index: 100; */\n\tposition: relative;\n\ttop: 0.063rem;\n}\n\n.product-courses-tabs:hover {\n\toverflow-x: overlay;\n}\n\n.course-tab {\n\tpadding: 1.25rem;\n\tcolor: var(--secondary-color);\n\tborder-radius: 8px 8px 0 0;\n\tfont-weight: 500;\n\tmin-width: 9.375rem;\n}\n\n.course-tab.sidebar {\n\tpadding: 1rem 0;\n}\n\n.course-tab.active {\n\tborder: 1px solid #a7a9ac;\n\tborder-bottom: 2px solid #ffffff;\n\tposition: relative;\n}\n\n.course-tab.sidebar.active {\n\tborder: 0;\n\tborder-bottom: 0.25rem solid var(--primary-color);\n}\n\n.course-tab-body {\n\tpadding: 2.125rem 1.875rem;\n\tborder: 1px solid #a7a9ac;\n\tborder-radius: 8px;\n\n\t/* position: relative;\n\ttop: -1px; */\n}\n\n.course-tab-body.sidebar {\n\tpadding: 0;\n\tborder: 0;\n\tborder-radius: 0;\n\tmax-height: calc(100vh - 5rem);\n\toverflow: auto;\n}\n\n.course-tab-body.first-tab {\n\tborder-top-left-radius: 0;\n}\n\n.tab-hidden {\n\tdisplay: none;\n}\n\n.course-search {\n\tdisplay: flex;\n\talign-items: center;\n\tposition: relative;\n\tflex-grow: 10;\n\tmargin: 0 !important;\n}\n\n.border-input {\n\tmin-width: unset !important;\n\tpadding: 1.125rem 1rem;\n\tfont-size: 1rem;\n\t/* font-weight: 500 !important; */\n\tborder-radius: 6px;\n\tline-height: 1;\n\tflex-grow: 1;\n}\n\n::-webkit-scrollbar {\n\twidth: 6px;\n\theight: 6px;\n}\n\n::-webkit-scrollbar-track {\n\tbackground: #ffffff;\n}\n\n::-webkit-scrollbar-thumb {\n\tbackground: #eeeeee;\n}\n\n#product-content-accordian {\n\tmargin: 0 -1rem;\n}\n\n.content-mobile-accordian {\n\tborder-radius: 0 !important;\n\tborder-left: 0 !important;\n\tborder-right: 0 !important;\n}\n\n.content-mobile-accordian .accordion-body {\n\tpadding: 0;\n}\n\n.content-mobile-accordian .accordion-header .accordion-button {\n\tpadding: 1.5rem !important;\n\tfont-weight: bold;\n\tcolor: var(--secondary-color);\n\tfont-size: 1.25rem;\n\tbackground-color: #ffffff !important;\n\toutline: none !important;\n}\n\n.content-mobile-accordian .accordion-header .accordion-button:focus {\n\tbox-shadow: none !important;\n}\n\n.content-mobile-accordian .accordion-header .accordion-button:after {\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\") !important;\n}\n\n#category.mobile {\n\tmargin-top: 0.75rem;\n\tmargin-left: 0 !important;\n}\n\n.no-content {\n\ttext-align: center;\n\tpadding: 2rem;\n\tfont-weight: 500;\n\tcolor: var(--color-gray);\n\tfont-size: 1.5rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentTabs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentTabs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentTabs.vue?vue&type=template&id=750843f4&scoped=true&\"\nimport script from \"./ProductContentTabs.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentTabs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentTabs.vue?vue&type=style&index=0&id=750843f4&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"750843f4\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.loading && _vm.productVariantData != null)?_c('div',{staticClass:\"product-details-card hide-tab-mobile\"},[_c('div',{staticClass:\"product-image hide-tab-mobile\"},[_c('img',{class:(\"thumbnail-img \" + (_vm.isThumbnailError ? 'error' : '')),attrs:{\"src\":_vm.thumbnailPath,\"alt\":_vm.productVariantData.product.friendlyTitle},on:{\"error\":function () {\n\t\t\t\t\t\t\t_vm.isThumbnailError = true;\n\t\t\t\t\t\t}}}),(_vm.videoPreviewUrl)?_c('i',{staticClass:\"fa fa-play-circle video-thumbnail-icon\",on:{\"click\":_vm.openThumbnailPreview}}):_vm._e()]),_c('div',{staticClass:\"product-card-content\"},[(_vm.lowestVariantPrice.discountedPrice > 0 && !_vm.hasOnlyOnePlan)?_c('p',{staticClass:\"m-0 text-muted\"},[_vm._v(\" Starting from\"),_c('br')]):_vm._e(),(_vm.productVariantData.status == _vm.ProductVariantStatus.COMING_SOON)?_c('h3',[_vm._v(\" \"+_vm._s(_vm.productVariantData.status)+\" \")]):(!_vm.contactUsFormLink)?_c('div',[(_vm.plansLoaded)?_c('h3',{class:(\"product-price text-bold d-flex justify-content-center gap-2 align-items-center \" + (_vm.lowestVariantPrice.discountedPrice == -1 ? 'unavailable' : ''))},[(_vm.priceBeforeDiscount != _vm.priceAfterDiscount)?_c('span',{staticClass:\"text-danger pre-discounted-price\"},[_c('del',[_vm._v(\" \"+_vm._s(_vm.parseCurrency(_vm.lowestVariantPrice.price, _vm.selectedPlan.currency))+\" \"),(\n                    _vm.filteredPricingPlans &&\n                    _vm.filteredPricingPlans.length > 0 &&\n                    _vm.filteredPricingPlans[0].type ==\n                      _vm.PricingPlanType.MULTIPLE_PAYMENT_CYCLES &&\n                    _vm.hasOnlyOnePlan)?_c('p',{staticClass:\"m-0 text-muted superscript\"},[_vm._v(\" /month \")]):_vm._e()])]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.lowestVariantPrice.discountedPrice > 0 ? _vm.parseCurrency(_vm.lowestVariantPrice.discountedPrice, _vm.selectedPlan.currency, 2) : _vm.lowestVariantPrice.discountedPrice == 0 ? \"Free\" : \"This course is not available in your country\")+\" \"),(\n\t\t\t\t\t\t\t_vm.filteredPricingPlans &&\n\t\t\t\t\t\t\t_vm.filteredPricingPlans.length > 0 &&\n\t\t\t\t\t\t\t_vm.filteredPricingPlans[0].type ==\n\t\t\t\t\t\t\t\t_vm.PricingPlanType.MULTIPLE_PAYMENT_CYCLES &&\n\t\t\t\t\t\t\t_vm.hasOnlyOnePlan\n\t\t\t\t\t\t)?_c('p',{staticClass:\"m-0 text-muted superscript\"},[_vm._v(\" /month \")]):_vm._e(),(_vm.priceBeforeDiscount != _vm.priceAfterDiscount)?_c('sub',{staticClass:\"discount-percentage-off\"},[_vm._v(\"(\"+_vm._s(_vm.discountPercentage)+\"% off)\")]):_vm._e()]):_c('div',{staticClass:\"d-flex justify-content-center\"},[_c('b-skeleton',{staticClass:\"hide-tab-mobile mb-2\",attrs:{\"type\":\"button\",\"width\":\"50%\",\"height\":\"2.5rem\"}})],1)]):_vm._e(),(_vm.productVariantDates)?_c('p',[_c('i',{staticClass:\"fas fa-history icon-gray\"}),_vm._v(\" \"+_vm._s(_vm.productVariantDates)),_c('br')]):_vm._e(),(_vm.productVariantData.status != _vm.ProductVariantStatus.COMING_SOON)?_c('div',{staticClass:\"button-container\"},[(_vm.contactUsFormLink)?_c('div',[_c('a',{staticClass:\"success-btn\",attrs:{\"href\":_vm.contactUsFormLink,\"target\":\"_blank\"}},[_vm._v(\"Contact Us\")])]):_c('div',[(!_vm.isInCart)?_c('button',{staticClass:\"border-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.lowestVariantPrice.discountedPrice == -1},on:{\"click\":_vm.handleClick}},[_vm._v(\" Add to Cart \")]):_vm._e(),_c('button',{class:['success-btn', { cart: _vm.isInCart }],attrs:{\"role\":\"button\",\"disabled\":_vm.lowestVariantPrice.discountedPrice == -1},on:{\"click\":_vm.handleClick}},[_vm._v(\" \"+_vm._s(_vm.btnText)+\" \")])])]):_vm._e(),(_vm.productVariantData.features)?_c('div',{staticClass:\"product-features-container\"},[_vm._m(0),_c('ul',{staticClass:\"product-features-list p-0 m-0\"},_vm._l((_vm.productVariantData.features),function(feature,index){return _c('li',{key:index,staticClass:\"product-features-list-item\"},[_c('i',{staticClass:\"fas fa-bars icon-gray\"}),_vm._v(\" \"+_vm._s(feature)+\" \")])}),0)]):_vm._e()])]):_c('div',{staticClass:\"product-details-card skeleton\"},[_c('div',{staticClass:\"product-image hide-tab-mobile\"},[_c('b-skeleton-img')],1),_c('div',{staticClass:\"product-card-content d-flex align-items-center\"},[_c('b-skeleton',{staticClass:\"hide-tab-mobile\",attrs:{\"type\":\"button\",\"width\":\"50%\",\"height\":\"3rem\"}}),_c('b-skeleton',{staticClass:\"hide-tab-mobile mt-3\",attrs:{\"width\":\"40%\"}}),_c('div',{staticClass:\"button-container width-100 hide-tab-mobile\"},[_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"type\":\"button\",\"width\":\"95%\",\"height\":\"4.5rem\"}}),_c('b-skeleton',{staticClass:\"m-3 mr-0\",attrs:{\"type\":\"button\",\"width\":\"95%\",\"height\":\"4.5rem\"}})],1),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"width\":\"100%\"}}),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"width\":\"100%\"}}),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"width\":\"100%\"}}),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"width\":\"100%\"}})],1)]),_c('b-modal',{attrs:{\"visible\":_vm.showVideoPreview,\"centered\":\"\",\"hide-footer\":\"\",\"hide-header\":\"\",\"size\":\"xl\",\"body-class\":\"video-modal-body\",\"modal-class\":\"video-modal\"},on:{\"change\":function($event){return _vm.closeVideoPreviewModal()}}},[_c('div',{staticClass:\"body-container\"},[_c('video',{staticClass:\"video-preview\",attrs:{\"src\":_vm.videoPreviewUrl,\"controls\":\"\",\"autoplay\":\"\"}})])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"or-divider\"},[_c('span',[_vm._v(\"THIS COURSE INCLUDES\")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div\n\t\t\tclass=\"product-details-card hide-tab-mobile\"\n\t\t\tv-if=\"!loading && productVariantData != null\"\n\t\t>\n\t\t\t<div class=\"product-image hide-tab-mobile\">\n\t\t\t\t<img\n          :src=\"thumbnailPath\"\n\t\t\t\t\t:alt=\"productVariantData.product.friendlyTitle\"\n\t\t\t\t\t:class=\"`thumbnail-img ${isThumbnailError ? 'error' : ''}`\"\n\t\t\t\t\t@error=\"\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tisThumbnailError = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\"\n\t\t\t\t/>\n          <i v-if=\"videoPreviewUrl\" class=\"fa fa-play-circle video-thumbnail-icon\" @click=\"openThumbnailPreview\"></i>\n\t\t\t</div>\n\t\t\t<div class=\"product-card-content\">\n\t\t\t\t<p\n\t\t\t\t\tclass=\"m-0 text-muted\"\n\t\t\t\t\tv-if=\"lowestVariantPrice.discountedPrice > 0 && !hasOnlyOnePlan\"\n\t\t\t\t>\n\t\t\t\t\tStarting from<br />\n\t\t\t\t</p>\n\t\t\t\t<h3\n\t\t\t\t\tv-if=\"productVariantData.status == ProductVariantStatus.COMING_SOON\"\n\t\t\t\t>\n\t\t\t\t\t{{ productVariantData.status }}\n\t\t\t\t</h3>\n\t\t\t\t<div v-else-if=\"!contactUsFormLink\">\n          <h3\n              v-if=\"plansLoaded\"\n              :class=\"`product-price text-bold d-flex justify-content-center gap-2 align-items-center ${\n\t\t\t\t\t\tlowestVariantPrice.discountedPrice == -1 ? 'unavailable' : ''\n\t\t\t\t\t}`\"\n          >\n            <span v-if=\"priceBeforeDiscount != priceAfterDiscount\" class=\"text-danger pre-discounted-price\">\n              <del>\n                {{ parseCurrency(lowestVariantPrice.price, selectedPlan.currency) }}\n                <p\n                    class=\"m-0 text-muted superscript\"\n                    v-if=\"\n                    filteredPricingPlans &&\n                    filteredPricingPlans.length > 0 &&\n                    filteredPricingPlans[0].type ==\n                      PricingPlanType.MULTIPLE_PAYMENT_CYCLES &&\n                    hasOnlyOnePlan\">\n                    /month\n                </p>\n              </del>\n            </span>\n            {{\n              lowestVariantPrice.discountedPrice > 0\n                  ? parseCurrency(lowestVariantPrice.discountedPrice, selectedPlan.currency, 2)\n                  : lowestVariantPrice.discountedPrice == 0\n                      ? \"Free\"\n                      : \"This course is not available in your country\"\n            }}\n            <p\n                class=\"m-0 text-muted superscript\"\n                v-if=\"\n\t\t\t\t\t\t\tfilteredPricingPlans &&\n\t\t\t\t\t\t\tfilteredPricingPlans.length > 0 &&\n\t\t\t\t\t\t\tfilteredPricingPlans[0].type ==\n\t\t\t\t\t\t\t\tPricingPlanType.MULTIPLE_PAYMENT_CYCLES &&\n\t\t\t\t\t\t\thasOnlyOnePlan\n\t\t\t\t\t\t\"\n            >\n              /month\n            </p>\n            <sub class=\"discount-percentage-off\" v-if=\"priceBeforeDiscount != priceAfterDiscount\">({{discountPercentage}}% off)</sub>\n          </h3>\n\n\n          <div v-else class=\"d-flex justify-content-center\">\n            <b-skeleton\n                class=\"hide-tab-mobile mb-2\"\n                type=\"button\"\n                width=\"50%\"\n                height=\"2.5rem\"\n            ></b-skeleton>\n          </div>\n        </div>\n\t\t\t\t<p v-if=\"productVariantDates\">\n\t\t\t\t\t<i class=\"fas fa-history icon-gray\"></i>\n\t\t\t\t\t{{ productVariantDates }}<br />\n\t\t\t\t</p>\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"productVariantData.status != ProductVariantStatus.COMING_SOON\"\n\t\t\t\t\tclass=\"button-container\"\n\t\t\t\t>\n          <div v-if=\"contactUsFormLink\">\n            <a class=\"success-btn\" :href=\"contactUsFormLink\" target=\"_blank\">Contact Us</a>\n          </div>\n\t\t\t\t\t<div v-else>\n            <button\n                v-if=\"!isInCart\"\n                @click=\"handleClick\"\n                role=\"button\"\n                class=\"border-btn\"\n                :disabled=\"lowestVariantPrice.discountedPrice == -1\"\n            >\n              Add to Cart\n            </button>\n            <button\n                @click=\"handleClick\"\n                role=\"button\"\n                :class=\"['success-btn', { cart: isInCart }]\"\n                :disabled=\"lowestVariantPrice.discountedPrice == -1\"\n            >\n              {{ btnText }}\n            </button>\n          </div>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"productVariantData.features\"\n\t\t\t\t\tclass=\"product-features-container\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"or-divider\">\n\t\t\t\t\t\t<span>THIS COURSE INCLUDES</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ul class=\"product-features-list p-0 m-0\">\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tclass=\"product-features-list-item\"\n\t\t\t\t\t\t\tv-for=\"(feature, index) in productVariantData.features\"\n\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<i class=\"fas fa-bars icon-gray\"></i> {{ feature }}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div v-else class=\"product-details-card skeleton\">\n\t\t\t<div class=\"product-image hide-tab-mobile\">\n\t\t\t\t<b-skeleton-img></b-skeleton-img>\n\t\t\t</div>\n\n\t\t\t<div class=\"product-card-content d-flex align-items-center\">\n\t\t\t\t<b-skeleton\n\t\t\t\t\tclass=\"hide-tab-mobile\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\twidth=\"50%\"\n\t\t\t\t\theight=\"3rem\"\n\t\t\t\t></b-skeleton>\n\t\t\t\t<b-skeleton class=\"hide-tab-mobile mt-3\" width=\"40%\"></b-skeleton>\n\n\t\t\t\t<div class=\"button-container width-100 hide-tab-mobile\">\n\t\t\t\t\t<b-skeleton\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\twidth=\"95%\"\n\t\t\t\t\t\theight=\"4.5rem\"\n\t\t\t\t\t\tclass=\"mt-3\"\n\t\t\t\t\t></b-skeleton>\n\t\t\t\t\t<b-skeleton\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\twidth=\"95%\"\n\t\t\t\t\t\theight=\"4.5rem\"\n\t\t\t\t\t\tclass=\"m-3 mr-0\"\n\t\t\t\t\t></b-skeleton>\n\t\t\t\t</div>\n\t\t\t\t<b-skeleton width=\"100%\" class=\"mt-3\"></b-skeleton>\n\t\t\t\t<b-skeleton width=\"100%\" class=\"mt-3\"></b-skeleton>\n\t\t\t\t<b-skeleton width=\"100%\" class=\"mt-3\"></b-skeleton>\n\t\t\t\t<b-skeleton width=\"100%\" class=\"mt-3\"></b-skeleton>\n\t\t\t</div>\n\t\t</div>\n    <b-modal\n        :visible=\"showVideoPreview\"\n        centered\n        hide-footer\n        hide-header\n        @change=\"closeVideoPreviewModal()\"\n        size=\"xl\"\n        body-class=\"video-modal-body\"\n        modal-class=\"video-modal\"\n    >\n      <div class=\"body-container\">\n\n        <video :src=\"videoPreviewUrl\" class=\"video-preview\" controls autoplay></video>\n      </div>\n    </b-modal>\n\t</div>\n</template>\n\n<script>\nimport router from \"../../router\";\nimport { mapActions, mapState } from \"vuex\";\nimport {\n\ttoCurrencyString,\n\ttoShortDateString,\n} from \"../../helpers/FormatHelpers\";\n\nimport {\n\tPricingPlanType,\n\tProductVariantPricingStatus,\n} from \"../../constants/pricing\";\n\nimport { ProductVariantStatus } from \"../../constants/productVariant\";\n\nexport default {\n\tname: \"ProductDetailsCard\",\n\tdata() {\n\t\treturn {\n\t\t\tshowPromoInput: false,\n\t\t\tpromoValue: \"\",\n\t\t\tactiveTab: \"0\",\n\t\t\tplansLoaded: false,\n\t\t\tselectedPlan: null,\n\t\t\tisThumbnailError: false,\n\t\t\tPricingPlanType,\n\t\t\tProductVariantPricingStatus,\n\t\t\tProductVariantStatus,\n      showVideoPreview: false\n\t\t};\n\t},\n\tprops: { productVariantData: Object },\n\tmethods: {\n\t\t...mapActions(\"cart\", [\"addToCart\"]),\n\t\t...mapActions(\"pricing\", [\"fetchPricingPlanByProductVariantId\"]),\n\t\ttogglePromoInput() {\n\t\t\tthis.showPromoInput = !this.showPromoInput;\n\t\t\tthis.promoValue = \"\";\n\t\t},\n\t\thandleClick() {\n\t\t\tif (!this.isInCart) {\n\t\t\t\t// console.log(\"buy now clicked\");\n\t\t\t\tif (this.productVariantData.pricingStatus.toLowerCase() == \"paid\") {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.hasOnlyOnePlan &&\n\t\t\t\t\t\tthis.filteredPricingPlans[0].type == PricingPlanType.ONE_TIME\n\t\t\t\t\t) {\n\n\t\t\t\t\t\tvar isCartItemsCurrenyIsSame=this.cart.items.find(val=>val.pricing.currency == this.selectedPlan.currency)!=null;\n\n\t\t\t\t\t\tif (this.cart.items.length > 0 && !isCartItemsCurrenyIsSame) {\n\t\t\t\t\t\t\tthis.$toasted.error(\n\t\t\t\t\t\t\t\t\"You can only add courses of one currency in your cart.\",\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\t\tposition: \"bottom-right\",\n\t\t\t\t\t\t\t\t\tduration: 2000,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.productVariantData.selectedPlan = this.selectedPlan;\n\t\t\t\t\t\tthis.productVariantData.pricing.amount = this.lowestVariantPrice.discountedPrice;\n\t\t\t\t\t\tthis.productVariantData.pricing.currency =\n\t\t\t\t\t\t\tthis.selectedPlan.currency;\n\t\t\t\t\t\tthis.addToCart(this.productVariantData);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$emit(\"togglePlansModal\", true);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.addToCart(this.productVariantData);\n\t\t\t\t\trouter.push(\"/shop/checkout\");\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\trouter.push(\"/shop/checkout\");\n\t\t\t}\n\t\t},\n\t\tparseCurrency(amount, currency, decimal) {\n\t\t\treturn toCurrencyString(amount, currency, decimal);\n\t\t},\n    openThumbnailPreview() {\n      this.showVideoPreview = true;\n    },\n    closeVideoPreviewModal() {\n      this.showVideoPreview = false;\n    }\n\t},\n\tcomputed: {\n\t\t...mapState(\"cart\", [\"cart\"]),\n\t\t...mapState(\"productVariant\", [\"loading\"]),\n\t\t...mapState(\"pricing\", [\"pricingPlanByProductVariantId\"]),\n\t\t...mapState(\"appState\", [\"currentCurrency\", \"currentCountry\", \"systemParameters\"]),\n\t\tisInCart() {\n\t\t\tvar found = false;\n\t\t\tthis.cart.items.map((item) => {\n\t\t\t\tif (item.id == this.productVariantData.id) found = true;\n\t\t\t});\n\t\t\treturn found;\n\t\t},\n\t\tbtnText() {\n\t\t\tif (this.isInCart) {\n\t\t\t\treturn \"View Cart\";\n\t\t\t}\n\t\t\tif (this.lowestVariantPrice.discountedPrice == 0) {\n\t\t\t\treturn \"Enroll Now\";\n\t\t\t}\n\t\t\treturn \"Buy Now\";\n\t\t},\n\t\tthumbnailPath() {\n\t\t\tif (this.isThumbnailError) {\n\t\t\t\tconsole.log(\"thumbnail error\");\n\t\t\t\treturn require(`@/assets/images/image-error.png`);\n\t\t\t} else {\n\t\t\t\tif (this.productVariantData.thumbnailPath) {\n          var path = !this.productVariantData.thumbnailPath.includes(\"http\")\n            ? require(`@/${this.productVariantData.product.thumbnailPath}`)\n            : this.productVariantData.thumbnailPath;\n          return path;\n\t\t\t\t} else\n\t\t\t\t\treturn require(`@/${this.productVariantData.product.thumbnailPath}`);\n\t\t\t}\n\t\t},\n    videoPreviewUrl() {\n      return this.productVariantData.properties.videoPreviewUrl;\n    },\n\t\tproductVariantDates() {\n\t\t\tvar dateString = null;\n\t\t\tif (\n\t\t\t\tthis.productVariantData.startDate &&\n\t\t\t\t!this.productVariantData.endDate\n\t\t\t) {\n\t\t\t\tdateString =\n\t\t\t\t\t\"Starting from \" +\n\t\t\t\t\ttoShortDateString(this.productVariantData.startDate);\n\t\t\t} else if (\n\t\t\t\t!this.productVariantData.startDate &&\n\t\t\t\tthis.productVariantData.endDate\n\t\t\t) {\n\t\t\t\tdateString =\n\t\t\t\t\t\"Till \" + toShortDateString(this.productVariantData.endDate);\n\t\t\t} else if (\n\t\t\t\tthis.productVariantData.startDate &&\n\t\t\t\tthis.productVariantData.endDate\n\t\t\t) {\n\t\t\t\tdateString =\n\t\t\t\t\ttoShortDateString(this.productVariantData.startDate) +\n\t\t\t\t\t\" - \" +\n\t\t\t\t\ttoShortDateString(this.productVariantData.endDate);\n\t\t\t}\n\t\t\treturn dateString;\n\t\t},\n\t\tfilteredPricingPlans() {\n\t\t\tif (\n\t\t\t\tthis.productVariantData &&\n\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id]\n\t\t\t) {\n\t\t\t\treturn this.pricingPlanByProductVariantId[\n\t\t\t\t\tthis.productVariantData.id\n\t\t\t\t].filter(\n\t\t\t\t\t(plan) =>\n\t\t\t\t\t\tthis.currentCountry &&\n\t\t\t\t\t\tplan.country &&\n\t\t\t\t\t\tplan.country.indexOf(this.currentCountry.toUpperCase()) != -1\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\t\tlowestVariantPrice() {\n\n      let retVal = {\n        price: undefined,\n        discountedPrice: undefined\n      }\n\n\t  if(this.productVariantData && this.productVariantData.pricingStatus == ProductVariantPricingStatus.FREE) {\n        retVal.price = 0;\n        retVal.discountedPrice = 0;\n        return retVal;\n      }\n\n      if(!this.productVariantData || !this.filteredPricingPlans || this.filteredPricingPlans.length <= 0) {\n        retVal.price = -1;\n        retVal.discountedPrice = -1;\n        return retVal;\n      }\n\n      retVal.price = Number.MAX_VALUE;\n\n      this.filteredPricingPlans.forEach((plan) => {\n        plan.details.forEach((detail) => {\n          let planAmount = detail.amountDetail.find(x => x.title.toLowerCase() == \"price\").amount || detail.amount;\n          let planHasDiscount = detail.amountDetail.find(x => x.title.toLowerCase() == \"discount\") ? true : false;\n          let planDiscount = planHasDiscount ? Math.abs(detail.amountDetail.find(x => x.title.toLowerCase() == \"discount\").amount) : 0.00;\n\n          let discountedAmount = planAmount - planDiscount;\n\n          if (discountedAmount < (retVal.discountedPrice || retVal.price)) {\n            retVal.price = planAmount;\n            retVal.discountedPrice = discountedAmount;\n          }\n        });\n      });\n      return retVal;\n\n\t\t},\n\t\thasOnlyOnePlan() {\n\t\t\tif (\n\t\t\t\tthis.productVariantData &&\n\t\t\t\tthis.filteredPricingPlans &&\n\t\t\t\tthis.filteredPricingPlans.length > 0\n\t\t\t) {\n\t\t\t\treturn this.filteredPricingPlans.length == 1;\n\t\t\t} else return false;\n\t\t},\n    contactUsFormLink() {\n      return this.productVariantData.properties && this.productVariantData.properties.contact_us_link_for_enrollment ?\n          this.productVariantData.properties.contact_us_link_for_enrollment :\n          this.systemParameters && this.systemParameters.ContactUsLinkForProductVariantEnrollment ?\n              this.systemParameters.ContactUsLinkForProductVariantEnrollment :\n              undefined;\n    },\n    priceBeforeDiscount() {\n      return this.lowestVariantPrice.price;\n    },\n    priceAfterDiscount() {\n      return this.lowestVariantPrice.discountedPrice;\n    },\n    discountPercentage() {\n      if(this.priceBeforeDiscount == this.priceAfterDiscount)\n        return 0.00;\n\n      return ((1 - (this.priceAfterDiscount/ this.priceBeforeDiscount)) * 100);\n    }\n\t},\n\tcreated() {\n\t\tif (\n\t\t\t!this.productVariantData ||\n\t\t\t(this.productVariantData &&\n\t\t\t\t!this.pricingPlanByProductVariantId[this.productVariantData.id])\n\t\t) {\n\t\t\tthis.fetchPricingPlanByProductVariantId(this.productVariantData.id).then(\n\t\t\t\t() => {\n\t\t\t\t\tthis.plansLoaded = true;\n\t\t\t\t\tif (this.filteredPricingPlans && this.filteredPricingPlans.length)\n\t\t\t\t\t\tthis.selectedPlan = this.filteredPricingPlans[0];\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tthis.plansLoaded = true;\n\t\t\tif (this.filteredPricingPlans && this.filteredPricingPlans.length)\n\t\t\t\tthis.selectedPlan = this.filteredPricingPlans[0];\n\t\t}\n\t},\n\twatch: {\n\t\tproductVariantData: function () {\n\t\t\tthis.isThumbnailError = false;\n\t\t\tthis.plansLoaded = false;\n\t\t\tif (\n\t\t\t\t!this.productVariantData ||\n\t\t\t\t(this.productVariantData &&\n\t\t\t\t\t!this.pricingPlanByProductVariantId[this.productVariantData.id])\n\t\t\t) {\n\t\t\t\tthis.fetchPricingPlanByProductVariantId(\n\t\t\t\t\tthis.productVariantData.id\n\t\t\t\t).then(() => {\n\t\t\t\t\tthis.plansLoaded = true;\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id] &&\n\t\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id]\n\t\t\t\t\t\t\t.length > 0\n\t\t\t\t\t)\n\t\t\t\t\t\tthis.selectedPlan = this.filteredPricingPlans[0];\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.plansLoaded = true;\n\t\t\t\tif (\n\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id] &&\n\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id]\n\t\t\t\t\t\t.length > 0\n\t\t\t\t)\n\t\t\t\t\tthis.selectedPlan = this.filteredPricingPlans[0];\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.product-details-card {\n\t\ttop: 1rem !important;\n\t\tmin-height: unset !important;\n\t\tborder-radius: 0 !important;\n\t\tborder: none !important;\n\t\t/* width: 100vw !important; */\n\t}\n\n\t.product-details-card-container {\n\t\tpadding: 0 !important;\n\t\tmargin: 0 -12px 0 !important;\n\t}\n\n\t.product-card-content {\n\t\tpadding-bottom: 0 !important;\n\t}\n}\n\n@media screen and (max-width: 768px) {\n\t.product-card-content {\n\t\tfont-size: 1.1rem !important;\n\t\tpadding: 1rem !important;\n\t}\n\n\t.product-card-content p {\n\t\tfont-size: 1rem !important;\n\t\tmargin-bottom: 0 !important;\n\t\tpadding: 1rem !important;\n\t}\n\n\t.add-promo {\n\t\tmargin-top: 1rem !important;\n\t}\n}\n\n@media screen and (max-width: 600px) {\n\t.product-details-card {\n\t\ttop: 0 !important;\n\t}\n}\n\n.product-details-card-container {\n\tpadding-left: 1rem;\n}\n\n.product-details-card {\n\twidth: 100%;\n\tposition: relative;\n\tbackground-color: var(--color-white);\n\ttop: -10rem;\n\tborder-radius: 0.625rem;\n\tz-index: 900;\n\tborder: 1px solid #bbbdbf;\n\tbox-shadow: 0 3px 25px #d5d5d529;\n}\n\n.product-image {\n\tdisplay: flex;\n\tjustify-content: center;\n\tmargin: -2rem auto 0px;\n\twidth: 100%;\n  align-items: center;\n}\n\n.product-image .b-aspect {\n\twidth: 100%;\n}\n\n.product-image .b-skeleton-img {\n\twidth: 90%;\n\tborder-radius: 1rem;\n\tmargin: 0 auto;\n\tbackground-color: #dddddd;\n}\n\n.product-image img {\n\theight: auto;\n\tmin-height: 17.5rem;\n\tobject-fit: cover;\n\tobject-position: top;\n\twidth: 90%;\n\tborder-radius: 0.75rem;\n\tbox-shadow: 0 -6px 8px #d5d5d529;\n\tbackground-color: #efefef;\n}\n.product-image .thumbnail-img.error {\n\tobject-fit: contain !important;\n\tpadding: 0 8rem;\n\tobject-position: center;\n}\n\n.product-image .thumbnail-video {\n  cursor: pointer;\n}\n\n.product-card-content {\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 1.625rem;\n\ttext-align: center;\n}\n\n.product-price {\n\tfont-size: 2.125rem;\n\tfont-weight: bold;\n}\n\n.product-price.unavailable {\n\tfont-size: 1.5rem;\n}\n\n.product-price .pre-discounted-price {\n  font-size: 1.25rem;\n  font-weight: normal;\n}\n\n.discount-percentage-off {\n  font-size: 1rem;\n  font-weight: normal;\n}\n\n.product-card-content p {\n\tfont-size: 0.875rem;\n}\n\n.icon-gray {\n\tcolor: #a7a9ac;\n\tmargin-right: 0.25rem;\n\tfont-size: 0.875rem;\n}\n\n.button-container > div {\n\tdisplay: grid;\n\tgrid-auto-flow: column;\n\tgrid-auto-columns: 1fr;\n\tmargin: 0.875rem 0;\n}\n\n.button-container button, .button-container a {\n\tpadding: 1.25rem 0;\n\tfont-size: 1.375rem;\n\tfont-weight: 500;\n\tline-height: 1.3;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n}\n\n.button-container .border-btn {\n\tmargin-right: 0.75rem;\n\tcolor: #000000;\n}\n.button-container .success-btn {\n\tmargin-left: 0.75rem;\n}\n\n.button-container .success-btn.cart {\n\tmargin-left: 0;\n}\n\n.or-divider {\n\tfont-size: 1.125rem;\n\tfont-weight: bold;\n\tborder-color: #a7a9ac;\n}\n\n.or-divider span {\n\tpadding: 0 2rem;\n}\n.product-features-container {\n\tmargin: 1.25rem 0 0;\n}\n\n.product-features-list-item {\n\tlist-style: none;\n\tfont-size: 1.125rem;\n\tline-height: 2.813rem;\n}\n\n.promo-code-container {\n\tpadding: 1.875rem 1.5rem;\n\ttext-align: center;\n\tborder-radius: 0 0 0.625rem 0.625rem;\n\tbackground-color: #fafafa;\n\tborder-top: 1px solid #bbbdbf;\n}\n\n.add-promo .add-promo-text {\n\ttext-decoration: underline !important;\n\tfont-weight: 500 !important;\n\tfont-size: 1.375rem;\n\tcolor: var(--color-black);\n}\n\n.promo-delete :hover,\n.promo-delete:active,\n.promo-delete:visited,\n.promo-delete:focus {\n\tcolor: var(--color-danger);\n}\n\n.promo-delete {\n\tmargin: 0.675rem 2.75rem 0 0 !important;\n\tcolor: var(--color-danger);\n}\n\n.video-modal-body {\n  padding: 0 !important;\n}\n\n.video-modal .body-container {\n  background: black;\n}\n\n.video-thumbnail-icon {\n  opacity: 0.5;\n  position: absolute;\n  font-size: 5rem;\n  cursor: pointer;\n}\n\n.video-thumbnail-icon:hover {\n  opacity: 1;\n}\n\n.video-preview {\n  width: 100%;\n  height: 100%;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDetailsCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDetailsCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductDetailsCard.vue?vue&type=template&id=97d1da3c&scoped=true&\"\nimport script from \"./ProductDetailsCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductDetailsCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductDetailsCard.vue?vue&type=style&index=0&id=97d1da3c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"97d1da3c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading && _vm.productVariantData != null)?_c('div',{staticClass:\"product-details-card-mobile\"},[_c('div',{staticClass:\"product-card-content\"},[_c('div',{staticClass:\"content-container\"},[(_vm.productVariantData.status == _vm.ProductVariantStatus.COMING_SOON)?_c('h3',[_vm._v(\" \"+_vm._s(_vm.productVariantData.status)+\" \")]):(!_vm.contactUsFormLink)?_c('div',[(_vm.plansLoaded)?_c('h3',{staticClass:\"product-price text-bold\"},[(_vm.priceBeforeDiscount != _vm.priceAfterDiscount)?_c('span',{staticClass:\"text-danger pre-discounted-price\"},[_c('del',[_vm._v(\" \"+_vm._s(_vm.parseCurrency(_vm.lowestVariantPrice.price, _vm.selectedPlan.currency))+\" \"),(\n                    _vm.filteredPricingPlans &&\n                    _vm.filteredPricingPlans.length > 0 &&\n                    _vm.filteredPricingPlans[0].type ==\n                      _vm.PricingPlanType.MULTIPLE_PAYMENT_CYCLES &&\n                    _vm.hasOnlyOnePlan)?_c('p',{staticClass:\"m-0 text-muted superscript\"},[_vm._v(\" /month \")]):_vm._e()])]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.lowestVariantPrice.discountedPrice > 0 ? _vm.parseCurrency(_vm.lowestVariantPrice.discountedPrice, _vm.selectedPlan.currency, 2) : _vm.lowestVariantPrice.discountedPrice == 0 ? \"Free\" : \"This course is not available in you country\")+\" \"),(\n                _vm.filteredPricingPlans &&\n                _vm.filteredPricingPlans.length > 0 &&\n                _vm.filteredPricingPlans[0].type ==\n                  _vm.PricingPlanType.MULTIPLE_PAYMENT_CYCLES &&\n                _vm.hasOnlyOnePlan\n              )?_c('p',{staticClass:\"m-0 text-muted superscript\"},[_vm._v(\" /month \")]):_vm._e(),(_vm.priceBeforeDiscount != _vm.priceAfterDiscount)?_c('sub',{staticClass:\"discount-percentage-off\"},[_vm._v(\"(\"+_vm._s(_vm.discountPercentage)+\"% off)\")]):_vm._e()]):_vm._e()]):_vm._e(),(_vm.productVariantDates)?_c('p',{staticClass:\"product-dates\"},[_c('i',{staticClass:\"fas fa-history icon-gray\"}),(_vm.productVariantData.startDate && _vm.productVariantData.endDate)?_c('span',[_vm._v(\" \"+_vm._s(_vm.productVariantDates)),_c('br')]):_vm._e()]):_vm._e()]),_c('div',{staticClass:\"button-container\"},[(_vm.contactUsFormLink)?_c('a',{staticClass:\"success-btn\",attrs:{\"href\":_vm.contactUsFormLink,\"target\":\"_blank\"}},[_vm._v(\"Contact Us\")]):_c('button',{staticClass:\"success-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.lowestVariantPrice.discountedPrice == -1},on:{\"click\":_vm.handleClick}},[_vm._v(\" \"+_vm._s(_vm.btnText)+\" \")])])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\tclass=\"product-details-card-mobile\"\n\t\tv-if=\"!loading && productVariantData != null\"\n\t>\n\t\t<div class=\"product-card-content\">\n\t\t\t<div class=\"content-container\">\n\t\t\t\t<h3\n\t\t\t\t\tv-if=\"productVariantData.status == ProductVariantStatus.COMING_SOON\"\n\t\t\t\t>\n\t\t\t\t\t{{ productVariantData.status }}\n\t\t\t\t</h3>\n        <div v-else-if=\"!contactUsFormLink\">\n\n          <h3 v-if=\"plansLoaded\" class=\"product-price text-bold\">\n            <span v-if=\"priceBeforeDiscount != priceAfterDiscount\" class=\"text-danger pre-discounted-price\">\n              <del>\n                {{ parseCurrency(lowestVariantPrice.price, selectedPlan.currency) }}\n                <p\n                    class=\"m-0 text-muted superscript\"\n                    v-if=\"\n                    filteredPricingPlans &&\n                    filteredPricingPlans.length > 0 &&\n                    filteredPricingPlans[0].type ==\n                      PricingPlanType.MULTIPLE_PAYMENT_CYCLES &&\n                    hasOnlyOnePlan\">\n                    /month\n                </p>\n              </del>\n            </span>\n            {{\n              lowestVariantPrice.discountedPrice > 0\n                ? parseCurrency(lowestVariantPrice.discountedPrice, selectedPlan.currency, 2)\n                : lowestVariantPrice.discountedPrice == 0\n                ? \"Free\"\n                : \"This course is not available in you country\"\n            }}\n            <p\n              class=\"m-0 text-muted superscript\"\n              v-if=\"\n                filteredPricingPlans &&\n                filteredPricingPlans.length > 0 &&\n                filteredPricingPlans[0].type ==\n                  PricingPlanType.MULTIPLE_PAYMENT_CYCLES &&\n                hasOnlyOnePlan\n              \"\n            >\n              /month\n            </p>\n            <sub class=\"discount-percentage-off\" v-if=\"priceBeforeDiscount != priceAfterDiscount\">({{discountPercentage}}% off)</sub>\n          </h3>\n        </div>\n\t\t\t\t<p v-if=\"productVariantDates\" class=\"product-dates\">\n\t\t\t\t\t<i class=\"fas fa-history icon-gray\"></i>\n\t\t\t\t\t<span\n\t\t\t\t\t\tv-if=\"productVariantData.startDate && productVariantData.endDate\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ productVariantDates }}<br />\n\t\t\t\t\t</span>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div class=\"button-container\">\n        <a v-if=\"contactUsFormLink\" :href=\"contactUsFormLink\" target=\"_blank\" class=\"success-btn\">Contact Us</a>\n\t\t\t\t<button v-else\n\t\t\t\t\t@click=\"handleClick\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"success-btn\"\n\t\t\t\t\t:disabled=\"lowestVariantPrice.discountedPrice == -1\"\n\t\t\t\t>\n\t\t\t\t\t{{ btnText }}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport router from \"../../router\";\nimport { mapActions, mapState } from \"vuex\";\nimport {\n\ttoCurrencyString,\n\ttoShortDateString,\n} from \"../../helpers/FormatHelpers\";\n\nimport {\n\tPricingPlanType,\n\tProductVariantPricingStatus,\n} from \"../../constants/pricing\";\n\nimport { ProductVariantStatus } from \"../../constants/productVariant\";\n\nexport default {\n\tname: \"ProductDetailsCardMobile\",\n\tprops: { productVariantData: Object },\n\tdata() {\n\t\treturn {\n\t\t\tplansLoaded: false,\n\t\t\tselectedPlan: null,\n\t\t\tisThumbnailError: false,\n\t\t\tPricingPlanType,\n\t\t\tProductVariantPricingStatus,\n\t\t\tProductVariantStatus,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"cart\", [\"addToCart\"]),\n\t\t...mapActions(\"pricing\", [\"fetchPricingPlanByProductVariantId\"]),\n\t\thandleClick() {\n\t\t\tif (!this.isInCart) {\n\t\t\t\t// console.log(\"buy now clicked\");\n\t\t\t\tif (this.productVariantData.pricingStatus.toLowerCase() == \"paid\") {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.hasOnlyOnePlan &&\n\t\t\t\t\t\tthis.filteredPricingPlans[0].type == PricingPlanType.ONE_TIME\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.productVariantData.selectedPlan = this.selectedPlan;\n\t\t\t\t\t\tthis.productVariantData.pricing.amount = this.lowestVariantPrice.discountedPrice;\n\t\t\t\t\t\tthis.productVariantData.pricing.currency =\n\t\t\t\t\t\t\tthis.selectedPlan.currency;\n\t\t\t\t\t\tthis.addToCart(this.productVariantData);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$emit(\"togglePlansModal\", true);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.addToCart(this.productVariantData);\n\t\t\t\t\trouter.push(\"/shop/checkout\");\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\trouter.push(\"/shop/checkout\");\n\t\t\t}\n\t\t},\n\t\tparseCurrency(amount, currency, decimal) {\n\t\t\treturn toCurrencyString(amount, currency, decimal);\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"cart\", [\"cart\"]),\n\t\t...mapState(\"productVariant\", [\"loading\"]),\n\t\t...mapState(\"pricing\", [\"pricingPlanByProductVariantId\"]),\n\t\t...mapState(\"appState\", [\"currentCountry\", \"systemParameters\"]),\n\t\tisInCart() {\n\t\t\tvar found = false;\n\t\t\tthis.cart.items.map((item) => {\n\t\t\t\tif (item.id == this.productVariantData.id) found = true;\n\t\t\t});\n\t\t\treturn found;\n\t\t},\n\t\tbtnText() {\n\t\t\tif (this.isInCart) {\n\t\t\t\treturn \"View Cart\";\n\t\t\t}\n\t\t\tif (this.lowestVariantPrice.discountedPrice == 0) {\n\t\t\t\treturn \"Enroll Now\";\n\t\t\t}\n\t\t\treturn \"Buy Now\";\n\t\t},\n\t\tproductVariantDates() {\n\t\t\tvar dateString = null;\n\t\t\tif (\n\t\t\t\tthis.productVariantData.startDate &&\n\t\t\t\t!this.productVariantData.endDate\n\t\t\t) {\n\t\t\t\tdateString =\n\t\t\t\t\t\"Starting from \" +\n\t\t\t\t\ttoShortDateString(this.productVariantData.startDate);\n\t\t\t} else if (\n\t\t\t\t!this.productVariantData.startDate &&\n\t\t\t\tthis.productVariantData.endDate\n\t\t\t) {\n\t\t\t\tdateString =\n\t\t\t\t\t\"Till \" + toShortDateString(this.productVariantData.endDate);\n\t\t\t} else if (\n\t\t\t\tthis.productVariantData.startDate &&\n\t\t\t\tthis.productVariantData.endDate\n\t\t\t) {\n\t\t\t\tdateString =\n\t\t\t\t\ttoShortDateString(this.productVariantData.startDate) +\n\t\t\t\t\t\" - \" +\n\t\t\t\t\ttoShortDateString(this.productVariantData.endDate);\n\t\t\t}\n\t\t\treturn dateString;\n\t\t},\n\t\tfilteredPricingPlans() {\n\t\t\tif (\n\t\t\t\tthis.productVariantData &&\n\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id]\n\t\t\t) {\n\t\t\t\treturn this.pricingPlanByProductVariantId[\n\t\t\t\t\tthis.productVariantData.id\n\t\t\t\t].filter(\n\t\t\t\t\t(plan) =>\n\t\t\t\t\t\tthis.currentCountry &&\n\t\t\t\t\t\tplan.country &&\n\t\t\t\t\t\tplan.country.indexOf(this.currentCountry.toUpperCase()) != -1\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n    lowestVariantPrice() {\n\n      let retVal = {\n        price: undefined,\n        discountedPrice: undefined\n      }\n\n\t  if(this.productVariantData && this.productVariantData.pricingStatus == ProductVariantPricingStatus.FREE) {\n        retVal.price = 0;\n        retVal.discountedPrice = 0;\n        return retVal;\n      }\n\t  \n      if(!this.productVariantData || !this.filteredPricingPlans || this.filteredPricingPlans.length <= 0) {\n        retVal.price = -1;\n        retVal.discountedPrice = -1;\n        return retVal;\n      }\n\n      retVal.price = Number.MAX_VALUE;\n\n      this.filteredPricingPlans.forEach((plan) => {\n        plan.details.forEach((detail) => {\n          let planAmount = detail.amountDetail.find(x => x.title.toLowerCase() == \"price\").amount || detail.amount;\n          let planHasDiscount = detail.amountDetail.find(x => x.title.toLowerCase() == \"discount\") ? true : false;\n          let planDiscount = planHasDiscount ? Math.abs(detail.amountDetail.find(x => x.title.toLowerCase() == \"discount\").amount) : 0.00;\n\n          let discountedAmount = planAmount - planDiscount;\n\n          if (discountedAmount < (retVal.discountedPrice || retVal.price)) {\n            retVal.price = planAmount;\n            retVal.discountedPrice = discountedAmount;\n          }\n        });\n      });\n      return retVal;\n\n    },\n\t\thasOnlyOnePlan() {\n\t\t\tif (\n\t\t\t\tthis.productVariantData &&\n\t\t\t\tthis.filteredPricingPlans &&\n\t\t\t\tthis.filteredPricingPlans.length > 0\n\t\t\t) {\n\t\t\t\treturn this.filteredPricingPlans.length == 1;\n\t\t\t} else return false;\n\t\t},\n    contactUsFormLink() {\n      console.log({'contactUsLinkFromSP':this.systemParameters.ContactUsLinkForProductVariantEnrollment});\n\n      return this.productVariantData.properties && this.productVariantData.properties.contact_us_link_for_enrollment ?\n          this.productVariantData.properties.contact_us_link_for_enrollment :\n          this.systemParameters && this.systemParameters.ContactUsLinkForProductVariantEnrollment ?\n              this.systemParameters.ContactUsLinkForProductVariantEnrollment :\n              undefined;\n    },\n    priceBeforeDiscount() {\n      return this.lowestVariantPrice.price;\n    },\n    priceAfterDiscount() {\n      return this.lowestVariantPrice.discountedPrice;\n    },\n    discountPercentage() {\n      if(this.priceBeforeDiscount == this.priceAfterDiscount)\n        return 0.00;\n\n      return ((1 - (this.priceAfterDiscount/ this.priceBeforeDiscount)) * 100);\n    }\n\t},\n\tcreated() {\n\t\tif (\n\t\t\t!this.productVariantData ||\n\t\t\t(this.productVariantData &&\n\t\t\t\t!this.pricingPlanByProductVariantId[this.productVariantData.id])\n\t\t) {\n\t\t\tthis.fetchPricingPlanByProductVariantId(this.productVariantData.id).then(\n\t\t\t\t() => {\n\t\t\t\t\tthis.plansLoaded = true;\n\t\t\t\t\tif (this.filteredPricingPlans && this.filteredPricingPlans.length)\n\t\t\t\t\t\tthis.selectedPlan = this.filteredPricingPlans[0];\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tthis.plansLoaded = true;\n\t\t\tif (this.filteredPricingPlans && this.filteredPricingPlans.length)\n\t\t\t\tthis.selectedPlan = this.filteredPricingPlans[0];\n\t\t}\n\t},\n\twatch: {\n\t\tproductVariantData: function () {\n\t\t\tif (\n\t\t\t\t!this.productVariantData ||\n\t\t\t\t(this.productVariantData &&\n\t\t\t\t\t!this.pricingPlanByProductVariantId[this.productVariantData.id])\n\t\t\t) {\n\t\t\t\tthis.fetchPricingPlanByProductVariantId(\n\t\t\t\t\tthis.productVariantData.id\n\t\t\t\t).then(() => {\n\t\t\t\t\tthis.plansLoaded = true;\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id] &&\n\t\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id]\n\t\t\t\t\t\t\t.length > 0\n\t\t\t\t\t)\n\t\t\t\t\t\tthis.selectedPlan = this.filteredPricingPlans[0];\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.plansLoaded = true;\n\t\t\t\tif (\n\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id] &&\n\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id]\n\t\t\t\t\t\t.length > 0\n\t\t\t\t)\n\t\t\t\t\tthis.selectedPlan = this.filteredPricingPlans[0];\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n/* @media screen and (max-width: 996px) {\n\t.product-details-card {\n\t\ttop: 1rem !important;\n\t\tmin-height: unset !important;\n\t\tborder-radius: 0 !important;\n\t\tborder: none !important;\n\t}\n\n\t.product-details-card-container {\n\t\tpadding: 0 !important;\n\t\tmargin: 0 -12px 0 !important;\n\t}\n\n\t.product-card-content {\n\t\tpadding-bottom: 0 !important;\n\t}\n}\n\n@media screen and (max-width: 768px) {\n\t.product-card-content {\n\t\tfont-size: 1.1rem !important;\n\t\tpadding: 1rem !important;\n\t}\n\n\t.product-card-content p {\n\t\tfont-size: 1rem !important;\n\t\tmargin-bottom: 0 !important;\n\t\tpadding: 1rem !important;\n\t}\n\n\t.add-promo {\n\t\tmargin-top: 1rem !important;\n\t}\n}\n\n@media screen and (max-width: 600px) {\n\t.product-details-card {\n\t\ttop: 0 !important;\n\t}\n} */\n\n.product-details-card-mobile {\n\twidth: 100%;\n\tposition: fixed;\n\t/* min-height: 500px; */\n\tbackground-color: var(--color-white);\n\tbottom: 0;\n\t/* border-radius: 0.625rem; */\n\tz-index: 10;\n\t/* border: 1px solid #bbbdbf; */\n\tbox-shadow: 0 -3px 6px #99999945;\n}\n\n.product-card-content {\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\talign-items: center;\n\tpadding: 1rem;\n\ttext-align: left;\n}\n\n.product-price {\n\tfont-size: 1.25rem;\n\tfont-weight: bold;\n}\n\n.product-price .pre-discounted-price {\n  font-size: 1rem;\n  font-weight: normal;\n  display: block;\n}\n\n.discount-percentage-off {\n  font-size: 0.75rem;\n  font-weight: normal;\n  display: block;\n}\n\n.product-dates {\n\tmargin-bottom: 0;\n}\n\n.product-card-content p {\n\tfont-size: 0.875rem;\n}\n\n.icon-gray {\n\tcolor: #a7a9ac;\n\tmargin-right: 0.25rem;\n\tfont-size: 0.875rem;\n}\n\n.button-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-left: 0.5rem;\n\tmax-width: 60vw;\n\tmin-width: 40%;\n\trow-gap: 0.5rem;\n}\n\n.button-container button, .button-container a {\n\tpadding: 1.125rem 0;\n\tfont-size: 1rem;\n\tfont-weight: 500;\n\tline-height: 1.3;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDetailsCardMobile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDetailsCardMobile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductDetailsCardMobile.vue?vue&type=template&id=18656290&scoped=true&\"\nimport script from \"./ProductDetailsCardMobile.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductDetailsCardMobile.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductDetailsCardMobile.vue?vue&type=style&index=0&id=18656290&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"18656290\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"product-details-card-container\"},[(!_vm.loading && _vm.productVariantData != null)?_c('div',{staticClass:\"product-details-card\"},[_c('div',{staticClass:\"product-image hide-tab-mobile\"},[_c('img',{attrs:{\"src\":require((\"@/\" + (_vm.productVariantData.product.thumbnailPath))),\"alt\":\"\"}})]),_c('div',{staticClass:\"product-card-content\"},[_c('h3',{staticClass:\"product-price text-bold\"},[_vm._v(\" \"+_vm._s(_vm.parseCurrency( _vm.productVariantData.pricing.amount, _vm.productVariantData.pricing.currency, 0 ))+\" \")]),_vm._v(\" (Price is inclusive of taxes) \"),_c('p',[_c('span',[_vm._v(\"Course Start Date: \")]),_vm._v(\" \"+_vm._s(new Date(_vm.productVariantData.startDate).toDateString())),_c('br'),_c('span',[_vm._v(\"Course End Date: \")]),_vm._v(\" \"+_vm._s(new Date(_vm.productVariantData.endDate).toDateString())),_c('br')]),_c('a',{staticClass:\"btn-block-rounded-primary\",attrs:{\"role\":\"button\"},on:{\"click\":this.handleClick}},[_vm._v(\"Buy Now\")]),_c('div',{staticClass:\"add-promo\"},[(_vm.showPromoInput)?_c('a',{staticClass:\"input-icon-right promo-delete\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.togglePromoInput}},[_c('i',{staticClass:\"far fa-trash-alt\"})]):_vm._e(),(_vm.showPromoInput)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.promoValue),expression:\"promoValue\"}],staticClass:\"form-control promo-input\",attrs:{\"type\":\"text\",\"name\":\"promo\",\"id\":\"promo\",\"placeholder\":\"Enter your promo code\"},domProps:{\"value\":(_vm.promoValue)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.promoValue=$event.target.value}}}):_c('a',{staticClass:\"add-promo-text\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.togglePromoInput}},[_vm._v(\"Click here to add promo coupon\")])])])]):_vm._e(),(!_vm.loading && _vm.productVariantData != null)?_c('div',{staticClass:\"product-desc-card hide-tab-mobile\"},[_c('ul',{staticClass:\"tabs\"},[_c('li',{class:{ active: _vm.activeTab == '0', tab: true },attrs:{\"id\":\"0\"},on:{\"click\":_vm.changeTab}},[_vm._v(\" Description \")]),_c('li',{class:{ active: _vm.activeTab == '1', tab: true },attrs:{\"id\":\"1\"},on:{\"click\":_vm.changeTab}},[_vm._v(\" Instructor \")])]),_c('div',{staticClass:\"tabs-body\"},[(_vm.activeTab == '0')?_c('div',{staticClass:\"tabs-body-content desc-tab\"},[_vm._v(\" \"+_vm._s(_vm.productVariantData.description)+\" \")]):(_vm.activeTab == '1')?_c('div',{staticClass:\"tabs-body-content creator-tab\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-2\"},[_c('img',{staticClass:\"profile\",attrs:{\"src\":require((\"@/\" + (_vm.productVariantData.creator.imagePath))),\"alt\":\"\"}})]),_c('div',{staticClass:\"col-lg-10\"})]),_c('div',{staticClass:\"row creator-desc\"},[_vm._v(\" \"+_vm._s(_vm.productVariantData.creator.description)+\" \")])]):_vm._e()])]):_c('div',{staticClass:\"product-details-card\"},[_c('div',{staticClass:\"product-image hide-tab-mobile\"},[_c('b-skeleton-img')],1),_vm._m(0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-center loader-component\"},[_c('div',{staticClass:\"spinner-border\",attrs:{\"role\":\"status\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(\"Loading...\")])])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"product-details-card-container\">\n\t\t<div\n\t\t\tclass=\"product-details-card\"\n\t\t\tv-if=\"!loading && productVariantData != null\"\n\t\t>\n\t\t\t<div class=\"product-image hide-tab-mobile\">\n\t\t\t\t<img\n\t\t\t\t\t:src=\"require(`@/${productVariantData.product.thumbnailPath}`)\"\n\t\t\t\t\talt=\"\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"product-card-content\">\n\t\t\t\t<h3 class=\"product-price text-bold\">\n\t\t\t\t\t{{\n\t\t\t\t\t\tparseCurrency(\n\t\t\t\t\t\t\tproductVariantData.pricing.amount,\n\t\t\t\t\t\t\tproductVariantData.pricing.currency,\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t</h3>\n\t\t\t\t(Price is inclusive of taxes)\n\t\t\t\t<p>\n\t\t\t\t\t<span>Course Start Date: </span>\n\t\t\t\t\t{{ new Date(productVariantData.startDate).toDateString() }}<br />\n\t\t\t\t\t<span>Course End Date: </span>\n\t\t\t\t\t{{ new Date(productVariantData.endDate).toDateString() }}<br />\n\t\t\t\t</p>\n\t\t\t\t<a\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\t@click=\"this.handleClick\"\n\t\t\t\t\tclass=\"btn-block-rounded-primary\"\n\t\t\t\t\t>Buy Now</a\n\t\t\t\t>\n\t\t\t\t<div class=\"add-promo\">\n\t\t\t\t\t<!-- <span class=\"input-icon-right\">Remove</span> -->\n\t\t\t\t\t<a\n\t\t\t\t\t\tv-if=\"showPromoInput\"\n\t\t\t\t\t\t@click=\"togglePromoInput\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\"input-icon-right promo-delete\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i class=\"far fa-trash-alt\"></i\n\t\t\t\t\t></a>\n\t\t\t\t\t<input\n\t\t\t\t\t\tv-if=\"showPromoInput\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tname=\"promo\"\n\t\t\t\t\t\tid=\"promo\"\n\t\t\t\t\t\tv-model=\"promoValue\"\n\t\t\t\t\t\tclass=\"form-control promo-input\"\n\t\t\t\t\t\tplaceholder=\"Enter your promo code\"\n\t\t\t\t\t/>\n\t\t\t\t\t<a\n\t\t\t\t\t\tclass=\"add-promo-text\"\n\t\t\t\t\t\tv-else\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t@click=\"togglePromoInput\"\n\t\t\t\t\t\t>Click here to add promo coupon</a\n\t\t\t\t\t>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\tclass=\"product-desc-card hide-tab-mobile\"\n\t\t\tv-if=\"!loading && productVariantData != null\"\n\t\t>\n\t\t\t<ul class=\"tabs\">\n\t\t\t\t<li\n\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\tid=\"0\"\n\t\t\t\t\t:class=\"{ active: activeTab == '0', tab: true }\"\n\t\t\t\t>\n\t\t\t\t\tDescription\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\tid=\"1\"\n\t\t\t\t\t:class=\"{ active: activeTab == '1', tab: true }\"\n\t\t\t\t>\n\t\t\t\t\tInstructor\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<div class=\"tabs-body\">\n\t\t\t\t<div v-if=\"activeTab == '0'\" class=\"tabs-body-content desc-tab\">\n\t\t\t\t\t{{ productVariantData.description }}\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"activeTab == '1'\" class=\"tabs-body-content creator-tab\">\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t:src=\"require(`@/${productVariantData.creator.imagePath}`)\"\n\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\tclass=\"profile\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"col-lg-10\">\n\t\t\t\t\t\t\t<!-- <router-link to=\"\">{{\n\t\t\t\t\t\t\t\tproductVariantData.creator.name\n\t\t\t\t\t\t\t}}</router-link> -->\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"row creator-desc\">\n\t\t\t\t\t\t{{ productVariantData.creator.description }}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-else class=\"product-details-card\">\n\t\t\t<div class=\"product-image hide-tab-mobile\">\n\t\t\t\t<b-skeleton-img></b-skeleton-img>\n\t\t\t</div>\n\t\t\t<div class=\"text-center loader-component\">\n\t\t\t\t<div class=\"spinner-border\" role=\"status\">\n\t\t\t\t\t<span class=\"sr-only\">Loading...</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport router from \"../../router\";\nimport { mapActions, mapState } from \"vuex\";\nimport formatter from \"../../helpers/FormatHelpers\";\n\nexport default {\n\tname: \"ProductDetailsCard\",\n\tdata() {\n\t\treturn {\n\t\t\t// productVariantData: productVariantData,\n\t\t\tshowPromoInput: false,\n\t\t\tpromoValue: \"\",\n\t\t\tactiveTab: \"0\",\n\t\t};\n\t},\n\tprops: { productVariantData: Object },\n\tmethods: {\n\t\t...mapActions(\"cart\", [\"addToCart\"]),\n\t\ttogglePromoInput() {\n\t\t\tthis.showPromoInput = !this.showPromoInput;\n\t\t\tthis.promoValue = \"\";\n\t\t},\n\t\thandleClick() {\n\t\t\tconsole.log(\"buy now clicked\");\n\t\t\tthis.addToCart(this.productVariantData);\n\t\t\trouter.push(\"/shop/checkout\");\n\t\t},\n\t\tchangeTab(e) {\n\t\t\tthis.activeTab = e.target.id;\n\t\t},\n\t\tparseCurrency(amount, currency, decimal) {\n\t\t\treturn formatter.toCurrencyString(amount, currency, decimal);\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"cart\", [\"cart\"]),\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.product-details-card {\n\t\ttop: 1rem !important;\n\t\tmin-height: unset !important;\n\t\tborder-radius: 0 !important;\n\t\tborder: none !important;\n\t\t/* width: 100vw !important; */\n\t}\n\n\t.product-details-card-container {\n\t\tpadding: 0 !important;\n\t\tmargin: 0 -12px 0 !important;\n\t}\n\n\t.product-card-content {\n\t\tpadding-bottom: 0 !important;\n\t}\n}\n\n@media screen and (max-width: 768px) {\n\t.product-card-content {\n\t\tfont-size: 1.1rem !important;\n\t\tpadding: 1rem !important;\n\t}\n\n\t.product-card-content p {\n\t\tfont-size: 1rem !important;\n\t\tmargin-bottom: 0 !important;\n\t\tpadding: 1rem !important;\n\t}\n\n\t.add-promo {\n\t\tmargin-top: 1rem !important;\n\t}\n}\n\n@media screen and (max-width: 600px) {\n\t.product-details-card {\n\t\ttop: 0 !important;\n\t}\n}\n\n.product-details-card-container {\n\tpadding: 1rem;\n}\n\n.product-details-card {\n\twidth: 100%;\n\tposition: relative;\n\tmin-height: 500px;\n\tbackground-color: var(--color-white);\n\ttop: 11rem;\n\tborder-radius: 1rem;\n\tz-index: 997;\n\tborder: 2px solid var(--color-light-blue);\n}\n\n.product-image {\n\tdisplay: flex;\n\tjustify-content: center;\n\tmargin: -3.5rem auto 0px;\n\twidth: 100%;\n}\n\n.product-image .b-aspect {\n\twidth: 100%;\n}\n\n.product-image .b-skeleton-img {\n\twidth: 90%;\n\tborder-radius: 1rem;\n\tmargin: 0 auto;\n\tbackground-color: var(--color-gray);\n}\n\n.product-image img {\n\theight: auto;\n\tobject-fit: cover;\n\tobject-position: top;\n\twidth: 90%;\n\tborder-radius: 1rem;\n}\n\n.product-card-content {\n\tdisplay: flex;\n\tjustify-content: center;\n\tpadding: 2rem;\n\tflex-direction: column;\n\talign-items: center;\n\tcolor: var(--secondary-color);\n\tfont-size: 1.2rem;\n}\n\n.product-card-content p span {\n\tfont-weight: 500;\n}\n\n.product-card-content p {\n\tfont-size: 1.15rem;\n\tpadding: 1rem;\n\ttext-align: center;\n\tline-height: 1.2;\n}\n\n.add-promo {\n\tmargin-top: 2rem;\n\ttext-align: center;\n\tpadding: 0 2rem;\n\twidth: 100%;\n}\n\n.add-promo .add-promo-text {\n\ttext-decoration: underline !important;\n\tfont-weight: bold !important;\n\tfont-size: 1rem;\n\tcolor: var(--color-black);\n}\n\n.promo-delete :hover,\n.promo-delete:active,\n.promo-delete:visited,\n.promo-delete:focus {\n\tcolor: var(--color-danger);\n}\n\n.promo-delete {\n\tmargin: 10px 84px 0 0 !important;\n\tcolor: var(--color-danger);\n}\n\n.product-desc-card {\n\tbackground-color: var(--color-white);\n\tborder-radius: 1rem;\n\tz-index: 997;\n\tborder: 2px solid var(--color-light-blue);\n\tposition: relative;\n\ttop: 10rem;\n\tmargin-top: 2rem;\n}\n\n.product-desc-card .tabs {\n\tlist-style: none;\n\tpadding: 0;\n}\n\n.product-desc-card .tabs .tab {\n\tdisplay: inline-flex;\n\twidth: 50%;\n\tpadding: 1rem;\n\tmargin: 0;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-size: 1.2rem;\n\tfont-weight: 500;\n\tborder-bottom: 2px solid transparent;\n\tcursor: pointer;\n}\n\n.active {\n\tborder-bottom: 2px solid var(--primary-color) !important;\n}\n\n.tabs-body {\n\tpadding: 0 2rem 2rem;\n}\n\n.creator-tab {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.creator-tab .row {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.creator-tab .creator-desc {\n\tjustify-content: left;\n}\n\n.creator-tab a {\n\tfont-size: 1.5rem;\n\tmargin-left: 1.5rem;\n\tfont-weight: bold;\n\tcolor: var(--color-text-default);\n\ttext-decoration: none;\n}\n\nimg.profile {\n\tborder-radius: 50%;\n\twidth: 100%;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDetailsCardOldUI.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDetailsCardOldUI.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductDetailsCardOldUI.vue?vue&type=template&id=33df9901&scoped=true&\"\nimport script from \"./ProductDetailsCardOldUI.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductDetailsCardOldUI.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductDetailsCardOldUI.vue?vue&type=style&index=0&id=33df9901&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"33df9901\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"about-product-modal\"},[_c('div',{staticClass:\"about-product-modal-header\"},[_c('a',{staticClass:\"close-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('hideModal')}}},[_c('i',{staticClass:\"fa fa-times\"})]),_c('h1',{staticClass:\"top-card-heading\"},[_vm._v(\"What you'll learn\")])]),_c('div',{staticClass:\"modal-body-container\"},_vm._l((_vm.listData),function(item,index){return _c('div',{key:index,staticClass:\"top-card-list-item\"},[_c('i',{staticClass:\"fas fa-check\"}),_vm._v(\" \"+_vm._s(item)+\" \")])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"about-product-modal\">\n\t\t<div class=\"about-product-modal-header\">\n\t\t\t<a role=\"button\" @click=\"$emit('hideModal')\" class=\"close-btn\"\n\t\t\t\t><i class=\"fa fa-times\"></i\n\t\t\t></a>\n\t\t\t<h1 class=\"top-card-heading\">What you'll learn</h1>\n\t\t</div>\n\t\t<div class=\"modal-body-container\">\n\t\t\t<div\n\t\t\t\tv-for=\"(item, index) in listData\"\n\t\t\t\t:key=\"index\"\n\t\t\t\tclass=\"top-card-list-item\"\n\t\t\t>\n\t\t\t\t<i class=\"fas fa-check\"></i> {{ item }}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"ProductDetailsModal\",\n\tprops: { listData: Array },\n};\n</script>\n\n<style scoped>\n\n.about-product-modal {\n\twidth: 100vw;\n\theight: 100vh;\n\tbackground-color: #ffffff;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tz-index: 99;\n\ttransition: all 0.5s ease-in-out;\n}\n\n.about-product-modal-header {\n\tpadding: 1.75rem 1.75rem 1.25rem;\n\tbox-shadow: 6px 3px 6px #b9b9b929;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n\n.close-btn {\n\tmargin-right: 2rem;\n\tfont-size: 1.75rem;\n\tcolor: #000000;\n\tfont-weight: 300;\n}\n\n.modal-body-container {\n\tpadding: 1.5rem 1.25rem;\n}\n\n.top-card-heading {\n\tfont-size: 1.875rem;\n\tcolor: #000000;\n\tfont-weight: bold;\n\tmargin-bottom: 0;\n\tline-height: 1;\n\tdisplay: inline-block;\n}\n\n.top-card-heading::before {\n\tcontent: \"\";\n\twidth: 1.75rem;\n\theight: 0.3rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: block;\n\ttop: -0.75rem;\n\tleft: 0;\n\tposition: relative;\n}\n\n.top-card-list {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-content: flex-start;\n}\n\n.top-card-list-item {\n\tpadding: 0.625rem;\n\tdisplay: flex;\n\tfont-size: 1.125rem;\n}\n\n.top-card-list-item i {\n\tmargin-right: 1rem;\n\tmargin-top: 0.325rem;\n\tfont-size: 1rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDetailsModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDetailsModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductDetailsModal.vue?vue&type=template&id=35b752d4&scoped=true&\"\nimport script from \"./ProductDetailsModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductDetailsModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductDetailsModal.vue?vue&type=style&index=0&id=35b752d4&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"35b752d4\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"top-card-container\"},[_c('div',{staticClass:\"top-card\"},[_c('h1',{staticClass:\"top-card-heading\"},[_vm._v(\"What you'll learn\")]),_c('div',{staticClass:\"top-card-list\"},_vm._l((_vm.listData),function(item,index){return _c('div',{key:index,staticClass:\"top-card-list-item\"},[_c('i',{staticClass:\"fas fa-check\"}),_vm._v(\" \"+_vm._s(item)+\" \")])}),0),_c('a',{staticClass:\"view-all-btn mobile-only\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.showModal}},[_vm._v(\"View All \"),_c('i',{staticClass:\"far fa-eye\"})])]),(_vm.modalVisible)?_c('ProductDetailsModal',{class:{ show: _vm.modalVisible, hide: !_vm.modalVisible },attrs:{\"listData\":_vm.listData},on:{\"hideModal\":_vm.hideModal}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"top-card-container\">\n\t\t<div class=\"top-card\">\n\t\t\t<h1 class=\"top-card-heading\">What you'll learn</h1>\n\t\t\t<div class=\"top-card-list\">\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(item, index) in listData\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\tclass=\"top-card-list-item\"\n\t\t\t\t>\n\t\t\t\t\t<i class=\"fas fa-check\"></i> {{ item }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<a @click=\"showModal\" role=\"button\" class=\"view-all-btn mobile-only\"\n\t\t\t\t>View All <i class=\"far fa-eye\"></i\n\t\t\t></a>\n\t\t</div>\n\t\t\t<ProductDetailsModal\n\t\t\t\tv-if=\"modalVisible\"\n\t\t\t\t@hideModal=\"hideModal\"\n\t\t\t\t:listData=\"listData\"\n\t\t\t\t:class=\"{ show: modalVisible, hide: !modalVisible }\"\n\t\t\t/>\n\t</div>\n</template>\n\n<script>\nimport ProductDetailsModal from \"./ProductDetailsModal.vue\";\nexport default {\n\tname: \"ProductDetailsTopCard\",\n\tprops: { listData: Array },\n\tdata() {\n\t\treturn {\n\t\t\tmodalVisible: false,\n\t\t};\n\t},\n\tmethods: {\n\t\tshowModal() {\n\t\t\tthis.modalVisible = true;\n\t\t},\n\t\thideModal() {\n\t\t\tconsole.log(this.modalVisible);\n\t\t\t// setTimeout(() => (this.modalVisible = false), 1000);\n\t\t\tthis.modalVisible = false;\n\t\t},\n\t},\n\tcomponents: { ProductDetailsModal },\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.top-card-container {\n\t\tpadding-right: 0 !important;\n\t}\n\t.top-card-list > * {\n\t\t/* flex-grow: 1; */\n\t\twidth: 100% !important;\n\t\tline-height: 1.5;\n\t}\n\t.top-card {\n\t\toverflow: hidden !important;\n\t}\n\n\t.top-card-list-item {\n\t\tborder-top: none !important;\n\t}\n\t.top-card::before {\n\t\twidth: 100%;\n\t\theight: 70%;\n\t\tbackground: linear-gradient(#ffffff1f, #ffffff);\n\t\tposition: absolute;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\tcontent: \"\";\n\t\tz-index: 2;\n\t\tborder-radius: 0 0 0.5rem 0.5rem;\n\t}\n}\n\n/* @keyframes slidein {\n\tfrom {\n\t\t\n\t}\n\tto {\n\t\ttransform: translateY(0);\n\t}\n} */\n\n.top-card-container {\n\tpadding-right: 2.75em;\n}\n\n.top-card {\n\tbackground-color: #ffffff;\n\tborder: 1px solid #a3a3a3;\n\tborder-radius: 8px;\n\tpadding: 2.75rem 1.5rem 1.5rem;\n\tmargin-top: -1.5rem;\n\tbox-shadow: 0 0 16px #c9c9c929;\n\tposition: relative;\n}\n\n.top-card-heading {\n\tfont-size: 1.875rem;\n\tcolor: #000000;\n\tfont-weight: bold;\n\tmargin-bottom: 0.75rem;\n\tline-height: 1;\n}\n\n.top-card-heading::before {\n\tcontent: \"\";\n\twidth: 2rem;\n\theight: 0.35rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: block;\n\ttop: -1rem;\n\tleft: 0;\n\tposition: relative;\n}\n\n.top-card-list {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-wrap: wrap;\n\tmax-height: 17.5rem;\n\tcolumn-gap: 1.25rem;\n\talign-content: flex-start;\n\tposition: relative;\n}\n.top-card-list > * {\n\t/* flex-grow: 1; */\n\twidth: 49%;\n\tline-height: 1.5;\n}\n\n.top-card-list::before {\n\tcontent: \"\";\n\twidth: 49%;\n\theight: 1px;\n\ttop: 0;\n\tright: 0;\n\tposition: absolute;\n\tbackground-color: var(--color-white);\n}\n\n.top-card-list-item {\n\tpadding: 0.625rem;\n\tdisplay: flex;\n\tborder-top: 1px solid #e5e5e5;\n}\n\n.top-card-list-item:first-of-type {\n\tborder-top: 1px solid #fff;\n}\n\n.top-card-list-item i {\n\tmargin-right: 1rem;\n\tmargin-top: 0.325rem;\n\tfont-size: 0.75rem;\n}\n\n.view-all-btn {\n\tposition: absolute;\n\tbottom: 1.5rem;\n\tright: 1.5rem;\n\tz-index: 3;\n\ttext-decoration: none;\n\tcolor: #000000;\n\tfont-weight: 500;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDetailsTopCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDetailsTopCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductDetailsTopCard.vue?vue&type=template&id=7b957ef2&scoped=true&\"\nimport script from \"./ProductDetailsTopCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductDetailsTopCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductDetailsTopCard.vue?vue&type=style&index=0&id=7b957ef2&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7b957ef2\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"left-panel-container\"},[(this.categories.length > 0 && !_vm.loading)?_c('div',{staticClass:\"category-list\"},_vm._l((_vm.categories),function(item){return _c('a',{key:item.id,class:['category-item', { active: _vm.activeCategory == item.id }],attrs:{\"role\":\"button\",\"id\":item.id},on:{\"click\":function($event){return _vm.$emit('categoryClick', item.id)}}},[_vm._v(\" \"+_vm._s(item.title)+\" \")])}),0):_c('div',{staticClass:\"skeleton\"},_vm._l((3),function(item){return _c('b-skeleton',{key:item,staticClass:\"mt-3\",attrs:{\"width\":\"100%\"}})}),1),_c('a',{staticClass:\"browse-all-btn border-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.handleClick('/search')}}},[_vm._v(\"Browse All Subjects\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"left-panel-container\">\n\t\t<div class=\"category-list\" v-if=\"this.categories.length > 0 && !loading\">\n\t\t\t<a\n\t\t\t\trole=\"button\"\n\t\t\t\tv-for=\"item in categories\"\n\t\t\t\t:key=\"item.id\"\n\t\t\t\t:class=\"['category-item', { active: activeCategory == item.id }]\"\n\t\t\t\t:id=\"item.id\"\n\t\t\t\t@click=\"$emit('categoryClick', item.id)\"\n\t\t\t>\n\t\t\t\t{{ item.title }}\n\t\t\t</a>\n\t\t</div>\n\t\t<div v-else class=\"skeleton\">\n\t\t\t<b-skeleton\n\t\t\t\tv-for=\"item in 3\"\n\t\t\t\t:key=\"item\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\tclass=\"mt-3\"\n\t\t\t></b-skeleton>\n\t\t</div>\n\t\t<a\n\t\t\t@click=\"handleClick('/search')\"\n\t\t\trole=\"button\"\n\t\t\tclass=\"browse-all-btn border-btn\"\n\t\t\t>Browse All Subjects</a\n\t\t>\n\t</div>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\n\nexport default {\n\tname: \"ProductDropdownLeftPanel\",\n\tdata() {\n\t\treturn {\n\t\t\t// activeCategory: \"\",\n\t\t};\n\t},\n\tprops: { categories: Array, loading: Boolean, activeCategory: String },\n\tmethods: {\n\t\t// ...mapActions(\"category\", [\"fetchCategories\"]),\n\t\tcategoryClick(e) {\n\t\t\te.preventDefault();\n\t\t\tthis.activeCategory = e.target.id;\n\t\t},\n\t\thandleClick(link) {\n\t\t\tif (!this.isMobile) $(\"#coursesMenu.courses-btn\")[0].click();\n\t\t\telse $(\"#coursesMenu.hamburger\")[0].click();\n\t\t\tthis.$router.push(link);\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"isMobile\"]),\n\t\t// ...mapState(\"category\", [\"categories\", \"loading\"]),\n\t},\n};\n</script>\n\n<style scoped>\n.category-item {\n\tpadding: 0.5rem 0.675rem;\n\tbackground-color: var(--color-white);\n\tborder-radius: 6px;\n\tcolor: #000000;\n\tfont-size: 1rem;\n\tmargin-bottom: 0.5rem;\n\tline-height: 1;\n\tfont-weight: 500;\n\tdisplay: block;\n\ttext-decoration: none;\n}\n\n.category-item.active {\n\tbackground-color: var(--primary-color);\n\tcolor: var(--color-white);\n\tbox-shadow: 0 3px 6px #d5d5d529;\n\tfont-weight: normal;\n}\n\n.left-panel-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\theight: 100%;\n}\n\n.left-panel-container .category-list {\n\t/* -ms-overflow-style: none;  */\n\t/* scrollbar-width: none;  */\n\theight: 100%;\n\toverflow: hidden;\n}\n\n.left-panel-container .category-list:hover {\n\toverflow: overlay;\n}\n\n.browse-all-btn {\n\ttext-align: left;\n\tborder-radius: 6px;\n\tpadding: 0.5rem 0.675rem;\n\tline-height: 1;\n\tcolor: #000000 !important;\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n\tmargin-top: 2rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDropDownLeftPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDropDownLeftPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductDropDownLeftPanel.vue?vue&type=template&id=fb0be46e&scoped=true&\"\nimport script from \"./ProductDropDownLeftPanel.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductDropDownLeftPanel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductDropDownLeftPanel.vue?vue&type=style&index=0&id=fb0be46e&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"fb0be46e\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"product-dropdown-container dropdown-menu\",attrs:{\"aria-labelledby\":\"coursesMenu\"}},[_c('div',{staticClass:\"product-dropdown\",attrs:{\"id\":\"product-dropdown\"},on:{\"click\":_vm.handleClick}},[(!_vm.isMobile || (_vm.isMobile && !_vm.activeCategory))?_c('div',{staticClass:\"col-lg-2 col-md-3 col-sm-12 left-panel\"},[_c('ProductDropdownLeftPanel',{attrs:{\"categories\":_vm.categories,\"loading\":_vm.loading,\"activeCategory\":_vm.activeCategory},on:{\"categoryClick\":_vm.categoryClick}})],1):_vm._e(),(\n\t\t\t\t!_vm.isMobile || (_vm.isMobile && _vm.activeCategory && _vm.activeCategory.length > 0)\n\t\t\t)?_c('div',{staticClass:\"col-lg-10 col-md-12 col-sm-12 right-panel\"},[_c('ProductDropdownRightPanel',{attrs:{\"categoryData\":_vm.categoryData,\"activeCategory\":_vm.activeCategory},on:{\"resetCategory\":function($event){return _vm.categoryClick(null)}}})],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<ul\n\t\tclass=\"product-dropdown-container dropdown-menu\"\n\t\taria-labelledby=\"coursesMenu\"\n\t>\n\t\t<div id=\"product-dropdown\" class=\"product-dropdown\" @click=\"handleClick\">\n\t\t\t<div\n\t\t\t\tv-if=\"!isMobile || (isMobile && !activeCategory)\"\n\t\t\t\tclass=\"col-lg-2 col-md-3 col-sm-12 left-panel\"\n\t\t\t>\n\t\t\t\t<ProductDropdownLeftPanel\n\t\t\t\t\t:categories=\"categories\"\n\t\t\t\t\t:loading=\"loading\"\n\t\t\t\t\t:activeCategory=\"activeCategory\"\n\t\t\t\t\t@categoryClick=\"categoryClick\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tv-if=\"\n\t\t\t\t\t!isMobile || (isMobile && activeCategory && activeCategory.length > 0)\n\t\t\t\t\"\n\t\t\t\tclass=\"col-lg-10 col-md-12 col-sm-12 right-panel\"\n\t\t\t>\n\t\t\t\t<ProductDropdownRightPanel\n\t\t\t\t\t:categoryData=\"categoryData\"\n\t\t\t\t\t:activeCategory=\"activeCategory\"\n\t\t\t\t\t@resetCategory=\"categoryClick(null)\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t</ul>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nimport ProductDropdownLeftPanel from \"./ProductDropDownLeftPanel.vue\";\nimport ProductDropdownRightPanel from \"./ProductDropdownRightPanel.vue\";\n\nexport default {\n\tname: \"ProductDropdown\",\n\tdata() {\n\t\treturn {\n\t\t\tactiveCategory: null,\n\t\t};\n\t},\n\tcomponents: { ProductDropdownLeftPanel, ProductDropdownRightPanel },\n\tprops: { showModal: Boolean },\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"isMobile\"]),\n\t\t...mapState(\"category\", [\"categories\", \"loading\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tcategoryData() {\n\t\t\tif (this.categories) {\n\t\t\t\tvar found = this.categories.find((category) => {\n\t\t\t\t\treturn category.id == this.activeCategory;\n\t\t\t\t});\n\t\t\t\tif (found && found.childCategories && found.childCategories.length) {\n\t\t\t\t\treturn found.childCategories;\n\t\t\t\t} else return [];\n\t\t\t}\n\n\t\t\t// console.log(\n\t\t\t// \t\"data loaded\",\n\t\t\t// \tthis.categories.length > 0 && this.activeCategory != \"\"\n\t\t\t// );\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"category\", [\"fetchCategories\"]),\n\t\thandleClick(e) {\n\t\t\te.stopPropagation();\n\t\t\t// var container = document.getElementById(\"product-dropdown\");\n\t\t\t// if (!container.contains(e.target)) {\n\t\t\t// \t// this.$emit(\"close-dropdown\");\n\t\t\t// \t$(\"#coursesMenu\").click();\n\t\t\t// }\n\t\t},\n\t\tcategoryClick(id) {\n\t\t\tthis.activeCategory = id;\n\t\t},\n\t},\n\twatch: {\n\t\tshowModal: function () {\n\t\t\tif (this.showModal) {\n\t\t\t\tif (this.categories && this.categories.length == 0) {\n\t\t\t\t\tthis.fetchCategories().then(() => {\n\t\t\t\t\t\tconsole.log(\"active category:\", this.activeCategory);\n\t\t\t\t\t\tif (this.categories && this.categories.length > 0) {\n\t\t\t\t\t\t\tif (!this.isMobile) this.activeCategory = this.categories[0].id;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.product-dropdown {\n\t\t/* height: calc(100vh - var(--header-height)) !important; */\n\t\twidth: 100vw !important;\n\t}\n}\n\n@media screen and (max-width: 1280px) {\n\t.product-dropdown {\n\t\twidth: 100vw !important;\n\t}\n}\n\n.product-dropdown-container {\n\twidth: 100vw;\n\tposition: fixed;\n\ttop: var(--header-height);\n\ttop: 0.5rem !important;\n\tz-index: 1000;\n\theight: 100vh;\n\tbackground-color: #000000bb;\n\tpadding: 0;\n}\n\n.product-dropdown {\n\tbackground: #ffffff;\n\tmargin: 0 auto;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\twidth: 85vw;\n\theight: 80vh;\n\tpadding: 0;\n\tz-index: 1001;\n}\n\n.product-dropdown .left-panel {\n\tpadding: 1.75rem 1.125rem;\n\theight: 100%;\n}\n\n.product-dropdown .right-panel {\n\tpadding: 1.75rem 2rem;\n\tbackground-color: #f0f0f0;\n\theight: 100%;\n\toverflow: auto;\n}\n\n.product-dropdown-container.dropdown-menu {\n\tbackground-clip: none !important;\n\tborder: none !important;\n\tborder-radius: 0 !important;\n\ttop: 1rem !important;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductDropdown.vue?vue&type=template&id=4842eaa2&scoped=true&\"\nimport script from \"./ProductDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductDropdown.vue?vue&type=style&index=0&id=4842eaa2&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4842eaa2\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown-right-panel-container\"},[(_vm.isMobile)?_c('a',{staticClass:\"text-muted\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.resetCategory}},[_c('i',{staticClass:\"fa fa-arrow-left\"}),_vm._v(\" Back\")]):_vm._e(),_c('div',{class:['product-dropdown-content', { mobile: _vm.isMobile }]},[(_vm.dataLoaded)?_c('div',[_vm._l((_vm.categoryData),function(category){return _c('div',{key:category.id,staticClass:\"product-list\"},[_c('h1',[_vm._v(_vm._s(category.title))]),_c('ul',_vm._l((5),function(item){return _c('li',{key:item},[_c('img',{staticClass:\"product-list-image\",attrs:{\"src\":require(\"../../../assets/images/sample-thumbnail.jpeg\"),\"alt\":\"\"}}),_c('a',{attrs:{\"role\":\"button\"}},[_vm._v(\"AFM - Advanced Financial Management (P4 - Advance Financial Management)\")])])}),0),_c('a',{staticClass:\"view-all\",attrs:{\"role\":\"button\"}},[_vm._v(\"View all \"+_vm._s(category.title))])])}),(\n\t\t\t\t\t_vm.productVariantsByCategory[_vm.activeCategory] &&\n\t\t\t\t\t_vm.filteredProductVariantsByCategory.length\n\t\t\t\t)?_c('div',{staticClass:\"product-list\",attrs:{\"id\":\"products\"}},[_c('ul',_vm._l((_vm.filteredProductVariantsByCategory),function(item){return _c('li',{key:item.id},[_c('img',{staticClass:\"product-list-image\",attrs:{\"src\":item.thumbnailPath\n\t\t\t\t\t\t\t\t\t? item.thumbnailPath\n\t\t\t\t\t\t\t\t\t: require('@/assets/images/sample-thumbnail.jpeg'),\"alt\":\"\"}}),_c('a',{attrs:{\"role\":\"button\"},on:{\"click\":function($event){_vm.handleClick(_vm.productVariantURL(item))}}},[_vm._v(_vm._s(item.product.title)+\" \"),_c('br'),_vm._v(\" \"+_vm._s(item.title)+\" \"),(item.status == _vm.ProductVariantStatus.COMING_SOON)?_c('span',{staticClass:\"coming-soon-pill\"},[_vm._v(_vm._s(item.status))]):_vm._e()])])}),0)]):_vm._e()],2):_vm._e()]),(\n\t\t\t(_vm.categoryData &&\n\t\t\t\t_vm.categoryData.length == 0 &&\n\t\t\t\t!_vm.productVariantsByCategory[_vm.activeCategory] &&\n\t\t\t\t!_vm.loading) ||\n\t\t\t(_vm.filteredProductVariantsByCategory &&\n\t\t\t\t!_vm.filteredProductVariantsByCategory.length)\n\t\t)?_c('div',{staticClass:\"no-content d-flex align-items-center justify-content-center\"},[_vm._v(\" no courses found \")]):_vm._e(),(_vm.loading)?_c('b-spinner'):_vm._e(),(_vm.showMoreCourses)?_c('img',{staticClass:\"more-courses-pointer\",attrs:{\"src\":require(\"@/assets/images/more-courses.gif\")}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"dropdown-right-panel-container\">\n\t\t<a @click=\"resetCategory\" type=\"button\" v-if=\"isMobile\" class=\"text-muted\"\n\t\t\t><i class=\"fa fa-arrow-left\"></i> Back</a\n\t\t>\n\t\t<div :class=\"['product-dropdown-content', { mobile: isMobile }]\">\n\t\t\t<div v-if=\"dataLoaded\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"product-list\"\n\t\t\t\t\tv-for=\"category in categoryData\"\n\t\t\t\t\t:key=\"category.id\"\n\t\t\t\t>\n\t\t\t\t\t<h1>{{ category.title }}</h1>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li v-for=\"item in 5\" :key=\"item\">\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tclass=\"product-list-image\"\n\t\t\t\t\t\t\t\tsrc=\"../../../assets/images/sample-thumbnail.jpeg\"\n\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<a role=\"button\"\n\t\t\t\t\t\t\t\t>AFM - Advanced Financial Management (P4 - Advance Financial\n\t\t\t\t\t\t\t\tManagement)</a\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t\t<a role=\"button\" class=\"view-all\">View all {{ category.title }}</a>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"\n\t\t\t\t\t\tproductVariantsByCategory[activeCategory] &&\n\t\t\t\t\t\tfilteredProductVariantsByCategory.length\n\t\t\t\t\t\"\n\t\t\t\t\tclass=\"product-list\"\n\t\t\t\t\tid=\"products\"\n\t\t\t\t>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tv-for=\"item in filteredProductVariantsByCategory\"\n\t\t\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tclass=\"product-list-image\"\n\t\t\t\t\t\t\t\t:src=\"\n\t\t\t\t\t\t\t\t\titem.thumbnailPath\n\t\t\t\t\t\t\t\t\t\t? item.thumbnailPath\n\t\t\t\t\t\t\t\t\t\t: require('@/assets/images/sample-thumbnail.jpeg')\n\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<a role=\"button\" @click=\"handleClick(productVariantURL(item))\"\n\t\t\t\t\t\t\t\t>{{ item.product.title }} <br />\n\t\t\t\t\t\t\t\t{{ item.title }}\n\t\t\t\t\t\t\t\t<!-- <br /> -->\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclass=\"coming-soon-pill\"\n\t\t\t\t\t\t\t\t\tv-if=\"item.status == ProductVariantStatus.COMING_SOON\"\n\t\t\t\t\t\t\t\t\t>{{ item.status }}</span\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<!-- {{ item.creator.name }} -->\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"\n\t\t\t\t(categoryData &&\n\t\t\t\t\tcategoryData.length == 0 &&\n\t\t\t\t\t!productVariantsByCategory[activeCategory] &&\n\t\t\t\t\t!loading) ||\n\t\t\t\t(filteredProductVariantsByCategory &&\n\t\t\t\t\t!filteredProductVariantsByCategory.length)\n\t\t\t\"\n\t\t\tclass=\"no-content d-flex align-items-center justify-content-center\"\n\t\t>\n\t\t\tno courses found\n\t\t</div>\n\t\t<b-spinner v-if=\"loading\" />\n\t\t<img\n\t\t\tclass=\"more-courses-pointer\"\n\t\t\tsrc=\"@/assets/images/more-courses.gif\"\n\t\t\tv-if=\"showMoreCourses\"\n\t\t/>\n\t</div>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nimport { parseForURL } from \"../../../helpers/FormatHelpers\";\nimport { ProductVariantStatus } from \"../../../constants/productVariant\";\nexport default {\n\tname: \"ProductDropdownRightPanel\",\n\tprops: { categoryData: Array, activeCategory: String },\n\tdata() {\n\t\treturn {\n\t\t\tdataLoaded: false,\n\t\t\tshowMoreCourses: false,\n\t\t\tProductVariantStatus,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"isMobile\"]),\n\t\t...mapState(\"productVariant\", [\"productVariantsByCategory\", \"loading\"]),\n\t\t...mapState(\"user\", [\"user\"]),\n\t\tfilteredProductVariantsByCategory() {\n\t\t\treturn (\n\t\t\t\tthis.productVariantsByCategory[this.activeCategory] &&\n\t\t\t\tthis.productVariantsByCategory[this.activeCategory].filter(\n\t\t\t\t\t(v) =>\n\t\t\t\t\t\tv.status.toLowerCase() != \"draft\" &&\n\t\t\t\t\t\tv.status.toLowerCase() != \"private\"\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"getProductVariantByCategoryId\"]),\n\t\tpurchased(id) {\n\t\t\tif (\n\t\t\t\tthis.user &&\n\t\t\t\tthis.user.productVariants &&\n\t\t\t\tthis.user.productVariants.length > 0\n\t\t\t) {\n\t\t\t\tvar found = this.user.productVariants.find((p) => p.id == id);\n\t\t\t\treturn found ? true : false;\n\t\t\t}\n\t\t},\n\t\tgetProductDetailsUrl(id) {\n\t\t\tif (this.purchased(id)) {\n\t\t\t\treturn \"/product/content/\";\n\t\t\t} else {\n\t\t\t\treturn \"/product/details/\";\n\t\t\t}\n\t\t},\n\t\thandleClick(link) {\n\t\t\t// this.$emit(\"close-dropdown\");\n\t\t\tif (!this.isMobile) $(\"#coursesMenu.courses-btn\")[0].click();\n\t\t\telse $(\"#coursesMenu.hamburger\")[0].click();\n\t\t\tthis.$router.push(link);\n\t\t},\n\t\tresetCategory() {\n\t\t\tthis.$emit(\"resetCategory\");\n\t\t},\n\t\tproductVariantURL(item) {\n\t\t\treturn (\n\t\t\t\tthis.getProductDetailsUrl(item.id) +\n\t\t\t\t`${parseForURL(item.product.friendlyTitle)}-${item.id}`\n\t\t\t);\n\t\t},\n\t},\n\twatch: {\n\t\tactiveCategory: function () {\n\t\t\t// setTimeout(() => {\n\t\t\t// \tvar isOverflow = $(\"#products\")[0].scrollWidth / 16 > 81;\n\t\t\t// \tthis.showMoreCourses = isOverflow;\n\t\t\t// \t// $(\"#products\").on(\"scroll\", function (e) {\n\t\t\t// \t// \tconsole.log(\"scroll\", e);\n\t\t\t// \t// });\n\t\t\t// }, 300).bind(this);\n\n\t\t\tif (!this.productVariantsByCategory[this.activeCategory]) {\n\t\t\t\tthis.dataLoaded = false;\n\t\t\t\tthis.getProductVariantByCategoryId(this.activeCategory)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t\"data\",\n\t\t\t\t\t\t\tthis.productVariantsByCategory[this.activeCategory]\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.dataLoaded = true;\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\tthis.$toasted.error(err.message, {\n\t\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.dataLoaded = true;\n\t\t\t}\n\t\t},\n\t},\n\tcreated() {\n\t\tif (!this.productVariantsByCategory[this.activeCategory]) {\n\t\t\tthis.getProductVariantByCategoryId(this.activeCategory)\n\t\t\t\t.then(() => {\n\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\"data\",\n\t\t\t\t\t\tthis.productVariantsByCategory[this.activeCategory]\n\t\t\t\t\t);\n\t\t\t\t\tthis.dataLoaded = true;\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tthis.$toasted.error(err.message, {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t} else {\n\t\t\tthis.dataLoaded = true;\n\t\t}\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 600px) {\n\t.product-list ul {\n\t\tflex-wrap: nowrap !important;\n\t}\n\n\t.product-list ul li {\n\t\tmax-width: unset !important;\n\t}\n}\n\n.product-dropdown-content {\n\t/* display: grid;\n\tgrid-template-columns: repeat(3, 1fr);\n\tgrid-column-gap: 1.875rem; */\n\t/* display: flex;\n\tflex-direction: column;\n\tmax-height: calc(80vh - 3.5rem);\n\tflex-wrap: wrap; */\n}\n\n.product-dropdown-content.mobile {\n\t/* grid-template-rows: 1fr !important;\n\tgrid-row-gap: 1.875rem !important;\n\tgrid-auto-flow: row; */\n\tgrid-template-columns: unset !important;\n}\n.product-list {\n\tmargin: 0;\n\t/* margin-bottom: 2rem; */\n}\n\n.product-list h1 {\n\tcolor: #000000;\n\tfont-weight: normal;\n\tpadding-bottom: 1.25rem;\n\tfont-size: 1.125rem;\n\tmargin: 0;\n\tborder-bottom: 1px solid #d0d0d0;\n\tmargin-bottom: 1.25rem;\n}\n\n.product-list ul {\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tmargin-bottom: 1rem;\n\tdisplay: flex !important;\n\tflex-direction: column;\n\tmax-height: calc(80vh - 3.5rem);\n\tflex-wrap: wrap;\n\tcolumn-gap: 1rem;\n\n\t/* max-height: 45%; \n\toverflow: auto; */\n}\n\n.product-list ul li {\n\tpadding: 0.75rem 0;\n\tfont-size: 1rem;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tmax-width: 33%;\n}\n\n.product-list ul li a {\n\tcolor: #000000 !important;\n\ttext-decoration: none;\n}\n\n.product-list-image {\n\twidth: 2.5rem;\n\theight: 2.5rem;\n\tobject-fit: cover;\n\tobject-position: top;\n\tborder-radius: 6px;\n\tmargin-right: 1rem;\n}\n\n.view-all {\n\tcolor: #0090fa;\n\tfont-size: 1rem;\n}\n\n.dropdown-right-panel-container {\n\theight: 100%;\n}\n\n.dropdown-right-panel-container .no-content {\n\theight: 100%;\n\tfont-size: 1.5rem;\n\tcolor: #d0d0d0;\n\tfont-weight: 500;\n}\n\n.more-courses-pointer {\n\twidth: 2rem;\n\tposition: fixed;\n\tbottom: 1rem;\n\tright: 1rem;\n}\n\n.coming-soon-pill {\n\tcolor: var(--color-white);\n\tbackground-color: var(--primary-color);\n\tpadding: 0.25rem 0.25rem;\n\tborder-radius: 0.25rem;\n\tfont-size: 0.75rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDropdownRightPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDropdownRightPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductDropdownRightPanel.vue?vue&type=template&id=c4d9db68&scoped=true&\"\nimport script from \"./ProductDropdownRightPanel.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductDropdownRightPanel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductDropdownRightPanel.vue?vue&type=style&index=0&id=c4d9db68&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c4d9db68\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.feedbacks!=null && _vm.feedbacks.length>0)?_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"col-lg-8 col-sm-12 feedback-div\"},[_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('h2',[_vm._v(\"Students Feedback\")]),(!_vm.isViewAll)?_c('div',{staticClass:\"d-flex\"},[_c('a',{staticClass:\"feedback-arrow\",attrs:{\"role\":\"button\"},on:{\"click\":function ($event){ return _vm.previous(); }}},[_c('i',{staticClass:\"fas fa-angle-left\"})]),_c('a',{staticClass:\"feedback-arrow right\",attrs:{\"role\":\"button\"},on:{\"click\":function ($event){ return _vm.next(); }}},[_c('i',{staticClass:\"fas fa-angle-right\"})])]):_vm._e()]),(!_vm.isViewAll)?_c('div',[(_vm.mainFeedbackIndex > -1 && _vm.mainFeedbackIndex < _vm.feedbacks.length)?_c('div',{staticClass:\"feedback-box\"},[_c('star-rating',{attrs:{\"rating\":_vm.feedbacks[_vm.mainFeedbackIndex].ratingPoint,\"star-size\":20,\"active-color\":\"#FFBF00\",\"increment\":0.1,\"read-only\":true,\"show-rating\":false}}),_c('p',{staticClass:\"feedback-text\"},[_vm._v(\" \"+_vm._s(_vm.feedbacks[_vm.mainFeedbackIndex].review))]),_c('p',{staticClass:\"feedback-text-user\"},[_vm._v(\"- \"+_vm._s(_vm.feedbacks[_vm.mainFeedbackIndex].user.firstName)+\" \"+_vm._s(_vm.feedbacks[_vm.mainFeedbackIndex].user.lastName))])],1):_vm._e()]):_c('div',_vm._l((_vm.feedbacks),function(feedback){return _c('div',{staticClass:\"feedback-box\"},[_c('star-rating',{attrs:{\"rating\":feedback.ratingPoint,\"star-size\":20,\"active-color\":\"#FFBF00\",\"increment\":0.1,\"read-only\":true,\"show-rating\":false}}),_c('p',{staticClass:\"feedback-text\"},[_vm._v(\" \"+_vm._s(feedback.review))]),_c('p',{staticClass:\"feedback-text-user\"},[_vm._v(\"- \"+_vm._s(feedback.user.firstName)+\" \"+_vm._s(feedback.user.lastName))])],1)}),0),(_vm.feedbacks.length>1)?_c('div',{staticClass:\"d-flex liner-div\"},[_c('div',[(!_vm.isViewAll)?_c('a',{staticClass:\"more\"},[_vm._v(_vm._s(_vm.feedbacks.length-1)+\" More Feedbacks\")]):_vm._e()]),_c('div',[(_vm.isViewAll)?_c('a',{on:{\"click\":function ($event){ _vm.isViewAll=false; }}},[_vm._v(\" Collapse All   \"),_c('i',{staticClass:\"fas fa-solid fa-arrow-right\"})]):_vm._e(),(!_vm.isViewAll)?_c('a',{on:{\"click\":function ($event){ _vm.isViewAll=true; }}},[_vm._v(\" View All   \"),_c('i',{staticClass:\"fas fa-solid fa-arrow-right\"})]):_vm._e()])]):_vm._e()])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"container\" v-if=\"feedbacks!=null && feedbacks.length>0\">\n\t\t<div class=\"col-lg-8 col-sm-12 feedback-div\">\n\t\t\t<div class=\"d-flex justify-content-between\">\n\t\t\t\t<h2>Students Feedback</h2>\n\t\t\t\t<div class=\"d-flex\" v-if=\"!isViewAll\">\n\t\t\t\t\t<a class=\"feedback-arrow\" role=\"button\"  @click=\"$event=>previous()\"\n\t\t\t\t\t\t><i class=\"fas fa-angle-left\"></i\n\t\t\t\t\t\t></a>\n\t\t\t\t\t\t<a class=\"feedback-arrow right\" role=\"button\"   @click=\"$event=>next()\" \n\t\t\t\t\t\t\t><i class=\"fas fa-angle-right\"></i\n\t\t\t\t\t\t></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div  v-if=\"!isViewAll\"> \n\t\t\t\t<div class=\"feedback-box\" v-if=\"mainFeedbackIndex > -1 && mainFeedbackIndex < feedbacks.length\">\n\t\t\t\t\t<star-rating  v-bind:rating=\"feedbacks[mainFeedbackIndex].ratingPoint\" v-bind:star-size=\"20\" active-color=\"#FFBF00\" v-bind:increment=\"0.1\" v-bind:read-only=\"true\" v-bind:show-rating=\"false\" ></star-rating>\n\t\t\t\t\t<p class=\"feedback-text\"> {{ feedbacks[mainFeedbackIndex].review }}</p>\n\t\t\t\t\t<p class=\"feedback-text-user\">- {{ feedbacks[mainFeedbackIndex].user.firstName }} {{ feedbacks[mainFeedbackIndex].user.lastName }}</p>\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div  v-else > \n\t\t\t\t<div class=\"feedback-box\" v-for=\"feedback in feedbacks\">\n\t\t\t\t\t<star-rating  v-bind:rating=\"feedback.ratingPoint\" v-bind:star-size=\"20\" active-color=\"#FFBF00\" v-bind:increment=\"0.1\" v-bind:read-only=\"true\" v-bind:show-rating=\"false\" ></star-rating>\n\t\t\t\t\t<p class=\"feedback-text\"> {{ feedback.review }}</p>\n\t\t\t\t\t<p class=\"feedback-text-user\">- {{ feedback.user.firstName }} {{ feedback.user.lastName }}</p>\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"d-flex liner-div\" v-if=\"feedbacks.length>1\">\n\t\t\t\t<div>\n\t\t\t\t\t<a  v-if=\"!isViewAll\"  class=\"more\">{{feedbacks.length-1}} More Feedbacks</a>\n\t\t\t\t</div>\n\t\t\t\t<div><a  v-if=\"isViewAll\" @click=\"$event=>{ isViewAll=false; }\" > Collapse All &nbsp; <i class=\"fas fa-solid fa-arrow-right\"></i></a>\n\t\t\t\t\t<a  v-if=\"!isViewAll\" @click=\"$event=>{ isViewAll=true; }\" > View All &nbsp; <i class=\"fas fa-solid fa-arrow-right\"></i></a></div>\n\t\t\t</div>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport router from \"../../router\";\nimport { mapActions, mapState } from \"vuex\";\nimport StarRating from \"vue-star-rating\"\nexport default {\n\tname: \"ProductFeedbackCard\",\n\tdata() {\n\t\treturn {\n\t\t\tfeedbacks:null,\n\t\t\tmainFeedbackIndex:0,\n\t\t\tisViewAll:false\n\t\t};\n\t},\n\tcomponents:{\t\t\n\t\tStarRating\n\t},\n\tprops: { productVariantData: Object },\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"fetchRatingByProductVariant\"]),\n\t\tnext(){\n\t\t\tthis.mainFeedbackIndex++;\n\t\t\t\n\t\t\tif(this.mainFeedbackIndex>(this.feedbacks.length-1))\n\t\t\t{\n\t\t\t\tthis.mainFeedbackIndex=0;\n\t\t\t}\n\t\t},\n\t\tprevious(){\n\t\t\tthis.mainFeedbackIndex--;\n\t\t\tif(this.mainFeedbackIndex<0)\n\t\t\t{\n\t\t\t\tthis.mainFeedbackIndex=this.feedbacks.length-1;\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\t\n\t},\n\tcreated() {\n\t\t\n\t},\n\twatch: {\n\t\tproductVariantData: function () {\n\t\t\tvar id=this.productVariantData.id+\"\";\n\t\t\tthis.fetchRatingByProductVariant(id).then((val)=>{\n\t\t\t\tthis.feedbacks=val;\n\t\t\t});\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.feedback-text{\n\tcolor: rgb(153, 153,153);\n\tfont-size: larger;\n\tmargin-top: 20px;\n}\n.feedback-div{\n\tpadding: 0px;\n\tpadding-right: 30px;\n}\n.feedback-arrow{\n\tfont-size: 2rem;\n    width: 2.5rem;\n    height: 2.5rem;\n    line-height: 1;\n    align-items: center;\n    justify-content: center;\n    display: flex;\n    border-radius: 50%;\n    border: 2px solid var(--secondary-color);\n    background-color: #ffffff;\n    box-shadow: 3px 3px 6px #00000029;\n    color: var(--secondary-color);\n    text-decoration: none;\n\tmargin-left: 10px;\n}\n.feedback-text-user{\n\tcolor: black;\t\n\tfont-size: larger;\n\tfont-weight: bold;\n\tmargin-top: 20px;\n\tmargin: 0px;\n\tpadding: 0px;\n}\n.feedback-box{\n\tmargin-top: 10px;\n\tpadding: 20px 1.875rem;\n    border: 1px solid #a7a9ac;\n    border-radius: 8px;\n}\n.liner-div{\n\t\n\tjustify-content: space-between;   \n\t margin: 5px;\n    margin-top: 10px;\n}\n.liner-div hr{\n\twidth: 100%;\n }\n \n .liner-div a{\n\t text-decoration: none;\n\t color: black;\n\t cursor: pointer;\n  }\n\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductFeedbackCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductFeedbackCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductFeedbackCard.vue?vue&type=template&id=546be99e&scoped=true&\"\nimport script from \"./ProductFeedbackCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductFeedbackCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductFeedbackCard.vue?vue&type=style&index=0&id=546be99e&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"546be99e\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"search-container\"},[_c('div',{staticClass:\"search-options-top gap-4\"},[_c('a',{staticClass:\"border-btn btn-md filter-button\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.toggleAdvancedFilters}},[_vm._v(\" Filters \"),_c('i',{staticClass:\"far fa-sort-amount-down btn-icon\"})]),_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:('advanced-filters'),expression:\"'advanced-filters'\"}],staticClass:\"border-btn btn-md filter-button-mobile\",attrs:{\"type\":\"button\"}},[_vm._v(\" Show Filters \"),_c('i',{staticClass:\"far fa-sort-amount-down btn-icon\"})]),_c('div',{staticClass:\"searchbar\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],staticClass:\"form-control\",attrs:{\"type\":\"search\",\"autocomplete\":\"off\",\"id\":\"variant-search\",\"placeholder\":\"Search\"},domProps:{\"value\":(_vm.searchText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}}),_c('a',{attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.search()}}},[_c('img',{staticClass:\"search-icon\",attrs:{\"src\":require(\"@/assets/images/search-icon.svg\")}})])]),_c('div',{staticClass:\"dropdown hide-mobile\"})]),_c('div',{staticClass:\"d-flex flex-row gap-4 align-items-start\"},[_c('transition',{attrs:{\"name\":\"slide-fade\"}},[(_vm.showAdvancedFilters)?_c('div',{staticClass:\"advanced-search-container\"},[_c('ProductAdvancedFilters',{attrs:{\"filters\":_vm.filters}})],1):_vm._e()]),_c('b-sidebar',{staticClass:\"filters-sidebar\",attrs:{\"id\":\"advanced-filters\",\"title\":\"Advance Search\",\"shadow\":\"\"}},[_c('div',{staticClass:\"px-3 py-2\"},[_c('ProductAdvancedFilters',{attrs:{\"filters\":_vm.filters}})],1)]),_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"search-container\">\n    <!-- {{ productVariants.length > 0 ? productVariants : \"hello world\" }} -->\n    <div class=\"search-options-top gap-4\">\n      <a\n        type=\"button\"\n        class=\"border-btn btn-md filter-button\"\n        @click=\"toggleAdvancedFilters\"\n      >\n        Filters\n        <i class=\"far fa-sort-amount-down btn-icon\"></i>\n      </a>\n      <a\n        v-b-toggle=\"'advanced-filters'\"\n        type=\"button\"\n        class=\"border-btn btn-md filter-button-mobile\"\n      >\n        Show Filters\n        <i class=\"far fa-sort-amount-down btn-icon\"></i>\n      </a>\n      <div class=\"searchbar\">\n        <input\n          type=\"search\"\n          autocomplete=\"off\"\n          id=\"variant-search\"\n          placeholder=\"Search\"\n          class=\"form-control\"\n          v-model=\"searchText\"\n        />\n        <a role=\"button\" @click=\"search()\">\n          <img class=\"search-icon\" src=\"@/assets/images/search-icon.svg\"\n        /></a>\n      </div>\n      <div class=\"dropdown hide-mobile\">\n        <!-- <button\n\t\t\t\t\tclass=\"dropdown-toggle border-input setButtonStyle m-0 text-left\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tid=\"dropdownMenuButton1\"\n\t\t\t\t\tdata-bs-toggle=\"dropdown\"\n\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t>\n\t\t\t\t\t<p class=\"pContent\">Sort By:</p>\n\t\t\t\t\tAll Categories\n\t\t\t\t</button> -->\n        <!-- <ul\n\t\t\t\t\tstyle=\"padding-top: 0px\"\n\t\t\t\t\tclass=\"dropdown-menu ulContent\"\n\t\t\t\t\taria-labelledby=\"dropdownMenuButton1\"\n\t\t\t\t>\n\t\t\t\t\t<li class=\"liStyling setLiStyle\">\n\t\t\t\t\t\t<a class=\"dropdown-item\" href=\"#\" style=\"margin-right: 10rem\"\n\t\t\t\t\t\t\t>A <i class=\"fas fa-arrow-right\"></i> Z</a\n\t\t\t\t\t\t>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"liStyling setLiStyle\">\n\t\t\t\t\t\t<a class=\"dropdown-item\" href=\"#\" style=\"margin-right: 10rem\"\n\t\t\t\t\t\t\t>Highest Rating</a\n\t\t\t\t\t\t>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"liStyling setLiStyle\">\n\t\t\t\t\t\t<a class=\"dropdown-item\" href=\"#\" style=\"margin-right: 10rem\"\n\t\t\t\t\t\t\t>Most Popular</a\n\t\t\t\t\t\t>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"liStyling setLiStyle\">\n\t\t\t\t\t\t<a class=\"dropdown-item\" href=\"#\" style=\"margin-right: 10rem\"\n\t\t\t\t\t\t\t>Newest</a\n\t\t\t\t\t\t>\n\t\t\t\t\t</li>\n\t\t\t\t</ul> -->\n      </div>\n    </div>\n    <div class=\"d-flex flex-row gap-4 align-items-start\">\n      <transition name=\"slide-fade\">\n        <div class=\"advanced-search-container\" v-if=\"showAdvancedFilters\">\n          <!-- <h3>Advance Search</h3> -->\n          <ProductAdvancedFilters :filters=\"filters\" />\n        </div>\n      </transition>\n      <b-sidebar\n        id=\"advanced-filters\"\n        title=\"Advance Search\"\n        class=\"filters-sidebar\"\n        shadow\n      >\n        <div class=\"px-3 py-2\">\n          <ProductAdvancedFilters :filters=\"filters\" />\n        </div>\n      </b-sidebar>\n      <slot></slot>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport ProductAdvancedFilters from \"./ProductAdvancedFilters.vue\";\n\nexport default {\n  name: \"ProductFilters\",\n  props: {\n    filters: Object\n  },\n  data() {\n    return {\n      showAdvancedFilters: true,\n      searchText: \"\",\n    };\n  },\n  methods: {\n    ...mapActions(\"category\", [\"fetchCategories\"]),\n    ...mapActions(\"productVariant\", [\"fetchProductVariants\"]),\n\n    toggleAdvancedFilters() {\n      this.showAdvancedFilters = !this.showAdvancedFilters;\n    },\n    search() {\n      this.$router.push({path: 'search', query: { title: this.searchText, categoryId: this.filters?.categoryId, productId: this.filters?.productId }});\n    },\n    filterProducts() {\n\n      this.fetchProductVariants(this.filters).then(() => {\n        console.log(Object.values(this.productVariants.items));\n      });\n    }\n  },\n\n  computed: {\n    ...mapState(\"productVariant\", [\"productVariants\"]),\n  },\n  created() {\n\n    if(this.filters && this.filters.productTitle) {\n      this.searchText = this.filters.productTitle;\n    }\n\n    this.filterProducts();\n\n    //console.log({ PVI: this.productVariants });\n    // this.fetchCategories().then(() => {\n    //   this.categoryList = this.categories;\n    // });\n    // this.fetchAllProducts().then(() => {\n    //   console.log(\"products fetched\");\n    //   this.courseList = Object.values(this.products.items);\n    // });\n  },\n  watch: {\n    filters: function() {\n      this.searchText = '';\n      if(this.filters && this.filters.productTitle) {\n        this.searchText = this.filters.productTitle;\n      }\n\n      this.filterProducts();\n    }\n  },\n  components: { ProductAdvancedFilters },\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n  .filters-sidebar {\n    display: block !important;\n  }\n\n  .filter-button-mobile {\n    display: inline-flex !important;\n    border-radius: 6px;\n    padding: 0.675rem 1rem;\n    text-align: left;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    width: 20%;\n    text-decoration: none;\n    border: 1px solid #a7a9ac;\n  }\n\n  .filter-button {\n    display: none !important;\n  }\n\n  .advanced-search-container {\n    display: none !important;\n  }\n\n  .border-input,\n  .border-btn {\n    min-width: 150px !important;\n    font-size: 0.85rem;\n  }\n\n  .search-options-top {\n    padding: 1rem 0 !important;\n  }\n}\n\n.search-container {\n  display: flex;\n  flex-direction: column;\n}\n\n.search-options-top {\n  display: flex;\n  flex: 100%;\n  padding: 15px 0;\n  /* border-bottom: 1px solid var(--color-gray); */\n}\n\n.advanced-search-container {\n  display: flex;\n  width: 20%;\n  padding: 1rem 0;\n  transition: all 0.5s ease-in-out;\n  flex-direction: column;\n  flex-shrink: 0;\n}\n\n.advanced-search-container h3 {\n  font-size: 1.5rem !important;\n}\n\n.slide-fade-enter-active {\n  transition: all 0.3s ease;\n}\n.slide-fade-leave-active {\n  transition: all 0.3s ease;\n}\n.slide-fade-enter,\n.slide-fade-leave-to {\n  transform: translateX(-20rem);\n}\n\n.filter-accordian-header {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  cursor: pointer;\n  background-color: var(--color-white) !important;\n  border-bottom: none !important;\n  padding: 15px 5px !important;\n  font-weight: bold;\n  font-size: 1.1rem;\n}\n\n.filter-accordian-card {\n  border: none !important;\n  border-bottom: 1px solid var(--color-gray) !important;\n}\n\n.filter-accordian-card .card-body {\n  padding: 0 0.3rem 0.5rem;\n}\n\n.filter-accordian-card .card-body .form-control {\n  border: none;\n}\n\n.b-rating-icon {\n  font-size: 1.5rem;\n}\n\n.filters-sidebar {\n  display: none;\n}\n\n.filter-button-mobile {\n  display: none;\n}\n\n.b-sidebar {\n  background-color: var(--color-white) !important;\n}\n\n/* #advanced-filters input[type=\"radio\"],\ninput[type=\"checkbox\"] {\n\tmargin: 0 !important;\n} */\n\n.filter-button {\n  border-radius: 6px;\n  padding: 0.675rem 1rem;\n  text-align: left;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  width: 20%;\n  text-decoration: none;\n  border: 1px solid #a7a9ac;\n}\n\n.filter-button:hover {\n  text-decoration: none;\n}\n\n.searchbar {\n  position: relative;\n  width: 60%;\n}\n\n.searchbar input {\n  margin: 0;\n  line-height: 1.5;\n  border: 1px solid #a7a9ac;\n  border-radius: 6px;\n  outline: none;\n  padding: 0.675rem 1rem;\n  width: 100%;\n  box-shadow: 0 3px 6px #dbdbdb29;\n}\n\n.searchbar .search-icon {\n  position: absolute;\n  margin-right: 0.75rem;\n  right: 0;\n  width: 1.375rem;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n/* #search[data-v-8e2be454] {\n    line-height: 1.5;\n    border: 1px solid #a3a3a3;\n    border-radius: 8px;\n    background-color: #fafafa;\n    outline: none;\n    padding: 1.125rem 1.5rem;\n    width: 100%;\n    box-shadow: 0 3px 6px #dbdbdb29;\n} */\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductFilters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductFilters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductFilters.vue?vue&type=template&id=d2152c82&scoped=true&\"\nimport script from \"./ProductFilters.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductFilters.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductFilters.vue?vue&type=style&index=0&id=d2152c82&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"d2152c82\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.displayMode === 'carousel' && _vm.productListData.length > 0)?_c('div',{staticClass:\"position-relative\"},[_c('VueSlickCarousel',_vm._b({ref:\"product_carousel\",staticClass:\"product-listing-container container-fluid\"},'VueSlickCarousel',_vm.settings,false),_vm._l((_vm.productListData),function(productVariant){return _c('ProductListItem',{key:productVariant.id,attrs:{\"data\":productVariant,\"purchased\":false}})}),1),_c('a',{staticClass:\"carousel-arrow\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.prevSlide}},[_c('i',{staticClass:\"fas fa-angle-left\"})]),_c('a',{staticClass:\"carousel-arrow right\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.nextSlide}},[_c('i',{staticClass:\"fas fa-angle-right\"})])],1):_vm._e(),(_vm.showFilters)?_c('ProductFilters',{attrs:{\"showFilters\":_vm.showFilters,\"filters\":_vm.filters}},[(_vm.loading)?_c('div',{staticClass:\"d-flex justify-content-center gap-3 width-100\"},[_c('b-spinner'),_vm._v(\" \"),_c('span',{staticClass:\"font-500\"},[_vm._v(\"loading...\")])],1):(\n\t\t\t\t\t_vm.displayMode !== 'carousel' &&\n\t\t\t\t\t_vm.productListData &&\n\t\t\t\t\t_vm.productListData.length > 0\n\t\t\t\t)?_c('div',{class:[\n\t\t\t\t\t'product-listing-container',\n\t\t\t\t\t{ grid: _vm.displayMode === 'grid', 'list-view': _vm.displayMode === 'list' } ]},_vm._l((_vm.productListData),function(productVariant){return _c('ProductListItem',{key:productVariant.id,class:[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tgrid: _vm.displayMode === 'grid',\n\t\t\t\t\t\t\t'list-view': _vm.displayMode === 'list',\n\t\t\t\t\t\t} ],attrs:{\"data\":productVariant,\"purchased\":false}})}),1):(_vm.loading)?_c('div',{staticClass:\"d-flex justify-content-center gap-3 mt-5 width-100\"},[_c('b-spinner'),_vm._v(\" \"),_c('span',{staticClass:\"font-500\"},[_vm._v(\"loading...\")])],1):_c('div',{staticClass:\"product-listing-container\"},[_c('div',{staticClass:\"no-data\"},[_vm._v(\"No courses found\")])])]):(_vm.loading)?_c('div',{staticClass:\"d-flex justify-content-center gap-3 width-100\"},[_c('b-spinner'),_vm._v(\" \"),_c('span',{staticClass:\"font-500\"},[_vm._v(\"loading...\")])],1):_vm._e(),(_vm.productListData.length == 0 && !_vm.showFilters && !_vm.loading)?_c('div',{staticClass:\"product-listing-container-data\"},[_vm._v(\" No courses found \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div\n\t\t\tv-if=\"displayMode === 'carousel' && productListData.length > 0\"\n\t\t\tclass=\"position-relative\"\n\t\t>\n\t\t\t<VueSlickCarousel\n\t\t\t\tref=\"product_carousel\"\n\t\t\t\tclass=\"product-listing-container container-fluid\"\n\t\t\t\tv-bind=\"settings\"\n\t\t\t>\n\t\t\t\t<ProductListItem\n\t\t\t\t\tv-for=\"productVariant in productListData\"\n\t\t\t\t\t:key=\"productVariant.id\"\n\t\t\t\t\t:data=\"productVariant\"\n\t\t\t\t\t:purchased=\"false\"\n\t\t\t\t/>\n\t\t\t</VueSlickCarousel>\n\t\t\t<a class=\"carousel-arrow\" role=\"button\" @click=\"prevSlide\"\n\t\t\t\t><i class=\"fas fa-angle-left\"></i\n\t\t\t></a>\n\t\t\t<a class=\"carousel-arrow right\" role=\"button\" @click=\"nextSlide\"\n\t\t\t\t><i class=\"fas fa-angle-right\"></i\n\t\t\t></a>\n\t\t</div>\n\t\t<ProductFilters v-if=\"showFilters\" :showFilters=\"showFilters\" :filters=\"filters\">\n      <div\n          class=\"d-flex justify-content-center gap-3 width-100\"\n          v-if=\"loading\"\n      >\n        <b-spinner></b-spinner> <span class=\"font-500\">loading...</span>\n      </div>\n\t\t\t<div\n\t\t\t\t:class=\"[\n\t\t\t\t\t'product-listing-container',\n\t\t\t\t\t{ grid: displayMode === 'grid', 'list-view': displayMode === 'list' },\n\t\t\t\t]\"\n\t\t\t\tv-else-if=\"\n\t\t\t\t\tdisplayMode !== 'carousel' &&\n\t\t\t\t\tproductListData &&\n\t\t\t\t\tproductListData.length > 0\n\t\t\t\t\"\n\t\t\t>\n\t\t\t\t<ProductListItem\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tgrid: displayMode === 'grid',\n\t\t\t\t\t\t\t'list-view': displayMode === 'list',\n\t\t\t\t\t\t},\n\t\t\t\t\t]\"\n\t\t\t\t\tv-for=\"productVariant in productListData\"\n\t\t\t\t\t:key=\"productVariant.id\"\n\t\t\t\t\t:data=\"productVariant\"\n\t\t\t\t\t:purchased=\"false\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"d-flex justify-content-center gap-3 mt-5 width-100\"\n\t\t\t\tv-else-if=\"loading\"\n\t\t\t>\n\t\t\t\t<b-spinner></b-spinner> <span class=\"font-500\">loading...</span>\n\t\t\t</div>\n\t\t\t<div v-else class=\"product-listing-container\">\n\t\t\t\t<div class=\"no-data\">No courses found</div>\n\t\t\t</div>\n\t\t</ProductFilters>\n\t\t<div\n\t\t\tclass=\"d-flex justify-content-center gap-3 width-100\"\n\t\t\tv-else-if=\"loading\"\n\t\t>\n\t\t\t<b-spinner></b-spinner> <span class=\"font-500\">loading...</span>\n\t\t</div>\n\t\t<div\n\t\t\tv-if=\"productListData.length == 0 && !showFilters && !loading\"\n\t\t\tclass=\"product-listing-container-data\"\n\t\t>\n\t\t\tNo courses found\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState, mapGetters } from \"vuex\";\nimport ProductListItem from \"./ProductListItem.vue\";\nimport { PRODUCT_CAROUSEL_SETTINGS } from \"../../constants/productCarouselSettings\";\nimport VueSlickCarousel from \"vue-slick-carousel\";\nimport ProductFilters from \"./ProductFilters.vue\";\nexport default {\n\tname: \"ProductList\",\n\tdata() {\n\t\treturn {\n\t\t\tcategoryActive: \"0\",\n\t\t\tproducts: this.allProductVariants ? this.allProductVariants : [],\n\t\t\t// settings: carouselSettings ? carouselSettings : PRODUCT_CAROUSEL_SETTINGS,\n\t\t\tshowAdvancedFilters: false,\n\t\t\tdisplayMode: \"list\",\n\t\t};\n\t},\n\tprops: {\n\t\tviewMode: String,\n\t\tshowFilters: Boolean,\n\t\tproductListData: Array,\n\t\tcarouselSettings: { type: Object, default: null },\n    filters: Object\n\t},\n\tcomponents: {\n\t\tProductListItem,\n\t\tProductFilters,\n\t\tVueSlickCarousel,\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"fetchProductVariants\"]),\n\t\tnextSlide() {\n\t\t\tthis.$refs.product_carousel.next();\n\t\t\tif (this.currentReminderSlide < this.totalReminderSlides)\n\t\t\t\tthis.currentReminderSlide += 1;\n\t\t},\n\t\tprevSlide() {\n\t\t\tthis.$refs.product_carousel.prev();\n\t\t\tif (this.currentReminderSlide > 1) this.currentReminderSlide -= 1;\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"productVariant\", [\"loading\"]),\n\t\t...mapGetters(\"productVariant\", [\"allProductVariants\"]),\n\t\tsettings() {\n\t\t\treturn this.carouselSettings\n\t\t\t\t? this.carouselSettings\n\t\t\t\t: PRODUCT_CAROUSEL_SETTINGS;\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.displayMode = this.viewMode ?? \"grid\";\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.category-pills-container {\n\t\tpadding-left: 0 !important;\n\t}\n\t.category-pill {\n\t\tfont-size: 0.9rem !important;\n\t}\n\t.product-listing-container {\n\t\tpadding: 0 !important;\n\t\trow-gap: 1rem !important;\n\t\tdisplay: flex;\n\t\tflex-direction: column !important;\n\t}\n\t.product-listing-container.list-view {\n\t\twidth: 100% !important;\n\t}\n}\n\n::-webkit-scrollbar {\n\twidth: 6px;\n\theight: 4px;\n}\n\n::-webkit-scrollbar-track {\n\tbackground: #ffffff;\n}\n\n::-webkit-scrollbar-thumb {\n\tbackground: #eeeeee;\n}\n\n.category-pills-container {\n\twidth: 100%;\n\t/* overflow: hidden; */\n\tpadding-right: 100px;\n\toverflow-x: auto;\n}\n\n.category-pills {\n\tborder-bottom: 1px solid transparent !important;\n\tflex-wrap: nowrap;\n}\n\n.category-pill {\n\tpadding: 10px 20px;\n\tborder-radius: 2rem;\n\ttransition: all 0.2s ease-in-out;\n\tmargin-left: 4px;\n\t/* font-weight: 500; */\n\tfont-size: 19px;\n\twhite-space: nowrap;\n}\n\n.category-pill.active,\n.category-pill:hover {\n\tbackground-color: var(--primary-color);\n}\n\n.product-listing-container:not(.slick-slider) {\n\toverflow: hidden !important;\n\tmargin-top: 20px;\n\tdisplay: flex;\n\tflex-direction: row;\n\trow-gap: 1.25rem;\n\tflex-wrap: wrap;\n\tflex-grow: 1;\n}\n\n.product-listing-container.list-view {\n\tflex-direction: column !important;\n\trow-gap: 1rem !important;\n\twidth: 60%;\n\tflex-grow: 0;\n\t/* flex-wrap: wrap; */\n}\n\n.carousel-product-item {\n\tmargin: 0 5px;\n}\n\n.no-data {\n\ttext-align: center;\n\tpadding: 2rem;\n\tfont-weight: 500;\n\tcolor: var(--color-gray);\n\tfont-size: 1.5rem;\n}\n\n.carousel-arrow {\n\t/* margin: 0.5rem; */\n\tfont-size: 2rem;\n\twidth: 2.5rem;\n\theight: 2.5rem;\n\tline-height: 1;\n\talign-items: center;\n\tjustify-content: center;\n\tdisplay: flex;\n\tborder-radius: 50%;\n\tborder: 2px solid var(--secondary-color);\n\tbackground-color: #ffffff;\n\tbox-shadow: 3px 3px 6px #00000029;\n\tcolor: var(--secondary-color);\n\ttext-decoration: none;\n\tposition: absolute;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n}\n\n.carousel-arrow.right {\n\tright: 0;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductList.vue?vue&type=template&id=7761a10c&scoped=true&\"\nimport script from \"./ProductList.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductList.vue?vue&type=style&index=0&id=7761a10c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7761a10c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"list-item-container\"},[_c('div',{staticClass:\"product-listing-item\",on:{\"click\":_vm.handleClick}},[_c('div',{staticClass:\"thumbnail\"},[_c('a',[_c('img',{class:(\"thumbnail-img \" + (_vm.isThumbnailError ? 'error' : '')),attrs:{\"src\":_vm.thumbnailPath,\"alt\":_vm.data.product.friendlyTitle},on:{\"error\":function () {\n\t\t\t\t\t\t\t_vm.isThumbnailError = true;\n\t\t\t\t\t\t}}})])]),(_vm.data.status == _vm.ProductVariantStatus.COMING_SOON)?_c('div',{staticClass:\"coming-soon-badge\"},[_vm._v(\" Coming Soon \")]):_vm._e(),_c('div',{staticClass:\"product-content\"},[_c('div',{staticClass:\"item-product-title\",attrs:{\"id\":'sb-selected-batch-'+_vm.data.id}},[_c('h1',[_vm._v(\" \"+_vm._s(_vm.data.product.title)+\" - \"+_vm._s(_vm.data.title)+\" \"),_c('br')]),_c('b-tooltip',{attrs:{\"target\":'sb-selected-batch-'+_vm.data.id,\"triggers\":\"hover\"}},[_c('b',[_vm._v(_vm._s(_vm.data.product.title))]),_c('br'),_vm._v(\" \"+_vm._s(_vm.data.title)+\" \")])],1),_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"product-variant-desc\",attrs:{\"title\":_vm.data.shortDescription}},[_vm._v(_vm._s(_vm.data.shortDescription ? _vm.data.shortDescription : \"\"))]),(!_vm.isAdmin && _vm.productTrainersList.length > 0)?_c('h2',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"creator-details\",attrs:{\"title\":_vm.productTrainersList\n\t\t\t\t\t\t.map(function (p) {\n\t\t\t\t\t\t\treturn p.firstName + ' ' + p.lastName;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t.split(',')\n\t\t\t\t\t\t.join(',\\n')}},[_c('div',{staticClass:\"tutor-images\"},[_vm._l((_vm.productTrainersList.slice(0, 2)),function(t){return _c('div',{key:t.id,staticClass:\"tutor-image\"},[(t.profilePicture)?_c('img',{staticClass:\"ls-is-cached lazyloaded\",attrs:{\"data-src\":\"../../assets/images/user_img_placeholder.jpg\",\"alt\":\"\",\"src\":t.profilePicture}}):_c('div',{staticClass:\"user-avatar\"},[_c('span',[_vm._v(_vm._s(t.firstName[0]))])])])}),(_vm.productTrainersList.length > 2)?_c('div',{staticClass:\"tutor-image\"},[_c('div',{staticClass:\"user-avatar extra\"},[_vm._v(\" \"+_vm._s((\"+\" + (_vm.productTrainersList.length - 2)))+\" \")])]):_vm._e()],2),_c('span',[_vm._v(_vm._s(_vm.productTrainersList[0].firstName)+\" \"+_vm._s(_vm.productTrainersList[0].lastName)+\" \"),(_vm.productTrainersList.length > 1)?_c('span',[_vm._v(_vm._s((\"+\" + (_vm.productTrainersList.length - 1) + \" trainer\" + (_vm.productTrainersList.length > 2 ? \"s\" : \"\")))+\" \")]):_vm._e()])]):_vm._e(),(!_vm.isAdmin)?_c('div',{staticClass:\"ratings\"},[_c('div',{staticClass:\"ratings-left\"},[(_vm.data.ratings.value)?_c('div',{staticClass:\"rating-container\"},[_c('b-form-rating',{attrs:{\"value\":_vm.data.ratings.value,\"readonly\":\"\"}})],1):_c('div',[_vm._v(\" \")])]),_c('div',{staticClass:\"ratings-right\"},[_c('h3',[_c('span',{staticClass:\"text-bold\"},[_vm._v(_vm._s(_vm.data.ratings.value ? parseInt(_vm.data.ratings.value).toFixed(1) : \" \"))])])])]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"list-item-container\">\n\t\t<div @click=\"handleClick\" class=\"product-listing-item\">\n\t\t\t<div class=\"thumbnail\">\n\t\t\t\t<a>\n\t\t\t\t\t<img\n\t\t\t\t\t\t:src=\"thumbnailPath\"\n\t\t\t\t\t\t:alt=\"data.product.friendlyTitle\"\n\t\t\t\t\t\t:class=\"`thumbnail-img ${isThumbnailError ? 'error' : ''}`\"\n\t\t\t\t\t\t@error=\"\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tisThumbnailError = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\"\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tv-if=\"data.status == ProductVariantStatus.COMING_SOON\"\n\t\t\t\tclass=\"coming-soon-badge\"\n\t\t\t>\n\t\t\t\tComing Soon\n\t\t\t</div>\n\t\t\t<div class=\"product-content\">\n\t\t\t\t<div :id=\"'sb-selected-batch-'+data.id\" class=\"item-product-title\">\n\t\t\t\t\t<h1>\n\t\t\t\t\t\t{{ data.product.title }} - {{ data.title }}\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<!-- <span>\n\t\t\t\t\t\t\t{{ data.title }}\n\t\t\t\t\t\t</span> -->\n\t\t\t\t\t</h1>\n\t\t\t\t\t<b-tooltip :target=\"'sb-selected-batch-'+data.id\" triggers=\"hover\">\n\t\t\t\t\t\t\t<b>{{ data.product.title }}</b><br/>\n\t\t\t\t\t\t    {{ data.title }}\n\t\t\t\t\t\t</b-tooltip>\n\t\t\t\t</div>\n\t\t\t\t<span\n\t\t\t\t\tclass=\"product-variant-desc\"\n\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\t:title=\"data.shortDescription\"\n\t\t\t\t\t>{{ data.shortDescription ? data.shortDescription : \"\" }}</span\n\t\t\t\t>\n\t\t\t\t<h2\n\t\t\t\t\tv-b-tooltip.hover\n\t\t\t\t\t:title=\"\n\t\t\t\t\t\tproductTrainersList\n\t\t\t\t\t\t\t.map((p) => {\n\t\t\t\t\t\t\t\treturn p.firstName + ' ' + p.lastName;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t\t.split(',')\n\t\t\t\t\t\t\t.join(',\\n')\n\t\t\t\t\t\"\n\t\t\t\t\tclass=\"creator-details\"\n\t\t\t\t\tv-if=\"!isAdmin && productTrainersList.length > 0\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"tutor-images\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"tutor-image\"\n\t\t\t\t\t\t\tv-for=\"t in productTrainersList.slice(0, 2)\"\n\t\t\t\t\t\t\t:key=\"t.id\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tv-if=\"t.profilePicture\"\n\t\t\t\t\t\t\t\tstyle=\"\"\n\t\t\t\t\t\t\t\tclass=\"ls-is-cached lazyloaded\"\n\t\t\t\t\t\t\t\tdata-src=\"../../assets/images/user_img_placeholder.jpg\"\n\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t:src=\"t.profilePicture\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<!-- <div > -->\n\t\t\t\t\t\t\t<div v-else class=\"user-avatar\">\n\t\t\t\t\t\t\t\t<span>{{ t.firstName[0] }}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- </div> -->\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if=\"productTrainersList.length > 2\" class=\"tutor-image\">\n\t\t\t\t\t\t\t<div class=\"user-avatar extra\">\n\t\t\t\t\t\t\t\t{{ `+${productTrainersList.length - 2}` }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span\n\t\t\t\t\t\t>{{ productTrainersList[0].firstName }}\n\t\t\t\t\t\t{{ productTrainersList[0].lastName }}\n\t\t\t\t\t\t<span v-if=\"productTrainersList.length > 1\"\n\t\t\t\t\t\t\t>{{\n\t\t\t\t\t\t\t\t`+${productTrainersList.length - 1} trainer${\n\t\t\t\t\t\t\t\t\tproductTrainersList.length > 2 ? \"s\" : \"\"\n\t\t\t\t\t\t\t\t}`\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t</h2>\n\t\t\t\t<div v-if=\"!isAdmin\" class=\"ratings\">\n\t\t\t\t\t<div class=\"ratings-left\">\n\t\t\t\t\t\t<div v-if=\"data.ratings.value\" class=\"rating-container\">\n\t\t\t\t\t\t\t<b-form-rating\n\t\t\t\t\t\t\t\t:value=\"data.ratings.value\"\n\t\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t\t></b-form-rating>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-else>&nbsp;</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"ratings-right\">\n\t\t\t\t\t\t<h3>\n\t\t\t\t\t\t\t<span class=\"text-bold\">{{\n\t\t\t\t\t\t\t\tdata.ratings.value\n\t\t\t\t\t\t\t\t\t? parseInt(data.ratings.value).toFixed(1)\n\t\t\t\t\t\t\t\t\t: \"&nbsp;\"\n\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t<!-- ({{ data.ratings.numberOfRatings }}) -->\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- <div v-if=\"!purchased\" class=\"row category\">\n\t\t\t\t\t<div class=\"col-sm-8 offset-sm-4\">\n\t\t\t\t\t\t<h3 class=\"text-bold\" title=\"ACCA Professional Level\">\n\t\t\t\t\t\t\t<span>ACCA Professional Level</span>\n\t\t\t\t\t\t\t<span> {{ data.categories[0].title }} </span>\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t</div>\n\t\t\t\t</div> -->\n\t\t\t\t<!-- <div v-if=\"!purchased && !isAdmin\">\n\t\t\t\t\t<h4 class=\"product-price\">\n\t\t\t\t\t\t{{ parseCurrency(data.pricing.amount, data.pricing.currency, 2) }}\n\t\t\t\t\t</h4>\n\t\t\t\t</div> -->\n\t\t\t\t<!-- <div class=\"btn-container\">\n\t\t\t\t\t<router-link\n\t\t\t\t\t\t:to=\"\n\t\t\t\t\t\t\tgetProductDetailsUrl + data.product.friendlyTitle + '-' + data.id\n\t\t\t\t\t\t\"\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tclass=\"primary-btn product-details-btn\"\n\t\t\t\t\t>\n\t\t\t\t\t\tView {{ !purchased ? \"Details\" : \"\" }}\n\t\t\t\t\t</router-link>\n\t\t\t\t</div> -->\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n<script>\nimport Swal from \"sweetalert2\";\nimport formatter from \"../../helpers/FormatHelpers\";\nimport { mapActions, mapState } from \"vuex\";\nimport { parseForURL } from \"../../helpers/FormatHelpers\";\nimport {\n\tProductVariantStatus,\n\tProductVariantSubscriptionStatus,\n} from \"../../constants/productVariant\";\n\nexport default {\n\tname: \"ProductListItem\",\n\tdata() {\n\t\treturn {\n\t\t\t// trainersList: null,\n\t\t\t// purchased: false,\n\t\t\tisThumbnailError: false,\n\t\t\tProductVariantStatus,\n\t\t\tProductVariantSubscriptionStatus,\n\t\t};\n\t},\n\tprops: {\n\t\tdata: Object,\n\t\t// purchased: Boolean,\n\t\tisAdmin: Boolean,\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchTrainersList\"]),\n\t\tparseCurrency(amount, currency, decimal) {\n\t\t\treturn formatter.toCurrencyString(amount, currency, decimal);\n\t\t},\n\t\thandleClick(e) {\n\t\t\tif (\n\t\t\t\tthis.isProductVariantBlocked ||\n\t\t\t\tthis.isProductVariantEnded ||\n\t\t\t\tthis.isProductVariantExpired\n\t\t\t) {\n\t\t\t\te.stopPropagation();\n\t\t\t\te.preventDefault();\n\t\t\t\tSwal.fire({\n\t\t\t\t\ttitle: this.isProductVariantBlocked\n\t\t\t\t\t\t? \"Course Blocked!\"\n\t\t\t\t\t\t: this.isProductVariantEnded\n\t\t\t\t\t\t? \"Course ended!\"\n\t\t\t\t\t\t:this.isProductVariantExpired && this.data.enrollmentType  && this.data.enrollmentType.toLowerCase()==\"directenrollment\"\n\t\t\t\t\t\t? \"Course Access Expired!\"\n\t\t\t\t\t\t: this.isProductVariantExpired\n\t\t\t\t\t\t? \"Payments due!\"\n\t\t\t\t\t\t: \"\",\n\t\t\t\t\ttext: this.isProductVariantBlocked\n\t\t\t\t\t\t? \"Your course has been blocked. Please contact admin for more information\"\n\t\t\t\t\t\t: this.isProductVariantEnded\n\t\t\t\t\t\t? \"This course has ended, you can no longer view its contents\"\n\t\t\t\t\t\t: this.isProductVariantExpired && this.data.enrollmentType  && this.data.enrollmentType.toLowerCase()==\"directenrollment\"\n\t\t\t\t\t\t? \"Your course access has been expired. Please contact admin for more information \"\n\t\t\t\t\t\t:this.isProductVariantExpired\n\t\t\t\t\t\t? \"You have pending unpaid invoices for this course. Please clear your dues to access this course \"\n\t\t\t\t\t\t: \"\",\n\t\t\t\t\ticon: \"error\",\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\tpreConfirm: this.isProductVariantExpired && this.data.enrollmentType.toLowerCase() == \"pricingplan\"\n\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\tthis.$router.push(\"/user/invoices\");\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: null,\n\t\t\t\t\tconfirmButtonText:\n\t\t\t\t\t\tthis.isProductVariantExpired && this.data.enrollmentType.toLowerCase() == \"pricingplan\"\n\t\t\t\t\t\t\t\t? \"View Invoices\"\n\t\t\t\t\t\t\t\t: \"OK\",\n\t\t\t\t\tshowCancelButton: this.isProductVariantExpired,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.$router.push(this.productVariantURL);\n\t\t},\n\t},\n\tcreated() {\n\t\t// console.log(this.data);\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\", \"trainers\"]),\n\t\tpurchased() {\n\t\t\tif (\n\t\t\t\tthis.user &&\n\t\t\t\t((this.user.type && this.user.type.toLowerCase() == \"student\") ||\n\t\t\t\t\t(this.user.role && this.user.role.toLowerCase() == \"student\")) &&\n\t\t\t\tthis.user.productVariants.length > 0\n\t\t\t) {\n\t\t\t\tvar found = this.user.productVariants.find((p) => p.id == this.data.id);\n\t\t\t\treturn found ? true : false;\n\t\t\t}\n\t\t},\n\t\tgetProductDetailsUrl() {\n\t\t\tif (this.purchased) {\n\t\t\t\treturn \"/product/content/\";\n\t\t\t} else {\n\t\t\t\treturn \"/product/details/\";\n\t\t\t}\n\t\t},\n\t\tthumbnailPath() {\n\t\t\tif (this.isThumbnailError) {\n\t\t\t\tconsole.log(\"thumbnail error\");\n\t\t\t\treturn require(`@/assets/images/image-error.png`);\n\t\t\t} else {\n\t\t\t\tif (this.data.thumbnailPath) {\n\t\t\t\t\tvar path = !this.data.thumbnailPath.includes(\"http\")\n\t\t\t\t\t\t? require(`@/${this.data.product.thumbnailPath}`)\n\t\t\t\t\t\t: this.data.thumbnailPath;\n\t\t\t\t\treturn path;\n\t\t\t\t} else return require(`@/${this.data.product.thumbnailPath}`);\n\t\t\t}\n\t\t},\n\t\tproductTrainersList() {\n\t\t\tvar trainerList = [];\n\t\t\tif (\n\t\t\t\tthis.data.properties &&\n\t\t\t\tthis.data.properties.trainers &&\n\t\t\t\tthis.trainers\n\t\t\t) {\n\t\t\t\tvar list = JSON.parse(this.data.properties.trainers);\n\t\t\t\t// console.log(list);\n\t\t\t\tlist.forEach((trainerID) => {\n\t\t\t\t\tvar found = this.trainers.find((t) => t.id == trainerID);\n\t\t\t\t\tif (found) {\n\t\t\t\t\t\ttrainerList.push(found);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\t// console.log(trainerList);\n\t\t\treturn trainerList;\n\t\t},\n\t\tproductVariantURL() {\n\t\t\treturn this.isAdmin\n\t\t\t\t? \"course/\" + this.data.id + \"/content\"\n\t\t\t\t:( this.purchased?\"/product/dashboard/chapters/\":\n\t\t\t\tthis.getProductDetailsUrl +\n\t\t\t\t\t\tparseForURL(this.data.product.friendlyTitle) +\n\t\t\t\t\t\t\"-\" )+\n\t\t\t\t\t\tthis.data.id;\n\t\t},\n\t\tisProductVariantBlocked() {\n\t\t\treturn (\n\t\t\t\tthis.data.subscriptionStatus == ProductVariantSubscriptionStatus.BLOCKED\n\t\t\t);\n\t\t},\n\t\tisProductVariantEnded() {\n\t\t\treturn this.data.endDate\n\t\t\t\t? new Date(this.data.endDate) < new Date()\n\t\t\t\t: false;\n\t\t},\n\t\tisProductVariantExpired() {\n\t\t\treturn this.data.expiresAt\n\t\t\t\t? new Date(this.data.expiresAt) < new Date()\n\t\t\t\t: false;\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 600px) {\n\t.grid .product-listing-item {\n\t\tflex-direction: row !important;\n\t\twidth: 100% !important;\n\t\tjustify-content: space-between;\n\t\tborder: 1px solid #959595;\n\t\tpadding: 0.875rem !important;\n\t\tborder-radius: 0.5rem;\n\t\tbox-shadow: 0 -6px 8px #e0e0e029;\n\t\tmin-height: fit-content !important;\n\t\tmargin: 0 !important;\n\t}\n\n\t.grid .product-listing-item .thumbnail {\n\t\tmargin: 0 !important;\n\t\t/* width: unset !important; */\n\t\t/* flex-grow: 1 !important; */\n\t\twidth: 45% !important;\n\t\tmin-height: 8.75rem !important;\n\t\t/* padding: 1rem 0; */\n\t}\n\n\t.grid .product-listing-item .thumbnail-img {\n\t\twidth: 100% !important;\n\t}\n\n\t.grid .product-listing-item .product-content {\n\t\twidth: 55% !important;\n\t\tpadding-left: 1rem !important;\n\t}\n\n\t.grid .product-listing-item .item-product-title {\n\t\theight: fit-content !important;\n\t}\n\n\t.grid .product-listing-item .item-product-title h1 {\n\t\tpadding-top: 0 !important;\n\t\tmargin-bottom: 4px !important;\n\t\tfont-size: 12px !important;\n\t\tmargin-bottom: 0.25rem !important;\n\t}\n\n\t.grid .product-listing-item .creator-details {\n\t\tpadding-top: 0 !important;\n\t\tfont-size: 12px !important;\n\t\tmargin-bottom: 0.25rem !important;\n\t}\n\n\t.grid .product-listing-item .creator-details img {\n\t\tdisplay: none;\n\t}\n\n\t.grid .product-listing-item .ratings {\n\t\tmargin-top: 0 !important;\n\t\tfont-size: 10px !important;\n\t}\n\n\t.grid .product-listing-item .btn-container {\n\t\tdisplay: none !important;\n\t}\n\n\t.product-listing-item .thumbnail {\n\t\theight: auto !important;\n\t}\n\n\t.blocked-message {\n\t\ttop: 50% !important;\n\t\ttransform: translate(-50%, -50%) !important;\n\t}\n\n\t.list-view .product-listing-item .thumbnail {\n\t\tmax-width: 40% !important;\n\t}\n\t.list-view .product-listing-item .product-content {\n\t\tmax-width: 60% !important;\n\t}\n}\n\n.list-item-container {\n\tdisplay: inline-flex !important;\n\tposition: relative !important;\n}\n\n.product-listing-item {\n\tdisplay: inline-flex;\n\tflex-direction: column;\n\tmin-height: 22.75rem;\n\tmargin: 0;\n\tflex-grow: 1;\n\tpadding: 0 1.25rem;\n\tposition: relative;\n\tcursor: pointer;\n}\n\n.product-listing-item.blocked {\n\topacity: 0.25;\n\tcursor: not-allowed !important;\n\tpointer-events: auto !important;\n}\n\n.product-listing-item.blocked:active {\n\tpointer-events: none !important;\n}\n\n.blocked-message {\n\tposition: absolute;\n\twidth: 100%;\n\ttop: 3.5rem;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n\tz-index: 20;\n\tfont-size: 0.875rem;\n\tpadding: 0 1rem;\n\tfont-weight: bold;\n}\n\n.blocked-message i {\n\tfont-size: 3rem;\n\tmargin-bottom: 1rem;\n}\n\n.product-listing-item .thumbnail {\n\tdisplay: flex;\n\tjustify-content: center;\n\t/* margin: -4.75rem auto 0; */\n\tmargin-bottom: 0;\n\tbackground-color: #efefef !important;\n\tborder: none !important;\n\twidth: 100% !important;\n\tpadding: 0 !important;\n\theight: 10.625rem !important;\n}\n\n.product-listing-item .thumbnail a {\n\twidth: 100% !important;\n\tdisplay: flex;\n\tjustify-content: center;\n}\n\n.product-listing-item .thumbnail-img {\n\t/* height: 10.25rem; */\n\tobject-fit: cover;\n\tobject-position: top;\n\twidth: 100%;\n\tborder-radius: 0.625rem;\n}\n\n.product-listing-item .thumbnail a img.thumbnail-img.error {\n\tobject-fit: contain !important;\n}\n\n.product-content {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.item-product-title {\n\ttext-decoration: none !important;\n\tcolor: var(--color-black);\n\theight: 4.5rem;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.item-product-title h1 {\n\ttext-align: left;\n\twhite-space: normal;\n\tfont-size: 1.25rem;\n\tline-height: 1.33;\n\tpadding: 1rem 0 0.25rem;\n\tfont-weight: 500;\n\tcursor: pointer;\n\n\t/* white-space: nowrap; */\n}\n\n.item-product-title span {\n\tfont-size: 0.875rem;\n\tcolor: #777;\n}\n\n.creator-details {\n\tcolor: #959595;\n\ttext-align: left;\n\tfont-size: 1rem;\n\tline-height: 1.3;\n\tpadding: 0.625rem 0 0.25rem;\n\tfont-weight: 500;\n\tmargin-bottom: 1rem;\n\tdisplay: flex !important;\n\tcolumn-gap: 0.5rem;\n\talign-items: center;\n}\n\n.creator-details img {\n\tvertical-align: middle;\n\tmargin-right: 0.625rem;\n\twidth: 2.3rem;\n\theight: 2.3rem;\n\tborder-radius: 50%;\n\tobject-fit: cover;\n\tobject-position: center;\n}\n\n.ratings {\n\t/* margin-top: 1.5rem; */\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\talign-items: center;\n\t/* margin-bottom: 1rem; */\n}\n\n.ratings-left {\n\tdisplay: flex;\n\tpointer-events: none;\n\t/* padding-left: 1rem; */\n\talign-items: center;\n}\n\n.ratings-right {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.ratings-right h3 {\n\tdisplay: block;\n\tpadding: 0 0.5rem;\n\twidth: 100%;\n\tfloat: right;\n\ttext-align: right;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tcolor: #959595;\n\tfont-size: 0.875rem;\n\tline-height: 1.125rem;\n\tcursor: pointer;\n\tmargin: 0;\n}\n\n.ratings-right h3 span {\n\tcolor: #000000;\n}\n\n/* .product-content h4 {\n\tcolor: #959595;\n\tfont-size: 1.125rem;\n\tline-height: 1.25;\n\ttext-align: left;\n\tclear: both;\n\ttext-decoration: line-through;\n\tpadding: 1.25rem 1rem 0.25rem;\n} */\n\n.product-price {\n\tcolor: #000000;\n\tfont-size: 1.375rem;\n\tline-height: 1;\n\ttext-align: left;\n\ttext-decoration: none;\n\tfont-weight: bold;\n\tmargin-top: 1rem;\n}\n\n.product-price span {\n\tfont-size: 1.25rem;\n}\n\n.product-details-btn {\n\tfont-size: 1rem;\n\tline-height: 1.25rem;\n\tfont-weight: 500;\n\t/* font-family: \"Poppins-Medium\"; */\n\ttext-align: center;\n\tborder-radius: 0.25rem;\n\tpadding: 0.625rem;\n\twidth: 92%;\n}\n\n.btn-container {\n\tdisplay: flex;\n\tjustify-content: center;\n\tpadding: 1rem 0;\n}\n\n.rating-container .form-control {\n\theight: fit-content;\n\tbackground-color: transparent !important;\n\tborder: none;\n\theight: unset !important;\n\tmargin: 0;\n\tpadding: 0;\n\tfont-size: 1rem !important;\n\twidth: fit-content;\n\tbox-shadow: none;\n}\n\n.rating-container .form-control:focus {\n\tbox-shadow: none !important;\n}\n\n.tutor-images {\n\tdisplay: flex;\n\tflex-direction: row;\n}\n\n.tutor-image:first-of-type {\n\tmargin: 0;\n}\n\n.tutor-image img {\n\tmargin: 0;\n}\n\n.tutor-image {\n\tmargin-left: -0.75rem;\n\tmargin-right: 0;\n}\n\n.tutor-image .user-avatar {\n\tborder: 1px solid #fff;\n\tflex-shrink: 0;\n}\n\n.tutor-image:last-of-type .user-avatar {\n\tmargin-right: 0;\n}\n\n.tutor-image .user-avatar.extra {\n\tbackground-color: #666666;\n\tcolor: #ffffff;\n\tpadding: 0 !important;\n}\n\n.product-variant-desc {\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 1;\n\t-webkit-box-orient: vertical;\n\toverflow: hidden;\n\ttransition: all 0.3s ease;\n}\n\n.coming-soon-badge {\n\tposition: absolute;\n\ttop: 1rem;\n\tbackground-color: var(--primary-color);\n\tcolor: var(--color-white);\n\tpadding: 0.375rem 1rem;\n\tbox-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);\n\tborder-radius: 0 0.25rem 0.25rem 0;\n}\n\n.dashboard-products-container .product-listing-item {\n\tmin-height: fit-content !important;\n}\n\n.list-view .product-listing-item {\n\tflex-direction: row !important;\n\twidth: 100% !important;\n\tjustify-content: space-between;\n\tborder-bottom: 1px solid #d3d4d5;\n\tpadding: 0 0.875rem 1.125rem !important;\n\tborder-radius: 0 !important;\n\tbox-shadow: none;\n\tmin-height: fit-content !important;\n\tmargin: 0 !important;\n}\n\n.list-view .list-item-container:last-of-type .product-listing-item {\n\tborder: none !important;\n}\n\n.list-view .product-listing-item .thumbnail {\n\tmargin: 0 !important;\n\t/* width: unset !important; */\n\t/* flex-grow: 1 !important; */\n\tmax-width: 30%;\n\tmin-height: 8.75rem !important;\n\t/* padding: 1rem 0; */\n}\n\n.list-view .product-listing-item .thumbnail-img {\n\twidth: 100% !important;\n}\n\n.list-view .product-listing-item .product-content {\n\tmax-width: 70%;\n\tpadding-left: 1rem !important;\n\tflex-grow: 1;\n}\n\n.list-view .product-listing-item .item-product-title {\n\theight: fit-content !important;\n}\n\n.list-view .product-listing-item .item-product-title h1 {\n\tpadding-top: 0 !important;\n\tmargin-bottom: 4px !important;\n\tmargin-bottom: 0.25rem !important;\n}\n\n.list-view .product-listing-item .creator-details {\n\tpadding-top: 0 !important;\n\tmargin-bottom: 0.25rem !important;\n}\n\n.list-view .product-listing-item .ratings {\n\tmargin-top: 0 !important;\n\t/* font-size: 10px !important; */\n}\n\n/* .product-listing-item .thumbnail {\n\theight: auto !important;\n} */\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductListItem.vue?vue&type=template&id=0236db4e&scoped=true&\"\nimport script from \"./ProductListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductListItem.vue?vue&type=style&index=0&id=0236db4e&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0236db4e\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BannerSmall',[_c('div',{class:[\n        'product-page-banner-container',\n        { purchased: _vm.purchased, mobile: _vm.isMobile, 'col-lg-8 col-md-12': !_vm.isMobile } ]},[((_vm.purchased || _vm.isMobile) && _vm.productVariantData != null)?_c('ol',{staticClass:\"breadcrumb\",class:{ mobile: _vm.isMobile }},[_c('li',{staticClass:\"breadcrumb-item\"},[_vm._v(\"Courses\")]),_c('li',{staticClass:\"breadcrumb-item\"},[_vm._v(\" \"+_vm._s(_vm.productVariantData.product.title)+\" \")]),_c('li',{staticClass:\"breadcrumb-item active\",attrs:{\"aria-current\":\"page\"}},[_vm._v(\" \"+_vm._s(_vm.productVariantData.title)+\" \")])]):_vm._e(),(!_vm.loading && _vm.productVariantData != null && !_vm.purchased)?_c('div',{staticClass:\"product-image mobile-only\"},[_c('img',{attrs:{\"src\":(\"\" + _vm.thumbnailPath),\"alt\":_vm.productVariantData.product.title}}),(_vm.videoPreviewUrl)?_c('i',{staticClass:\"fa fa-play-circle video-thumbnail-icon\",on:{\"click\":_vm.openThumbnailPreview}}):_vm._e()]):_vm._e(),(!_vm.loading && _vm.productVariantData != null)?_c('div',{class:[{ 'product-title-card': _vm.purchased }]},[(\n            !_vm.purchased &&\n            _vm.productVariantTrainers &&\n            _vm.productVariantTrainers.length > 0\n          )?_c('h2',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"product-creator\",attrs:{\"title\":_vm.productVariantTrainers\n              .map(function (p) {\n                return p.firstName + ' ' + p.lastName;\n              })\n              .toString()\n              .split(',')\n              .join(',\\n')}},[_vm._v(\" \"+_vm._s(_vm.productVariantTrainers[0].firstName + \" \" + _vm.productVariantTrainers[0].lastName)+\" \"),(_vm.productVariantTrainers.length > 1)?_c('span',{staticClass:\"text-muted\"},[_vm._v(\"+ \"+_vm._s(_vm.productVariantTrainers.length - 1)+\" trainer\"+_vm._s(_vm.productVariantTrainers.length > 2 ? \"s\" : \"\"))]):_vm._e()]):_vm._e(),_c('h1',{class:['product-title', { purchased: _vm.purchased }]},[_vm._v(\" \"+_vm._s(_vm.productVariantData.product.title)+\" \")]),_c('p',{class:['product-category text-bold', { purchased: _vm.purchased }]},[_vm._v(\" \"+_vm._s(_vm.productVariantData.title)+\" \")]),_c('div',{staticClass:\"d-flex align-items-center gap-2\"},[(\n              _vm.purchased &&\n              _vm.productVariantTrainers &&\n              _vm.productVariantTrainers.length > 0\n            )?_c('h2',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"product-creator purchased\",attrs:{\"title\":_vm.productVariantTrainers\n                .map(function (p) {\n                  return p.firstName + ' ' + p.lastName;\n                })\n                .toString()\n                .split(',')\n                .join(',\\n')}},[_vm._v(\" \"+_vm._s(_vm.productVariantTrainers[0].firstName + \" \" + _vm.productVariantTrainers[0].lastName)+\" \"),(_vm.productVariantTrainers.length > 1)?_c('span',{staticClass:\"text-muted\"},[_vm._v(\"+ \"+_vm._s(_vm.productVariantTrainers.length - 1)+\" trainer\"+_vm._s(_vm.productVariantTrainers.length > 2 ? \"s\" : \"\"))]):_vm._e()]):_vm._e(),(\n              _vm.purchased &&\n              _vm.productVariantTrainers &&\n              _vm.productVariantTrainers.length > 0\n            )?_c('span',[_vm._v(\"|\")]):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.productVariantData.shortDescription ? _vm.productVariantData.shortDescription : \"\"))])]),(!_vm.purchased)?_c('div',{staticClass:\"top-seller-tag\"},[(_vm.productVariantData.ratings.value)?_c('div',{staticClass:\"d-flex\"},[_c('span',{staticClass:\"ratings-value\"},[_vm._v(_vm._s(_vm.productVariantData.ratings.value ? parseInt(_vm.productVariantData.ratings.value).toFixed(1) : \"\"))]),_c('b-form-rating',{attrs:{\"value\":_vm.productVariantData.ratings.value,\"readonly\":\"\"}})],1):_c('div',[_vm._v(\" \")])]):_vm._e()]):_c('div',{staticClass:\"skeleton\"},[_c('b-skeleton',{attrs:{\"width\":\"20%\"}}),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"type\":\"button\",\"width\":\"50%\"}}),_c('b-skeleton',{staticClass:\"mt-3\",attrs:{\"width\":\"30%\"}}),_c('div',{staticClass:\"d-flex mt-3\"},[_c('b-skeleton',{attrs:{\"width\":\"10%\"}}),_c('b-skeleton',{staticClass:\"m-2 mt-0\",attrs:{\"width\":\"10%\"}}),_c('b-skeleton',{staticClass:\"m-2 mt-0\",attrs:{\"width\":\"10%\"}}),_c('b-skeleton',{staticClass:\"m-2 mt-0\",attrs:{\"width\":\"10%\"}})],1)],1)]),_c('b-modal',{attrs:{\"visible\":_vm.showVideoPreview,\"centered\":\"\",\"hide-footer\":\"\",\"hide-header\":\"\",\"size\":\"xl\",\"body-class\":\"video-modal-body\",\"modal-class\":\"video-modal\"},on:{\"change\":function($event){return _vm.closeVideoPreviewModal()}}},[_c('div',{staticClass:\"body-container\"},[_c('video',{staticClass:\"video-preview\",attrs:{\"src\":_vm.videoPreviewUrl,\"controls\":\"\",\"autoplay\":\"\"}})])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <BannerSmall>\n    <div\n      :class=\"[\n        'product-page-banner-container',\n        { purchased, mobile: isMobile, 'col-lg-8 col-md-12': !isMobile },\n      ]\"\n    >\n      <ol\n        v-if=\"(purchased || isMobile) && productVariantData != null\"\n        class=\"breadcrumb\"\n        :class=\"{ mobile: isMobile }\"\n      >\n        <li class=\"breadcrumb-item\">Courses</li>\n        <li class=\"breadcrumb-item\">\n          {{ productVariantData.product.title }}\n        </li>\n        <li class=\"breadcrumb-item active\" aria-current=\"page\">\n          {{ productVariantData.title }}\n        </li>\n      </ol>\n      <div\n        v-if=\"!loading && productVariantData != null && !purchased\"\n        class=\"product-image mobile-only\"\n      >\n        <img\n          :src=\"`${thumbnailPath}`\"\n          :alt=\"productVariantData.product.title\"\n        />\n        <i v-if=\"videoPreviewUrl\" class=\"fa fa-play-circle video-thumbnail-icon\" @click=\"openThumbnailPreview\"></i>\n      </div>\n      <div\n        :class=\"[{ 'product-title-card': purchased }]\"\n        v-if=\"!loading && productVariantData != null\"\n      >\n        <h2\n          v-if=\"\n            !purchased &&\n            productVariantTrainers &&\n            productVariantTrainers.length > 0\n          \"\n          class=\"product-creator\"\n          v-b-tooltip.hover\n          :title=\"\n            productVariantTrainers\n              .map((p) => {\n                return p.firstName + ' ' + p.lastName;\n              })\n              .toString()\n              .split(',')\n              .join(',\\n')\n          \"\n        >\n          {{\n            productVariantTrainers[0].firstName +\n            \" \" +\n            productVariantTrainers[0].lastName\n          }}\n          <span class=\"text-muted\" v-if=\"productVariantTrainers.length > 1\"\n            >+ {{ productVariantTrainers.length - 1 }} trainer{{\n              productVariantTrainers.length > 2 ? \"s\" : \"\"\n            }}</span\n          >\n          <!-- <span class=\"seller-badge mobile-only\"> Best Seller </span> -->\n        </h2>\n        <h1 :class=\"['product-title', { purchased }]\">\n          {{ productVariantData.product.title }}\n        </h1>\n        <p :class=\"['product-category text-bold', { purchased }]\">\n          {{ productVariantData.title }}\n        </p>\n        <div class=\"d-flex align-items-center gap-2\">\n          <h2\n            v-b-tooltip.hover\n            v-if=\"\n              purchased &&\n              productVariantTrainers &&\n              productVariantTrainers.length > 0\n            \"\n            class=\"product-creator purchased\"\n            :title=\"\n              productVariantTrainers\n                .map((p) => {\n                  return p.firstName + ' ' + p.lastName;\n                })\n                .toString()\n                .split(',')\n                .join(',\\n')\n            \"\n          >\n            {{\n              productVariantTrainers[0].firstName +\n              \" \" +\n              productVariantTrainers[0].lastName\n            }}\n            <span class=\"text-muted\" v-if=\"productVariantTrainers.length > 1\"\n              >+ {{ productVariantTrainers.length - 1 }} trainer{{\n                productVariantTrainers.length > 2 ? \"s\" : \"\"\n              }}</span\n            >\n          </h2>\n          <span\n            v-if=\"\n              purchased &&\n              productVariantTrainers &&\n              productVariantTrainers.length > 0\n            \"\n            >|</span\n          >\n          <span>{{\n            productVariantData.shortDescription\n              ? productVariantData.shortDescription\n              : \"\"\n          }}</span>\n        </div>\n        <div v-if=\"!purchased\" class=\"top-seller-tag\">\n          <!-- <span class=\"seller-badge hide-mobile\"> Best Seller </span> -->\n          <div class=\"d-flex\" v-if=\"productVariantData.ratings.value\">\n            <span class=\"ratings-value\">{{\n              productVariantData.ratings.value\n                ? parseInt(productVariantData.ratings.value).toFixed(1)\n                : \"\"\n            }}</span>\n\n            <b-form-rating\n              :value=\"productVariantData.ratings.value\"\n              readonly\n            ></b-form-rating>\n          </div>\n          <div v-else>&nbsp;</div>\n\n          <!-- <span class=\"ratings-number\"\n\t\t\t\t\t\t>({{ productVariantData.ratings.numberOfRatings }} ratings)</span\n\t\t\t\t\t> -->\n          <!-- <span class=\"enrolled-students\"\n\t\t\t\t\t\t>{{\n\t\t\t\t\t\t\tnumberWithCommas(productVariantData.enrolledStudents)\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstudents</span\n\t\t\t\t\t> -->\n        </div>       \n      </div>\n      <div v-else class=\"skeleton\">\n        <b-skeleton width=\"20%\"></b-skeleton>\n        <b-skeleton type=\"button\" width=\"50%\" class=\"mt-3\"></b-skeleton>\n        <b-skeleton width=\"30%\" class=\"mt-3\"></b-skeleton>\n        <div class=\"d-flex mt-3\">\n          <b-skeleton width=\"10%\"></b-skeleton>\n          <b-skeleton width=\"10%\" class=\"m-2 mt-0\"></b-skeleton>\n          <b-skeleton width=\"10%\" class=\"m-2 mt-0\"></b-skeleton>\n          <b-skeleton width=\"10%\" class=\"m-2 mt-0\"></b-skeleton>\n        </div>\n      </div>\n    </div>\n    <b-modal\n        :visible=\"showVideoPreview\"\n        centered\n        hide-footer\n        hide-header\n        @change=\"closeVideoPreviewModal()\"\n        size=\"xl\"\n        body-class=\"video-modal-body\"\n        modal-class=\"video-modal\"\n    >\n      <div class=\"body-container\">\n        <video :src=\"videoPreviewUrl\" class=\"video-preview\" controls autoplay></video>\n      </div>\n    </b-modal>\n  </BannerSmall>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nimport BannerSmall from \"../Layout/BannerSmall.vue\";\n\nexport default {\n  name: \"ProductPageBanner\",\n  props: { purchased: Boolean, productVariantData: Object },\n  data() {\n    return {\n      showVideoPreview: false\n    };\n  },\n  computed: {\n    ...mapState(\"productVariant\", [\"loading\"]),\n    ...mapState(\"appState\", [\"isMobile\"]),\n    ...mapState(\"user\", [\"trainers\"]),\n    thumbnailPath() {\n      if (this.isThumbnailError) {\n        console.log(\"thumbnail error\");\n        return require(`@/assets/images/image-error.png`);\n      } else {\n        if (this.productVariantData.thumbnailPath) {\n          var path = !this.productVariantData.thumbnailPath.includes(\"http\")\n            ? require(`@/${this.productVariantData.product.thumbnailPath}`)\n            : this.productVariantData.thumbnailPath;\n          return path;\n        } else\n          return require(`@/${this.productVariantData.product.thumbnailPath}`);\n      }\n    },\n    productVariantTrainers() {\n      // productTrainersList() {\n      var trainerList = [];\n      if (\n        this.productVariantData.properties &&\n        this.productVariantData.properties.trainers\n      ) {\n        if (this.trainers) {\n          var list = JSON.parse(this.productVariantData.properties.trainers);\n          // console.log(list);\n          list.forEach((trainerID) => {\n            var found = this.trainers.find((t) => t.id == trainerID);\n            if (found) {\n              trainerList.push(found);\n            }\n          });\n        } else {\n          this.fetchTrainersList().then(() => {\n            var list = JSON.parse(this.productVariantData.properties.trainers);\n            // console.log(list);\n            list.forEach((trainerID) => {\n              var found = this.trainers.find((t) => t.id == trainerID);\n              if (found) {\n                trainerList.push(found);\n              }\n            });\n          });\n        }\n      }\n      // console.log(trainerList);\n      return trainerList;\n    },\n    videoPreviewUrl() {\n      return this.productVariantData.properties.videoPreviewUrl;\n    },\n  },\n\n  components: { BannerSmall },\n  methods: {\n    ...mapActions(\"user\", [\"fetchUsersList\",\"fetchTrainersList\"]),\n    numberWithCommas(x) {\n      return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n    },\n    openThumbnailPreview() {\n      this.showVideoPreview = true;\n    },\n    closeVideoPreviewModal() {\n      this.showVideoPreview = false;\n    }\n  }\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 992px) {\n  h2.product-creator {\n    font-size: 1.5rem !important;\n    margin-bottom: 0.5rem !important;\n    display: flex;\n    align-items: center !important;\n  }\n\n  h1.product-title {\n    font-size: 2rem !important;\n  }\n\n  p {\n    font-size: 1.2rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n\n  .seller-badge {\n    margin-left: 1rem !important;\n  }\n\n  .product-details-container {\n    display: none;\n  }\n\n  .banner-container .wrapper {\n    flex-direction: column;\n  }\n\n  .skeleton {\n    width: 100%;\n  }\n\n  .product-page-banner-container.purchased {\n    padding: 1.75rem 0.25rem !important;\n  }\n\n  .product-title-card {\n    padding: 2rem 1rem 0.5rem 1rem !important;\n  }\n}\n\n.product-page-banner-container {\n  padding: 1.75rem 0 3rem;\n}\n\n.product-page-banner-container.purchased {\n  padding: 1.5rem 0 4rem;\n  position: relative;\n  /* margin-bottom: 9rem; */\n}\n\n.product-page-banner-container.mobile {\n  width: 100%;\n  padding: 1.75rem 0.25rem 3rem;\n}\n\n.banner-content-container {\n  padding: 4.5rem 1.25rem 12rem;\n}\n\n.banner-content-container.purchased {\n  padding-bottom: 4rem !important;\n}\n\n.product-creator {\n  color: var(--secondary-color);\n  font-size: 1.375rem;\n  margin-bottom: 0.25rem;\n}\n\n.product-creator.purchased {\n  /* display: inline-block; */\n  color: var(--secondary-color);\n  font-size: 1rem;\n  margin-top: 0.5rem;\n  /* margin-left: 1rem; */\n}\n\nh1.product-title {\n  font-weight: 500;\n  font-size: 2.125rem;\n  color: var(--primary-color);\n  letter-spacing: -0.58px;\n  /* line-height: 1; */\n}\n\n.product-title-card h1.product-title.purchased {\n  font-weight: bold;\n  font-size: 1.875rem;\n  color: #000000;\n  letter-spacing: -0.58px;\n  /* line-height: 1; */\n}\n\n.product-title-card h1.product-title.purchased::before {\n  content: \"\";\n  width: 2rem;\n  height: 0.35rem;\n  background-color: var(--primary-color);\n  display: block;\n  top: -1rem;\n  left: 0;\n  position: relative;\n}\n\n.product-category {\n  font-size: 1.25rem;\n  color: #595a5c;\n  margin: 0;\n}\n\n.product-category.purchased {\n  display: inline-block;\n}\n\n.top-seller-tag {\n  display: flex;\n  flex-direction: row;\n  margin-top: 1rem;\n  align-items: center;\n}\n\n.seller-badge {\n  color: var(--color-black);\n  background-color: #ffba00;\n  padding: 0.425rem 0.5rem;\n  font-size: 0.875rem;\n  font-weight: bold;\n  border-radius: 0.25rem;\n  text-transform: uppercase;\n  line-height: 1;\n  margin-right: 1rem;\n}\n\n.top-seller-tag .form-control {\n  height: fit-content;\n  background-color: transparent !important;\n  border: none;\n  height: unset !important;\n  margin: 0;\n  margin-left: 0.75rem !important;\n  padding: 0;\n  font-size: 0.8rem !important;\n  width: fit-content;\n  box-shadow: none;\n}\n\n.top-seller-tag .form-control:focus {\n  box-shadow: none !important;\n}\n\n.leave-rating {\n  color: var(--color-white);\n  margin: 2rem 0 0;\n}\n\n.ratings-value {\n  font-weight: bold;\n  font-size: 1.125rem;\n}\n\n.ratings-number {\n  text-decoration: underline;\n  margin-left: 0.5rem;\n}\n\n.enrolled-students {\n  color: var(--primary-color);\n  margin-left: 0.75rem;\n}\n\n.product-page-banner-container .breadcrumb {\n  background-color: transparent !important;\n}\n\n.breadcrumb.mobile {\n  margin-bottom: 1.5rem;\n  padding-left: 0.25rem;\n}\n\n.breadcrumb-item a {\n  color: #231f20 !important;\n  font-weight: normal;\n  text-decoration: none;\n}\n\n.breadcrumb-item.active {\n  font-weight: bold !important;\n  color: #231f20 !important;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n  content: \">\";\n}\n\n.product-title-card {\n  background-color: var(--color-white);\n  padding: 2.75rem 3rem 1.75rem 1.5rem;\n  width: fit-content;\n  border-radius: 8px;\n  border: 1px solid #a3a3a3;\n  position: absolute;\n  top: 4rem;\n  box-shadow: 0 0 16px #c9c9c929;\n  min-width: 24rem;\n}\n\n.product-image {\n  display: flex;\n  justify-content: center;\n  width: 100%;\n  margin-bottom: 1rem;\n  align-items: center !important;\n}\n\n.product-image .b-aspect {\n  width: 100%;\n}\n\n.product-image .b-skeleton-img {\n  width: 90%;\n  border-radius: 1rem;\n  margin: 0 auto;\n  background-color: #dddddd;\n}\n\n.product-image img {\n  height: auto;\n  object-fit: cover;\n  object-position: top;\n  width: 100%;\n  border-radius: 0.75rem;\n  box-shadow: 0 -6px 8px #d5d5d529;\n}\n\n/*/deep/ .video-modal-body {*/\n/*  padding: 0 !important;*/\n/*  background: black !important;*/\n/*}*/\n\n\n/*/deep/ .product-image /deep/ .video-modal .body-container {*/\n/*  background: black !important;*/\n/*}*/\n\n.video-thumbnail-icon {\n  opacity: 0.5;\n  position: absolute;\n  font-size: 7.5rem;\n  cursor: pointer;\n}\n\n.video-thumbnail-icon:hover {\n  opacity: 1;\n}\n\n.video-preview {\n  width: 100%;\n  height: 100%;\n}\n</style>\n\n<!--\nFollowing separate style tag is for global styling because the video preview modal is a nested child of current component,\nand the above <style> tag is scoped to current component only therefore not applying styling on child/nested-child components.\n-->\n<style>\n.video-modal-body {\n  padding: 0 !important;\n  background: black !important;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductPageBanner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductPageBanner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductPageBanner.vue?vue&type=template&id=ca0c47e6&scoped=true&\"\nimport script from \"./ProductPageBanner.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductPageBanner.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductPageBanner.vue?vue&type=style&index=0&id=ca0c47e6&prod&scoped=true&lang=css&\"\nimport style1 from \"./ProductPageBanner.vue?vue&type=style&index=1&id=ca0c47e6&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ca0c47e6\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"plan-item mb-3\"},[_c('input',{attrs:{\"type\":\"radio\",\"name\":(\"variant-\" + _vm.productVariantId),\"id\":(\"plan-\" + (_vm.plan.id))},domProps:{\"checked\":_vm.isChecked},on:{\"click\":_vm.selectPlan}}),_c('label',{staticClass:\"form-control edit-profile-input\",attrs:{\"for\":(\"plan-\" + (_vm.plan.id))}},[_vm._v(\" \"+_vm._s(_vm.plan.title)+\" (\"+_vm._s(_vm.paymentTypeText(_vm.plan))+\") \"),_c('span',{staticClass:\"ms-auto text-bold\"},[_vm._v(_vm._s(_vm.plan.type.toLowerCase() == \"onetime\" ? _vm.parseCurrency(_vm.plan.details[0].amount, _vm.plan.currency, 0) : null))])]),(_vm.isChecked && _vm.plan.type.toLowerCase() != 'onetime')?_c('div',{staticClass:\"plan-cycles-container mt-3\"},[_c('h5',{staticClass:\"mb-3\"},[_vm._v(\"Select Plan Cycles\")]),_vm._l((_vm.plan.details),function(item){return _c('div',{key:item.id,staticClass:\"plan-item\"},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":(\"plan-\" + (_vm.plan.id)),\"id\":(\"plan-cycle-\" + (item.id))},domProps:{\"checked\":_vm.isCycleSelected(item)},on:{\"click\":function($event){return _vm.togglePlanCycle(item)}}}),_c('label',{staticClass:\"form-control edit-profile-input mb-2\",attrs:{\"for\":(\"plan-cycle-\" + (item.id))}},[_vm._v(\" \"+_vm._s(item.title)+\" \"),_c('span',{staticClass:\"ms-auto text-bold\"},[_vm._v(_vm._s(_vm.parseCurrency(item.amount, _vm.plan.currency, 0)))])])])})],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"plan-item mb-3\">\n\t\t<input\n\t\t\ttype=\"radio\"\n\t\t\t:name=\"`variant-${productVariantId}`\"\n\t\t\t:id=\"`plan-${plan.id}`\"\n\t\t\t:checked=\"isChecked\"\n\t\t\t@click=\"selectPlan\"\n\t\t/>\n\t\t<label :for=\"`plan-${plan.id}`\" class=\"form-control edit-profile-input\">\n\t\t\t<!-- <div> -->\n\t\t\t{{ plan.title }} ({{ paymentTypeText(plan) }})\n\t\t\t<span class=\"ms-auto text-bold\">{{\n\t\t\t\tplan.type.toLowerCase() == \"onetime\"\n\t\t\t\t\t? parseCurrency(plan.details[0].amount, plan.currency, 0)\n\t\t\t\t\t: null\n\t\t\t}}</span>\n\t\t</label>\n\t\t<div\n\t\t\tv-if=\"isChecked && plan.type.toLowerCase() != 'onetime'\"\n\t\t\tclass=\"plan-cycles-container mt-3\"\n\t\t>\n\t\t\t<h5 class=\"mb-3\">Select Plan Cycles</h5>\n\t\t\t<div class=\"plan-item\" v-for=\"item in plan.details\" :key=\"item.id\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t:name=\"`plan-${plan.id}`\"\n\t\t\t\t\t:id=\"`plan-cycle-${item.id}`\"\n\t\t\t\t\t:checked=\"isCycleSelected(item)\"\n\t\t\t\t\t@click=\"togglePlanCycle(item)\"\n\t\t\t\t/>\n\t\t\t\t<label\n\t\t\t\t\t:for=\"`plan-cycle-${item.id}`\"\n\t\t\t\t\tclass=\"form-control edit-profile-input mb-2\"\n\t\t\t\t>\n\t\t\t\t\t{{ item.title }}\n\t\t\t\t\t<span class=\"ms-auto text-bold\">{{\n\t\t\t\t\t\tparseCurrency(item.amount, plan.currency, 0)\n\t\t\t\t\t}}</span>\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport formatter from \"../../helpers/FormatHelpers\";\nimport router from \"../../router\";\n\nexport default {\n\tname: \"ProductPricingPlanItem\",\n\tdata() {\n\t\treturn {\n\t\t\tselectedCycles: [],\n\t\t};\n\t},\n\tprops: {\n\t\tplan: Object,\n\t\tselectedPlan: Object,\n\t\tproductVariantId: String,\n\t},\n\tmethods: {\n\t\tpaymentTypeText(plan) {\n\t\t\treturn plan.type == \"OneTime\"\n\t\t\t\t? \"Single Payment\"\n\t\t\t\t: `${plan.details.length} Plan-Cycles`;\n\t\t},\n\t\tparseCurrency(amount, currency, decimal) {\n\t\t\treturn formatter.toCurrencyString(amount, currency, decimal);\n\t\t},\n\t\tselectPlan() {\n\t\t\tthis.$emit(\"updatePlanSelection\", this.plan);\n\t\t},\n\t\tisCycleSelected(cycle) {\n\t\t\tvar found = this.selectedCycles.find((c) => c.id == cycle.id);\n\t\t\treturn found ? true : false;\n\t\t},\n\t\ttogglePlanCycle(cycle) {\n\t\t\tvar found = this.selectedCycles.find((c) => c.id == cycle.id);\n\t\t\tif (!found) {\n\t\t\t\tthis.selectedCycles.push(cycle);\n\t\t\t} else {\n\t\t\t\tthis.selectedCycles = this.selectedCycles.filter(\n\t\t\t\t\t(c) => c.id != cycle.id\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tisChecked() {\n\t\t\tif (this.selectedPlan && this.selectedPlan.id == this.plan.id) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t},\n\twatch: {\n\t\tselectedCycles: function () {\n\t\t\tthis.$emit(\"updateSelectedCycles\", this.selectedCycles);\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.plan-item {\n\tposition: relative;\n}\n\n.plan-item .edit-profile-input {\n\theight: auto;\n}\n\n.plan-item input,\n.plan-item label {\n\tmargin: 0;\n}\n\n.plan-item label {\n\tpadding: 1rem 2rem 1rem 4rem;\n\twidth: 100%;\n\tborder-radius: 8px;\n\tcursor: pointer;\n\tdisplay: flex;\n}\n\n.plan-item input[type=\"radio\"],\n.plan-item input[type=\"checkbox\"] {\n\twidth: 1.375rem;\n\theight: 1.375rem;\n\tposition: absolute;\n\tleft: 1rem;\n\ttop: 1.75rem;\n\ttransform: translateY(-50%);\n}\n\n.plan-item input[type=\"radio\"]:checked::before,\n.plan-item input[type=\"checkbox\"]:checked::before {\n\tbackground-color: var(--primary-color);\n}\n\n.plan-item input[type=\"radio\"]:checked + label,\n.plan-item input[type=\"checkbox\"]:checked + label {\n\tbackground-color: #ebebeb;\n}\n\n.plan-cycles-container {\n\tpadding: 0 0 0 1rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductPricingPlanItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductPricingPlanItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductPricingPlanItem.vue?vue&type=template&id=13a713ef&scoped=true&\"\nimport script from \"./ProductPricingPlanItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductPricingPlanItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductPricingPlanItem.vue?vue&type=style&index=0&id=13a713ef&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"13a713ef\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"profile-edit-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"profile-edit-modal\",\"size\":\"lg\",\"body-class\":\"modal-body\",\"ok-title\":\"Enroll\",\"footer-class\":\"edit-modal-footer\",\"ok-disabled\":_vm.disabled,\"no-close-on-backdrop\":\"\"},on:{\"change\":_vm.closeModal,\"ok\":_vm.enrollCourse}},[_c('div',{staticClass:\"body-container\"},[_c('h1',{staticClass:\"edit-modal-title mb-4\"},[_vm._v(\"Select a Plan\")]),(_vm.plansLoaded)?_c('div',{staticClass:\"plan-list\"},[_vm._l((_vm.filteredPricingPlans),function(plan,index){return _c('ProductPricingPlanItem',{key:index,attrs:{\"plan\":plan,\"selectedPlan\":_vm.selectedPlan,\"productVariantId\":_vm.productVariantData.id},on:{\"updatePlanSelection\":_vm.selectPlan,\"updateSelectedCycles\":_vm.updateCycles}})}),(\n\t\t\t\t\t_vm.pricingPlanByProductVariantId[_vm.productVariantData.id] &&\n\t\t\t\t\t_vm.pricingPlanByProductVariantId[_vm.productVariantData.id].length == 0\n\t\t\t\t)?_c('div',{staticClass:\"no-content text-center\"},[_vm._v(\" Sorry! No plans found \")]):_vm._e()],2):_c('div',[_c('b-skeleton',{staticClass:\"width-100 mb-3\",attrs:{\"height\":\"3rem\",\"type\":\"button\"}}),_c('b-skeleton',{staticClass:\"width-100 mb-3\",attrs:{\"height\":\"3rem\",\"type\":\"button\"}}),_c('b-skeleton',{staticClass:\"width-100 mb-3\",attrs:{\"height\":\"3rem\",\"type\":\"button\"}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\tid=\"profile-edit-modal\"\n\t\t@change=\"closeModal\"\n\t\t:visible=\"visible\"\n\t\thide-header\n\t\tcentered\n\t\tcontent-class=\"profile-edit-modal\"\n\t\tsize=\"lg\"\n\t\tbody-class=\"modal-body\"\n\t\tok-title=\"Enroll\"\n\t\tfooter-class=\"edit-modal-footer\"\n\t\t:ok-disabled=\"disabled\"\n\t\t@ok=\"enrollCourse\"\n\t\tno-close-on-backdrop\n\t>\n\t\t<div class=\"body-container\">\n\t\t\t<h1 class=\"edit-modal-title mb-4\">Select a Plan</h1>\n\t\t\t<div v-if=\"plansLoaded\" class=\"plan-list\">\n\t\t\t\t<ProductPricingPlanItem\n\t\t\t\t\tv-for=\"(plan, index) in filteredPricingPlans\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t:plan=\"plan\"\n\t\t\t\t\t:selectedPlan=\"selectedPlan\"\n\t\t\t\t\t:productVariantId=\"productVariantData.id\"\n\t\t\t\t\t@updatePlanSelection=\"selectPlan\"\n\t\t\t\t\t@updateSelectedCycles=\"updateCycles\"\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"\n\t\t\t\t\t\tpricingPlanByProductVariantId[productVariantData.id] &&\n\t\t\t\t\t\tpricingPlanByProductVariantId[productVariantData.id].length == 0\n\t\t\t\t\t\"\n\t\t\t\t\tclass=\"no-content text-center\"\n\t\t\t\t>\n\t\t\t\t\tSorry! No plans found\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-else>\n\t\t\t\t<b-skeleton\n\t\t\t\t\tclass=\"width-100 mb-3\"\n\t\t\t\t\theight=\"3rem\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t></b-skeleton>\n\t\t\t\t<b-skeleton\n\t\t\t\t\tclass=\"width-100 mb-3\"\n\t\t\t\t\theight=\"3rem\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t></b-skeleton>\n\t\t\t\t<b-skeleton\n\t\t\t\t\tclass=\"width-100 mb-3\"\n\t\t\t\t\theight=\"3rem\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t></b-skeleton>\n\t\t\t</div>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport formatter from \"../../helpers/FormatHelpers\";\nimport router from \"../../router\";\nimport ProductPricingPlanItem from \"./ProductPricingPlanItem.vue\";\nimport Vue from \"vue\";\n\nexport default {\n\tname: \"ProductPricingPlansModal\",\n\tdata() {\n\t\treturn {\n\t\t\tselectedPlan: null,\n\t\t\tplansLoaded: false,\n\t\t\tsource: {\n\t\t\t\tREGISTER: 0,\n\t\t\t\tCART: 1,\n\t\t\t},\n\t\t\tselectedCycles: [],\n\t\t};\n\t},\n\tprops: { productVariantData: Object, showModal: Boolean },\n\tcomponents: { ProductPricingPlanItem },\n\tcomputed: {\n\t\t...mapState(\"cart\", [\"cart\"]),\n\t\t...mapState(\"pricing\", [\"pricingPlanByProductVariantId\"]),\n\t\t...mapState(\"appState\", [\"currentCurrency\", \"currentCountry\"]),\n\t\tdisabled() {\n\t\t\tif (!this.selectedPlan) {\n\t\t\t\treturn true;\n\t\t\t} else if (\n\t\t\t\tthis.selectedPlan &&\n\t\t\t\tthis.selectedPlan.type.toLowerCase() != \"onetime\" &&\n\t\t\t\tthis.selectedCycles &&\n\t\t\t\tthis.selectedCycles.length == 0\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t} else return false;\n\t\t},\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tfilteredPricingPlans() {\n\t\t\tif (\n\t\t\t\tthis.productVariantData &&\n\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id]\n\t\t\t) {\n\t\t\t\treturn this.pricingPlanByProductVariantId[\n\t\t\t\t\tthis.productVariantData.id\n\t\t\t\t].filter(\n\t\t\t\t\t(plan) =>\n\t\t\t\t\t\tthis.currentCountry &&\n\t\t\t\t\t\tplan.country &&\n\t\t\t\t\t\tplan.country.indexOf(this.currentCountry.toUpperCase()) != -1\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"cart\", [\"addToCart\"]),\n\t\t...mapActions(\"pricing\", [\"fetchPricingPlanByProductVariantId\"]),\n\t\tenrollCourse() {\n\t\t\tvar selectedPlanAmount = 0;\n\t\t\t// var invoiceDetail = [];\n\t\t\tif (this.selectedPlan.type.toLowerCase() == \"onetime\") {\n\t\t\t\tselectedPlanAmount = this.selectedPlan.details[0].amountDetail.find(\n\t\t\t\t\t(detail) => detail.title.toLowerCase() == \"price\"\n\t\t\t\t).amount;\n\t\t\t} else {\n\t\t\t\tthis.selectedCycles.forEach((detail) => {\n\t\t\t\t\tselectedPlanAmount += detail.amountDetail.find(\n\t\t\t\t\t\t(d) => d.title.toLowerCase() == \"price\"\n\t\t\t\t\t).amount;\n\t\t\t\t});\n\t\t\t\tthis.selectedPlan.details = this.selectedCycles;\n\t\t\t}\n\t\t\tvar isCartItemsCurrenyIsSame = this.cart.items.find(val => val.pricing.currency == this.selectedPlan.currency) != null;\n\n\t\t\tif (this.cart.items.length > 0 && !isCartItemsCurrenyIsSame) {\n\t\t\t\tthis.$toasted.error(\n\t\t\t\t\t\"You can only add courses of one currency in your cart.\",\n\t\t\t\t\t{\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-right\",\n\t\t\t\t\t\tduration: 2000,\n\t\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.productVariantData.selectedPlan = this.selectedPlan;\n\t\t\tthis.productVariantData.pricing.amount = selectedPlanAmount;\n\t\t\tthis.productVariantData.pricing.currency = this.selectedPlan.currency;\n\t\t\tthis.addToCart(this.productVariantData);\n\n\t\t\tif (this.caller == this.source.CART) {\n\t\t\t\trouter.push(\"/shop/checkout\");\n\t\t\t} else {\n\t\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\t}\n\t\t},\n\t\taddInvoiceDetail(details) {\n\t\t\tconsole.log(details);\n\t\t\tdetails.forEach((detail) => {\n\t\t\t\tvar found = this.invoiceDetails.find(\n\t\t\t\t\t(invoice) => invoice.planDetailID == detail.planDetailID\n\t\t\t\t);\n\t\t\t\tif (!found) {\n\t\t\t\t\tthis.invoiceDetails = [...this.invoiceDetails, detail];\n\t\t\t\t} else {\n\t\t\t\t\tthis.invoiceDetails = this.invoiceDetails.map((d) => {\n\t\t\t\t\t\tif (detail.planDetailID == d.planDetailID) {\n\t\t\t\t\t\t\treturn detail;\n\t\t\t\t\t\t} else return d;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tpaymentTypeText(plan) {\n\t\t\treturn plan.type == \"OneTime\"\n\t\t\t\t? \"Single Payment\"\n\t\t\t\t: `${plan.details.length} Installments`;\n\t\t},\n\t\tparseCurrency(amount, currency, decimal) {\n\t\t\treturn formatter.toCurrencyString(amount, currency, decimal);\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t},\n\t\tselectPlan(plan) {\n\t\t\tthis.selectedPlan = { ...plan };\n\t\t},\n\t\tupdateCycles(cycles) {\n\t\t\tthis.selectedCycles = cycles;\n\t\t},\n\t},\n\tcreated() {},\n\twatch: {\n\t\tvisible: function () {\n\t\t\tif (this.visible) {\n\t\t\t\tif (!this.pricingPlanByProductVariantId[this.productVariantData.id]) {\n\t\t\t\t\tthis.fetchPricingPlanByProductVariantId(\n\t\t\t\t\t\tthis.productVariantData.id\n\t\t\t\t\t).then(() => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id] &&\n\t\t\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id]\n\t\t\t\t\t\t\t\t.length > 0\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\tthis.selectedPlan = {\n\t\t\t\t\t\t\t\t...this.pricingPlanByProductVariantId[\n\t\t\t\t\t\t\t\t\tthis.productVariantData.id\n\t\t\t\t\t\t\t\t][0],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.plansLoaded = true;\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.plansLoaded = true;\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id] &&\n\t\t\t\t\t\tthis.pricingPlanByProductVariantId[this.productVariantData.id]\n\t\t\t\t\t\t\t.length > 0\n\t\t\t\t\t)\n\t\t\t\t\t\tthis.selectedPlan = {\n\t\t\t\t\t\t\t...this.pricingPlanByProductVariantId[\n\t\t\t\t\t\t\t\tthis.productVariantData.id\n\t\t\t\t\t\t\t][0],\n\t\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tplansLoaded: function () {\n\t\t\tif (this.plansLoaded) {\n\t\t\t\tconsole.log(\"plans loaded\");\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tconst event = new CustomEvent(\"plans-loaded\");\n\t\t\t\t\tdocument.dispatchEvent(event);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style>\n#profile-edit-modal .body-container {\n\tpadding: 0 0 1rem;\n\twidth: 100%;\n}\n\n.plan-list {\n\tmax-height: 24rem;\n\toverflow-y: auto;\n}\n\n.no-content {\n\tfont-size: 1.25rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductPricingPlansModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductPricingPlansModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductPricingPlansModal.vue?vue&type=template&id=ba5369b4&\"\nimport script from \"./ProductPricingPlansModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductPricingPlansModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductPricingPlansModal.vue?vue&type=style&index=0&id=ba5369b4&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"draggable\":true,\"id\":\"calculator-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"calculator-modal\",\"size\":\"sm\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.$emit('updateModalState', false)}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('div',{staticClass:\"calculator-display m-1 p-3 text-end lead fw-bold text-black\"},[_vm._v(\" \"+_vm._s(_vm.prevCalcVal || \"\")+\" \"+_vm._s(_vm.operators || \"\")+\" \"+_vm._s(_vm.calcVal || 0)+\" \")]),_c('div',{staticClass:\"row g-0\"},_vm._l((_vm.calcBtns),function(btn){return _c('div',{staticClass:\"col-3 mt-3\"},[_c('div',{staticClass:\"calculator-button lead text-center m-1 py-2\",class:{ 'cal-color-primary': ['C', '*', '/', '+', '-', '=', '%'].includes(btn) },on:{\"click\":function($event){return _vm.action(btn)}}},[_vm._v(\" \"+_vm._s(btn)+\" \")])])}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Calculator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Calculator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Calculator.vue?vue&type=template&id=dafb62d6&scoped=true&\"\nimport script from \"./Calculator.vue?vue&type=script&lang=js&\"\nexport * from \"./Calculator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Calculator.vue?vue&type=style&index=0&id=dafb62d6&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"dafb62d6\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"assignment-main-content\"},[_c('div',{staticClass:\"assignment-header-section\"},[_c('div',{staticClass:\"assignment-info-row\"},[_c('p',{staticClass:\"subtitle\"},[_vm._v(\"Deadline: \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.submissionDeadLine))]),_c('span',{staticClass:\"seperator\"},[_vm._v(\"|\")])]),(_vm.data && _vm.data.Marks && !(_vm.assignmentResult && _vm.assignmentResult.marks))?_c('p',{staticClass:\"subtitle\"},[_vm._v(\"Marks: \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.data.Marks))])]):_vm._e(),(_vm.assignmentResult && _vm.assignmentResult.marks)?_c('p',{staticClass:\"subtitle\"},[_vm._v(\"Score: \"),_c('span',[_vm._v(_vm._s(_vm.assignmentResult && _vm.assignmentResult.marks ? _vm.assignmentResult.marks : '0')+\"/\"+_vm._s(_vm.data.Marks)+\" (\"+_vm._s(_vm.assignmentResult.percentage)+\"%)\")])]):_vm._e()]),(_vm.assignmentResult && _vm.assignmentResult.isGraded && _vm.assignmentResult.result)?_c('h6',{staticClass:\"mb-0\"},[_c('b-badge',{attrs:{\"variant\":_vm.assignmentResult.result.toLowerCase()=='pass'?'success':_vm.assignmentResult.result.toLowerCase()=='fail'?'danger':''}},[_vm._v(_vm._s(_vm.assignmentResult.result.toLowerCase()=='pass'?'Passed':_vm.assignmentResult.result.toLowerCase()=='fail'?'Failed':''))])],1):_vm._e()]),_c('div',{staticClass:\"attachments-sidebar\",attrs:{\"id\":\"attachments-modal\"}},[_c('div',{staticClass:\"attachments-sidebar-body\"},[_c('img',{staticClass:\"attachment-close-icon me-2 right\",attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")},on:{\"click\":function($event){return _vm.toggleAttachmentsModal()}}}),(_vm.attachments && _vm.attachments.length > 0)?_c('div',{staticClass:\"attachment-list\"},_vm._l((_vm.attachments),function(file){return _c('a',{key:file.Id,staticClass:\"card file-card\",attrs:{\"href\":file.url,\"target\":\"_blank\",\"download\":\"\"}},[_c('div',{staticClass:\"attachment-container\"},[_c('img',{staticClass:\"attachment-icon\",attrs:{\"src\":require(\"@/assets/images/attachment-icon.svg\")}}),_c('div',{staticClass:\"attachment-details\"},[_c('h6',{staticClass:\"attachment-title\",attrs:{\"title\":file.name}},[_vm._v(_vm._s(file.name))]),_c('small',{staticClass:\"attachment-type\"},[_vm._v(_vm._s(file.type))])])])])}),0):_c('div',[_vm._v(\" No files found \")])])]),_c('div',{staticClass:\"assignment-tabs\"},[_c('b-tabs',{staticClass:\"tabs-content\",attrs:{\"active-nav-item-class\":\"font-weight-bold\"},model:{value:(_vm.activeTab),callback:function ($$v) {_vm.activeTab=$$v},expression:\"activeTab\"}},[_c('b-tab',{attrs:{\"title\":\"Instructions\"}},[_c('div',{staticClass:\"tab-content\"},[_c('div',{staticClass:\"tab-content-wrapper mt-3\"},[_c('QuillRichTextEditor',{attrs:{\"text\":_vm.data.Discription,\"isInline\":false,\"editorID\":\"instructions-description\",\"isReadOnly\":true},model:{value:(_vm.data.Discription),callback:function ($$v) {_vm.$set(_vm.data, \"Discription\", $$v)},expression:\"data.Discription\"}}),(_vm.data.Files)?_c('div',{staticClass:\"row\"},_vm._l((_vm.data.Files),function(file){return _c('div',{key:file.Id,staticClass:\"col-lg-12 col-md-12\"},[_c('a',{staticClass:\"card file-card\",attrs:{\"href\":file.Url,\"target\":\"_blank\",\"download\":\"\"}},[_c('div',{staticClass:\"attachment-container\"},[_c('img',{staticClass:\"attachment-icon\",attrs:{\"src\":require(\"@/assets/images/attachment-icon.svg\")}}),_c('div',{staticClass:\"attachment-details\"},[_c('h6',{staticClass:\"attachment-title\",attrs:{\"title\":file.Name}},[_vm._v(_vm._s(file.Name))]),_c('small',{staticClass:\"attachment-type\"},[_vm._v(_vm._s(file.Type))])])])])])}),0):_vm._e()],1)])]),_c('b-tab',{attrs:{\"title\":\"Current Submission\"}},[_c('div',{staticClass:\"tab-content\"},[_c('div',{staticClass:\"tab-content-wrapper my-submissions mt-4 mb-3\"},[(_vm.isMissing)?_c('div',{staticClass:\"mb-1 text-right\"},[_c('h6',{staticClass:\"status-label\"},[_vm._v(\"Status:\")]),_c('h6',{staticClass:\"status-value\",style:({ color: _vm.currentSubmissionStatusColor })},[_vm._v(_vm._s(_vm.currentSideSubmissionStatus))])]):_vm._e(),(_vm.submittedFiles && _vm.submittedFiles.length > 0)?_c('div',_vm._l((_vm.submittedFiles),function(file){return _c('div',{key:file.id},[_c('a',{staticClass:\"card file-card\",attrs:{\"href\":file.url,\"target\":\"_blank\",\"download\":\"\"}},[_c('div',{staticClass:\"attachment-container\"},[_c('img',{staticClass:\"attachment-icon\",attrs:{\"src\":require(\"@/assets/images/attachment-icon.svg\")}}),_c('div',{staticClass:\"attachment-details\"},[_c('h6',{staticClass:\"attachment-title\",attrs:{\"title\":file.name}},[_vm._v(_vm._s(file.name))]),_c('small',{staticClass:\"attachment-type\"},[_vm._v(\" \"+_vm._s(file.type))]),(file.status == 'submitted')?_c('small',{staticClass:\"text-success\"},[_c('br'),_vm._v(\"SUBMITTED\")]):_vm._e(),(file.status == 'uploaded')?_c('small',{staticClass:\"text-primary\"},[_c('br'),_vm._v(\"Uploaded\")]):_vm._e(),(file.status == 'pending')?_c('small',{staticStyle:{\"color\":\"gray\"}},[_c('br'),_vm._v(\"Waiting For Upload\")]):_vm._e(),(file.status == 'failed')?_c('small',[_c('br'),_vm._v(\"Failed ! \"+_vm._s(file.error))]):_vm._e()]),(_vm.isSubmissionAllowed)?_c('div',{staticClass:\"file-card-remove\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('button',{staticClass:\"downloadbtn\",on:{\"click\":function($event){return _vm.removeFile(file.id)}}},[_c('i',{staticClass:\"fa fa-times\"})])]):_vm._e()]),(file.status == 'uploading')?_c('div',{staticClass:\"file-card-progress\"},[_c('b-progress',{staticClass:\"progress m-0\",attrs:{\"value\":file.uploadingProgress,\"max\":100,\"animated\":\"\"}})],1):_vm._e()])])}),0):_c('div',{staticClass:\"no-files-message\"},[_c('p',[_vm._v(\"No files have been submitted. \")])]),_c('div',{staticClass:\"file-upload-actions\"},[(_vm.isSubmissionAllowed)?_c('div',{staticClass:\"add-new-file\"},[_c('input',{ref:\"fileinput\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\"},on:{\"change\":_vm.onFilePicked}}),_c('a',{staticClass:\"add-btn dropdown-toggle\",on:{\"click\":_vm.uploadFile}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/plus-icon.svg\")}}),_vm._v(\" Add New File \")])]):_vm._e(),(_vm.isMaxSubmissionReached)?_c('p',{staticClass:\"text-danger mx-4\"},[_vm._v(\" Assignment submission limit has been reached. \")]):(_vm.isSubmissionAllowed)?_c('div',{staticClass:\"d-md-flex\"},[_c('button',{staticClass:\"add-btn submit-btn \",attrs:{\"disabled\":_vm.isSubmitDisabled,\"role\":\"button\"},on:{\"click\":_vm.makeAssignmentSubmission}},[_vm._v(\" Turn In \")]),(!_vm.isNewSubmission && _vm.assignmentResult &&  _vm.assignmentResult.isSubmitAssignment && _vm.isSubmissionAllowed)?_c('button',{staticClass:\"add-btn submit-btn btn-secondary\",attrs:{\"disabled\":!_vm.isSubmissionAllowed,\"role\":\"button\"},on:{\"click\":_vm.newSubmission}},[_vm._v(\" New Submission \")]):_vm._e()]):(_vm.isMissing)?_c('p',{staticClass:\"text-danger\"},[_vm._v(\" Assignment submission date passed away. \")]):_vm._e()])])])]),_c('b-tab',{attrs:{\"title\":\"Previous Submissions\"}},[_c('div',{staticClass:\"tab-content\"},[_c('div',{staticClass:\"submission-table\"},[(_vm.submissions.length > 0)?_c('div',{staticClass:\"submission-body round\"},[_c('div',{staticClass:\"submission-table-wrapper\"},[_c('ul',{staticClass:\"submission-list\"},[_c('li',{staticClass:\"submission-header bg-light\"},[_c('div',{staticClass:\"submission-cell\",staticStyle:{\"flex\":\"0.15\"}},[_c('b',[_vm._v(\"#\")])]),_c('div',{staticClass:\"submission-cell\",staticStyle:{\"flex\":\"2\"}},[_c('b',[_vm._v(\"Feedback\")])]),_c('div',{staticClass:\"submission-cell\",staticStyle:{\"flex\":\"1\"}},[_c('b',[_vm._v(\"Date\")])]),_c('div',{staticClass:\"submission-cell\",staticStyle:{\"flex\":\"0.8\",\"display\":\"flex\",\"align-items\":\"center\"}},[_c('img',{staticClass:\"submission-icon\",attrs:{\"src\":require(\"@/assets/images/attachment-icon.svg\")}}),_c('b',{staticClass:\"mx-2\"},[_vm._v(\"Attachments\")])]),_c('div',{staticClass:\"submission-cell\",staticStyle:{\"flex\":\"0.8\",\"display\":\"flex\",\"align-items\":\"center\"}},[_c('img',{staticClass:\"submission-icon\",attrs:{\"src\":require(\"@/assets/images/attachment-icon.svg\")}}),_c('b',{staticClass:\"mx-2\"},[_vm._v(\"Trainer Attachments\")])])]),_vm._l((_vm.submissions),function(submission,index){return _c('li',{key:submission.id + '' + index,staticClass:\"submission-row\"},[_c('div',{staticClass:\"submission-cell\",staticStyle:{\"flex\":\"0.15\"}},[_vm._v(\" \"+_vm._s(index + 1)+\" \")]),_c('div',{staticClass:\"submission-cell\",staticStyle:{\"flex\":\"2\"}},[_c('span',{staticClass:\"submission-feedback\"},[_vm._v(_vm._s(submission.feedback || \"--\"))])]),_c('div',{staticClass:\"submission-cell\",staticStyle:{\"flex\":\"1\"}},[_c('span',{staticClass:\"submission-date\"},[_vm._v(_vm._s(_vm.submissionDate(submission.submittedAt))+\"s\")])]),_c('div',{staticClass:\"submission-cell\",staticStyle:{\"flex\":\"0.8\",\"display\":\"flex\",\"justify-content\":\"center\",\"align-items\":\"center\"}},[_c('button',{staticClass:\"submission-action-button btn btn-outline-primary\",on:{\"click\":function($event){return _vm.toggleAttachmentsModal(submission.submittedFiles)}}},[_vm._v(\"View\")]),_c('div',{staticClass:\"mx-1\"})]),_c('div',{staticClass:\"submission-cell\",staticStyle:{\"flex\":\"0.8\",\"display\":\"flex\",\"justify-content\":\"center\",\"align-items\":\"center\"}},[_c('button',{staticClass:\"submission-action-button btn btn-outline-primary\",on:{\"click\":function($event){return _vm.toggleAttachmentsModal(submission.feedbackFiles)}}},[_vm._v(\"View\")]),_c('div',{staticClass:\"mx-1\"})])])})],2)])]):_c('div',{staticClass:\"card p-3\"},[_c('div',{staticClass:\"no-files-message\"},[_c('p',[_vm._v(\"No previous submissions are made.. \")])])])])])])],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n\n    <div class=\"assignment-main-content\">\n\n      <div class=\"assignment-header-section\">\n        <!-- <h2 class=\"assignment-title\">{{ contentData.title }}</h2> -->\n        <div class=\"assignment-info-row\">\n          <p class=\"subtitle\">Deadline: <span> {{ submissionDeadLine }}</span><span class=\"seperator\">|</span> </p>\n          <p class=\"subtitle\" v-if=\"data && data.Marks && !(assignmentResult && assignmentResult.marks)\">Marks: <span> {{ data.Marks }}</span></p>\n          <!-- <p class=\"subtitle\" v-if=\"data && data.Marks\">Passing Percentage: <span> {{ data.PassingPercentage }}</span> \n        <span\n              class=\"seperator\">|</span> </p> -->\n          <p class=\"subtitle\" v-if=\"assignmentResult && assignmentResult.marks\">Score: <span>{{ assignmentResult &&\n            assignmentResult.marks ? assignmentResult.marks : '0' }}/{{ data.Marks }} ({{ assignmentResult.percentage }}%)</span> </p>\n          <!-- <p v-else-if=\"!isMaxSubmissionReached\" class=\"subtitle\">Submission Attempt: <span>{{ submissions.length + 1 }}</span> -->\n          <!-- </p> -->\n        </div>\n        \n        <h6 class=\"mb-0\" v-if=\"assignmentResult && assignmentResult.isGraded && assignmentResult.result\"><b-badge  :variant=\"assignmentResult.result.toLowerCase()=='pass'?'success':assignmentResult.result.toLowerCase()=='fail'?'danger':''\" >{{ assignmentResult.result.toLowerCase()=='pass'?'Passed':assignmentResult.result.toLowerCase()=='fail'?'Failed':'' }}</b-badge> </h6>\n      </div><!-- /assignment-header-section -->\n\n      <!-- Attachment Right Sidebar  -->\n      <div class=\"attachments-sidebar\" id=\"attachments-modal\">\n        <div class=\"attachments-sidebar-body\">\n\n          <img class=\"attachment-close-icon me-2 right\" \n          @click=\"toggleAttachmentsModal()\"\n          src=\"@/assets/images/cancel-icon.svg\" />\n          <div class=\"attachment-list\" v-if=\"attachments && attachments.length > 0\">\n            <a class=\"card file-card\" v-for=\"file in attachments\" :key=\"file.Id\" :href=\"file.url\" target=\"_blank\"\n              download>\n              <div class=\"attachment-container\">\n                <img src=\"@/assets/images/attachment-icon.svg\" class=\"attachment-icon\">\n                <div class=\"attachment-details\">\n                  <h6 :title=\"file.name\" class=\"attachment-title\">{{ file.name }}</h6>\n                  <small class=\"attachment-type\">{{ file.type }}</small>\n                </div>\n              </div>\n            </a>\n          </div>\n          <div v-else>\n            No files found\n          </div>\n        </div>\n      </div>\n\n\n      <div class=\"assignment-tabs\">\n\n        <b-tabs active-nav-item-class=\"font-weight-bold\" class=\"tabs-content\" v-model=\"activeTab\">\n          <b-tab title=\"Instructions\">\n            <div class=\"tab-content\">\n              <div class=\"tab-content-wrapper mt-3\">\n                <QuillRichTextEditor\n\t\t\t\t\t\t\t\t  :text=\"data.Discription\"\n\t\t\t\t\t\t\t\t  :isInline=\"false\"\n\t\t\t\t\t\t\t\t  editorID=\"instructions-description\"\n\t\t\t\t\t\t\t\t  :isReadOnly=\"true\"\n\t\t\t\t\t\t\t\t  v-model=\"data.Discription\"\n\t\t\t\t\t\t\t\t/>\n                <!-- <div class=\"instructions-description\" v-html=\"sanitizeQuillHtml(data.Discription)\"></div> -->\n\n                <div class=\"row\" v-if=\"data.Files\">\n                  <div class=\"col-lg-12 col-md-12\" v-for=\"file in data.Files\" :key=\"file.Id\">\n                    <a class=\"card file-card\" :href=\"file.Url\" target=\"_blank\" download>\n                      <div class=\"attachment-container\">\n                        <img class=\"attachment-icon\" src=\"@/assets/images/attachment-icon.svg\" />\n                        <div class=\"attachment-details\">\n                          <h6 class=\"attachment-title\" :title=\"file.Name\">{{ file.Name }}</h6>\n                          <small class=\"attachment-type\">{{ file.Type }}</small>\n                        </div>\n\n                      </div>\n                    </a>\n                  </div>\n                </div>\n              </div>\n            </div>\n          </b-tab>\n          <b-tab title=\"Current Submission\">\n            <div class=\"tab-content\">\n              <div class=\"tab-content-wrapper my-submissions mt-4 mb-3\">\n\n                <div v-if=\"isMissing\" class=\"mb-1 text-right\">\n                  <h6 class=\"status-label\">Status:</h6>\n                  <h6 class=\"status-value\" :style=\"{ color: currentSubmissionStatusColor }\">{{ currentSideSubmissionStatus\n                  }}</h6>\n                </div>\n\n\n                <div v-if=\"submittedFiles && submittedFiles.length > 0\">\n                  <div v-for=\"file in submittedFiles\" :key=\"file.id\">\n                    <a class=\"card file-card\" :href=\"file.url\" target=\"_blank\" download>\n                      <div class=\"attachment-container\">\n                        <img class=\"attachment-icon\" src=\"@/assets/images/attachment-icon.svg\" />\n                        <div class=\"attachment-details\">\n                          <h6 class=\"attachment-title\" :title=\"file.name\">{{ file.name }}</h6>\n                          <small class=\"attachment-type\"> {{ file.type }}</small>\n\n                          <small v-if=\"file.status == 'submitted'\" class=\"text-success\"><br />SUBMITTED</small>\n                          <small v-if=\"file.status == 'uploaded'\" class=\"text-primary\"><br />Uploaded</small>\n                          <small v-if=\"file.status == 'pending'\" style=\"color: gray;\"><br />Waiting For Upload</small>\n                          <small v-if=\"file.status == 'failed'\"><br />Failed ! {{ file.error }}</small>\n                        </div>\n                        <div v-if=\"isSubmissionAllowed\" class=\"file-card-remove\" @click.stop>\n                          <button @click=\"removeFile(file.id)\" class=\"downloadbtn\"> <i class=\"fa fa-times\"></i></button>\n                        </div>\n                      </div>\n                      <div class=\"file-card-progress\" v-if=\"file.status == 'uploading'\">\n                        <b-progress class=\"progress m-0\" :value=\"file.uploadingProgress\" :max=\"100\" animated></b-progress>\n                      </div>\n                    </a>\n                  </div>\n                </div>\n\n                <div v-else class=\"no-files-message\">\n                  <p>No files have been submitted. </p>\n                </div>\n\n\n\n                <div class=\"file-upload-actions\">\n                  <div v-if=\"isSubmissionAllowed\" class=\"add-new-file\">\n                    <input type=\"file\" style=\"display: none;\" @change=\"onFilePicked\" multiple ref=\"fileinput\" />\n                    <a class=\"add-btn dropdown-toggle\" @click=\"uploadFile\"  >\n\n                      <img src=\"@/assets/images/plus-icon.svg\" class=\"add-btn-icon\" />\n                      Add New File\n                    </a>\n                    \n                  </div>\n\n                  <p class=\"text-danger mx-4\" v-if=\"isMaxSubmissionReached\">\n                    Assignment submission limit has been reached.\n                  </p>\n\n                  <div v-else-if=\"isSubmissionAllowed\" class=\"d-md-flex\">\n                    <button @click=\"makeAssignmentSubmission\" :disabled=\"isSubmitDisabled\" class=\"add-btn submit-btn \"\n                      role=\"button\">\n                      Turn In\n                    </button>\n                    \n                    <button @click=\"newSubmission\" v-if=\"!isNewSubmission && assignmentResult &&  assignmentResult.isSubmitAssignment && isSubmissionAllowed\"  :disabled=\"!isSubmissionAllowed\"\n                      class=\"add-btn submit-btn btn-secondary\" role=\"button\">\n                      New Submission\n                    </button>\n\n                  </div> \n\n                  <p class=\"text-danger\" v-else-if=\"isMissing\">\n                    Assignment submission date passed away.\n                  </p>\n                </div><!-- /file-upload-actions -->\n\n\n              </div>\n            </div>\n          </b-tab>\n          <b-tab title=\"Previous Submissions\">\n            <div class=\"tab-content\">\n              <div class=\"submission-table\">\n                <div v-if=\"submissions.length > 0\" class=\"submission-body round\">\n                  <div class=\"submission-table-wrapper\">\n                    <ul class=\"submission-list\">\n\n                      <li class=\"submission-header bg-light\">\n                        <div class=\"submission-cell\" style=\"flex: 0.15;\"><b>#</b></div>\n                        <div class=\"submission-cell\" style=\"flex: 2;\"><b>Feedback</b></div>\n                        <div class=\"submission-cell\" style=\"flex: 1;\"><b>Date</b></div>\n                        <div class=\"submission-cell\" style=\"flex: 0.8; display: flex; align-items: center;\">\n                          <img class=\"submission-icon\" src=\"@/assets/images/attachment-icon.svg\" />\n                          <b class=\"mx-2\">Attachments</b>\n                        </div>\n                        <div class=\"submission-cell\" style=\"flex: 0.8; display: flex; align-items: center;\">\n                          <img class=\"submission-icon\" src=\"@/assets/images/attachment-icon.svg\" />\n                          <b class=\"mx-2\">Trainer Attachments</b>\n                        </div>\n                      </li>\n\n                      <li class=\"submission-row\" v-for=\"(submission, index) in submissions\"\n                        :key=\"submission.id + '' + index\">\n                        <div class=\"submission-cell\" style=\"flex: 0.15;\">\n                          {{ index + 1 }}\n                        </div>\n                        <div class=\"submission-cell\" style=\"flex: 2;\">\n                          <span class=\"submission-feedback\">{{ submission.feedback || \"--\" }}</span>\n                        </div>\n                        <div class=\"submission-cell\" style=\"flex: 1;\">\n                          <span class=\"submission-date\">{{ submissionDate(submission.submittedAt) }}s</span>\n                        </div>\n\n                        <div class=\"submission-cell\"\n                          style=\"flex: 0.8; display: flex; justify-content: center; align-items: center;\">\n                          <button @click=\"toggleAttachmentsModal(submission.submittedFiles)\"\n                            class=\"submission-action-button btn btn-outline-primary\">View</button>\n                          <div class=\"mx-1\"></div>\n                        </div>\n\n                        <div class=\"submission-cell\"\n                          style=\"flex: 0.8; display: flex; justify-content: center; align-items: center;\">\n                          <button @click=\"toggleAttachmentsModal(submission.feedbackFiles)\"\n                            class=\"submission-action-button btn btn-outline-primary\">View</button>\n                          <div class=\"mx-1\"></div>\n                        </div>\n                      </li>\n                    </ul>\n                  </div>\n                </div>\n\n\n                <div v-else class=\"card p-3\">\n                  <div class=\"no-files-message\">\n                    <p>No previous submissions are made.. </p>\n                  </div>\n                </div>\n\n              </div>\n            </div>\n          </b-tab>\n        </b-tabs>\n\n\n\n      </div><!-- /main-tabs-row -->\n\n\n    </div>\n  </div>\n</template>\n\n<script>\nimport vue2Dropzone from 'vue2-dropzone'\nimport 'vue2-dropzone/dist/vue2Dropzone.min.css'\nimport QuillRichTextEditor from \"./../../Editors/QuillRichTextEditor.vue\";\nimport CookieHelpers from \"./../../../helpers/CookieHelpers\";\nimport { mapActions, mapState } from \"vuex\";\nimport { POST_FILE_API } from \"./../../../constants/urls\"\nimport { v4 as uuidv4 } from \"uuid\";\n\nexport default {\n  name: \"Assignment\",\n  props: { contentData: Object },\n  components: {\n    vueDropzone: vue2Dropzone,\n    QuillRichTextEditor\n  },\n  data() {\n    return {\n      activeTab: 0,\n      quillEditor: null,\n      fileSizeLimit: 500,\n      dropzoneOptions: {\n        url: \" \",\n        thumbnailWidth: 300,\n        timeout: 100000000,\n        uploadMultiple: true,\n        autoProcessQueue: false\n      },\n      submittedFiles: [],\n      isLoading: false,\n      submittedAssignment: null,\n      assignmentSubmittedAt: null,\n      assignmentResult: null,\n      submissions: [],\n      attachments: [],\n      isNewSubmission: false,\n    };\n  },\n  props: {\n    contentData: Object,\n  },\n  methods: {\n    ...mapActions(\"assignment\", [\n      \"submitAssignment\",\n      \"getSubmittedAssignment\",\n      \"getSubmittedAssignmentResults\",\n      \"updateAssignmentSubmission\",\n      \"getProductvariantAssignmentResults\"\n    ]),\n\n    uploadFile() {\n      this.$refs.fileinput.click();\n    },\n    onFilePicked(event) {\n      const files = event.target.files;\n      files.forEach(file => {\n        this.addFileForUpload(file);\n      });\n\n      // const fileReader = new FileReader()\n      // fileReader.addEventListener('load', () => {\n      // \tthis.imageUrl = fileReader.result\n      // })\n      // fileReader.readAsDataURL(files[0])\n    },\n    addFileForUpload(file) {\n\n      var nameParts = file.name.split(\".\");\n      var extension = nameParts.pop();\n      var name = nameParts.join(\".\").toUpperCase();\n      var sizeInMB = (file.size / 1024) / 1024;\n      var isSizeIncreasedLimit = sizeInMB > this.fileSizeLimit;\n\n      this.submittedFiles.push({\n        id: uuidv4(),\n        name: name,\n        file: file,\n        extension: extension,\n        type: this.fileTypeByExtentions(file.name) ?? this.fileTypeByType(file.type) ?? \"File\",\n        url: null,\n        status: isSizeIncreasedLimit ? 'failed' : 'pending',\n        error: isSizeIncreasedLimit ? `File size should be less then ${this.fileSizeLimit}` : null,\n        uploadingProgress: 0\n      });\n      this.uplaodNextFileInQueue();\n    },\n    fileTypeByExtentions(filename) {\n      if (filename.endsWith(\".pdf\")) {\n        return \"PDF\";\n      }\n      if (filename.endsWith(\".ppt\") || filename.endsWith(\".pptx\")) {\n        return \"Powerpoint\";\n      }\n      if (filename.endsWith(\".xls\") || filename.endsWith(\".xlsx\")) {\n        return \"Excel Worksheet\";\n      }\n      if (filename.endsWith(\".csv\")) {\n        return \"Comma Seperated Values\";\n      }\n      if (filename.endsWith(\".doc\") || filename.endsWith(\".docx\")) {\n        return \"Document\";\n      }\n      \n      if (filename.endsWith(\".png\") || filename.endsWith(\".jpg\")) {\n        return \"image\";\n      }\n    },\n    fileTypeByType(fileType) {\n      fileType = fileType.toLowerCase();\n      if (fileType.indexOf(\"image\") > -1) {\n        return \"Image\";\n      }\n      if (fileType.indexOf(\"video\") > -1) {\n        return \"Video\";\n      }\n\n    },\n    removeFile(fileId) {\n      var file = this.submittedFiles.find(x => x.id == fileId);\n      if (file) {\n        if (file.xhr) {\n          file.xhr.abort();\n        }\n        this.submittedFiles.splice(this.submittedFiles.indexOf(file), 1);\n        this.uplaodNextFileInQueue();\n      }\n\n    },\n    uplaodNextFileInQueue() {\n      var self = this;\n      var minUploadinglimit = 2;\n      var inUploadingFiles = this.submittedFiles.filter(x => x.status.toLowerCase() == \"uploading\");\n      var queuedFile = this.submittedFiles.find(x => x.status.toLowerCase() != \"uploading\" && x.status.toLowerCase() == \"pending\");\n      if (inUploadingFiles.length <= (minUploadinglimit - 1) && queuedFile) {\n        queuedFile.status = \"uploading\";\n        queuedFile.uploadingProgress = 0;\n        var uploadurl = this.apiURL + POST_FILE_API;\n\n        const formData = new FormData();\n        formData.append(\"entity\", \"Assignment\");\n        formData.append(\"type\", queuedFile.type);\n        formData.append('file', queuedFile.file);\n\n        // post form data\n        const xhr = new XMLHttpRequest()\n        xhr.upload.onprogress = function (event) {\n          var percentComplete = Math.floor((event.loaded / event.total) * 100);\n          queuedFile.uploadingProgress = percentComplete;\n          queuedFile.status = \"uploaded\";\n          queuedFile.status = \"uploading\";\n        };\n\n        // Set up a handler for when the request completes\n        xhr.onload = function () {\n          if (xhr.status === 201) {\n            setTimeout(function () {\n              var response = JSON.parse(xhr.responseText);\n              if (response && response.payload) {\n                queuedFile.url = response.payload;\n              }\n              queuedFile.status = \"uploaded\";\n              self.uplaodNextFileInQueue();\n            }, 2000);\n          } else {\n            queuedFile.status = \"failed\";\n            queuedFile.error = \"Due to some error occurred\";\n            self.uplaodNextFileInQueue();\n          }\n        };\n\n        xhr.open('POST', uploadurl,);\n        queuedFile.xhr = xhr;\n        xhr.setRequestHeader(\"AuthToken\", \"System123\");\n        xhr.setRequestHeader(\"Authorization\", `Bearer ${CookieHelpers.getCookie(\"token\")}`);\n        xhr.send(formData);\n      }\n    },\n    // initializeQuillEditor() {\n    //   var options = {\n    //     theme: 'snow',\n    //     pastePlain: true,\n    //     readOnly: true,\n    //     modules: {\n    //       toolbar: false\n    //     }\n    //   };\n    //   var editor = new Quill('#editor', options);\n    // },\n    newSubmission() {\n      this.submittedFiles = [];\n      this.isNewSubmission = true;\n    },\n    makeAssignmentSubmission() {\n      if (this.isMissing && this.data.IsLateSubimissionAllowed == false)\n        return;\n\n      if (this.isSubmitted && this.data.IsReSubimissionAllowed == false)\n        return;\n\n      if (this.submittedFiles.find(x => x.status.toLowerCase() == 'pending'))\n        return;\n\n      if (!this.submittedFiles.find(x => x.status.toLowerCase() == 'uploaded'))\n        return;\n\n      var files = this.submittedFiles.filter(x => x.status != 'failed').map(x => {\n        return {\n          Name: x.name,\n          Url: x.url,\n          Extension: x.extension,\n          Type: x.type\n        };\n      });\n\n\n      if (files.length > 0) {\n        this.isLoading = true;\n\n        let submissionId = this.submissions.length > 0 ?\n          this.submissions[this.submissions.length - 1].id : null;\n\n        if (!this.isNewSubmission && submissionId) {\n          this.updateAssignmentSubmission({\n            contentId: this.contentData.id,\n            submissionId: submissionId,\n            assignmentSubmissionFiles: files\n          }).then(response => {\n            if (response && response.submittedFiles && response.submittedFiles.length > 0) {\n              this.submittedFiles = this.mapAssignmentFiles(response.submittedFiles);\n              this.isLoading = false;\n            }\n          });\n        }\n        else {\n          this.submitAssignment({ contentId: this.contentData.id, assignmentSubmissionFiles: files }).then(response => {\n            if (response && response.submittedFiles && response.submittedFiles.length > 0) {\n              this.submittedFiles = this.mapAssignmentFiles(response.submittedFiles);\n              this.isLoading = false;\n            }\n          });\n        }\n      }\n\n    },\n    async getAssignmentSubmissions() {\n      this.isLoading = true;\n      var self=this;\n      this.getSubmittedAssignmentResults(this.contentData.id).then(function (results) {\n        if (results) {\n          if (results.length > 0) {\n            self.assignmentResult = results[results.length - 1];\n            let dataList = self.assignmentResult.submissions || [];\n\n            if (dataList && dataList.length > 0) {\n\n              dataList.sort((a, b) => new Date(a.submittedAt) - new Date(b.submittedAt));\n              self.submittedAssignment = dataList[dataList.length - 1];\n              self.assignmentSubmittedAt = new Date(self.submittedAssignment.submittedAt);\n              self.submittedFiles = self.mapAssignmentFiles(self.submittedAssignment.submittedFiles);\n              self.submissions = [...dataList];\n\n              self.isLoading = false;\n            }\n            else {\n              self.isNewSubmission = true;\n            }\n          }\n        }\n      });\n\n    },\n    mapAssignmentFiles(files, status) {\n      let tempFiles = files || [];\n\n      return tempFiles.map(x => {\n        return {\n          id: uuidv4(),\n          name: x.name,\n          extension: x.extension,\n          type: x.type,\n          url: x.url,\n          status: status || \"submitted\"\n        }\n      });\n    },\n\n\n    parseDate(date) {\n      const deadlineDate = new Date(date);\n      const dateString = deadlineDate.toLocaleDateString(undefined, {\n        year: 'numeric',\n        month: 'short',\n        day: 'numeric',\n      });\n      const timeString = deadlineDate.toLocaleTimeString(undefined, {\n        hour: '2-digit',\n        minute: '2-digit',\n      });\n\n      return `${dateString} ${timeString}`;\n    },\n\n    toggleAttachmentsModal(attachments) {\n      this.attachments = attachments;\n      var el = document.getElementById('attachments-modal');\n      if (el.classList.contains('active')) {\n        el.classList.remove('active');\n      } else {\n        el.classList.add('active');\n      }\n    },\n\n    setAttachments(attachments) {\n      this.attachments = attachments;\n    }\n\n\n  },\n  computed: {\n\n    ...mapState(\"appState\", [\"apiURL\"]),\n    ...mapState(\"assignment\", [\"assignments\"]),\n\n    data() {\n      return this.contentData && this.contentData.extraProperties ? JSON.parse(this.contentData.extraProperties) : null;\n    },\n    isSubmitted() {\n      return this.submittedAssignment && this.submittedAssignment.submittedFiles.length > 0;\n    },\n    isLateSubmission() {\n      return this.submittedAssignment && this.submittedAssignment.isLateSubmission == true;\n    },\n    isMissing() {\n      if (this.data && this.data.Deadline && (new Date(this.data.Deadline) < new Date())) {\n        return true;\n      }\n      return false;\n    },\n\n    isReSubmissionAllowed() {\n      return this.data && this.data.IsReSubimissionAllowed == true;\n    },\n\n    isMaxSubmissionReached() {\n      const allowedSubmissions = parseInt(this.data.AllowedSubmissions, 10);\n\n      if (!isNaN(allowedSubmissions) && this.submissions != null) {\n        return this.submissions.length >= allowedSubmissions;\n      }\n\n      return false;\n    },\n\n    submissionDeadLine() {\n      if (this.data.Deadline) {\n        return this.parseDate(this.data.Deadline)\n      }\n\n      return null;\n    },\n\n    submissionDate() {\n      return (date) => {\n        if (date) {\n          return this.parseDate(date);\n        }\n        return null;\n      };\n    },\n    currentSubmissionStatusColor() {\n      if (this.isSubmitted) {\n        if (this.isLateSubmission)\n          return \"rgb(var(--bs-danger-rgb))\"\n\n        return \"#198754\"\n      }\n      if (this.isMissing) {\n        return \"rgb(var(--bs-danger-rgb))\"\n      }\n      return \"#808080\"\n    },\n    currentSubmissionStatus() {\n      if (this.isSubmitted) {\n        if (this.isLateSubmission)\n          return \"Late Submission\"\n\n        return \"Submitted\"\n      }\n      if (this.isMissing) {\n        return \"Submission Date Passed\"\n      }\n      return \"Not Submitted Yet\"\n    },\n    currentSideSubmissionStatus() {\n      if (this.isSubmitted) {\n        if (this.isLateSubmission)\n          return \"Submitted Late\"\n        return \"Submitted\"\n      }\n      if (this.isMissing && this.data.IsLateSubimissionAllowed == true) {\n        return \"Date Missed\"\n      }\n      return \"\"\n    },\n    isSubmitDisabled() {\n      if (this.isLoading)\n        true;\n\n      if (this.submittedFiles.length == 0)\n        return true;\n      if (this.submittedFiles.find(x => x.status == \"pending\")) {\n        return true;\n      }\n      if (!this.submittedFiles.find(x => x.status == \"uploaded\")) {\n        return true;\n      }\n\n      return false;\n    },\n    // submissionResultClass() {\n    //   return (result) => ({\n    //     'submission-result': true,\n    //     pass: result === 'Pass',\n    //     fail: result === 'Fail',\n    //   });\n    // },\n    isAssignmentGraded() {\n      return this.assignmentResult && this.assignmentResult.isGraded === true;\n    },\n    isSubmissionAllowed() {\n      return !this.isMaxSubmissionReached && !this.isAssignmentGraded &&\n            (!this.isMissing || this.data.IsLateSubimissionAllowed) && \n            (!this.isSubmitted || this.isReSubmissionAllowed == true);\n    }\n\n  },\n  mounted() {\n    //this.initializeQuillEditor();\n  },\n  created() {\n    this.getAssignmentSubmissions();\n    // this.getAssignmentResult();\n  },\n  watch: {\n\n  },\n};\n\n</script>\n\n<style scoped>\n.badge.badge-success\n{\n  background-color: green;\n}\n.badge.badge-danger\n{\n  background-color:red;\n}\n.assignment-main-content {\n  margin-right: 60px;\n  position: relative;\n}\n\n.assignment-title {\n  color: black;\n  margin-bottom: 16px;\n}\n\n.assignment-info-row {\n  display: flex;\n  justify-content: start;\n}\n\n.subtitle {\n  color: black;\n  font-size: 0.975rem;\n  font-weight: 700;\n}\n\n.subtitle span {\n  color: #8F8F8F;\n  font-size: 18;\n  font-weight: 500;\n  margin-left: 5px;\n}\n\n.seperator {\n  color: black;\n  margin-right: 15px !important;\n  margin-left: 15px !important;\n}\n\n.tabs-content {\n  margin-top: 20px;\n}\n\n.assignment-tabs {\n  padding: 0;\n}\n\n.assignment-tabs>>>.nav-tabs {\n  display: flex;\n  border-bottom: solid 1px var(--border-color);\n}\n\n.assignment-tabs>>>.nav-tabs .nav-link {\n  height: 46px;\n  line-height: 40px;\n  font-size: 0.975rem;\n  padding-top: 4px;\n  padding-bottom: 4px;\n  color: var(--gray);\n}\n\n.assignment-tabs>>>.nav-tabs .nav-link,\n.assignment-tabs>>>.nav-tabs .nav-link:hover {\n  border: none !important;\n  background: none;\n  outline: none !important;\n}\n\n.assignment-tabs>>>.nav-tabs .nav-link.active {\n  background: none;\n  border: none;\n  border-bottom: solid var(--primary-color) !important;\n  font-weight: 700;\n  color: var(--primary) !important;\n}\n\n\n.assignment-tabs .tabs-content {\n  margin-top: 0;\n}\n\n\n\n.instructions-description {\n  padding: 25px 0 15px;\n}\n\n.file-card {\n  border: 1px solid var(--border-color);\n  border-radius: 8px;\n  text-decoration: none;\n  margin: 10px 0;\n  padding: 10px 15px;\n  transition: box-shadow 0.3s ease-in-out;\n}\n\n.file-card:hover {\n  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n}\n\n.attachment-container {\n  display: flex;\n  align-items: start;\n  width: 100%;\n  cursor: pointer;\n}\n\n.attachment-icon {\n  flex-shrink: 0;\n  height: 30px;\n  width: 25px;\n  margin-right: 5px;\n  color: #333;\n}\n\n.attachment-details {\n  flex-grow: 1;\n  padding: 2px 5px;\n}\n\n.attachment-title {\n  margin: 0;\n  font-size: 1rem;\n  font-weight: bold;\n  text-decoration: none;\n  color: #000000;\n  word-break: break-word;\n}\n\n.attachment-type {\n  font-size: 14px;\n  color: #767676;\n}\n\n.file-card-progress {\n  margin-bottom: 10px;\n}\n\n.file-card label {\n  font-size: 16px;\n  font-weight: bold;\n  margin: 0;\n}\n\n.file-card small {\n  font-size: 1rem;\n  color: #888;\n}\n\n.file-card .text-success,\n.file-card .text-primary {\n  font-size: 1rem;\n  font-weight: bold;\n}\n\n.file-card .text-success {\n  color: green;\n}\n\n.file-card .text-primary {\n  color: var(--primary-color);\n}\n\n.file-card .text-danger {\n  color: red;\n}\n\n.file-card-remove {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 10px;\n}\n\n\n.add-btn {\n  display: flex;\n  width: 200px;\n  align-items: center;\n  margin: 0 15px 10px 0;\n  color: #000;\n  height: 38px;\n  border-radius: 6px;\n}\n\n.add-btn-icon {\n  width: 20px;\n  height: 20px;\n  margin-right: 5px;\n}\n\n.add-btn.submit-btn {\n  background: var(--primary-color);\n  color: white;\n}\n\n.status-label {\n  display: inline-block;\n  margin-right: 5px;\n  margin-bottom: 0;\n}\n\n.status-value {\n  display: inline-block;\n  margin-right: 10px;\n  margin-bottom: 0;\n}\n\n.tab-content {\n  /* background-color: #f5f5f5;\n  padding: 20px; */\n}\n\n\n.no-files-message {\n  text-align: left;\n  padding: 20px 0;\n  font-size: 1rem;\n  color: black;\n}\n\n\n/* Last Submissions */\n\n.submission-body {\n  background-color: #fff;\n  overflow: hidden;\n}\n\n.submission-table-wrapper {\n  overflow-x: auto;\n}\n\n.submission-list {\n  list-style: none;\n  padding: 0;\n  margin: 0;\n}\n\n.submission-header {\n  display: flex;\n  color: black;\n  padding: 10px 0;\n  border-bottom: 1px solid var(--border-color);\n  border-top: 1px solid var(--border-color);\n}\n\n.submission-cell {\n  flex: 1;\n  padding: 10px;\n}\n\n.submission-cell b {\n  font-weight: bold;\n}\n\n.submission-row {\n  display: flex;\n  border-bottom: 1px solid #ccc;\n  padding: 5px 0;\n  transition: background-color 0.2s ease;\n  align-items: center;\n}\n\n.submission-row:hover {\n  background-color: #f0f0f0;\n}\n\n.submission-feedback {\n  /* color: #e60000; */\n  /* Red color for feedback */\n}\n\n.submission-date {\n  /* font-weight: bold; */\n}\n\n.submission-result {\n  font-weight: bold;\n  color: green;\n  /* Green color for pass */\n}\n\n.pass {\n  color: green;\n}\n\n.fail {\n  color: red;\n  /* Red color for fail */\n}\n\n.submission-icon {\n  width: 20px;\n  height: 20px;\n  margin-right: 5px;\n}\n\n.eb-content-wrapper .submission-action-button {\n  /* background-color: var(--color-red);\n  color: #fff;\n  border: none;\n  border-radius: 10px;\n  padding: 5px 10px;\n  cursor: pointer;\n  transition: transform 0.2s ease; */\n  font-size: 0.975rem;\n}\n\n.file-upload-actions {\n  display: flex;\n  flex-wrap: wrap;\n}\n\n\n.mx-1 {\n  margin: 0 5px;\n}\n\n\n/* Style for the modal */\n.b-modal-content {\n  width: 30%;\n  height: 60%;\n  overflow-y: auto;\n  margin: 0;\n  padding: 20px;\n  border-radius: 0;\n  position: fixed;\n  right: 0;\n  top: 20%;\n  transform: translateY(-50%);\n}\n\n.attachment-modal .modal-footer {\n  display: none;\n}\n\n.attachments-sidebar {\n  position: absolute;\n  right: -70px;\n  width: 30%;\n  max-width: 300px;\n  top: -20px;\n  bottom: 0;\n  z-index: 25;\n  height: 100%;\n  min-height: calc(100vh - 248px);\n  transition: all 0.2s ease-in-out;\n  width: 0;\n  opacity: 0;\n}\n\n.attachments-sidebar.active {\n  width: 30%;\n  opacity: 1;\n}\n\n.attachments-sidebar-body {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n  background-color: var(--gray-light);\n  padding: 20px;\n}\n\n.attachments-sidebar-body .file-card {\n  margin: 0 0 15px;\n}\n\n.attachment-close-icon {\n  max-width: 12px;\n  position: absolute;\n  top: 20px;\n  right: 10px;\n  cursor: pointer;\n}\n\n.attachment-list {\n  margin-top: 20px;\n}\n\n@media (min-width: 769px) {\n  .assignment-tabs>>>.nav-tabs>li:first-child .nav-link {\n    padding-left: 0;\n  }\n}\n\n@media (max-width: 768px) {\n  .assignment-main-content {\n    padding-right: 0px;\n  }\n\n  .assignment-info-row {\n    flex-wrap: wrap;\n  }\n\n  .assignment-info-row p {\n    margin-bottom: 4px;\n  }\n\n  .assignment-header-section {\n    padding: 15px;\n    background-color: var(--gray-light);\n  }\n\n  .tab-content-wrapper {\n    padding-left: 15px;\n    padding-right: 15px;\n  }\n\n  .attachment-title {\n    word-break: break-word;\n  }\n\n  .attachments-sidebar {\n    right: 0;\n    overflow: hidden;\n    top: 0;\n  }\n\n  .attachments-sidebar.active {\n    width: 75%;\n  }\n\n  .submission-cell {\n    font-size: 1rem;\n  }\n\n  .submission-header .submission-cell:last-child {\n    justify-content: center;\n  }\n\n  .submission-header .submission-cell:last-child b {\n    display: none;\n  }\n\n  .attachment-modal .modal-body {\n    flex-direction: column;\n    padding: 20px 15px 25px 15px !important;\n  }\n\n  .attachment-modal .modal-body .file-card-wrapper {\n    width: 100%;\n  }\n}</style>\n<style>@media (max-width: 768px) {\n  .chapter-content.Assignment {\n    padding: 0 0 15px;\n  }\n}</style>","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Assignment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Assignment.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Assignment.vue?vue&type=template&id=35380ec8&scoped=true&\"\nimport script from \"./Assignment.vue?vue&type=script&lang=js&\"\nexport * from \"./Assignment.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Assignment.vue?vue&type=style&index=0&id=35380ec8&prod&scoped=true&lang=css&\"\nimport style1 from \"./Assignment.vue?vue&type=style&index=1&id=35380ec8&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"35380ec8\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"py-3 px-md-3 px-0 col-lg-12 text-center exam-content\"},[_c('img',{staticClass:\"page-view-icon mb-3\",attrs:{\"src\":require(\"@/assets/images/exam-test.png\")}}),_c('h3',[_vm._v(_vm._s(_vm.contentData.title)+\" \")]),(_vm.contentData.type == _vm.ContentType.EXAM &&\n\t\t\t_vm.contentData.externalService.serviceProvider.toLowerCase() ==\n\t\t\t_vm.ServiceCodes.EXAM.V3ExamSystem.toLowerCase() &&\n\t\t\t_vm.contentExtraProperties\n\t\t\t)?_c('div',[_c('div',{staticClass:\"text-muted\"},[(_vm.contentData.availableFrom && _vm.contentData.availableTo)?_c('span',[_vm._v(\" \"+_vm._s(_vm.dateParser(_vm.contentData.availableFrom))+\" - \"+_vm._s(_vm.dateParser(_vm.contentData.availableTo))+\" | \")]):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.examTimeParser(JSON.parse(_vm.contentExtraProperties).TotalTime)))])]),(_vm.result && !_vm.loadingResult)?_c('div',{staticClass:\"exam-total-row d-flex justify-content-center my-4\"},[_c('div',{staticClass:\"col-md-2 col-xs-6 exam-total-card text-center\"},[_c('h3',{staticClass:\"total-card-val\"},[_vm._v(_vm._s(_vm.result.totalQuestions))]),_c('div',{staticClass:\"total-card-label text-muted\"},[_vm._v(\"Total Questions\")])]),_c('div',{staticClass:\"col-md-2 col-xs-6 exam-total-card text-center\"},[_c('h3',{staticClass:\"total-card-val\"},[_vm._v(_vm._s(_vm.result.TotalMarks ? _vm.result.TotalMarks : \"0\"))]),_c('div',{staticClass:\"total-card-label text-muted\"},[_vm._v(\"Total Marks\")])])]):_vm._e(),(_vm.loadingResult)?_c('center',{staticClass:\"loading\"},[_c('b-spinner',{attrs:{\"large\":\"\"}})],1):(_vm.result)?_c('div',{staticClass:\"exam-attempt-row d-flex justify-content-center flex-wrap\"},[_c('h4',{staticClass:\"w-100 mb-3\"},[_vm._v(\"Last Attempt Summary\")]),_c('div',{staticClass:\"col-md-3 col-xs-6 ps-0 ps-md-3 exam-attempt-card d-flex text-left\"},[_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/flag-circle-blue-icon.svg\")}}),_c('div',[_c('h5',{staticClass:\"attempt-card-val\"},[_vm._v(_vm._s(_vm.result.attemptedCorrectly)+\" out of \"+_vm._s(_vm.result.totalQuestions))]),_c('p',{staticClass:\"attempt-card-label text-muted\"},[_vm._v(\"Correctly Answered\")])])]),_c('div',{staticClass:\"col-md-3 col-xs-6 pe-0 pe-md-3 exam-attempt-card d-flex text-left justify-content-end\"},[_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/book-circle-cyan-icon.svg\")}}),_c('div',[_c('h5',{staticClass:\"attempt-card-val\"},[_vm._v(_vm._s(_vm.result.result)+\" \")]),_c('p',{staticClass:\"attempt-card-label text-muted\"},[_vm._v(\"Marks Obtained\")])])])]):_vm._e(),_c('div',{staticClass:\"d-flex justify-content-center exam-actions-row mt-4\"},[(_vm.showAttemptButton(_vm.contentData) && !_vm.loadingResult)?_c('button',{staticClass:\"primary-btn attempt-btn btn-round mx-sm-2 mx-1\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.handleClick}},[_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/exam-paper-white-icon.svg\")}}),_vm._v(\" \"+_vm._s(_vm.result ? \"Reattempt Exam\" : \"Attempt Exam\")+\" \")]):_vm._e(),(!_vm.isDisabled && _vm.result)?_c('button',{staticClass:\"btn btn-outline-primary view-result-btn btn-round mx-sm-2 mx-1\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.handleLegacyExamButtonClick}},[_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/exam-paper-icon.svg\")}}),_vm._v(\" View Result \")]):_vm._e()])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"py-3 px-md-3 px-0 col-lg-12 text-center exam-content\">\n\t\t<img class=\"page-view-icon mb-3\" src=\"@/assets/images/exam-test.png\" />\n\t\t<h3>{{ contentData.title }}\n\t\t\t<!-- <br/>\n\t\t\t\t<small>Exam</small> -->\n\t\t</h3>\n\t\t<div v-if=\"contentData.type == ContentType.EXAM &&\n\t\t\tcontentData.externalService.serviceProvider.toLowerCase() ==\n\t\t\tServiceCodes.EXAM.V3ExamSystem.toLowerCase() &&\n\t\t\tcontentExtraProperties\n\t\t\t\">\n\t\t\t<!-- <div class=\"text-muted\" v-if=\"JSON.parse(contentExtraProperties).Layout\">\n\t\t\t\t<strong>Layout: \n\t\t\t\t\t\n\t\t\t\t</strong>{{ JSON.parse(contentExtraProperties).Layout == \"Start\" ? \"F5 to F9 + Professional Level ACCA Exam Format\":\"F1 to F4(ACCA)\" }}\n\t\t\t</div> -->\n\t\t\t<div  class=\"text-muted\">\n\t\t\t\t<span v-if=\"contentData.availableFrom && contentData.availableTo\">\n\t\t\t\t{{ dateParser(contentData.availableFrom) }} -\n\t\t\t\t{{ dateParser(contentData.availableTo) }} |\n\t\t\t\t</span>\n\t\t\t\t<span>{{ examTimeParser(JSON.parse(contentExtraProperties).TotalTime) }}</span>\n\t\t\t</div>\n\n\t\t\t\n\t\t\t\t<div v-if=\"result && !loadingResult\" class=\"exam-total-row d-flex justify-content-center my-4\">\n\t\t\t\t<div class=\"col-md-2 col-xs-6 exam-total-card text-center\">\n\t\t\t\t\t<h3 class=\"total-card-val\">{{ result.totalQuestions }}</h3>\n\t\t\t\t\t<div class=\"total-card-label text-muted\">Total Questions</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-2 col-xs-6 exam-total-card text-center\">\n\t\t\t\t\t<h3 class=\"total-card-val\">{{ result.TotalMarks ? result.TotalMarks : \"0\" }}</h3>\n\t\t\t\t\t<div class=\"total-card-label text-muted\">Total Marks</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<center v-if=\"loadingResult\" class=\"loading\">\n            <b-spinner large></b-spinner>\n        \t</center>\n\t\t\t<div v-else-if=\"result\" class=\"exam-attempt-row d-flex justify-content-center flex-wrap\">\n\t\t\t\t<h4 class=\"w-100 mb-3\">Last Attempt Summary</h4>\n\t\t\t\t<div class=\"col-md-3 col-xs-6 ps-0 ps-md-3 exam-attempt-card d-flex text-left\">\n\t\t\t\t\t<img class=\"page-view-icon\" src=\"@/assets/images/flag-circle-blue-icon.svg\" />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h5 class=\"attempt-card-val\">{{ result.attemptedCorrectly }} out of {{ result.totalQuestions }}</h5>\n\t\t\t\t\t\t<p class=\"attempt-card-label text-muted\">Correctly Answered</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-3 col-xs-6 pe-0 pe-md-3 exam-attempt-card d-flex text-left justify-content-end\">\n\t\t\t\t\t<img class=\"page-view-icon\" src=\"@/assets/images/book-circle-cyan-icon.svg\" />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h5 class=\"attempt-card-val\">{{ result.result }} \n\t\t\t\t\t\t\t</h5>\n\t\t\t\t\t\t<p class=\"attempt-card-label text-muted\">Marks Obtained</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"d-flex justify-content-center exam-actions-row mt-4\">\n\t\t\t\t<button v-if=\"showAttemptButton(contentData) && !loadingResult\"\n\t\t\t\t\ttype=\"button\" @click=\"handleClick\" class=\"primary-btn attempt-btn btn-round mx-sm-2 mx-1\">\n\t\t\t\t\t<img class=\"page-view-icon\" src=\"@/assets/images/exam-paper-white-icon.svg\" />\n\t\t\t\t\t{{ result ? \"Reattempt Exam\" : \"Attempt Exam\"}}\n\t\t\t\t</button>\n\t\t\t\t<button v-if=\"!isDisabled && result\" @click=\"handleLegacyExamButtonClick\" type=\"button\"\n\t\t\t\t\tclass=\"btn btn-outline-primary view-result-btn btn-round mx-sm-2 mx-1\">\n\t\t\t\t\t<img class=\"page-view-icon\" src=\"@/assets/images/exam-paper-icon.svg\" />\n\t\t\t\t\tView Result\n\t\t\t\t</button>\n\t\t\t</div>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\nimport { mapState, mapActions } from \"vuex\";\nimport { getCookie } from \"../../../helpers/CookieHelpers\";\n\nimport { LegacyExam } from \"../../../constants/exam\";\nimport { ContentType } from \"../../../constants/content\";\n\nimport { ServiceCodes } from \"../../../constants/serviceCodes\";\nimport {\n\ttoShortDateString,\n\tgetTimeIn12Hours,\n\tgetInputDateFormat\n} from \"../../../helpers/FormatHelpers\";\n\nimport formatter from \"../../../helpers/FormatHelpers\";\nexport default {\n\tname: \"Exam\",\n\tdata() {\n\t\treturn {\n\t\t\tContentType,\n\t\t\tServiceCodes,\n\t\t\tresult: null,\n\t\t\tloadingResult: null,\n\t\t}\n\t},\n\tmethods: {\n\t\t...mapActions('exam', ['getExamResultByProductVariant']),\n\t\t...mapActions(\"content\", [\"getContentById\", \"setUserContentAction\", \"getUserContentAction\"]),\n\t\tdateParser(date) {\n\t\t\treturn formatter.toShortDateString(date);\n\t\t},\n\n\t\texamTimeParser(time) {\n\t\t\ttime = time.replace(\"00h\",\"\");\n\t\t\ttime = time.replace(\"00m\",\"\");\n\t\t\ttime = time.replace(\"00s\",\"\");\n\t\t\ttime = time.replace(\"h\", \" Hr \");\n\t\t\ttime = time.replace(\"m\", \" Min \");\n\t\t\ttime = time.replace(\"s\", \" Sec \");\n\t\t\n\t\t\treturn time;\n\t\t},\n\n\t\tgetExamResult() {\n\t\t\tthis.loadingResult = true;\n\t\t\tthis.getExamResultByProductVariant({ productVariantID: this.$route.params.id })\n\t\t\t\t.then((data) => {\n\t\t\t\t\tlet tempResult = null;\n\n\t\t\t\t\tfor (const result of data) {\n\t\t\t\t\t\tif (result.content.id === this.contentData.id) {\n\t\t\t\t\t\t\ttempResult = result;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.result = tempResult;\n\t\t\t\t\tthis.loadingResult = false;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.error(\"Error fetching result: \", error);\n\t\t\t\t\tthis.loadingResult = false;\n\t\t\t\t});\n\t\t},\n\n\t\tshowAttemptButton(exam) {\n\t\t\tif (!exam) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst { availableFrom, availableTo } = exam;\n\n\t\t\tif (!availableFrom || !availableTo) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst currentDate = Date.now();\n\t\t\treturn this.isBetweenDates(currentDate, availableFrom, availableTo);\n\t\t},\n\t\tisBetweenDates(checkDate, startDate, endDate) {\n\n\t\t\tconst start = new Date(startDate)\n\t\t\tconst end = new Date(endDate)\n\n\t\t\treturn checkDate > start && checkDate < end\n\t\t},\n\t\thandleLegacyExamButtonClick() {\n\n\t\t\tthis.getContentById({\n\t\t\t\tid: this.contentData.id,\n\t\t\t\textraParams: { action: LegacyExam.GET_EXAM_ACTION.VIEW_RESULTS },\n\t\t\t}).then((content) => {\n\t\t\t\tif (content && this.loggedIn) {\n\t\t\t\t\tvar examAttemptUrl =\n\t\t\t\t\t\tcontent.data.redirectUrl + \"&RedirectUrl=\" + window.location.href;\n\t\t\t\t\twindow.open(examAttemptUrl, \"_blank\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\thandleClick: function () {\n\t\t\tif (\n\t\t\t\tthis.contentData.externalService.serviceProvider ==\n\t\t\t\tServiceCodes.EXAM.V3ExamSystem\n\t\t\t) {\n\t\t\t\tthis.getContentById({\n\t\t\t\t\tid: this.contentData.id,\n\t\t\t\t\textraParams: { action: LegacyExam.GET_EXAM_ACTION.ATTEMPT },\n\t\t\t\t}).then((content) => {\n\t\t\t\t\tif (content) {\n\t\t\t\t\t\tvar examAttemptUrl =\n\t\t\t\t\t\t\tcontent.data.redirectUrl +\n\t\t\t\t\t\t\t\"&RedirectUrl=\" +\n\t\t\t\t\t\t\twindow.location.href;\n\t\t\t\t\t\twindow.open(examAttemptUrl, \"_blank\");\n\t\t\t\t\t\t// window.location.href = examAttemptUrl;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t},\n\tprops: {\n\t\tcontentData: Object,\n\t},\n\tcomputed: {\n\n\t\t...mapState(\"user\", [\"loggedIn\", \"user\"]),\n\t\tcontentLink() {\n\n\t\t\treturn {\n\t\t\t\tpath:\n\t\t\t\t\t\"/content/liveclass/\" +\n\t\t\t\t\tthis.contentData.title\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\"-\" +\n\t\t\t\t\tthis.contentData.id +\n\t\t\t\t\t\"_\" +\n\t\t\t\t\tthis.$route.params.id,\n\t\t\t};\n\n\t\t},\n\t\tcontentExtraProperties() {\n\t\t\tif (this.contentData.extraProperties) return this.contentData.extraProperties;\n\t\t\telse return null;\n\t\t},\n\t\tisDisabled() {\n\t\t\treturn (\n\n\t\t\t\t(new Date(this.contentData.availableFrom) > new Date())\n\t\t\t);\n\t\t},\n\t},\n\tmounted() {\n\t},\n\tcreated() {\n\t\tthis.getExamResult();\n\t},\n};\n</script>\n\n<style>\n.Exam .chapter-content-left {\n\toverflow: hidden;\n}\n</style>\n<style scoped>\n.total-card-val {\n\tmargin: 0;\n\tfont-size: 2.35rem;\n}\n.total-card-label {\n\tfont-size: 1.35rem;\n}\n\n.exam-attempt-card h5 {\n\tmargin: 0;\n}\n\n.exam-attempt-row {\n\tmargin: 25px 0 20px;\n}\n\n.exam-actions-row .attempt-btn,\n.exam-actions-row .view-result-btn {\n\tpadding: 10px 25px;\n\tmin-width: 172px;\n}\n\n.exam-actions-row .view-result-btn {\n\tborder-color: darkgray !important;\n}\n\n.exam-actions-row .page-view-icon {\n\twidth: 20px;\n\theight: auto;\n\tmargin-right: 4px;\n}\n\n.loading {\n    margin-top: 50px;\n    margin-bottom: 50px;\n}\n\n@media (min-width: 1200px) {\n\t.exam-attempt-row h4 {\n\t\tfont-size: 1.25rem;\n\t}\n}\n\n@media (max-width: 768px) {\n\t.exam-actions-row .attempt-btn, \n\t.exam-actions-row .view-result-btn{\n\t\tpadding: 8px 15px;\n\t\tmin-width: inherit;\n\t}\n\t\n}\n@media (max-width: 540px) {\n\t.exam-actions-row .page-view-icon {\n\t\twidth: 18px;\n\t\tmargin-right: 2px;\n\t}\n\t.total-card-label {\n\t\tfont-size: 1.20rem;\n\t}\n\t.exam-attempt-card p{\n\t\tline-height: 1.2;\n\t\tfont-size: 0.975rem;\n\t\tmargin-top: 2px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Exam.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Exam.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Exam.vue?vue&type=template&id=05ed77e0&scoped=true&\"\nimport script from \"./Exam.vue?vue&type=script&lang=js&\"\nexport * from \"./Exam.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Exam.vue?vue&type=style&index=0&id=05ed77e0&prod&lang=css&\"\nimport style1 from \"./Exam.vue?vue&type=style&index=1&id=05ed77e0&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"05ed77e0\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.contentData && _vm.flashcards)?_c('div',{staticClass:\"body-content h-100\"},[_c('div',{staticClass:\"eb-content flashcard-content h-100\"},[(_vm.viewMode == 'study')?_c('div',{staticClass:\"flashcard-bg-row\"},[_c('div',{staticClass:\"flashcard-container justify-content-center h-100 align-items-center\"},[_c('div',{class:'flashcard-box ' + (_vm.isActive ? 'active' : ''),attrs:{\"id\":\"flashcardBox\"}},[_c('div',{staticClass:\"flashcard\",on:{\"click\":_vm.toggleActive}},[_c('div',{staticClass:\"fcard-front\"},[_c('div',{staticClass:\"fcard-body\"},[_c('div',{staticClass:\"fcard-text\"},[_vm._v(\" \"+_vm._s(_vm.flashcards[_vm.activeFlashcardIndex].Slide1)+\" \")])]),_c('div',{staticClass:\"fcard-footer justify-content-center align-items-center\"},[(_vm.flashcardsPreparation[_vm.flashcards[_vm.activeFlashcardIndex].ID])?_c('div',{staticClass:\"text-center\"},[_vm._v(\"Previous attempt\")]):_vm._e(),(_vm.flashcardsPreparation[_vm.flashcards[_vm.activeFlashcardIndex].ID])?_c('div',{class:'alert ' + (_vm.flashcardsPreparation[_vm.flashcards[_vm.activeFlashcardIndex].ID] == 'yes' ? 'alert-success' : 'alert-danger') + ' rounded-0 py-2 mb-0 ms-3'},[_vm._v(\" \"+_vm._s((_vm.flashcardsPreparation[_vm.flashcards[_vm.activeFlashcardIndex].ID] == 'yes' ? 'Correct' : 'Incorrect'))+\" \")]):_vm._e()])]),_c('div',{staticClass:\"fcard-back\"},[_c('div',{staticClass:\"fcard-body\"},[_c('div',{staticClass:\"fcard-text\"},[_vm._v(\" \"+_vm._s(_vm.flashcards[_vm.activeFlashcardIndex].Slide2)+\" \")])]),_c('div',{staticClass:\"fcard-footer justify-content-center\"},[_c('div',{staticClass:\"w-100 text-center pb-1\"},[_vm._v(\"Did you get it right?\")]),_c('div',{staticClass:\"actions-row w-100 d-flex justify-content-center row gx-3\"},[_c('div',{staticClass:\"col\"},[_c('button',{staticClass:\"btn btn-outline-primary w-100\",on:{\"click\":function($event){return _vm.setFlashcardResponse(_vm.flashcards[_vm.activeFlashcardIndex].ID, 'no')}}},[_vm._v(\"No\")])]),_c('div',{staticClass:\"col\"},[_c('button',{staticClass:\"btn btn-outline-primary w-100\",on:{\"click\":function($event){return _vm.setFlashcardResponse(_vm.flashcards[_vm.activeFlashcardIndex].ID, 'yes')}}},[_vm._v(\"Yes\")])])])])])])])])]):_c('div',{staticClass:\"flashcard-list-sec\"},[_c('div',{staticClass:\"eb-header eb-header-auto border-bottom fc-list-header\"},[_c('div',{staticClass:\"row flash-list-subheader mx-0 w-100\"},[_c('div',{staticClass:\"col-4 fc-list-top-info ps-4 py-4\"},[_c('b',[_vm._v(_vm._s(_vm.flashcards.length))]),_c('p',[_vm._v(\"Number of Cards\")])]),_c('div',{staticClass:\"col-4 fc-list-top-info ps-4 py-4\"},[_c('b',{staticClass:\"text-success\"},[_vm._v(_vm._s(_vm.getCorrectAnswersLength()))]),_c('p',[_vm._v(\"Correct\")])]),_c('div',{staticClass:\"col-4 fc-list-top-info ps-4 py-4\"},[_c('b',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.getIncorrectAnswersLength()))]),_c('p',[_vm._v(\"Incorrect\")])])])]),_c('div',{staticClass:\"flashcard-table-wrapper\"},[_c('table',{staticClass:\"table flashcard-table\"},[_vm._m(0),_c('tbody',_vm._l((_vm.flashcards),function(flashcard,index){return _c('tr',[_c('td',[_vm._v(_vm._s((index + 1))+\" \")]),_c('td',[_vm._v(_vm._s(flashcard.Slide1))]),_c('td',[_vm._v(_vm._s(flashcard.Slide2))]),_c('td',[(_vm.showFlashcardResponse(flashcard) != 'Not Answered')?_c('img',{staticClass:\"status-icon\",attrs:{\"src\":_vm.getStatusIconPath(_vm.showFlashcardResponse(flashcard))}}):_vm._e()])])}),0)])])]),_c('div',{staticClass:\"flashcard-footer-row\"},[_c('div',{staticClass:\"fcard-progress\"},[_c('div',{staticClass:\"progress mb-1\"},[_c('div',{staticClass:\"progress-bar\",style:({ width: (_vm.getProgress + \"%\") }),attrs:{\"role\":\"progressbar\",\"aria-valuenow\":_vm.getProgress,\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}})])]),_c('div',{staticClass:\"fcard-footer-actions eb-sub-header bg-white py-1 justify-content-between row mx-0\"},[_c('div',{staticClass:\"fcard-actions-col-1 col-sm-4 col-0\"}),_c('div',{staticClass:\"fcard-actions-col-2 col-sm-4 col-5\"},[(_vm.viewMode == 'study')?_c('div',{staticClass:\"eb-chapter-arrows d-flex justify-content-center\"},[_c('button',{staticClass:\"eb-chapter-prev\",attrs:{\"disabled\":_vm.activeFlashcardIndex <= 0},on:{\"click\":_vm.previousFlashcard}},[_c('i',{staticClass:\"fas fa-caret-left\"})]),_c('div',{staticClass:\"fcard-pages mx-2\"},[_c('span',{staticClass:\"fcard-cur-page\"},[_vm._v(_vm._s((_vm.activeFlashcardIndex + 1)))]),_vm._v(\" / \"),_c('span',{staticClass:\"fcard-page-count\"},[_vm._v(_vm._s(_vm.flashcards.length))])]),_c('button',{staticClass:\"eb-chapter-next\",attrs:{\"disabled\":_vm.activeFlashcardIndex >= (_vm.flashcards.length - 1)},on:{\"click\":_vm.nextFlashcard}},[_c('i',{staticClass:\"fas fa-caret-right\"})])]):_vm._e()]),_c('div',{staticClass:\"fcard-actions-col-3 eb-chapter-controls ms-auto d-flex justify-content-end col-sm-4 col-7\"},[_c('button',{staticClass:\"eb-rotate-control pt-1 me-1\",on:{\"click\":_vm.resetFlashcard}},[_c('i',{staticClass:\"fas fa-undo fa-flip-horizontal\"})]),_c('button',{staticClass:\"eb-filter-toggle ms-3\",on:{\"click\":_vm.toggleViewMode}},[(_vm.viewMode == 'study')?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/align-right-icon.svg\")}}):_c('i',{staticClass:\"fa fa-credit-card\"})])])])])])]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{staticClass:\"bg-light\"},[_c('th',{staticClass:\"font-medium bg-light\",attrs:{\"scope\":\"col\",\"width\":\"5%\"}},[_vm._v(\"#\")]),_c('th',{staticClass:\"font-medium bg-light\",attrs:{\"scope\":\"col\",\"width\":\"20%\"}},[_vm._v(\"Side 1\")]),_c('th',{staticClass:\"font-medium bg-light\",attrs:{\"scope\":\"col\"}},[_vm._v(\"Side 2\")]),_c('th',{staticClass:\"font-medium bg-light\",attrs:{\"scope\":\"col\",\"width\":\"15%\"}},[_vm._v(\"Response\")])])])}]\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"body-content h-100\" v-if=\"contentData && flashcards\">\n    <div class=\"eb-content flashcard-content h-100\">\n\n\n\n      <div class=\"flashcard-bg-row\" v-if=\"viewMode == 'study'\">\n        <div class=\"flashcard-container justify-content-center h-100 align-items-center\">\n          <div :class=\"'flashcard-box ' + (isActive ? 'active' : '')\" id=\"flashcardBox\">\n\n            <div class=\"flashcard\" @click=\"toggleActive\">\n              <div class=\"fcard-front\">\n                <div class=\"fcard-body\">\n                  <div class=\"fcard-text\">\n                    {{ flashcards[activeFlashcardIndex].Slide1 }}\n                  </div>\n                </div><!-- /fcard-body -->\n\n                <div class=\"fcard-footer justify-content-center align-items-center\">\n                  <div class=\"text-center\" v-if=\"flashcardsPreparation[flashcards[activeFlashcardIndex].ID]\">Previous\n                    attempt</div>\n                  <div v-if=\"flashcardsPreparation[flashcards[activeFlashcardIndex].ID]\"\n                    :class=\"'alert ' + (flashcardsPreparation[flashcards[activeFlashcardIndex].ID] == 'yes' ? 'alert-success' : 'alert-danger') + ' rounded-0 py-2 mb-0 ms-3'\">\n                    {{ (flashcardsPreparation[flashcards[activeFlashcardIndex].ID] ==\n                      'yes' ?\n                      'Correct' : 'Incorrect') }}\n                  </div>\n                </div><!-- /fcard-footer -->\n              </div><!-- fcard-front -->\n\n              <div class=\"fcard-back\">\n                <!-- <div class=\"fcard-header\">\n                  <div class=\"fcard-pages ms-auto align-self-start\">\n                    <span class=\"fcard-cur-page\">{{ (activeFlashcardIndex + 1) }}</span> of <span\n                      class=\"fcard-page-count\">{{ flashcards.length }}</span>\n                  </div>\n                </div> -->\n\n                <div class=\"fcard-body\">\n                  <div class=\"fcard-text\">\n                    {{ flashcards[activeFlashcardIndex].Slide2 }}\n                  </div>\n                </div><!-- /fcard-header -->\n\n                <div class=\"fcard-footer justify-content-center\">\n                  <div class=\"w-100 text-center pb-1\">Did you get it right?</div>\n                  <div class=\"actions-row w-100 d-flex justify-content-center row gx-3\">\n                    <div class=\"col\">\n                      <button @click=\"setFlashcardResponse(flashcards[activeFlashcardIndex].ID, 'no')\"\n                        class=\"btn btn-outline-primary w-100\">No</button>\n                    </div>\n                    <div class=\"col\">\n                      <button @click=\"setFlashcardResponse(flashcards[activeFlashcardIndex].ID, 'yes')\"\n                        class=\"btn btn-outline-primary w-100\">Yes</button>\n                    </div>\n                  </div>\n                </div><!-- /fcard-footer -->\n              </div><!-- fcard-back -->\n\n            </div><!-- /flashcard -->\n          </div><!-- /flashcard-box -->\n        </div>\n      </div><!-- cd-body -->\n      <div class=\"flashcard-list-sec\" v-else>\n        <div class=\"eb-header eb-header-auto border-bottom fc-list-header\">\n\n          <div class=\"row flash-list-subheader mx-0 w-100\">\n\n            <div class=\"col-4 fc-list-top-info ps-4 py-4\">\n              <b>{{ flashcards.length }}</b>\n              <p>Number of Cards</p> \n            </div>\n            <div class=\"col-4 fc-list-top-info ps-4 py-4\">\n              <b class=\"text-success\">{{ getCorrectAnswersLength() }}</b>\n              <p>Correct</p>\n            </div>\n            <div class=\"col-4 fc-list-top-info ps-4 py-4\">\n              <b class=\"text-danger\">{{ getIncorrectAnswersLength() }}</b>\n              <p>Incorrect</p>\n            </div>\n          </div>\n\n        </div>\n        <div class=\"flashcard-table-wrapper\">\n          <table class=\"table flashcard-table\">\n            <thead>\n              <tr class=\"bg-light\">\n                <th scope=\"col\" width=\"5%\" class=\"font-medium bg-light\">#</th>\n                <th scope=\"col\" width=\"20%\" class=\"font-medium bg-light\">Side 1</th>\n                <th scope=\"col\" class=\"font-medium bg-light\">Side 2</th>\n                <th scope=\"col\" width=\"15%\" class=\"font-medium bg-light\">Response</th>\n              </tr>\n            </thead>\n            <tbody>\n              <tr v-for=\"(flashcard, index) in flashcards\">\n                <td>{{ (index + 1) }} </td>\n                <td>{{ flashcard.Slide1 }}</td>\n                <td>{{ flashcard.Slide2 }}</td>\n                <td>\n                  <img v-if=\"showFlashcardResponse(flashcard) != 'Not Answered'\"\n                    :src=\"getStatusIconPath(showFlashcardResponse(flashcard))\" class=\"status-icon\">\n                </td>\n              </tr>\n\n\n            </tbody>\n          </table>\n        </div>\n      </div><!-- /eb-content -->\n\n\n      <div class=\"flashcard-footer-row\">\n        <div class=\"fcard-progress\">\n          <div class=\"progress mb-1\">\n            <div class=\"progress-bar\" role=\"progressbar\" :style=\"{ width: `${getProgress}%` }\"\n              :aria-valuenow=\"getProgress\" aria-valuemin=\"0\" aria-valuemax=\"100\">\n            </div>\n          </div>\n        </div>\n\n        <div class=\"fcard-footer-actions eb-sub-header bg-white py-1 justify-content-between row mx-0\">\n          <div class=\"fcard-actions-col-1 col-sm-4 col-0\">\n\n          </div>\n\n          <div class=\"fcard-actions-col-2 col-sm-4 col-5\">\n            <div v-if=\"viewMode == 'study'\" class=\"eb-chapter-arrows d-flex justify-content-center\">\n              <button :disabled=\"activeFlashcardIndex <= 0\" @click=\"previousFlashcard\" class=\"eb-chapter-prev\"><i\n                  class=\"fas fa-caret-left\"></i></button>\n              <div class=\"fcard-pages mx-2\">\n                <span class=\"fcard-cur-page\">{{ (activeFlashcardIndex + 1) }}</span> / <span class=\"fcard-page-count\">{{\n                  flashcards.length }}</span>\n              </div>\n              <button :disabled=\"activeFlashcardIndex >= (flashcards.length - 1)\" @click=\"nextFlashcard\"\n                class=\"eb-chapter-next\"><i class=\"fas fa-caret-right\"></i></button>\n            </div>\n          </div>\n\n          <div class=\"fcard-actions-col-3 eb-chapter-controls ms-auto d-flex justify-content-end col-sm-4 col-7\">\n\n            <button @click=\"resetFlashcard\" class=\"eb-rotate-control pt-1 me-1\">\n              <i class=\"fas fa-undo fa-flip-horizontal\"></i>\n            </button>\n            <!-- <button @click=\"toggleViewMode\" class=\"eb-view-expand ms-3\">\n              <img class=\"page-view-icon\" src=\"@/assets/images/view-expand-icon.png\" />              \n            </button> -->\n            <button @click=\"toggleViewMode\" class=\"eb-filter-toggle ms-3\">\n              <img v-if=\"viewMode == 'study'\" class=\"page-view-icon\" src=\"@/assets/images/align-right-icon.svg\" />\n              <i v-else class=\"fa fa-credit-card\"></i>\n            </button>\n            \n\n          </div>\n        </div><!-- eb-sub-header -->\n      </div>\n\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n  name: \"Flashcards\",\n  components: {},\n  data() {\n    return {\n      flashcards: [],\n      activeFlashcardIndex: 0,\n      isActive: false,\n      viewMode: \"study\",\n      flashcardsPreparation: {},\n      isCompleted: false,\n    };\n  },\n  props: {\n    contentData: Object\n  },\n  methods: {\n    ...mapActions(\"content\", [\"getContentById\", \"setUserContentAction\", \"getUserContentAction\"]),\n    ...mapActions(\"productVariant\", [\"getProductVariantProgress\"]),\n    ...mapActions(\"content\", [\"updateAction\"]),\n\n    nextFlashcard: function () {\n      if ((this.activeFlashcardIndex + 1) < this.flashcards.length) {\n        this.activeFlashcardIndex++;\n        this.isActive = false;\n      }\n    },\n    toggleViewMode: function () {\n      if (this.viewMode == \"study\") {\n        this.viewMode = \"list\";\n      } else {\n        this.viewMode = \"study\";\n      }\n    },\n    previousFlashcard: function () {\n      if ((this.activeFlashcardIndex - 1) > -1) {\n        this.activeFlashcardIndex--;\n        this.isActive = false;\n      }\n    },\n    toggleActive: function () {\n      this.isActive = !this.isActive;\n    },\n    resetFlashcard: function () {\n      this.isActive = false;\n      this.activeFlashcardIndex = 0;\n    },\n    setFlashcardResponse: function (id, answer) {\n      this.flashcardsPreparation[id] = answer;\n      var contentAction = {\n        ContentID: this.contentData.id,\n        DataType: \"flashcardResponse\",\n        Data: JSON.stringify(this.flashcardsPreparation)\n      }\n\n      this.setUserContentAction(contentAction).then((action) => {\n        if (action && action.dataType && action.dataType.toLowerCase() == \"flashcardresponse\") {\n          this.flashcardsPreparation = JSON.parse(action.data);\n          var self = this.flashcardsPreparation;\n          this.flashcardsPreparation = null;\n          this.flashcardsPreparation = self;\n\n          this.updateAction({\n            \"id\": action.id,\n            \"userID\": action.userID,\n            \"contentID\": this.contentData.id,\n            \"dataType\": action.dataType,\n            \"data\": action.data\n          });\n\n          let completed = this.isAllCompleted()\n          if (completed && !this.isCompleted) {\n            this.markCompleted(completed);\n\n          }\n        }\n      });\n    },\n    getFlashcardResponse: function () {\n      this.getUserContentAction({ contentId: this.contentData.id, dataType: \"flashcardResponse\" }).then((userActions) => {\n        var userAction = userActions ? userActions.find(x => x.dataType.toLowerCase() == \"flashcardresponse\") : null;\n        if (userAction) {\n          debugger;\n          this.flashcardsPreparation = JSON.parse(userAction.data);\n          var self = this.flashcardsPreparation;\n          this.flashcardsPreparation = null;\n          this.flashcardsPreparation = self;\n        }\n      });\n    },\n    isAllCompleted() {\n      let response = this.flashcards.every(card => !!this.flashcardsPreparation[card.ID]);\n      return response;\n    },\n    markCompleted: function (isCompleted) {\n      if (this.contentData.id) {\n        var contentAction = {\n          ContentID: this.contentData.id,\n          DataType: \"completionStatus\",\n          Data: isCompleted ? \"completed\" : \"uncompleted\"\n        }\n\n        this.setUserContentAction(contentAction).then((action) => {\n          if (action && action.dataType && action.dataType.toLowerCase() == \"completionstatus\") {\n            this.getProductVariantProgress(this.$route.params.id);\n            this.updateAction({ \"id\": action.id, \"userID\": action.userID, \"contentID\": this.contentData.id, \"dataType\": action.dataType, \"data\": action.data });\n\n          }\n\n        });\n      }\n    },\n    getCompletedStatus: function () {\n      if (this.contentData.id) {\n        this.getUserContentAction({ contentId: this.contentData.id, dataType: \"completionStatus\" }).then((userActions) => {\n          var userAction = userActions ? userActions.find(x => x.dataType == \"completionStatus\") : null;\n          if (userAction) {\n            this.isCompleted = userAction.data === 'completed'\n          }\n        });\n      }\n    },\n    showFlashcardResponse(card) {\n      var answer = this.flashcardsPreparation &&\n        this.flashcardsPreparation[card.ID]\n        ? this.flashcardsPreparation[card.ID] == 'yes' ? \"Correct\" : \"Incorrect\" : 'Not Answered';\n      return answer;\n    },\n    getStatusIconPath(action) {\n      return action === 'Correct' ? require('@/assets/images/check-icon-green-circle.svg') : require('@/assets/images/cross-icon.svg');\n    },\n    getCorrectAnswersLength() {\n      let counter = 0;\n      for (let card of this.flashcards) {\n        if (this.showFlashcardResponse(card) == 'Correct') {\n          counter++;\n        }\n      }\n      return counter;\n    },\n    getIncorrectAnswersLength() {\n      let counter = 0;\n      for (let card of this.flashcards) {\n        if (this.showFlashcardResponse(card) == 'Incorrect') {\n          counter++;\n        }\n      }\n      return counter;\n    },\n\n    getNotAnsweredLength() {\n      let counter = 0;\n      for (let card of this.flashcards) {\n        if (this.showFlashcardResponse(card) === 'Not Answered') {\n          counter++;\n        }\n      }\n      return counter;\n    },\n\n  },\n  computed: {\n    getProgress() {\n      if (this.flashcards.length === 0) {\n        return \"0\";\n      }\n\n      const progress = ((this.activeFlashcardIndex+1) / this.flashcards.length) * 100;\n\n      return `${progress.toFixed(0)}`;\n    }\n\n  },\n  created() {\n    var flashcardsData = this.contentData.data ? JSON.parse(this.contentData.data) : null;\n    if (flashcardsData) {\n      this.flashcards = flashcardsData.Flashcards;\n    }\n    this.getFlashcardResponse();\n    this.getCompletedStatus()\n  },\n  mounted() {\n  },\n  // beforeDestroy() {\n  // \t$(\"body\").off(\"onmousedown\");\n  // },\n  watch: {\n    contentData: function () {\n\n      var flashcardsData = this.contentData.data ? JSON.parse(this.contentData.data) : null;\n      if (flashcardsData) {\n        this.flashcards = flashcardsData.Flashcards;\n        this.flashcards.sort(function (a, b) { return a.Sequence - b.Sequence })\n      }\n    }\n  },\n};\n</script>\n\n<style scoped>\n\n.status-icon {\n  margin-left: 20px;\n  width: 24px;\n  height: auto;\n}\n\n</style>\n<style>\n/*======= Flashcards =========*/\n.flashcard-container {\n  margin: 0px;\n}\n\n.has-floating-menu.Flashcards .floating-menu+.chapter-content-left {\n  padding-right: 0;\n  height: 100% !important;\n}\n\n.flashcard-box {\n  height: 100%;\n}\n\n.flashcard {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  transition: transform 0.8s;\n  transform-style: preserve-3d;\n\n}\n\n\n.flashcard-box.active .flashcard {\n  /* transform: rotateY(180deg); \n  animation: flipOut .25s ease-in-out 1; */\n}\n\n.fcard-front,\n.fcard-back {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  flex-direction: column;\n  display: flex;\n  background: white;\n  animation-fill-mode: forwards;\n  z-index: 1;\n}\n\n.fcard-front {\n  animation: flipIn .25s ease-in-out 1;\n  z-index: 4;\n}\n\n.fcard-back {\n  animation: flipOut .25s ease-in-out 1;\n  opacity: 0;\n}\n\n.flashcard-box.active .fcard-back {\n  animation: flipIn .25s ease-in-out 1;\n  z-index: 6;\n  opacity: 1;\n\n}\n\n.flashcard-box.active .fcard-front {\n  animation: flipOut .25s ease-in-out 1;\n}\n\n@keyframes flipIn {\n  0% {\n    transform: rotateX(180deg)\n  }\n\n  to {\n    transform: rotateX(1turn)\n  }\n}\n\n@keyframes flipOut {\n  0% {\n    transform: rotateX(0deg)\n  }\n\n  to {\n    transform: rotateX(180deg)\n  }\n}\n\n\n.fcard-header {\n  /* border-bottom: solid 1px rgba(var(--primary-color-rgb), 0.25); */\n  height: 60px;\n  display: flex;\n  padding: 10px;\n  cursor: pointer;\n}\n\n.fcard-pages span {\n  font-size: 14px;\n}\n\n.fcard-pages span {\n  font-weight: 600;\n}\n\n.fcard-footer {\n  /* border-top: solid 1px rgba(var(--primary-color-rgb), 0.4); \n  height: 84px; */\n  display: flex;\n  padding: 10px 10px 20px;\n  flex-wrap: wrap;\n}\n\n.fcard-body {\n  height: 209px;\n  overflow: hidden;\n  /* background: linear-gradient(to bottom, white 29px, rgba(0, 0, 0, 0.09) 1px);\n  background-size: 100% 30px; */\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  padding: 20px 10%;\n  text-align: center;\n  cursor: pointer;\n}\n\n.fcard-front .fcard-body,\n.fcard-back .fcard-body {\n  flex-grow: 1;\n}\n\n.fcard-text {\n  color: var(--flashcard-text-color);\n  font-size: 2.55rem;\n  /* font-family: Georgia, 'Times New Roman', Times, serif; */\n  line-height: 1.25;\n}\n\n.flashcard-table>:not(caption)>*>*,\n.flashcard-table tr td {\n  padding-bottom: 1.25rem;\n  padding-top: 0.8rem;\n}\n\n.flashcard-table>:not(caption)>*>* {\n  padding-bottom: 0.8rem;\n}\n\n.flashcard-table tbody tr:last-child td {\n  border-bottom: none !important;\n}\n\n.fcard-progress .progress {\n  height: 6px;\n}\n\n.fcard-progress .progress .progress-bar{\n  background: var(--primary-color);\n}\n\n.Flashcards .floating-menu {\n  top: 20px;\n  margin: 0;\n  right: 10px;\n  position: absolute;\n  z-index: 5;\n}\n\n.fcard-footer .actions-row .col {\n  flex: 0 0 auto;\n  width: 24%;\n}\n\n.flashcard-header-row {\n  height: 36px;\n}\n\n.flashcard-footer-row {\n  height: 50px;\n  background-color: white;\n}\n.fcard-footer-actions .page-view-icon{\n  width:auto;\n  height: 18px;\n}\n.fcard-footer-actions .fa-credit-card{\n  font-size: 1.4rem;\n}\n.flashcard-bg-row {\n  height: calc(100% - 50px);\n}\n\n/*----------- Flashcard List -------*/\n.flashcard-list-sec{\n  height: calc(100% - 50px);\n    overflow: auto;\n}\n.fc-list-header,\n.flashcard-table-wrapper{\n  /* width: calc(100% - 55px); */\n  position: relative;\n    background-color: white;\n    z-index: 6;\n}\n.fc-list-top-info{\n  border-right: solid 1px var(--border-color);\n}\n.fc-list-top-info b{\n  font-size: 28px;\n  line-height: 1;\n}\n.fc-list-top-info p{\n  margin:0;\n  color: var(--color-dark-gray);\n  line-height: 1;\n}\n.flashcard-table-wrapper .flashcard-table thead tr th{\n  padding-top:12px;\n  padding-bottom: 10px;\n}\n.flashcard-table-wrapper .flashcard-table>tbody>tr>td {\n    padding: 12px 8px;\n    vertical-align: middle;\n}\n/* .flashcard-table-wrapper{\n  border-right: solid 1px var(--border-color);\n  width: calc(100% - 55px);\n} */\n\n@media (max-width:768px){\n  .flashcard-bg-row {\n      height: calc(100vh - 280px);\n  }\n  .fcard-text {\n      font-size: 2rem;\n  }\n  .flashcard-list-sec {\n    font-size: 1rem;\n  }\n  .flashcard-list-sec .eb-header{\n    padding: 0;\n  }\n  .flashcard-table-wrapper .flashcard-table thead tr th:nth-child(2) {\n      width: 30% !important;\n  }\n}\n\n@media (max-width:576px){\n\n   .flashcard-table .status-icon {\n      margin-left: 6px;\n      width: 20px;\n   }\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Flashcards.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Flashcards.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Flashcards.vue?vue&type=template&id=079fd88c&scoped=true&\"\nimport script from \"./Flashcards.vue?vue&type=script&lang=js&\"\nexport * from \"./Flashcards.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Flashcards.vue?vue&type=style&index=0&id=079fd88c&prod&scoped=true&lang=css&\"\nimport style1 from \"./Flashcards.vue?vue&type=style&index=1&id=079fd88c&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"079fd88c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isShowFloatingOptions)?_c('div',{staticClass:\"floating-menu\"},[_c('div',{staticClass:\"floating-icons\"},[_c('a',{class:'float-icon bookmark-icon ' + (_vm.isBookmarked ? 'active' : ''),on:{\"click\":_vm.setBookmark}},[_c('i',{class:'fa fa-lg ' + (_vm.isBookmarked ? ' fa-bookmark' : ' fa-bookmark-o')})]),_c('a',{staticClass:\"float-icon highlight-icon\",attrs:{\"disabled\":!(_vm.selectedRange && _vm.selectedRange.length && _vm.selectedRange.length >0),\"href\":\"#\"},on:{\"click\":_vm.highlight}},[_c('img',{attrs:{\"src\":require(\"../../../assets/images/brush-icon.svg\")}})]),_c('a',{staticClass:\"float-icon note-icon\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.takeNotes}},[_c('img',{attrs:{\"src\":require(\"../../../assets/images/edit-alt-icon.svg\")}})]),_vm._m(0)])]):_vm._e(),_c('div',{staticClass:\"freeText-main-content\"},[_c('div',{attrs:{\"id\":\"editor\"}}),_c('b-sidebar',{attrs:{\"id\":\"my-sidebar\",\"title\":\"Notes\",\"visible\":_vm.isOffcanvasOpen,\"shadow\":\"\",\"right\":\"\"}},[_c('div',{staticClass:\"sidebar-content p-4\"},[_c('div',{staticClass:\"note-header\"},[_c('h2',{staticClass:\"modal-heading\"},[_vm._v(\"Notes\")]),(_vm.selectedNoteIndex > -1)?_c('i',{staticClass:\"fas fa-trash-alt\",on:{\"click\":function($event){return _vm.removeNote(_vm.selectedNoteIndex)}}}):_vm._e()]),_c('div',{staticClass:\"note-content\"},[(_vm.selectedNote.text)?_c('p',[_vm._v(_vm._s(_vm.selectedNote.text))]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedNote.comment),expression:\"selectedNote.comment\"}],staticClass:\"form-control notes-textarea\",attrs:{\"placeholder\":\"Write your comment\",\"maxlength\":\"500\"},domProps:{\"value\":(_vm.selectedNote.comment)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selectedNote, \"comment\", $event.target.value)}}}),_c('small',{staticClass:\"form-text text-muted character-counter\"},[_vm._v(\" \"+_vm._s(_vm.selectedNote.comment.length)+\" / 500 characters \")])]),_c('button',{staticClass:\"btn btn-primary btn-confirm\",on:{\"click\":function($event){return _vm.setComment(_vm.selectedNoteIndex, _vm.selectedNote.comment)}}},[_vm._v(\" Save \")]),_c('button',{staticClass:\"btn btn-outline-primary mx-3\",on:{\"click\":function($event){return _vm.toggleOffcanvas()}}},[_vm._v(\" Close \")])])])])],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"float-icon calculator-icon\",attrs:{\"href\":\"#\"}},[_c('img',{attrs:{\"src\":require(\"../../../assets/images/calculator-icon.svg\")}})])}]\n\nexport { render, staticRenderFns }","<template>\n  <div>\n\n    <div class=\"floating-menu\" v-if=\"isShowFloatingOptions\">\n      <div class=\"floating-icons\">\n        <a @click=\"setBookmark\" :class=\"'float-icon bookmark-icon ' + (isBookmarked ? 'active' : '')\">\n          <i :class=\"'fa fa-lg ' + (isBookmarked ? ' fa-bookmark' : ' fa-bookmark-o')\"></i>\n        </a>\n        <!-- <a  href=\"#\"  class=\"float-icon edit-icon\">\n          <img src=\"../../../assets/images/edit-icon.svg\">\n        </a> -->\n        \n        <a @click=\"highlight\" :disabled=\"!(selectedRange && selectedRange.length && selectedRange.length >0)\" href=\"#\"\n          class=\"float-icon highlight-icon\">\n          <img src=\"../../../assets/images/brush-icon.svg\">\n        </a>\n        <a @click=\"takeNotes\" href=\"#\" class=\"float-icon note-icon\">\n          <img src=\"../../../assets/images/edit-alt-icon.svg\">\n        </a>\n        <a href=\"#\" class=\"float-icon calculator-icon\">\n          <img src=\"../../../assets/images/calculator-icon.svg\">\n        </a>\n      </div>\n    </div>\n    <div class=\"freeText-main-content\">\n      <!-- <h1 class=\"main-heading\">{{ contentData.title }}</h1> -->\n      <div id=\"editor\">\n      </div>\n\n      <b-sidebar id=\"my-sidebar\" title=\"Notes\" :visible=\"isOffcanvasOpen\" shadow right>\n        <div class=\"sidebar-content p-4\">\n          <div class=\"note-header\">\n            <h2 class=\"modal-heading\">Notes</h2>\n            \n            <i v-if=\"selectedNoteIndex > -1\" class=\"fas fa-trash-alt\" @click=\"removeNote(selectedNoteIndex)\"></i>\n          </div>\n          <div class=\"note-content\">\n            <p v-if=\"selectedNote.text\">{{ selectedNote.text }}</p>\n            <div class=\"form-group\">\n              <textarea v-model=\"selectedNote.comment\" placeholder=\"Write your comment\" maxlength=\"500\"\n                class=\"form-control notes-textarea\"></textarea>\n              <small class=\"form-text text-muted character-counter\">\n                {{ selectedNote.comment.length }} / 500 characters\n              </small>\n            </div>\n\n            <button @click=\"setComment(selectedNoteIndex, selectedNote.comment)\" class=\"btn btn-primary btn-confirm\">\n              Save\n            </button>\n\n            <button @click=\"toggleOffcanvas()\" class=\"btn btn-outline-primary mx-3\">\n              Close\n            </button>\n          </div>\n        </div>\n      </b-sidebar>\n\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n  name: \"FreeText\",\n  components: { },\n  data() {\n    return {\n      quillEditor: null,\n      selectedRange: null,\n      highlightedRanges: [],\n      notes: [],\n      currentTab: null,\n      selectedNote: { comment: '' },\n      selectedNoteIndex: -1,\n      isOffcanvasOpen: false,\n    };\n  },\n  props: {\n    contentData: Object,\n    isShowFloatingOptions: Boolean,\n    isBookmarked: Boolean\n  },\n  methods: {\n\n    ...mapActions(\"content\", [\"getContentById\", \"setUserContentAction\", \"getUserContentAction\"]),\n    setBookmark: function () {\n      this.$emit(\"setContentBookmarked\");\n    },\n    highlight: function () {\n      if (this.quillEditor) {\n        if (this.selectedRange) {\n          var range = this.selectedRange;\n          let overlappingRanges = [];\n          for (let i = 0; i < this.highlightedRanges.length; i++) {\n            const selectedRange = this.highlightedRanges[i];\n            const endIndex = selectedRange.index + selectedRange.length - 1;\n\n            if (range.index >= selectedRange.index && range.index <= endIndex) {\n              overlappingRanges.push(i);\n            }\n          }\n          if (overlappingRanges.length === 0) {\n\n            var prependedRange = this.highlightedRanges.find(x => x.index + x.length == range.index);\n            if (prependedRange) {\n              var index = this.highlightedRanges.indexOf(prependedRange);\n              this.highlightedRanges[index].length += range.length;\n              this.quillEditor.formatText(this.highlightedRanges[index].index, this.highlightedRanges[index].length, 'highlights', true);\n            } else {\n              var selectedContent = this.quillEditor.getContents(range.index, range.length);\n              var tempContainer = document.createElement('div')\n              var tempQuill = new Quill(tempContainer);\n              tempQuill.setContents(selectedContent);\n              var text = tempContainer.querySelector('.ql-editor').innerHTML;\n              this.quillEditor.formatText(range.index, range.length, 'highlights', true);\n              range.id = generateGUID();\n              range.text = text;\n              this.highlightedRanges.push(range);\n            }\n          } else {\n            overlappingRanges.forEach(overlapRange => {\n              var overlapRangeOB = this.highlightedRanges[overlapRange];\n              if ((range.index + range.length) <= (overlapRangeOB.index + overlapRangeOB.length)) {\n                this.quillEditor.formatText(overlapRangeOB.index, overlapRangeOB.length, 'highlights', false);\n                this.highlightedRanges.splice(overlapRange, 1);\n\n                var firstLength = range.index - overlapRangeOB.index;\n                if (firstLength > 0) {\n                  var selectedContent = this.quillEditor.getContents(overlapRangeOB.index, firstLength);\n                  var tempContainer = document.createElement('div');\n                  var tempQuill = new Quill(tempContainer);\n                  tempQuill.setContents(selectedContent);\n                  var text = tempContainer.querySelector('.ql-editor').innerHTML;\n                  this.quillEditor.formatText(overlapRangeOB.index, firstLength, 'highlights', true);\n                  this.highlightedRanges.push({ index: overlapRangeOB.index, length: firstLength, id: generateGUID(), text });\n                }\n\n                var secondLength = (overlapRangeOB.index + overlapRangeOB.length) - (range.index + range.length);\n                if (secondLength > 0) {\n                  var selectedContent = this.quillEditor.getContents(range.index + range.length, secondLength);\n                  var tempContainer = document.createElement('div')\n                  var tempQuill = new Quill(tempContainer);\n                  tempQuill.setContents(selectedContent);\n                  var text = tempContainer.querySelector('.ql-editor').innerHTML;\n\n                  this.highlightedRanges.push({ index: range.index + range.length, length: secondLength, id: generateGUID(), text });\n\n                  this.quillEditor.formatText(range.index + range.length, secondLength, 'highlights', true);\n                }\n\n              }\n              else {\n                this.highlightedRanges[overlapRange].length = (range.index + range.length) - overlapRangeOB.index;\n                this.quillEditor.formatText(this.highlightedRanges[overlapRange].index, this.highlightedRanges[overlapRange].length, 'highlights', true);\n              }\n\n            });\n          }\n          this.setHighlight();\n        }\n      }\n    },\n    setComment(index, comment) {\n      if (index == null || index == undefined || index < 0) {\n        this.selectedNote.comment = comment;\n        this.isOffcanvasOpen = false;\n        this.notes[this.notes.length - 1] = this.selectedNote;\n        this.setNotes()\n      }\n\n      if (this.notes.length > 0 && (this.notes.length - 1) >= index) {\n        this.notes[index].comment = comment;\n        this.isOffcanvasOpen = false;\n        this.setNotes()\n      }\n    },\n    removeNote(index) {\n      if (this.notes.length > 0 && index >= 0 && index < this.notes.length) {\n        const note = this.notes[index];\n\n        this.quillEditor.formatText(note.startIndex, note.endIndex, 'notes', false);\n        this.notes.splice(index, 1);\n\n        this.isOffcanvasOpen = false;\n        this.selectedNote = { comment: '' };\n        this.selectedNoteIndex = -1;\n        this.setNotes()\n\n      }\n    },\n    takeNotes: function () {\n      if (this.quillEditor) {\n        if (this.selectedRange) {\n          var range = this.quillEditor.getSelection();\n          if (range) {\n\n            let note = {\n              id: generateGUID(),\n              comment: ''\n            };\n\n            this.quillEditor.formatText(range, 'notes', true);\n\n            note.range = range;\n            note.startIndex = range.index;\n            note.endIndex = range.length;\n            note.text = this.quillEditor.getText(note.startIndex, note.endIndex);\n\n            let { condition, intersectingNote, intersectingIndex } = this.checkRangeIntersection(note);\n\n            if (!condition) {\n              this.isOffcanvasOpen = true;\n\n              this.selectedNote = { comment: '', ...note };\n              this.selectedNoteIndex = -1;\n            }\n\n            try {\n              this.notes.push(note);\n            } catch (e) {\n              this.notes = [];\n            }\n\n          }\n        }\n      }\n\n    },\n    rangesIntersect: function (range1, range2) {\n      return range1.index < range2.index + range2.length && range2.index < range1.index + range1.length;\n    },\n    checkRangeIntersection(newNote) {\n      let intersectingNote = null;\n      let intersectingIndex = -1;\n\n      for (let i = 0; i < this.notes.length; i++) {\n        const existingNote = this.notes[i];\n        if (existingNote.range && this.rangesIntersect(newNote.range, existingNote.range)) {\n          intersectingNote = existingNote;\n          intersectingIndex = i;\n          break;\n        }\n      }\n\n      return {\n        condition: intersectingNote !== null,\n        intersectingNote: intersectingNote,\n        intersectingIndex: intersectingIndex\n      };\n    },\n    toggleOffcanvas() {\n      this.isOffcanvasOpen = !this.isOffcanvasOpen;\n    },\n    setNotes() {\n      if (this.contentData && this.contentData.id) {\n        var contentAction = {\n          ContentID: this.contentData.id,\n          DataType: \"notes\",\n          Data: JSON.stringify(this.notes)\n        }\n\n        this.setUserContentAction(contentAction).then((action) => {\n        });\n      }\n    },\n    getNotes: function () {\n      this.getUserContentAction({ contentId: this.contentData.id, dataType: \"notes\" }).then((userActions) => {\n        var userAction = userActions ? userActions.find(x => x.dataType == \"notes\") : null;\n        if (userAction) {\n\n          if (this.notes && this.notes.length > 0) {\n            this.notes.forEach(note => {\n              this.quillEditor.formatText(note.startIndex, note.endIndex, 'notes', false);\n            });\n          }\n\n          if (userAction.data) {\n            let parsedData = JSON.parse(userAction.data);\n            this.notes = parsedData;\n            this.notes.forEach(note => {\n              this.quillEditor.formatText(note.startIndex, note.endIndex, 'notes', true);\n            });\n          }\n        }\n      });\n    },\n    setHighlight: function () {\n      if (this.contentData && this.contentData.id) {\n        var contentAction = {\n          ContentID: this.contentData.id,\n          DataType: \"highlights\",\n          Data: JSON.stringify(this.highlightedRanges)\n        }\n\n        this.setUserContentAction(contentAction).then((action) => {\n\n        });\n      }\n\n    },\n    getHighlights: function () {\n      this.getUserContentAction({ contentId: this.contentData.id, dataType: \"highlights\" }).then((userActions) => {\n        var userAction = userActions ? userActions.find(x => x.dataType == \"highlights\") : null;\n        if (userAction) {\n          if (this.highlightedRanges && this.highlightedRanges.length > 0) {\n            this.highlightedRanges.forEach(highlighted => {\n              this.quillEditor.formatText(highlighted.index, highlighted.length, 'highlights', false);\n            });\n          }\n          this.highlightedRanges = JSON.parse(userAction.data);\n          this.highlightedRanges.forEach(highlighted => {\n\n            this.quillEditor.formatText(highlighted.index, highlighted.length, 'highlights', true);\n          });\n        }\n      });\n    },\n    handleNotesClick(event) {\n      if (event.target.classList.contains('notes')) {\n        const notesTarget = event.currentTarget;\n        const text = notesTarget.innerText;\n        const noteIndex = this.notes.findIndex(x => x.text.includes(text));\n\n        if (noteIndex > -1) {\n          this.selectedNoteIndex = noteIndex;\n          this.selectedNote = this.notes[noteIndex];\n        }\n        \n        if (!this.isOffcanvasOpen) {\n          this.toggleOffcanvas()\n        }\n      }\n    },\n  },\n  computed: {\n  },\n  created() {\n\n  },\n  mounted() {\n    let Inline = Quill.import('blots/inline');\n\n    class NotesBlot extends Inline { }\n    NotesBlot.blotName = 'notes';\n    NotesBlot.tagName = 'notes';\n    NotesBlot.className = 'notes';\n    Quill.register(NotesBlot);\n\n    class HighlightBlot extends Inline { }\n    HighlightBlot.blotName = 'highlights';\n    HighlightBlot.tagName = 'highlights';\n    HighlightBlot.className = 'highlights';\n    Quill.register(HighlightBlot);\n\n    var options = {\n      theme: 'snow',\n      pastePlain: true,\n      readOnly: true,\n      modules: {\n        toolbar: false\n      }\n    };\n    var editor = new Quill('#editor', options);\n    var delta = editor.clipboard.convert(this.contentData.data);\n    editor.setContents(delta);\n    var self = this;\n    editor.on('selection-change', function (range, oldRange, source) {\n      if (range) {\n        self.selectedRange = range;\n      } else {\n        self.selectedRange = null;\n      }\n    });\n    this.quillEditor = editor;\n    this.getHighlights();\n    this.getNotes();\n\n  },\n  watch: {\n    $route: function () {\n      if (this.$route.query.tab && this.$route.query.tab != this.currentTab) {\n        var oldTab = this.currentTab ?? \"\";\n        var newTab = this.$route.query.tab;\n        if (oldTab.toLowerCase() == \"highlights\" && newTab.toLowerCase() == \"tableofcontents\") {\n          this.getHighlights();\n          this.getNotes();\n        }\n        this.currentTab = newTab;\n      }\n    },\n    notes: function () {\n      const notesElements = document.querySelectorAll('.notes');\n      notesElements.forEach(element => {\n        element.addEventListener('click', this.handleNotesClick);\n      });\n    }\n  },\n};\nfunction generateGUID() {\n  return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>\n    (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)\n  );\n\n}\n</script>\n\n<style scoped>\n.sidebar-content {\n  margin-top: var(--header-height);\n}\n\n.note-header {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  margin-bottom: 20px;\n  margin-right: 10px;\n}\n\n.fa-trash-alt {\n  color: red;\n  cursor: pointer;\n  font-size: 20px;\n  margin-left: 10px;\n}\n\n.modal-heading {\n  margin: 0;\n}\n\n.btn-confirm {\n  padding: 4px 10px;\n  margin-left: 7px;\n  border-radius: 7px;\n  background-color: var(--color-red);\n  color: #fff;\n  font-size: 14px;\n}\n\n.dialog-body {\n  padding: 14px 20px;\n  /* Updated padding */\n}\n\n.notes-textarea {\n  width: 100%;\n  min-height: 150px;\n  resize: vertical;\n  border-radius: 7px;\n  font-size: 14px;\n}\n\n.character-counter {\n  color: #888;\n  font-size: 12px;\n}\n\n.dialog-footer {\n  display: flex;\n  justify-content: flex-end;\n  padding: 7px 14px;\n  /* Updated padding */\n}\n\n\n\n/*.highlights */\n\n\n\n.freeText-main-content {\n  padding-right: 60px;\n}\n\n.ql-editor {\n  padding: 0px;\n}\n\n.ql-container.ql-snow {\n  border: 0px;\n}\n\n.ql-editor h2,\n.ql-editor h3 {\n    margin-bottom: 5px;\n}\n\n.ql-spanblock:after {\n  content: \"<spanblock/>\";\n}\n\n.spanblock {\n  background-color: #F8F8F8;\n  border: 1px solid #CCC;\n  line-height: 19px;\n  padding: 6px 10px;\n  border-radius: 3px;\n  margin: 15px 0;\n}\n\n.ql-container {\n  font-family: \"Open Sans\";\n  font-family: \"Circular Std\", sans-serif !important;\n}\n\n.floating-menu {\n  top: 0;\n}\n\n@media (max-width:768px){\n  .freeText-main-content {\n    padding-right: 40px;\n  }\n  .ql-snow .ql-editor h1 {\n      font-size: 1.85em;\n      margin-bottom: 10px;\n  }\n\n}\n</style>\n<style>\n.freeText-main-content .highlights {\n  background: yellow !important;\n}\n\n.freeText-main-content .highlights {\n  background: yellow !important;\n}\n\n.freeText-main-content .notes {\n  border-bottom: 1.3px solid var(--primary-color);\n  cursor: pointer;\n\n}\n\n/* .notes:after {\n  content: \"\\f040\";\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  color: var(--primary-color);\n  margin-left: 10px;\n  -webkit-font-smoothing: antialiased;\n  margin-right: 10px;\n} */\n\n.freeText-main-content .highlights {\n  background-color: yellow;\n  color: black;\n}\n\n.freeText-main-content .notes:hover {\n  background-color: var(--primary-color);\n  color: white;\n}\n\n.freeText-main-content .notes:hover {\n  background-color: var(--primary-color);\n  color: white;\n}\n\n.freeText-main-content .notes:hover:after {\n  color: white;\n}\n\n\n\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FreeText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FreeText.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FreeText.vue?vue&type=template&id=56508c66&scoped=true&\"\nimport script from \"./FreeText.vue?vue&type=script&lang=js&\"\nexport * from \"./FreeText.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FreeText.vue?vue&type=style&index=0&id=56508c66&prod&scoped=true&lang=css&\"\nimport style1 from \"./FreeText.vue?vue&type=style&index=1&id=56508c66&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"56508c66\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"p-3 col-lg-12\"},[(_vm.isNotStartedClass(this.contentData) || _vm.isActiveClass(this.contentData))?_c('div',{staticClass:\"live-class-content ongoing text-center\"},[_c('img',{staticClass:\"page-view-icon live-class-icon mb-3\",attrs:{\"src\":require(\"@/assets/images/live-class-gray-icon.svg\")}}),_c('div',{staticClass:\"text-center\"},[_c('h3',{staticClass:\"live-alert d-inline-block round\"},[_vm._v(_vm._s(_vm.contentData.title))])]),_c('h4',{staticClass:\"lcc-chapter-title mt-3 mb-4\"},[_c('strong',[_vm._v(_vm._s(this.contentData.title))])]),_c('div',{staticClass:\"lcc-time\"},[_c('div',{staticClass:\"datebox mx-auto mb-2\"},[_c('span',{staticClass:\"datebox-day\"},[_vm._v(_vm._s(_vm.getMonthDate(this.contentData.availableFrom)))]),_c('span',{staticClass:\"datebox-month\"},[_vm._v(_vm._s(_vm.getMonthName(this.contentData.availableFrom)))])]),_c('div',{staticClass:\"text-muted\"},[_vm._v(\"Starts at:\")]),_c('h5',[(_vm.contentExtraProperties)?_c('span',[_vm._v(\" \"+_vm._s(_vm.timeParser(_vm.scheduledTime))+\" \")]):_c('span',[_vm._v(\" 1 hour \")])])]),_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.isActiveClass(this.contentData))?_c('button',{staticClass:\"primary-btn lcc-join-btn btn-round mx-2\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.handleContentClick}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/video-camera-white-icon.svg\")}}),_vm._v(\" Start Class \")]):_vm._e()])]):(!_vm.isPresent(this.attendence))?_c('div',{staticClass:\"p-3 col-lg-12 live-class-content missed text-center\"},[_c('img',{staticClass:\"page-view-icon missed-class-icon mb-3\",attrs:{\"src\":require(\"@/assets/images/live-class-missed-icon.svg\")}}),_vm._m(0),_c('h4',{staticClass:\"lcc-chapter-title mt-3 mb-4\"},[_c('strong',[_vm._v(_vm._s(this.contentData.title))])]),_c('div',{staticClass:\"lcc-time\"},[_c('div',{staticClass:\"datebox mx-auto mb-2\"},[_c('span',{staticClass:\"datebox-day\"},[_vm._v(_vm._s(_vm.getMonthDate(this.contentData.availableFrom)))]),_c('span',{staticClass:\"datebox-month\"},[_vm._v(_vm._s(_vm.getMonthName(this.contentData.availableFrom)))])]),_c('div',{staticClass:\"text-muted\"},[_vm._v(\"Starts at:\")]),_c('h5',[(_vm.contentExtraProperties)?_c('span',[_vm._v(\" \"+_vm._s(_vm.timeParser(_vm.scheduledTime))+\" \")]):_c('span',[_vm._v(\" 1 hour \")])])]),(_vm.getReason)?_c('div',{staticClass:\"d-flex justify-content-center\"},[_c('div',{staticClass:\"btn-outline-primary btn-round mx-2 px-4 py-2\"},[_c('b',[_vm._v(\"Reason: \"),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.getReason))])])])]):_vm._e()]):_c('div',{staticClass:\"p-3 mt-5 col-lg-12 live-class-content present text-center\"},[_c('img',{staticClass:\"page-view-icon present-class-icon mb-3\",attrs:{\"src\":require(\"@/assets/images/live-class-present-icon.svg\")}}),_vm._m(1),_c('h4',{staticClass:\"lcc-chapter-title mt-3 mb-4\"},[_c('strong',[_vm._v(_vm._s(this.contentData.title))])]),_c('div',{staticClass:\"lcc-time-container\"},_vm._l((this.timelines),function(timeline,index){return _c('div',{key:index,staticClass:\"lcc-time\",on:{\"click\":function($event){return _vm.selectTimeline(timeline)}}},[_c('div',{staticClass:\"datebox mx-auto mb-2\"},[_c('span',{staticClass:\"datebox-day\"},[_vm._v(_vm._s(_vm.getMonthDate(timeline.startTime)))]),_c('span',{staticClass:\"datebox-month\"},[_vm._v(_vm._s(_vm.getMonthName(timeline.startTime)))])]),_c('div',{staticClass:\"text-muted\"},[_vm._v(\"Conducted at:\")]),_c('h5',[_c('span',[_vm._v(\" \"+_vm._s(_vm.timeParser(timeline.startTime))+\" \")])])])}),0),(_vm.selectedTimeline && _vm.getTotalDuration() !== 0)?_c('div',{staticClass:\"lcc-timeline w-75 mx-auto mb-4\"},[_c('div',{staticClass:\"d-flex timeline-labels-row justify-content-between align-items-center\"},[_c('div',{staticClass:\"d-flex timeline-label-start pe-3\"},[_c('b',[_vm._v(_vm._s(_vm.getFormattedTime(_vm.selectedTimeline.startTime)))])]),_c('div',{staticClass:\"d-flex timeline-labels text-black-50 justify-content-between\"},_vm._l((12),function(interval){return _c('span',{key:interval},[_vm._v(\" \"+_vm._s(_vm.getIntervalDuration(interval)))])}),0),_c('div',{staticClass:\"d-flex timeline-label-end justify-content-end ps-3\"},[_c('b',[_vm._v(_vm._s(_vm.getFormattedTime(_vm.selectedTimeline.endTime)))])])]),_c('div',{staticClass:\"round timeline-progress-row d-flex\"},_vm._l((_vm.selectedTimeline.timeline),function(item,index){return _c('div',{key:index,class:['timeline-segment', { 'offline': item.status === 'absent' },\n\t\t\t\t\t{ 'online': item.status === 'present' }, { 'gap': item.status === 'gap' }],style:({ width: _vm.getDurationByStatusPercent(item) + '%' })},[(_vm.getDurationByStatus(item) && _vm.getDurationByStatusPercent(item) > 20)?_c('div',{staticClass:\"timeline-progress-label\"},[_vm._v(_vm._s(_vm.getDurationByStatus(item)))]):_vm._e(),(_vm.getDurationByStatus(item) && _vm.getDurationByStatusPercent(item) > 10)?_c('div',{staticClass:\"timeline-progress-val\"},[_vm._v(_vm._s(_vm.getDurationByStatusPercent(item).toFixed(0) + \"%\"))]):_vm._e()])}),0)]):(!_vm.selectedTimeline)?_c('div',[_c('b',{staticClass:\"no-timeline-text\"},[_vm._v(\"No Timeline Selected\")])]):_c('div',[_c('b',{staticClass:\"no-timeline-text\"},[_vm._v(\"No Timeline\")])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{staticClass:\"mt-2 mb-1\"},[_vm._v(\"You \"),_c('span',{staticClass:\"text-warning\"},[_vm._v(\"Missed\")]),_vm._v(\" this class\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',{staticClass:\"text-center\"},[_vm._v(\"You are \"),_c('span',{staticClass:\"text-success\"},[_vm._v(\"Present\")]),_vm._v(\" in this class\")])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"p-3 col-lg-12\">\n\t\t<div v-if=\"isNotStartedClass(this.contentData) || isActiveClass(this.contentData)\"\n\t\t\tclass=\"live-class-content ongoing text-center\">\n\n\t\t\t<img class=\"page-view-icon live-class-icon mb-3\" src=\"@/assets/images/live-class-gray-icon.svg\" />\n\t\t\t<div class=\"text-center\">\n\t\t\t\t<h3 class=\"live-alert d-inline-block round\">{{ contentData.title }}</h3>\n\t\t\t</div>\n\t\t\t<h4 class=\"lcc-chapter-title mt-3 mb-4\">\n\t\t\t\t<strong>{{ this.contentData.title }}</strong>\n\t\t\t</h4>\n\t\t\t<div class=\"lcc-time\">\n\t\t\t\t<div class=\"datebox mx-auto mb-2\">\n\t\t\t\t\t<span class=\"datebox-day\">{{ getMonthDate(this.contentData.availableFrom) }}</span>\n\t\t\t\t\t<span class=\"datebox-month\">{{ getMonthName(this.contentData.availableFrom) }}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"text-muted\">Starts at:</div>\n\t\t\t\t<h5>\n\t\t\t\t\t<span v-if=\"contentExtraProperties\">\n\t\t\t\t\t\t{{ timeParser(scheduledTime) }}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span v-else> 1 hour </span>\n\t\t\t\t</h5>\n\t\t\t</div>\n\t\t\t<div class=\"d-flex justify-content-center\">\n\t\t\t\t<button v-if=\"isActiveClass(this.contentData)\" @click=\"handleContentClick\" type=\"button\"\n\t\t\t\t\tclass=\"primary-btn lcc-join-btn btn-round mx-2\">\n\t\t\t\t\t<img class=\"\" src=\"@/assets/images/video-camera-white-icon.svg\" />\n\t\t\t\t\tStart Class\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div><!-- ongoing -->\n\n\n\t\t<div v-else-if=\"!isPresent(this.attendence)\" class=\"p-3 col-lg-12 live-class-content missed text-center\">\n\t\t\t<img class=\"page-view-icon missed-class-icon mb-3\" src=\"@/assets/images/live-class-missed-icon.svg\" />\n\n\t\t\t<h2 class=\"mt-2 mb-1\">You <span class=\"text-warning\">Missed</span> this class</h2>\n\n\t\t\t<h4 class=\"lcc-chapter-title mt-3 mb-4\">\n\t\t\t\t<strong>{{ this.contentData.title }}</strong>\n\t\t\t</h4>\n\t\t\t<div class=\"lcc-time\">\n\t\t\t\t<div class=\"datebox mx-auto mb-2\">\n\t\t\t\t\t<span class=\"datebox-day\">{{ getMonthDate(this.contentData.availableFrom) }}</span>\n\t\t\t\t\t<span class=\"datebox-month\">{{ getMonthName(this.contentData.availableFrom) }}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"text-muted\">Starts at:</div>\n\t\t\t\t<h5>\n\t\t\t\t\t<span v-if=\"contentExtraProperties\">\n\t\t\t\t\t\t{{ timeParser(scheduledTime) }}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span v-else> 1 hour </span>\n\t\t\t\t</h5>\n\t\t\t</div>\n\t\t\t<div v-if=\"getReason\" class=\"d-flex justify-content-center\">\n\t\t\t\t<div class=\"btn-outline-primary btn-round mx-2 px-4 py-2\">\n\t\t\t\t\t<b>Reason: <span class=\"text-danger\">{{ getReason }}</span></b>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div><!-- missed -->\n\n\n\t\t<div v-else class=\"p-3 mt-5 col-lg-12 live-class-content present text-center\">\n\t\t\t<img class=\"page-view-icon present-class-icon mb-3\" src=\"@/assets/images/live-class-present-icon.svg\" />\n\n\t\t\t<h2 class=\"text-center\">You are <span class=\"text-success\">Present</span> in this class</h2>\n\n\t\t\t<h4 class=\"lcc-chapter-title mt-3 mb-4\">\n\t\t\t\t<strong>{{ this.contentData.title }}</strong>\n\t\t\t</h4>\n\t\t\t<div class=\"lcc-time-container\">\n\t\t\t\t<div v-for=\"(timeline, index) in this.timelines\" :key=\"index\" class=\"lcc-time\"\n\t\t\t\t\t@click=\"selectTimeline(timeline)\">\n\t\t\t\t\t<div class=\"datebox mx-auto mb-2\">\n\t\t\t\t\t\t<span class=\"datebox-day\">{{ getMonthDate(timeline.startTime) }}</span>\n\t\t\t\t\t\t<span class=\"datebox-month\">{{ getMonthName(timeline.startTime) }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"text-muted\">Conducted at:</div>\n\t\t\t\t\t<h5>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{{ timeParser(timeline.startTime) }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</h5>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-if=\"selectedTimeline && getTotalDuration() !== 0\" class=\"lcc-timeline w-75 mx-auto mb-4\">\n\t\t\t\t<div class=\"d-flex timeline-labels-row justify-content-between align-items-center\">\n\t\t\t\t\t<div class=\"d-flex timeline-label-start pe-3\"> <b>{{ getFormattedTime(selectedTimeline.startTime) }}</b>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"d-flex timeline-labels text-black-50 justify-content-between\">\n\t\t\t\t\t\t<span v-for=\"interval in 12\" :key=\"interval\"> {{ getIntervalDuration(interval) }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"d-flex timeline-label-end justify-content-end ps-3\"><b>{{\n\t\t\t\t\t\tgetFormattedTime(selectedTimeline.endTime) }}</b>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"round timeline-progress-row d-flex\">\n\t\t\t\t\t<div v-for=\"(item, index) in selectedTimeline.timeline\" :key=\"index\" :class=\"['timeline-segment', { 'offline': item.status === 'absent' },\n\t\t\t\t\t\t{ 'online': item.status === 'present' }, { 'gap': item.status === 'gap' }]\"\n\t\t\t\t\t\t:style=\"{ width: getDurationByStatusPercent(item) + '%' }\">\n\n\t\t\t\t\t\t<div v-if=\"getDurationByStatus(item) && getDurationByStatusPercent(item) > 20\"\n\t\t\t\t\t\t\tclass=\"timeline-progress-label\">{{ getDurationByStatus(item) }}</div>\n\t\t\t\t\t\t<div v-if=\"getDurationByStatus(item) && getDurationByStatusPercent(item) > 10\"\n\t\t\t\t\t\t\tclass=\"timeline-progress-val\">{{ getDurationByStatusPercent(item).toFixed(0) + \"%\" }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-else-if=\"!selectedTimeline\">\n\t\t\t\t<b class=\"no-timeline-text\">No Timeline Selected</b>\n\t\t\t</div>\n\t\t\t<div v-else>\n\t\t\t\t<b class=\"no-timeline-text\">No Timeline</b>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n</template>\n\n<script>\n\nimport { mapState, mapActions } from \"vuex\";\nimport { getCookie } from \"../../../helpers/CookieHelpers\";\n\nimport {\n\ttoShortDateString,\n\tgetTimeIn12Hours,\n\tgetInputDateFormat\n} from \"../../../helpers/FormatHelpers\";\nexport default {\n\tname: \"LiveClass\",\n\tdata() {\n\t\treturn {\n\t\t\tattendence: null,\n\t\t\tattendenceList: [],\n\t\t\ttimelines: [],\n\t\t\tselectedTimeline: null,\n\t\t}\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"fetchSingleLiveClassAttendance\"]),\n\n\t\ttimeParser(date) {\n\t\t\treturn getTimeIn12Hours(date);\n\t\t},\n\t\tdateParser(date) {\n\t\t\treturn toShortDateString(date);\n\t\t},\n\t\thandleContentClick() {\n\t\t\tthis.$router.push(this.contentLink);\n\t\t},\n\t\tgetMonthDate(dateString) {\n\t\t\treturn new Date(dateString).getDate()\n\t\t},\n\t\tgetMonthName(dateString) {\n\t\t\tconst dateObj = new Date(dateString);\n\t\t\tconst monthIndex = dateObj.getMonth();\n\n\t\t\tconst monthNames = [\n\t\t\t\t'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n\t\t\t\t'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\n\t\t\t];\n\n\t\t\treturn monthNames[monthIndex];\n\t\t},\n\t\tisActiveClass(liveClass) {\n\t\t\tvar currentDate = new Date();\n\n\t\t\tconst start = new Date(liveClass.availableFrom)\n\t\t\tconst end = new Date(liveClass.availableTo)\n\n\t\t\treturn currentDate > start && currentDate < end\n\t\t},\n\t\tisNotStartedClass(liveClass) {\n\t\t\tvar currentDate = new Date();\n\n\t\t\tconst start = new Date(liveClass.availableFrom)\n\n\t\t\treturn currentDate < start;\n\t\t},\n\t\tisPresent(attendence) {\n\t\t\tif (!attendence) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn attendence.status && attendence.status.toLowerCase() === 'present';\n\t\t},\n\t\tgetLiveClassAttendenceReport() {\n\t\t\tif (this.$route.params.id != null) {\n\n\t\t\t\tthis.fetchSingleLiveClassAttendance({\n\t\t\t\t\tcontentId: this.contentData.id,\n\t\t\t\t\tuserId: this.user.id\n\t\t\t\t})\n\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\tif (data.length > 0) {\n\t\t\t\t\t\t\tdata.sort((a, b) => new Date(a.timeIn) - new Date(b.timeIn));\n\t\t\t\t\t\t\tthis.attendenceList = [...data];\n\t\t\t\t\t\t\tthis.attendence = data[data.length - 1];\n\n\n\t\t\t\t\t\t\tif (!(this.isNotStartedClass(this.contentData)\n\t\t\t\t\t\t\t\t|| this.isActiveClass(this.contentData))\n\t\t\t\t\t\t\t\t&& !this.isPresent(this.attendance)) {\n\t\t\t\t\t\t\t\tthis.manageAttendenceProgress()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetFormattedTime(time) {\n\n\t\t\tlet formattedTime = time.toLocaleString('en-US', {\n\t\t\t\thour: 'numeric',\n\t\t\t\tminute: 'numeric',\n\t\t\t\thour12: true\n\t\t\t});\n\n\t\t\treturn formattedTime;\n\t\t},\n\n\n\t\tgetTotalDuration() {\n\t\t\tconst seconds = this.getDateTimeToSeconds(\n\t\t\t\tthis.selectedTimeline.startTime,\n\t\t\t\tthis.selectedTimeline.endTime\n\t\t\t);\n\n\t\t\treturn seconds;\n\t\t},\n\n\t\tgetDateTimeToSeconds(startTime, endTime) {\n\t\t\tconst durationInMillis = endTime - startTime;\n\t\t\tconst durationInSeconds = Math.floor(durationInMillis / 1000);\n\t\t\treturn durationInSeconds;\n\t\t},\n\n\t\tgetIntervalDuration(intervalNumber) {\n\t\t\tconst totalDuration = this.getTotalDuration();\n\t\t\tconst intervalCount = 12;\n\t\t\tconst intervalDuration = totalDuration / intervalCount;\n\t\t\tlet currentDuration = 0;\n\n\t\t\tfor (let i = 0; i < intervalNumber; i++) {\n\t\t\t\tcurrentDuration += intervalDuration\n\t\t\t}\n\n\t\t\tconst currentDurationInMinutes = currentDuration / 60;\n\t\t\treturn currentDurationInMinutes.toFixed(0);\n\t\t},\n\n\t\tmanageAttendenceProgress() {\n\t\t\tlet startTime = new Date(this.contentData.availableFrom);\n\t\t\tlet endTime = new Date(this.contentData.availableTo);\n\n\t\t\tlet updatedAttendenceList = [];\n\t\t\tlet meetingHostGaps = this.calculateTimeGaps(); // List\n\n\t\t\tlet previousTimeOut = startTime;\n\n\t\t\tthis.attendenceList.forEach((attendance, index) => {\n\t\t\t\tlet timeIn = new Date(new Date(attendance.timeIn).toLocaleString());\n\t\t\t\tlet timeOut = new Date(new Date(attendance.timeOut).toLocaleString());\n\n\t\t\t\tif (!attendance.timeOut) {\n\t\t\t\t\tfor (let i = index + 1; i < this.attendenceList.length; i++) {\n\t\t\t\t\t\tconst nextTimeIn = this.attendenceList[i].timeIn;\n\t\t\t\t\t\tif (nextTimeIn) {\n\t\t\t\t\t\t\ttimeOut = new Date(new Date(this.attendenceList[i].timeIn).toLocaleString());\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (timeIn > previousTimeOut) {\n\t\t\t\t\tlet absentEntry = {\n\t\t\t\t\t\tstatus: 'absent',\n\t\t\t\t\t\tduration: ((timeIn - previousTimeOut) / 1000),\n\t\t\t\t\t\ttimeIn: previousTimeOut.toISOString(),\n\t\t\t\t\t\ttimeOut: timeIn.toISOString(),\n\t\t\t\t\t};\n\n\t\t\t\t\tif (absentEntry.duration < 60) {\n\t\t\t\t\t\tupdatedAttendenceList.push(absentEntry);\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tif (attendance.duration !== 0) {\n\t\t\t\t\tupdatedAttendenceList.push(attendance);\n\t\t\t\t\tpreviousTimeOut = timeOut;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (previousTimeOut < endTime) {\n\t\t\t\tlet absentEntry = {\n\t\t\t\t\tstatus: 'absent',\n\t\t\t\t\tduration: ((endTime - previousTimeOut) / 1000),\n\t\t\t\t\ttimeIn: previousTimeOut.toISOString(),\n\t\t\t\t\ttimeOut: endTime.toISOString(),\n\t\t\t\t};\n\n\t\t\t\tupdatedAttendenceList.push(absentEntry);\n\n\t\t\t}\n\t\t\tlet sortedList = [...updatedAttendenceList, ...meetingHostGaps];\n\t\t\tsortedList.sort((a, b) => new Date(a.timeIn) - new Date(b.timeIn));\n\n\t\t\tlet mergedList = this.mergeSameStatuses([...sortedList])\n\n\t\t\tthis.timelines = this.createTimelines([...mergedList])\n\n\t\t\tthis.attendenceList = [...mergedList];\n\t\t},\n\n\t\tmergeSameStatuses(newList) {\n\t\t\tlet mergedList = [];\n\n\t\t\tlet currentIndex = 0;\n\t\t\twhile (currentIndex < newList.length) {\n\t\t\t\tconst currentStatus = newList[currentIndex].status;\n\t\t\t\tlet mergedItem = { ...newList[currentIndex] };\n\n\t\t\t\twhile (currentIndex + 1 < newList.length && newList[currentIndex + 1].status === currentStatus) {\n\t\t\t\t\tcurrentIndex++;\n\t\t\t\t\tmergedItem.timeOut = newList[currentIndex].timeOut;\n\t\t\t\t\tmergedItem.duration = (mergedItem.duration || 0) + (newList[currentIndex].duration || 0);\n\t\t\t\t}\n\n\t\t\t\tmergedList.push(mergedItem);\n\n\t\t\t\tcurrentIndex++;\n\t\t\t}\n\n\t\t\tmergedList.sort((a, b) => new Date(a.timeIn) - new Date(b.timeIn));\n\n\t\t\treturn mergedList;\n\t\t},\n\n\n\t\tcalculateTimeGaps() {\n\t\t\tlet meetings = this.contentData.extraProperties.MeetingIntervals || {};\n\n\t\t\tconst sortedMeetings = Object.entries(meetings)\n\t\t\t\t.map(([id, meeting]) => ({ id, ...meeting }))\n\t\t\t\t.sort((a, b) => new Date(a.Starts_At) - new Date(b.Starts_At));\n\n\t\t\tconst gapDetails = [];\n\t\t\tif (sortedMeetings.length > 0) {\n\t\t\t\tfor (let i = 1; i < sortedMeetings.length; i++) {\n\t\t\t\t\tconst prevMeetingEnd = new Date(sortedMeetings[i - 1].Ends_At);\n\t\t\t\t\tconst currentMeetingStart = new Date(sortedMeetings[i].Starts_At);\n\n\t\t\t\t\tif (currentMeetingStart > prevMeetingEnd) {\n\t\t\t\t\t\tlet timeIn = new Date(prevMeetingEnd);\n\t\t\t\t\t\tlet timeOut = new Date(currentMeetingStart);\n\n\t\t\t\t\t\tgapDetails.push({\n\t\t\t\t\t\t\tstatus: 'gap',\n\t\t\t\t\t\t\tduration: ((timeOut - timeIn) / 1000), // Convert milliseconds to seconds\n\t\t\t\t\t\t\ttimeIn: timeIn,\n\t\t\t\t\t\t\ttimeOut: timeOut,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn gapDetails;\n\t\t},\n\n\t\tcreateTimelines(mergedList) {\n\t\t\tconst timelines = [];\n\t\t\tlet currentTimeline = [];\n\n\t\t\tfor (let i = 0; i < mergedList.length; i++) {\n\t\t\t\tconst currentItem = mergedList[i];\n\n\t\t\t\tif (currentItem.status === 'gap') {\n\t\t\t\t\tif (currentTimeline.length > 0) {\n\t\t\t\t\t\ttimelines.push([...currentTimeline]);\n\t\t\t\t\t\tcurrentTimeline = [];\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcurrentTimeline.push(currentItem);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If there are items left in the current timeline, add it to the timelines array\n\t\t\tif (currentTimeline.length > 0) {\n\t\t\t\ttimelines.push(currentTimeline);\n\t\t\t}\n\n\t\t\t// Update timeOut for the last item in each timeline\n\t\t\ttimelines.forEach(timeline => {\n\t\t\t\tconst lastItem = timeline[timeline.length - 1];\n\t\t\t\tif (lastItem && lastItem.timeIn && lastItem.endTime) {\n\t\t\t\t\tconst endTime = new Date(lastItem.endTime);\n\t\t\t\t\tif (lastItem.timeOut && new Date(lastItem.timeOut) < endTime) {\n\t\t\t\t\t\tlastItem.timeOut = endTime.toISOString();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// Convert timelines to the desired format\n\t\t\tlet formattedTimelines = timelines.map(timeline => {\n\t\t\t\tlet totalDuration = 0;\n\t\t\t\ttimeline.forEach(item => totalDuration += item.duration);\n\n\t\t\t\tlet startTime = new Date(timeline[0].timeIn);\n\t\t\t\tlet endTime = new Date(timeline[timeline.length - 1].timeOut);\n\n\t\t\t\tconst totalDurationByTime = this.getDateTimeToSeconds(startTime, endTime);\n\n\t\t\t\tif (totalDuration < totalDurationByTime) {\n\t\t\t\t\tconst missingDuration = totalDurationByTime - totalDuration;\n\n\t\t\t\t\tif (timeline[timeline.length - 1].status !== 'absent') {\n\t\t\t\t\t\ttimeline.push({\n\t\t\t\t\t\t\tstatus: 'absent',\n\t\t\t\t\t\t\tduration: missingDuration,\n\t\t\t\t\t\t\ttimeIn: new Date(endTime.getTime() - missingDuration * 1000).toISOString(),\n\t\t\t\t\t\t\ttimeOut: endTime.toISOString(),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\ttimeline[timeline.length - 1].duration += missingDuration\n\t\t\t\t\t\ttimeline[timeline.length - 1].timeIn =\n\t\t\t\t\t\t\tnew Date(endTime.getTime() - timeline[timeline.length - 1].duration * 1000).toISOString();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tstartTime: startTime,\n\t\t\t\t\tendTime: endTime,\n\t\t\t\t\ttimeline: timeline\n\t\t\t\t};\n\t\t\t});\n\n\n\t\t\tif (formattedTimelines.length > 0) {\n\t\t\t\tthis.selectTimeline(formattedTimelines[0]);\n\t\t\t}\n\n\t\t\treturn formattedTimelines;\n\t\t},\n\n\n\n\t\tselectTimeline(timeline) {\n\t\t\tthis.selectedTimeline = timeline\n\t\t},\n\n\t\tgetDurationByStatus(attendance) {\n\t\t\tif (attendance) {\n\t\t\t\tif (attendance.status === 'present') {\n\t\t\t\t\treturn 'online';\n\t\t\t\t} else if (attendance.status === 'absent') {\n\t\t\t\t\treturn 'offline';\n\t\t\t\t}\n\t\t\t\telse if (attendance.status === 'gap') {\n\t\t\t\t\treturn 'gap';\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn '';\n\t\t},\n\n\t\tgetDurationByStatusPercent(attendance) {\n\t\t\tconst percent = (attendance.duration / this.getTotalDuration()) * 100;\n\t\t\treturn percent;\n\t\t}\n\t},\n\tprops: {\n\t\tcontentData: Object,\n\t\tproductVariantData: Object,\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"loggedIn\", \"user\"]),\n\n\t\tgetReason() {\n\t\t\tconst attendence = this.attendence;\n\n\t\t\tif (!attendence) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst { reason } = attendence;\n\t\t\tif (reason && reason.trim() !== '') {\n\t\t\t\treturn reason.trim();\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t\tcontentLink() {\n\n\t\t\treturn {\n\t\t\t\tpath:\n\t\t\t\t\t\"/content/liveclass/\" +\n\t\t\t\t\tthis.contentData.title\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\"-\" +\n\t\t\t\t\tthis.contentData.id +\n\t\t\t\t\t\"_\" +\n\t\t\t\t\tthis.$route.params.id,\n\t\t\t};\n\n\t\t},\n\t\tcontentExtraProperties() {\n\t\t\tif (this.contentData.extraProperties) return this.contentData.extraProperties;\n\t\t\telse return null;\n\t\t},\n\n\t\tscheduledTime() {\n\t\t\tlet intervals = this.contentExtraProperties.MeetingIntervals;\n\n\t\t\tif (intervals) {\n\t\t\t\tlet keys = Object.keys(intervals);\n\t\t\t\treturn intervals[keys[0]].Starts_At\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn this.contentExtraProperties.Start_Time\n\t\t\t}\n\t\t},\n\n\t\tisDisabled() {\n\t\t\treturn (\n\t\t\t\t(getInputDateFormat(new Date(this.contentData.availableFrom)) !=\n\t\t\t\t\tgetInputDateFormat(new Date())) ||\n\t\t\t\t(new Date(this.contentData.availableFrom) > new Date())\n\t\t\t);\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.getLiveClassAttendenceReport();\n\t},\n\tcreated() {\n\t},\n};\n</script>\n\n<style scoped>\n.no-timeline-text {\n\tfont-size: 18px;\n\tfont-weight: bold;\n\ttext-align: center;\n\tcolor: var(--color-red);\n\tpadding: 10px 25px;\n\tbackground-color: #f7f7f7;\n\tborder-radius: 5px;\n\tbox-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);\n\tmargin-right: 15px;\n}\n\n.live-alert {\n\tborder: solid 2px var(--primary-color);\n\tcolor: var(--primary-color);\n\tpadding: 6px 20px;\n\tfont-size: 1.35rem;\n}\n\n.live-class-content .page-view-icon {\n\twidth: 48px;\n\theight: auto;\n\tmargin-right: 0px;\n}\n\n.live-class-content .missed-class-icon,\n.live-class-content .present-class-icon {\n\twidth: 60px;\n}\n\n.lcc-time-container {\n\tdisplay: inline-flex;\n}\n\n.lcc-time {\n\tmargin: 30px 0 20px;\n\tmargin-right: 15px;\n}\n\n.lcc-join-btn {\n\tpadding: 10px 30px;\n}\n\n.lcc-join-btn img {\n\twidth: 22px;\n\tmargin: -2px 4px 0 0;\n}\n\n.LiveClass .text-warning {\n\tcolor: #FEAA00 !important;\n}\n\n.LiveClass .text-success {\n\tcolor: #34D8A4 !important;\n}\n\n\n@media (min-width: 1200px) {\n\n\t.h4,\n\th4 {\n\t\tfont-size: 1.35rem;\n\t}\n}\n\n.timeline-progress-row {\n\tbackground-color: #f2f2f2;\n\tcolumn-gap: 3px;\n\tpadding: 10px 12px;\n\tmargin-top: 10px;\n\twidth: calc(100% - 20px);\n\tmargin-left: 10px;\n}\n\n.timeline-label-start,\n.timeline-label-end {\n\tline-height: 1.1;\n\tfont-size: 0.95rem;\n}\n\n.timeline-labels {\n\tfont-size: 0.825rem;\n\tflex-grow: 1;\n\tposition: relative;\n}\n\n.timeline-labels:before {\n\tcontent: '';\n\tposition: absolute;\n\ttop: 48%;\n\twidth: 100%;\n\theight: 1px;\n\tz-index: -1;\n\tborder-top: solid 1px var(--border-color);\n}\n\n.timeline-labels>span {\n\tbackground-color: white;\n\tdisplay: inline-block;\n\tpadding: 0 4px;\n}\n\n.timeline-segment {\n\theight: 26px;\n\talign-items: center;\n\tcolor: white;\n\tfont-size: 0.85rem;\n\toverflow: hidden;\n\tbackground-color: black;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tpadding: 2px 5px 2px 8px;\n\tborder-radius: 5px;\n}\n\n.timeline-segment.offline {\n\tbackground-color: var(--primary-color);\n}\n\n.timeline-segment.online {\n\tbackground-color: var(--live-class-success);\n}\n\n.timeline-segment.gap {\n\tborder: 1px solid black;\n\tcolor: black;\n\tbackground-color: transparent;\n}\n\n.timeline-progress-val {\n\tpadding: 0 3px 0 5px;\n\tborder-radius: 40px;\n\tbackground-color: rgba(0, 0, 0, 0.17);\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}</style>","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LiveClass.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LiveClass.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LiveClass.vue?vue&type=template&id=1c95549d&scoped=true&\"\nimport script from \"./LiveClass.vue?vue&type=script&lang=js&\"\nexport * from \"./LiveClass.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LiveClass.vue?vue&type=style&index=0&id=1c95549d&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1c95549d\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"video-container\"},[(_vm.contentData && _vm.contentData.data && _vm.contentData.data.status && _vm.contentData.data.status.toLowerCase() == 'processing')?_c('div',{staticClass:\"video-processing\"},[_c('i',{staticClass:\"fas fa-cogs\"}),_vm._v(\" Video is currently processing. The video will be available soon... \")]):_vm._e(),(_vm.contentData && _vm.contentData.data && _vm.contentData.data.status && _vm.contentData.data.status.toLowerCase() == 'notuploaded')?_c('div',{staticClass:\"video-processing\"},[_c('i',{staticClass:\"fas fa-exclamation-triangle\"}),_vm._v(\" The video is either corrupted or incorrectly uploaded. Please inform your trainer or the administrator. \")]):(_vm.contentData && _vm.contentData.data && (_vm.contentData.data.viewUrl || _vm.contentData.data.url))?_c('iframe',{staticClass:\"video-player\",attrs:{\"allow\":\"encrypted-media; fullscreen\",\"src\":_vm.viewUrl}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t\t<div class=\"video-container\">\n\t\t\t\n\t\t\t<div\n\t\t\t\tv-if=\"contentData && contentData.data && contentData.data.status && contentData.data.status.toLowerCase() == 'processing'\"\n\t\t\t\tclass=\"video-processing\"\n\t\t\t>\n\t\t\t\t<i class=\"fas fa-cogs\"></i>\n\t\t\t\tVideo is currently processing. The video will be available soon...\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tv-if=\"contentData && contentData.data && contentData.data.status && contentData.data.status.toLowerCase() == 'notuploaded'\"\n\t\t\t\tclass=\"video-processing\"\n\t\t\t>\n\t\t\t\t<i class=\"fas fa-exclamation-triangle\"></i>\n\t\t\t\tThe video is either corrupted or incorrectly uploaded. Please inform\n\t\t\t\tyour trainer or the administrator.\n\t\t\t</div>\n\t\t\t<iframe\n\t\t\t\tallow=\"encrypted-media; fullscreen\"\n\t\t\t\tv-else-if=\"contentData && contentData.data && (contentData.data.viewUrl || contentData.data.url)\"\n\t\t\t\t:src=\"viewUrl\"\n\t\t\t\tclass=\"video-player\"\n\t\t\t></iframe>\n\t\t</div>\n</template>\n\n<script>\n import { mapActions, mapMutations, mapState } from 'vuex';\n\nexport default {\n\tname: \"RecordedVideo\",\n\tdata() {\n\t\treturn {\n\t\t\tended: false,\n\t\t\tisCompleted: false,\n\t\t}\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"setUserContentAction\",\"getUserContentAction\",\"updateAction\"]),\n\t\t...mapActions(\"productVariant\", [\"getProductVariantProgress\"]),\n\n\t// \tmarkCompleted(isCompleted) {\n    //   if (this.contentData.id) {\n    //     var contentAction = {\n    //       ContentID: this.contentData.id,\n    //       DataType: \"completionStatus\",\n    //       Data: isCompleted ? \"completed\" : \"uncompleted\"\n    //     }\n\t\t\n    //     this.setUserContentAction(contentAction).then((action) => {\n    //       if (action && action.dataType && action.dataType.toLowerCase() == \"completionstatus\") {\n\t\t\t\n\t// \t\tthis.isCompleted = action.data === 'completed';\n\t// \t\tthis.updateAction(action);\n\n    //         this.getProductVariantProgress(this.$route.params.id);\n    //       }\n\n    //     });\n    //   }\n    // },\n\tcheckVideoEndedEvent(event){\n\t\tlet ended = event && event.data && event.data.data && event.data.data.ended;\n\t\tif(ended){\n\t\t\tconsole.log(\"Video Ended: \"+ended)\n\t\t}\n\t\treturn ended\n\t},\n\tgetCompletedStatus(){\n\t\t\t\tif(this.contentData.id)\n\t\t\t\t{\n\t\t\t\t\tthis.getUserContentAction({contentId: this.contentData.id, dataType:\"completionStatus\"}).then((userActions)=>{\n\t\t\t\t\t\tvar userAction = userActions?userActions.find(x=>x.dataType==\"completionStatus\"):null;\n\t\t\t\t\t\tif(userAction)\n\t\t\t\t\t\t{\n              \t\t\t\tthis.isCompleted = userAction.data === 'completed';\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\n\t},\n\tprops: {\n\t\tcontentData: Object,\n\t},\n\twatch:{\n\t\tended: function(){\n\t\t\t// if(this.ended && !this.isCompleted){\n\t\t\t// \tthis.markCompleted(this.ended)\n\t\t\t// }\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"contentActions\"]),\n\t\tviewUrl(){\n\t\t\tif(this.contentData && this.contentData.externalService && this.contentData.externalService.serviceProvider && this.contentData.externalService.serviceProvider.toLowerCase() == 'youtube')\n\t\t\t{\n\t\t\t\treturn this.contentData.data.url;\n\t\t\t}\n\t\t\t\n\t\t\tvar lastPlaybackTimeInSeconds = (this.contentActions && this.contentActions[this.contentData.id])?\n\t\t\tthis.contentActions[this.contentData.id].find(x=>x.dataType.toLowerCase()==\"lastplaybacktimeinseconds\"):\n\t\t\tnull;\n\t\t\tif(lastPlaybackTimeInSeconds)\n\t\t\t{\n\t\t\t\treturn this.contentData.data.viewUrl+`&playback=`+lastPlaybackTimeInSeconds?.data;\n\t\t\t}\n\t\t\treturn this.contentData.data.viewUrl;\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.getCompletedStatus();\n\n\t\tvar self=this;\n\t\twindow.addEventListener(\"message\", \n\t\tfunction (event) {\n\t\t\tself.ended = self.checkVideoEndedEvent(event)\n\n\t\t}, false);\n\t},\n};\n</script>\n\n<style scoped>\n.video-container {\n\tdisplay: flex;\n\theight:100%;\n}\n\n.video-player {\n\twidth: 100%;\n}\n\n.video-processing {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tflex-direction: column;\n\twidth: 100%;\n\tbackground-color: #fafafa;\n\tfont-size: 1.5rem;\n\tfont-weight: 500;\n\tcolor: #999;\n\trow-gap: 1rem;\n\tpadding: 0 1rem;\n\ttext-align: center;\n}\n\n.video-processing .fas {\n\tfont-size: 3rem;\n}\n\n\n\n@media (max-width:768px){\n\n\t.video-container{\n\t\theight: calc(100vh - 248px);\n\t\tbackground-color: #000;\n\t}\n\t\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RecordedVideo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RecordedVideo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RecordedVideo.vue?vue&type=template&id=4a4f91e4&scoped=true&\"\nimport script from \"./RecordedVideo.vue?vue&type=script&lang=js&\"\nexport * from \"./RecordedVideo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RecordedVideo.vue?vue&type=style&index=0&id=4a4f91e4&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4a4f91e4\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"study-material-div\"},[(_vm.isContentTypeLink)?_c('div',{staticClass:\"download-btn-div ms-3 mt-3\"},[_c('a',{staticClass:\"btn btn-primary\",attrs:{\"target\":\"_blank\",\"href\":_vm.contentData.data.Source}},[_vm._v(\"Click to View Content\")])]):_c('div',{staticClass:\"row\",staticStyle:{\"height\":\"inherit\"},attrs:{\"id\":\"document-div\"}},[(_vm.isPDFLoading)?_c('h4',{staticClass:\"px-4 py-3\",staticStyle:{\"position\":\"absolute\",\"z-index\":\"-1\"}},[_vm._v(\"Loading document, please wait...\")]):_vm._e(),(_vm.type == 'pdf' && _vm.PDFJSViewerUrl && (_vm.isMobile || !_vm.isDownloadAllowed))?_c('iframe',{attrs:{\"id\":\"no-click\",\"src\":_vm.PDFJSViewerUrl,\"frameborder\":\"0\",\"width\":\"100%\",\"height\":\"100%\",\"tabindex\":\"1\",\"sandbox\":\"allow-scripts allow-same-origin allow-forms\"},on:{\"change\":_vm.hideShare,\"loadeddata\":_vm.hideShare,\"contextmenu\":_vm.disableRightClick,\"load\":_vm.iframeLoadEvent}}):(_vm.type == 'pdf' && !_vm.isDownloadAllowed && _vm.pdfJsExpressApiKey && !_vm.isMobile)?_c('PDFExpressViewer',{attrs:{\"path\":(_vm.publicPath + \"lib\"),\"url\":_vm.iframeLink,\"apiKey\":_vm.pdfJsExpressApiKey}}):(_vm.type == 'pdf' && _vm.isDownloadAllowed && !_vm.isMobile)?_c('embed',{attrs:{\"id\":\"no-click\",\"src\":(_vm.iframeLink + \"#embedded=true&navpanes=0\"),\"frameborder\":\"0\",\"navpanes\":\"0\",\"width\":\"100%\",\"height\":\"100%\"}}):(_vm.type == 'pdf' && _vm.isDownloadAllowed && _vm.isMobile && _vm.AdobePDFReaderAPIKey)?_c('AdobePDFViewer',{attrs:{\"apiKey\":_vm.AdobePDFReaderAPIKey,\"source\":_vm.src,\"fileName\":_vm.contentData.title}}):_c('iframe',{attrs:{\"id\":\"no-click\",\"src\":_vm.iframeLink,\"frameborder\":\"0\",\"width\":\"100%\",\"height\":\"100%\",\"tabindex\":\"1\",\"sandbox\":\"allow-scripts allow-same-origin allow-forms\"},on:{\"change\":_vm.hideShare,\"loadeddata\":_vm.hideShare,\"contextmenu\":_vm.disableRightClick,\"load\":_vm.iframeLoadEvent}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"study-material-div\">\n      \n      <div class=\"download-btn-div ms-3 mt-3\" v-if=\"isContentTypeLink\">\n        <a class=\"btn btn-primary\" target=\"_blank\" :href=\"contentData.data.Source\">Click to View Content</a>\n      </div>\n\n      <div v-else id=\"document-div\" class=\"row\" style=\"height: inherit;\" >\n        <h4 v-if=\"isPDFLoading\" style=\"position: absolute;z-index: -1;\" class=\"px-4 py-3\">Loading document, please wait...</h4>\n\n        <!--\n          PDFJS Viewer will be shown inside iFrame when downloadAllowed is either false\n          or user is using through mobile\n        -->\n        <iframe v-if=\"type == 'pdf' && PDFJSViewerUrl && (isMobile || !isDownloadAllowed)\" @change=\"hideShare\" @loadeddata=\"hideShare\" id=\"no-click\" :src=\"PDFJSViewerUrl\" frameborder=\"0\"\n                width=\"100%\" height=\"100%\" @contextmenu=\"disableRightClick\" tabindex=\"1\" @load=\"iframeLoadEvent\"\n                sandbox=\"allow-scripts allow-same-origin allow-forms\"></iframe>\n\n        <PDFExpressViewer v-else-if=\"type == 'pdf' && !isDownloadAllowed && pdfJsExpressApiKey && !isMobile\"\n          :path=\"`${publicPath}lib`\" :url=\"iframeLink\" :apiKey=\"pdfJsExpressApiKey\" />\n\n        <embed id=\"no-click\" v-else-if=\"type == 'pdf' && isDownloadAllowed && !isMobile\"\n          :src=\"`${iframeLink}#embedded=true&navpanes=0`\" frameborder=\"0\" navpanes=\"0\" width=\"100%\"\n          height=\"100%\" />\n\n        <AdobePDFViewer v-else-if=\"type == 'pdf' && isDownloadAllowed && isMobile && AdobePDFReaderAPIKey\" :apiKey=\"AdobePDFReaderAPIKey\" :source=\"src\" :fileName=\"contentData.title\"  />\n\n        <!--\n          Following iFrame will be used for non-PDF docs.\n          Or, it will be used as fallback if AllowDownload of PDF is set to false\n          and PDFExpress/AdobeViewer/PDFJSViewer none of them are configured for current tenant\n        -->\n        <iframe v-else @change=\"hideShare\" @loadeddata=\"hideShare\" id=\"no-click\" :src=\"iframeLink\" frameborder=\"0\"\n          width=\"100%\" height=\"100%\" @contextmenu=\"disableRightClick\" tabindex=\"1\" @load=\"iframeLoadEvent\"\n          sandbox=\"allow-scripts allow-same-origin allow-forms\"></iframe>\n\n      </div>\n      <!--      <div class=\"overlay\"></div>-->\n      <!-- <div class=\"row\">\n        <div class=\"download-btn-div\" v-if=\"this.isDownloadAllowed\">\n          <button class=\"btn btn-primary\" @click=\"handleDownloadDocumentButtonClick\">Download</button>\n        </div>\n      </div> -->\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport { default as download } from 'downloadjs';\n//import pdf from 'vue-pdf';\nimport PDFExpressViewer from \"@/components/Content/PDFExpressViewer\";\nimport AdobePDFViewer from \"../../PDFViewer/AdobePDFViewer.vue\";\n\nexport default {\n  name: \"StudyMaterial\",\n  components: {\n    //pdf,\n    PDFExpressViewer,\n    AdobePDFViewer\n  },\n  data() {\n    return {\n      type: null,\n      src: null,\n      isDownloadAllowed: false,\n      numberPages: 1,\n      isPDFLoading: true,\n      publicPath: process.env.BASE_URL,\n      isContentTypeLink: false\n    };\n  },\n  props: {\n    contentData: Object,\n  },\n  methods: {\n    ...mapActions(\"content\", [\"getContentById\"]),\n    closeModal() {\n      Object.assign(this.$data, this.$options.data.call(this));\n      this.$emit(\"updateModalState\", false);\n    },\n    handleRightClick(e) {\n      console.log(\"handle right click\");\n      e.preventDefault();\n      return false;\n    },\n    hideShare() { },\n\n    handleDownloadDocumentButtonClick(e) {\n      download(this.src);\n    },\n    randomNumber(min, max) {\n      return Math.floor(Math.random() * (max - min + 1) + min)\n    },\n    disableRightClick(e) {\n      e.preventDefault();\n    },\n    iframeLoadEvent(e) {\n      this.isPDFLoading = false;\n      console.log('iframe sucessfullyy loaded')\n      console.log({ e });\n    }\n  },\n  computed: {\n    ...mapState(\"appState\", [\"isMobile\", \"systemParameters\"]),\n    visible() {\n      return this.showModal;\n    },\n    iframeLink() {\n\n      if (this.type == \"document\") {\n        return `https://view.officeapps.live.com/op/embed.aspx?src=${this.src}`;\n      }\n\n      if (this.type == \"pdf\" && !this.isDownloadAllowed && !this.pdfJsExpressApiKey) {\n        let src = `https://docs.google.com/viewer?embedded=true&url=${this.src}?randomizer=${this.randomNumber(1, 10000)}`;\n        return src;\n\n        // var loadingTask = pdf.createLoadingTask(this.src);\n        //\n        // this.isPDFLoading = true;\n        //\n        // loadingTask.promise.then(pdf => {\n        //   this.numberPages=pdf.numPages;\n        //   console.log(pdf);\n        //   this.isPDFLoading = false;\n        //   document.getElementById('document-div').focus();\n        // });\n      } else if (this.type == \"pdf\" && this.isMobile && !this.AdobePDFReaderAPIKey) {\n        return `https://docs.google.com/viewer?embedded=true&url=${this.src}?randomizer=${this.randomNumber(1, 10000)}`;\n      }\n      return this.src;\n    },\n    pdfJsExpressApiKey() {\n      return this.systemParameters.PDFJSExpressAPIKey\n        ? this.systemParameters.PDFJSExpressAPIKey\n        : undefined;\n    },\n    AdobePDFReaderAPIKey() {\n      return this.systemParameters.AdobePDFReaderAPIKey\n        ? this.systemParameters.AdobePDFReaderAPIKey\n        : undefined;\n    },\n\n    PDFJSViewerUrl() {\n      const baseUrl = this.systemParameters && this.systemParameters.PDFJSVIEWERURL\n      if(!baseUrl) return null;\n      return `${baseUrl}?pdfUrl=${encodeURIComponent(this.src)}`;\n    },\n  },\n  created() {\n\n    if (this.contentData.externalService.serviceProvider.toLowerCase() == \"vss\") {\n      this.src = this.contentData.data?.viewUrl;\n    } else {\n      if (this.contentData.data?.Type == \"link\") {\n        this.isContentTypeLink = true;\n        this.isPDFLoading = false;\n      } else {\n        this.type = this.contentData.data?.Type;\n        this.src = this.contentData.data?.Source;\n        this.isDownloadAllowed = this.contentData.data?.AllowDownload?.toString().toLowerCase() == \"true\" ? true : false;\n      }\n    }\n  },\n  mounted() {\n    $(\"#no-click\").on(\"load\", function () {\n      console.log(\"hideShare\", $(\"[data-tooltip='Pop-out']\"));\n    });\n    // console.log($(\"#view-study-material-modal\"));\n  },\n  // beforeDestroy() {\n  // \t$(\"body\").off(\"onmousedown\");\n  // },\n  watch: {\n    contentData: function () {\n\n      if (this.contentData.externalService.serviceProvider.toLowerCase() == \"vss\") {\n        this.src = this.contentData.data?.viewUrl;\n      } else {\n        if (this.contentData.data?.Type == \"link\") {\n          this.isContentTypeLink = true;\n          this.isPDFLoading = false;\n        } else {\n          this.type = this.contentData.data?.Type;\n          this.src = this.contentData.data?.Source;\n          this.isDownloadAllowed = this.contentData.data?.AllowDownload?.toString().toLowerCase() == \"true\" ? true : false;\n        }\n      }\n    }\n  },\n};\n</script>\n\n<style>\n@media screen and (min-width: 996px) {\n  .view-study-material-modal {\n    height: fit-content !important;\n    width: 90vw !important;\n  }\n\n  #view-study-material-modal .modal-dialog {\n    max-width: 90vw !important;\n  }\n}\n\n@media screen and (min-width: 996px) {\n  .view-study-material-modal {\n    height: fit-content !important;\n    width: 95vw !important;\n  }\n\n  #view-study-material-modal .modal-dialog {\n    max-width: 90vw !important;\n  }\n}\n\n\n.view-study-material-modal {\n  height: 80vh !important;\n  margin: 10px;\n}\n\n/* .view-study-material-modal {\n\theight: 90vh;\n\twidth: 90vw !important;\n}\n#view-study-material-modal .modal-dialog {\n\tmax-width: 90vw !important;\n} */\n\n.view-study-material-modal .modal-body {\n  display: flex;\n  flex-direction: row;\n  padding: 0 !important;\n  font-size: 1rem;\n  overflow: hidden;\n  height: inherit;\n}\n\n.view-study-material-modal .modal-body .body-container {\n  padding: 0;\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n  position: relative;\n  height: inherit;\n}\n\n.document-div {\n  overflow: scroll;\n  height: inherit;\n}\n\n.document-div::-webkit-scrollbar {\n  width: 1.5rem !important;\n  height: inherit !important;\n}\n\n\n.document-div::-webkit-scrollbar-thumb {\n  border-radius: 0px !important;\n  background: rgb(0 0 0 / 35%) !important;\n}\n\n.document-div::-webkit-scrollbar-thumb:hover {\n  background: rgb(0 0 0 / 60%) !important;\n}\n\n.view-study-material-modal .modal-body .body-container .download-btn-div {\n  margin: 10px;\n}\n\n.view-study-material-modal .modal-body .body-container .close-button {\n  position: absolute;\n  right: 1rem;\n  top: 1rem;\n  z-index: 99;\n  background-color: #ffffff;\n  padding: 0.75rem;\n  border-radius: 50%;\n  border: 2px solid var(--primary-color);\n  box-shadow: 0 3px 6px #d5d5d529;\n}\n\n.close-button img {\n  width: 1.5rem;\n}\n\n.pdf-viewer {\n  height: fit-content;\n}\n\n.overlay {\n  position: absolute;\n  top: 0;\n\n  height: 5rem;\n  width: 100%;\n  background: rgba(0, 0, 0, 0.1);\n}\n\n.loading {\n  margin-top: 250px;\n  margin-bottom: 100px;\n}\n\n@media print {\n  .document-div {\n    display: none !important;\n  }\n}\n\n/* #no-click {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tz-index: 1250;\n\tpointer-events: click;\n} */\n</style>\n\n<style scoped>\n.study-material-div{\n  height: calc(100% - 1px);\n}\n\n@media (max-width:768px){\n  .study-material-div{\n    height: calc(100vh - 140px);\n    width: calc(100% - 50px);\n  }  \n  .study-material-div iframe{\n    padding: 0;\n  }\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StudyMaterial.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StudyMaterial.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StudyMaterial.vue?vue&type=template&id=45412820&scoped=true&\"\nimport script from \"./StudyMaterial.vue?vue&type=script&lang=js&\"\nexport * from \"./StudyMaterial.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StudyMaterial.vue?vue&type=style&index=0&id=45412820&prod&lang=css&\"\nimport style1 from \"./StudyMaterial.vue?vue&type=style&index=1&id=45412820&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"45412820\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"body-content\"},[(_vm.loading)?_c('center',{staticClass:\"loading\"},[_c('b-spinner',{attrs:{\"large\":\"\"}})],1):(_vm.assignments.length > 0)?_c('div',{staticClass:\"eb-content-wrapper\"},[_c('div',{staticClass:\"eb-body\"},[_c('div',{staticClass:\"eb-header d-flex mb-1\"},[_c('h5',[_vm._v(\"Assignments\")])]),_c('div',{staticClass:\"eb-content eb-practice-content\"},[_c('div',{staticClass:\"practice-table\"},[_c('div',{staticClass:\"cd-body round\"},[_c('div',{staticClass:\"pc-table-wrapper\",staticStyle:{\"height\":\"inherit\",\"display\":\"flex\",\"flex-direction\":\"column\"}},[_c('ul',{staticClass:\"eb-table pc-table\"},[_c('li',{staticClass:\"thead\"},[_c('div',{staticClass:\"t-cell\",staticStyle:{\"flex\":\"0.25\"}},[_c('b',[_vm._v(\"#\")])]),_c('div',{staticClass:\"t-cell\",staticStyle:{\"flex\":\"2\"}},[_c('b',[_vm._v(\"Assignment\")])]),_c('div',{staticClass:\"t-cell \",staticStyle:{\"flex\":\"0.5\"}},[_c('b',[_vm._v(\"Status\")])]),_c('div',{staticClass:\"t-cell \",staticStyle:{\"flex\":\"0.5\"}},[_c('b',[_vm._v(\"Due Date\")])]),_c('div',{staticClass:\"t-cell text-center\",staticStyle:{\"flex\":\"0.8\"}},[_c('b',[_vm._v(\"Result\")])])])]),_c('ul',{staticClass:\"eb-table pc-table\",staticStyle:{\"overflow\":\"auto\"}},_vm._l((_vm.assignments),function(assignment,index){return _c('li',{key:assignment.id + '' + index,staticClass:\"t-row\",on:{\"click\":function (){ _vm.$router.push({ params:{ page:'chapters', id:_vm.productVariantID }, query:{ chapterId:assignment.topLevelContentID, contentId:assignment.id }}) }}},[_c('div',{staticClass:\"t-cell\",staticStyle:{\"flex\":\"0.25\"}},[_vm._v(\" \"+_vm._s(index + 1)+\" \")]),_c('div',{staticClass:\"t-cell\",staticStyle:{\"display\":\"block\",\"flex\":\"2\"}},[_c('span',{on:{\"click\":function($event){$event.stopPropagation();}}},[(assignment.topLevelContentID && _vm.chapters && _vm.chapters[assignment.topLevelContentID])?_c('a',{staticClass:\"red\",attrs:{\"role\":\"button\"},on:{\"click\":function (){ _vm.$router.push({ params:{ page:'chapters', id:_vm.productVariantID }, query:{ chapterId:assignment.topLevelContentID }}) }}},[_vm._v(_vm._s(_vm.chapters[assignment.topLevelContentID].title)+\" \")]):_vm._e()]),_c('br'),_c('span',{staticClass:\"font-medium red\"},[_vm._v(_vm._s(assignment.title ? assignment.title : '--'))])]),_c('div',{staticClass:\"t-cell\",staticStyle:{\"flex\":\"0.5\"}},[_c('span',{staticClass:\"font-medium\"},[(_vm.assignmentResults && _vm.assignmentResults[assignment.id] && _vm.assignmentResults[assignment.id].isGraded == true)?_c('span',{staticClass:\"submitted-status\"},[_vm._v(\" Graded \")]):(_vm.assignmentResults && _vm.assignmentResults[assignment.id] && _vm.assignmentResults[assignment.id].isSubmitAssignment == true)?_c('span',{staticClass:\"submitted-status\"},[_c('i',{staticClass:\"fa fa-check\"}),_vm._v(\" Submitted \"),_c('small',{staticClass:\"text-dark\",staticStyle:{\"font-size\":\"x-small\"}},[_c('br'),_vm._v(\" \"+_vm._s(_vm.parseDueDate(_vm.assignmentResults[assignment.id].submissions[_vm.assignmentResults[assignment.id].submissions.length - 1].submittedAt))+\" \")])]):(_vm.isMissing(assignment))?_c('span',{staticClass:\"pending-status\"},[_vm._v(\" Missed \")]):_c('span',{staticClass:\"pending-status\"},[_c('i',{staticClass:\"fa fa-ban\"}),_vm._v(\" Pending \")])])]),_c('div',{staticClass:\"t-cell\",staticStyle:{\"flex\":\"0.5\"}},[(_vm.assignmentProperties(assignment))?_c('span',{staticClass:\"font-medium\"},[_vm._v(_vm._s(_vm.assignmentProperties(assignment).Deadline ? _vm.parseDueDate( _vm.assignmentProperties(assignment).Deadline) : \"--\"))]):_vm._e()]),_c('div',{staticClass:\"t-cell text-center\",staticStyle:{\"flex\":\"0.8\"}},[(_vm.assignmentResults[assignment.id] && _vm.assignmentResults[assignment.id].isGraded && _vm.assignmentProperties(assignment)  && _vm.assignmentProperties(assignment).Marks )?_c('span',[(_vm.assignmentResults[assignment.id].result)?_c('span',{class:['font-medium',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ pass: _vm.assignmentResults[assignment.id].result.toLowerCase()=='pass' },\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ fail:  _vm.assignmentResults[assignment.id].result.toLowerCase()=='fail' }\n\t\t\t\t\t\t\t\t\t\t\t\t\t],attrs:{\"id\":\"percentage\"}},[_vm._v(_vm._s(_vm.assignmentResults[assignment.id].result)+\" (\"+_vm._s(_vm.assignmentResults[assignment.id].percentage)+\"%) \"),_c('div',{staticClass:\"dropdown-content\"},[_c('small',[_c('b',[_vm._v(\"Passing Percentage:\")]),_vm._v(\" \"+_vm._s(_vm.assignmentProperties(assignment).PassingPercentage)+\" \")])])]):_vm._e(),_c('small',[_c('br'),_vm._v(_vm._s(_vm.assignmentResults[assignment.id].marks)+\" Out of \"+_vm._s(_vm.assignmentProperties(assignment).Marks))])]):_c('span',[_vm._v(\"--\")])])])}),0)])])])])])]):_c('center',{staticClass:\"no-content text-center\"},[_c('h4',{staticClass:\"mt-4\"},[_vm._v(\"No Assignments Found\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"body-content\">\n\t\t<center v-if=\"loading\" class=\"loading\">\n\t\t\t<b-spinner large></b-spinner>\n\t\t</center>\n\t\t<div v-else-if=\"assignments.length > 0\" class=\"eb-content-wrapper\">\n\t\t\t<div class=\"eb-body\">\n\t\t\t\t<div class=\"eb-header d-flex mb-1\">\n\t\t\t\t\t<h5>Assignments</h5>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"eb-content eb-practice-content\">\n\n\t\t\t\t\t<div class=\"practice-table\">\n\t\t\t\t\t\t<div class=\"cd-body round\">\n\n\t\t\t\t\t\t\t<div class=\"pc-table-wrapper\" style=\"\n    height: inherit;\n    display: flex;\n    flex-direction: column;\n\">\n\t\t\t\t\t\t\t\t<ul class=\"eb-table pc-table\">\n\t\t\t\t\t\t\t\t\t<li class=\"thead\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"flex: 0.25\"><b>#</b></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"flex: 2;\"><b>Assignment</b></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell \" style=\"flex: 0.5;\"><b>Status</b></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell \" style=\"flex: 0.5;\"><b>Due Date</b></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell text-center\" style=\"flex: 0.8;\"><b>Result</b></div>\n\t\t\t\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t<ul class=\"eb-table pc-table\" style=\"overflow: auto;\">\n\n\t\t\t\t\t\t\t\t\t<li class=\"t-row\" v-for=\"(assignment, index) in assignments\"\n\t\t\t\t\t\t\t\t\t@click=\"()=>{ $router.push({ params:{ page:'chapters', id:productVariantID }, query:{ chapterId:assignment.topLevelContentID, contentId:assignment.id }}) }\"\n\t\t\t\t\t\t\t\t\t\t:key=\"assignment.id + '' + index\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"flex: 0.25\">\n\t\t\t\t\t\t\t\t\t\t\t{{ index + 1 }}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"display: block; flex: 2;\">\n\t\t\t\t\t\t\t\t\t\t\t<span @click.stop>\n\t\t\t\t\t\t\t\t\t\t\t<a role=\"button\" @click=\"()=>{ $router.push({ params:{ page:'chapters', id:productVariantID }, query:{ chapterId:assignment.topLevelContentID }}) }\"\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"assignment.topLevelContentID && chapters && chapters[assignment.topLevelContentID]\"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"red\">{{ chapters[assignment.topLevelContentID].title }} </a></span>\n\t\t\t\t\t\t\t\t\t\t\t<br /><span class=\"font-medium red\">{{ assignment.title ? assignment.title :\n\t\t\t\t\t\t\t\t\t\t\t\t'--' }}</span>\n\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"flex: 0.5;\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"submitted-status\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"assignmentResults && assignmentResults[assignment.id] && assignmentResults[assignment.id].isGraded == true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tGraded\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\tv-else-if=\"assignmentResults && assignmentResults[assignment.id] && assignmentResults[assignment.id].isSubmitAssignment == true\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"submitted-status\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-check\"></i> Submitted\n\t\t\t\t\t\t\t\t\t\t\t\t\t<small style=\"font-size: x-small;\" class=\"text-dark\"><br/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ parseDueDate(assignmentResults[assignment.id].submissions[assignmentResults[assignment.id].submissions.length - 1].submittedAt) }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</small>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span v-else-if=\"isMissing(assignment)\" class=\"pending-status\"> Missed\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span v-else class=\"pending-status\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-ban\"></i> Pending\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"flex: 0.5;\">\n\t\t\t\t\t\t\t\t\t\t\t<span v-if=\"assignmentProperties(assignment)\" class=\"font-medium\">{{\n\t\t\t\t\t\t\t\t\t\t\t\tassignmentProperties(assignment).Deadline ? parseDueDate(\n\t\t\t\t\t\t\t\t\t\t\t\t\tassignmentProperties(assignment).Deadline) : \"--\"\n\t\t\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell text-center\" style=\"flex: 0.8;\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span v-if=\"assignmentResults[assignment.id] && assignmentResults[assignment.id].isGraded && assignmentProperties(assignment)  && assignmentProperties(assignment).Marks \">\n\t\t\t\t\t\t\t\t\t\t\t\t<span v-if=\"assignmentResults[assignment.id].result\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"percentage\" :class=\"['font-medium',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ pass: assignmentResults[assignment.id].result.toLowerCase()=='pass' },\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ fail:  assignmentResults[assignment.id].result.toLowerCase()=='fail' }\n\t\t\t\t\t\t\t\t\t\t\t\t\t]\">{{ assignmentResults[assignment.id].result }} ({{ assignmentResults[assignment.id].percentage }}%)\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dropdown-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<small>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<b>Passing Percentage:</b> {{assignmentProperties(assignment).PassingPercentage }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</small>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<small><br/>{{ assignmentResults[assignment.id].marks }} Out of {{ assignmentProperties(assignment).Marks }}</small>\n\t\t\t\t\t\t\t\t\t\t\t</span>\t\n\t\t\t\t\t\t\t\t\t\t\t<span v-else>--</span>\n\t\t\t\t\t\t\t\t\t\t\t<!-- {{ assignmentResults[assignment.id].marks }}\n\t\t\t\t\t\t\t\t\t\t\t<span v-if=\"assignment.percentage && assignment.passingPercentage\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"percentage\" :class=\"['font-medium',\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ pass: getResultStatus(assignment.passingPercentage, assignment.percentage) },\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ fail: !getResultStatus(assignment.passingPercentage, assignment.percentage) }\n\t\t\t\t\t\t\t\t\t\t\t\t]\">{{ assignment.percentage }}% ({{ getResultStatus(assignment.passingPercentage, assignment.percentage)\n\t? \"Pass\" : \"Fail\" }})\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dropdown-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tPassing Percentage: {{ assignment.passingPercentage }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t\t\t\t\t<span v-else>--</span> -->\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\n\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- </div>/cd-body -->\n\n\t\t\t\t</div>\n\t\t\t\t<!-- /eb-content -->\n\t\t\t</div><!-- /eb-body -->\n\t\t</div><!-- /eb-content-wrapper -->\n\t\t<center v-else class=\"no-content text-center\">\n\t\t\t<h4 class=\"mt-4\">No Assignments Found</h4>\n\t\t</center>\n\t</div>\n</template>\n\n\n<script>\n\nimport { mapActions, mapState } from 'vuex';\n\nexport default {\n\tname: \"ProductContentExams\",\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t\tassignments: [],\n\t\t\tproductVariantID: null,\n\t\t\tassignmentResults: {}\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions('content', ['getUserContentByProductVariant', \"setUserContentAction\", \"fetchUserContentActionsByID\"]),\n\t\t...mapActions(\"assignment\", [\n\t\t\t\"submitAssignment\",\n\t\t\t\"getSubmittedAssignment\",\n\t\t\t\"getSubmittedAssignmentResults\",\n\t\t\t\"updateAssignmentSubmission\",\n\t\t\t\"getProductvariantAssignmentResults\"\n\t\t]),\n\t\tfetchData() {\n\t\t\tvar self = this;\n\t\t\tthis.loading = true;\n\t\t\tthis.getUserContentByProductVariant({\n\t\t\t\tproductVariantID: this.$route.params.id,\n\t\t\t\tdataType: 'assignment'\n\t\t\t}).then((data) => {\n\t\t\t\tthis.loading = false;\n\t\t\t\tthis.assignments = data;\n\n\t\t\t}).catch((error) => {\n\t\t\t\tthis.loading = false;\n\t\t\t\tconsole.error(\"Error fetching assignments: \", error);\n\t\t\t});\n\t\t\tthis.getProductvariantAssignmentResults(this.$route.params.id).then(function (results) {\n\t\t\t\tif (results) {\n\t\t\t\t\tresults.forEach(function (val, ind, arr) {\n\t\t\t\t\t\tself.assignmentResults[val.content.id] = val;\n\t\t\t\t\t});\n\t\t\t\t\tvar temp = self.assignmentResults;\n\t\t\t\t\tself.assignmentResults = null;\n\t\t\t\t\tself.assignmentResults = temp;\n\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tassignmentProperties(assignment) {\n\t\t\tif (assignment && assignment.extraProperties) {\n\t\t\t\tvar obj = JSON.parse(assignment.extraProperties);\n\t\t\t\treturn obj;\n\t\t\t}\n\t\t\treturn {};\n\t\t},\n\t\tparseDueDate(dateString) {\n\t\t\tconst date = new Date(dateString);\n\n\t\t\tconst options = {\n\t\t\t\tyear: \"numeric\",\n\t\t\t\tmonth: \"short\",\n\t\t\t\tday: \"numeric\",\n\t\t\t\thour: \"numeric\",\n\t\t\t\tminute: \"numeric\",\n\t\t\t\thour12: true,\n\t\t\t};\n\n\t\t\treturn date.toLocaleString(\"en-US\", options);\n\t\t},\n\n\t\tgetResultStatus(passingPercentage, percentage) {\n\t\t\tvar current = parseInt(percentage);\n\t\t\tvar total = parseInt(passingPercentage);\n\n\t\t\tvar pass = current >= total;\n\n\t\t\treturn pass;\n\t\t},\n\t\tisMissing(assignment) {\n\t\t\tvar data = this.assignmentProperties(assignment);\n\t\t\tif (data && data.Deadline && (new Date(data.Deadline) < new Date())) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\n\t},\n\tcomputed: {\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\t\tchapters: function () {\n\t\t\tif (this.productVariants && this.productVariants.items && this.productVariants.items[this.productVariantID] && this.productVariants.items[this.productVariantID].productVariantItems) {\n\t\t\t\tvar items = this.productVariants.items[this.productVariantID].productVariantItems;\n\t\t\t\tvar chapters = {};\n\t\t\t\titems.forEach(function (val, ind, arr) {\n\t\t\t\t\tchapters[val.id] = val;\n\t\t\t\t});\n\t\t\t\treturn chapters;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t},\n\twatch: {\n\t\t$route(to, from) {\n\t\t\tif (this.$route.params.id && this.productVariantID != this.$route.params.id) {\n\t\t\t\tthis.productVariantID = this.$route.params.id;\n\t\t\t\tthis.getAssignmentList();\n\t\t\t}\n\n\t\t}\n\t},\n\n\tcomponents: {},\n\tcreated() {\n\t\tif (this.$route.params.id && this.productVariantID != this.$route.params.id) {\n\t\t\tthis.productVariantID = this.$route.params.id;\n\t\t\tthis.fetchData();\n\t\t}\n\t},\n\tmounted() {\n\t}\n};\n</script>\n\n<style scoped>\n.submitted-status {\n\tpadding-top: 10px;\n\tcolor: rgb(var(--bs-success-rgb));\n}\n\n.pending-status {\n\tpadding-top: 10px;\n\tcolor: rgb(var(--bs-danger-rgb));\n}\n\n.pc-table .t-row {\n\tcursor: pointer;\n}\n\n.pc-table .t-row:hover {\n\tbackground-color: var(--gray-light-hover);\n}\n\n.pc-table>li>.t-cell {\n\tflex: 0.6;\n\talign-items: center;\n\tdisplay: flex;\n\tpadding: 15px 5px;\n\tborder-bottom: 0.3px solid var(--border-color);\n\tborder-top: 0.3px solid var(--border-color);\n}\n\n\n.pc-table>li>.t-cell:nth-child(1) {\n\tflex: 0.3;\n\tpadding-left: 20px;\n}\n\n.pc-table>li>.t-cell:nth-child(2) {\n\tflex: 0.8;\n}\n\n.pc-table>li>.t-cell:nth-child(3) {\n\tflex: 1.2;\n}\n\n.pc-table>li>.t-cell:nth-child(4) {\n\tpadding-left: 20px;\n}\n\n.pc-table>li>.t-cell:last-child {\n\tflex: 0.4;\n\tjustify-content: center;\n}\n\n.t-cell a {\n\tfont-size: 12px;\n}\n\n.t-cell b {\n\tfont-size: 13px;\n}\n\n\n.pass {\n\tcolor: green;\n}\n\n.fail {\n\tcolor: var(--color-red);\n}\n\n\n.action-button {\n\tfont-size: 11px;\n\tpadding: 3px 10px;\n\tborder: 1px solid var(--color-red);\n\tbackground-color: transparent;\n\tborder-radius: 10px;\n\tcolor: var(--color-text-default);\n\tcursor: pointer;\n\ttransition: background-color 0.3s, color 0.3s, transform 0.2s;\n}\n\n.action-button:hover {\n\tbackground-color: var(--color-red);\n\tcolor: #fff;\n\ttransform: scale(1.1);\n}\n\n.eb-table-arr .t-row {\n\tposition: relative;\n}\n\n.eb-table-arr .t-row:before {\n\tposition: relative;\n\tcontent: \"\\f101\";\n\tfont-family: \"Font Awesome 5 Free\";\n\t-webkit-font-smoothing: antialiased;\n\tdisplay: block;\n\tfont-style: normal;\n\tfont-variant: normal;\n\tposition: absolute;\n\ttop: 50%;\n\tmargin-top: -15px;\n\tright: 10px;\n\tfont-size: 20px;\n\tfont-weight: 700;\n\t-webkit-text-stroke: 1px #fff;\n\topacity: 0;\n\tvisibility: hidden;\n}\n\n.eb-table-arr .t-row:hover:before {\n\topacity: 1;\n\tvisibility: visible;\n}\n\n.qr-table>li>.t-cell {\n\tflex: 0.8;\n\tpadding: 15px 5px;\n\tborder-bottom: 0.3px solid var(--border-color);\n\tborder-top: 0.3px solid var(--border-color);\n}\n\n.qr-table>li>.t-cell:nth-child(1),\n.qr-table>li>.t-cell:nth-child(2) {\n\tflex: 0.15;\n\ttext-align: center;\n}\n\n.qr-table>li>.t-cell:nth-child(2) {\n\tflex: 0.5;\n}\n\n.qr-table>li>.t-cell:nth-child(3) {\n\tflex: 5;\n}\n\n.qr-table>li>.t-cell:last-child {\n\tflex: 1.1;\n}\n\n.qr-table>li>.t-cell:nth-last-child(2) {\n\tflex: 0.6;\n}\n\n.practice-tabs .eb-header {\n\theight: auto;\n}\n\n\n\n.no-content {\n\tmargin-top: 50px;\n\tmargin-bottom: 50px;\n}\n\n.loading {\n\tmargin-top: 200px;\n\tmargin-bottom: 200px;\n}\n\n#percentage {\n\tposition: relative;\n}\n\n#percentage .dropdown-content {\n\tdisplay: none;\n\tposition: absolute;\n\tbackground-color: #f1f1f1;\n\tmin-width: 160px;\n\tbox-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n\tz-index: 999;\n\ttop: 100%;\n\tborder-radius: 12px;\n\tright: 0;\n\tleft: -40px;\n}\n\n#percentage .dropdown-content p {\n\tcolor: black;\n\tpadding: 13px 16px;\n\tmargin: 0;\n\ttext-decoration: none;\n\tdisplay: block;\n}\n\n#percentage:hover .dropdown-content {\n\tdisplay: block;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentAssignments.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentAssignments.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentAssignments.vue?vue&type=template&id=687eef0c&scoped=true&\"\nimport script from \"./ProductContentAssignments.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentAssignments.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentAssignments.vue?vue&type=style&index=0&id=687eef0c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"687eef0c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.selectedProductVariant && (_vm.isEbookDigitalTheme ? true : !_vm.contentId ) && _vm.selectedProductVariant.productVariantItems && _vm.hasContent())?_c('div',[_c('div',{staticClass:\"eb-header d-flex mb-3\"},[_c('div',{staticClass:\"eb-chapters-search\",staticStyle:{\"flex-grow\":\"2\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filters.searchText),expression:\"filters.searchText\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"\",\"placeholder\":\"Search\"},domProps:{\"value\":(_vm.filters.searchText)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.filters, \"searchText\", $event.target.value)},_vm.handleInput]}})]),_vm._m(0)]),_c('div',{staticClass:\"eb-filters collapse\",attrs:{\"id\":\"ebFilters\"}},[_c('div',{staticClass:\"eb-filter-area\"},[_c('div',{staticClass:\"row g-3 eb-filters\"},[_c('div',{staticClass:\"col-md-5\"},[_c('label',{staticClass:\"form-label d-block\"},[_vm._v(\"Understanding Level\")]),_c('div',{staticClass:\"btn-group confidence-group w-100\",attrs:{\"role\":\"group\",\"aria-label\":\"Basic radio toggle button group\"}},[_c('input',{staticClass:\"btn-check\",attrs:{\"type\":\"checkbox\",\"name\":\"confidenceLevel\",\"id\":\"confidenceLevelUnrated\",\"autocomplete\":\"off\"},domProps:{\"checked\":_vm.isFilterSelected('unrated', 'confidence_level')},on:{\"click\":function($event){return _vm.setOrRemoveFilter('unrated', 'confidence_level')}}}),_c('label',{staticClass:\"btn btn-outline-primary\",attrs:{\"for\":\"confidenceLevelUnrated\"}},[_vm._v(\"Unrated\")]),_c('input',{staticClass:\"btn-check\",attrs:{\"type\":\"checkbox\",\"name\":\"confidenceLevel\",\"id\":\"confidenceLevelLow\",\"autocomplete\":\"off\"},domProps:{\"checked\":_vm.isFilterSelected('low', 'confidence_level')},on:{\"click\":function($event){return _vm.setOrRemoveFilter('low', 'confidence_level')}}}),_c('label',{staticClass:\"btn btn-outline-primary\",attrs:{\"for\":\"confidenceLevelLow\"}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"16.38\",\"height\":\"16.444\",\"viewBox\":\"0 0 16.38 16.444\"}},[_c('g',{attrs:{\"id\":\"\",\"data-name\":\"Group 3867\",\"clip-path\":\"url(#clip-path)\"}},[_c('path',{attrs:{\"id\":\"\",\"data-name\":\"Path 8048\",\"d\":\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\",\"transform\":\"translate(1.016 1.015)\",\"fill\":\"none\",\"stroke\":\"#707070\",\"stroke-width\":\"1.5\"}})])]),_c('span',[_vm._v(\"Low\")])]),_c('input',{staticClass:\"btn-check\",attrs:{\"type\":\"checkbox\",\"name\":\"confidenceLevel\",\"id\":\"confidenceLevelMedium\",\"autocomplete\":\"off\"},domProps:{\"checked\":_vm.isFilterSelected('medium', 'confidence_level')},on:{\"click\":function($event){return _vm.setOrRemoveFilter('medium', 'confidence_level')}}}),_c('label',{staticClass:\"btn btn-outline-primary\",attrs:{\"for\":\"confidenceLevelMedium\"}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"16.38\",\"height\":\"16.444\",\"viewBox\":\"0 0 16.38 16.444\"}},[_c('g',{attrs:{\"id\":\"\",\"data-name\":\"Group 3867\",\"clip-path\":\"url(#clip-path)\"}},[_c('path',{attrs:{\"id\":\"\",\"data-name\":\"Path 8048\",\"d\":\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\",\"transform\":\"translate(1.016 1.015)\",\"fill\":\"none\",\"stroke\":\"#707070\",\"stroke-width\":\"1.5\"}})])]),_c('span',[_vm._v(\"Medium\")])]),_c('input',{staticClass:\"btn-check\",attrs:{\"type\":\"checkbox\",\"name\":\"confidenceLevel\",\"id\":\"confidenceLevelHigh\",\"autocomplete\":\"off\"},domProps:{\"checked\":_vm.isFilterSelected('high', 'confidence_level')},on:{\"click\":function($event){return _vm.setOrRemoveFilter('high', 'confidence_level')}}}),_c('label',{staticClass:\"btn btn-outline-primary\",attrs:{\"for\":\"confidenceLevelHigh\"}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"16.38\",\"height\":\"16.444\",\"viewBox\":\"0 0 16.38 16.444\"}},[_c('g',{attrs:{\"id\":\"\",\"data-name\":\"Group 3867\",\"clip-path\":\"url(#clip-path)\"}},[_c('path',{attrs:{\"id\":\"\",\"data-name\":\"Path 8048\",\"d\":\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\",\"transform\":\"translate(1.016 1.015)\",\"fill\":\"none\",\"stroke\":\"#707070\",\"stroke-width\":\"1.5\"}})])]),_c('span',[_vm._v(\"High\")])])])]),_c('div',{staticClass:\"col-md-4\"},[_c('label',{staticClass:\"form-label d-block\"},[_vm._v(\"Status\")]),_c('div',{staticClass:\"btn-group confidence-group status-group w-100\",attrs:{\"role\":\"group\",\"aria-label\":\"Basic radio toggle button group\"}},[_c('input',{staticClass:\"btn-check\",attrs:{\"type\":\"checkbox\",\"name\":\"completionStatus\",\"id\":\"statusNotStarted\",\"autocomplete\":\"off\"},domProps:{\"checked\":_vm.isFilterSelected('not_started', 'completionStatus')},on:{\"click\":function($event){return _vm.setOrRemoveFilter('not_started', 'completionStatus')}}}),_vm._m(1),_c('input',{staticClass:\"btn-check\",attrs:{\"type\":\"checkbox\",\"name\":\"completionStatus\",\"id\":\"statusCompleted\",\"autocomplete\":\"off\"},domProps:{\"checked\":_vm.isFilterSelected('completed', 'completionStatus')},on:{\"click\":function($event){return _vm.setOrRemoveFilter('completed', 'completionStatus')}}}),_c('label',{staticClass:\"btn btn-outline-primary\",attrs:{\"for\":\"statusCompleted\"}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"16.38\",\"height\":\"16.444\",\"viewBox\":\"0 0 16.38 16.444\"}},[_c('g',{attrs:{\"id\":\"\",\"data-name\":\"Group 3867\",\"clip-path\":\"url(#clip-path)\"}},[_c('path',{attrs:{\"id\":\"\",\"data-name\":\"Path 8048\",\"d\":\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\",\"transform\":\"translate(1.016 1.015)\",\"fill\":\"none\",\"stroke\":\"#707070\",\"stroke-width\":\"1.5\"}})])]),_c('span',[_vm._v(\"Completed\")])])])]),_c('div',{staticClass:\"col-md-2\"},[_c('div',{staticClass:\"form-check form-check-inline filter-bookmark\"},[_c('input',{staticClass:\"form-check-input bookmark-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"bookmarkCheckbox\",\"value\":\"\"},domProps:{\"checked\":_vm.isFilterSelected('bookmark', 'bookmark_content')},on:{\"click\":function($event){return _vm.setOrRemoveFilter('bookmark', 'bookmark_content')}}}),_vm._m(2)])]),_c('div',{staticClass:\"col-md-1 pt-md-4\"},[_c('button',{staticClass:\"btn btn-link\",on:{\"click\":function($event){return _vm.resetFilters()}}},[_vm._v(\"Reset Filter\")])]),_vm._m(3)])])]),_c('div',{staticClass:\"eb-content\"},[(_vm.selectedProductVariant.productVariantItems)?_c('div',{staticClass:\"accordion eb-accordion\",attrs:{\"id\":\"tableOfContents\"}},_vm._l((_vm.selectedProductVariant.productVariantItems),function(pvItem){return (_vm.contentUnderChapterCount(pvItem.id)>0)?_c('div',{staticClass:\"accordion-item eb-chapter-toggle\"},[_c('b-card-header',{staticClass:\"accordion-header eb-toggle-header\",attrs:{\"header-tag\":\"header\",\"role\":\"tab\"}},[_c('b-button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:('accordion-'+pvItem.id),expression:\"'accordion-'+pvItem.id\"}],staticClass:\"accordion-button\",attrs:{\"block\":\"\",\"variant\":\"none\"},on:{\"click\":function($event){return _vm.selectChapter(pvItem.id)}}},[_c('span',{staticClass:\"head-text\",staticStyle:{\"flex\":\"1\"}},[_vm._v(_vm._s(pvItem.title)+\" \")]),_vm._v(\" \"),(_vm.completedContentUnderChapterCount(pvItem.id)<_vm.contentUnderChapterCount(pvItem.id))?_c('span',{staticClass:\"side-text\"},[_vm._v(_vm._s(_vm.completedContentUnderChapterCount(pvItem.id))+\" out of \"+_vm._s(_vm.contentUnderChapterCount(pvItem.id))+\" Activities\")]):_c('div',{staticClass:\"completed-alert d-flex align-items-center\"},[_c('div',{staticClass:\"btn btn-primary btn-sm mark-complete-btn chapter completed me-3\"},[_c('img',{attrs:{\"src\":require(\"../../assets/images/check-green-circle-icon.svg\"),\"width\":\"12\",\"height\":\"12\"}}),_vm._v(\" Completed \")])])])],1),_c('b-collapse',{class:'accordion-collapse eb-toggle-body',attrs:{\"id\":'accordion-'+pvItem.id,\"visible\":true,\"accordion\":'accordion-'+pvItem.id,\"role\":\"tabpanel\"},model:{value:(_vm.accordionState[pvItem.id]),callback:function ($$v) {_vm.$set(_vm.accordionState, pvItem.id, $$v)},expression:\"accordionState[pvItem.id]\"}},[_c('div',{staticClass:\"accordion-body\"},[_c('ProductContentChaptersContentList',{attrs:{\"filters\":_vm.filters,\"chapterID\":(\"\" + (pvItem.id))}})],1)])],1):_vm._e()}),0):_vm._e()])]):(_vm.selectedProductVariant && _vm.contentId)?_c('div',[_c('link',{attrs:{\"rel\":\"stylesheet\",\"href\":\"https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css\"}}),_c('div',{staticClass:\"eb-content chapter-details\"},[_c('div',{staticClass:\"cd-head d-flex\"},[_c('div',{staticClass:\"cd-chapter-selection\"},[(_vm.selectedContent)?_c('b-tooltip',{attrs:{\"target\":\"vue-treeselect_sv\",\"triggers\":\"hover\"}},[_vm._v(_vm._s(_vm.selectedContent.label))]):_vm._e(),(_vm.selectedContent)?_c('treeselect',{staticClass:\"chapter-dd-btn\",attrs:{\"id\":\"vue-treeselect_sv\",\"disable-branch-nodes\":true,\"load-options\":_vm.loadChapterOptions,\"multiple\":false,\"options\":_vm.options,\"searchable\":true,\"nested-search\":\"\",\"flatten-search-results\":true},scopedSlots:_vm._u([{key:\"option-label\",fn:function(ref){\nvar node = ref.node;\nvar shouldShowCount = ref.shouldShowCount;\nvar count = ref.count;\nvar labelClassName = ref.labelClassName;\nvar countClassName = ref.countClassName;\nreturn _c('label',{class:labelClassName},[_c('span',{class:(node.isBranch ? 'chapter '\n\t\t\t\t\t\t\t\t: 'content '\n\t\t\t\t\t\t\t)},[(!node.isBranch && node.raw.type == _vm.ContentType.RECORDED_VIDEOS)?_c('img',{staticClass:\"option-icon\",attrs:{\"src\":require(\"../../assets/images/recorded-lecture.png\")}}):(!node.isBranch && node.raw.type == _vm.ContentType.LIVE_CLASS)?_c('img',{staticClass:\"option-icon\",attrs:{\"src\":require(\"../../assets/images/zoom-icon.svg\")}}):(!node.isBranch && node.raw.type == _vm.ContentType.STUDY_MATERIAL)?_c('img',{staticClass:\"option-icon\",attrs:{\"src\":require(\"../../assets/images/study-material.png\")}}):(!node.isBranch && node.raw.type == _vm.ContentType.EXAM)?_c('img',{staticClass:\"option-icon\",attrs:{\"src\":require(\"../../assets/images/exam-icon.png\")}}):(!node.isBranch && node.raw.type == _vm.ContentType.FLASHCARDS)?_c('img',{staticClass:\"option-icon\",attrs:{\"src\":require(\"../../assets/images/flash-card.png\")}}):(!node.isBranch && node.raw.type == _vm.ContentType.ASSIGNMENT)?_c('img',{staticClass:\"option-icon\",attrs:{\"src\":require(\"../../assets/images/assignment.png\")}}):(!node.isBranch && node.raw.type == _vm.ContentType.QUIZ)?_c('img',{staticClass:\"option-icon\",attrs:{\"src\":require(\"../../assets/images/exam-icon.png\")}}):(!node.isBranch && node.raw.type == _vm.ContentType.FREETEXT)?_c('img',{staticClass:\"option-icon\",attrs:{\"src\":require(\"../../assets/images/freeText.png\")}}):_vm._e(),_vm._v(\"   \"+_vm._s(_vm.upper(node.label)))])])}}],null,false,997938303),model:{value:(_vm.contentId),callback:function ($$v) {_vm.contentId=$$v},expression:\"contentId\"}}):_vm._e()],1),_c('div',{staticClass:\"form-check confidence-levels mb-0 ms-auto d-md-flex d-none align-items-center pe-2 py-1\"},[_c('div',{staticClass:\"me-2 pe-2\"},[_vm._v(\"Rating:\")]),_c('div',{class:'rating-option pe-1 animate__animated '+(_vm.confidenceLevel[_vm.contentId] == 'High'?'animate__bounceIn':'')},[_c('input',{staticClass:\"form-check-input high\",attrs:{\"type\":\"radio\",\"name\":\"confidenceBtn\",\"id\":\"confidenceBtn1\",\"value\":\"high\"},domProps:{\"checked\":_vm.confidenceLevel[_vm.contentId] == 'High'},on:{\"click\":function($event){return _vm.setContentConfidenceLevel('High')}}}),_c('label',{staticClass:\"confidence-btn btn-high\",attrs:{\"for\":\"confidenceBtn1\"}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"16.38\",\"height\":\"16.444\",\"viewBox\":\"0 0 16.38 16.444\"}},[_c('defs',[_c('clipPath',{attrs:{\"id\":\"clip-path\"}},[_c('rect',{attrs:{\"id\":\"Rectangle_499\",\"data-name\":\"Rectangle 499\",\"width\":\"16.38\",\"height\":\"16.444\",\"fill\":\"none\",\"stroke\":\"#707070\",\"stroke-width\":\"1.5\"}})])]),_c('g',{attrs:{\"id\":\"\",\"data-name\":\"Group 3867\",\"clip-path\":\"url(#clip-path)\"}},[_c('path',{attrs:{\"id\":\"\",\"data-name\":\"Path 8048\",\"d\":\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\",\"transform\":\"translate(1.016 1.015)\",\"fill\":\"none\",\"stroke\":\"#707070\",\"stroke-width\":\"1.5\"}})])]),_vm._v(\" High \")])]),_c('div',{class:'rating-option pe-1 animate__animated '+(_vm.confidenceLevel[_vm.contentId] == 'Medium'?'animate__bounceIn':'')},[_c('input',{staticClass:\"form-check-input medium\",attrs:{\"type\":\"radio\",\"name\":\"confidenceBtn\",\"id\":\"confidenceBtn2\",\"value\":\"medium\"},domProps:{\"checked\":_vm.confidenceLevel[_vm.contentId] == 'Medium'},on:{\"click\":function($event){return _vm.setContentConfidenceLevel('Medium')}}}),_c('label',{staticClass:\"confidence-btn btn-medium \",attrs:{\"for\":\"confidenceBtn2\"}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"16.38\",\"height\":\"16.444\",\"viewBox\":\"0 0 16.38 16.444\"}},[_c('defs',[_c('clipPath',{attrs:{\"id\":\"clip-path\"}},[_c('rect',{attrs:{\"id\":\"Rectangle_499\",\"data-name\":\"Rectangle 499\",\"width\":\"16.38\",\"height\":\"16.444\",\"fill\":\"none\",\"stroke\":\"#707070\",\"stroke-width\":\"1.5\"}})])]),_c('g',{attrs:{\"id\":\"\",\"data-name\":\"Group 3867\",\"clip-path\":\"url(#clip-path)\"}},[_c('path',{attrs:{\"id\":\"\",\"data-name\":\"Path 8048\",\"d\":\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\",\"transform\":\"translate(1.016 1.015)\",\"fill\":\"none\",\"stroke\":\"#707070\",\"stroke-width\":\"1.5\"}})])]),_vm._v(\" Medium \")])]),_c('div',{class:'rating-option pe-1 animate__animated '+(_vm.confidenceLevel[_vm.contentId] == 'Low'?'animate__bounceIn':'')},[_c('input',{staticClass:\"form-check-input low\",attrs:{\"type\":\"radio\",\"name\":\"confidenceBtn\",\"id\":\"confidenceBtn3\",\"value\":\"low\"},domProps:{\"checked\":_vm.confidenceLevel[_vm.contentId] == 'Low'},on:{\"click\":function($event){return _vm.setContentConfidenceLevel('Low')}}}),_c('label',{staticClass:\"confidence-btn btn-low\",attrs:{\"for\":\"confidenceBtn3\"}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"16.38\",\"height\":\"16.444\",\"viewBox\":\"0 0 16.38 16.444\"}},[_c('defs',[_c('clipPath',{attrs:{\"id\":\"clip-path\"}},[_c('rect',{attrs:{\"id\":\"Rectangle_499\",\"data-name\":\"Rectangle 499\",\"width\":\"16.38\",\"height\":\"16.444\",\"fill\":\"none\",\"stroke\":\"#707070\",\"stroke-width\":\"1.5\"}})])]),_c('g',{attrs:{\"id\":\"\",\"data-name\":\"Group 3867\",\"clip-path\":\"url(#clip-path)\"}},[_c('path',{attrs:{\"id\":\"\",\"data-name\":\"Path 8048\",\"d\":\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\",\"transform\":\"translate(1.016 1.015)\",\"fill\":\"none\",\"stroke\":\"#707070\",\"stroke-width\":\"1.5\"}})])]),_vm._v(\" Low \")])])])]),_c('div',{staticClass:\"cd-body\"},[_c('ProductContentView')],1),(_vm.selectedContent)?_c('div',{staticClass:\"cd-footer\"},[(!_vm.loading)?_c('div',{staticClass:\"px-3 py-1 d-flex align-items-center h-100\"},[(_vm.content[_vm.contentId] && (_vm.content[_vm.contentId].type.toLowerCase() != 'recordedvideos' || !_vm.content[_vm.contentId].externalService || _vm.content[_vm.contentId].externalService.serviceProvider.toLowerCase()!='vss')  && _vm.content[_vm.contentId].type.toLowerCase() != 'assignment' && _vm.content[_vm.contentId].type.toLowerCase() != 'liveclass' && _vm.content[_vm.contentId].type.toLowerCase() != 'flashcards'&& _vm.content[_vm.contentId].type.toLowerCase() != 'quiz')?_c('div',{},[(!_vm.completionStatus[_vm.contentId] || _vm.completionStatus[_vm.contentId].toLowerCase() == 'uncompleted')?_c('a',{staticClass:\"btn btn-outline-primary mark-complete-btn\",on:{\"click\":function($event){return _vm.markCompleted(true)}}},[_c('span'),_vm._v(\" Mark Completed \")]):_vm._e(),(_vm.completionStatus[_vm.contentId] && _vm.completionStatus[_vm.contentId].toLowerCase() == 'completed')?_c('div',{staticClass:\"completed-alert d-flex align-items-center\"},[_vm._m(4),_c('small',[_c('a',{staticClass:\"uncompleted-btn\",on:{\"click\":function($event){return _vm.markCompleted(false)}}},[_vm._v(\"Mark Uncompleted\")])])]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"ms-auto cd-footer-nav\"},[(_vm.showPreviousButton)?_c('button',{staticClass:\"btn btn-outline-primary btn-sm btn-prev me-2\",attrs:{\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.previousContent()}}},[_c('img',{attrs:{\"src\":require(\"../../assets/images/arrow-bottom.svg\")}}),_c('span',[_vm._v(\"Previous\")])]):_vm._e(),_c('button',{staticClass:\"btn btn-outline-primary btn-next btn-sm\",attrs:{\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.nextContent()}}},[_c('span',[_vm._v(\"Next\")]),_c('img',{attrs:{\"src\":require(\"../../assets/images/arrow-bottom.svg\")}})])])]):_vm._e()]):_vm._e()])]):_c('div',[_c('div',{staticClass:\"loading-div\"},[_c('center',[_c('b-spinner',{staticClass:\"loader\"})],1)],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"eb-filter-toggle dropdown-toggle ms-auto\",attrs:{\"data-bs-toggle\":\"collapse\",\"data-bs-target\":\"#ebFilters\",\"aria-expanded\":\"false\",\"aria-controls\":\"ebFilters\"}},[_c('img',{attrs:{\"src\":require(\"../../assets/images/filter-icon.svg\")}}),_vm._v(\" Filter \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"btn btn-outline-primary\",attrs:{\"for\":\"statusNotStarted\"}},[_c('img',{attrs:{\"src\":require(\"../../assets/images/not-started-icon.svg\")}}),_c('span',[_vm._v(\"Not Completed\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"form-check-label btn btn-outline-primary\",attrs:{\"for\":\"bookmarkCheckbox\"}},[_c('i',{staticClass:\"fa me-2 fa-bookmark-o\"}),_c('span',[_vm._v(\"Bookmarks\")]),_c('span',{staticClass:\"check ms-auto\"},[_c('img',{attrs:{\"src\":require(\"../../assets/images/check-green-icon.svg\")}})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-12\",staticStyle:{\"display\":\"none\"}},[_c('button',{staticClass:\"btn btn-primary me-1\",attrs:{\"type\":\"submit\"}},[_vm._v(\"Filter\")]),_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"type\":\"submit\"}},[_vm._v(\"Clear Filters\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn btn-outline-primary mark-complete-btn completed me-3\"},[_c('img',{attrs:{\"src\":require(\"../../assets/images/check-green-circle-icon.svg\")}}),_vm._v(\" Completed \")])}]\n\nexport { render, staticRenderFns }","<template>\n\t\n\t<div v-if=\"selectedProductVariant && (isEbookDigitalTheme ? true : !contentId ) && selectedProductVariant.productVariantItems && hasContent()\">\n\t\t<div  class=\"eb-header d-flex mb-3\">\n\t\t\t<!-- <h5>\n\t\t\t\t<i class=\"fas fa-align-left\"></i>{{ selectedProductVariant.productVariantItems.length }} Chapters\n\t\t\t</h5> -->\n\t\t\t<!-- <h5>\n\t\t\t\t<i class=\"far fa-clock\"></i> 2500 Pages\n\t\t\t</h5>\t\t\t\n\t\t\t -->\n\t\t\t<div style=\"flex-grow: 2;\" class=\"eb-chapters-search\">\n\t\t\t\t<input v-model=\"filters.searchText\" @input=\"handleInput\" type=\"text\" class=\"form-control\" id=\"\"\n\t\t\t\t\tplaceholder=\"Search\">\n\t\t\t</div>\n\t\t\t<button class=\"eb-filter-toggle dropdown-toggle ms-auto\" data-bs-toggle=\"collapse\" data-bs-target=\"#ebFilters\"\n            aria-expanded=\"false\" aria-controls=\"ebFilters\">\n            <img src=\"../../assets/images/filter-icon.svg\">\n            Filter\n        </button>\n\n\t\t</div>\n\n\t\t<div class=\"eb-filters collapse\" id=\"ebFilters\">\n\t\t\t<div class=\"eb-filter-area\">\n\t\t\t\t<div class=\"row g-3 eb-filters\">\n\t\t\t\t\t<div class=\"col-md-5\">\n\t\t\t\t\t\t<label class=\"form-label d-block\">Understanding Level</label>\n\t\t\t\t\t\t<div class=\"btn-group confidence-group w-100\" role=\"group\"\n\t\t\t\t\t\t\taria-label=\"Basic radio toggle button group\">\n\n\t\t\t\t\t\t\t<input type=\"checkbox\" @click=\"setOrRemoveFilter('unrated', 'confidence_level')\"\n\t\t\t\t\t\t\t\tclass=\"btn-check\" name=\"confidenceLevel\" id=\"confidenceLevelUnrated\" autocomplete=\"off\"\n\t\t\t\t\t\t\t\t:checked=\"isFilterSelected('unrated', 'confidence_level')\">\n\t\t\t\t\t\t\t<label class=\"btn btn-outline-primary\" for=\"confidenceLevelUnrated\">Unrated</label>\n\n\n\t\t\t\t\t\t\t<input type=\"checkbox\" @click=\"setOrRemoveFilter('low', 'confidence_level')\" class=\"btn-check\"\n\t\t\t\t\t\t\t\tname=\"confidenceLevel\" id=\"confidenceLevelLow\" autocomplete=\"off\"\n\t\t\t\t\t\t\t\t:checked=\"isFilterSelected('low', 'confidence_level')\">\n\t\t\t\t\t\t\t<label class=\"btn btn-outline-primary\" for=\"confidenceLevelLow\">\n\t\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n\t\t\t\t\t\t\t\t\twidth=\"16.38\" height=\"16.444\" viewBox=\"0 0 16.38 16.444\">\n\t\t\t\t\t\t\t\t\t<g id=\"\" data-name=\"Group 3867\" clip-path=\"url(#clip-path)\">\n\t\t\t\t\t\t\t\t\t\t<path id=\"\" data-name=\"Path 8048\"\n\t\t\t\t\t\t\t\t\t\t\td=\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\"\n\t\t\t\t\t\t\t\t\t\t\ttransform=\"translate(1.016 1.015)\" fill=\"none\" stroke=\"#707070\"\n\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\" />\n\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t<span>Low</span>\n\t\t\t\t\t\t\t</label>\n\n\n\t\t\t\t\t\t\t<input type=\"checkbox\" @click=\"setOrRemoveFilter('medium', 'confidence_level')\"\n\t\t\t\t\t\t\t\tclass=\"btn-check\" name=\"confidenceLevel\" id=\"confidenceLevelMedium\" autocomplete=\"off\"\n\t\t\t\t\t\t\t\t:checked=\"isFilterSelected('medium', 'confidence_level')\">\n\t\t\t\t\t\t\t<label class=\"btn btn-outline-primary\" for=\"confidenceLevelMedium\">\n\t\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n\t\t\t\t\t\t\t\t\twidth=\"16.38\" height=\"16.444\" viewBox=\"0 0 16.38 16.444\">\n\t\t\t\t\t\t\t\t\t<g id=\"\" data-name=\"Group 3867\" clip-path=\"url(#clip-path)\">\n\t\t\t\t\t\t\t\t\t\t<path id=\"\" data-name=\"Path 8048\"\n\t\t\t\t\t\t\t\t\t\t\td=\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\"\n\t\t\t\t\t\t\t\t\t\t\ttransform=\"translate(1.016 1.015)\" fill=\"none\" stroke=\"#707070\"\n\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\" />\n\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t<span>Medium</span>\n\t\t\t\t\t\t\t</label>\n\n\n\t\t\t\t\t\t\t<input type=\"checkbox\" @click=\"setOrRemoveFilter('high', 'confidence_level')\" class=\"btn-check\"\n\t\t\t\t\t\t\t\tname=\"confidenceLevel\" id=\"confidenceLevelHigh\" autocomplete=\"off\"\n\t\t\t\t\t\t\t\t:checked=\"isFilterSelected('high', 'confidence_level')\">\n\t\t\t\t\t\t\t<label class=\"btn btn-outline-primary\" for=\"confidenceLevelHigh\">\n\t\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n\t\t\t\t\t\t\t\t\twidth=\"16.38\" height=\"16.444\" viewBox=\"0 0 16.38 16.444\">\n\t\t\t\t\t\t\t\t\t<g id=\"\" data-name=\"Group 3867\" clip-path=\"url(#clip-path)\">\n\t\t\t\t\t\t\t\t\t\t<path id=\"\" data-name=\"Path 8048\"\n\t\t\t\t\t\t\t\t\t\t\td=\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\"\n\t\t\t\t\t\t\t\t\t\t\ttransform=\"translate(1.016 1.015)\" fill=\"none\" stroke=\"#707070\"\n\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\" />\n\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t<span>High</span>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"col-md-4\">\n\t\t\t\t\t\t<label class=\"form-label d-block\">Status</label>\n\t\t\t\t\t\t<div class=\"btn-group confidence-group status-group w-100\" role=\"group\"\n\t\t\t\t\t\t\taria-label=\"Basic radio toggle button group\">\n\n\t\t\t\t\t\t\t<input type=\"checkbox\" @click=\"setOrRemoveFilter('not_started', 'completionStatus')\"\n\t\t\t\t\t\t\t\tclass=\"btn-check\" name=\"completionStatus\" id=\"statusNotStarted\" autocomplete=\"off\"\n\t\t\t\t\t\t\t\t:checked=\"isFilterSelected('not_started', 'completionStatus')\">\n\t\t\t\t\t\t\t<label class=\"btn btn-outline-primary\" for=\"statusNotStarted\">\n\t\t\t\t\t\t\t\t<img src=\"../../assets/images/not-started-icon.svg\">\n\t\t\t\t\t\t\t\t<span>Not Completed</span>\n\t\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t\t<!-- \n\t\t\t\t\t\t\t<input type=\"checkbox\" @click=\"setOrRemoveFilter('in_progress', 'completionStatus')\"\n\t\t\t\t\t\t\t\tclass=\"btn-check\" name=\"completionStatus\" id=\"statusInProgress\" autocomplete=\"off\"\n\t\t\t\t\t\t\t\t:checked=\"isFilterSelected('in_progress', 'completionStatus')\">\n\t\t\t\t\t\t\t<label class=\"btn btn-outline-primary\" for=\"statusInProgress\">\n\t\t\t\t\t\t\t\t<img src=\"../../assets/images/in-progress-icon.svg\">\n\t\t\t\t\t\t\t\t<span>In Progress</span>\n\t\t\t\t\t\t\t</label> -->\n\n\n\t\t\t\t\t\t\t<input type=\"checkbox\" @click=\"setOrRemoveFilter('completed', 'completionStatus')\"\n\t\t\t\t\t\t\t\tclass=\"btn-check\" name=\"completionStatus\" id=\"statusCompleted\" autocomplete=\"off\"\n\t\t\t\t\t\t\t\t:checked=\"isFilterSelected('completed', 'completionStatus')\">\n\t\t\t\t\t\t\t<label class=\"btn btn-outline-primary\" for=\"statusCompleted\">\n\t\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n\t\t\t\t\t\t\t\t\twidth=\"16.38\" height=\"16.444\" viewBox=\"0 0 16.38 16.444\">\n\t\t\t\t\t\t\t\t\t<g id=\"\" data-name=\"Group 3867\" clip-path=\"url(#clip-path)\">\n\t\t\t\t\t\t\t\t\t\t<path id=\"\" data-name=\"Path 8048\"\n\t\t\t\t\t\t\t\t\t\t\td=\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\"\n\t\t\t\t\t\t\t\t\t\t\ttransform=\"translate(1.016 1.015)\" fill=\"none\" stroke=\"#707070\"\n\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\" />\n\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t<span>Completed</span>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"col-md-2\">\n\t\t\t\t\t\t<div class=\"form-check form-check-inline filter-bookmark\">\n\n\t\t\t\t\t\t\t<input class=\"form-check-input bookmark-checkbox\"\n\t\t\t\t\t\t\t\t@click=\"setOrRemoveFilter('bookmark', 'bookmark_content')\" type=\"checkbox\"\n\t\t\t\t\t\t\t\tid=\"bookmarkCheckbox\" value=\"\" :checked=\"isFilterSelected('bookmark', 'bookmark_content')\">\n\t\t\t\t\t\t\t<label class=\"form-check-label btn btn-outline-primary\" for=\"bookmarkCheckbox\">\n\t\t\t\t\t\t\t\t<i class=\"fa me-2 fa-bookmark-o\"></i>\n\t\t\t\t\t\t\t\t<span>Bookmarks</span>\n\t\t\t\t\t\t\t\t<span class=\"check ms-auto\">\n\t\t\t\t\t\t\t\t\t<img src=\"../../assets/images/check-green-icon.svg\">\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"col-md-1 pt-md-4\">\n\t\t\t\t\t\t<button @click=\"resetFilters()\" class=\"btn btn-link\">Reset Filter</button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"col-12\" style=\"display: none;\">\n\t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-primary me-1\">Filter</button>\n\t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-outline-primary\">Clear Filters</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div><!-- eb-filters -->\n\n\t\t<!-- <div class=\"accordion eb-content\" role=\"tablist\">\n\t\t\t<b-card no-body class=\"accordion-item eb-chapter-toggle\"  v-for=\"pvItem in selectedProductVariant.productVariantItems\" >\n\t\t\t  <b-card-header header-tag=\"header\" class=\"accordion-header eb-toggle-header\" role=\"tab\" @click=\"selectChapter(pvItem.id)\" >\n\t\t\t\t<b-button block v-b-toggle=\"pvItem.id\" class=\"accordion-button\">{{ pvItem.title }}</b-button>\n\t\t\t  </b-card-header>\n\t\t\t  <b-collapse :id=\"pvItem.id\" class=\"accordion-collapse eb-toggle-body\" :visible=\"(pvItem.id+'')==(selectedChapterID+'')\" accordion=\"my-accordion\" role=\"tabpanel\">\n\t\t\t\t<b-card-body class=\"accordion-body\">\n\t\t\t\t\t<div v-if=\"content[pvItem.id]\">\n\t\t\t\t\t<ProductContentChaptersContentList></ProductContentChaptersContentList>\n\t\t\t\t\t</div>\n\t\t\t\t</b-card-body>\n\t\t\t  </b-collapse>\n\t\t\t</b-card>\n\t\t</div> -->\n\t\t<div class=\"eb-content\">\n\t\t\t<div class=\"accordion eb-accordion\" id=\"tableOfContents\" v-if=\"selectedProductVariant.productVariantItems\">\n\t\t\t\t<div  v-for=\"pvItem in selectedProductVariant.productVariantItems\" v-if=\"contentUnderChapterCount(pvItem.id)>0\" class=\"accordion-item eb-chapter-toggle\">\n\t\t\t\t\t<b-card-header header-tag=\"header\" class=\"accordion-header eb-toggle-header\" role=\"tab\">\n\t\t\t\t\t  <b-button @click=\"selectChapter(pvItem.id)\" block v-b-toggle=\"'accordion-'+pvItem.id\" variant=\"none\" class=\"accordion-button\"><span class=\"head-text\" style=\"\n\t\t\t\t\t\tflex:1;\n\t\t\t\t\t\t\">{{ pvItem.title }}\n\t\t\t\t\t\t\t\t\t\t\t </span> <span class=\"side-text\" v-if=\"completedContentUnderChapterCount(pvItem.id)<contentUnderChapterCount(pvItem.id)\" >{{completedContentUnderChapterCount(pvItem.id)}} out of {{ contentUnderChapterCount(pvItem.id) }} Activities</span>\n\t\t\t\t\t\t\t\t\t\t\t <div class=\"completed-alert d-flex align-items-center\"\n\t\t\t\t\t\t\tv-else>\n\t\t\t\t\t\t\t<div class=\"btn btn-primary btn-sm mark-complete-btn chapter completed me-3\">\n\t\t\t\t\t\t\t\t<img src=\"../../assets/images/check-green-circle-icon.svg\" width=\"12\" height=\"12\" />\n\t\t\t\t\t\t\t\t Completed\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</b-button>\n\t\t\t\t\t</b-card-header>\n\t\t\t\t\t<b-collapse :id=\"'accordion-'+pvItem.id\" :class=\"'accordion-collapse eb-toggle-body'\" v-model=\"accordionState[pvItem.id]\"  :visible=\"true\"  :accordion=\"'accordion-'+pvItem.id\" role=\"tabpanel\">\n\t\t\t\t\t\t<div class=\"accordion-body\" >\n\t\t\t\t\t\t\t<ProductContentChaptersContentList :filters=\"filters\"  :chapterID=\"`${pvItem.id}`\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</b-collapse>\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\t</div>\n\t<div v-else-if=\"selectedProductVariant && contentId\">\n\t\t<link\n\t\trel=\"stylesheet\"\n\t\thref=\"https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css\"\n\t  />\n\t\t<div class=\"eb-content chapter-details\">\n\t\t\t<div class=\"cd-head d-flex\">\n\t\t\t\t<div class=\"cd-chapter-selection\">\n\n\t\t\t\t\t<b-tooltip target=\"vue-treeselect_sv\" v-if=\"selectedContent\" triggers=\"hover\">{{selectedContent.label}}</b-tooltip>\n\t\t\t\t\t<treeselect id=\"vue-treeselect_sv\" v-if=\"selectedContent\"   class=\"chapter-dd-btn\" v-model=\"contentId\" :disable-branch-nodes=\"true\"\n\t\t\t\t\t\t:load-options=\"loadChapterOptions\" :multiple=\"false\"\n\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t:searchable=\"true\"\n\t\t\t\t\t\t\n\t\t\t\t\t\tnested-search\n\t\t\t\t\t\t:flatten-search-results=\"true\">\n\t\t\t\t\t\t<label slot=\"option-label\"\n\t\t\t\t\t\t\tslot-scope=\"{ node, shouldShowCount, count, labelClassName, countClassName }\"\n\t\t\t\t\t\t\t:class=\"labelClassName\">\n\t\t\t\t\t\t\t<span :class=\"(node.isBranch ? 'chapter '\n\t\t\t\t\t\t\t\t: 'content '\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\">\n\t\t\t\t\t\t\t\t<img v-if=\"!node.isBranch && node.raw.type == ContentType.RECORDED_VIDEOS\"\n\t\t\t\t\t\t\t\t\tclass=\"option-icon\" src=\"../../assets/images/recorded-lecture.png\">\n\t\t\t\t\t\t\t\t<img v-else-if=\"!node.isBranch && node.raw.type == ContentType.LIVE_CLASS\"\n\t\t\t\t\t\t\t\t\tclass=\"option-icon\" src=\"../../assets/images/zoom-icon.svg\">\n\t\t\t\t\t\t\t\t<img v-else-if=\"!node.isBranch && node.raw.type == ContentType.STUDY_MATERIAL\"\n\t\t\t\t\t\t\t\t\tclass=\"option-icon\" src=\"../../assets/images/study-material.png\">\n\t\t\t\t\t\t\t\t<img v-else-if=\"!node.isBranch && node.raw.type == ContentType.EXAM\" class=\"option-icon\"\n\t\t\t\t\t\t\t\t\tsrc=\"../../assets/images/exam-icon.png\">\n\t\t\t\t\t\t\t\t<img v-else-if=\"!node.isBranch && node.raw.type == ContentType.FLASHCARDS\"\n\t\t\t\t\t\t\t\t\tclass=\"option-icon\" src=\"../../assets/images/flash-card.png\">\n\t\t\t\t\t\t\t\t<img v-else-if=\"!node.isBranch && node.raw.type == ContentType.ASSIGNMENT\" class=\"option-icon\"\n\t\t\t\t\t\t\t\t\tsrc=\"../../assets/images/assignment.png\">\n\t\t\t\t\t\t\t\t<img v-else-if=\"!node.isBranch && node.raw.type == ContentType.QUIZ\" class=\"option-icon\"\n\t\t\t\t\t\t\t\t\tsrc=\"../../assets/images/exam-icon.png\">\n\t\t\t\t\t\t\t\t<img v-else-if=\"!node.isBranch && node.raw.type == ContentType.FREETEXT\" class=\"option-icon\"\n\t\t\t\t\t\t\t\t\tsrc=\"../../assets/images/freeText.png\">\n\t\t\t\t\t\t\t\t<!-- <img v-else-if=\"!node.isBranch && node.raw.type == ContentType.RECORDED_VIDEOS\" class=\"option-icon\" src=\"../../assets/images/video-icon.svg\">\n\t\t\t\t\t\t\t\t<img v-else-if=\"!node.isBranch && node.raw.type == ContentType.RECORDED_VIDEOS\" class=\"option-icon\" src=\"../../assets/images/video-icon.svg\">\n\t\t\t\t\t\t\t\t<img v-else-if=\"!node.isBranch && node.raw.type == ContentType.RECORDED_VIDEOS\" class=\"option-icon\" src=\"../../assets/images/video-icon.svg\">\n\t\t\t\t\t\t\t\t<img v-else-if=\"!node.isBranch && node.raw.type == ContentType.RECORDED_VIDEOS\" class=\"option-icon\" src=\"../../assets/images/video-icon.svg\"> -->\n\t\t\t\t\t\t\t\t&nbsp;&nbsp;{{ upper(node.label) }}</span>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</treeselect>\n\t\t\t\t\t<!-- <a class=\"btn chapter-dd-btn dropdown-toggle\" href=\"#\" id=\"chapterDropdownBtn\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-auto-close=\"outside\">\n\t\t\t\t\t  <img src=\"../../assets/images/list-icon.svg\"> \n\t\t\t\t\t  <span>1.1 Recognition Criteria</span>\n\t\t\t\t\t</a>\n\t\t\t\t   -->\n\t\t\t\t\t<!-- <ul class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuLink\">\n\t\t\t\t\t  <li><a class=\"dropdown-item\" href=\"#\">Action</a></li>\n\t\t\t\t\t  <li><a class=\"dropdown-item\" href=\"#\">Another action</a></li>\n\t\t\t\t\t  <li><a class=\"dropdown-item\" href=\"#\">Something else here</a></li>\n\t\t\t\t\t</ul> -->\n\t\t\t\t\t<!-- <div class=\"dropdown-menu p-3 text-muted\">  \n\t\t\t\t\t\t<ul class=\"px-0\">\n\t\t\t\t\t\t  <li><a class=\"dropdown-item\" href=\"#\">Business Reporting: Valid for exams Sept 2022</a></li>                                    \n\t\t\t\t\t\t  <li><a class=\"dropdown-item\" href=\"#\">1.1.6 Compliance With Accounting Standards</a></li>\n\t\t\t\t\t\t  <li><a class=\"dropdown-item\" href=\"#\">Employability and Technology Skills</a></li>\n\t\t\t\t\t\t  <li><a class=\"dropdown-item\" href=\"#\">1.1.4 The Accountant as An Individual</a></li>\n\t\t\t\t\t\t  <li><a class=\"dropdown-item\" href=\"#\">Strategic Business Reporting: Valid for exams Sept 2022 - June 2023</a></li>\n\t\t\t\t\t\t  <li><a class=\"dropdown-item\" href=\"#\">2.2.6 Compliance With Accounting Standards</a></li>\n\t\t\t\t\t\t  <li><a class=\"dropdown-item\" href=\"#\">Employability and Technology Skills</a></li>\n\t\t\t\t\t\t  <li><a class=\"dropdown-item\" href=\"#\">1.1.4 The Accountant as An Individual</a></li>\n\t\t\t\t\t\t  \n\t\t\t\t\t\t  \n\t\t\t\t\t\t   \n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div> -->\n\n\n\n\t\t\t\t</div>\n\n\t\t\t\t\n\t\t\t\t<!-- <div  class=\"form-check assignment-attachments mb-0 ms-auto d-flex align-items-center px-2 px-md-4 py-1 show-attachments\"\n\t\t\t\tid=\"instructorAttachmentsBtn\"\n\t\t\t\t@click=\"showAttachments()\"\n\t\t\t\tref=\"showAttachmentsBtn\"\n\t\t\t\t>\n\t\t\t\t\t<img class=\"attachment-icon me-2\" src=\"@/assets/images/attachment-icon.svg\" />\n\t\t\t\t\t<img class=\"attachment-close-icon me-2\" src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t\t\t<span>Attachments</span> \n\t\t\t\t</div> -->\n\n\t\t\t\t<div class=\"form-check confidence-levels mb-0 ms-auto d-md-flex d-none align-items-center pe-2 py-1\" >\n\t\t\t\t\t<div class=\"me-2 pe-2\">Rating:</div>\n\t\t\t\t\t<div :class=\"'rating-option pe-1 animate__animated '+(confidenceLevel[contentId] == 'High'?'animate__bounceIn':'')\">\n\t\t\t\t\t\t<input class=\"form-check-input high\" type=\"radio\" name=\"confidenceBtn\"\n\t\t\t\t\t\t\t:checked=\"confidenceLevel[contentId] == 'High'\" id=\"confidenceBtn1\" value=\"high\"\n\t\t\t\t\t\t\t@click=\"setContentConfidenceLevel('High')\">\n\t\t\t\t\t\t<label class=\"confidence-btn btn-high\" for=\"confidenceBtn1\">\n\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"16.38\"\n\t\t\t\t\t\t\t\theight=\"16.444\" viewBox=\"0 0 16.38 16.444\">\n\t\t\t\t\t\t\t\t<defs>\n\t\t\t\t\t\t\t\t\t<clipPath id=\"clip-path\">\n\t\t\t\t\t\t\t\t\t\t<rect id=\"Rectangle_499\" data-name=\"Rectangle 499\" width=\"16.38\" height=\"16.444\"\n\t\t\t\t\t\t\t\t\t\t\tfill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" />\n\t\t\t\t\t\t\t\t\t</clipPath>\n\t\t\t\t\t\t\t\t</defs>\n\t\t\t\t\t\t\t\t<g id=\"\" data-name=\"Group 3867\" clip-path=\"url(#clip-path)\">\n\t\t\t\t\t\t\t\t\t<path id=\"\" data-name=\"Path 8048\"\n\t\t\t\t\t\t\t\t\t\td=\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\"\n\t\t\t\t\t\t\t\t\t\ttransform=\"translate(1.016 1.015)\" fill=\"none\" stroke=\"#707070\"\n\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\" />\n\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\tHigh\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div :class=\"'rating-option pe-1 animate__animated '+(confidenceLevel[contentId] == 'Medium'?'animate__bounceIn':'')\">\n\t\t\t\t\t\t<input class=\"form-check-input medium\" type=\"radio\" name=\"confidenceBtn\"\n\t\t\t\t\t\t\t:checked=\"confidenceLevel[contentId] == 'Medium'\" id=\"confidenceBtn2\" value=\"medium\"\n\t\t\t\t\t\t\t@click=\"setContentConfidenceLevel('Medium')\">\n\t\t\t\t\t\t<label class=\"confidence-btn btn-medium \" for=\"confidenceBtn2\">\n\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"16.38\"\n\t\t\t\t\t\t\t\theight=\"16.444\" viewBox=\"0 0 16.38 16.444\">\n\t\t\t\t\t\t\t\t<defs>\n\t\t\t\t\t\t\t\t\t<clipPath id=\"clip-path\">\n\t\t\t\t\t\t\t\t\t\t<rect id=\"Rectangle_499\" data-name=\"Rectangle 499\" width=\"16.38\" height=\"16.444\"\n\t\t\t\t\t\t\t\t\t\t\tfill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" />\n\t\t\t\t\t\t\t\t\t</clipPath>\n\t\t\t\t\t\t\t\t</defs>\n\t\t\t\t\t\t\t\t<g id=\"\" data-name=\"Group 3867\" clip-path=\"url(#clip-path)\">\n\t\t\t\t\t\t\t\t\t<path id=\"\" data-name=\"Path 8048\"\n\t\t\t\t\t\t\t\t\t\td=\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\"\n\t\t\t\t\t\t\t\t\t\ttransform=\"translate(1.016 1.015)\" fill=\"none\" stroke=\"#707070\"\n\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\" />\n\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\tMedium\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div :class=\"'rating-option pe-1 animate__animated '+(confidenceLevel[contentId] == 'Low'?'animate__bounceIn':'')\">\n\t\t\t\t\t\t<input class=\"form-check-input low\" type=\"radio\" name=\"confidenceBtn\"\n\t\t\t\t\t\t\t:checked=\"confidenceLevel[contentId] == 'Low'\" id=\"confidenceBtn3\" value=\"low\"\n\t\t\t\t\t\t\t@click=\"setContentConfidenceLevel('Low')\">\n\t\t\t\t\t\t<label class=\"confidence-btn btn-low\" for=\"confidenceBtn3\">\n\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"16.38\"\n\t\t\t\t\t\t\t\theight=\"16.444\" viewBox=\"0 0 16.38 16.444\">\n\t\t\t\t\t\t\t\t<defs>\n\t\t\t\t\t\t\t\t\t<clipPath id=\"clip-path\">\n\t\t\t\t\t\t\t\t\t\t<rect id=\"Rectangle_499\" data-name=\"Rectangle 499\" width=\"16.38\" height=\"16.444\"\n\t\t\t\t\t\t\t\t\t\t\tfill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" />\n\t\t\t\t\t\t\t\t\t</clipPath>\n\t\t\t\t\t\t\t\t</defs>\n\t\t\t\t\t\t\t\t<g id=\"\" data-name=\"Group 3867\" clip-path=\"url(#clip-path)\">\n\t\t\t\t\t\t\t\t\t<path id=\"\" data-name=\"Path 8048\"\n\t\t\t\t\t\t\t\t\t\td=\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\"\n\t\t\t\t\t\t\t\t\t\ttransform=\"translate(1.016 1.015)\" fill=\"none\" stroke=\"#707070\"\n\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\" />\n\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\tLow\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\n\t\t\t\t</div>\n\n\t\t\t</div><!-- /cd-head -->\n\n\t\t\t<div class=\"cd-body\">\n\n\t\t\t\t<ProductContentView></ProductContentView>\n\n\n\n\t\t\t</div>\n\n\t\t\t<div class=\"cd-footer\" v-if=\"selectedContent\">\n\t\t\t\t<div class=\"px-3 py-1 d-flex align-items-center h-100\" v-if=\"!loading\">\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"\"\n\t\t\t\t\t\tv-if=\"content[contentId] && (content[contentId].type.toLowerCase() != 'recordedvideos' || !content[contentId].externalService || content[contentId].externalService.serviceProvider.toLowerCase()!='vss')  && content[contentId].type.toLowerCase() != 'assignment' && content[contentId].type.toLowerCase() != 'liveclass' && content[contentId].type.toLowerCase() != 'flashcards'&& content[contentId].type.toLowerCase() != 'quiz'\">\n\t\t\t\t\t\t<a class=\"btn btn-outline-primary mark-complete-btn\"\n\t\t\t\t\t\t\tv-if=\"!completionStatus[contentId] || completionStatus[contentId].toLowerCase() == 'uncompleted'\"\n\t\t\t\t\t\t\t@click=\"markCompleted(true)\">\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\tMark Completed\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<div class=\"completed-alert d-flex align-items-center\"\n\t\t\t\t\t\t\tv-if=\"completionStatus[contentId] && completionStatus[contentId].toLowerCase() == 'completed'\">\n\t\t\t\t\t\t\t<div class=\"btn btn-outline-primary mark-complete-btn completed me-3\">\n\t\t\t\t\t\t\t\t<img src=\"../../assets/images/check-green-circle-icon.svg\">\n\t\t\t\t\t\t\t\tCompleted\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- <br class=\"completed-break\" > -->\n\t\t\t\t\t\t\t<small><a @click=\"markCompleted(false)\" class=\"uncompleted-btn\">Mark Uncompleted</a></small>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"ms-auto cd-footer-nav\">\n\t\t\t\t\t\t<button v-if=\"showPreviousButton\" @click=\"previousContent()\" :disabled=\"loading\"\n\t\t\t\t\t\t\tclass=\"btn btn-outline-primary btn-sm btn-prev me-2\">\n\t\t\t\t\t\t\t<img src=\"../../assets/images/arrow-bottom.svg\">\n\t\t\t\t\t\t\t<span>Previous</span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button @click=\"nextContent()\" :disabled=\"loading\"\n\t\t\t\t\t\t\tclass=\"btn btn-outline-primary btn-next btn-sm\">\n\t\t\t\t\t\t\t<span>Next</span>\n\t\t\t\t\t\t\t<img src=\"../../assets/images/arrow-bottom.svg\">\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</div>\n\t</div>\n\t\n\t<div v-else>\n\t\t<div  class=\"loading-div\">\n\t\t\t\n\t\t\t<center><b-spinner class=\"loader\"> </b-spinner></center>\n\t\t</div>\n\t</div>\n</template>\n\n\n<script>\nimport { mapState, mapActions, mapMutations } from \"vuex\";\nimport ProductContentChaptersContentList from \"./ProductContentChaptersContentList.vue\";\nimport Treeselect from \"@riophae/vue-treeselect\";\nimport { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'\nimport ProductContentView from \"./ProductContentView.vue\";\nimport { ContentType } from \"../../constants/content\";\nimport Swal from \"sweetalert2\";\n\nexport default {\n\tname: \"ProductContentChapters\",\n\tdata() {\n\t\treturn {\n\t\t\tContentType,\n\t\t\tproductVariantID: null,\n\t\t\tselectedProductVariant: null,\n\t\t\tselectedChapterID: null,\n\t\t\tselectedContent:null,\n\t\t\tcontentId: null,\n\t\t\toptions: [],\n\t\t\tconfidenceLevel: {},\n\t\t\tcompletionStatus: {},\n\t\t\tfilters: {},\n\t\t\taccordionState:{},\n\t\t\tisFiltering:false\n\t\t\t\n\t\t};\n\t},\n\tcomponents: {\n\t\tProductContentChaptersContentList, Treeselect, ProductContentView, ContentType\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"getProductVariantById\", \"getProductVariantProgress\"]),\n\t\t...mapActions(\"content\", [\"getContentById\", \"setUserContentAction\", \"getUserContentAction\", \"getUserContentByProductVariant\", \"fetchUserAllContentActionsByID\"]),\n\t\t...mapActions(\"content\", [\"updateAction\"]),\n\t\t\n\t\tgetProductVariant: async function () {\n\t\t\tthis.selectedChapterID = null;\n\t\t\tif (this.productVariants && this.productVariants.items && this.productVariants.items[this.productVariantID + \"\"] && !this.selectedProductVariant) {\n\t\t\t\tthis.selectedProductVariant = this.productVariants.items[this.productVariantID + \"\"];\n\t\t\t\tif(this.selectedProductVariant && this.selectedProductVariant.productVariantItems && this.selectedProductVariant.productVariantItems.length>0){\n\t\t\t\t\tvar self=this;\n\t\t\t\t\t\n\t\t\t\t\t// temporary closed later will be handled by system parameters\n\t\t\t\t\t// setTimeout(function () {\n\t\t\t\t\t\t\n\t\t\t\t\t// \tif (self.$route.query.chapterId) {\n\t\t\t\t\t// \t\tself.accordionState[self.$route.query.chapterId]=true;\n\t\t\t\t\t// \t} else {\n\t\t\t\t\t// \t\tself.accordionState[self.selectedProductVariant.productVariantItems[0].id]=true;\n\t\t\t\t\t// \t}\n\n\n\t\t\t\t\t// }, 800);\n\t\t\t\t}\n\t\t\t\t\n\n\n\t\t\t\tthis.getUserContentByProductVariant({ productVariantID: this.productVariantID });\n\t\t\t\tawait this.fetchUserAllContentActionsByID({ productVariantID: this.productVariantID });\n\t\t\t\tif (this.$route.query.chapterId && this.selectedProductVariant.productVariantItems.find(x => x.id == this.$route.query.chapterId)) {\n\t\t\t\t{\n\n\t\t\t\t}\n\t\t\t\tthis.options = this.selectedProductVariant.productVariantItems.map(\n\t\t\t\t\tx => {\n\t\t\t\t\t\tx = this.content && this.content[x.id + \"\"] ? this.content[x.id + \"\"] : x;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: x.id, label: x.title, type: x.type,\n\t\t\t\t\t\t\tchildren: this.mapNestedChild(x)\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t},\n\t\tselectChapter: function (id) {\n\t\t\tif (id) {\n\t\t\tvar self=this;\n\t\t\tsetTimeout(function(){\n\t\t\t\tif (self.selectedChapterID != id) {\n\t\t\t\t\tself.selectedChapterID = id;\n\t\t\t\t \tif (self.$route.query.chapterId != id) {\n\t\t\t\t\t\tself.$router.push({ query: {...self.$route.query, [\"chapterId\"]: id } });\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tself.selectedChapterID = null;\n\t\t\t\t\tif (self.$route.query.chapterId == id && self.accordionState[id]==false) {\n\t\t\t\t\t\tself.$router.push({ query: { ...self.$route.query, [\"chapterId\"]: null } });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\n\t\t\t},200);\n\t\t}\n\t\t\t// if(!this.content[id+\"\"]){\n\t\t\t// \tthis.getContentById({id:id,extraParams:{ \"NLevel\":3}}).then((val)=>{\n\t\t\t// \t\tthis.options=this.selectedProductVariant.productVariantItems.map(\n\t\t\t// \t\t\tx=>{ \n\t\t\t// \t\t\t\tif(this.content && this.content[x.id+\"\"]){\n\t\t\t// \t\t\t\t\tx=this.content[x.id+\"\"];\n\t\t\t// \t\t\t\t}\n\t\t\t// \t\t\t\treturn { id:x.id,label:x.title,type:x.type,\n\t\t\t// \t\t\t\t\tchildren:this.mapNestedChild(x)\n\t\t\t// \t\t\t};\n\t\t\t// \t\t});\n\t\t\t// \t});\n\t\t\t// }\n\t\t},\n\t\toptionContentClass(type) {\n\t\t\tif (type.toLowerCase() == ContentType.RECORDED_VIDEOS.toLowerCase()) {\n\t\t\t\treturn 'video';\n\t\t\t}\n\t\t},\n\t\tloadChapterOptions({ action, parentNode, callback }) {\n\t\t\tif (action === LOAD_CHILDREN_OPTIONS) {\n\t\t\t\tif (this.content && this.content[parentNode.id]) {\n\t\t\t\t\tparentNode.children = this.mapNestedChild(this.content[parentNode.id]);\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tthis.getContentById({ id: parentNode.id, extraParams: { \"NLevel\": 3 } }).then(x => {\n\t\t\t\t\t\tparentNode.children = this.mapNestedChild(x);\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tisunderSelected(children){\n\t\t\tif(children && children.length>0 && children.find(x=>x.isSelected==true))\n\t\t\t{\n\t\t\t\tthis.selectedContent = children.find(x=>x.isSelected==true);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tupper(text) {\n\t\t\treturn text?.replace(\n\t\t\t\t/\\w\\S*/g,\n\t\t\t\tfunction (txt) {\n\t\t\t\t\treturn txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\tmapNestedChild: function (content) {\n\t\t\treturn content.type.toLowerCase() == 'directory' ?\n\t\t\t\t(content.children &&\n\t\t\t\t\tcontent.children.length > 0 ?\n\t\t\t\t\tcontent.children.map(x => { return { id: x.id,isSelected:(x.id==this.contentId), label: x.title,isDefaultExpanded:this.isunderSelected(this.mapNestedChild(x)), children: this.mapNestedChild(x), type: x.type } }) : null) : undefined;\n\t\t},\n\t\tsetContentConfidenceLevel: function (confidenceLevel) {\n\t\t\tif (this.contentId) {\n\t\t\t\tif (this.confidenceLevel[this.contentId] && this.confidenceLevel[this.contentId].toLowerCase() == confidenceLevel.toLowerCase()) {\n\t\t\t\t\tconfidenceLevel = 'Unrated';\n\t\t\t\t}\n\t\t\t\tthis.confidenceLevel[this.contentId] = confidenceLevel;\n\t\t\t\tvar self = this.confidenceLevel;\n\t\t\t\tthis.confidenceLevel = null;\n\t\t\t\tthis.confidenceLevel = self;\n\t\t\t\tvar contentAction = {\n\t\t\t\t\tContentID: this.contentId,\n\t\t\t\t\tDataType: \"confidence_level\",\n\t\t\t\t\tData: confidenceLevel\n\t\t\t\t}\n\t\t\t\tthis.setUserContentAction(contentAction).then((action) => {\n\t\t\t\t\tif (action && action.dataType && action.dataType.toLowerCase() == \"confidence_level\") {\n\t\t\t\t\t\tthis.confidenceLevel[action.contentID] = action.data;\n\t\t\t\t\t\tvar self = this.confidenceLevel;\n\t\t\t\t\t\tthis.confidenceLevel = null;\n\t\t\t\t\t\tthis.confidenceLevel = self;\n\t\t\t\t\t\tthis.updateAction(action);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tpreviousContent: function (isForce = false) {\n\t\t\t\n\t\t\tif(!isForce && !this.isAbleToSwitchContent)\n\t\t\t{\t\n\t\t\t\tthis.askToConfirmToSwitch(this.previousContent);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t\n\t\t\tthis.selectedChapterID = this.$route.query.chapterId;\n\t\t\tif (this.contentId && this.selectedChapterID && this.content[this.selectedChapterID]) {\n\n\t\t\t\tvar chapter = this.content[this.selectedChapterID];\n\t\t\t\tvar topic = chapter.children.find(x => x.children ? (x.children.find(k => k.id == this.contentId)) : false);\n\t\t\t\tvar contentIndexInTopic = topic.children?.indexOf(topic.children?.find(x => x.id == this.contentId)) ?? -1;\n\n\t\t\t\tif (contentIndexInTopic != null && contentIndexInTopic > -1) {\n\t\t\t\t\tif ((contentIndexInTopic - 1) > -1) {\n\t\t\t\t\t\tthis.contentId = topic.children[contentIndexInTopic - 1].id;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar topicIndexInChapter = this.content[this.selectedChapterID].children.indexOf(topic);\n\n\t\t\t\t\t\tif (topicIndexInChapter != null && topicIndexInChapter > -1) {\n\t\t\t\t\t\t\tif ((topicIndexInChapter - 1) > -1) {\n\t\t\t\t\t\t\t\tthis.contentId = chapter.children[topicIndexInChapter - 1].children[chapter.children[topicIndexInChapter - 1].children.length - 1].id;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvar chapterIndex = this.selectedProductVariant && this.selectedProductVariant.productVariantItems ?\n\t\t\t\t\t\t\t\t\tthis.selectedProductVariant.productVariantItems.indexOf(\n\t\t\t\t\t\t\t\t\t\tthis.selectedProductVariant.productVariantItems.find(x => x.id == this.selectedChapterID)\n\t\t\t\t\t\t\t\t\t) : -1;\n\t\t\t\t\t\t\t\tif (chapterIndex > -1 && (chapterIndex - 1) > -1) {\n\t\t\t\t\t\t\t\t\tthis.selectChapter(this.selectedProductVariant.productVariantItems[chapterIndex - 1].id);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tnextContent: function (isForce = false) {\n\t\t\tif(!isForce && !this.isAbleToSwitchContent)\n\t\t\t{\t\n\t\t\t\tthis.askToConfirmToSwitch(this.nextContent);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.selectedChapterID = this.$route.query.chapterId; \n\t\t\tif (this.contentId && this.selectedChapterID && this.content[this.selectedChapterID]) {\n\n\t\t\t\tvar chapter = this.content[this.selectedChapterID];\n\t\t\t\tvar topic = chapter.children.find(x => x.children ? (x.children.find(k => k.id == this.contentId)) : false);\n\t\t\t\tvar contentIndexInTopic = topic.children?.indexOf(topic.children?.find(x => x.id == this.contentId)) ?? -1;\n\n\t\t\t\tif (contentIndexInTopic != null && contentIndexInTopic > -1) {\n\t\t\t\t\tif (topic.children.length > (contentIndexInTopic + 1)) {\n\t\t\t\t\t\tthis.contentId = topic.children[contentIndexInTopic + 1].id;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar topicIndexInChapter = this.content[this.selectedChapterID].children.indexOf(topic);\n\t\t\t\t\t\tif (topicIndexInChapter != null && topicIndexInChapter > -1) {\n\t\t\t\t\t\t\tif (chapter.children.length > (topicIndexInChapter + 1)) {\n\t\t\t\t\t\t\t\tthis.contentId = chapter.children[topicIndexInChapter + 1].children[0].id;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvar chapterIndex = this.selectedProductVariant && this.selectedProductVariant.productVariantItems ?\n\t\t\t\t\t\t\t\t\tthis.selectedProductVariant.productVariantItems.indexOf(\n\t\t\t\t\t\t\t\t\t\tthis.selectedProductVariant.productVariantItems.find(x => x.id == this.selectedChapterID)\n\t\t\t\t\t\t\t\t\t) : -1;\n\t\t\t\t\t\t\t\tif (chapterIndex > -1 && (chapterIndex + 1) < this.selectedProductVariant.productVariantItems.length) {\n\t\t\t\t\t\t\t\t\tthis.selectChapter(this.selectedProductVariant.productVariantItems[chapterIndex + 1].id);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tgetConfidenceLevel: function () {\n\t\t\tif (!this.confidenceLevel[this.contentId]) {\n\t\t\t\tthis.getUserContentAction({ contentId: this.contentId, dataType: \"confidence_level\" }).then((userActions) => {\n\t\t\t\t\tvar userAction = userActions ? userActions.find(x => x.dataType == \"confidence_level\") : null;\n\t\t\t\t\tif (userAction) {\n\t\t\t\t\t\tthis.confidenceLevel[userAction.contentID] = userAction.data;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetCompletedStatus: function () {\n\t\t\tif (!this.completionStatus[this.contentId] && (!this.content[this.contentId] || (this.content[this.contentId].type && this.content[this.contentId].type.toLowerCase() != 'recordedvideos' && this.content[this.contentId].type.toLowerCase() != 'liveclass' && this.content[this.contentId].type.toLowerCase() != 'flashcard'))) {\n\t\t\t\tthis.getUserContentAction({ contentId: this.contentId, dataType: \"completionStatus\" }).then((userActions) => {\n\t\t\t\t\tvar userAction = userActions ? userActions.find(x => x.dataType == \"completionStatus\") : null;\n\t\t\t\t\tif (userAction) {\n\t\t\t\t\t\tthis.completionStatus[userAction.contentID] = userAction.data;\n\t\t\t\t\t\tvar self = this.completionStatus;\n\t\t\t\t\t\tthis.completionStatus = null;\n\t\t\t\t\t\tthis.completionStatus = self;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tmarkCompleted: function (isCompleted) {\n\t\t\tif (this.contentId) {\n\n\t\t\t\tvar contentAction = {\n\t\t\t\t\tContentID: this.contentId,\n\t\t\t\t\tDataType: \"completionStatus\",\n\t\t\t\t\tData: isCompleted ? \"completed\" : \"uncompleted\"\n\t\t\t\t}\n\t\t\t\tthis.completionStatus[this.contentId] = isCompleted ? \"completed\" : \"uncompleted\";\n\t\t\t\tvar self = this.completionStatus;\n\t\t\t\tthis.completionStatus = null;\n\t\t\t\tthis.completionStatus = self;\n\n\t\t\t\tthis.setUserContentAction(contentAction).then((action) => {\n\t\t\t\t\tif (action && action.dataType && action.dataType.toLowerCase() == \"completionstatus\") {\n\t\t\t\t\t\tthis.completionStatus[action.contentID] = action.data;\n\t\t\t\t\t\tvar self = this.completionStatus;\n\t\t\t\t\t\tthis.completionStatus = null;\n\t\t\t\t\t\tthis.completionStatus = self;\n\t\t\t\t\t\tthis.getProductVariantProgress(this.productVariantID);\n\n\t\t\t\t\t\tthis.updateAction(action);\n\t\t\t\t\t}\n\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\thasContent(){\n\t\t\treturn this.selectedProductVariant && this.selectedProductVariant.productVariantItems && this.selectedProductVariant.productVariantItems.find(x=>this.content[x.id]);\n\t\t},\n\t\tsetOrRemoveFilter(filter, filterType) {\n\t\t\tvar currentFilters = this.filters;\n\n\t\t\tif (!currentFilters[filterType]) {\n\t\t\t\tcurrentFilters[filterType] = [filter];\n\t\t\t} else {\n\t\t\t\tconst filterIndex = currentFilters[filterType].indexOf(filter);\n\n\t\t\t\tif (filterIndex === -1) {\n\t\t\t\t\tcurrentFilters[filterType].push(filter);\n\t\t\t\t} else {\n\t\t\t\t\tcurrentFilters[filterType].splice(filterIndex, 1);\n\n\t\t\t\t\tif (currentFilters[filterType].length === 0) {\n\t\t\t\t\t\tdelete currentFilters[filterType];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.filters = {};\n\t\t\tvar self = this;\n\t\t\tsetTimeout(function () {\n\n\t\t\t\tself.filters = currentFilters;\n\t\t\t}, 5);\n\n\t\t},\n\t\tisFilterSelected(filter, filterType) {\n\t\t\tif (this.filters[filterType]) {\n\t\t\t\tconst lowerCaseFilter = filter.toLowerCase();\n\t\t\t\treturn this.filters[filterType].some(f => f.toLowerCase() === lowerCaseFilter);\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\tshowSwalErrorMessage({ title, message, buttonText = null }) {\n\t\t\tconst swalOptions = {\n\t\t\t\ttitle: title,\n\t\t\t\ttext: message,\n\t\t\t\ticon: \"success\",\n\t\t\t\tdangerMode: true,\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\tallowEscapeKey: true,\n\t\t\t};\n\n\t\t\tif (buttonText !== null) {\n\t\t\t\tswalOptions.confirmButtonText = buttonText;\n\t\t\t\tswalOptions.confirmButtonColor = \"#FF0000\";\n\t\t\t}\n\n\t\t\tSwal.fire(swalOptions).then((result) => {\n\t\t\t});\n\t\t},\n\t\thandleInput() {\n\t\t\tif (this.filters.searchText === '') {\n\t\t\t\tdelete this.filters.searchText;\n\t\t\t}\n\t\t},\n\t\tresetFilters() {\n\t\t\tthis.filters = {}\n\t\t\t// this.showSwalErrorMessage({\n\t\t\t// \ttitle: \"Filters Cleared\",\n\t\t\t// \tmessage: \"All the configured filters has been cleared..\",\n\t\t\t// \tbuttonText: \"OK\"\n\t\t\t// })\n\t\t},\n\t\tcontentUnderChapterCount(contentId) {\n\t\t\tif (this.content[contentId] && this.content[contentId].children && this.content[contentId].children.length > 0) {\n\t\t\t\treturn this.content[contentId].children.map(x => x.children && x.children.length>0 ? this.applyFilter(this.filterChildrens(x.children)).length : 0).reduce((partialSum, a) => partialSum + a, 0);\n\t\t\t}\n\t\t\treturn 0;\n\t\t},\t\t\n\t\tfilterChildrens(list) {\n\t\t\treturn list.filter((item) => {\n\t\t\t\tif (item.type !== 'RecordedVideos') {\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t\telse if (item.extraProperties && item.extraProperties.Status && item.extraProperties.Status.toLowerCase() === 'processed') {\n\t\t\t\t\treturn item\n\t\t\t\t}\n\t\t\t});\n\t\t},\n        completedContentUnderChapterCount(contentId) {\n\t\t\tif (this.content[contentId] && this.content[contentId].children && this.content[contentId].children.length > 0) {\n\t\t\t\treturn this.content[contentId].children.map(x => x.children && x.children.length>0 ? this.applyFilter(this.filterChildrens(x.children))\n\t\t\t\t.filter(j=>this.contentActions[j.id]?.find(x=>x.dataType==\"completionStatus\" && x.data.toLowerCase()=='completed') || this.isLiveClassContentAndEnded(j))\t\t\t\t\n\t\t\t\t.length : 0).reduce((partialSum, a) => partialSum + a, 0);\n\t\t\t}\n\t\t\treturn 0;\n\t\t},\n\t\tisLiveClassContentAndEnded(item){\n\t\t\tvar currentDate = new Date();\t\t\t\n\t\t\tconst end = new Date(item.availableTo);\n\t\t\treturn item.type === ContentType.LIVE_CLASS && item.availableTo && currentDate > new Date(item.availableTo);\n\t\t},\n\t\tapplyFilter(list) {\n\t\t\tconst filters = this.filters;\n\t\t\tvar self=this;\n\t\t\tif(filters.confidence_level && filters.confidence_level.length>0)\n\t\t\t{\n\t\t\t\tlist=list.filter(x=>\n\t\t\t\t\t(filters.confidence_level.indexOf(\"unrated\")>-1  && !(self.contentActions[x.id]?.find(x=>x.dataType==\"confidence_level\"))) || \n\t\t\t\t\t(filters.confidence_level.indexOf(\"high\")>-1  && self.contentActions[x.id]?.find(x=>x.dataType==\"confidence_level\" && x.data.toLowerCase()=='high')) || \n\t\t\t\t\t(filters.confidence_level.indexOf(\"medium\")>-1  && self.contentActions[x.id]?.find(x=>x.dataType==\"confidence_level\" && x.data.toLowerCase()=='medium')) || \n\t\t\t\t\t(filters.confidence_level.indexOf(\"low\")>-1  && self.contentActions[x.id]?.find(x=>x.dataType==\"confidence_level\" && x.data.toLowerCase()=='low')) \n\t\t\t\t);\n\t\t\t}\n\n\t\t\t\n\t\t\tif(filters.completionStatus && filters.completionStatus.length>0)\n\t\t\t{\n\t\t\t\tlist=list.filter(x=>\n\t\t\t\t\t(filters.completionStatus.indexOf(\"not_started\")>-1  && !(self.contentActions[x.id]?.find(x=>x.dataType==\"completionStatus\" && x.data.toLowerCase()=='completed'))) || \n\t\t\t\t\t(filters.completionStatus.indexOf(\"completed\")>-1  && self.contentActions[x.id]?.find(x=>x.dataType==\"completionStatus\" && x.data.toLowerCase()=='completed')) \n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif(filters.bookmark_content && filters.bookmark_content.length>0)\n\t\t\t{\n\t\t\t\tlist=list.filter(x=>\n\t\t\t\t\t(filters.bookmark_content.indexOf(\"bookmark\")>-1  && self.contentActions[x.id]?.find(x=>x.dataType==\"bookmark\" && x.data.toLowerCase()=='true')) \n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif(filters.searchText)\n\t\t\t{\n\t\t\t\tlist=list.filter(x=>x.title.toLowerCase().indexOf(filters.searchText.toLowerCase())>-1);\n\t\t\t}\n\n\t\t\treturn list;\n\t\t\t\n\t\t},\n\t\tisAccordionVisible(id)\n\t\t{\n\n\t\t\tif(this.accordionState[id]!=null)\n\t\t\t{\n\t\t\t\treturn this.accordionState[id];\n\t\t\t}\n\n\t\t\tif((this.$route.query.chapterId!=null && this.$route.query.chapterId==id) || (this.$route.query.chapterId==null && this.accordionState[id]==null))\n\t\t\t{\n\t\t\t\tthis.accordionState[id]=true;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tshowAttachments: function() {\n\t\t\t//var el = document.getElementById('instructorAttachmentsBtn');\n\t\t\tvar el = this.$refs.showAttachmentsBtn;\n\t\t\tif(el.classList.contains('active')){\n\t\t\t\tdocument.getElementById('attachments-modal').classList.remove('active');\n\t\t\t\tel.classList.remove('active');\n\t\t\t}else{\n\t\t\t\tdocument.getElementById('attachments-modal').classList.add('active');\n\t\t\t\tel.classList.add('active');\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t},\n\t\taskToConfirmToSwitch(onSwitch){\n\t\t\tSwal.fire({\n\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\ttext: \"You won't be able to resume this!\",\n\t\t\t\ticon: \"warning\",\n\t\t\t\tshowCancelButton: true,\n\t\t\t\tconfirmButtonColor: \"#3085d6\",\n\t\t\t\tcancelButtonColor: \"#d33\",\n\t\t\t\tconfirmButtonText: \"Yes\"\n\t\t\t}).then((result) => {\n\t\t\t\tif (result.isConfirmed) {\n\t\t\t\t\tonSwitch(true);\t\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"content\", [\"content\", \"loading\",\"contentActions\"]),\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\n\t\tshowPreviousButton() {\n\t\t\ttry{\n\t\t\tif (this.contentId && this.selectedChapterID && this.content[this.selectedChapterID]) {\n\t\t\t\tlet firstChapter = Object.entries(this.productVariants.items)[0][1].productVariantItems[0];\n\t\t\t\tlet firstContent = this.content[firstChapter.id].children[0].children[0]\n\t\t\t\t\n\t\t\t\treturn firstContent.id !== this.contentId;\n\t\t\t}}\n\t\t\tcatch(e){\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tisAbleToSwitchContent(){\n\t\t\tif( this.contentId && this.content[this.contentId] && this.content[this.contentId].type.toLowerCase()=='quiz'  && this.$route.query.action?.toLowerCase()=='attempt')\n\t\t\t{\t\t\t\t\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\tisEbookDigitalTheme() {\n\t\t\treturn /\\/ebook/i.test(this.$route.path);\n\t\t}\n\t},\n\twatch: {\n\t\tproductVariants: function () {\n\t\t\tif (!this.selectedProductVariant) {\n\t\t\t\tthis.getProductVariant();\n\t\t\t}\n\t\t},\n\t\tselectedProductVariant:function(){\n\t\t\t\n\t\t},\n\t\tfilters:function(){\n\t\t\tvar self=this;\n\t\t\t\n\t\t\tObject.keys(this.accordionState).forEach(function(val,ind,arr){\n\t\t\t\tself.accordionState[val]=true;\t\t\t\n\t\t\t});\n\t\t\tvar temp=self.accordionState;\n\t\t\t\tself.accordionState=null;\n\t\t\t\tself.accordionState=temp;\n\t\t\t\tdebugger;\n\n\t\t},\n\t\tselectedChapterID(){\n\t\t\tvar self=this;\n\n\t\t\tObject.keys(this.accordionState).forEach(function(val,ind,arr){\n\t\t\t\tself.accordionState[val]=false;\n\t\t\t\tif(val==self.selectedChapterID)\n\t\t\t\t{\n\t\t\t\t\tself.accordionState[val]=true;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t$route(to, from) {\n\t\t\tif (this.$route.params.id && this.productVariantID != this.$route.params.id) {\n\t\t\t\tthis.productVariantID = this.$route.params.id;\n\t\t\t\tthis.selectedProductVariant = null;\n\t\t\t\tthis.getProductVariant();\n\t\t\t}\n\n\n\n\n\t\t\tif (this.contentId != this.$route.query.contentId) {\n\t\t\t\tthis.contentId = this.$route.query.contentId;\n\t\t\t\tif (this.contentId && this.selectedProductVariant) {\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tthis.options = this.selectedProductVariant.productVariantItems.map(\n\t\t\t\t\t\tx => {\n\t\t\t\t\t\t\tx = this.content && this.content[x.id + \"\"] ? this.content[x.id + \"\"] : x;\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tid: x.id, label: x.title, type: x.type,\n\t\t\t\t\t\t\t\tchildren: self.mapNestedChild(x)\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t},\n\t\tcontentId: function () {\n\t\t\tif (this.$route.query.contentId != this.contentId) {\n\t\t\t\tthis.$router.push({ query: { chapterId: this.selectedChapterID, contentId: this.contentId } })\n\t\t\t}\n\t\t\tthis.getConfidenceLevel();\n\t\t\tthis.getCompletedStatus();\n\t\t\tvar self = this;\n\t\t\tthis.options = this.selectedProductVariant.productVariantItems.map(\n\t\t\t\tx => {\n\t\t\t\t\tx = this.content && this.content[x.id + \"\"] ? this.content[x.id + \"\"] : x;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: x.id, label: x.title, type: x.type,\n\t\t\t\t\t\tchildren: self.mapNestedChild(x)\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t}\n\t},\n\tcreated() {\n\t\tif (this.$route.params.id && this.productVariantID != this.$route.params.id) {\n\t\t\tthis.productVariantID = this.$route.params.id;\n\t\t\tthis.getProductVariant();\n\t\t}\n\t\t\n\n\t\tif (this.$route.query.contentId && this.contentId != this.$route.query.contentId) {\n\t\t\tthis.contentId = this.$route.query.contentId;\n\t\t}\n\t},\n\tmounted() {\n\t\t\n\t}\n};\n</script>\n\n<style scoped>\n\n.eb-chapter-toggle .accordion-button {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  width: 100%;\n}\n\n.eb-chapter-toggle .accordion-button .head-text {\n  color: #231F20;\n  font-family: 'Circular Std', sans-serif;\n  font-size: 15px;\n  font-style: normal;\n  font-weight: 500;\n  line-height: 1.2;\n  flex-grow: 1;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  display: -webkit-box;\n  -webkit-line-clamp: 3;\n  -webkit-box-orient: vertical;\n  white-space: normal;\n  margin-right: 10px; \n}\n\n.eb-chapter-toggle .accordion-button .side-text {\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.eb-chapter-toggle .accordion-button .completed-alert {\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.spinner-border {\n\tborder-color: var(--primary-color);\n\tborder-right-color: transparent;\n}\n\n.vs__clear {\n\tdisplay: none;\n}\n\n.select-head {\n\tcolor: var(--primary-color);\n\tfont-weight: bold;\n}\n\n.vue-treeselect__control {\n\tborder: 0px;\n}\n\n.vue-treeselect__control {\n\tborder: 0px;\n}\n\n.eb-filters .form-label {\n\tmargin-bottom: 0;\n\theight: 24px;\n}\n\n\n.ebook-digital .eb-filters > *\n{\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-right: calc(var(--bs-gutter-x)* .5);\n    padding-left: calc(var(--bs-gutter-x)* .5);\n    margin-top: var(--bs-gutter-y);\n}\n\n.ebook-digital .eb-filters > *:last-child,\n.ebook-digital .eb-filters > *:nth-last-child(2),\n.ebook-digital .eb-filters > *:nth-last-child(3) {\n    margin-top: 0; \n}\n\n\n.eb-filter-area .btn-group>label:first-of-type {\n\tborder-top-left-radius: 4px !important;\n\tborder-bottom-left-radius: 4px !important;\n}\n\n.eb-filter-area .btn-check:checked+.btn,\n.eb-filter-area .btn-check:checked+.btn:hover {\n\t/* background-color: #607D8B;\n    border-color: #607D8B; */\n\tbackground-color: var(--primary-color);\n\tborder-color: var(--primary-color);\n\tcolor: white;\n}\n\n.eb-filter-area .btn-check:checked+.btn svg path {\n\tfill: white;\n\tstroke: var(--primary-color);\n}\n\n.eb-filter-area .btn-group>.btn {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\theight: 36px;\n}\n\n.eb-filter-area .btn-check+.btn:hover {\n\tcolor: inherit;\n\tbackground-color: var(--gray-light-hover);\n\tborder-color: var(--border-color);\n}\n\n.eb-filter-area .confidence-group>.btn span {\n\tpadding: 2px 0 0 4px;\n}\n\n.eb-filter-area .confidence-group>.btn svg,\n.eb-filter-area .btn-group>.btn img {\n\theight: 14px;\n\twidth: auto;\n}\n\n.eb-filter-area .btn-check:checked+.btn img {\n\tfilter: brightness(0) invert(1);\n}\n\n\n.eb-filters .filter-bookmark {\n\tposition: relative;\n\tpadding: 24px 0 0 0;\n\twidth: 100%;\n}\n\n.filter-bookmark .form-check-label {\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n\theight: 36px;\n}\n\n.filter-bookmark input {\n\tposition: absolute;\n\twidth: 0;\n\tleft: -99999px;\n}\n\n.filter-bookmark .check {\n\twidth: 16px;\n\theight: 16px;\n\tline-height: 14px;\n\ttext-align: center;\n\tborder: solid 1px #11AE00;\n\tborder-radius: 3px;\n}\n\n.filter-bookmark .check img {\n\theight: 10px;\n\topacity: 0;\n}\n\n.filter-bookmark .bookmark-checkbox:checked+.form-check-label .check img {\n\topacity: 1;\n}\n\n.filter-bookmark :not(.btn-check)+.btn:active {\n\tcolor: inherit;\n\tbackground-color: var(--btn-outline-primary);\n\tborder-color: var(--border-color);\n}\n\n.completed-alert {\n\tcolor: var(--primary-color);\n\tfont-weight: bold;\n}\n\n.completed-break {\n\theight: 8px;\n}\n\n.uncompleted-btn {\n\tmargin-top: -10px;\n\tfont-size: smaller;\n\tfont-weight: lighter;\n\tcursor: pointer;\n\tcolor: var(--secondary-color);\n}\n\n.mark-complete-btn {\n\tposition: relative;\n\tpadding: 6px 15px 4px 34px;\n\ttext-align: left;\n}\n\n.mark-complete-btn span,\n.mark-complete-btn img {\n\twidth: 16px;\n\theight: 16px;\n\tdisplay: inline-block;\n\tborder-radius: 50%;\n\tborder: solid 1px var(--border-color);\n\tposition: absolute;\n\tleft: 10px;\n\ttop: 8px;\n}\n\n.mark-complete-btn img {\n\tborder: none;\n\tborder-radius: 0;\n\twidth: 18px;\n\theight: 18px;\n\tleft: 9px;\n\ttop: 7px;\n}\n\n.mark-complete-btn.completed,\n.mark-complete-btn.completed:hover {\n\tborder-color: var(--confidence-label-high);\n\tcolor: var(--confidence-label-high);\n\tbackground-color: white;\n}\n\n.eb-chapter-toggle .accordion-button:not(.collapsed)::after,\n.eb-chapter-toggle .accordion-button::after {\n\tbackground: rgba(255, 255, 255, 1);\n\tborder: 1.5px solid black;\n\tcolor: black;\n}\n.accordion-item.eb-chapter-toggle{\n\tfilter: drop-shadow(0px 3px 6px rgba(213, 213, 213, 0.16));\n}\n.accordion-button:not(.collapsed) {\n\tcolor: black;\n\theight: auto;\n\tmin-height: 42px;\n}\n\nbutton.btn.accordion-button.btn-none.btn-block.collapsed,\nbutton.btn.accordion-button.btn-none.btn-block.not-collapsed {\n    height: auto;\n\tmin-height: 42px;\n\tpadding-top: 10px;\n    padding-bottom: 10px;\n}\n\n\n.show-attachments{\n\tcursor: pointer;\n}\n.show-attachments img{\n\tmax-width:20px;\n}\n.show-attachments .attachment-close-icon{\n\tmax-width:12px;\n}\n.show-attachments .attachment-close-icon{\n\tdisplay: none;\n}\n.show-attachments.active .attachment-icon{\n\tdisplay: none;\n}\n.show-attachments.active .attachment-close-icon{\n\tdisplay: block;\n}\n\n.ebook-digital .eb-filter-toggle {\n\t\tpadding-right: 30px;\n\t}\n\n@media (max-width:768px){\n\n\t\n\t.show-attachments span{\n\t\tdisplay: none;\n\t}\n\t.show-attachments{\n\t\twidth: 50px;\n    \tflex-shrink: 0;\n    \tjustify-content: center;\n\t}\n\n\t.ebook-digital .eb-filters > *\n\t{\n\t\tflex-shrink: 0;\n\t\twidth: 100%;\n\t\tmax-width: 100%;\n\t\tpadding-right: 10px;\n\t\tpadding-left: 10px;\n\t\tmargin-top: var(--bs-gutter-y);\n\t}\n\n\t.ebook-digital .eb-filters > *:last-child,\n\t.ebook-digital .eb-filters > *:nth-last-child(2),\n\t.ebook-digital .eb-filters > *:nth-last-child(3) {\n\t\tmargin-top: 8px; \n\t}\n}\n</style>\n\n<style>\n.cd-chapter-selection .vue-treeselect__control {\n\theight: 36px;\n\tborder: none;\n}\n\n.cd-chapter-selection .vue-treeselect__value-container {\n\tpadding-left: 35px;\n}\n\n.cd-chapter-selection .vue-treeselect__value-container:before {\n\tdisplay: block;\n\twidth: 20px;\n\theight: 20px;\n\tposition: absolute;\n\tleft: 6px;\n\ttop: 9px;\n\tcontent: '';\n\tbackground-image: url('../../assets/images/list-red-icon.svg');\n\tbackground-repeat: no-repeat;\n\tbackground-size: contain;\n\n}\n\n.cd-chapter-selection .vue-treeselect__single-value {\n\tpadding-left: 35px;\n\tpadding-right: 10px;\n\tline-height: 38px;\n\tfont-weight: 600;\n\tcolor: var(--primary-color);\n}\n\n.cd-chapter-selection .vue-treeselect--disabled .vue-treeselect__single-value {\n\tpadding-left: 0;\n}\n\n.cd-chapter-selection .vue-treeselect--searchable .vue-treeselect__input-container {\n\tpadding-left: 0;\n}\n\n.cd-chapter-selection .vue-treeselect__input-container .vue-treeselect__input,\n.cd-chapter-selection .vue-treeselect__input-container .vue-treeselect__input:focus,\n.cd-chapter-selection .vue-treeselect--focused:not(.vue-treeselect--open) .vue-treeselect__control {\n\toutline: none !important;\n\tbox-shadow: none !important;\n}\n\n.cd-chapter-selection .vue-treeselect__control-arrow {\n\twidth: 18px;\n\theight: 18px;\n\tbackground-image: url('../../assets/images/arrow-bottom.svg');\n\tbackground-repeat: no-repeat;\n\tbackground-position: center center;\n}\n\n.cd-chapter-selection .vue-treeselect__option {\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\tborder-bottom: solid 1px var(--border-color);\n\tcursor: pointer !important;\n\tborder-left: solid 3px transparent;\n}\n\n.cd-chapter-selection .vue-treeselect__option:hover {\n\tbackground: #f5f5f5;\n}\n\n.cd-chapter-selection .vue-treeselect__option--highlight {\n\tbackground: inherit;\n}\n\n.cd-chapter-selection .vue-treeselect__option--selected {\n\tborder-left-color: var(--primary-color);\n}\n\n.cd-chapter-selection .vue-treeselect__option-arrow {\n\twidth: 20px;\n\theight: 20px;\n\tbackground-image: url('../../assets/images/plus-icon.svg');\n\tbackground-repeat: no-repeat;\n\tbackground-position: center center;\n\tbackground-size: 70%;\n\tcursor: pointer !important;\n}\n\n.cd-chapter-selection .vue-treeselect__option-arrow--rotated {\n\tbackground-image: url('../../assets/images/minus-icon.svg');\n\tbackground-size: 66%;\n}\n\n.cd-chapter-selection .vue-treeselect__option-arrow path,\n.cd-chapter-selection .vue-treeselect__control-arrow path {\n\tdisplay: none;\n}\n\n.cd-chapter-selection .vue-treeselect__label {\n\theight: 40px;\n\tpadding-left: 10px;\n\tcursor: pointer !important;\n}\n\n.cd-chapter-selection .vue-treeselect__option-arrow-container {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.cd-chapter-selection .vue-treeselect--open-below .vue-treeselect__menu {\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n\tborder-left: none;\n\tborder-bottom: none;\n\tpadding-bottom: 0;\n\tpadding-top: 0;\n\tborder-top-color: var(--border-color);\n}\n\n.cd-chapter-selection .vue-treeselect--open-below .vue-treeselect__menu .chapter {\n\tfont-weight: bold;\n}\n\n.option-icon {\n\twidth: 19px;\n\theight: 21px;\n}\n\n</style>\n<style>\n\n.mark-complete-btn.chapter{\n\t\n    font-size: 12px;\n\tpadding-top: 1px;\n\tpadding-bottom: 1px;\n    padding-right: 7px;\n\tpadding-left:32px;\n}\n.mark-complete-btn.chapter img {\n    top: 3px;\n\twidth:16px;\n\theight:16px;\n\tmargin-right:2px;\n}\n</style>","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentChapters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentChapters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentChapters.vue?vue&type=template&id=2f858580&scoped=true&\"\nimport script from \"./ProductContentChapters.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentChapters.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentChapters.vue?vue&type=style&index=0&id=2f858580&prod&scoped=true&lang=css&\"\nimport style1 from \"./ProductContentChapters.vue?vue&type=style&index=1&id=2f858580&prod&lang=css&\"\nimport style2 from \"./ProductContentChapters.vue?vue&type=style&index=2&id=2f858580&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2f858580\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane\",attrs:{\"id\":\"bookmarksPane\",\"role\":\"tabpanel\",\"aria-labelledby\":\"bookmarksTab\",\"tabindex\":\"0\"}},[(_vm.loading)?_c('center',{staticClass:\"loading\"},[_c('b-spinner',{attrs:{\"large\":\"\"}})],1):(_vm.hasBookmarks())?_c('div',[_c('div',{staticClass:\"eb-header\"},[_c('h5',[_vm._v(\"Bookmarks\")])]),_c('div',{staticClass:\"eb-content chapter-details bm-details\"},[_c('div',{staticClass:\"cd-body eb-bookmarks px-3 py-2 round\"},[_c('div',{staticClass:\"bookmarks-table-wrapper\"},[_c('ul',{staticClass:\"eb-table bookmarks-table\"},[_c('li',{staticClass:\"thead\"},[_c('div',{staticClass:\"t-cell\"},[_vm._v(\"Name\")]),_c('div',{staticClass:\"t-cell\"},[_vm._v(\"Bookmarked\")]),_c('div',{staticClass:\"t-cell\"})]),_vm._l((_vm.bookmarks),function(bookmark){return _c('li',{staticClass:\"t-row\"},[_c('div',{staticClass:\"t-cell\"},[_c('a',{staticClass:\"red\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.onBookmarkContentView(bookmark)}}},[_vm._v(_vm._s(bookmark.title))])]),_c('div',{staticClass:\"t-cell\"},[_vm._v(_vm._s(_vm.getDateOnly(bookmark.performAt)))]),_c('div',{staticClass:\"t-cell\"},[_c('div',{staticClass:\"eb-edit-bar\"},[_c('button',{staticClass:\"eb-notes-view\",on:{\"click\":function($event){return _vm.onBookmarkContentView(bookmark)}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('button',{staticClass:\"eb-notes-delete\",on:{\"click\":function($event){return _vm.deleteBookmark(bookmark)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})])])])])})],2)])])])]):_c('center',{staticClass:\"no-content text-center\"},[_c('h4',{staticClass:\"mt-4\"},[_vm._v(\"No Bookmarks Found\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n    <div class=\"tab-pane\" id=\"bookmarksPane\" role=\"tabpanel\" aria-labelledby=\"bookmarksTab\" tabindex=\"0\">\n        <center v-if=\"loading\" class=\"loading\">\n\t\t    <b-spinner large></b-spinner>\n\t    </center>\n        <div v-else-if=\"hasBookmarks()\">\n\n            <div class=\"eb-header\">\n                <h5>Bookmarks</h5>\n            </div>\n            <div class=\"eb-content chapter-details bm-details\">\n                <div class=\"cd-body eb-bookmarks px-3 py-2 round\">\n                    <div class=\"bookmarks-table-wrapper\">\n                        <ul class=\"eb-table bookmarks-table\">\n                            <li class=\"thead\">\n                                <div class=\"t-cell\">Name</div>\n                                <div class=\"t-cell\">Bookmarked</div>\n                                <div class=\"t-cell\"></div>\n                            </li>\n                            <li v-for=\"bookmark in bookmarks\" class=\"t-row\">\n                                <div class=\"t-cell\">\n                                    <a role=\"button\" @click=\"onBookmarkContentView(bookmark)\" \n                                       class=\"red\">{{ bookmark.title }}</a>\n                                </div>\n                                <div class=\"t-cell\">{{ getDateOnly(bookmark.performAt) }}</div>\n                                <div class=\"t-cell\">\n                                    <div class=\"eb-edit-bar\">\n                                        <button class=\"eb-notes-view\" @click=\"onBookmarkContentView(bookmark)\"><i\n                                                class=\"fas fa-eye\"></i></button>\n                                        <button class=\"eb-notes-delete\" @click=\"deleteBookmark(bookmark)\">\n                                            <i class=\"fas fa-trash-alt\"></i></button>\n                                    </div>\n                                </div>\n                            </li>\n\n                        </ul>\n\n\n\n                    </div>\n\n                </div>\n            </div><!-- /eb-content -->\n        </div><!-- /tab-pane Bookmarks -->\n\n        <center v-else class=\"no-content text-center\">\n            <h4 class=\"mt-4\">No Bookmarks Found</h4>\n        </center>\n    </div>\n</template>\n\n<script>\n\nimport { mapActions } from 'vuex';\n\nexport default {\n    name: \"ProductContentChaptersBookmarks\",\n    props: {\n        active: Boolean,\n        productVariantID: String,\n    },\n    data() {\n        return {\n            loading: false,\n            bookmarks: []\n        };\n    },\n    methods: {\n        ...mapActions(\"content\", [\"fetchUserContentActionsByID\", \"setUserContentAction\"]),\n        fetchData() {\n            this.loading = true;\n            this.fetchUserContentActionsByID({ productVariantID: this.productVariantID, dataType: \"bookmark\" }).then((data) => {\n                console.log(\"Actions Data: \", data);\n\n                var tempBookmarks = [];\n\n                for (let item of data) {\n                    var content = item.content;\n\n                    var bookmarkData =\n                    {\n                        \"id\": content.id,\n                        \"type\": content.type,\n                        \"title\": content.title,\n                        \"performAt\": item.performAt,\n                        \"isBookmarked\": item.data == \"true\",\n                        \"topLevelContentID\": content.topLevelContentID,\n                    }\n\n                    if (bookmarkData.isBookmarked) {\n                        tempBookmarks.push(bookmarkData);\n                    }\n                }\n                this.bookmarks = tempBookmarks;\n                this.loading = false;\n            }).catch((error) => {\n                this.loading = false;\n                console.error(\"Error fetching user content actions: \", error);\n            });\n        },\n        getDateOnly(dateString) {\n            var date = new Date(dateString);\n            var options = { day: \"2-digit\", month: \"2-digit\", year: \"numeric\" };\n            var formattedString = date.toLocaleDateString(undefined, options);\n            return formattedString;\n        },\n        onBookmarkContentView(content) {\n            this.$router.push({\n                query: {\n                    tab: 'tableofcontents',\n                    chapterId: content.topLevelContentID,\n                    contentId: content.id\n                }\n            });\n        },\n\n        deleteBookmark(bookmark) {\n            var contentAction = {\n                ContentID: bookmark.id,\n                DataType: \"bookmark\",\n                Data: \"false\",\n            }\n\n            this.setUserContentAction(contentAction).then((action) => {\n                if (action && action.dataType && action.dataType.toLowerCase() == \"bookmark\") {\n                    var index = this.bookmarks.findIndex((item) => item.id === bookmark.id)\n                    if (index !== null && index >= 0 && index < this.bookmarks.length && this.bookmarks.length > 0) {\n                        this.bookmarks.splice(index, 1);\n                        var temps=this.bookmarks;\n                        this.bookmarks=null;\n                        this.bookmarks=temps;\n                    }\n\n                }\n            });\n        },\n\n        hasBookmarks() {\n            return this.bookmarks.length > 0;\n        },\n    },\n    computed: {\n    },\n    watch: {\n        active: function () {\n            if (this.active) {\n                this.fetchData()\n            }\n        },\n        productVariantID: function () { \n            if (this.active) {\n                this.fetchData()\n            }\n    }\n    },\n    components: {},\n    created() {\n        if (this.active) {\n            this.fetchData()\n        }\n    },\n    mounted() { \n    }\n};\n</script>\n\n<style scoped>\n.t-row .t-cell {\n    padding-top: 30px;\n    padding-bottom: 30px;\n    border-bottom: 0.3px solid var(--border-color);\n    border-top: 0.3px solid var(--border-color);\n}\n\n.no-content {\n    margin-top: 50px;\n    margin-bottom: 50px;\n}\n\n.loading {\n\tmargin-top: 200px;\n\tmargin-bottom: 200px;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentChaptersBookmarks.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentChaptersBookmarks.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentChaptersBookmarks.vue?vue&type=template&id=d4dba532&scoped=true&\"\nimport script from \"./ProductContentChaptersBookmarks.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentChaptersBookmarks.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentChaptersBookmarks.vue?vue&type=style&index=0&id=d4dba532&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"d4dba532\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane\",attrs:{\"id\":\"confidenceLevelsPane\",\"role\":\"tabpanel\",\"aria-labelledby\":\"confidenceLevelsTab\",\"tabindex\":\"0\"}},[(_vm.loading)?_c('center',{staticClass:\"loading\"},[_c('b-spinner',{attrs:{\"large\":\"\"}})],1):(_vm.hasConfidences())?_c('div',[_c('div',{staticClass:\"eb-header\"},[_c('h5',[_vm._v(\"Understanding Levels\")])]),_c('div',{staticClass:\"eb-content\"},[_c('div',{staticClass:\"accordion accordion-flush\",attrs:{\"id\":\"confidenceLevels\"}},_vm._l((_vm.confidenceLevels),function(confidence,index){return _c('div',[_c('div',{staticClass:\"accordion-item eb-chapter-toggle\"},[_c('h2',{staticClass:\"accordion-header eb-toggle-header\"},[_c('button',{staticClass:\"accordion-button\",attrs:{\"type\":\"button\",\"data-bs-toggle\":\"collapse\",\"data-bs-target\":'#confidence-' + index,\"aria-expanded\":\"false\",\"aria-controls\":'confidence-' + index}},[_c('span',[_vm._v(_vm._s(confidence.title))])])]),_c('div',{staticClass:\"accordion-collapse eb-toggle-body collapse show\",attrs:{\"id\":'confidence-' + index}},[_c('div',{staticClass:\"accordion-body py-2 px-3\"},_vm._l((confidence.content),function(content){return _c('div',[_c('p',[_c('a',{staticClass:\"red\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.onConfidenceLinkTap(content)}}},[_vm._v(\" \"+_vm._s(content.title)+\" \")])])])}),0)])])])}),0)])]):_c('center',{staticClass:\"no-content text-center\"},[_c('h4',{staticClass:\"mt-4\"},[_vm._v(\"No Understanding Level Listed\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n    <div class=\"tab-pane\" id=\"confidenceLevelsPane\" role=\"tabpanel\" aria-labelledby=\"confidenceLevelsTab\" tabindex=\"0\">\n\n        <center v-if=\"loading\" class=\"loading\">\n            <b-spinner large></b-spinner>\n        </center>\n        <div v-else-if=\"hasConfidences()\">\n            <div class=\"eb-header\">\n                <h5>Understanding Levels</h5>\n            </div>\n\n            <div class=\"eb-content\">\n                <div class=\"accordion accordion-flush\" id=\"confidenceLevels\">\n\n                    <div v-for=\"(confidence, index) in confidenceLevels\">\n                        <div class=\"accordion-item eb-chapter-toggle\">\n                            <h2 class=\"accordion-header eb-toggle-header\">\n                                <button class=\"accordion-button\" type=\"button\" data-bs-toggle=\"collapse\"\n                                    :data-bs-target=\"'#confidence-' + index\" aria-expanded=\"false\"\n                                    :aria-controls=\"'confidence-' + index\">\n                                    <span>{{ confidence.title }}</span>\n                                    <!-- <span>{{ confidence.marks }} marked</span> -->\n                                </button>\n                            </h2>\n                            <div :id=\"'confidence-' + index\" class=\"accordion-collapse eb-toggle-body collapse show\">\n                                <div class=\"accordion-body py-2 px-3\">\n                                    <div v-for=\"content in confidence.content\">\n                                        <p>\n                                            <a role=\"button\" @click=\"onConfidenceLinkTap(content)\" class=\"red\">\n                                                {{ content.title }}\n                                            </a>\n                                        </p>\n                                    </div>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div><!-- /eb-content -->\n\n        </div>\n        <center v-else class=\"no-content text-center\">\n            <h4 class=\"mt-4\">No Understanding Level Listed</h4>\n        </center>\n\n    </div><!-- /tab-pane Confidence Levels-->\n</template>\n\n<script>\n\nimport { mapActions } from 'vuex';\n\nexport default {\n    name: \"ProductContentChaptersConfidence\",\n    props: {\n        active: Boolean,\n        productVariantID: String,\n    },\n    data() {\n        return {\n            loading: false,\n            confidenceLevels: []\n        };\n    },\n    methods: {\n        ...mapActions(\"content\", [\"fetchUserContentActionsByID\"]),\n        fetchData() {\n            this.loading = true;\n            this.fetchUserContentActionsByID({ productVariantID: this.productVariantID, dataType: \"confidence_level\" }).then((data) => {\n                console.log(\"Actions Data: \", data);\n\n                var tempConfidenceLevels = [\n                    { title: \"High\", content: [] },\n                    { title: \"Medium\", content: [] },\n                    { title: \"Low\", content: [] }\n                ];\n\n                for (let item of data) {\n                    var content = item.content;\n\n                    var tempContent = {\n                        title: item.data,\n                        content: [\n                            {\n                                \"id\": content.id,\n                                \"type\": content.type,\n                                \"title\": content.title,\n                                \"topLevelContentID\": content.topLevelContentID,\n                            }\n                        ]\n                    };\n\n                    var existingIndex = tempConfidenceLevels.findIndex((existingItem) => existingItem.title === tempContent.title);\n\n                    if (existingIndex !== -1) {\n                        tempConfidenceLevels[existingIndex].content.push(...tempContent.content);\n                    } else {\n                        tempConfidenceLevels.push(tempContent);\n                    }\n                }\n\n                for (let index = tempConfidenceLevels.length - 1; index >= 0; index--) {\n                    if (tempConfidenceLevels[index].content.length === 0) {\n                        tempConfidenceLevels.splice(index, 1);\n                    }\n                }\n\n                this.confidenceLevels = tempConfidenceLevels;\n                this.loading = false;\n            }).catch((error) => {\n                this.loading = false;\n                console.error(\"Error fetching user content actions: \", error);\n            });\n        },\n        hasConfidences() {\n            return this.confidenceLevels.length > 0;\n        },\n        onConfidenceLinkTap(content) {\n            this.$router.push({\n                query: {\n                    tab: 'tableofcontents',\n                    chapterId: content.topLevelContentID,\n                    contentId: content.id\n                }\n            });\n        }\n    },\n    computed: {\n    },\n    watch: {\n        active: function () {\n            if (this.active) {\n                this.fetchData()\n            }\n        },\n        productVariantID: function () { \n            if (this.active) {\n                this.fetchData()\n            }\n        },\n    },\n    components: {},\n    created() {\n        if (this.active) {\n            this.fetchData()\n        }\n    },\n    mounted() { }\n};\n</script>\n\n<style scoped>\n.eb-chapter-toggle .accordion-button,\n.eb-chapter-toggle .accordion-button:not(.collapsed) {\n    font-size: 14px;\n}\n\n.accordion-body p>a {\n    font-size: 12px;\n}\n\n.no-content {\n    margin-top: 50px;\n    margin-bottom: 50px;\n}\n\n.loading {\n    margin-top: 200px;\n    margin-bottom: 200px;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentChaptersConfidence.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentChaptersConfidence.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentChaptersConfidence.vue?vue&type=template&id=609a70b7&scoped=true&\"\nimport script from \"./ProductContentChaptersConfidence.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentChaptersConfidence.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentChaptersConfidence.vue?vue&type=style&index=0&id=609a70b7&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"609a70b7\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.chapterContent && _vm.chapterContent.children)?_c('div',{staticClass:\"eb-chapter-list\"},[(_vm.filteredTopics.length > 0)?_c('div',_vm._l((_vm.filteredTopics),function(topic){return _c('div',{staticClass:\"eb-chapter-row\"},[_c('div',{staticClass:\"chapter-row-item\"},[_c('a',{staticClass:\"topic-text\"},[_vm._v(_vm._s(topic.title))])]),_c('div',{staticClass:\"chapter-row-item\"},[_c('ul',{staticClass:\"chapter-row-subitems\"},_vm._l((_vm.applyFilter(_vm.filterChildrens(topic.children))),function(content){return _c('ProductContentChaptersContentListItem',{attrs:{\"chapterID\":_vm.chapterID,\"item\":content}})}),1)])])}),0):_c('div',[_c('br'),_c('center',[_c('h6',[_vm._v(\"No Content Found\")])])],1)]):_c('div',{staticClass:\"loading-div mt-2 mb-2\"},[_c('center',[_c('b-spinner',{staticClass:\"loader\"})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"eb-chapter-list\" v-if=\"chapterContent && chapterContent.children\">\n\t\t<div v-if=\"filteredTopics.length > 0\">\n\t\t\t<div class=\"eb-chapter-row\" v-for=\"topic in filteredTopics\">\n\t\t\t\t<div class=\"chapter-row-item\"><a class=\"topic-text\">{{ topic.title }}</a></div>\n\t\t\t\t<div class=\"chapter-row-item\">\n\t\t\t\t\t<ul class=\"chapter-row-subitems\">\n\t\t\t\t\t\t<ProductContentChaptersContentListItem\n\t\t\t\t\t\t\tv-for=\"content in applyFilter(filterChildrens(topic.children))\" :chapterID=\"chapterID\" :item=\"content\">\n\t\t\t\t\t\t</ProductContentChaptersContentListItem>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-else>\n\t\t\t<br />\n\t\t\t<center>\n\t\t\t\t<h6>No Content Found</h6>\n\t\t\t</center>\n\t\t</div>\n\t</div><!-- /eb-chapter-list -->\n\t<div v-else class=\"loading-div mt-2 mb-2\">\n\t\t<center><b-spinner class=\"loader\"> </b-spinner></center>\n\t</div>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nimport { ProductVariantStatus } from \"../../constants/productVariant\";\nimport ProductContentChaptersContentListItem from \"./ProductContentChaptersContentListItem\"\nexport default {\n\tname: \"ProductContentChaptersContentList\",\n\tdata() {\n\t\treturn {\n\t\t};\n\t},\n\tprops: {\n\t\tfilters: Object,\n\t\tchapterID: String\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getContentById\"]),\n\t\t\n\t\tfilterChildrens(list) {\n\t\t\treturn list.filter((item) => {\n\t\t\t\tif (item.type !== 'RecordedVideos' || item?.externalService?.serviceProvider?.toLowerCase() != 'vss') {\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t\telse if (item.extraProperties && item.extraProperties.Status && item.extraProperties.Status.toLowerCase() === 'processed') {\n\t\t\t\t\treturn item\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\tapplyFilter(list) {\n\t\t\tconst filters = this.filters;\n\t\t\tvar self=this;\n\t\t\tif(filters.confidence_level && filters.confidence_level.length>0)\n\t\t\t{\n\t\t\t\tlist=list.filter(x=>\n\t\t\t\t\t(filters.confidence_level.indexOf(\"unrated\")>-1  && !(self.contentActions[x.id]?.find(x=>x.dataType==\"confidence_level\"))) || \n\t\t\t\t\t(filters.confidence_level.indexOf(\"high\")>-1  && self.contentActions[x.id]?.find(x=>x.dataType==\"confidence_level\" && x.data.toLowerCase()=='high')) || \n\t\t\t\t\t(filters.confidence_level.indexOf(\"medium\")>-1  && self.contentActions[x.id]?.find(x=>x.dataType==\"confidence_level\" && x.data.toLowerCase()=='medium')) || \n\t\t\t\t\t(filters.confidence_level.indexOf(\"low\")>-1  && self.contentActions[x.id]?.find(x=>x.dataType==\"confidence_level\" && x.data.toLowerCase()=='low')) \n\t\t\t\t);\n\t\t\t}\n\n\t\t\t\n\t\t\tif(filters.completionStatus && filters.completionStatus.length>0)\n\t\t\t{\n\t\t\t\tlist=list.filter(x=>\n\t\t\t\t\t(filters.completionStatus.indexOf(\"not_started\")>-1  && !(self.contentActions[x.id]?.find(x=>x.dataType==\"completionStatus\" && x.data.toLowerCase()=='completed'))) || \n\t\t\t\t\t(filters.completionStatus.indexOf(\"completed\")>-1  && self.contentActions[x.id]?.find(x=>x.dataType==\"completionStatus\" && x.data.toLowerCase()=='completed')) \n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif(filters.bookmark_content && filters.bookmark_content.length>0)\n\t\t\t{\n\t\t\t\tlist=list.filter(x=>\n\t\t\t\t\t(filters.bookmark_content.indexOf(\"bookmark\")>-1  && self.contentActions[x.id]?.find(x=>x.dataType==\"bookmark\" && x.data.toLowerCase()=='true')) \n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif(filters.searchText)\n\t\t\t{\n\t\t\t\tlist=list.filter(x=>x.title.toLowerCase().indexOf(filters.searchText.toLowerCase())>-1);\n\t\t\t}\n\n\t\t\treturn list;\n\t\t\t\n\t\t},\n\n\n\t\tisFilterSelected(filter, filterType) {\n\t\t\tif (this.filters[filterType]) {\n\t\t\t\tconst lowerCaseFilter = filter.toLowerCase();\n\t\t\t\treturn this.filters[filterType].some(f => f.toLowerCase() === lowerCaseFilter);\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"content\", \"contentActions\"]),\n\t\t...mapState(\"content\", [\"loading\"]),\n\n\t\tfilteredTopics() {\n\t\t\tif (!this.chapterContent || !this.chapterContent.children) return [];\n\t\t\treturn this.chapterContent.children.filter(topic => {\n\t\t\t\treturn (\n\t\t\t\t\ttopic &&\n\t\t\t\t\tthis.applyFilter(this.filterChildrens(topic.children)).length > 0\n\t\t\t\t);\n\t\t\t});\n\t\t},\n\t\tchapterContent(){\n\t\t\tif(this.chapterID && this.content[this.chapterID])\n\t\t\t{\n\t\t\t\treturn this.content[this.chapterID];\n\t\t\t}\n\t\t}\n\t},\n\twatch: {\n\t\tcontent: function () {\n\t\t\t\n\t\t},\n\t\t// filters: function () {\n\t\t// \tconsole.log(\"Filters called watch\")\n\t\t// },\n\n\t\t// $route(to, from) {\n\t\t// \tif (this.$route.query.chapterId && this.$route.query.chapterId != this.chapterId) {\n\t\t// \t\tthis.chapterId = this.$route.query.chapterId;\n\n\t\t// \t\tthis.getChapterContent();\n\t\t// \t}\n\t\t// }\n\t},\n\tcomponents: { ProductContentChaptersContentListItem },\n\tcreated() {\n\t\t// if (this.$route.query.chapterId && this.$route.query.chapterId != this.chapterId) {\n\t\t// \tthis.chapterId = this.$route.query.chapterId;\n\t\t// \tthis.chapterContent = null;\n\t\t// }\n\t\t// this.getChapterContent();\n\t},\n\tmounted() {\n\t}\n};\n</script>\n\n<style scoped>\n.topic-text{\n\tcolor: var(--primary-color);\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentChaptersContentList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentChaptersContentList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentChaptersContentList.vue?vue&type=template&id=54e050f5&scoped=true&\"\nimport script from \"./ProductContentChaptersContentList.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentChaptersContentList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentChaptersContentList.vue?vue&type=style&index=0&id=54e050f5&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"54e050f5\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{class:'chapter-row-item ' + (_vm.isDisabled ? 'disabled' : ''),on:{\"click\":function($event){return _vm.handleContentClick()}}},[(_vm.item.type != _vm.ContentType.DIRECTORY)?_c('div',{staticClass:\"content-list-item-container\"},[_c('div',{staticClass:\"content-icon-container\"},[(_vm.item.type === _vm.ContentType.LIVE_CLASS ? _vm.isLiveClassEnded(_vm.item) : _vm.completed)?_c('div',{staticClass:\"chapter-status-icon\"},[_c('img',{attrs:{\"src\":require(\"../../assets/images/check-green-circle-icon.svg\")}})]):_c('div',{staticClass:\"chapter-status-icon\"}),_c('div',{staticClass:\"content-icon-border 123\"},[(_vm.item.type == _vm.ContentType.LIVE_CLASS)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/zoom-icon.svg\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.STUDY_MATERIAL)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/study-material.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.DIRECTORY)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/folder-icon.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.RECORDED_VIDEOS && _vm.item.externalService.serviceProvider.toLowerCase() == 'vss')?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/recorded-lecture.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.RECORDED_VIDEOS && _vm.item.externalService.serviceProvider.toLowerCase() == 'youtube')?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/youtube-icon.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.EXAM)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/exam-icon.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.FLASHCARDS)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/flash-card.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.FREETEXT)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/freeText.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.ASSIGNMENT)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"@/assets/images/assignment.png\")}}):_vm._e(),(_vm.item.type == _vm.ContentType.QUIZ)?_c('img',{staticClass:\"page-view-icon\",attrs:{\"src\":require(\"./../../assets/images/exam-icon.png\")}}):_vm._e()])]),_c('div',{staticClass:\"content-text\"},[_c('span',[_vm._v(_vm._s(_vm.item.title))]),(_vm.item.type == _vm.ContentType.RECORDED_VIDEOS && _vm.item.externalService && _vm.item.externalService.serviceProvider.toLowerCase() == 'vss')?_c('span',{staticClass:\"sub-text\"},[_vm._v(\" \"+_vm._s(_vm.secondsToHHMMSSFormat(_vm.item.extraProperties.Duration))+\" \")]):(_vm.item.type == _vm.ContentType.RECORDED_VIDEOS)?_c('span',{staticClass:\"sub-text\"},[_vm._v(\" Recorded Video \")]):(_vm.item.type == _vm.ContentType.LIVE_CLASS && _vm.item.externalService && _vm.item.externalService.serviceProvider.toLowerCase() == 'zoom')?_c('span',{staticClass:\"sub-text\"},[_vm._v(\" \"+_vm._s(_vm.timeParser(_vm.item.availableFrom))+\", \"+_vm._s(_vm.dateParser(_vm.item.availableFrom))+\" | \"+_vm._s(_vm.secondsToHHMMSSFormat(_vm.item.extraProperties.Duration))+\" \")]):(_vm.item.type == _vm.ContentType.ASSIGNMENT && typeof (_vm.item.extraProperties) == 'string' && JSON.parse(_vm.item.extraProperties).Deadline)?_c('span',{staticClass:\"sub-text\"},[_vm._v(\" \"+_vm._s(_vm.timeParser(JSON.parse(_vm.item.extraProperties).Deadline))+\", \"+_vm._s(_vm.dateParser(JSON.parse(_vm.item.extraProperties).Deadline))+\" \")]):(_vm.item.type == _vm.ContentType.FLASHCARDS && typeof (_vm.item.extraProperties) == 'string' && JSON.parse(_vm.item.extraProperties).Count)?_c('span',{staticClass:\"sub-text\"},[_vm._v(\" \"+_vm._s(JSON.parse(_vm.item.extraProperties).Count)+\" cards \")]):(_vm.item.type == _vm.ContentType.STUDY_MATERIAL)?_c('span',{staticClass:\"sub-text\"},[_vm._v(\" Study Material \")]):_c('span',{staticClass:\"sub-text\"},[_vm._v(\" \"+_vm._s(_vm.item.type)+\" \")])]),_c('div',{staticClass:\"content-info\"},[_c('div',{staticClass:\"confidence-info-wrapper\"},[(_vm.confidence)?_c('div',{staticClass:\"confidence-info\"},[_c('span',{class:['eb-label', 'confidence-label-medium', { 'high': _vm.confidence.toLowerCase() == 'high' }, { 'medium': _vm.confidence.toLowerCase() == 'medium' }, { 'low': _vm.confidence.toLowerCase() == 'low' }]},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"16.38\",\"height\":\"16.444\",\"viewBox\":\"0 0 16.38 16.444\"}},[_c('g',{attrs:{\"id\":\"\",\"data-name\":\"Group 3867\",\"clip-path\":\"url(#clip-path)\"}},[_c('path',{attrs:{\"id\":\"\",\"data-name\":\"Path 8048\",\"d\":\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\",\"transform\":\"translate(1.016 1.015)\",\"fill\":\"none\",\"stroke\":\"#707070\",\"stroke-width\":\"1.5\"}})])]),_vm._v(\" \"),_c('span',{staticClass:\"text\"},[_vm._v(\" \"+_vm._s(_vm.confidence))])])]):_vm._e()]),_c('div',{staticClass:\"ms-2 bookmark-wrapper\",staticStyle:{\"width\":\"20px\"}},[(_vm.bookmark)?_c('div',{staticClass:\"bookmark-info d-flex align-items-center\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('span',{class:['bookmark-info-icon'],on:{\"click\":function($event){}}},[_c('i',{staticClass:\"fa fa-bookmark\"})])]):_vm._e()]),_c('div',{staticClass:\"inline-progress-wrapper\"},[_c('div',{staticClass:\"inline-progress d-flex ms-4\"},[_c('div',{staticClass:\"progress mb-0\"},[_c('div',{staticClass:\"progress-bar\",style:({ width: _vm.getProgress }),attrs:{\"role\":\"progressbar\",\"aria-valuenow\":\"25\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}})]),_c('div',{staticClass:\"inline-progress-label mb-0\"},[_c('span',{attrs:{\"id\":\"progressVal\"}},[_vm._v(_vm._s(_vm.getProgress))])])])])]),(_vm.isUnpaid && _vm.isDemo)?_c('div',{staticClass:\"content-cta demo\"},[_c('button',{staticClass:\"border-btn\",attrs:{\"type\":\"button\"}},[_vm._v(\"Demo\")])]):(!_vm.isUnpaid)?_c('div',{staticClass:\"content-cta d-flex gap-2\"}):_vm._e()]):_vm._e(),_c('b-modal',{attrs:{\"visible\":_vm.showWebDisabledModel,\"hide-header\":\"\",\"centered\":\"\",\"hide-footer\":\"\",\"size\":\"lg\",\"body-class\":\"modal-body\",\"ok-title\":\"Ok\"},on:{\"change\":_vm.closeWebDisabledModal}},[_c('div',{staticClass:\"login-webDisabled\"},[_c('h1',{staticClass:\"heading-bold-20\"},[_vm._v(\"Please download app for your device to access content.\")]),_c('ul',{staticClass:\"download-btn-list\"},[(_vm.systemParameters && _vm.systemParameters.AndroidAppUpdateUrl)?_c('li',{staticClass:\"download-btn-list-item\"},[_c('a',{staticClass:\"download android\",attrs:{\"href\":_vm.systemParameters.AndroidAppUpdateUrl,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fa fa-android fa-3x\"}),_c('span',{staticClass:\"df\"},[_vm._v(\"Download For\")]),_c('span',{staticClass:\"dfn\"},[_vm._v(\"Android\")])])]):_vm._e(),(_vm.systemParameters && _vm.systemParameters.IOSAppUpdateUrl)?_c('li',{staticClass:\"download-btn-list-item\"},[_c('a',{staticClass:\"download apple\",attrs:{\"href\":_vm.systemParameters.IOSAppUpdateUrl,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fa fa fa-apple fa-3x\"}),_c('span',{staticClass:\"df\"},[_vm._v(\"Download For\")]),_c('span',{staticClass:\"dfn\"},[_vm._v(\"IOS / IPAD\")])])]):_vm._e(),(_vm.systemParameters && _vm.systemParameters.WindowsAppUpdateURL)?_c('li',{staticClass:\"download-btn-list-item\"},[_c('a',{staticClass:\"download windows\",attrs:{\"href\":_vm.systemParameters.WindowsAppUpdateURL,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fa fa fa-windows fa-3x\"}),_c('span',{staticClass:\"df\"},[_vm._v(\"Download For\")]),_c('span',{staticClass:\"dfn\"},[_vm._v(\"Windows\")])])]):_vm._e(),(_vm.systemParameters && _vm.systemParameters.MacAppUpdateURL)?_c('li',{staticClass:\"download-btn-list-item\"},[_c('a',{staticClass:\"download apple\",attrs:{\"href\":_vm.systemParameters.MacAppUpdateURL,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fa fa fa-apple fa-3x\"}),_c('span',{staticClass:\"df\"},[_vm._v(\"Download For\")]),_c('span',{staticClass:\"dfn\"},[_vm._v(\"Mac\")])])]):_vm._e()])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<li :class=\"'chapter-row-item ' + (isDisabled ? 'disabled' : '')\" @click=\"handleContentClick()\">\n\t\t<div v-if=\"item.type != ContentType.DIRECTORY\" class=\"content-list-item-container\">\n\t\t\t<div class=\"content-icon-container\">\n\t\t\t\t<div v-if=\"item.type === ContentType.LIVE_CLASS ? isLiveClassEnded(item) : completed\"\n\t\t\t\t\tclass=\"chapter-status-icon\">\n\t\t\t\t\t<img src=\"../../assets/images/check-green-circle-icon.svg\">\n\t\t\t\t</div>\n\t\t\t\t<div v-else style=\"\" class=\"chapter-status-icon\">\n\n\t\t\t\t</div>\n\t\t\t\t<div class=\"content-icon-border 123\">\n\t\t\t\t\t<img v-if=\"item.type == ContentType.LIVE_CLASS\" class=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/zoom-icon.svg\" />\n\t\t\t\t\t<img v-if=\"item.type == ContentType.STUDY_MATERIAL\" class=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/study-material.png\" />\n\t\t\t\t\t<img v-if=\"item.type == ContentType.DIRECTORY\" class=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/folder-icon.png\" />\n\t\t\t\t\t<img v-if=\"item.type == ContentType.RECORDED_VIDEOS && item.externalService.serviceProvider.toLowerCase() == 'vss'\"\n\t\t\t\t\t\tclass=\"page-view-icon\" src=\"@/assets/images/recorded-lecture.png\" />\n\t\t\t\t\t<img v-if=\"item.type == ContentType.RECORDED_VIDEOS && item.externalService.serviceProvider.toLowerCase() == 'youtube'\"\n\t\t\t\t\t\tclass=\"page-view-icon\" src=\"@/assets/images/youtube-icon.png\" />\n\t\t\t\t\t<img v-if=\"item.type == ContentType.EXAM\" class=\"page-view-icon\" src=\"@/assets/images/exam-icon.png\" />\n\n\t\t\t\t\t<img v-if=\"item.type == ContentType.FLASHCARDS\" class=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/flash-card.png\" />\n\t\t\t\t\t<img v-if=\"item.type == ContentType.FREETEXT\" class=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/freeText.png\" />\n\t\t\t\t\t<img v-if=\"item.type == ContentType.ASSIGNMENT\" class=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"@/assets/images/assignment.png\" />\n\t\t\t\t\t<img v-if=\"item.type == ContentType.QUIZ\" class=\"page-view-icon\"\n\t\t\t\t\t\tsrc=\"./../../assets/images/exam-icon.png\" />\n\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"content-text\">\n\n\t\t\t\t<span>{{ item.title }}</span>\n\n\t\t\t\t<span\n\t\t\t\t\tv-if=\"item.type == ContentType.RECORDED_VIDEOS && item.externalService && item.externalService.serviceProvider.toLowerCase() == 'vss'\"\n\t\t\t\t\tclass=\"sub-text\">\n\t\t\t\t\t{{secondsToHHMMSSFormat(item.extraProperties.Duration) }}\n\t\t\t\t</span>\n\t\t\t\t<span v-else-if=\"item.type == ContentType.RECORDED_VIDEOS\" class=\"sub-text\">\n\t\t\t\t\tRecorded Video\n\t\t\t\t</span>\n\t\t\t\t<span\n\t\t\t\t\tv-else-if=\"item.type == ContentType.LIVE_CLASS && item.externalService && item.externalService.serviceProvider.toLowerCase() == 'zoom'\"\n\t\t\t\t\tclass=\"sub-text\">\n\n\t\t\t\t\t{{ timeParser(item.availableFrom) }},\n\t\t\t\t\t{{ dateParser(item.availableFrom) }} |\n\t\t\t\t\t{{ secondsToHHMMSSFormat(item.extraProperties.Duration)}}\n\t\t\t\t</span>\n\t\t\t\t<span\n\t\t\t\t\tv-else-if=\"item.type == ContentType.ASSIGNMENT && typeof (item.extraProperties) == 'string' && JSON.parse(item.extraProperties).Deadline\"\n\t\t\t\t\tclass=\"sub-text\">\n\t\t\t\t\t{{ timeParser(JSON.parse(item.extraProperties).Deadline) }},\n\t\t\t\t\t{{ dateParser(JSON.parse(item.extraProperties).Deadline) }}\n\t\t\t\t</span>\n\n\t\t\t\t<span\n\t\t\t\t\tv-else-if=\"item.type == ContentType.FLASHCARDS && typeof (item.extraProperties) == 'string' && JSON.parse(item.extraProperties).Count\"\n\t\t\t\t\tclass=\"sub-text\">\n\t\t\t\t\t{{ JSON.parse(item.extraProperties).Count }} cards\n\t\t\t\t</span>\n\t\t\t\t<span v-else-if=\"item.type == ContentType.STUDY_MATERIAL\" class=\"sub-text\">\n\t\t\t\t\tStudy Material\n\t\t\t\t</span>\n\n\t\t\t\t<span v-else class=\"sub-text\">\n\t\t\t\t\t{{ item.type }}\n\t\t\t\t</span>\n\n\n\n\t\t\t\t<!-- <span v-else style=\"font-size: xx-small; display: block; height: 15px;\">\n\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\titem.type == ContentType.RECORDED_VIDEOS\n\t\t\t\t\t\t\t? item\n\t\t\t\t\t\t\t: item.type == ContentType.ASSIGNMENT\n\t\t\t\t\t\t\t\t? \"Assignment\"\n\t\t\t\t\t\t\t\t: item.type == ContentType.LIVE_CLASS\n\t\t\t\t\t\t\t\t\t? \"Live Class\"\n\t\t\t\t\t\t\t\t\t: item.type == ContentType.EXAM\n\t\t\t\t\t\t\t\t\t\t? \"Exam\"\n\t\t\t\t\t\t\t\t\t\t: \"Study Material\"\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t</span> -->\n\t\t\t</div>\n\t\t\t<div class=\"content-info\">\n\n\t\t\t\t<div class=\"confidence-info-wrapper\">\n\t\t\t\t\t<div v-if=\"confidence\" class=\"confidence-info\">\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t:class=\"['eb-label', 'confidence-label-medium', { 'high': confidence.toLowerCase() == 'high' }, { 'medium': confidence.toLowerCase() == 'medium' }, { 'low': confidence.toLowerCase() == 'low' }]\">\n\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"16.38\"\n\t\t\t\t\t\t\t\theight=\"16.444\" viewBox=\"0 0 16.38 16.444\">\n\t\t\t\t\t\t\t\t<g id=\"\" data-name=\"Group 3867\" clip-path=\"url(#clip-path)\">\n\t\t\t\t\t\t\t\t\t<path id=\"\" data-name=\"Path 8048\"\n\t\t\t\t\t\t\t\t\t\td=\"M3.083,14.413c-.831-.451-.98-.81-.73-1.738.28-1.036.538-2.079.845-3.107a.652.652,0,0,0-.269-.8c-.8-.638-1.59-1.295-2.382-1.947A1.187,1.187,0,0,1,.058,5.473a1.173,1.173,0,0,1,1.183-.8c1.024-.061,2.047-.139,3.071-.169a.6.6,0,0,0,.631-.488C5.288,3,5.648,1.984,6.007.973,6.253.279,6.593-.005,7.157,0s.878.281,1.132,1c.354,1,.719,1.988,1.046,2.993a.652.652,0,0,0,.714.513c1.041.03,2.08.117,3.121.168a1.123,1.123,0,0,1,1.1.769,1.136,1.136,0,0,1-.4,1.33c-.854.706-1.7,1.422-2.562,2.118a.6.6,0,0,0-.234.727c.3,1.063.56,2.141.873,3.2a1.287,1.287,0,0,1-.527,1.6h-.993c-.959-.7-1.928-1.386-2.872-2.1a.592.592,0,0,0-.827.007c-1.006.715-2.033,1.4-3.051,2.1Z\"\n\t\t\t\t\t\t\t\t\t\ttransform=\"translate(1.016 1.015)\" fill=\"none\" stroke=\"#707070\"\n\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\" />\n\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t</svg> <span class=\"text\">\n\t\t\t\t\t\t\t\t{{ confidence }}</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div style=\"width: 20px;\" class=\"ms-2 bookmark-wrapper\">\n\t\t\t\t\t<div v-if=\"bookmark\" class=\"bookmark-info d-flex align-items-center\" @click.stop>\n\t\t\t\t\t\t<span @click=\"\" :class=\"['bookmark-info-icon']\">\n\t\t\t\t\t\t\t<i class=\"fa fa-bookmark\"></i>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"inline-progress-wrapper\">\n\n\t\t\t\t\t<div class=\"inline-progress d-flex ms-4\">\n\t\t\t\t\t\t<div class=\"progress mb-0\">\n\t\t\t\t\t\t\t<div class=\"progress-bar\" role=\"progressbar\" :style=\"{ width: getProgress }\" aria-valuenow=\"25\"\n\t\t\t\t\t\t\t\taria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"inline-progress-label mb-0\">\n\t\t\t\t\t\t\t<span id=\"progressVal\">{{ getProgress }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\n\n\t\t\t\t<!-- <p v-if=\"item.type == ContentType.LIVE_CLASS\">\n\t\t\t\t\t<span v-if=\"contentExtraProperties\"\n\t\t\t\t\t\t>{{ timeParser(contentExtraProperties.Start_Time) }}, <br />\n\t\t\t\t\t\t{{ dateParser(contentExtraProperties.Start_Time) }}</span\n\t\t\t\t\t>\n\t\t\t\t\t<span v-else> 1 hour </span>\n\t\t\t\t</p>\n\t\t\t\t<p v-if=\"item.type == ContentType.RECORDED_VIDEOS\">\n\t\t\t\t\t<span v-if=\"contentExtraProperties\"\n\t\t\t\t\t\t>{{\n\t\t\t\t\t\t\tcontentExtraProperties.Duration\n\t\t\t\t\t\t\t\t? (contentExtraProperties.Duration / 60).toFixed(1)\n\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tmin</span\n\t\t\t\t\t>\n\t\t\t\t\t<span v-else> 45 min</span>\n\t\t\t\t</p> -->\n\t\t\t</div>\n\t\t\t<div v-if=\"isUnpaid && isDemo\" class=\"content-cta demo\">\n\t\t\t\t<button type=\"button\" class=\"border-btn\">Demo</button>\n\t\t\t</div>\n\t\t\t<div v-else-if=\"!isUnpaid\" class=\"content-cta d-flex gap-2\">\n\t\t\t\t<!-- <button \t\t\t\t\n\t\t\t\tv-if=\"item.type != ContentType.EXAM\"\n\t\t\t\t:disabled=\"isDisabled\" type=\"button\" class=\"border-btn\">\n\t\t\t\t\t{{ buttonText }}\n\t\t\t\t</button> -->\n\t\t\t\t<!-- <button \t\t\t\t\n\t\t\t\tv-else-if=\"!item.availableTo || new Date() <= new Date(item.availableTo)\"\n\t\t\t\t:disabled=\"isDisabled\" type=\"button\" class=\"border-btn\">\n\t\t\t\t\t{{ buttonText }}\n\t\t\t\t</button> -->\n\t\t\t\t<!-- <button\n\t\t\t\t\tv-if=\"\n\t\t\t\t\t\titem.type == ContentType.EXAM &&\n\t\t\t\t\t\titem.externalService.serviceProvider ==\n\t\t\t\t\t\t\tServiceCodes.EXAM.V3ExamSystem\n\t\t\t\t\t\"\n\t\t\t\t\t:disabled=\"isDisabled\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"border-btn\"\n\t\t\t\t\t@click=\"handleLegacyExamButtonClick\"\n\t\t\t\t>\n\t\t\t\t\tView Results\n\t\t\t\t</button> -->\n\t\t\t</div>\n\t\t</div>\n\t\t<b-modal :visible=\"showWebDisabledModel\" hide-header centered hide-footer @change=\"closeWebDisabledModal\" size=\"lg\"\n\t\t\tbody-class=\"modal-body\" ok-title=\"Ok\">\n\t\t\t<div class=\"login-webDisabled\">\n\t\t\t\t<h1 class=\"heading-bold-20\">Please download app for your device to access content.</h1>\n\t\t\t\t<ul class=\"download-btn-list\">\n\t\t\t\t\t<li class=\"download-btn-list-item\" v-if=\"systemParameters && systemParameters.AndroidAppUpdateUrl\">\n\t\t\t\t\t\t<a :href=\"systemParameters.AndroidAppUpdateUrl\" class=\"download android\" target=\"_blank\">\n\t\t\t\t\t\t\t<i class=\"fa fa-android fa-3x\"></i>\n\t\t\t\t\t\t\t<span class=\"df\">Download For</span>\n\t\t\t\t\t\t\t<span class=\"dfn\">Android</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</lI>\n\t\t\t\t\t<li class=\"download-btn-list-item\" v-if=\"systemParameters && systemParameters.IOSAppUpdateUrl\">\n\t\t\t\t\t\t<a :href=\"systemParameters.IOSAppUpdateUrl\" class=\"download apple\" target=\"_blank\">\n\t\t\t\t\t\t\t<i class=\"fa fa fa-apple fa-3x\"></i>\n\t\t\t\t\t\t\t<span class=\"df\">Download For</span>\n\t\t\t\t\t\t\t<span class=\"dfn\">IOS / IPAD</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"download-btn-list-item\" v-if=\"systemParameters && systemParameters.WindowsAppUpdateURL\">\n\t\t\t\t\t\t<a class=\"download windows\" :href=\"systemParameters.WindowsAppUpdateURL\" target=\"_blank\">\n\t\t\t\t\t\t\t<i class=\"fa fa fa-windows fa-3x\"></i>\n\t\t\t\t\t\t\t<span class=\"df\">Download For</span>\n\t\t\t\t\t\t\t<span class=\"dfn\">Windows</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"download-btn-list-item\" v-if=\"systemParameters && systemParameters.MacAppUpdateURL\">\n\t\t\t\t\t\t<a :href=\"systemParameters.MacAppUpdateURL\" target=\"_blank\" class=\"download apple\">\n\t\t\t\t\t\t\t<i class=\"fa fa fa-apple fa-3x\"></i>\n\t\t\t\t\t\t\t<span class=\"df\">Download For</span>\n\t\t\t\t\t\t\t<span class=\"dfn\">Mac</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\n\t\t</b-modal>\n\n\t</li>\n</template>\n\n<script>\nimport { mapActions, mapState, mapMutations } from \"vuex\";\nimport StudyMaterial from \"../Content/StudyMaterial.vue\";\nimport { ContentType } from \"../../constants/content\";\nimport { LegacyExam } from \"../../constants/exam\";\nimport { getInputDateFormat } from \"../../helpers/FormatHelpers\";\nimport {\n\ttoShortDateString,\n\tgetTimeIn12Hours,\n} from \"../../helpers/FormatHelpers\";\nimport { ServiceCodes } from \"../../constants/serviceCodes\";\nimport { getCookie } from \"../../helpers/CookieHelpers\";\n\nexport default {\n\tname: \"ProductContentChaptersContentListItem\",\n\tdata() {\n\t\treturn {\n\t\t\tactiveAccordian: \"\",\n\t\t\tshowStudyMaterialModal: false,\n\t\t\tContentType,\n\t\t\tServiceCodes,\n\t\t\tLegacyExam,\n\t\t\tshowWebDisabledModel: false\n\t\t};\n\t},\n\tcomponents: {\n\t},\n\tprops: {\n\t\titem: Object,\n\t\tchapterID: String\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getContentById\"]),\n\t\t...mapActions(\"content\", [\"updateActions\"]),\n\n\t\tisLiveClassEnded(data) {\n\t\t\tvar currentDate = new Date();\n\t\t\tif (!data.availableTo)\n\t\t\t\treturn false;\n\n\n\t\t\tconst end = new Date(data.availableTo)\n\n\t\t\treturn currentDate > end;\n\t\t},\n\t\tcloseWebDisabledModal(isOpen) {\n\t\t\tthis.showWebDisabledModel = isOpen;\n\t\t},\n\t\tdateParser(date) {\n\t\t\treturn toShortDateString(date);\n\t\t},\n\t\ttimeParser(date) {\n\t\t\treturn getTimeIn12Hours(date);\n\t\t},\n\t\tsecondsToHHMMSSFormat:function (seconds) {\n\t\t\tvar sec_num = parseInt(seconds, 10); // don't forget the second param\n\t\t\tvar hours = Math.floor(sec_num / 3600);\n\t\t\tvar minutes = Math.floor((sec_num - (hours * 3600)) / 60);\n\t\t\tvar seconds = sec_num - (hours * 3600) - (minutes * 60);\n\n\t\t\t// if (hours < 10) { hours = \"0\" + hours; }\n\t\t\t// if (minutes < 10) { minutes = \"0\" + minutes; }\n\t\t\t// if (seconds < 10) { seconds = \"0\" + seconds; }\n\t\t\treturn (parseInt(hours)>0 ? (hours + ' hr ') : \"\") + \n\t\t\t\t   (parseInt(minutes)>0 ? (minutes + ' min ') : \"\") + \n\t\t\t\t   (parseInt(seconds)>0 ? (seconds + ' sec'): \"\") ;\n\t\t},\n\t\tgetContentActions() {\n\n\t\t\tvar actionList = this.contentActions[this.item.id] ?? [];\n\t\t\tvar actions = {}\n\n\t\t\tfor (let action of actionList) {\n\t\t\t\tif (action.dataType && action.dataType == 'bookmark') {\n\t\t\t\t\tactions.bookmark = action.data == \"true\"\n\t\t\t\t}\n\n\t\t\t\tif (action.dataType && action.dataType == 'confidence_level') {\n\t\t\t\t\tactions.confidence = action.data;\n\t\t\t\t}\n\n\t\t\t\tif (action.dataType && action.dataType == 'completionStatus') {\n\t\t\t\t\tactions.completed = action.data == 'completed';\n\t\t\t\t}\n\n\t\t\t\tif (action.dataType && action.dataType === 'flashcardResponse') {\n\t\t\t\t\tlet extraProperties = action.content.extraProperties ? JSON.parse(action.content.extraProperties) : null;\n\t\t\t\t\tlet Count = extraProperties ? extraProperties.Count : 1;\n\n\t\t\t\t\tlet data = action.data ? JSON.parse(action.data) : {};\n\t\t\t\t\tlet keys = Object.keys(data);\n\n\t\t\t\t\tactions.flashcard = {};\n\n\t\t\t\t\tactions.flashcard.maxCount = Count;\n\t\t\t\t\tactions.flashcard.attemptedLength = keys.length ?? 0;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\treturn actions;\n\t\t},\n\t\thandleContentClick() {\n\t\t\tif (!this.isDesktopApp && this.isWebDisabled) {\n\t\t\t\tthis.showWebDisabledModel = true;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.$router.push({ query: { chapterId: this.chapterID, contentId: this.item.id } });\n\n\t\t\t// if (this.item.type == ContentType.EXAM) {\n\t\t\t// \tif (\n\t\t\t// \t\tthis.item.externalService.serviceProvider ==\n\t\t\t// \t\tServiceCodes.EXAM.V3ExamSystem\n\t\t\t// \t) {\n\t\t\t// \t\tthis.getContentById({\n\t\t\t// \t\t\tid: this.item.id,\n\t\t\t// \t\t\textraParams: { action: LegacyExam.GET_EXAM_ACTION.ATTEMPT },\n\t\t\t// \t\t}).then((content) => {\n\t\t\t// \t\t\tif (content && this.loggedIn) {\n\t\t\t// \t\t\t\tvar examAttemptUrl =\n\t\t\t// \t\t\t\t\tcontent.data.redirectUrl +\n\t\t\t// \t\t\t\t\t\"&RedirectUrl=\" +\n\t\t\t// \t\t\t\t\twindow.location.href;\n\t\t\t// \t\t\t\twindow.open(examAttemptUrl, \"_blank\");\n\t\t\t// \t\t\t\t// window.location.href = examAttemptUrl;\n\t\t\t// \t\t\t\treturn;\n\t\t\t// \t\t\t}\n\t\t\t// \t\t\tthis.$toasted.error(\n\t\t\t// \t\t\t\t\"Please login/create an account to demo this Exam\",\n\t\t\t// \t\t\t\t{\n\t\t\t// \t\t\t\t\tduration: 3000,\n\t\t\t// \t\t\t\t\ttheme: \"outline\",\n\t\t\t// \t\t\t\t\tposition: \"bottom-center\",\n\t\t\t// \t\t\t\t}\n\t\t\t// \t\t\t);\n\t\t\t// \t\t\tthis.$router.push({\n\t\t\t// \t\t\t\tname: \"Login\",\n\t\t\t// \t\t\t\tquery: {\n\t\t\t// \t\t\t\t\tnextUrl:\n\t\t\t// \t\t\t\t\t\tthis.$route.path,\n\t\t\t// \t\t\t\t},\n\t\t\t// \t\t\t});\n\t\t\t// \t\t});\n\t\t\t// \t\treturn;\n\t\t\t// \t}\n\t\t\t// \tconsole.log(\"examClicked\");\n\t\t\t// \tthis.getContentById({\n\t\t\t// \t\tid: this.item.id,\n\t\t\t// \t\textraParams: { RedirectUrl: window.location.href },\n\t\t\t// \t}).then((res) => {\n\t\t\t// \t\tvar data = res.data;\n\t\t\t// \t\tif (this.loggedIn) {\n\t\t\t// \t\t\tvar examAttemptUrl = `http://examapp.gocbeglobal.com/exam/attempt?TestID=${\n\t\t\t// \t\t\t\tdata.examID\n\t\t\t// \t\t\t}&Name=${data.name ?? \"\"}&Email=${data.email ?? \"\"}&UserID=${\n\t\t\t// \t\t\t\tdata.userID ?? \"\"\n\t\t\t// \t\t\t}&RedirectUrl=${data.redirectUrl}&Signature=${data.signature}`;\n\t\t\t// \t\t\twindow.open(examAttemptUrl, \"_blank\");\n\t\t\t// \t\t\t// window.location.href = examAttemptUrl;\n\t\t\t// \t\t\treturn;\n\t\t\t// \t\t}\n\t\t\t// \t\tthis.$toasted.error(\n\t\t\t// \t\t\t\"Please login/create an account to demo this Exam\",\n\t\t\t// \t\t\t{\n\t\t\t// \t\t\t\tduration: 3000,\n\t\t\t// \t\t\t\ttheme: \"outline\",\n\t\t\t// \t\t\t\tposition: \"bottom-center\",\n\t\t\t// \t\t\t}\n\t\t\t// \t\t);\n\t\t\t// \t\tthis.$router.push({\n\t\t\t// \t\t\tname: \"Login\",\n\t\t\t// \t\t\tquery: {\n\t\t\t// \t\t\t\tnextUrl: this.$route.path,\n\t\t\t// \t\t\t},\n\t\t\t// \t\t});\n\t\t\t// \t});\n\t\t\t// } else if (this.item.type == ContentType.LIVE_CLASS) {\n\t\t\t// \tvar joinURLFromCookies = getCookie(`${this.item.id}_${this.user?.id}`);\n\t\t\t// \tif (joinURLFromCookies) {\n\t\t\t// \t\twindow.location.href = joinURLFromCookies;\n\t\t\t// \t\treturn;\n\t\t\t// \t}\n\t\t\t// \tthis.$router.push(this.contentLink);\n\t\t\t// } else{\n\t\t\t// \tthis.$router.push({ query:{ chapterId:this.$route.query.chapterId, contentId:this.item.id }})\n\t\t\t// };\n\n\t\t},\n\t\thandleLegacyExamButtonClick(e) {\n\t\t\tif (!this.isDesktopApp && this.isWebDisabled) {\n\t\t\t\tthis.showWebDisabledModel = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\te.stopPropagation();\n\t\t\tthis.getContentById({\n\t\t\t\tid: this.item.id,\n\t\t\t\textraParams: { action: LegacyExam.GET_EXAM_ACTION.VIEW_RESULTS },\n\t\t\t}).then((content) => {\n\t\t\t\tif (content && this.loggedIn) {\n\t\t\t\t\tvar examAttemptUrl =\n\t\t\t\t\t\tcontent.data.redirectUrl + \"&RedirectUrl=\" + window.location.href;\n\t\t\t\t\twindow.open(examAttemptUrl, \"_blank\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\ttimeParser(date) {\n\t\t\treturn getTimeIn12Hours(date);\n\t\t},\n\t\tdateParser(date) {\n\t\t\treturn toShortDateString(date);\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"loggedIn\", \"user\"]),\n\t\t...mapState(\"appState\", [\"isMobile\", \"systemParameters\"]),\n\t\t...mapState(\"content\", [\"contentActions\"]),\n\t\tisDesktopApp() {\n\t\t\treturn window.navigator.userAgent.toLowerCase().indexOf(\"electron\") > -1;\n\t\t},\n\t\tisWebDisabled() {\n\t\t\treturn this.systemParameters && this.systemParameters.IsWebAccessDisabled == '1';\n\t\t},\n\t\tcontentLink() {\n\t\t\tswitch (this.item.type) {\n\t\t\t\tcase ContentType.LIVE_CLASS:\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath:\n\t\t\t\t\t\t\t\"/content/liveclass/\" +\n\t\t\t\t\t\t\tthis.item.title\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\t\tthis.item.id +\n\t\t\t\t\t\t\t\"_\",\n\t\t\t\t\t};\n\t\t\t\tcase ContentType.ASSIGNMENT:\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath:\n\t\t\t\t\t\t\t\"/content/assignment/\" +\n\t\t\t\t\t\t\tthis.item.title\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\t\tthis.item.id,\n\t\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tbookmark() {\n\t\t\treturn this.getContentActions().bookmark\n\t\t},\n\t\tconfidence() {\n\t\t\treturn this.getContentActions().confidence && [\"high\", \"medium\", \"low\"].indexOf(\n\t\t\t\tthis.getContentActions().confidence.toLowerCase()) > -1 ? this.getContentActions().confidence : null;\n\t\t},\n\t\tcompleted() {\n\t\t\treturn this.getContentActions().completed\n\t\t},\n\t\tflashcard() {\n\t\t\treturn this.getContentActions().flashcard\n\t\t},\n\t\tgetProgress() {\n\t\t\tif (this.item.type === ContentType.FLASHCARDS) {\n\t\t\t\tif (this.flashcard) {\n\t\t\t\t\tlet attemptedLength = this.flashcard.attemptedLength ?? 0;\n\t\t\t\t\tlet progress = (attemptedLength / this.flashcard.maxCount) * 100;\n\t\t\t\t\tprogress = progress > 100 ? 100 : progress;\n\t\t\t\t\treturn progress.toFixed(0) + '%';\n\t\t\t\t} else {\n\t\t\t\t\treturn '0%';\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.item.type === ContentType.LIVE_CLASS) {\n\t\t\t\treturn this.isLiveClassEnded(this.item) ? \"100%\" : \"0%\";\n\t\t\t}\n\t\t\tif (this.item.type === ContentType.RECORDED_VIDEOS && this.contentActions[this.item.id] && this.item.externalService && this.item.externalService.serviceProvider?.toLowerCase() == 'vss') {\n\t\t\t\tvar videoProgressAction = this.contentActions[this.item.id].find(x => x.dataType == \"progressPercentage\");\n\t\t\t\t\n\t\t\t\tif (videoProgressAction) {\n\t\t\t\t\tvar prog = parseInt(videoProgressAction.data);\n\t\t\t\t\treturn (prog > 100 ? 100 : prog) + '%'\n\t\t\t\t}\n\n\t\t\t\treturn this.completed ? \"100%\" : \"0%\";\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn this.completed ? \"100%\" : \"0%\";\n\t\t\t}\n\t\t},\n\n\t\tisDisabled() {\n\t\t\treturn (\n\t\t\t\t(getInputDateFormat(new Date(this.item.availableFrom)) !=\n\t\t\t\t\tgetInputDateFormat(new Date()) &&\n\t\t\t\t\tthis.item.type == ContentType.LIVE_CLASS) ||\n\n\t\t\t\t(new Date(this.item.availableFrom) > new Date() &&\n\t\t\t\t\tthis.item.type == ContentType.LIVE_CLASS) ||\n\n\t\t\t\t(this.isUnpaid && !this.isDemo)\n\t\t\t);\n\t\t},\n\t\tisDemo() {\n\t\t\treturn this.item.isContentAvailableForDemo;\n\t\t},\n\t\tisUnpaid() {\n\t\t\treturn false;\n\t\t},\n\t\tcontentExtraProperties() {\n\t\t\tif (this.item.extraProperties) return this.item.extraProperties;\n\t\t\telse return null;\n\t\t},\n\t\tbuttonText() {\n\t\t\treturn this.item.type == ContentType.RECORDED_VIDEOS\n\t\t\t\t? \"Watch\"\n\t\t\t\t: this.item.type == ContentType.LIVE_CLASS\n\t\t\t\t\t? \"Join Now\"\n\t\t\t\t\t: this.item.type == ContentType.ASSIGNMENT\n\t\t\t\t\t\t? \"Submit\"\n\t\t\t\t\t\t: this.item.type == ContentType.EXAM\n\t\t\t\t\t\t\t? \"Attempt\"\n\t\t\t\t\t\t\t: \"View\";\n\t\t},\n\t},\n\n\tasync mounted() {\n\t\tawait this.getContentActions();\n\t},\n\tcreated() {\n\t},\n\twatch: {\n\t}\n};\n</script>\n\n<style scoped>\n.content-item-list li {\n\tpadding: 0;\n\tborder-bottom: 1px solid var(--color-light-gray);\n\tcursor: pointer;\n}\n\n.content-item-list li.disabled {\n\tpointer-events: none;\n}\n\n.content-item.disabled .content-text {\n\topacity: 0.5;\n}\n\n.content-list-item-container {\n\tcolor: var(--secondary-color);\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcursor: pointer;\n}\n\n\n.content-item {\n\tfont-size: 0.9rem;\n\tpadding: 1rem !important;\n}\n\n/* .content-item span, */\n/* .content-item-disabled span {\n\tfont-size: 0.7rem;\n\tcolor: var(--color-gray);\n} */\n\n.content-item-list li:last-child {\n\tborder-bottom: none;\n}\n\n.content-item-icon {\n\t/* margin-left: 0.25rem; */\n\tmargin-right: 0.5rem;\n\tfont-size: 1rem;\n\tcolor: var(--color-text-default);\n}\n\n.content-icon-container {\n\twidth: 44px;\n\tdisplay: flex;\n\talign-items: center;\n\tposition: relative;\n}\n\n.chapter-status-icon {\n\tmargin-right: 0;\n\tflex: 0 0 auto;\n\tposition: absolute;\n\tborder-radius: 50%;\n\tpadding: 0;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tright: 6px;\n\ttop: 1px;\n}\n\n\n.chapter-status-icon img {\n\twidth: 18px;\n\tbackground-color: #fff;\n\tborder-radius: 50%;\n\tpadding: 0.085rem;\n}\n\n.page-view-icon {\n\tfont-size: 0.6rem;\n\twidth: auto;\n\theight: 32px;\n\t/* border-radius: 50%; */\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmax-height: 28px;\n\tmargin: 0;\n}\n\n.page-view-icon.blue-bg {\n\tbackground-color: #2d8bfe;\n\tcolor: var(--color-white);\n}\n\n.content-item-list li.active {\n\tbackground-color: var(--color-light-gray);\n}\n\n/* .content-icon-container {\n\twidth: 70px !important;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n} */\n\n.content-text {\n\tline-height: 1.3;\n\tfont-size: 1rem;\n\tcolor: #666;\n\tfont-size: 0.875rem;\n\twidth: calc(100% - 350px);\n}\n\n.content-text span {\n\tcolor: black;\n\tfont-size: 1rem;\n}\n\n.content-text .sub-text {\n\tfont-size: 0.75rem;\n\tdisplay: block;\n\tcolor: #6c757d;\n\theight: 15px;\n}\n\n.content-list-item-container:hover .content-text span {\n\tcolor: var(--primary-color);\n}\n\n.content-icon-border {\n\twidth: 32px;\n\theight: 32px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\t/* margin-right: 1rem; */\n\t/* border: 2px solid #d5d5d5; */\n\tborder-radius: 50%;\n}\n\n.content-info {\n\tmargin-left: auto;\n\tmargin-right: 1rem;\n\tmin-width: 3.425rem;\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\talign-items: center;\n}\n\n.content-info p {\n\tmargin: 0;\n\tfont-size: 0.675rem;\n\tline-height: 1.25;\n}\n\n.content-info .heading {\n\ttext-transform: uppercase;\n\tcolor: var(--color-gray);\n}\n\n.confidence-info-wrapper {\n\twidth: 100px;\n\tdisplay: flex;\n\tplace-content: end;\n}\n\n.confidence-info {\n\twidth: 76px;\n}\n\n.content-info .eb-label {\n\tborder-radius: 4px;\n\tjustify-content: start;\n}\n\n.confidence-info {\n\twidth: 90px;\n\theight: 26px;\n}\n\n.confidence-label-medium {\n\twidth: fit-content;\n}\n\n.content-info .eb-label {\n\tpadding-top: 3px;\n\tpadding-bottom: 3px;\n\tpadding-left: 6px;\n\tpadding-right: 6px;\n\theight: 26px;\n}\n\n.confidence-label-medium.high {\n\tborder: 2px solid #11AE00;\n\tbackground-color: #FEFFFE;\n}\n\n.confidence-label-medium .text {\n\tcolor: #000;\n\tfont-family: Circular Std;\n\tfont-size: 15px;\n\tfont-style: normal;\n\tfont-weight: normal;\n\tline-height: normal;\n\tpadding-top: 2.5px;\n}\n\n.confidence-label-medium.high svg path {\n\tfill: #11AE00;\n\tstroke: #11AE00;\n}\n\n.confidence-label-medium.medium {\n\tborder: 2px solid #FEAA00;\n\tbackground-color: #FFFBF3;\n}\n\n.confidence-label-medium.medium svg path {\n\tfill: #FEAA00;\n\tstroke: #FEAA00;\n}\n\n.confidence-label-medium.low {\n\tborder: 2px solid #F0546C;\n\tbackground-color: #FFFCFD;\n}\n\n.confidence-label-medium.low svg path {\n\tfill: #F0546C;\n\tstroke: #F0546C;\n}\n\n.confidence-label-medium svg {\n\twidth: 15px;\n\theight: 15px;\n\tmargin-right: 5px;\n}\n\n.inline-progress-wrapper {\n\twidth: 130px;\n\tdisplay: flex;\n\tplace-content: end;\n\tmargin-right: 5px;\n}\n\n.inline-progress {\n\twidth: 106px;\n}\n\n.inline-progress .progress {\n\twidth: 75px;\n\theight: 6px;\n}\n\n.inline-progress-label {\n\twidth: 24px;\n}\n\n.bookmark-info-icon {\n\tborder: solid 1px var(--primary-color);\n\tdisplay: inline-block;\n\tpadding: 1px 3px 2px;\n\tborder-radius: 4px;\n\twidth: 20px;\n\theight: 20px;\n\ttext-align: center;\n\tfont-size: 13px;\n\tcolor: var(--primary-color);\n}\n\n.bookmark-active {\n\tcolor: var(--color-text-default);\n\tborder: solid 1px var(--color-text-default);\n}\n\n.content-cta button {\n\tpadding: 0.425rem 0.5rem;\n\tmin-width: 5.75rem;\n\tline-height: 1;\n\tborder-color: #282828;\n\tfont-size: 0.875rem;\n\tborder-radius: 4px;\n\tcolor: #282828 !important;\n\tfont-weight: 500;\n}\n\n.login-webDisabled {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: column;\n\tmargin: auto;\n\tpadding: 0 7% 0;\n}\n\n.download-btn-list {\n\ttext-align: center;\n\tmargin: 0;\n\tpadding: 0;\n\tdisplay: inline;\n}\n\n.download-btn-list-item {\n\tdisplay: inline;\n}\n\n.download-btn-list-item a {\n\tmargin: 10px;\n}\n\n.download {\n\twidth: 200px;\n\theight: 70px;\n\tbackground: black;\n\tfloat: left;\n\tborder-radius: 5px;\n\tposition: relative;\n\tcolor: #fff;\n\tcursor: pointer;\n\tborder: 1px solid #fff;\n}\n\n.download>.fa {\n\tcolor: #fff;\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 15px;\n\ttransform: translateY(-50%);\n}\n\n.df,\n.dfn {\n\tposition: absolute;\n\tleft: 60px;\n\twidth: 50%;\n}\n\n.df {\n\ttop: 16px;\n\tfont-size: 12px;\n}\n\n.dfn {\n\ttop: 28px;\n\tfont-size: 18px;\n}\n\n.download:hover {\n\t-webkit-filter: invert(100%);\n\tfilter: invert(100%);\n}\n\n\n@media (max-width: 768px) {\n\t.content-text {\n\t\twidth: calc(100% - 192px);\n\t}\n\n\t.confidence-label-medium .text {\n\t\tfont-size: 0.9rem;\n\t\tpadding-top: 1px;\n\t}\n\n\t.content-info .eb-label {\n\t\tpadding-top: 1px;\n\t\tpadding-bottom: 1px;\n\t\tpadding-left: 3px;\n\t\tpadding-right: 4px;\n\t\theight: 22px;\n\t}\n\n\t.confidence-label-medium svg {\n\t\twidth: 12px;\n\t\theight: 12px;\n\t\tmargin-right: 2px;\n\t}\n\n\t.confidence-info-wrapper {\n\t\twidth: 72px;\n\t\tflex: 0 0 auto;\n\t}\n\n\t.confidence-info {\n\t\twidth: 70px !important;\n\t\theight: 22px;\n\t}\n\n\t.confidence-label-medium svg path {\n\t\tstroke: transparent !important;\n\t}\n\n\t.confidence-label-medium {\n\t\tborder-width: 1px !important;\n\t}\n\n\t.content-info {\n\t\tmargin-right: 0;\n\t}\n\n\t.inline-progress-wrapper {\n\t\twidth: 45px;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tpadding-left: 10px;\n\t\tflex: 0 0 auto;\n\t}\n\n\t.bookmark-wrapper {\n\t\tflex: 0 0 auto;\n\t\tmargin-left: 0.015rem !important;\n\t}\n\n\t.inline-progress {\n\t\twidth: 35px;\n\t\tflex-direction: column;\n\t\tmargin-left: 0 !important;\n\t}\n\n\t.inline-progress .progress {\n\t\twidth: 35px;\n\t\theight: 5px;\n\t}\n\n\t.inline-progress-label {\n\t\tfont-size: 0.75rem;\n\t}\n\n\t.content-icon-container {\n\t\twidth: 46px;\n\t}\n\n\t.chapter-status-icon img {\n\t\twidth: 18px;\n\t}\n}</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentChaptersContentListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentChaptersContentListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentChaptersContentListItem.vue?vue&type=template&id=0f5955da&scoped=true&\"\nimport script from \"./ProductContentChaptersContentListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentChaptersContentListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentChaptersContentListItem.vue?vue&type=style&index=0&id=0f5955da&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0f5955da\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane\",attrs:{\"id\":\"highlightsPane\",\"role\":\"tabpanel\",\"aria-labelledby\":\"highlightsTab\",\"tabindex\":\"0\"}},[(_vm.loading)?_c('center',{staticClass:\"loading\"},[_c('b-spinner',{attrs:{\"large\":\"\"}})],1):(_vm.hasHighlights())?_c('div',[_c('div',{staticClass:\"eb-header\"},[_c('h5',[_vm._v(\"Highlights\")])]),_c('div',{staticClass:\"eb-content\"},[_c('div',{staticClass:\"accordion accordion-flush\",attrs:{\"id\":\"highlights\"}},_vm._l((_vm.highlights),function(highlight,index){return _c('div',[_c('div',{staticClass:\"accordion-item eb-chapter-toggle\"},[_c('h2',{staticClass:\"accordion-header eb-toggle-header\"},[_c('button',{staticClass:\"accordion-button\",attrs:{\"type\":\"button\",\"data-bs-toggle\":\"collapse\",\"data-bs-target\":'#highlight-' + index,\"aria-expanded\":\"false\",\"aria-controls\":'highlight-' + index}},[_c('span',[_vm._v(_vm._s(highlight.title))]),_c('span',[_vm._v(_vm._s(highlight.content.length)+\" \"+_vm._s((highlight.content.length > 1 ? \"Highlights\" : \"Highlight\"))+\" \")])])]),_c('div',{staticClass:\"accordion-collapse eb-toggle-body collapse show\",attrs:{\"id\":'highlight-' + index}},[_c('div',{staticClass:\"accordion-body py-2 px-3\"},_vm._l((highlight.content),function(content){return _c('div',[_c('div',{staticClass:\"eb-single-highlight\"},[_c('p',{staticClass:\"sub-title\"},[_c('a',{staticClass:\"red\",attrs:{\"role\":\"button\",\"data-bs-toggle\":\"modal\",\"data-bs-target\":\"#chapterModal\"},on:{\"click\":function($event){return _vm.onHightlightsContentView(highlight.topLevelContentID, content)}}},[_vm._v(\" \"+_vm._s(content.title)+\" \")]),_c('span',{staticClass:\"sub-highlights\"},[_vm._v(_vm._s(content.contentTexts.length)+\" sub-highlights\")])]),_vm._l((content.contentTexts),function(contentText,index){return _c('div',[_c('div',{staticClass:\"row pt-2 pb-2 px-4\"},[_c('div',{staticClass:\"col-lg-10 col-md-8\"},[_c('p',{staticClass:\"highlight-text\",domProps:{\"innerHTML\":_vm._s(contentText.text)}})]),_c('div',{staticClass:\"col-lg-2 col-md-4\"},[_c('div',{staticClass:\"eb-edit-bar\"},[_c('button',{staticClass:\"eb-notes-view\",on:{\"click\":function($event){return _vm.onHightlightsContentView(highlight.topLevelContentID, content)}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('button',{staticClass:\"eb-notes-delete\",on:{\"click\":function($event){return _vm.removeSingleHighlight(highlight, content, contentText)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})])])])])])})],2)])}),0)])])])}),0)])]):_c('center',{staticClass:\"no-content text-center\"},[_c('h4',{staticClass:\"mt-4\"},[_vm._v(\"No Highlights Found\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n    <div class=\"tab-pane\" id=\"highlightsPane\" role=\"tabpanel\" aria-labelledby=\"highlightsTab\" tabindex=\"0\">\n        <center v-if=\"loading\" class=\"loading\">\n            <b-spinner large></b-spinner>\n        </center>\n        <div v-else-if=\"hasHighlights()\">\n            <div class=\"eb-header\">\n                <h5>Highlights</h5>\n            </div>\n\n            <div class=\"eb-content\">\n                <div class=\"accordion accordion-flush\" id=\"highlights\">\n\n                    <div v-for=\"(highlight, index) in highlights\">\n                        <div class=\"accordion-item eb-chapter-toggle\">\n                            <h2 class=\"accordion-header eb-toggle-header\">\n                                <button class=\"accordion-button\" type=\"button\" data-bs-toggle=\"collapse\"\n                                    :data-bs-target=\"'#highlight-' + index\" aria-expanded=\"false\"\n                                    :aria-controls=\"'highlight-' + index\">\n                                    <span>{{ highlight.title }}</span>\n                                    <span>{{ highlight.content.length }} {{ (highlight.content.length > 1 ? \"Highlights\" : \"Highlight\")  }} </span>\n                                </button>\n                            </h2>\n                            <div :id=\"'highlight-' + index\" class=\"accordion-collapse eb-toggle-body collapse show\">\n                                <div class=\"accordion-body py-2 px-3\">\n                                    <div v-for=\"content in highlight.content\">\n                                        <div class=\"eb-single-highlight\">\n                                            <p class=\"sub-title\">\n                                                <a role=\"button\"\n                                                    @click=\"onHightlightsContentView(highlight.topLevelContentID, content)\"\n                                                    data-bs-toggle=\"modal\" data-bs-target=\"#chapterModal\" class=\"red\">\n                                                    {{ content.title }}\n                                                </a>\n                                                <span class=\"sub-highlights\">{{ content.contentTexts.length }}\n                                                    sub-highlights</span>\n                                            </p>\n\n\n                                            <div v-for=\"(contentText, index) in content.contentTexts\">\n                                                <div class=\"row pt-2 pb-2 px-4\">\n                                                    <div class=\"col-lg-10 col-md-8\">\n                                                        <p class=\"highlight-text\" v-html=\"contentText.text\">\n                                                        </p>\n                                                    </div>\n                                                    <div class=\"col-lg-2 col-md-4\">\n                                                        <div class=\"eb-edit-bar\">\n                                                            <button class=\"eb-notes-view\"\n                                                                @click=\"onHightlightsContentView(highlight.topLevelContentID, content)\"><i\n                                                                    class=\"fas fa-eye\"></i></button>\n                                                            <button class=\"eb-notes-delete\"\n                                                                @click=\"removeSingleHighlight(highlight, content, contentText)\">\n                                                                <i class=\"fas fa-trash-alt\"></i></button>\n                                                        </div>\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div> <!-- /eb-single-highlight -->\n                                    </div>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n\n                </div>\n            </div><!-- /eb-content -->\n        </div><!-- /tab-pane Highlights -->\n        <center v-else class=\"no-content text-center\">\n            <h4 class=\"mt-4\">No Highlights Found</h4>\n        </center>\n    </div>\n</template>\n\n<script>\n\nimport { mapActions, mapState } from 'vuex';\n\nexport default {\n    name: \"ProductContentChaptersHighlights\",\n    props: {\n        active: Boolean,\n        productVariantID: String,\n    },\n    data() {\n        return {\n            loading: false,\n            highlights: []\n        };\n    },\n    methods: {\n        ...mapActions(\"content\", [\"fetchUserContentActionsByID\", \"setUserContentAction\"]),\n        fetchData() {\n            this.loading = true;\n            this.fetchUserContentActionsByID({ productVariantID: this.productVariantID, dataType: \"highlights\" }).then((data) => {\n\n                var tempHighlights = [];\n\n                if (this.productVariants && this.productVariants.items && this.productVariants.items[this.productVariantID + \"\"]) {\n                    var selectedProductVariant = this.productVariants.items[this.productVariantID + \"\"];\n                    console.log(\"Selected Product Variants: \",selectedProductVariant)\n\n                    for (let item of data) {\n                        var content = item.content;\n\n                        var title = selectedProductVariant.productVariantItems.find(x => x.id == content.topLevelContentID).title;\n\n                        var tempContent = {\n                            id: item.id,\n                            title: title,\n                            topLevelContentID: content.topLevelContentID,\n                            content: []\n                        };\n\n                        var parsedDataList = JSON.parse(item.data);\n\n                        var contentList = [];\n                        var contentTexts = [];\n\n                        for (let contentItem of parsedDataList) {\n                            if (contentItem.text === undefined) {\n                                contentItem.text = \"No text provided from server that was highlighted\";\n                            }\n                            contentTexts.push(contentItem);\n                        }\n\n                        if (contentTexts.length > 0) {\n                            contentList.push({\n                                id: content.id,\n                                title: content.title,\n                                contentTexts: contentTexts\n                            })\n                        }\n\n                        tempContent.content = contentList;\n\n                        var existingIndex = tempHighlights.findIndex((existingItem) => existingItem.topLevelContentID === tempContent.topLevelContentID);\n\n                        if (tempContent.content.length > 0) {\n                            if (existingIndex !== -1) {\n                                tempHighlights[existingIndex].content.push(...tempContent.content);\n                            } else {\n                                tempHighlights.push(tempContent);\n                            }\n                        }\n                    }\n                }\n\n                this.highlights = tempHighlights;\n                this.loading = false;\n                console.log('Highlights: ', tempHighlights);\n\n            }).catch((error) => {\n                this.loading = false;\n                console.error(\"Error fetching user content actions: \", error);\n            });\n        },\n        removeSingleHighlight(highlight, content, contentText) {\n            var contentAction = {\n                ContentID: content.id,\n                DataType: \"highlights\",\n                Data: undefined\n            };\n\n            var tempHighlights = [...this.highlights];\n\n            var highlightIndex = tempHighlights.findIndex((item) => item.id === highlight.id);\n\n            if (highlightIndex !== -1) {\n                var contentIndex = tempHighlights[highlightIndex].content.findIndex((item) => item.title === content.title);\n\n                if (contentIndex !== -1) {\n                    var contentTextIndex = tempHighlights[highlightIndex].content[contentIndex].contentTexts.findIndex((item) => item.id === contentText.id);\n\n                    if (contentTextIndex !== -1) {\n                        tempHighlights[highlightIndex].content[contentIndex].contentTexts.splice(contentTextIndex, 1);\n                        contentAction.Data = JSON.stringify(tempHighlights[highlightIndex].content[contentIndex].contentTexts)\n                    }\n\n                    if (tempHighlights[highlightIndex].content[contentIndex].contentTexts.length === 0) {\n                        tempHighlights[highlightIndex].content.splice(contentIndex, 1);\n                    }\n                }\n\n                if (tempHighlights[highlightIndex].content.length === 0) {\n                    tempHighlights.splice(highlightIndex, 1);\n                }\n            }\n\n            this.setUserContentAction(contentAction).then((action) => {\n                if (action && action.dataType && action.dataType.toLowerCase() === \"highlights\") {\n                    this.highlights = tempHighlights;\n                }\n            });\n        },\n        onHightlightsContentView(topLevelContentID, content) {\n            this.$router.push({\n                query: {\n                    tab: 'tableofcontents',\n                    chapterId: topLevelContentID,\n                    contentId: content.id\n                }\n            });\n        },\n\n        hasHighlights() {\n            return this.highlights.length > 0;\n        },\n    },\n    computed: {\n        ...mapState(\"productVariant\", [\"productVariants\"]),\n    },\n    watch: {\n        active: function () {\n            if (this.active) {\n                this.fetchData()\n            }\n        },\n        productVariantID: function () { \n            if (this.active) {\n                this.fetchData()\n            }\n    }\n    },\n    components: {},\n    created() {\n        if (this.active) {\n            this.fetchData()\n        }\n    },\n    mounted() { }\n};\n</script>\n\n<style scoped>\n.tab-pane{\n    border: none;\n}\n\n.eb-chapter-toggle .accordion-button,\n.eb-chapter-toggle .accordion-button:not(.collapsed) {\n    font-size: 14px;\n}\n\n.accordion-body p>a {\n    font-size: 12px;\n}\n\n.no-content {\n    margin-top: 50px;\n    margin-bottom: 50px;\n}\n\n.loading {\n    margin-top: 200px;\n    margin-bottom: 200px;\n}\n\n.sub-title {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    margin-bottom: 10px;\n  }\n\n  .sub-highlights {\n    padding-right: 30px;\n  }\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentChaptersHighlights.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentChaptersHighlights.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentChaptersHighlights.vue?vue&type=template&id=0ae74ad5&scoped=true&\"\nimport script from \"./ProductContentChaptersHighlights.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentChaptersHighlights.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentChaptersHighlights.vue?vue&type=style&index=0&id=0ae74ad5&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0ae74ad5\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"eb-content-wrapper\"},[_c('div',{staticClass:\"tab-content eb-body\",attrs:{\"id\":\"myTabContent\"}},[_c('div',{staticClass:\"tab-pane show active\",attrs:{\"id\":\"tocPane\",\"role\":\"tabpanel\",\"aria-labelledby\":\"tocTab\",\"tabindex\":\"0\"}},[_c('div',{staticClass:\"eb-header d-flex mb-2\"},[_c('h5',{staticClass:\"align-self-end\"},[_vm._v(\" Live Classes \")]),_c('div',{staticClass:\"btn-group live-class-filters ms-md-auto\",attrs:{\"role\":\"group\"}},[_c('button',{class:['btn', 'btn-outline-primary', { active: _vm.activeTab === _vm.LiveClassTabs.ALL }],attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.changeTab(_vm.LiveClassTabs.ALL)}}},[_vm._v(\"All\")]),_c('button',{class:['btn', 'btn-outline-primary', { active: _vm.activeTab === _vm.LiveClassTabs.TODAY }],attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.changeTab(_vm.LiveClassTabs.TODAY)}}},[_vm._v(\"Today\")]),_c('button',{class:['btn', 'btn-outline-primary', { active: _vm.activeTab === _vm.LiveClassTabs.PREVIOUS }],attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.changeTab(_vm.LiveClassTabs.PREVIOUS)}}},[_vm._v(\"Previous\")]),_c('button',{class:['btn', 'btn-outline-primary', { active: _vm.activeTab === _vm.LiveClassTabs.UPCOMING }],attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.changeTab(_vm.LiveClassTabs.UPCOMING)}}},[_vm._v(\"Upcoming\")])])]),(_vm.activeTab === _vm.LiveClassTabs.TODAY)?_c('div',[_c('ProductContentClassesTab',{attrs:{\"tab\":_vm.LiveClassTabs.TODAY}})],1):(_vm.activeTab === _vm.LiveClassTabs.ALL)?_c('div',[_c('ProductContentClassesTab',{attrs:{\"tab\":_vm.LiveClassTabs.ALL}})],1):(_vm.activeTab === _vm.LiveClassTabs.PREVIOUS)?_c('div',[_c('ProductContentClassesTab',{attrs:{\"tab\":_vm.LiveClassTabs.PREVIOUS}})],1):(_vm.activeTab === _vm.LiveClassTabs.UPCOMING)?_c('div',[_c('ProductContentClassesTab',{attrs:{\"tab\":_vm.LiveClassTabs.UPCOMING}})],1):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"eb-content-wrapper\">\n\t\t<div class=\"tab-content eb-body\" id=\"myTabContent\">\n\t\t\t<div class=\"tab-pane show active\" id=\"tocPane\" role=\"tabpanel\" aria-labelledby=\"tocTab\" tabindex=\"0\">\n\n\t\t\t\t<div class=\"eb-header d-flex mb-2\">\n\t\t\t\t\t<h5 class=\"align-self-end\">\n\t\t\t\t\t\tLive Classes\n\t\t\t\t\t</h5>\n\n\t\t\t\t\t<div class=\"btn-group live-class-filters ms-md-auto\" role=\"group\">\n\t\t\t\t\t\t<button type=\"button\" @click=\"changeTab(LiveClassTabs.ALL)\" :class=\"['btn', 'btn-outline-primary', { active: activeTab === LiveClassTabs.ALL }]\">All</button>\n\t\t\t\t\t\t<button type=\"button\" @click=\"changeTab(LiveClassTabs.TODAY)\" :class=\"['btn', 'btn-outline-primary', { active: activeTab === LiveClassTabs.TODAY }]\">Today</button>\n\t\t\t\t\t\t<button type=\"button\" @click=\"changeTab(LiveClassTabs.PREVIOUS)\" :class=\"['btn', 'btn-outline-primary', { active: activeTab === LiveClassTabs.PREVIOUS }]\">Previous</button>\n\t\t\t\t\t\t<button type=\"button\" @click=\"changeTab(LiveClassTabs.UPCOMING)\" :class=\"['btn', 'btn-outline-primary', { active: activeTab === LiveClassTabs.UPCOMING }]\">Upcoming</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div v-if=\"activeTab === LiveClassTabs.TODAY\">\n\t\t\t\t\t<ProductContentClassesTab :tab=\"LiveClassTabs.TODAY\"/>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"activeTab === LiveClassTabs.ALL\">\n\t\t\t\t\t<ProductContentClassesTab :tab=\"LiveClassTabs.ALL\"/>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"activeTab === LiveClassTabs.PREVIOUS\">\n\t\t\t\t\t<ProductContentClassesTab :tab=\"LiveClassTabs.PREVIOUS\"/>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"activeTab === LiveClassTabs.UPCOMING\">\n\t\t\t\t\t<ProductContentClassesTab :tab=\"LiveClassTabs.UPCOMING\"/>\n\t\t\t\t</div>\n\t\t\t</div><!-- /tab-pane -->\n\n\n\t\t</div>\n\t</div><!-- /eb-content-wrapper -->\n</template>\n\n<script>\n// imports come here\nimport ProductContentClassesTab from './ProductContentClassesTab.vue';\nimport { LiveClassTabs } from '../../constants/live_class';\n\nexport default {\n\tname: \"ProductContentClasses\",\n\tdata() {\n\t\treturn {\n\t\t\tactiveTab: 'Today',\n\t\t\tLiveClassTabs : LiveClassTabs\n\t\t};\n\t},\n\tmethods: {\n\t\tchangeTab(tab){\n\t\t\tthis.activeTab = tab;\n\t\t}\n\t},\n\tcomputed: {\n\t},\n\twatch: {},\n\tcomponents: {ProductContentClassesTab},\n\tcreated() {\n\tthis.activeTab = LiveClassTabs.TODAY\n\t},\n\tmounted() {\n\t}\n};\n</script>\n\n<style scoped>\n.live-class-filters .btn {\n\tmin-width: 90px;\n\tcolor: var(--primary-color);\n\tfont-weight: 600;\n\tbackground-color: white;\n}\n\n.live-class-filters .btn:active,\n.live-class-filters .btn:hover {\n\tcolor: var(--primary-color);\n}\n\n.live-class-filters .btn.active {\n\tcolor: var(--secondary-color);\n}\n\n@media (max-width:768px){\n\t.eb-header{\n\t\theight: auto;\n\t}\n}\n\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentClasses.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentClasses.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentClasses.vue?vue&type=template&id=55f55775&scoped=true&\"\nimport script from \"./ProductContentClasses.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentClasses.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentClasses.vue?vue&type=style&index=0&id=55f55775&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"55f55775\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.loading)?_c('center',{staticClass:\"loading\"},[_c('b-spinner',{attrs:{\"large\":\"\"}})],1):_c('div',{staticClass:\"eb-content eb-live-classes\"},[(_vm.classes.length > 0)?_c('div',[_c('div',{staticClass:\"cd-body round-top\"},[_c('div',{staticClass:\"lc-table-wrapper\"},[_c('ul',{staticClass:\"eb-table lc-table\"},[_c('li',{staticClass:\"thead\"},[_c('div',{staticClass:\"t-cell\"},[_vm._v(\"Day \"),_c('span',{staticClass:\"ms-3 d-flex flex-column\"},[_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.sortByDate(true)}}},[_c('i',{staticClass:\"fa fa-caret-up fa-lg\",class:!_vm.isSortByDateAsc ? 'caret-icon-opacity' : ''})]),_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.sortByDate(false)}}},[_c('i',{staticClass:\"fa fa-caret-down fa-lg\",class:_vm.isSortByDateAsc ? 'caret-icon-opacity' : ''})])])]),_c('div',{staticClass:\"t-cell\"},[_vm._v(\"Timing\")]),_c('div',{staticClass:\"t-cell\"},[_vm._v(\"Class\")]),_c('div',{staticClass:\"t-cell text-center\"},[_vm._v(\"Status\")]),_c('div',{staticClass:\"t-cell\"})]),_vm._l((_vm.classes),function(upcomingClass){return _c('li',{key:upcomingClass.id,staticClass:\"t-row\",on:{\"click\":function (){ _vm.$router.push({ params:{ page:'chapters', id:_vm.productVariantID }, query:{  contentId:upcomingClass.id }}) }}},[_c('div',{staticClass:\"t-cell\"},[_c('div',{staticClass:\"datebox\"},[_c('span',{staticClass:\"datebox-day\"},[_vm._v(_vm._s(new Date(upcomingClass.availableFrom).getDate()))]),_c('span',{staticClass:\"datebox-month\"},[_vm._v(_vm._s(_vm.getMonthName(upcomingClass.availableFrom)))])])]),_c('div',{staticClass:\"t-cell\"},[_c('span',{staticClass:\"font-medium\"},[_vm._v(_vm._s(_vm.formatTimeRange(upcomingClass.availableFrom, upcomingClass.availableTo)))])]),_c('div',{staticClass:\"t-cell\"},[_c('span',{staticClass:\"font-medium\"},[_vm._v(_vm._s(upcomingClass.title))])]),_c('div',{staticClass:\"t-cell text-center\",attrs:{\"id\":\"status\"}},[_c('span',{class:[{ 'absent': _vm.isAbsent(upcomingClass) }, { 'present': !_vm.isAbsent(upcomingClass) }]},[_vm._v(_vm._s(_vm.isScheduled(upcomingClass) ? \"Scheduled\" : _vm.isActiveClass(upcomingClass) ? 'In Progress' : _vm.isAbsent(upcomingClass) ? \"Absent\" : \"Present\")+\" \"),(_vm.getReason(upcomingClass))?_c('i',{staticClass:\"fas fa-circle comment-notify-batch\"}):_vm._e()]),(_vm.getReason(upcomingClass))?_c('div',{staticClass:\"dropdown-content\"},[_c('p',{staticClass:\"p-2\"},[_vm._v(\" \"+_vm._s(_vm.getReason(upcomingClass))+\" \")])]):_vm._e()]),_c('div',{staticClass:\"t-cell justify-content-center\"},[(_vm.isActiveClass(upcomingClass))?_c('div',{staticClass:\"lc-actions\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('button',{staticClass:\"btn btn-outline-primary\",on:{\"click\":function($event){return _vm.onJoinClassPressed(upcomingClass)}}},[_vm._v(\"Join\")])]):_vm._e()])])})],2)])])]):_c('center',{staticClass:\"no-content text-center\"},[_c('h4',{staticClass:\"mt-4\"},[_vm._v(\"No Classes Found\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<center v-if=\"loading\" class=\"loading\">\n\t\t<b-spinner large></b-spinner>\n\t</center>\n\n\t<div v-else class=\"eb-content eb-live-classes\">\n\n\t\t<div v-if=\"classes.length > 0\">\n\t\t\t<div class=\"cd-body round-top\">\n\n\t\t\t\t<div class=\"lc-table-wrapper\">\n\t\t\t\t\t<ul class=\"eb-table lc-table\">\n\t\t\t\t\t\t<li class=\"thead\">\n\t\t\t\t\t\t\t<div class=\"t-cell\">Day\n\t\t\t\t\t\t\t\t<span class=\"ms-3 d-flex flex-column\">\n\t\t\t\t\t\t\t\t\t<span @click=\"sortByDate(true)\" class=\"cursor-pointer\">\n\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-caret-up fa-lg\" :class=\"!isSortByDateAsc ? 'caret-icon-opacity' : ''\"></i>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span @click=\"sortByDate(false)\" class=\"cursor-pointer\">\n\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-caret-down fa-lg\" :class=\"isSortByDateAsc ? 'caret-icon-opacity' : ''\"></i>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"t-cell\">Timing</div>\n\t\t\t\t\t\t\t<div class=\"t-cell\">Class</div>\n\t\t\t\t\t\t\t<div class=\"t-cell text-center\">Status</div>\n\t\t\t\t\t\t\t<!-- <div class=\"t-cell text-center\">Progress</div> -->\n\t\t\t\t\t\t\t<div class=\"t-cell\"></div>\n\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t<li class=\"t-row\" v-for=\"upcomingClass in classes\"\n\t\t\t\t\t\t\t:key=\"upcomingClass.id\" \n\t\t\t\t\t\t\t@click=\"()=>{ $router.push({ params:{ page:'chapters', id:productVariantID }, query:{  contentId:upcomingClass.id }}) }\">\n\t\t\t\t\t\t\t<div class=\"t-cell\">\n\t\t\t\t\t\t\t\t<div class=\"datebox\">\n\t\t\t\t\t\t\t\t\t<span class=\"datebox-day\">{{ new Date(upcomingClass.availableFrom).getDate()\n\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t\t<span class=\"datebox-month\">{{ getMonthName(upcomingClass.availableFrom)\n\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"t-cell\">\n\t\t\t\t\t\t\t\t<span class=\"font-medium\">{{ formatTimeRange(upcomingClass.availableFrom,\n\t\t\t\t\t\t\t\t\tupcomingClass.availableTo) }}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"t-cell\">\n\t\t\t\t\t\t\t\t<span class=\"font-medium\">{{ upcomingClass.title }}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div id=\"status\" class=\"t-cell text-center\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t:class=\"[{ 'absent': isAbsent(upcomingClass) }, { 'present': !isAbsent(upcomingClass) }]\">{{\n\t\t\t\t\t\t\t\t\t\tisScheduled(upcomingClass) ? \"Scheduled\" :\n\t\t\t\t\t\t\t\t\tisActiveClass(upcomingClass) ? 'In Progress' : isAbsent(upcomingClass) ? \"Absent\" : \"Present\" }}\n\t\t\t\t\t\t\t\t\t<i class=\"fas fa-circle comment-notify-batch\" v-if=\"getReason(upcomingClass)\"></i>\n\t\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t\t<div v-if=\"getReason(upcomingClass)\" class=\"dropdown-content\">\n\t\t\t\t\t\t\t\t\t<p class=\"p-2\">\n\t\t\t\t\t\t\t\t\t\t{{ getReason(upcomingClass) }}\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- <div class=\"t-cell text-center\">\n\t\t\t\t\t\t\t<div class=\"lc-progress d-flex\">\n\t\t\t\t\t\t\t\t<div class=\"progress mb-1\">\n\t\t\t\t\t\t\t\t\t<div class=\"progress-bar\" role=\"progressbar\" style=\"width: 55%\" aria-valuenow=\"25\"\n\t\t\t\t\t\t\t\t\t\taria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"lc-progress-label mb-1\">\n\t\t\t\t\t\t\t\t\t<span id=\"progressVal\">55</span>%\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div> -->\n\t\t\t\t\t\t\t<div class=\"t-cell justify-content-center\">\n\n\t\t\t\t\t\t\t\t<div v-if=\"isActiveClass(upcomingClass)\" class=\"lc-actions\" @click.stop>\n\t\t\t\t\t\t\t\t\t<button @click=\"onJoinClassPressed(upcomingClass)\"\n\t\t\t\t\t\t\t\t\t\tclass=\"btn btn-outline-primary\">Join</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</li>\n\n\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\n\n\t\t\t</div><!-- /cd-body-->\n\t\t</div>\n\t\t<center v-else class=\"no-content text-center\">\n\t\t\t<h4 class=\"mt-4\">No Classes Found</h4>\n\t\t</center>\n\t\t<!-- <div class=\"cd-footer\">\n\t\t\t<div class=\"px-3 py-3 d-flex align-items-center\">\n\t\t\t\t<div class=\"\">\n\t\t\t\t\tPage 1 to 10\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ms-auto cd-footer-nav\">\n\t\t\t\t\t<button type=\"submit\" class=\"btn btn-outline-primary btn-sm btn-prev me-2\"><img \n\t\t\t\t\t\t\tsrc=\"@/assets/images/arrow-bottom.svg\"> Previous</button>\n\t\t\t\t\t<button type=\"submit\" class=\"btn btn-outline-primary btn-next btn-sm\">Next <img \n\t\t\t\t\t\t\tsrc=\"@/assets/images/arrow-bottom.svg\"></button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div> -->\n\n\n\t</div><!-- /eb-content -->\n</template>\n\n<script>\n// imports come here\nimport { mapActions, mapState } from \"vuex\";\nimport { LiveClassTabs } from '../../constants/live_class';\nimport Loading from \"../Layout/Loading.vue\";\n\nexport default {\n\tname: \"ProductContentClassesTab\",\n\tprops: {\n\t\ttab: String\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t\tproductVariantID: null,\n\t\t\tattendenceReport: null,\n\t\t\tclasses: [],\n\t\t\tisSortByDateAsc: true\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getUpcomingContent\", \"getLiveClassContentAttendance\"]),\n\t\tgetMonthName(dateString) {\n\t\t\tconst dateObj = new Date(dateString);\n\t\t\tconst monthIndex = dateObj.getMonth();\n\n\t\t\tconst monthNames = [\n\t\t\t\t'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n\t\t\t\t'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\n\t\t\t];\n\n\t\t\treturn monthNames[monthIndex];\n\t\t}\n\t\t,\n\t\tformatTimeRange(startDateTime, endDateTime) {\n\t\t\tconst startTime = new Date(startDateTime).toLocaleString('en-US', {\n\t\t\t\thour: 'numeric',\n\t\t\t\tminute: 'numeric',\n\t\t\t\thour12: true\n\t\t\t});\n\t\t\tconst endTime = new Date(endDateTime).toLocaleString('en-US', {\n\t\t\t\thour: 'numeric',\n\t\t\t\tminute: 'numeric',\n\t\t\t\thour12: true\n\t\t\t});\n\t\t\treturn `${startTime} To ${endTime}`;\n\t\t},\n\t\tasync fetchTabData() {\n\t\t\tvar currentDate = new Date();\n\t\t\tconsole.log(currentDate);\n\t\t\tif (this.tab == LiveClassTabs.TODAY) {\n\t\t\t\tthis.loading = true;\n\t\t\t\tthis.productVariantID = this.$route.params.id;\n\n\t\t\t\tawait this.getUpcomingContent({\n\t\t\t\t\tstartDate: new Date(currentDate.setHours(0, 0, 0, 0)).toISOString(),\n\t\t\t\t\tendDate: new Date(currentDate.setHours(23, 59, 0, 0)).toISOString(),\n\t\t\t\t\tproductVariantID: this.productVariantID\n\t\t\t\t}).then(() => {\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t});\n\t\t\t}\n\t\t\telse if (this.tab == LiveClassTabs.ALL) {\n\t\t\t\tthis.loading = true;\n\t\t\t\tawait this.getUpcomingContent({\n\t\t\t\t\tstartDate: undefined,\n\t\t\t\t\tendDate: undefined,\n\t\t\t\t\tproductVariantID: this.productVariantID\n\t\t\t\t}).then(() => {\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t});\n\t\t\t}\n\t\t\telse if (this.tab == LiveClassTabs.PREVIOUS) {\n\t\t\t\tthis.loading = true;\n\t\t\t\tawait this.getUpcomingContent({\n\t\t\t\t\tstartDate: undefined,\n\t\t\t\t\tendDate: currentDate.toISOString(),\n\t\t\t\t\tproductVariantID: this.productVariantID\n\t\t\t\t}).then(() => {\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t});\n\t\t\t}\n\t\t\telse if (this.tab == LiveClassTabs.UPCOMING) {\n\t\t\t\tthis.loading = true;\n\t\t\t\tawait this.getUpcomingContent({\n\t\t\t\t\tstartDate: currentDate.toISOString(),\n\t\t\t\t\tendDate: undefined,\n\t\t\t\t\tproductVariantID: this.productVariantID\n\t\t\t\t}).then(() => {\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tfilterClasses(type, classes) {\n\t\t\tconst now = new Date();\n\n\t\t\tswitch (type) {\n\t\t\t\tcase LiveClassTabs.UPCOMING:\n\t\t\t\t\treturn classes.filter((classItem) => {\n\t\t\t\t\t\treturn !this.isActiveClass(classItem)\n\t\t\t\t\t});\n\n\t\t\t\tcase LiveClassTabs.ALL:\n\t\t\t\tcase LiveClassTabs.TODAY:\n\t\t\t\t\treturn classes;\n\n\t\t\t\tcase LiveClassTabs.PREVIOUS:\n\t\t\t\t\treturn classes.filter((classItem) => {\n\t\t\t\t\t\treturn new Date(classItem.availableTo) < now;\n\t\t\t\t\t});\n\n\t\t\t\tdefault:\n\t\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\n\t\tgetLiveClassAttendenceReport() {\n\t\t\tif (this.productVariantID != null) {\n\t\t\t\tthis.getLiveClassContentAttendance({ productVariantID: this.productVariantID }).then((data) => {\n\t\t\t\t\tthis.attendenceReport = new Map(data.map((item) => [item.contentID, item]));\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tisAbsent(upcomingClass) {\n\t\t\ttry {\n\t\t\t\tconst report = this.attendenceReport.get(upcomingClass.id);\n\t\t\t\treturn !report || !report.status || report.status === \"absent\";\n\t\t\t} catch (error) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t},\n\t\tisScheduled(upcomingClass) {\n\t\t\tif(upcomingClass && upcomingClass.availableTo && upcomingClass.availableFrom) {\n\t\t\t\tvar currentDate = new Date();\n\t\t\t\tvar start = new Date(upcomingClass.availableFrom);\n\t\t\t\tvar end = new Date(upcomingClass.availableTo);\n\n\t\t\t\treturn currentDate < start && currentDate < end ? true : false\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tgetReason(upcomingClass) {\n\t\t\ttry {\n\t\t\t\tconst report = this.attendenceReport.get(upcomingClass.id);\n\t\t\t\treturn !report && !report.reason ? false : report.reason\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t},\n\t\tisActiveClass(upcomingClass) {\n\t\t\tvar currentDate = new Date();\n\n\t\t\tconst start = new Date(upcomingClass.availableFrom)\n\t\t\tconst end = new Date(upcomingClass.availableTo)\n\n\t\t\treturn currentDate > start && currentDate < end\n\t\t},\n\t\tonJoinClassPressed(activeClass) {\n\t\t\tthis.$router.push({\n\t\t\t\tpath:\n\t\t\t\t\t\"/content/liveclass/\" +\n\t\t\t\t\tactiveClass.title\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\"-\" +\n\t\t\t\t\tactiveClass.id +\n\t\t\t\t\t\"_\" +\n\t\t\t\t\tthis.productVariantID,\n\t\t\t});\n\t\t\treturn;\n\n\t\t},\n\t\tsortByDate(isAsc) {\n\t\t\tthis.isSortByDateAsc = isAsc ? true : false;\n\n\t\t\tif(this.isSortByDateAsc) {\n\t\t\t\tthis.classes = this.classes.sort((a, b) => new Date(a.availableFrom) - new Date(b.availableFrom));\n\t\t\t}\n\t\t\telse if(!this.isSortByDateAsc) {\n\t\t\t\tthis.classes = this.classes.sort((a, b) => new Date(b.availableFrom) - new Date(a.availableFrom));\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"upcomingContent\"]),\n\t},\n\twatch: {\n\t\ttab: async function () {\n\t\t\tawait this.fetchTabData();\t\n\t\t\tthis.classes = await this.filterClasses(this.tab, this.upcomingContent);\n\t\t\tthis.sortByDate(this.isSortByDateAsc);\n\n\t\t\tthis.getLiveClassAttendenceReport();\n\t\t},\n\t\t$route(to, from) {\n\t\t\tif (this.$route.params.id && this.productVariantID != this.$route.params.id) {\n\t\t\t\tthis.productVariantID = this.$route.params.id;\n\t\t\t\tthis.fetchTabData();\n\t\t\t}\n\t\t}\n\t},\n\tcomponents: { Loading },\n\tcreated() {\n\t},\n\tasync mounted() {\n\t\tawait this.fetchTabData();\n\t\tthis.classes = await this.filterClasses(this.tab, this.upcomingContent);\n\n\t\tthis.getLiveClassAttendenceReport()\n\t},\n};\n</script>\n\n\n<style scoped>\n.caret-icon-opacity {\n\topacity: 0.4;\n}\n.lc-table .t-row {\n\tcursor: pointer;\n}\n\n.lc-table .t-row:hover {\n\tbackground-color: var(--gray-light-hover);\n}\n.cd-body{\n\theight: auto;\n}\n.lc-table-wrapper{\n\tfont-size: 1rem;\n}\n.lc-table>li>.t-cell {\n\tflex: 0.6;\n\talign-items: center;\n\tdisplay: flex;\n\tborder-bottom: 1px solid var(--border-color);\n}\n\n.lc-table>li>.t-cell:nth-child(1) {\n\tflex: 0.3;\n\tpadding-left: 20px;\n}\n\n.lc-table>li>.t-cell:nth-child(2) {\n\tflex: 0.8;\n}\n\n.lc-table>li>.t-cell:nth-child(3) {\n\tflex: 1.2;\n}\n\n.lc-table>li>.t-cell:nth-child(4) {\n\tpadding-left: 20px;\n}\n\n.lc-table>li>.t-cell:last-child {\n\tflex: 0.4;\n}\n\n.datebox {\n\tborder-radius: 8px;\n\ttext-align: center;\n\tpadding: 2px;\n\tborder: solid 1px var(--border-color);\n\tfont-weight: 700;\n\twidth: 44px;\n\theight: 42px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n}\n\n.datebox-day {\n\tcolor: var(--primary-color);\n\tfont-size: 18px;\n\tdisplay: block;\n\tline-height: 16px;\n}\n\n.datebox-month {\n\tfont-size: 12px;\n\tline-height: 14px;\n\tdisplay: block;\n\tfont-weight: 600;\n}\n\n.lc-table .datebox {\n\tmargin: 4px 0;\n}\n\n.lc-progress {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.lc-progress .progress {\n\twidth: 90px;\n\tmargin-right: 4px;\n}\n\n.lc-progress .progress-bar {\n\tbackground-color: var(--progress-bar);\n}\n\n.lc-progress .progress {\n\theight: 7px;\n}\n\n.lc-progress-label {\n\tfont-size: 12px;\n}\n\n.lc-table .present,\n.lc-table .absent {\n\tfont-weight: 600;\n}\n\n.lc-table .present {\n\tcolor: var(--progress-bar);\n}\n\n.loading {\n\tmargin-top: 200px;\n\tmargin-bottom: 200px;\n}\n\n/* Dropdown Content (Hidden by Default) */\n.dropdown-content {\n\tdisplay: none;\n\tposition: absolute;\n\tbackground-color: #f1f1f1;\n\tmin-width: 160px;\n\tbox-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n\tz-index: 999;\n\tright: 0;\n}\n\n/* Links inside the dropdown */\n.dropdown-content p {\n\tcolor: black;\n\tpadding: 12px 16px;\n\ttext-decoration: none;\n\tdisplay: block;\n}\n\n#status span {\n\tposition: relative;\n}\n\n/* Change color of dropdown links on hover */\n#status span:hover {\n\tcursor: pointer;\n}\n\n#status:hover .dropdown-content {\n\tdisplay: block;\n}\n\n.comment-notify-batch {\n\tz-index: 1;\n\tcolor: red;\n\tposition: absolute;\n\tright: -4px;\n\tfont-size: 6px;\n\ttop: -4px;\n}\n\n.no-content {\n\tmargin-top: 50px;\n\tmargin-bottom: 50px;\n}\n@media (max-width:768px){\n\t.lc-table>li>.t-cell:nth-child(1) {\n\t\tpadding-left: 10px;\n\t}\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentClassesTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentClassesTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentClassesTab.vue?vue&type=template&id=02d4344a&scoped=true&\"\nimport script from \"./ProductContentClassesTab.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentClassesTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentClassesTab.vue?vue&type=style&index=0&id=02d4344a&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"02d4344a\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"body-content\"},[(((_vm.loadingExam || _vm.loadingResult) && !_vm.isDetailedView)\n\t\t|| ((_vm.loadingExam || _vm.loadingResult) && !_vm.question && _vm.isDetailedView))?_c('center',{staticClass:\"loading\"},[_c('b-spinner',{attrs:{\"large\":\"\"}})],1):(!_vm.loadingExam && !_vm.loadingResult && _vm.examList.length > 0)?_c('div',{staticClass:\"eb-content-wrapper\"},[_c('div',{staticClass:\"eb-body\"},[_c('div',{staticClass:\"eb-header d-flex mb-1\"},[_c('a',{attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.toggleView()}}},[(_vm.isDetailedView)?_c('i',{staticClass:\"fas fa-arrow-left\",attrs:{\"id\":\"backButton\"}}):_vm._e()]),_c('h5',[_vm._v(\" Exams \")])]),_c('div',{staticClass:\"eb-content eb-practice-content\"},[(!_vm.isDetailedView)?_c('div',{staticClass:\"practice-table\"},[_c('div',{staticClass:\"cd-body round\"},[_c('div',{staticClass:\"pc-table-wrapper\"},[_c('ul',{staticClass:\"eb-table pc-table\"},[_c('li',{staticClass:\"thead\"},[_c('div',{staticClass:\"t-cell\",staticStyle:{\"fflex\":\"0.25\"}},[_c('b',[_vm._v(\"#\")])]),_c('div',{staticClass:\"t-cell\",staticStyle:{\"fflex\":\"2\"}},[_c('b',[_vm._v(\"Exam\")])]),_c('div',{staticClass:\"t-cell \",staticStyle:{\"fflex\":\"0.5\"}},[_c('b',[_vm._v(\"Date\")])]),_c('div',{staticClass:\"t-cell text-center\",staticStyle:{\"fflex\":\"0.8\"}},[_c('b',[_vm._v(\"Percentage\")])]),_c('div',{staticClass:\"t-cell text-center\",staticStyle:{\"fflex\":\"0.8\"}},[_c('b',[_vm._v(\"Attempted\")])]),_c('div',{staticClass:\"t-cell\",staticStyle:{\"fflex\":\"1\",\"display\":\"flex\",\"justify-content\":\"center\",\"flex-direction\":\"row\",\"align-items\":\"center\"}},[_c('b',{staticClass:\"mx-2\"},[_vm._v(\"Exam Actions\")])])]),_vm._l((_vm.examList),function(exam,index){return _c('li',{key:exam.id + '' + index,staticClass:\"t-row\",on:{\"click\":function($event){return _vm.changeView({ exam: exam })}}},[_c('div',{staticClass:\"t-cell\",staticStyle:{\"fflex\":\"0.25\"}},[_vm._v(\" \"+_vm._s(index + 1)+\" \")]),_c('div',{staticClass:\"t-cell\",staticStyle:{\"display\":\"block\",\"fflex\":\"2\"}},[_c('span',{on:{\"click\":function($event){$event.stopPropagation();}}},[_c('a',{staticClass:\"red\",attrs:{\"role\":\"button\"},on:{\"click\":function (){ _vm.$router.push({ params:{ page:'chapters', id:_vm.productVariantID }, query:{ chapterId:exam.topLevelContentID }}) }}},[_vm._v(_vm._s(exam.chapterName))])]),_c('br'),_c('span',{staticClass:\"font-medium red\",on:{\"click\":function (){ _vm.$router.push({ params:{ page:'chapters', id:_vm.productVariantID }, query:{ chapterId:exam.topLevelContentID, contentId:exam.id }}) }}},[_vm._v(_vm._s(exam.title ? exam.title : '--'))])]),_c('div',{staticClass:\"t-cell\",staticStyle:{\"fflex\":\"0.5\"}},[_c('span',{staticClass:\"font-medium\"},[_vm._v(_vm._s(exam.result && exam.result.examDate ? _vm.formatDateWithTime(exam.result.examDate) : \"--\"))])]),_c('div',{staticClass:\"t-cell text-center\",staticStyle:{\"fflex\":\"0.8\"}},[(exam.result && exam.result.passingPercentage && exam.result.percentage >= 0)?_c('span',{class:['font-medium',\n\t\t\t\t\t\t\t\t\t\t\t\t{ pass: _vm.getResultStatus(exam.result.passingPercentage, exam.result.percentage) },\n\t\t\t\t\t\t\t\t\t\t\t\t{ fail: !_vm.getResultStatus(exam.result.passingPercentage, exam.result.percentage) }\n\t\t\t\t\t\t\t\t\t\t\t],attrs:{\"id\":\"percentage\"}},[_vm._v(_vm._s(exam.result.percentage)+\"% (\"+_vm._s(_vm.getResultStatus(exam.result.passingPercentage, exam.result.percentage) ? \"Pass\" : \"Fail\")+\") \"),_c('div',{staticClass:\"dropdown-content\"},[_c('p',[_vm._v(\" Passing Percentage: \"+_vm._s(exam.result.passingPercentage)+\" \")])])]):_c('span',[_vm._v(\"--\")])]),_c('div',{staticClass:\"t-cell text-center\",staticStyle:{\"fflex\":\"0.8\"}},[(exam.result && exam.result.attemptedCorrectly && exam.result.totalQuestions)?_c('span',{staticClass:\"font-medium\"},[_vm._v(\" \"+_vm._s(exam.result.attemptedCorrectly)+\" of \"+_vm._s(exam.result.totalQuestions)+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.getNotAttemptedCount(exam.result.attemptedQuestions, exam.result.totalQuestions))+\" \")]):_c('span',[_vm._v(\"--\")])]),_c('div',{staticClass:\"t-cell\",staticStyle:{\"flex\":\"1\"}},[(_vm.showAttemptButton(exam))?_c('button',{staticClass:\"action-button mb-1\",on:{\"click\":[function($event){$event.stopPropagation();},function($event){return _vm.handleAttemptClick(exam.id, exam.type)}]}},[_vm._v(\"Attempt\")]):_vm._e(),_c('div',{staticClass:\"mx-1\"}),(exam.result && exam.result.id)?_c('button',{staticClass:\"action-button mb-1\",on:{\"click\":[function($event){$event.stopPropagation();},function($event){return _vm.review(exam.id, exam.result.id, undefined, exam.type)}]}},[_vm._v(\"Review\")]):_vm._e()])])})],2)])])]):(_vm.isDetailedView)?_c('div',{staticClass:\"cd-body round\"},[_c('div',{staticClass:\"qr-table-wrapper\"},[_c('ul',{staticClass:\"eb-table qr-table\"},[_c('li',{staticClass:\"thead\"},[_c('div',{staticClass:\"t-cell\",staticStyle:{\"width\":\"5%\"}},[_c('b',[_vm._v(\"#\")])]),_c('div',{staticClass:\"t-cell\",staticStyle:{\"width\":\"15%\"}}),_c('div',{staticClass:\"t-cell\",staticStyle:{\"width\":\"40%\"}},[_c('b',[_vm._v(\"Question\")])]),_c('div',{staticClass:\"t-cell text-center\",staticStyle:{\"width\":\"20%\"}},[_c('b',[_vm._v(\"Type\")])]),_c('div',{staticClass:\"t-cell text-center\",staticStyle:{\"width\":\"10%\"}},[_c('b',[_vm._v(\"Marks\")])]),_c('div',{staticClass:\"t-cell text-center\",staticStyle:{\"width\":\"10%\"}},[_vm._v(\"Action\")])]),_vm._l((_vm.examDetail),function(detail,index){return _c('li',{key:index + 1,staticClass:\"t-row\"},[_c('div',{staticClass:\"t-cell\",staticStyle:{\"width\":\"5%\"}},[_vm._v(_vm._s(index + 1))]),_c('div',{staticClass:\"t-cell\",staticStyle:{\"width\":\"15%\"}},[_c('img',{staticClass:\"status-icon\",attrs:{\"src\":_vm.getStatusIconPath(detail.action)}})]),_c('div',{staticClass:\"t-cell normal-font\",staticStyle:{\"width\":\"40%\"}},[_c('p',{staticClass:\"question-text\"},[_vm._v(_vm._s(detail.question.text)+\" \")])]),_c('div',{staticClass:\"t-cell text-center\",staticStyle:{\"width\":\"20%\"}},[_vm._v(_vm._s(detail.question.type))]),_c('div',{staticClass:\"t-cell text-center\",staticStyle:{\"width\":\"10%\"}},[_c('b',[_vm._v(_vm._s(detail.marksObtained))]),_vm._v(\" / \"),_c('b',[_vm._v(_vm._s(detail.question.marks))])]),_c('div',{staticClass:\"t-cell text-center\",staticStyle:{\"width\":\"10%\"}},[_c('button',{staticClass:\"col-7 eb-notes-view\",on:{\"click\":function($event){return _vm.review(_vm.examDetailContent.content.id, _vm.examDetailContent.id, detail.question.id, detail.type)}}},[_c('i',{staticClass:\"fas fa-eye\"})])])])})],2)])]):_vm._e(),(_vm.showModal)?_c('b-modal',{attrs:{\"id\":\"modal\",\"visible\":_vm.showModal,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.toggleModal({ state: false, question: null })}}},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.toggleModal({ state: false, question: null })}}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('div',{staticClass:\"eb-modal-content px-3\"},[_c('h1',{staticClass:\"main-heading\"},[_vm._v(\"Review Question # \"+_vm._s(_vm.question.question.caseNo))]),_c('p',[_c('span',{staticClass:\"col-auto\",domProps:{\"innerHTML\":_vm._s(_vm.question.question.text)}})]),_c('p',[_vm._v(\" Marks: \"),_c('b',[_vm._v(_vm._s(_vm.question.marksObtained))]),_vm._v(\" out of \"),_c('b',[_vm._v(_vm._s(_vm.question.question.marks))])]),_c('p',[_vm._v(\" Type: \"+_vm._s(_vm.question.question.type)+\" \")]),_c('div',{staticClass:\"card keypoint mb-3\"},[_c('div',{staticClass:\"card-header\"},[_c('i',{staticClass:\"fa fa-check\"}),_vm._v(\" Answer\")]),_c('div',{staticClass:\"card-body mt-3 mb-3\"},[_c('img',{staticClass:\"status-icon\",attrs:{\"src\":_vm.getStatusIconPath(_vm.question.action)}}),_vm._v(\" \"+_vm._s(_vm.question.action)+\" \")])])])]):_vm._e()],1)])]):_c('center',{staticClass:\"no-content text-center\"},[_c('h4',{staticClass:\"mt-4\"},[_vm._v(\"No Exams Found\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"body-content\">\n\t\t<center v-if=\"((loadingExam || loadingResult) && !isDetailedView)\n\t\t\t|| ((loadingExam || loadingResult) && !question && isDetailedView)\" class=\"loading\">\n\t\t\t<b-spinner large></b-spinner>\n\t\t</center>\n\t\t<div v-else-if=\"!loadingExam && !loadingResult && examList.length > 0\" class=\"eb-content-wrapper\">\n\t\t\t<div class=\"eb-body\">\n\t\t\t\t<div class=\"eb-header d-flex mb-1\">\n\t\t\t\t\t<a role=\"button\" @click=\"toggleView()\"> <i v-if=\"isDetailedView\" id=\"backButton\"\n\t\t\t\t\t\t\tclass=\"fas fa-arrow-left\"></i>\n\t\t\t\t\t</a>\n\t\t\t\t\t<h5>\n\t\t\t\t\t\tExams\n\t\t\t\t\t</h5>\n\t\t\t\t\t<!-- <button class=\"btn-link ms-auto text-decoration-none red me-2\">Reset All Questions</button> -->\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"eb-content eb-practice-content\">\n\t\t\t\t\t<!-- <div class=\"cd-body round\"> -->\n\t\t\t\t\t<!-- <div class=\"eb-progress eb-head-progress px-4 my-4\">\n\t\t\t\t\t\t\t<label class=\"progress-label mb-1\">Completion</label>\n\t\t\t\t\t\t\t<div class=\"progress rounded-5\">\n\t\t\t\t\t\t\t\t<div class=\"progress-bar\" role=\"progressbar\" style=\"width: 35%\" aria-valuenow=\"25\"\n\t\t\t\t\t\t\t\t\taria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div class=\"eb-summary-row px-4 pt-3 mb-4\">\n\t\t\t\t\t\t\t<div class=\"eb-summary mt-1 ms-1\">\n\t\t\t\t\t\t\t\t<div class=\"summary-item\">\n\t\t\t\t\t\t\t\t\t<div class=\"summ-stat\">1 of 87</div>\n\t\t\t\t\t\t\t\t\t<div class=\"summ-label\">Questions Taken</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"summary-item\">\n\t\t\t\t\t\t\t\t\t<div class=\"summ-stat\">00:00:34</div>\n\t\t\t\t\t\t\t\t\t<div class=\"summ-label\">Avg. Answer Time</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"summary-item\">\n\t\t\t\t\t\t\t\t\t<div class=\"summ-stat\">1 of 87</div>\n\t\t\t\t\t\t\t\t\t<div class=\"summ-label\">Questions Taken</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div> -->\n\n\t\t\t\t\t<div v-if=\"!isDetailedView\" class=\"practice-table\">\n\t\t\t\t\t\t<div class=\"cd-body round\">\n\n\t\t\t\t\t\t\t<div class=\"pc-table-wrapper\">\n\t\t\t\t\t\t\t\t<ul class=\"eb-table pc-table\">\n\t\t\t\t\t\t\t\t\t<li class=\"thead\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"fflex: 0.25\"><b>#</b></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"fflex: 2;\"><b>Exam</b></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell \" style=\"fflex: 0.5;\"><b>Date</b></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell text-center\" style=\"fflex: 0.8;\"><b>Percentage</b></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell text-center\" style=\"fflex: 0.8;\"><b>Attempted</b></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell\"\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"fflex: 1; display: flex; justify-content: center; flex-direction: row; align-items: center;\">\n\t\t\t\t\t\t\t\t\t\t\t<b class=\"mx-2\">Exam Actions</b>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t\t\t\t<li class=\"t-row\" @click=\"changeView({ exam: exam })\" v-for=\"(exam, index) in examList\"\n\t\t\t\t\t\t\t\t\t\t:key=\"exam.id + '' + index\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"fflex: 0.25\">\n\t\t\t\t\t\t\t\t\t\t\t{{ index + 1 }}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"display: block; fflex: 2;\" >\n\t\t\t\t\t\t\t\t\t\t\t<span @click.stop>\n\t\t\t\t\t\t\t\t\t\t\t<a role=\"button\" @click=\"()=>{ $router.push({ params:{ page:'chapters', id:productVariantID }, query:{ chapterId:exam.topLevelContentID }}) }\"\t class=\"red\">{{ exam.chapterName }}</a>\n\t\t\t\t\t\t\t\t\t\t    </span>\n\t\t\t\t\t\t\t\t\t\t\t<br /><span  @click=\"()=>{ $router.push({ params:{ page:'chapters', id:productVariantID }, query:{ chapterId:exam.topLevelContentID, contentId:exam.id }}) }\" class=\"font-medium red\">{{ exam.title ? exam.title : '--' }}</span>\n\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"fflex: 0.5;\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"font-medium\">{{ exam.result && exam.result.examDate ?\n\t\t\t\t\t\t\t\t\t\t\t\tformatDateWithTime(exam.result.examDate) : \"--\" }}</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell text-center\" style=\"fflex: 0.8;\">\n\t\t\t\t\t\t\t\t\t\t\t<span v-if=\"exam.result && exam.result.passingPercentage && exam.result.percentage >= 0\" id=\"percentage\"\n\t\t\t\t\t\t\t\t\t\t\t\t:class=\"['font-medium',\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ pass: getResultStatus(exam.result.passingPercentage, exam.result.percentage) },\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ fail: !getResultStatus(exam.result.passingPercentage, exam.result.percentage) }\n\t\t\t\t\t\t\t\t\t\t\t\t]\">{{ exam.result.percentage }}% ({{ getResultStatus(exam.result.passingPercentage, exam.result.percentage)\n\t? \"Pass\" : \"Fail\" }})\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dropdown-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tPassing Percentage: {{ exam.result.passingPercentage }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t\t\t\t\t<span v-else>--</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell text-center\" style=\"fflex: 0.8;\">\n\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"exam.result && exam.result.attemptedCorrectly && exam.result.totalQuestions\"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ exam.result.attemptedCorrectly }} of {{ exam.result.totalQuestions }}\n\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t{{ getNotAttemptedCount(exam.result.attemptedQuestions,\n\t\t\t\t\t\t\t\t\t\t\t\t\texam.result.totalQuestions) }}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<span v-else>--</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"flex: 1;\">\n\t\t\t\t\t\t\t\t\t\t\t<button v-if=\"showAttemptButton(exam)\" @click.stop\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"handleAttemptClick(exam.id, exam.type)\" class=\"action-button mb-1\">Attempt</button>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"mx-1\"></div>\n\n\t\t\t\t\t\t\t\t\t\t\t<button v-if=\"exam.result && exam.result.id\" @click.stop\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"review(exam.id, exam.result.id, undefined, exam.type)\"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"action-button mb-1\">Review</button>\n\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- </div>/cd-body -->\n\t\t\t\t\t<div v-else-if=\"isDetailedView\" class=\"cd-body round\">\n\t\t\t\t\t\t<div class=\"qr-table-wrapper\">\n\t\t\t\t\t\t\t<ul class=\"eb-table qr-table\">\n\t\t\t\t\t\t\t\t<li class=\"thead\">\n\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"width: 5%;\"><b>#</b></div>\n\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"width: 15%;\"></div>\n\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"width: 40%;\"><b>Question</b></div>\n\t\t\t\t\t\t\t\t\t<div class=\"t-cell text-center\" style=\"width: 20%;\"><b>Type</b></div>\n\t\t\t\t\t\t\t\t\t<div class=\"t-cell text-center\" style=\"width: 10%;\"><b>Marks</b></div>\n\t\t\t\t\t\t\t\t\t<div class=\"t-cell text-center\" style=\"width: 10%;\">Action</div>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li v-for=\"(detail, index) in examDetail\" :key=\"index + 1\" class=\"t-row\">\n\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"width: 5%;\">{{ index + 1 }}</div>\n\t\t\t\t\t\t\t\t\t<div class=\"t-cell\" style=\"width: 15%;\">\n\t\t\t\t\t\t\t\t\t\t<img :src=\"getStatusIconPath(detail.action)\" class=\"status-icon\">\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"t-cell normal-font\" style=\"width: 40%;\">\n\t\t\t\t\t\t\t\t\t\t<p class=\"question-text\">{{ detail.question.text }} </p>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"t-cell text-center\" style=\"width: 20%;\">{{ detail.question.type }}</div>\n\t\t\t\t\t\t\t\t\t<div class=\"t-cell text-center\" style=\"width: 10%;\">\n\t\t\t\t\t\t\t\t\t\t<b>{{ detail.marksObtained }}</b> / <b>{{ detail.question.marks }}</b>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"t-cell text-center\" style=\"width: 10%;\">\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"review(examDetailContent.content.id, examDetailContent.id, detail.question.id, detail.type)\"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"col-7 eb-notes-view\">\n\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fas fa-eye\"></i>\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\n\t\t\t\t\t<b-modal v-if=\"showModal\" id=\"modal\" @change=\"toggleModal({ state: false, question: null })\"\n\t\t\t\t\t\t:visible=\"showModal\" hide-header centered content-class=\"modal\" size=\"xl\" body-class=\"modal-body\"\n\t\t\t\t\t\thide-footer modal-class=\"custom-modal\" no-close-on-backdrop>\n\t\t\t\t\t\t<button @click=\"toggleModal({ state: false, question: null })\" class=\"close-button\" role=\"button\">\n\t\t\t\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t<div class=\"eb-modal-content px-3\">\n\t\t\t\t\t\t\t<h1 class=\"main-heading\">Review Question # {{ question.question.caseNo }}</h1>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t<span class=\"col-auto\" v-html=\"question.question.text\"></span>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\tMarks: <b>{{ question.marksObtained }}</b> out of <b>{{ question.question.marks }}</b>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\tType: {{ question.question.type }}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<div class=\"card keypoint mb-3\">\n\t\t\t\t\t\t\t\t<div class=\"card-header\"><i class=\"fa fa-check\"></i> Answer</div>\n\t\t\t\t\t\t\t\t<div class=\"card-body mt-3 mb-3\">\n\t\t\t\t\t\t\t\t\t<img :src=\"getStatusIconPath(question.action)\" class=\"status-icon\">\n\t\t\t\t\t\t\t\t\t{{ question.action }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</b-modal>\n\n\t\t\t\t</div><!-- /eb-content -->\n\t\t\t</div><!-- /eb-body -->\n\t\t</div><!-- /eb-content-wrapper -->\n\t\t<center v-else class=\"no-content text-center\">\n\t\t\t<h4 class=\"mt-4\">No Exams Found</h4>\n\t\t</center>\n\t</div>\n</template>\n\n\n<script>\n\nimport { mapActions, mapState } from 'vuex';\n\nimport { LegacyExam } from \"../../constants/exam\";\nimport Swal from \"sweetalert2\";\nimport { toShortDateString } from \"../../helpers/FormatHelpers\";\n\nexport default {\n\tname: \"ProductContentExams\",\n\tdata() {\n\t\treturn {\n\t\t\tisDetailedView: false,\n\t\t\tloadingExam: false,\n\t\t\tloadingResult: false,\n\t\t\texamList: [],\n\t\t\texamDetailContent: null,\n\t\t\texamDetail: [],\n\t\t\tshowModal: false,\n\t\t\tquestion: null,\n\t\t\tproductVariantID: null\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions('exam', ['getExamResultByProductVariant', 'getExamContentResult']),\n\t\t...mapActions('content', ['getContentById', 'getUserContentByProductVariant', 'getQuizResultByProductVariantId']),\n\t\t...mapActions('quiz', ['getQuizDetail']),\n\t\tchangeView({ exam = null }) {\n\t\t\tif (!exam) {\n\t\t\t\tthis.isDetailedView = false;\n\t\t\t\tthis.question = null\n\t\t\t}\n\n\t\t\tif (exam && exam.result && exam.result.id && exam.result.content && exam.result.content.id) {\n\n\t\t\t\tlet examID = exam.result.id;\n\t\t\t\tlet contentID = exam.result.content.id;\n\n\t\t\t\tthis.isDetailedView = true\n\n\t\t\t\tif (this.isDetailedView) {\n\t\t\t\t\tthis.fetchExamContentResult({ examID: examID, contentID: contentID, type: exam.type })\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if(!this.showAttemptButton(exam)) {\n\t\t\t\tthis.showSwalErrorMessage({\n\t\t\t\t\ttitle: `${exam.type.toUpperCase()} Not Attempted!`,\n\t\t\t\t\tmessage: `The ${exam.type} you are trying to view has not been attempted yet`,\n\t\t\t\t    contentId: exam.id,\n\t\t\t\t\texamType: exam.type\n\t\t\t\t})\n\t\t\t}\n\t\t\telse{\t\n\t\t\t\tthis.$router.push({ params:{ page:'chapters', id:this.productVariantID }, query:{ chapterId:exam.topLevelContentID, contentId:exam.id }})\n\t\t\t\t// this.showSwalErrorMessage({\n\t\t\t\t// \ttitle: \"Exam Not Attempted!\",\n\t\t\t\t// \tmessage: \"The exam you are trying to view has not been attempted yet\",\n\t\t\t\t// \tbuttonText: \"Attempt\", contentId: exam.id\n\t\t\t\t// })\n\t\t\t}\n\t\t},\n\t\ttoggleView() {\n\t\t\tthis.isDetailedView = !this.isDetailedView\n\t\t},\n\t\treview(contentId, examId, questionId = undefined, type) {\n\n\t\t\tif(type == 'quiz') {\n\t\t\t\tlet url = `/product/dashboard/chapters/${this.productVariantID}?contentId=${contentId}&isReviewMode=true&attemptId=${examId}`;\n\t\t\t\t\n\t\t\t\tlet chapterId = this.$route.query.chapterId;\n\t\t\t\tif(chapterId) {\n\t\t\t\t\turl += `&chapterId=${chapterId}`;\n\t\t\t\t}\n\t\t\t\tif(questionId) {\n\t\t\t\t\turl += `&questionId=${questionId}`;\n\t\t\t\t}\n\n\t\t\t\tthis.$router.push(url);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar data = { action: LegacyExam.GET_EXAM_ACTION.REVIEW_EXAM, examid: examId };\n\t\t\tif (questionId) {\n\t\t\t\tdata = { action: LegacyExam.GET_EXAM_ACTION.REVIEW_EXAM, examid: examId, questionid: questionId };\n\t\t\t}\n\t\t\tthis.getContentById({\n\t\t\t\tid: contentId,\n\t\t\t\textraParams: data,\n\t\t\t}).then((content) => {\n\t\t\t\tif (content) {\n\t\t\t\t\tvar examAttemptUrl =\n\t\t\t\t\t\tcontent.data.redirectUrl + \"&RedirectUrl=\" + window.location.href;\n\t\t\t\t\twindow.open(examAttemptUrl, \"_blank\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tasync fetchResultProductVariant(type) {\n\t\t\tif(type == 'exam') {\n\t\t\t\tthis.loadingResult = true;\n\t\t\t\tawait this.getExamResultByProductVariant({ productVariantID: this.$route.params.id })\n\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\tconst tempExamList = this.examList.map(exam => ({ ...exam }));\n\n\t\t\t\t\t\tfor (const result of data) {\n\t\t\t\t\t\t\tfor (const exam of tempExamList) {\n\t\t\t\t\t\t\t\tif (result.content.id === exam.id) {\n\t\t\t\t\t\t\t\t\texam.result = result;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttempExamList.sort((a, b) => parseInt(a.id, 10) - parseInt(b.id, 10));\n\t\t\t\t\t\tthis.examList = tempExamList;\n\t\t\t\t\t\tthis.loadingResult = false;\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsole.error(\"Error fetching result:\", error);\n\t\t\t\t\t\tthis.loadingResult = false;\n\t\t\t\t\t});\n\t\t\t}\n\t\t\telse if(type == 'quiz') {\n\t\t\t\tawait this.getQuizResultByProductVariantId(this.$route.params.id).then((res) => {\n\t\t\t\t\t\n\t\t\t\t\tconst tempExamList = this.examList.map(exam => ({ ...exam }));\n\n\t\t\t\t\tfor (const result of res) {\n\t\t\t\t\t\tfor (const exam of tempExamList) {\n\t\t\t\t\t\t\tif (result.content.id === exam.id) {\n\t\t\t\t\t\t\t\tresult.percentage = result.overallPercentage;\n\t\t\t\t\t\t\t\tresult.examDate = result.attemptedAt;\n\t\t\t\t\t\t\t\tresult.attemptedCorrectly = result.noOfCorrectQuestions ? result.noOfCorrectQuestions : \"0\";\n\t\t\t\t\t\t\t\tresult.totalQuestions = result.noOfQuestions ? result.noOfQuestions : \"0\";\n\t\t\t\t\t\t\t\tresult.attemptedQuestions = result.noOfAttemptedQuestions ? result.noOfAttemptedQuestions : \"0\";\n\n\t\t\t\t\t\t\t\texam.result = result;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.examList = tempExamList;\n\t\t\t\t\tthis.loadingResult = false;\n\t\t\t\t})\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t},\n\n\t\tfetchExamContentResult({ examID, contentID, type }) {\n\t\t\tthis.loadingExam = true;\n\n\t\t\tif(type == \"quiz\") {\n\t\t\t\tthis.getQuizDetail(examID).then((res) => {\n\t\t\t\t\tif(res && res.length > 0) {\n\t\t\t\t\t\tthis.examDetailContent = res[0];\n\t\t\t\t\t\tthis.examDetailContent.content = {};\n\t\t\t\t\t\tthis.examDetailContent.content.id = res[0].contentID;\n\t\t\t\t\t\tthis.examDetail = res[0].quizAttemptDetails;\n\n\t\t\t\t\t\tfor (let detail of this.examDetail) {\n\t\t\t\t\t\t\tvar tempContainer = document.createElement('div');\n\t\t\t\t\t\t\ttempContainer.innerHTML = detail.questionText;\n\t\t\t\t\t\t\tvar tempQuill = new Quill(tempContainer);\n\t\t\t\t\t\t\tvar text = tempQuill.getText();\n\t\t\t\t\t\t\tdetail.question = {};\n\t\t\t\t\t\t\tdetail.question.text = text.substring(0, text.length > 140 ? 140 : text.length);\n\t\t\t\t\t\t\tdetail.marksObtained = detail.action && detail.action.toLowerCase() == 'correct' ? detail.obtainedMarks : 0;\n\t\t\t\t\t\t\tdetail.question.type = detail.type;\n\t\t\t\t\t\t\tdetail.question.marks = detail.marks;\n\t\t\t\t\t\t\tdetail.question.id = detail.id;\n\t\t\t\t\t\t\tdetail.type = type;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthis.loadingExam = false;\n\t\t\t\t}).catch((err) => {\n\t\t\t\t\tthis.loadingExam = false;\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.getExamContentResult({ examID: examID, contentID: contentID }).then((data) => {\n\n\t\t\t\tthis.examDetailContent = data;\n\t\t\t\tthis.examDetail = data.examDetail;\n\t\t\t\tthis.examDetail.sort(this.compareQuestionCaseNo);\n\n\t\t\t\tfor (let detail of this.examDetail) {\n\t\t\t\t\tvar tempContainer = document.createElement('div');\n\t\t\t\t\ttempContainer.innerHTML = detail.question.text;\n\t\t\t\t\tvar tempQuill = new Quill(tempContainer);\n\t\t\t\t\tvar text = tempQuill.getText();\n\t\t\t\t\tdetail.question.text = text.substring(0, text.length > 140 ? 140 : text.length);\n\t\t\t\t}\n\n\t\t\t\tthis.loadingExam = false;\n\t\t\t}).catch((error) => {\n\t\t\t\tconsole.error(\"Error fetching result:\", error);\n\t\t\t\tthis.loadingExam = false;\n\t\t\t});;\n\t\t},\n\t\tgetStatusIconPath(action) {\n\t\t\treturn action === 'Correct' ? require('@/assets/images/check-icon-green-circle.svg') : require('@/assets/images/cross-icon.svg');\n\t\t},\n\t\ttoggleModal({ state, question }) {\n\t\t\tthis.question = question;\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showModal = state;\n\t\t\t} else {\n\t\t\t\tthis.showModal = !this.showModal\n\t\t\t}\n\t\t},\n\t\tgetNotAttemptedCount(attemptedQuestions, totalQuestions) {\n\t\t\tvar attempted = parseInt(attemptedQuestions);\n\t\t\tvar total = parseInt(totalQuestions);\n\n\t\t\tvar notAttempted = total - attempted;\n\n\t\t\treturn notAttempted > 0 ? `(${notAttempted} Not Attempted)` : '';\n\t\t},\n\t\tgetResultStatus(passingPercentage, percentage) {\n\t\t\tif(!passingPercentage || percentage == null || percentage == undefined) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t \n\t\t\tvar current = parseInt(percentage);\n\t\t\tvar total = parseInt(passingPercentage);\n\n\t\t\tvar pass = current >= total;\n\n\t\t\treturn pass;\n\t\t},\n\t\tcompareQuestionCaseNo(a, b) {\n\t\t\treturn parseInt(a.questionCaseNo) - parseInt(b.questionCaseNo);\n\t\t},\n\t\tasync getExamList() {\n\n\t\t\tthis.loadingExam = true;\n\t\t\tthis.examList = [];\n\n\t\t\tawait this.getUserContentByProductVariant({\n\t\t\t\tproductVariantID: this.$route.params.id,\n\t\t\t\tdataType: 'exam'\n\t\t\t}).then((data) => {\n\t\t\t\tif (this.productVariants && this.productVariants.items && this.productVariants.items[this.$route.params.id + \"\"]) {\n\t\t\t\t\tvar selectedProductVariant = this.productVariants.items[this.$route.params.id + \"\"];\n\t\t\t\t\tfor (let item of data) {\n\t\t\t\t\t\tif (selectedProductVariant.productVariantItems) {\n\t\t\t\t\t\t\tvar title = selectedProductVariant.productVariantItems.find((x) => x.id == item.topLevelContentID);\n\t\t\t\t\t\t\ttitle = title ? title.title : \"Unknown\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttitle = \"Unknown\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar exam = {\n\t\t\t\t\t\t\tchapterName: title,\n\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\texam.type = \"exam\";\n\t\t\t\t\t\tthis.examList.push(exam);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.fetchResultProductVariant('exam');\n\n\t\t\t\tthis.loadingExam = false;\n\n\t\t\t}).catch((error) => {\n\t\t\t\tconsole.error(\"Error fetching result:\", error);\n\t\t\t\tthis.loadingExam = false;\n\t\t\t});;\n\n\t\t\tawait this.getUserContentByProductVariant({\n\t\t\t\tproductVariantID: this.$route.params.id,\n\t\t\t\tdataType: 'quiz'\n\t\t\t}).then((data) => {\n\t\t\t\tif (this.productVariants && this.productVariants.items && this.productVariants.items[this.$route.params.id + \"\"]) {\n\t\t\t\t\tvar selectedProductVariant = this.productVariants.items[this.$route.params.id + \"\"];\n\t\t\t\t\tfor (let item of data) {\n\t\t\t\t\t\tif (selectedProductVariant.productVariantItems) {\n\t\t\t\t\t\t\tvar title = selectedProductVariant.productVariantItems.find((x) => x.id == item.topLevelContentID);\n\t\t\t\t\t\t\ttitle = title ? title.title : \"Unknown\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttitle = \"Unknown\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar quiz = {\n\t\t\t\t\t\t\tchapterName: title,\n\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tquiz.type = \"quiz\";\n\t\t\t\t\t\tthis.examList.push(quiz);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\n\t\t\t\tthis.fetchResultProductVariant('quiz');\n\t\t\t\t\n\t\t\t\tthis.loadingExam = false;\n\t\t\t\t\n\t\t\t}).catch((error) => {\n\t\t\t\tconsole.error(\"Error fetching result:\", error);\n\t\t\t\tthis.loadingExam = false;\n\t\t\t});\n\t\t},\n\t\tshowAttemptButton(exam) {\n\t\t\tif (!exam) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst { availableFrom, availableTo } = exam;\n\n\t\t\tif (!availableFrom || !availableTo) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst currentDate = Date.now();\n\t\t\treturn this.isBetweenDates(currentDate, availableFrom, availableTo);\n\t\t},\n\t\tisBetweenDates(checkDate, startDate, endDate) {\n\n\t\t\tconst start = new Date(startDate)\n\t\t\tconst end = new Date(endDate)\n\n\t\t\treturn checkDate > start && checkDate < end\n\t\t},\n\t\tshowSwalErrorMessage({ title, message, buttonText = null, contentId = null, examType }) {\n\t\t\tconst swalOptions = {\n\t\t\t\ttitle: title,\n\t\t\t\ttext: message,\n\t\t\t\ticon: \"error\",\n\t\t\t\tshowCancelButton: true,\n\t\t\t\tcancelButtonText: \"Cancel\",\n\t\t\t\tcancelButtonColor: \"#D3D3D3\",\n\t\t\t\tdangerMode: true,\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\tallowEscapeKey: true,\n\t\t\t};\n\n\t\t\tif (buttonText !== null) {\n\t\t\t\tswalOptions.confirmButtonText = buttonText;\n\t\t\t\tswalOptions.confirmButtonColor = \"#FF0000\";\n\t\t\t} \n\n\t\t\tSwal.fire(swalOptions).then((result) => {\n\t\t\t\tif (contentId && result.isConfirmed && buttonText != null) {\n\t\t\t\t\tthis.handleAttemptClick(contentId, examType);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t,\n\n\n\t\thandleAttemptClick(contentId, type) {\n\t\t\tif(type == \"quiz\") {\n\t\t\t\tthis.getContentById({\n\t\t\t\t\tid: contentId\n\t\t\t\t}).then((content) => {\n\t\t\t\t\tif (content) {\n\t\t\t\t\t\tlet url = `/product/dashboard/chapters/${this.productVariantID}?contentId=${contentId}`;\n\t\t\t\t\t\tlet chapterId = this.$route.query.chapterId;\n\n\t\t\t\t\t\tif(chapterId) {\n\t\t\t\t\t\t\turl += `&chapterId=${chapterId}`;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.$router.push(url);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.getContentById({\n\t\t\t\tid: contentId,\n\t\t\t\textraParams: { action: LegacyExam.GET_EXAM_ACTION.ATTEMPT },\n\t\t\t}).then((content) => {\n\t\t\t\tif (content) {\n\t\t\t\t\tvar examAttemptUrl =\n\t\t\t\t\t\tcontent.data.redirectUrl +\n\t\t\t\t\t\t\"&RedirectUrl=\" +\n\t\t\t\t\t\twindow.location.href;\n\t\t\t\t\twindow.open(examAttemptUrl, \"_blank\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tformatDateWithTime(datetime) {\n\t\t\tif(!datetime) {\n\t\t\t\treturn \"--\"\n\t\t\t}\n\n\t\t\tlet date = new Date(datetime);\n\t\t\tvar hours = date.getHours();\n\t\t\tvar minutes = date.getMinutes();\n\t\t\tvar ampm = hours >= 12 ? \"PM\" : \"AM\";\n\t\t\thours = hours % 12;\n\t\t\thours = hours ? hours : 12; // the hour '0' should be '12'\n\t\t\tminutes = minutes < 10 ? \"0\" + minutes : minutes;\n\t\t\tvar strTime = hours + \":\" + minutes + \" \" + ampm;\n\t\t\treturn toShortDateString(date) + \"  \" + strTime;\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\t},\n\twatch: {\n\t\t$route(to, from) {\n\t\t\tif (this.$route.params.id && this.productVariantID != this.$route.params.id) {\n\t\t\t\tthis.productVariantID = this.$route.params.id;\n\t\t\t\tthis.getExamList();\n\t\t\t}\n\n\t\t}\n\t},\n\n\tcomponents: {},\n\tcreated() {\n\t\tif (this.$route.params.id && this.productVariantID != this.$route.params.id) {\n\t\t\tthis.productVariantID = this.$route.params.id;\n\t\t\tthis.getExamList();\n\t\t}\n\t},\n\tmounted() {\n\t}\n};\n</script>\n\n<style scoped>\n.cd-body{\n\theight: auto;\n}\n.pc-table-wrapper{\n\tfont-size: 1rem;\n}\n.eb-head-progress .progress {\n\theight: 14px;\n}\n\n.progress-bar {\n\tbackground-color: var(--color-red);\n}\n\n.pc-table .t-row {\n\tcursor: pointer;\n}\n\n.pc-table .t-row:hover {\n\tbackground-color: var(--gray-light-hover);\n}\n\n.pc-table>li>.t-cell {\n\tflex: 1 1 100;\n\talign-items: center;\n\tflex-direction: column;\n\tdisplay: flex;\n\tpadding: 15px 5px;\n\tborder-bottom: 1px solid var(--border-color);\n}\n\n\n.pc-table>li>.t-cell:nth-child(1) {\n\tflex: 0.2;\n\tpadding-left: 10px;\n}\n\n.pc-table>li>.t-cell:nth-child(2) {\n\tflex: 2;\n}\n\n.pc-table>li>.t-cell:nth-child(3) {\n\tflex: 0.75;\n}\n\n.pc-table>li>.t-cell:nth-child(4) {\n\tpadding-left: 10px;\n}\n\n.pc-table>li>.t-cell:last-child {\n\tflex: 1.2;\n}\n\n.t-cell a {\n\tfont-size: 12px;\n}\n\n.t-cell b {\n\tfont-size: 13px;\n}\n\n\n.pass {\n\tcolor: var(--color-success);\n}\n\n.fail {\n\tcolor: var(--color-red);\n}\n\n\n.action-button {\n\tfont-size: 12px;\n\tpadding: 3px 10px;\n\tborder: 1px solid var(--color-red);\n\tbackground-color: transparent;\n\tborder-radius: 10px;\n\tcolor: var(--color-text-default);\n\tcursor: pointer;\n\ttransition: background-color 0.3s, color 0.3s, transform 0.2s;\n}\n\n.action-button:hover {\n\tbackground-color: var(--color-red);\n\tcolor: #fff;\n\ttransform: scale(1.1);\n}\n\n.eb-table-arr .t-row {\n\tposition: relative;\n}\n\n.eb-table-arr .t-row:before {\n\tposition: relative;\n\tcontent: \"\\f101\";\n\tfont-family: \"Font Awesome 5 Free\";\n\t-webkit-font-smoothing: antialiased;\n\tdisplay: block;\n\tfont-style: normal;\n\tfont-variant: normal;\n\tposition: absolute;\n\ttop: 50%;\n\tmargin-top: -15px;\n\tright: 10px;\n\tfont-size: 20px;\n\tfont-weight: 700;\n\t-webkit-text-stroke: 1px #fff;\n\topacity: 0;\n\tvisibility: hidden;\n}\n\n.eb-table-arr .t-row:hover:before {\n\topacity: 1;\n\tvisibility: visible;\n}\n\n.qr-table>li>.t-cell {\n\tflex: 0.8;\n\tpadding: 15px 5px;\n\tborder-bottom: 0.3px solid var(--border-color);\n\tborder-top: 0.3px solid var(--border-color);\n}\n\n.qr-table>li>.t-cell:nth-child(1),\n.qr-table>li>.t-cell:nth-child(2) {\n\tflex: 0.15;\n\ttext-align: center;\n}\n\n.qr-table>li>.t-cell:nth-child(2) {\n\tflex: 0.5;\n}\n\n.qr-table>li>.t-cell:nth-child(3) {\n\tflex: 5;\n}\n\n.qr-table>li>.t-cell:last-child {\n\tflex: 1.1;\n}\n\n.qr-table>li>.t-cell:nth-last-child(2) {\n\tflex: 0.6;\n}\n\n.practice-tabs .eb-header {\n\theight: auto;\n}\n\n.eb-table .status-icon {\n\twidth: 24px;\n\theight: auto;\n}\n\n\n.no-content {\n\tmargin-top: 50px;\n\tmargin-bottom: 50px;\n}\n\n.loading {\n\tmargin-top: 200px;\n\tmargin-bottom: 200px;\n}\n\n.question-text {\n\twidth: 95%;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tborder-bottom: none !important;\n}\n\n.card-body img {\n\twidth: 50px;\n\theight: 30px;\n}\n\n#backButton {\n\tmargin-top: 4px;\n\tmargin-right: 20px;\n\tfont-size: 14px;\n}\n\n.normal-font {\n\tfont-weight: normal !important;\n}\n\n/* dropdown */\n#percentage {\n\tposition: relative;\n\t/* Add relative positioning to the parent */\n}\n\n#percentage .dropdown-content {\n\tdisplay: none;\n\tposition: absolute;\n\tbackground-color: #f1f1f1;\n\tmin-width: 160px;\n\tbox-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n\tz-index: 999;\n\ttop: 100%;\n\tborder-radius: 12px;\n\tright: 0;\n\tleft: -40px;\n}\n\n#percentage .dropdown-content p {\n\tcolor: black;\n\tpadding: 13px 16px;\n\tmargin: 0;\n\ttext-decoration: none;\n\tdisplay: block;\n}\n\n#percentage:hover .dropdown-content {\n\tdisplay: block;\n\t/* Show the dropdown when hovering over #percentage */\n}\n\n.swal2-primary {\n\tborder: 1px solid black;\n\tbackground: var(--color-red);\n\tcolor: var(--color-red) !important;\n}\n\n.swal2-outline {\n\tborder: 1px solid var(--color-red);\n\tbackground: transparent !important;\n\tcolor: var(--color-red) !important;\n}\n\n@media (max-width:768px){\n\t.eb-header{\n\t\theight: auto;\n\t}\n\t.pc-table-wrapper{\n\t\toverflow: auto;\n\t}\n\t.pc-table{\n\t\tmin-width: 600px;\n\t}\n\t.pc-table>li.thead>.t-cell{\n\t\twhite-space: nowrap;\n\t}\n\t.pc-table>li>.t-cell:nth-child(2) {\n\t\tflex: 1.6;\n\t}\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentExams.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentExams.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentExams.vue?vue&type=template&id=6473588d&scoped=true&\"\nimport script from \"./ProductContentExams.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentExams.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentExams.vue?vue&type=style&index=0&id=6473588d&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6473588d\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"body-content\"},[(_vm.loading)?_c('center',{staticClass:\"loading\"},[_c('b-spinner',{attrs:{\"large\":\"\"}})],1):(_vm.flashCards.length > 0)?_c('div',[_c('div',{staticClass:\"main-tabs-row\"},[_c('ul',{staticClass:\"main-tabs nav nav-tabs\"},[_c('li',{staticClass:\"nav-item\",attrs:{\"role\":\"presentation\"}},[_c('button',{class:['nav-link', { active: _vm.activeTab == 0 }],attrs:{\"id\":\"FCStudyTab\",\"data-bs-toggle\":\"tab\",\"data-bs-target\":\"#FCStudyPane\",\"type\":\"button\",\"role\":\"tab\",\"aria-controls\":\"FCStudyPane\",\"aria-selected\":_vm.activeTab == 0},on:{\"click\":function($event){return _vm.changeTab(0)}}},[_vm._v(\" Study \")])]),_c('li',{staticClass:\"nav-item\",attrs:{\"role\":\"presentation\"}},[_c('button',{class:['nav-link', { active: _vm.activeTab == 1 }],attrs:{\"id\":\"FCListTab\",\"data-bs-toggle\":\"tab\",\"data-bs-target\":\"#FCListPane\",\"type\":\"button\",\"role\":\"tab\",\"aria-controls\":\"FCListPane\",\"aria-selected\":_vm.activeTab == 1},on:{\"click\":function($event){return _vm.changeTab(1)}}},[_vm._v(\" List \")])])])]),_c('div',{staticClass:\"eb-content-wrapper\"},[_c('div',{staticClass:\"tab-content eb-body\",attrs:{\"id\":\"flashcardsTabContent\"}},[_c('div',{class:['flashcard-page tab-pane', { show: _vm.activeTab == 0 }, { active: _vm.activeTab == 0 }],attrs:{\"id\":\"FCStudyPane\",\"role\":\"tabpanel\",\"aria-labelledby\":\"FCStudyTab\",\"tabindex\":\"0\"}},[_c('div',{staticClass:\"eb-content flashcard-content\"},[_c('div',{staticClass:\"cd-body bottom-round\"},[_c('div',{staticClass:\"flashcard-container justify-content-center h-100 align-items-center\"},[_c('div',{class:'flashcard-box col-md-7 px-0 ' + (_vm.isActive ? 'active' : ''),attrs:{\"id\":\"flashcardBox\"}},[_c('div',{staticClass:\"flashcard\",on:{\"click\":function($event){return _vm.toggleActive()}}},[_c('div',{staticClass:\"fcard-front\"},[_c('div',{staticClass:\"fcard-body\"},[_c('div',{staticClass:\"fcard-text\"},[_vm._v(\" \"+_vm._s(_vm.flashCards[_vm.activeCardIndex].Slide1)+\" \")])]),_c('div',{staticClass:\"fcard-footer justify-content-center align-items-center\"},[(_vm.flashcardsPreparation[_vm.flashCards[_vm.activeCardIndex].ID])?_c('div',{staticClass:\"text-center\"},[_vm._v(\"Previous attempt\")]):_vm._e(),(_vm.flashcardsPreparation[_vm.flashCards[_vm.activeCardIndex].ID])?_c('div',{class:'alert ' + (_vm.flashcardsPreparation[_vm.flashCards[_vm.activeCardIndex].ID].answer == 'yes' ? 'alert-success' : 'alert-danger') + ' rounded-0 py-2 mb-0 ms-3'},[_vm._v(\" \"+_vm._s((_vm.flashcardsPreparation[_vm.flashCards[_vm.activeCardIndex].ID].answer == 'yes' ? 'Correct' : 'Incorrect'))+\" \")]):_vm._e()])]),_c('div',{staticClass:\"fcard-back\"},[_c('div',{staticClass:\"fcard-body\"},[_c('div',{staticClass:\"fcard-text\"},[_vm._v(\" \"+_vm._s(_vm.flashCards[_vm.activeCardIndex].Slide2)+\" \")])]),_c('div',{staticClass:\"fcard-footer justify-content-center\"},[_c('div',{staticClass:\"w-100 text-center pb-1\"},[_vm._v(\"Did you get it right?\")]),_c('div',{staticClass:\"actions-row w-100 d-flex justify-content-center row gx-3\"},[_c('div',{staticClass:\"col\"},[_c('button',{staticClass:\"btn btn-outline-primary w-100\",on:{\"click\":function($event){return _vm.setFlashcardResponse(_vm.flashCards[_vm.activeCardIndex], 'no')}}},[_vm._v(\"No\")])]),_c('div',{staticClass:\"col\"},[_c('button',{staticClass:\"btn btn-outline-primary w-100\",on:{\"click\":function($event){return _vm.setFlashcardResponse(_vm.flashCards[_vm.activeCardIndex], 'yes')}}},[_vm._v(\"Yes\")])])])])])])])])])])]),_c('div',{class:['flashcard-page tab-pane', { show: _vm.activeTab == 1 }, { active: _vm.activeTab == 1 }],attrs:{\"id\":\"FCListPane\",\"role\":\"tabpanel\",\"aria-labelledby\":\"FCListTab\",\"tabindex\":\"1\"}},[_c('div',{staticClass:\"eb-content flashcard-list-content\"},[_c('div',{staticClass:\"cd-body round\"},[_c('div',{staticClass:\"eb-header eb-header-auto border-bottom fc-list-header\"},[_c('div',{staticClass:\"row flash-list-subheader px-0 mx-0 w-100\"},[_c('div',{staticClass:\"col-4 fc-list-top-info ps-4 py-4\"},[_c('b',[_vm._v(_vm._s(_vm.flashCards.length))]),_c('p',[_vm._v(\"Number of Cards:\")])]),_c('div',{staticClass:\"col-4 fc-list-top-info ps-4 py-4\"},[_c('b',{staticClass:\"text-success\"},[_vm._v(_vm._s(_vm.getCorrectAnswersLength()))]),_c('p',[_vm._v(\"Correct\")])]),_c('div',{staticClass:\"col-4 fc-list-top-info ps-4 py-4\"},[_c('b',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.getIncorrectAnswersLength()))]),_c('p',[_vm._v(\"Incorrect\")])])])]),_c('div',{staticClass:\"flashcard-table-wrapper\"},[_c('table',{staticClass:\"table flashcard-table\"},[_c('thead',[_c('tr',[_c('th',{staticClass:\"font-medium bg-light\",attrs:{\"scope\":\"col\",\"width\":\"5%\"}},[_vm._v(\"#\")]),_c('th',{staticClass:\"font-medium bg-light\",attrs:{\"scope\":\"col\",\"width\":\"20%\"}},[_vm._v(\"Side 1\")]),_c('th',{staticClass:\"font-medium bg-light\",attrs:{\"scope\":\"col\"}},[_vm._v(\"Side 2\")]),_c('th',{staticClass:\"font-medium bg-light\",attrs:{\"scope\":\"col\",\"width\":\"15%\"}},[_vm._v(\"Response\")])])]),_c('tbody',_vm._l((_vm.flashCards),function(card,index){return _c('tr',{key:index,staticClass:\"t-row\",on:{\"click\":function($event){return _vm.handleListCardItemClick(index)}}},[_c('td',[_vm._v(_vm._s(index + 1)+\" \")]),_c('td',[_vm._v(_vm._s(card.Slide1))]),_c('td',[_vm._v(_vm._s(card.Slide2))]),_c('td',[(_vm.showFlashcardResponse(card) != 'Not Answered')?_c('img',{staticClass:\"status-icon\",attrs:{\"src\":_vm.getStatusIconPath(_vm.showFlashcardResponse(card))}}):_vm._e()])])}),0)])])])])]),_c('div',{staticClass:\"flashcard-footer-row\"},[_c('div',{staticClass:\"fcard-progress\"},[_c('div',{staticClass:\"progress mb-1\"},[_c('div',{staticClass:\"progress-bar\",style:({ width: (_vm.getProgress + \"%\") }),attrs:{\"role\":\"progressbar\",\"aria-valuenow\":_vm.getProgress,\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}})])]),_c('div',{staticClass:\"fcard-footer-actions eb-sub-header bg-white py-1 justify-content-between row mx-0\"},[_c('div',{staticClass:\"fcard-actions-col-1 col-md-4\"}),_c('div',{staticClass:\"fcard-actions-col-2 eb-chapter-arrows d-flex col-md justify-content-center\"},[_c('button',{staticClass:\"eb-chapter-prev\",attrs:{\"disabled\":_vm.activeCardIndex <= 0},on:{\"click\":_vm.prevCard}},[_c('i',{staticClass:\"fas fa-caret-left\"})]),_c('div',{staticClass:\"fcard-pages mx-2\"},[_c('span',{staticClass:\"fcard-cur-page\"},[_vm._v(_vm._s((_vm.activeCardIndex + 1)))]),_vm._v(\" / \"),_c('span',{staticClass:\"fcard-page-count\"},[_vm._v(_vm._s(_vm.flashCards.length))])]),_c('button',{staticClass:\"eb-chapter-next\",attrs:{\"disabled\":_vm.activeCardIndex >= (_vm.flashCards.length - 1)},on:{\"click\":_vm.nextCard}},[_c('i',{staticClass:\"fas fa-caret-right\"})])]),_c('div',{staticClass:\"fcard-actions-col-3 eb-chapter-controls ms-auto d-flex justify-content-end col-md-4\"})])])])])]):_c('center',{staticClass:\"no-content text-center\"},[_c('h4',{staticClass:\"mt-4\"},[_vm._v(\"No FlashCards Found\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"body-content\">\n\t\t<center v-if=\"loading\" class=\"loading\">\n\t\t\t<b-spinner large></b-spinner>\n\t\t</center>\n\n\t\t<div v-else-if=\"flashCards.length > 0\">\n\t\t\t<div class=\"main-tabs-row\">\n\t\t\t\t<ul class=\"main-tabs nav nav-tabs\">\n\t\t\t\t\t<li class=\"nav-item\" role=\"presentation\">\n\t\t\t\t\t\t<button :class=\"['nav-link', { active: activeTab == 0 }]\" @click=\"changeTab(0)\" id=\"FCStudyTab\"\n\t\t\t\t\t\t\tdata-bs-toggle=\"tab\" data-bs-target=\"#FCStudyPane\" type=\"button\" role=\"tab\"\n\t\t\t\t\t\t\taria-controls=\"FCStudyPane\" :aria-selected=\"activeTab == 0\">\n\t\t\t\t\t\t\tStudy\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class=\"nav-item\" role=\"presentation\">\n\t\t\t\t\t\t<button :class=\"['nav-link', { active: activeTab == 1 }]\" @click=\"changeTab(1)\" id=\"FCListTab\"\n\t\t\t\t\t\t\tdata-bs-toggle=\"tab\" data-bs-target=\"#FCListPane\" type=\"button\" role=\"tab\"\n\t\t\t\t\t\t\taria-controls=\"FCListPane\" :aria-selected=\"activeTab == 1\">\n\t\t\t\t\t\t\tList\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\n\t\t\t<div class=\"eb-content-wrapper\">\n\t\t\t\t<div class=\"tab-content eb-body\" id=\"flashcardsTabContent\">\n\t\t\t\t\t<div :class=\"['flashcard-page tab-pane', { show: activeTab == 0 }, { active: activeTab == 0 }]\" id=\"FCStudyPane\"\n\t\t\t\t\t\trole=\"tabpanel\" aria-labelledby=\"FCStudyTab\" tabindex=\"0\">\n\n\n\t\t\t\t\t\t<!-- <div class=\"eb-header d-flex mb-1\">\n\t\t\t\t\t\t\t<button class=\"eb-filter-toggle dropdown-toggle \" data-bs-toggle=\"collapse\"\n\t\t\t\t\t\t\t\tdata-bs-target=\"#ebFilters\" aria-expanded=\"false\" aria-controls=\"ebFilters\"><img\n\t\t\t\t\t\t\t\t\tsrc=\"@/assets/images/filter-icon.svg\"> Filter</button>\n\n\t\t\t\t\t\t\t<button class=\"eb-filter-toggle ms-auto\" id=\"FCListInnerTab\" data-bs-toggle=\"tab\"\n\t\t\t\t\t\t\t\tdata-bs-target=\"#FCListPane\" type=\"button\" role=\"tab\" aria-controls=\"FCListPane\"\n\t\t\t\t\t\t\t\taria-selected=\"false\"><i class=\"fas fa-align-left me-2\"></i> View List</button>\n\n\n\t\t\t\t\t\t</div> -->\n\n\t\t\t\t\t\t<!-- <div class=\"eb-filters collapse\" id=\"ebFilters\">\n\t\t\t\t\t\t\t<div class=\"eb-filter-area\">\n\t\t\t\t\t\t\t\t<div class=\"row g-3 eb-filters mb-3\">\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t<label for=\"inputAddress2\" class=\"form-label\">Search</label>\n\t\t\t\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" id=\"\" placeholder=\"Search Sections\">\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t\t\t\t\t\t<label class=\"form-label\">Category</label>\n\t\t\t\t\t\t\t\t\t\t<select id=\"\" class=\"form-select\">\n\t\t\t\t\t\t\t\t\t\t\t<option selected>All</option>\n\t\t\t\t\t\t\t\t\t\t\t<option>...</option>\n\t\t\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t\t\t\t\t\t<label class=\"form-label\">Confidence</label>\n\t\t\t\t\t\t\t\t\t\t<select id=\"\" class=\"form-select\">\n\t\t\t\t\t\t\t\t\t\t\t<option selected>All</option>\n\t\t\t\t\t\t\t\t\t\t\t<option>...</option>\n\t\t\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"form-check d-inline-block\">\n\t\t\t\t\t\t\t\t\t\t\t<input class=\"form-check-input\" type=\"checkbox\" id=\"check1\">\n\t\t\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"check1\">\n\t\t\t\t\t\t\t\t\t\t\t\tHas a bookmark\n\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"form-check d-inline-block\">\n\t\t\t\t\t\t\t\t\t\t\t<input class=\"form-check-input\" type=\"checkbox\" id=\"check2\">\n\t\t\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"check2\">\n\t\t\t\t\t\t\t\t\t\t\t\tHas a note\n\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"form-check d-inline-block\">\n\t\t\t\t\t\t\t\t\t\t\t<input class=\"form-check-input\" type=\"checkbox\" id=\"check3\">\n\t\t\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"check3\">\n\t\t\t\t\t\t\t\t\t\t\t\tHas related questions\n\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-primary me-1\">Filter</button>\n\t\t\t\t\t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-outline-primary\">Clear Filters</button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>eb-filters -->\n\n\n\n\t\t\t\t\t\t<div class=\"eb-content flashcard-content\">\n\n\t\t\t\t\t\t\t<!-- <div class=\"cd-head\">\n\t\t\t\t\t\t\t\t<div class=\"eb-sub-header py-1 justify-content-between px-2\">\n\t\t\t\t\t\t\t\t\t<div class=\"eb-chapter-arrows\">\n\t\t\t\t\t\t\t\t\t\t<button class=\"eb-chapter-prev\" @click=\"prevCard()\"><i\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fas fa-caret-left\"></i></button>\n\t\t\t\t\t\t\t\t\t\t<button class=\"eb-chapter-next\" @click=\"nextCard()\">\n\t\t\t\t\t\t\t\t\t\t\t<i class=\"fas fa-caret-right\"></i></button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"eb-chapter-controls ms-auto d-flex\">\n\t\t\t\t\t\t\t\t\t\t<button class=\"eb-rotate-control\" @click=\"resetFlashCards()\">\n\t\t\t\t\t\t\t\t\t\t\t<i class=\"fas fa-undo fa-flip-horizontal\"></i>\n\t\t\t\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div> -->\n\n\t\t\t\t\t\t\t<div class=\"cd-body bottom-round\">\n\t\t\t\t\t\t\t\t<div class=\"flashcard-container justify-content-center h-100 align-items-center\">\n\t\t\t\t\t\t\t\t\t<div :class=\"'flashcard-box col-md-7 px-0 ' + (isActive ? 'active' : '')\" id=\"flashcardBox\">\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"flashcard\" @click=\"toggleActive()\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"fcard-front\">\n\t\t\t\t\t\t\t\t\t\t\t\t<!-- <div class=\"fcard-header\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fcard-pages ms-auto align-self-start\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"fcard-cur-page\">{{ activeCardIndex + 1 }}</span> of\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"fcard-page-count\">{{ flashCards.length }}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>/fcard-header -->\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fcard-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fcard-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ flashCards[activeCardIndex].Slide1 }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div><!-- /fcard-body -->\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fcard-footer justify-content-center align-items-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-if=\"flashcardsPreparation[flashCards[activeCardIndex].ID]\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"text-center\">Previous attempt</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-if=\"flashcardsPreparation[flashCards[activeCardIndex].ID]\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:class=\"'alert ' + (flashcardsPreparation[flashCards[activeCardIndex].ID].answer == 'yes' ? 'alert-success' : 'alert-danger') + ' rounded-0 py-2 mb-0 ms-3'\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ (flashcardsPreparation[flashCards[activeCardIndex].ID].answer ==\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'yes' ?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Correct' : 'Incorrect') }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div><!-- /fcard-footer -->\n\t\t\t\t\t\t\t\t\t\t\t</div><!-- fcard-front -->\n\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"fcard-back\">\n\t\t\t\t\t\t\t\t\t\t\t\t<!-- <div class=\"fcard-header\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fcard-pages ms-auto align-self-start\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"fcard-cur-page\">{{ activeCardIndex + 1 }}</span> of\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"fcard-page-count\">{{ flashCards.length }}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>/fcard-header -->\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fcard-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fcard-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ flashCards[activeCardIndex].Slide2 }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div><!-- /fcard-header -->\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fcard-footer justify-content-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"w-100 text-center pb-1\">Did you get it right?</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"actions-row w-100 d-flex justify-content-center row gx-3\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"setFlashcardResponse(flashCards[activeCardIndex], 'no')\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"btn btn-outline-primary w-100\">No</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"setFlashcardResponse(flashCards[activeCardIndex], 'yes')\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"btn btn-outline-primary w-100\">Yes</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div><!-- /fcard-footer -->\n\t\t\t\t\t\t\t\t\t\t\t</div><!-- fcard-back -->\n\n\t\t\t\t\t\t\t\t\t\t</div><!-- /flashcard -->\n\t\t\t\t\t\t\t\t\t</div><!-- /flashcard-box -->\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div><!-- cd-body -->\n\n\t\t\t\t\t\t</div><!-- /eb-content -->\n\n\t\t\t\t\t</div><!-- /tab-pane -->\n\n\t\t\t\t\t<div :class=\"['flashcard-page tab-pane', { show: activeTab == 1 }, { active: activeTab == 1 }]\" id=\"FCListPane\"\n\t\t\t\t\t\trole=\"tabpanel\" aria-labelledby=\"FCListTab\" tabindex=\"1\">\n\n\t\t\t\t\t\t<div class=\"eb-content flashcard-list-content\">\n\t\t\t\t\t\t\t<div class=\"cd-body round\">\n\t\t\t\t\t\t\t\t<div class=\"eb-header eb-header-auto border-bottom fc-list-header\">\n\t\t\t\t\t\t\t\t\t<div class=\"row flash-list-subheader px-0 mx-0 w-100\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-4 fc-list-top-info ps-4 py-4\">\n\t\t\t\t\t\t\t\t\t\t\t<b>{{ flashCards.length }}</b>\n\t\t\t\t\t\t\t\t\t\t\t<p>Number of Cards:</p>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-4 fc-list-top-info ps-4 py-4\">\n\t\t\t\t\t\t\t\t\t\t\t<b class=\"text-success\">{{ getCorrectAnswersLength() }}</b>\n\t\t\t\t\t\t\t\t\t\t\t<p>Correct</p>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-4 fc-list-top-info ps-4 py-4\">\n\t\t\t\t\t\t\t\t\t\t\t<b class=\"text-danger\">{{ getIncorrectAnswersLength() }}</b>\n\t\t\t\t\t\t\t\t\t\t\t<p>Incorrect</p>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t</div><!-- /eb-header -->\n\n\t\t\t\t\t\t\t\t<div class=\"flashcard-table-wrapper\">\n\t\t\t\t\t\t\t\t\t<table class=\"table flashcard-table\">\n\t\t\t\t\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t<th scope=\"col\" width=\"5%\" class=\"font-medium bg-light\">#</th>\n\t\t\t\t\t\t\t\t\t\t\t\t<th scope=\"col\" width=\"20%\" class=\"font-medium bg-light\">Side 1</th>\n\t\t\t\t\t\t\t\t\t\t\t\t<th scope=\"col\" class=\"font-medium bg-light\">Side 2</th>\n\t\t\t\t\t\t\t\t\t\t\t\t<th scope=\"col\" width=\"15%\" class=\"font-medium bg-light\">Response</th>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"t-row\" @click=\"handleListCardItemClick(index)\"\n\t\t\t\t\t\t\t\t\t\t\t\tv-for=\"(card, index) in flashCards\" :key=\"index\">\n\t\t\t\t\t\t\t\t\t\t\t\t<td>{{ index + 1 }} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td>{{ card.Slide1 }}</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td>{{ card.Slide2 }}</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img v-if=\"showFlashcardResponse(card) != 'Not Answered'\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:src=\"getStatusIconPath(showFlashcardResponse(card))\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"status-icon\">\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t</div><!-- /round -->\n\n\t\t\t\t\t\t</div><!-- /eb-content -->\n\n\t\t\t\t\t</div><!-- /tab-pane Flashcard List -->\n\t\t\t\t\t<div class=\"flashcard-footer-row\">\n\t\t\t\t\t\t<div class=\"fcard-progress\">\n\t\t\t\t\t\t\t<div class=\"progress mb-1\">\n\t\t\t\t\t\t\t\t<div class=\"progress-bar\" role=\"progressbar\" :style=\"{ width: `${getProgress}%` }\"\n\t\t\t\t\t\t\t\t\t:aria-valuenow=\"getProgress\" aria-valuemin=\"0\" aria-valuemax=\"100\">\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div class=\"fcard-footer-actions eb-sub-header bg-white py-1 justify-content-between row mx-0\">\n\t\t\t\t\t\t\t<div class=\"fcard-actions-col-1 col-md-4\">\n\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"fcard-actions-col-2 eb-chapter-arrows d-flex col-md justify-content-center\">\n\t\t\t\t\t\t\t\t<button :disabled=\"activeCardIndex <= 0\" @click=\"prevCard\" class=\"eb-chapter-prev\"><i\n\t\t\t\t\t\t\t\t\t\tclass=\"fas fa-caret-left\"></i></button>\n\t\t\t\t\t\t\t\t<div class=\"fcard-pages mx-2\">\n\t\t\t\t\t\t\t\t\t<span class=\"fcard-cur-page\">{{ (activeCardIndex + 1) }}</span> / <span\n\t\t\t\t\t\t\t\t\t\tclass=\"fcard-page-count\">{{\n\t\t\t\t\t\t\t\t\t\t\tflashCards.length }}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<button :disabled=\"activeCardIndex >= (flashCards.length - 1)\" @click=\"nextCard\"\n\t\t\t\t\t\t\t\t\tclass=\"eb-chapter-next\"><i class=\"fas fa-caret-right\"></i></button>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"fcard-actions-col-3 eb-chapter-controls ms-auto d-flex justify-content-end col-md-4\">\n\n\t\t\t\t\t\t\t\t<!-- <button @click=\"toggleViewMode\" class=\"eb-filter-toggle ms-auto\"><i\n\t\t\t\t\t\t\t\t\t\t\tv-if=\"viewMode == 'study'\" class=\"fas fa-align-left me-2\"></i> <i v-else\n\t\t\t\t\t\t\t\t\t\t\tclass=\"fa fa-credit-card\"></i></button>\n\t\t\t\t\t\t\t\t\t<button @click=\"resetFlashcard\" class=\"eb-rotate-control\"><i\n\t\t\t\t\t\t\t\t\t\t\tclass=\"fas fa-undo fa-flip-horizontal\"></i></button> -->\n\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div><!-- eb-sub-header -->\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div><!-- /eb-content-wrapper -->\n\t\t</div>\n\n\t\t<center v-else class=\"no-content text-center\">\n\t\t\t<h4 class=\"mt-4\">No FlashCards Found</h4>\n\t\t</center>\n\n\t</div>\n</template>\n\n<script>\n// imports come here\n\nimport { mapActions } from 'vuex';\n\nexport default {\n\tname: \"ProductContentFlashCards\",\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t\tactiveTab: 0,\n\t\t\tisActive: false,\n\t\t\tactiveCardIndex: 0,\n\t\t\tflashCards: [],\n\t\t\tflashcardsPreparation: {},\n\t\t\tcompletionStatuses: {},\n\t\t\tproductVariantID: null\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions('content', ['getUserContentByProductVariant', \"setUserContentAction\", \"fetchUserContentActionsByID\"]),\n\t\t...mapActions(\"productVariant\", [\"getProductVariantProgress\"]),\n\t\t...mapActions(\"content\", [\"updateAction\"]),\n\n\t\tchangeTab(index) {\n\t\t\tthis.activeTab = index;\n\t\t},\n\t\tfetchData() {\n\t\t\tthis.loading = true;\n\t\t\tthis.getUserContentByProductVariant({\n\t\t\t\tproductVariantID: this.$route.params.id,\n\t\t\t\tdataType: 'flashcards'\n\t\t\t}).then((data) => {\n\n\t\t\t\tvar tempFlashCards = [];\n\n\t\t\t\tfor (let item of data) {\n\t\t\t\t\tlet cards = JSON.parse(item.data).Flashcards\n\n\t\t\t\t\tfor (let card of cards) {\n\t\t\t\t\t\tcard.contentId = item.id;\n\n\t\t\t\t\t\tif (card.ID !== undefined) {\n\t\t\t\t\t\t\ttempFlashCards.push(card)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.flashCards = tempFlashCards;\n\t\t\t\tthis.getFlashcardResponse();\n\t\t\t}).catch((error) => {\n\t\t\t\tthis.loading = false;\n\t\t\t\tconsole.error(\"Error fetching flash cards: \", error);\n\t\t\t});\n\n\t\t},\n\t\ttoggleActive() {\n\t\t\tthis.isActive = !this.isActive;\n\t\t},\n\t\tnextCard() {\n\t\t\tif (this.activeCardIndex != this.flashCards.length - 1) {\n\t\t\t\tthis.activeCardIndex++;\n\t\t\t\tthis.isActive = false;\n\t\t\t}\n\t\t},\n\t\tprevCard() {\n\t\t\tif (this.activeCardIndex > 0) {\n\t\t\t\tthis.activeCardIndex--;\n\t\t\t\tthis.isActive = false;\n\t\t\t}\n\t\t},\n\t\tresetFlashCards() {\n\t\t\tthis.isActive = false;\n\t\t\tthis.activeCardIndex = 0;\n\t\t},\n\t\tasync setFlashcardResponse(card, answer) {\n\t\t\tconst id = card.ID;\n\t\t\tconst contentId = card.contentId;\n\n\t\t\tif (this.flashcardsPreparation[id]) {\n\t\t\t\tthis.flashcardsPreparation[id].answer = answer;\n\t\t\t} else {\n\t\t\t\tthis.flashcardsPreparation[id] = {\n\t\t\t\t\tid: contentId,\n\t\t\t\t\tanswer: answer,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst Data = {};\n\t\t\tfor (const key in this.flashcardsPreparation) {\n\t\t\t\tconst value = this.flashcardsPreparation[key];\n\t\t\t\tif (value.id === contentId) {\n\t\t\t\t\tData[key] = value.answer;\n\t\t\t\t}\n\t\t\t}\n\t\t\tconsole.log(\"Data: \", Data)\n\n\t\t\tconst contentAction = {\n\t\t\t\tContentID: contentId,\n\t\t\t\tDataType: \"flashcardResponse\",\n\t\t\t\tData: JSON.stringify(Data),\n\t\t\t};\n\n\t\t\ttry {\n\t\t\t\tthis.setUserContentAction(contentAction).then((action) => {\n\n\t\t\t\t\tvar self = this.flashcardsPreparation;\n\t\t\t\t\tthis.flashcardsPreparation = null;\n\t\t\t\t\tthis.flashcardsPreparation = self;\n\n\t\t\t\t\tthis.updateAction({\n\t\t\t\t\t\t\"id\": action.id,\n\t\t\t\t\t\t\"userID\": action.userID,\n\t\t\t\t\t\t\"contentID\": contentId,\n\t\t\t\t\t\t\"dataType\": action.dataType,\n\t\t\t\t\t\t\"data\": action.data\n\t\t\t\t\t});\n\n\t\t\t\t\tlet completed = this.isAllOfOneSectionCompleted(contentId)\n\t\t\t\t\tif (completed && !this.isCurrentSectionAlreadyCompleted(contentId)) {\n\t\t\t\t\t\tthis.markCompleted(contentId, completed);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Error occurred while setting flashcard response:\", error);\n\t\t\t}\n\t\t},\n\t\tgetFlashcardResponse() {\n\t\t\ttry{\n\t\t\tthis.fetchUserContentActionsByID({ productVariantID: this.$route.params.id, dataType: \"flashcardResponse\" }).then((actions) => {\n\t\t\t\t\n\t\t\t\tfor (let action of actions) {\n\t\t\t\t\tlet parsedData = JSON.parse(action.data);\n\t\t\t\t\tfor (let key of Object.keys(parsedData)) {\n\n\t\t\t\t\t\tif (key !== null && key !== undefined && key !== 'undefined' && key !== 'null') {\n\t\t\t\t\t\t\tthis.flashcardsPreparation[key] = {\n\t\t\t\t\t\t\t\tid: action.content.id,\n\t\t\t\t\t\t\t\tanswer: parsedData[key]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.loading = false;\n\t\t\t});\n\t\t}catch(ex)\n\t\t{\n\t\t\t\n\t\t}\n\t\t},\n\t\t// Working\n\t\tisAllOfOneSectionCompleted(contentId) {\n\t\t\tconst filteredFlashcards = this.flashCards.filter(card => card.contentId === contentId);\n\t\t\tlet response = filteredFlashcards.every(card => !!this.flashcardsPreparation[card.ID]);\n\t\t\treturn response;\n\t\t},\n\t\tisCurrentSectionAlreadyCompleted(contentId) {\n\t\t\tlet keys = Object.keys(this.completionStatuses)\n\t\t\tconst filteredList = keys.filter(key => key === contentId);\n\n\t\t\tif (filteredList > 0) {\n\t\t\t\tfor (let key of filteredList) {\n\t\t\t\t\tif (!this.completionStatuses[key]) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telse if (this.completionStatuses[key] && this.completionStatuses[key] === 'completed') {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tfetchCompletionStatuses() {\n\t\t\tthis.fetchUserContentActionsByID({ productVariantID: this.$route.params.id, dataType: \"completionStatus\" }).then((data) => {\n\t\t\t\tconsole.log(\"Completion Statuses: \", data);\n\n\t\t\t\tfor (let item of data) {\n\t\t\t\t\tthis.completionStatuses[item.content.id] = item.data;\n\t\t\t\t}\n\n\t\t\t}).catch((error) => {\n\n\t\t\t\tconsole.error(\"Error fetching user content actions: \", error);\n\t\t\t});\n\t\t},\n\t\tmarkCompleted(contentId, isCompleted) {\n\t\t\tif (contentId) {\n\t\t\t\tvar contentAction = {\n\t\t\t\t\tContentID: contentId,\n\t\t\t\t\tDataType: \"completionStatus\",\n\t\t\t\t\tData: isCompleted ? \"completed\" : \"uncompleted\"\n\t\t\t\t}\n\n\t\t\t\tthis.setUserContentAction(contentAction).then((action) => {\n\t\t\t\t\tif (action && action.dataType && action.dataType.toLowerCase() == \"completionstatus\") {\n\t\t\t\t\t\tthis.completionStatuses[contentId] = action.data;\n\t\t\t\t\t\tthis.getProductVariantProgress(this.$route.params.id);\n\t\t\t\t\t\tthis.updateAction({ \"id\": action.id, \"userID\": action.userID, \"contentID\": contentId, \"dataType\": action.dataType, \"data\": action.data });\n\t\t\t\t\t}\n\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tshowFlashcardResponse(card) {\n\t\t\tvar answer = this.flashcardsPreparation &&\n\t\t\t\tthis.flashcardsPreparation[card.ID] &&\n\t\t\t\tthis.flashcardsPreparation[card.ID].answer\n\t\t\t\t? this.flashcardsPreparation[card.ID].answer == 'yes' ? \"Correct\" : \"Incorrect\" : 'Not Answered';\n\t\t\treturn answer;\n\t\t},\n\t\tgetStatusIconPath(action) {\n\t\t\treturn action === 'Correct' ? require('@/assets/images/check-icon-green-circle.svg') : require('@/assets/images/cross-icon.svg');\n\t\t},\n\t\tgetCorrectAnswersLength() {\n\t\t\tlet counter = 0;\n\t\t\tfor (let card of this.flashCards) {\n\t\t\t\tif (this.showFlashcardResponse(card) === 'Correct') {\n\t\t\t\t\tcounter++;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn counter;\n\t\t},\n\t\tgetNotAnsweredLength() {\n\t\t\tlet counter = 0;\n\t\t\tfor (let card of this.flashCards) {\n\t\t\t\tif (this.showFlashcardResponse(card) === 'Not Answered') {\n\t\t\t\t\tcounter++;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn counter;\n\t\t},\n\t\tgetIncorrectAnswersLength() {\n\t\t\tlet counter = 0;\n\t\t\tfor (let card of this.flashCards) {\n\t\t\t\tif (this.showFlashcardResponse(card) === 'Incorrect') {\n\t\t\t\t\tcounter++;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn counter;\n\t\t},\n\t\thandleListCardItemClick(index) {\n\t\t\tthis.activeTab = 0;\n\t\t\tthis.activeCardIndex = index;\n\t\t\tthis.isActive = false;\n\t\t}\n\t},\n\tcomputed: {\n\t\tgetProgress() {\n\t\t\tif (this.flashCards.length === 0) {\n\t\t\t\treturn \"0\";\n\t\t\t}\t\t\t\n\t\t\tconst progress = ((this.activeCardIndex+1) / this.flashCards.length) * 100;\n\t\t\treturn `${progress.toFixed(0)}`;\n\t\t}\n\t},\n\twatch: {\n\t\t$route(to, from) {\n\n\t\t\tif (this.$route.params.id && this.productVariantID != this.$route.params.id) {\n\t\t\t\tthis.productVariantID = this.$route.params.id;\n\t\t\t\tthis.fetchData();\n\t\t\t\tthis.fetchCompletionStatuses();\n\t\t\t}\n\n\t\t}\n\t},\n\tcomponents: {},\n\tcreated() {\n\t\tif (this.$route.params.id && this.productVariantID != this.$route.params.id) {\n\t\t\tthis.productVariantID = this.$route.params.id;\n\t\t\tthis.fetchData();\n\t\t\tthis.fetchCompletionStatuses();\n\t\t}\n\t\twindow.document.title=\"Flashcards\";\n\t\t\t\t\t\n\n\t},\n\tmounted() {\n\t}\n};\n</script>\n\n<style scoped>\n/*======= Flashcards =========*/\n.flashcard-page .cd-body {\n    height: calc(100vh - 210px);\n    overflow: auto;\n}\n.flashcard-container {\n\tmargin: 0px;\n}\n.flashcard-content{\n\tfont-size: 1rem;\n}\n\n.has-floating-menu.Flashcards .floating-menu+.chapter-content-left {\n\tpadding-right: 0;\n\t/* background-color: rgb(248 249 250) !important; */\n\theight: 100% !important;\n}\n\n/* .flashcard-content .eb-sub-header {\n  margin-right: -54px;\n} */\n\n.flashcard-box {\n\theight: 100%;\n\twidth: 100%;\n}\n\n.flashcard {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n\ttransition: transform 0.8s;\n\ttransform-style: preserve-3d;\n\n}\n\n\n.flashcard-box.active .flashcard {\n\t/* transform: rotateY(180deg); \n  animation: flipOut .25s ease-in-out 1; */\n}\n\n.fcard-front,\n.fcard-back {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\t-webkit-backface-visibility: hidden;\n\tbackface-visibility: hidden;\n\tflex-direction: column;\n\tdisplay: flex;\n\tbackground: white;\n\tanimation-fill-mode: forwards;\n\tz-index: 1;\n}\n\n.fcard-front {\n\tanimation: flipIn .25s ease-in-out 1;\n\n\tz-index: 4;\n}\n\n.fcard-back {\n\t/* display: none;  */\n\tanimation: flipOut .25s ease-in-out 1;\n\t/* transform: rotateY(180deg); */\n}\n\n.flashcard-box.active .fcard-back {\n\tanimation: flipIn .25s ease-in-out 1;\n\tz-index: 6;\n\n}\n\n.flashcard-box.active .fcard-front {\n\tdisplay: none;\n\tanimation: flipOut .25s ease-in-out 1;\n}\n\n@keyframes flipIn {\n\t0% {\n\t\ttransform: rotateX(180deg)\n\t}\n\n\tto {\n\t\ttransform: rotateX(1turn)\n\t}\n}\n\n@keyframes flipOut {\n\t0% {\n\t\ttransform: rotateX(0deg)\n\t}\n\n\tto {\n\t\ttransform: rotateX(180deg)\n\t}\n}\n\n\n.fcard-header {\n\t/* border-bottom: solid 1px rgba(var(--primary-color-rgb), 0.25); */\n\theight: 60px;\n\tdisplay: flex;\n\tpadding: 10px;\n\tcursor: pointer;\n}\n\n.fcard-pages span {\n\tfont-size: 14px;\n}\n\n.fcard-pages span {\n\tfont-weight: 600;\n}\n\n.fcard-footer {\n\t/* border-top: solid 1px rgba(var(--primary-color-rgb), 0.4); \n  height: 84px; */\n\tdisplay: flex;\n\tpadding: 10px 10px 20px;\n\tflex-wrap: wrap;\n}\n\n.fcard-body {\n\theight: 209px;\n\toverflow: hidden;\n\t/* background: linear-gradient(to bottom, white 29px, rgba(0, 0, 0, 0.09) 1px);\n  background-size: 100% 30px; */\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tpadding: 20px 10%;\n\ttext-align: center;\n\tcursor: pointer;\n}\n\n.fcard-front .fcard-body,\n.fcard-back .fcard-body {\n\tflex-grow: 1;\n}\n\n\n\n.flashcard-table>:not(caption)>*>*,\n.flashcard-table tr td {\n\tpadding-bottom: 1.25rem;\n\tpadding-top: 0.8rem;\n}\n\n.flashcard-table>:not(caption)>*>* {\n\tpadding-bottom: 0.8rem;\n}\n\n.flashcard-table tbody tr:last-child td {\n\tborder-bottom: none !important;\n}\n\n.fcard-progress .progress {\n\theight: 6px;\n}\n\n.fcard-progress .progress .progress-bar {\n\tbackground-color: var(--color-red) !important;\n}\n\n.Flashcards .floating-menu {\n\ttop: 20px;\n\tmargin: 0;\n\tright: 10px;\n\tposition: absolute;\n\tz-index: 5;\n}\n\n.fcard-footer .actions-row .col {\n\tflex: 0 0 auto;\n\twidth: 24%;\n}\n\n.status-icon {\n\tmargin-left: 20px;\n\twidth: 24px;\n\theight: auto;\n}\n\n.flashcard-header-row {\n\theight: 36px;\n}\n\n.flashcard-footer-row {\n\theight: 50px;\n\tbackground-color: white;\n}\n\n.flashcard-bg-row {\n\theight: calc(100% - 50px);\n}\n\n.no-content {\n\tmargin-top: 50px;\n\tmargin-bottom: 50px;\n}\n\n.status-icon {\n\tmargin-right: 10px;\n\twidth: 24px;\n\theight: auto;\n}\n\n.loading {\n\tmargin-top: 200px;\n\tmargin-bottom: 200px;\n}\n.flashcard-table{\n\tfont-size: 1rem;\n}\n\n@media (max-width: 768px){\n\t.flashcard-page .cd-body {\n\t\theight: auto;\n\t}\n\t.main-tabs-row .nav-tabs .nav-link {\n\t\tfont-size: 1rem;\n\t}\n\t.eb-content-wrapper {\n\t\tpadding-top: 0px;\n\t}\n\t.flashcard-list-content .eb-header {\n    \tpadding: 0;\n\t}\n\t.flashcard-container{\n\t\theight: calc(100vh - 280px) !important;\n\t}\n\n\t\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentFlashCards.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentFlashCards.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentFlashCards.vue?vue&type=template&id=babafec4&scoped=true&\"\nimport script from \"./ProductContentFlashCards.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentFlashCards.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentFlashCards.vue?vue&type=style&index=0&id=babafec4&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"babafec4\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (true)?_c('div',{staticClass:\"body\"},[_c('div',{staticClass:\"body-content\"},[_c('b-tabs',{attrs:{\"nav-class\":\"main-tabs nav nav-tabs\",\"nav-wrapper-class\":\"main-tabs-row\",\"content-class\":\"eb-content-wrapper\"},model:{value:(_vm.currentActiveTab),callback:function ($$v) {_vm.currentActiveTab=$$v},expression:\"currentActiveTab\"}},[_c('b-tab',{attrs:{\"title\":\"Table of Contents\",\"active\":_vm.currentActiveTab==0},on:{\"click\":function($event){return _vm.changeTab('tableofcontents')}}},[_c('ProductContentChapters')],1)],1)],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"body\" v-if=\"true\" >\n\t\t<div class=\"body-content\">\n\t\t\t<b-tabs v-model=\"currentActiveTab\" nav-class=\"main-tabs nav nav-tabs\" nav-wrapper-class=\"main-tabs-row\"\n\t\t\t\tcontent-class=\"eb-content-wrapper\">\n\t\t\t\t<b-tab @click=\"changeTab('tableofcontents')\" title=\"Table of Contents\" :active=\"currentActiveTab==0\">\n\t\t\t\t\t<ProductContentChapters></ProductContentChapters>\n\t\t\t\t</b-tab>\n\t\t\t\t<!-- <b-tab @click=\"changeTab('confidencelevel')\" title=\"Understanding Levels\" :active=\"currentActiveTab == 1\">\n\t\t\t\t\t<ProductContentChaptersConfidence :active=\"currentActiveTab == 1\"\n\t\t\t\t\t\t:productVariantID=\"productVariantID\" />\n\n\t\t\t\t</b-tab> -->\n\t\t\t\t<!-- <b-tab @click=\"changeTab('notes')\" title=\"Notes\"></b-tab> -->\n\t\t\t\t<!-- <b-tab @click=\"changeTab('bookmarks')\" title=\"Bookmarks\" :active=\"currentActiveTab == 2\">\n\n\t\t\t\t\t<ProductContentChaptersBookmarks :active=\"currentActiveTab == 2\" \n\t\t\t\t\t    :productVariantID=\"productVariantID\" />\n\n\t\t\t\t</b-tab> -->\n\t\t\t\t<!-- <b-tab @click=\"changeTab('highlights')\" title=\"Highlights\" :active=\"currentActiveTab ==3\">\n\t\t\t\t\t<ProductContentChaptersHighlights :active=\"currentActiveTab == 3\" \n\t\t\t\t\t    :productVariantID=\"productVariantID\" />\n\t\t\t\t</b-tab> -->\n\t\t\t</b-tabs>\n\t\t</div>\n\t</div>\n\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nimport { ProductVariantStatus } from \"../../constants/productVariant\";\nimport ProductContentChapters from \"./ProductContentChapters.vue\";\nimport ProductContentClasses from \"./ProductContentClasses.vue\"\nimport ProductContentChaptersConfidence from \"./ProductContentChaptersConfidence.vue\"\nimport ProductContentChaptersBookmarks from \"./ProductContentChaptersBookmarks.vue\"\nimport ProductContentChaptersHighlights from \"./ProductContentChaptersHighlights.vue\"\n\nexport default {\n\tname: \"ProductContentSection\",\n\tdata() {\n\t\treturn {\n\t\t\tproductVariantID: null,\n\t\t\tselectedProductVariant: null,\n\t\t\tcurrentActiveTab: 0\n\t\t};\n\t},\n\tcomponents: {\n\t\tProductContentChapters,\n\t\tProductContentClasses,\n\t\tProductContentChaptersConfidence,\n\t\tProductContentChaptersBookmarks,\n\t\tProductContentChaptersHighlights\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"getProductVariantById\"]),\n\t\tgetProductVariant: function () {\n\t\t\tvar myProducts =\n\t\t\t\t(this.user && this.user.productVariants\n\t\t\t\t\t? this.user.productVariants.filter(\n\t\t\t\t\t\t(productVariant) =>\n\t\t\t\t\t\t\tproductVariant.status != ProductVariantStatus.DRAFT\n\t\t\t\t\t)\n\t\t\t\t\t: []);\n\t\t\tthis.selectedProductVariant = myProducts.find(x => x.id == this.productVariantID);\n\t\t\tif(this.selectedProductVariant)\n\t\t\t{\n\t\t\t\twindow.document.title=this.content[this.contentId].title;\t\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t},\n\t\tchangeTab: function (tab) {\n\t\t\tvar oldRouteQuery = this.$route.query;\n\t\t\tthis.$router.push({ query: { tab } }).catch(() => { });\n\t\t\tvar selfRouteQuery = { tab };\n\t\t\tObject.keys(oldRouteQuery).forEach(query => {\n\t\t\t\tif (query.toLowerCase() != 'tab')\n\t\t\t\t\tselfRouteQuery[query] = oldRouteQuery[query];\n\t\t\t});\n\t\t\tthis.$router.push({ query: selfRouteQuery }).catch(() => { });\n\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"productVariant\", [\"productVariants\"])\n\t},\n\twatch: {\n\t\tproductVariants:function(){\n\t\t\tif (this.productVariantID && this.productVariant && this.productVariants.items[this.productVariantID]) {\n\t\t\t\tthis.selectedProductVariant=  this.productVariants.items[this.productVariantID];\n\t\t\t}\n\t\t},\n\t\tselectedProductVariant:function(){\n\t\t\tif(this.selectedProductVariant)\n\t\t\t{\n\t\t\t\twindow.document.title=this.selectedProductVariant.title;\t\t\t\t\t\n\t\t\t}\n\t\t},\n\t\t$route(to, from) {\n\t\t\tif (this.$route.query.tab) {\n\t\t\t\tif (this.$route.query.tab.toLowerCase() == \"tableofcontents\") {\n\t\t\t\t\tthis.currentActiveTab = 0;\n\t\t\t\t}\n\t\t\t\telse if (this.$route.query.tab.toLowerCase() == \"confidencelevel\") {\n\t\t\t\t\tthis.currentActiveTab = 1;\n\t\t\t\t}\n\t\t\t\t// else if (this.$route.query.tab.toLowerCase() == \"notes\") {\n\t\t\t\t// \tthis.currentActiveTab = 2;\n\t\t\t\t// }\n\t\t\t\telse if (this.$route.query.tab.toLowerCase() == \"bookmarks\") {\n\t\t\t\t\tthis.currentActiveTab = 2;\n\t\t\t\t}\n\t\t\t\telse if (this.$route.query.tab.toLowerCase() == \"highlights\") {\n\t\t\t\t\tthis.currentActiveTab = 3;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif (this.$route.params.id && this.productVariantID != this.$route.params.id) {\n\t\t\t\tthis.productVariantID = this.$route.params.id;\n\t\t\t\tthis.getProductVariant();\n\t\t\t}\n\n\t\t}\n\t},\n\tcreated() {\n\t\tif (this.$route.params.id && this.productVariantID != this.$route.params.id) {\n\t\t\tthis.productVariantID = this.$route.params.id;\n\t\t\tthis.getProductVariant();\n\t\t}\n\t\tif (this.$route.query.tab) {\n\t\t\tif (this.$route.query.tab.toLowerCase() == \"tableofcontents\") {\n\t\t\t\tthis.currentActiveTab = 0;\n\t\t\t}\n\t\t\telse if (this.$route.query.tab.toLowerCase() == \"confidencelevel\") {\n\t\t\t\tthis.currentActiveTab = 1;\n\t\t\t}\n\t\t\t// else if (this.$route.query.tab.toLowerCase() == \"notes\") {\n\t\t\t// \tthis.currentActiveTab = 2;\n\t\t\t// }\n\t\t\telse if (this.$route.query.tab.toLowerCase() == \"bookmarks\") {\n\t\t\t\tthis.currentActiveTab = 2;\n\t\t\t}\n\t\t\telse if (this.$route.query.tab.toLowerCase() == \"highlights\") {\n\t\t\t\tthis.currentActiveTab = 3;\n\t\t\t}\n\n\t\t}\n\t},\n\tmounted() {\n\t}\n};\n</script>\n\n<style scoped>\n.sidebar {\n\tleft: 0;\n\tposition: fixed;\n\ttop: 74px;\n\tbottom: 0;\n\tz-index: 1030;\n\twidth: 275px;\n\tbackground-color: #fff;\n\tborder-right: solid 1px var(--border-color);\n\tz-index: 3;\n}\n\n.sidebar-nav .nav-group {\n\tposition: relative;\n\ttransition: background .15s ease-in-out;\n}\n\n.sidebar-nav {\n\tposition: relative;\n\tdisplay: flex;\n\tflex: 1;\n\tflex-direction: column;\n\tpadding: 0;\n\tmargin-bottom: 0;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tlist-style: none;\n\tpadding: 0 20px;\n}\n\n.sidebar-nav .nav-item {\n\tmargin-bottom: 4px;\n}\n\n\n\n.sidebar-nav .active .nav-link,\n.sidebar-nav .nav-link:hover {\n\tcolor: var(--primary-color);\n}\n\n.sidebar-nav .active .nav-link {\n\tborder-color: var(--primary-color);\n}\n\n.nav-sidebar .nav-link p {\n\tdisplay: inline;\n\tmargin: 0;\n\twhite-space: normal;\n}\n\n.sidebar-nav .nav-item .nav-icon {\n\tmargin-left: 0.05rem;\n\tfont-size: 1rem;\n\tmargin-right: 0.2rem;\n\ttext-align: center;\n\twidth: 1.6rem;\n\tcolor: var(--icon-color);\n}\n\n.sidebar-nav .active .nav-icon {\n\tcolor: var(--primary-color);\n}\n\n.sidebar-progress {\n\tpadding: 20px;\n\tfont-size: 13px;\n\tborder-bottom: solid 1px var(--border-color);\n}\n\n.progress-val {\n\tfont-weight: 600;\n}\n\n.sidebar-progress .progress {\n\theight: 7px;\n\tmargin: 0px;\n}\n\n\n.sidebar-lecture {\n\tpadding: 10px 0 0;\n\tbox-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);\n\tmargin-bottom: 15px;\n}\n\n.sidebar-lecture .current-course {\n\twhite-space: normal;\n\tbackground-position: right 20px top 10px;\n\tpadding: 5px 20px;\n\tborder: none;\n\tpadding-right: 40px;\n\tcursor: pointer;\n\tbox-shadow: none !important;\n}\n\n.sidebar-lecture .select2-container--default .select2-selection--single {\n\tborder-radius: 6px;\n\tborder: none;\n\theight: auto;\n}\n\n.sidebar-lecture .select2-container--default .select2-selection--single .select2-selection__rendered {\n\tline-height: 22px;\n\tpadding-left: 0;\n\tfont-size: 14px;\n\tline-height: 20px;\n\tpadding-left: 20px;\n\tfont-size: 13px;\n\twhite-space: normal;\n\toverflow: auto;\n\tpadding-bottom: 10px;\n\tpadding-right: 25px;\n}\n\n.select2-results__option {\n\tfont-size: 13px;\n}\n\n.sidebar-lecture-dd .select2-dropdown {\n\tborder-color: var(--border-color);\n\tborder-radius: 0;\n}\n\n.sidebar-lecture .select2-container--default .select2-selection--single .select2-selection__arrow {\n\tright: 5px;\n}\n\n.sidebar-lecture .select2-container--default .select2-selection--single .select2-selection__arrow b {\n\tbackground-image: url(\"../../assets/images/arrow-bottom.svg\");\n\tbackground-repeat: no-repeat;\n\tborder: none;\n\tright: 15px;\n\twidth: 14px;\n\theight: 14px;\n}\n\n.vs__clear {\n\tdisplay: none;\n}\n\n.select-head {\n\tcolor: var(--primary-color);\n\tfont-weight: bold;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentSection.vue?vue&type=template&id=deb6f978&scoped=true&\"\nimport script from \"./ProductContentSection.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentSection.vue?vue&type=style&index=0&id=deb6f978&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"deb6f978\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('aside',{staticClass:\"sidebar\"},[_c('div',{staticClass:\"sidebar-lecture-dd\",attrs:{\"id\":\"sidebarLectureDD\"}}),_c('div',{staticClass:\"sidebar-user\"},[_c('v-select',{staticClass:\"select2 search-input\",attrs:{\"reduce\":function (option) { return option.id; },\"options\":_vm.userProducts,\"placeholder\":\"Search by Course\",\"appendToBody\":true,\"label\":\"name\"},scopedSlots:_vm._u([{key:\"selected-option\",fn:function(option){return [_c('div',[_c('div',{staticClass:\"sb-selected-author\",attrs:{\"id\":\"sb-selected-author\"}},[_vm._v(_vm._s(_vm.productTrainers))]),_c('div',{staticClass:\"sb-selected-course\",attrs:{\"id\":\"sb-selected-batch\"}},[_vm._v(_vm._s(option.product.title))]),_c('div',{staticClass:\"sb-selected-batch\",attrs:{\"id\":\"sb-selected-batch\"}},[_vm._v(_vm._s(option.title))]),_c('b-tooltip',{attrs:{\"target\":\"sb-selected-author\",\"triggers\":\"hover\"}},[_vm._v(\" \"+_vm._s(_vm.productTrainers)+\" \")]),_c('b-tooltip',{attrs:{\"target\":\"sb-selected-batch\",\"triggers\":\"hover\"}},[_c('b',[_vm._v(_vm._s(option.product.title))]),_c('br'),_vm._v(\" \"+_vm._s(option.title)+\" \")])],1)]}},{key:\"option\",fn:function(option){return [_vm._v(\" \"+_vm._s(option.product.title)+\" - \"+_vm._s(option.title)+\" \")]}}]),model:{value:(_vm.selectedProductVariantId),callback:function ($$v) {_vm.selectedProductVariantId=$$v},expression:\"selectedProductVariantId\"}}),_c('div',{staticClass:\"sidebar-progress\"},[_c('div',{staticClass:\"progress mb-1\"},[_c('div',{staticClass:\"progress-bar\",style:((\"width: \" + _vm.progress + \"%\")),attrs:{\"role\":\"progressbar\",\"aria-valuenow\":\"25\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}})]),_c('div',{staticClass:\"sb-progress-labels d-flex justify-content-between mb-1\"},[_c('div',{staticClass:\"progress-status progress-val\"},[_c('span',{attrs:{\"id\":\"progressVal\"}},[_vm._v(_vm._s(_vm.progress))]),_vm._v(\"%\")]),_c('div',{staticClass:\"progress-label\"},[_vm._v(\"Progress\")])])])],1),_c('div',{staticClass:\"sidebar-nav\"},[_c('nav',{staticClass:\"mt-2\"},[_c('ul',{staticClass:\"nav nav-sidebar flex-column\",attrs:{\"data-widget\":\"treeview\",\"role\":\"menu\",\"data-accordion\":\"false\"}},[_c('li',{class:(\"nav-item \" + ((_vm.$route.params.page && _vm.$route.params.page.toLowerCase() == 'chapters') ? 'active' : '')),on:{\"click\":function($event){return _vm.navigate('chapters')}}},[_vm._m(0)]),_c('li',{class:(\"nav-item \" + ((_vm.$route.params.page && _vm.$route.params.page.toLowerCase() == 'flashcards') ? 'active' : '')),on:{\"click\":function($event){return _vm.navigate('flashcards')}}},[_vm._m(1)]),_c('li',{staticClass:\"nav-item\",class:(\"nav-item \" + ((_vm.$route.params.page && _vm.$route.params.page.toLowerCase() == 'exams') ? 'active' : '')),on:{\"click\":function($event){return _vm.navigate('exams')}}},[_vm._m(2)]),_c('li',{class:(\"nav-item \" + ((_vm.$route.params.page && _vm.$route.params.page.toLowerCase() == 'assignments') ? 'active' : '')),attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.navigate('assignments')}}},[_vm._m(3)]),_c('li',{class:(\"nav-item \" + ((_vm.$route.params.page && _vm.$route.params.page.toLowerCase() == 'liveclasses') ? 'active' : '')),attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.navigate('liveclasses')}}},[_vm._m(4)])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"nav-link\"},[_c('i',{staticClass:\"nav-icon fas fa-list\"}),_c('p',[_vm._v(\"Chapters\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"nav-link\",attrs:{\"role\":\"button\"}},[_c('i',{staticClass:\"nav-icon fas fa-random\"}),_c('p',[_vm._v(\"Flashcards \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"nav-link\",attrs:{\"role\":\"button\"}},[_c('i',{staticClass:\"nav-icon fas fa-graduation-cap\"}),_c('p',[_vm._v(\"Exams \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"nav-link\"},[_c('i',{staticClass:\"nav-icon fas fa-clipboard-list\"}),_c('p',[_vm._v(\"Assignments \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"nav-link\"},[_c('i',{staticClass:\"nav-icon fas fa-video\"}),_c('p',[_vm._v(\"Live Classes \")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<aside class=\"sidebar\">\n\t\t<div id=\"sidebarLectureDD\" class=\"sidebar-lecture-dd\"></div>\n\n\n\t\t<div class=\"sidebar-user\">\n\n\t\t\t<v-select class=\"select2 search-input\" v-model=\"selectedProductVariantId\" :reduce=\"(option) => option.id\"\n\t\t\t\t:options=\"userProducts\" placeholder=\"Search by Course\" :appendToBody=\"true\" label=\"name\">\n\t\t\t\t<template #selected-option=\"option\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div id=\"sb-selected-author\" class=\"sb-selected-author\">{{ productTrainers }}</div>\n\t\t\t\t\t\t<div id=\"sb-selected-batch\" class=\"sb-selected-course\">{{ option.product.title }}</div>\n\t\t\t\t\t\t<div id=\"sb-selected-batch\" class=\"sb-selected-batch\">{{ option.title }}</div>\n\t\t\t\t\t\t<b-tooltip target=\"sb-selected-author\" triggers=\"hover\">\n\t\t\t\t\t\t\t{{ productTrainers }}\n\t\t\t\t\t\t</b-tooltip>\n\t\t\t\t\t\t<b-tooltip target=\"sb-selected-batch\" triggers=\"hover\">\n\t\t\t\t\t\t\t<b>{{ option.product.title }}</b><br/>\n\t\t\t\t\t\t    {{ option.title }}\n\t\t\t\t\t\t</b-tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-slot:option=\"option\">\n\t\t\t\t\t{{ option.product.title }} - {{ option.title }}\n\t\t\t\t</template>\n\t\t\t</v-select>\n\n\n\t\t\t<div class=\"sidebar-progress\">\n\t\t\t\t<div class=\"progress mb-1\">\n\t\t\t\t\t<div class=\"progress-bar\" role=\"progressbar\" :style=\"`width: ${progress}%`\" aria-valuenow=\"25\"\n\t\t\t\t\t\taria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"sb-progress-labels d-flex justify-content-between mb-1\">\n\t\t\t\t\t<div class=\"progress-status progress-val\"><span id=\"progressVal\">{{ progress }}</span>%</div>\n\t\t\t\t\t<div class=\"progress-label\">Progress</div>\n\t\t\t\t</div>\n\t\t\t</div><!-- /sidebar-progress -->\n\n\t\t</div>\n\n\t\t<!-- Sidebar Menu -->\n\t\t<div class=\"sidebar-nav\">\n\t\t\t<nav class=\"mt-2\">\n\t\t\t\t<ul class=\"nav nav-sidebar flex-column\" data-widget=\"treeview\" role=\"menu\" data-accordion=\"false\">\n\t\t\t\t\t<!-- Add icons to the links using the .nav-icon class\n\t\t\t\t\t   with font-awesome or any other icon font library -->\n\t\t\t\t\t<li :class=\"`nav-item ${($route.params.page && $route.params.page.toLowerCase() == 'chapters') ? 'active' : ''}`\"\n\t\t\t\t\t\t@click=\"navigate('chapters')\">\n\t\t\t\t\t\t<a class=\"nav-link\">\n\t\t\t\t\t\t\t<i class=\"nav-icon fas fa-list\"></i>\n\t\t\t\t\t\t\t<p>Chapters</p>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li :class=\"`nav-item ${($route.params.page && $route.params.page.toLowerCase() == 'flashcards') ? 'active' : ''}`\"\n\t\t\t\t\t\t@click=\"navigate('flashcards')\">\n\t\t\t\t\t\t<a role=\"button\" class=\"nav-link\">\n\t\t\t\t\t\t\t<i class=\"nav-icon fas fa-random\"></i>\n\t\t\t\t\t\t\t<p>Flashcards </p>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t\t<!-- <li class=\"nav-item\">\n\t\t\t\t\t<a href=\"quiz-inner.html\" class=\"nav-link\">\n\t\t\t\t\t  <i class=\"nav-icon fas fa-copy\"></i>\n\t\t\t\t\t  <p>Quizzes </p>\n\t\t\t\t\t</a>\n\t\t\t\t  </li>-->\n\t\t\t\t  <li class=\"nav-item\" @click=\"navigate('exams')\"\n\t\t\t\t  :class=\"`nav-item ${($route.params.page && $route.params.page.toLowerCase() == 'exams') ? 'active' : ''}`\">\n\t\t\t\t\t<a role=\"button\" class=\"nav-link\">\n\t\t\t\t\t  <i class=\"nav-icon fas fa-graduation-cap\"></i>\n\t\t\t\t\t  <p>Exams </p>\n\t\t\t\t\t</a>\n\t\t\t\t  </li>     \n\n\t\t\t\t  <li role=\"button\" @click=\"navigate('assignments')\"\n\t\t\t\t\t\t:class=\"`nav-item ${($route.params.page && $route.params.page.toLowerCase() == 'assignments') ? 'active' : ''}`\">\n\t\t\t\t\t\t<a class=\"nav-link\">\n\t\t\t\t\t\t\t<i class=\"nav-icon fas fa-clipboard-list\"></i>\n\t\t\t\t\t\t\t<p>Assignments </p>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\n\t\t\t\t\t<li role=\"button\" @click=\"navigate('liveclasses')\"\n\t\t\t\t\t\t:class=\"`nav-item ${($route.params.page && $route.params.page.toLowerCase() == 'liveclasses') ? 'active' : ''}`\">\n\t\t\t\t\t\t<a class=\"nav-link\">\n\t\t\t\t\t\t\t<i class=\"nav-icon fas fa-video\"></i>\n\t\t\t\t\t\t\t<p>Live Classes </p>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\n\t</aside>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nimport { ProductVariantStatus,ProductVariantSubscriptionStatus } from \"../../constants/productVariant\";\n\nexport default {\n\tname: \"ProductContentSidebar\",\n\tdata() {\n\t\treturn {\n\t\t\tselectedProductVariantId: null\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\", \"trainers\"]),\n\t\t...mapState(\"productVariant\", [\"productVariants\", \"productVariantsProgress\"]),\n\t\tuserProducts() {\n\t\t\tvar myProducts =\n\t\t\t\t(this.user && this.user.productVariants\n\t\t\t\t\t? this.user.productVariants.filter(\n\t\t\t\t\t\t(productVariant) =>\n\t\t\t\t\t\t\tproductVariant.status != ProductVariantStatus.DRAFT && \n\t\t\t\t\t\t\tproductVariant.product && \n\t\t\t\t\t\t\tproductVariant.product.title && \n\t\t\t\t\t\t\tproductVariant.subscriptionStatus == ProductVariantSubscriptionStatus.ALLOWED &&\n\t\t\t\t\t\t\t(!productVariant.endDate || new Date(productVariant.endDate) >= new Date()) &&\n\t\t\t\t\t\t\t(!productVariant.expiresAt || new Date(productVariant.expiresAt) >= new Date())\n\t\t\t\t\t)\n\t\t\t\t\t: []).map(x => {\n\t\t\t\t\t\tx.name = x.product.title + \"  \" + x.title;\n\t\t\t\t\t\treturn x;\n\t\t\t\t\t});\n\t\t\tif (this.$route.params.id && myProducts.find(x => x.id == this.$route.params.id)) {\n\t\t\t\tthis.selectedProductVariantId = this.$route.params.id;\n\t\t\t} else {\n\t\t\t\tthis.selectedProductVariantId = myProducts && myProducts.length > 0 ? myProducts[0].id : null;\n\t\t\t}\n\t\t\treturn myProducts;\n\t\t},\n\t\tprogress() {\n\t\t\tif (this.productVariantsProgress && this.productVariantsProgress[this.selectedProductVariantId]) {\n\t\t\t\tvar progressOB = this.productVariantsProgress[this.selectedProductVariantId];\n\t\t\t\treturn Math.round((progressOB.completedTotalContent / progressOB.totalContent) * 100);\n\t\t\t}\n\t\t\treturn 0;\n\t\t},\n\t\tproductTrainers() {\n\t\t\tif (this.selectedProductVariantId && this.productVariants && this.productVariants.items && this.productVariants.items[this.selectedProductVariantId] && this.productVariants.items[this.selectedProductVariantId].properties && this.productVariants.items[this.selectedProductVariantId].properties.trainers) {\n\t\t\t\tvar trainerList = JSON.parse(this.productVariants.items[this.selectedProductVariantId].properties.trainers);\n\t\t\t\tif (trainerList && trainerList.length > 0) {\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tvar trainerList = trainerList.map(function (val, ind, arr) {\n\t\t\t\t\t\treturn self.trainers?self.trainers.find(x => x.id == val):null;\n\t\t\t\t\t}).filter(x => x);\n\t\t\t\t\tif (trainerList.length > 0) {\n\t\t\t\t\t\tvar names = trainerList[0].firstName + \" \" + trainerList[0].lastName;\n\t\t\t\t\t\tif (trainerList.length > 1) {\n\t\t\t\t\t\t\tnames += \" + \" + (trainerList.length - 1) + \" trainers\" + (trainerList.length > 2 ? \"s\" : \"\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn names;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn \"\";\n\n\t\t}\n\t},\n\twatch: {\n\t\tselectedProductVariantId: function () {\n\t\t\tif (this.$route.params.id != this.selectedProductVariantId) {\n\t\t\t\tthis.$router.push({ params: { id: this.selectedProductVariantId } });\n\n\t\t\t}\n\t\t\tif (!this.productVariantsProgress || !this.productVariantsProgress[this.selectedProductVariantId]) {\n\t\t\t\tthis.getProductVariantProgress(this.selectedProductVariantId);\n\t\t\t}\n\t\t}\n\t},\n\tcreated() {\n\t\tif (this.$route.params.id) {\n\t\t\tthis.selectedProductVariantId = this.$route.params.id;\n\t\t}\n\n\t},\n\tmounted() {\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"getProductVariantProgress\"]),\n\t\tnavigate(page) {\n\t\t\tvar params = { ...this.$route.params };\n\t\t\tvar queries = { ...this.$route.query };\n\t\t\tparams.page = page;\n\n\t\t\tif (queries.contentId) {\n\t\t\t\tdelete queries.contentId;\n\t\t\t}\n\t\t\t// here we gets an exception of navigation duplicated \n\t\t\t// since we want to use that duplication so, we \n\t\t\t// are catching and doing nothing here.\n\t\t\t\n\t\t\tthis.$router\n\t\t\t\t.push({ params, query: queries })\n\t\t\t\t.catch((error) => {});\n\t\t}\n\n\t},\n};\n</script>\n\n<style scoped>\n.sidebar {\n\tleft: 0;\n\tposition: fixed;\n\ttop: 74px;\n\tbottom: 0;\n\tz-index: 1030;\n\twidth: 275px;\n\tbackground-color: #fff;\n\tborder-right: solid 1px var(--border-color);\n\tz-index: 3;\n}\n\n.sidebar-nav .nav-group {\n\tposition: relative;\n\ttransition: background .15s ease-in-out;\n}\n\n.sidebar-nav {\n\tposition: relative;\n\tdisplay: flex;\n\tflex: 1;\n\tflex-direction: column;\n\tpadding: 0;\n\tmargin-bottom: 0;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tlist-style: none;\n\tpadding: 0 20px;\n}\n\n.sidebar-nav .nav-item {\n\tmargin-bottom: 4px;\n}\n\n.sidebar-nav .nav-link {\n\tdisplay: flex;\n\tflex: 1;\n\talign-items: center;\n\tpadding: 10px 16px;\n\tcolor: var(--primary-link-color);\n\ttext-decoration: none;\n\twhite-space: nowrap;\n\tborder: var(--cui-sidebar-nav-link-border);\n\tborder-radius: var(--cui-sidebar-nav-link-border-radius);\n\ttransition: background .15s ease, color .15s ease;\n\tborder: solid 2px transparent;\n\tborder-radius: 8px;\n\tfont-family: Circular Std;\n\tfont-size: 13px;\n\tfont-style: normal;\n\tfont-weight: 600;\n\tline-height: normal;\n}\n.sidebar-nav .active {\n\tbackground-color: rgba(255, 252, 252, 1);\n}\n\n.sidebar-nav .active .nav-link,\n.sidebar-nav .nav-link:hover {\n\tcolor: var(--primary-color);\n}\n\n.sidebar-nav .active .nav-link {\n\tborder-color: var(--primary-color);\n}\n\n.nav-sidebar .nav-link p {\n\tdisplay: inline;\n\tmargin: 0;\n\twhite-space: normal;\n}\n\n.sidebar-nav .nav-item .nav-icon {\n\tmargin-left: 0.05rem;\n\tfont-size: 1rem;\n\tmargin-right: 0.2rem;\n\ttext-align: center;\n\twidth: 1.6rem;\n\tcolor: var(--icon-color);\n}\n\n.sidebar-nav .active .nav-icon {\n\tcolor: var(--primary-color);\n}\n\n.sidebar-progress {\n\tpadding: 8px 20px 0;\n\tfont-size: 13px;\n}\n\n.progress-val {\n\tfont-weight: 600;\n}\n\n.sidebar-progress .progress {\n\theight: 7px;\n\tmargin: 0px;\n}\n\n.sidebar-progress .progress-bar {\n\tbackground:linear-gradient(109.6deg, rgb(255, 170, 0),rgb(156, 184, 40), rgb(81, 195, 70),rgb(7, 206, 100)) !important;\n}\n\n\n.vs__clear {\n\tdisplay: none;\n}\n\n.vs--searchable .vs__dropdown-toggle {\n\tpadding: 0 10px;\n}\n\n.sidebar-user>>>.vs__selected-options {\n\tpadding: 0 4px 0 18px;\n\twidth: calc(100% - 18px);\n}\n\n.sidebar-user>>>.vs__selected {\n\tmargin: 0;\n\tpadding: 0;\n\tline-height: 17px;\n\tflex-grow: 2;\n\tcursor: pointer;\n\twidth:100%;\n}\n.sidebar-user>>>.vs__selected > div{\n\twidth:100%;\n}\n.sidebar-user>>>.vs__selected-options{\n\tflex-wrap: nowrap;\n}\n\n.sidebar-user>>>input[type=\"search\"] {\n\tflex-grow: 0.05;\n\tcursor: pointer;\n\tpadding: 0;\n\tborder-radius: 3px;\n\topacity: 0;\n\tbackground-color: #fff;\n}\n\n.sidebar-user>>>.vs--open input[type=\"search\"] {\n\tflex-grow: 2;\n\twidth: 100%;\n\tborder: solid 1px var(--border-color);\n\tmargin-bottom: 25px;\n\tmargin-top: 5px;\n\tpadding: 2px 4px;\n\topacity: 1;\n}\n\n.sidebar-user>>>.vs--searchable .vs__dropdown-toggle {\n\tpadding-right: 10px;\n}\n\n.sidebar-user>>>.vs__actions {\n\tcursor: pointer;\n\tbackground: #eee;\n\twidth: 18px;\n\theight: 18px;\n\tborder-radius: 50%;\n\tpadding: 0;\n\ttext-align: center;\n\tjustify-content: center;\n\tmargin-top: 4px;\n}\n\n.sidebar-user>>>.vs__open-indicator {\n\tfill: #444;\n\ttransform: scale(0.65);\n\tstroke: #eee;\n}\n\n.sidebar-user>>>.vs--single.vs--open .vs__selected {\n\topacity: 0;\n}\n\n.sidebar-user>>>.vs--open .vs__open-indicator {\n\ttransform: scale(0.65) rotate(180deg);\n}\n\n.select-head {\n\tcolor: var(--primary-color);\n\tfont-weight: bold;\n}\n\n.sidebar-user {\n\tpadding: 20px 0px 10px;\n\tbox-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);\n\tmargin-bottom: 15px;\n}\n\n.sb-selected {\n\tfont-size: 13px;\n\tline-height: 17px;\n\ttext-align: left;\n\tcolor: var(--primary-link-color);\n\tfont-weight: 500;\n\tpadding: 0 30px 0 20px;\n\tdisplay: block;\n}\n\n.sb-selected-course {\n\tcolor: var(--primary-color);\n\tfont-family: Circular Std;\nfont-size: 14px;\nfont-style: normal;\nfont-weight: 600;\nline-height: normal;\n}\n\n.sb-selected-batch {\n\tcolor: #767676;\nfont-family: Circular Std;\nfont-size: 12px;\nfont-style: normal;\nfont-weight: 600;\nline-height: normal;\n}\n\n.sb-selected-author {\n\tcolor: #231F20;\nfont-family: Circular Std;\nfont-size: 14px;\nfont-style: normal;\nfont-weight: 350;\nline-height: normal;\n}\n\n.sb-selected-course,\n.sb-selected-author,\n.sb-selected-batch {\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.sb-selected:after {\n\tcontent: \"\";\n\tborder: none;\n\tposition: absolute;\n\tright: 12px;\n\ttop: 0;\n\tbackground-color: #eee;\n\twidth: 18px;\n\theight: 18px;\n\ttext-align: center;\n\tborder-radius: 50%;\n\tbackground-image: url(\"../../assets/images/arrow-bottom.svg\");\n\tbackground-size: 9px 16px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: center center;\n}\n\n.sb-selected.show:after {\n\ttransform: rotate(180deg);\n}\n\n.sb-course-list,\n#vs1__listbox {\n\tlist-style-type: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.sb-course-list .dropdown-item {\n\tpadding: 7px 0;\n\tfont-size: 13px;\n\tline-height: 16px;\n\twhite-space: normal;\n}\n\n.sb-course-list .dropdown-item:hover,\n.sb-course-list .dropdown-item:focus,\n.sb-course-list .dropdown-item:active {\n\tcolor: var(--primary-color);\n\tbackground-color: transparent;\n}\n\n.sidebar-user .dropdown-menu {\n\twidth: 100%;\n\tborder-radius: 0;\n\tborder-width: 0 0 1px 0;\n\tmax-height: calc(100vh - 200px);\n\toverflow: auto;\n\tbox-shadow: 0 8px 4px -3px rgba(0, 0, 0, 0.08);\n}\n\n.sb-search-control {\n\tbox-shadow: none !important;\n}\n\n.sb-search-control:focus {\n\tborder-color: var(--gray);\n}\n\n@media (max-width: 768px){\n\t.sidebar {\n\t\tposition: static;\n\t\tborder-right: none;\n\t\twidth: 100%;\n\t\tbackground-color: #f5f5f5;\n\t}\n\t.sidebar-nav nav{\n\t\twidth: 100%;\n    \toverflow-x: scroll;\n\t}\n\t.sidebar-nav ul.nav-sidebar{\n\t\tflex-direction: row !important;\n    \tflex-wrap: nowrap;\n\t}\n\t.nav-sidebar .nav-link p {\n\t\twhite-space: nowrap;\n\t}\n\t.sidebar-user {\n\t\tpadding: 15px 0px 5px;\n\t\tbox-shadow: none;\n\t\tmargin-bottom: 0;\n\t\tbackground: #f5f5f5;\n\t}\n\t.sidebar-user>>>.vs--searchable .vs__dropdown-toggle {\n\t\tbackground: #f5f5f5;\n\t}\n\n}\n\n</style>\n\n<style>\nbody .vs__dropdown-menu {\n\tmargin-top: -10px !important;\n}\n\nbody .vs__dropdown-menu .vs__dropdown-option {\n\tline-height: 1.22;\n\tmargin: 0 0 3px;\n\twhite-space: normal;\n}\n\nbody .vs__dropdown-menu .vs__dropdown-option:hover,\nbody .vs__dropdown-menu .vs__dropdown-option--highlight {\n\tcolor: var(--primary-color);\n\tbackground: none !important;\n}\n\n@media (max-width: 768px){\n\t.vs__dropdown-menu{\n\t\tborder-top-style: solid;\n\t\tpadding: 10px 0 5px;\n\t}\n\tbody .vs__dropdown-menu .vs__dropdown-option {\n\t\tfont-size: 1rem;\n\t}\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentSidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentSidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentSidebar.vue?vue&type=template&id=0d5372cc&scoped=true&\"\nimport script from \"./ProductContentSidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentSidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentSidebar.vue?vue&type=style&index=0&id=0d5372cc&prod&scoped=true&lang=css&\"\nimport style1 from \"./ProductContentSidebar.vue?vue&type=style&index=1&id=0d5372cc&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0d5372cc\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showWebDisabledModel)?_c('div',{staticClass:\"login-webDisabled\"},[_c('h1',{staticClass:\"heading-bold-20\"},[_vm._v(\"Please download app for your device to access content.\")]),_c('ul',{staticClass:\"download-btn-list\"},[(_vm.systemParameters && _vm.systemParameters.AndroidAppUpdateUrl)?_c('li',{staticClass:\"download-btn-list-item\"},[_c('a',{staticClass:\"download android\",attrs:{\"href\":_vm.systemParameters.AndroidAppUpdateUrl,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fa fa-android fa-3x\"}),_c('span',{staticClass:\"df\"},[_vm._v(\"Download For\")]),_c('span',{staticClass:\"dfn\"},[_vm._v(\"Android\")])])]):_vm._e(),(_vm.systemParameters && _vm.systemParameters.IOSAppUpdateUrl)?_c('li',{staticClass:\"download-btn-list-item\"},[_c('a',{staticClass:\"download apple\",attrs:{\"href\":_vm.systemParameters.IOSAppUpdateUrl,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fa fa fa-apple fa-3x\"}),_c('span',{staticClass:\"df\"},[_vm._v(\"Download For\")]),_c('span',{staticClass:\"dfn\"},[_vm._v(\"IOS / IPAD\")])])]):_vm._e(),(_vm.systemParameters && _vm.systemParameters.WindowsAppUpdateURL)?_c('li',{staticClass:\"download-btn-list-item\"},[_c('a',{staticClass:\"download windows\",attrs:{\"href\":_vm.systemParameters.WindowsAppUpdateURL,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fa fa fa-windows fa-3x\"}),_c('span',{staticClass:\"df\"},[_vm._v(\"Download For\")]),_c('span',{staticClass:\"dfn\"},[_vm._v(\"Windows\")])])]):_vm._e(),(_vm.systemParameters && _vm.systemParameters.MacAppUpdateURL)?_c('li',{staticClass:\"download-btn-list-item\"},[_c('a',{staticClass:\"download apple\",attrs:{\"href\":_vm.systemParameters.MacAppUpdateURL,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fa fa fa-apple fa-3x\"}),_c('span',{staticClass:\"df\"},[_vm._v(\"Download For\")]),_c('span',{staticClass:\"dfn\"},[_vm._v(\"Mac\")])])]):_vm._e()])]):((_vm.content[_vm.contentId] || !_vm.loading)  && _vm.contentData  )?_c('div',{class:'chapter-content has-floating-menu '+(_vm.contentData.type == 'FreeText'?' freeTextContent ': _vm.contentData.type)},[(_vm.contentData.type != 'FreeText' && _vm.contentData.type.toLowerCase() != 'quiz')?_c('div',{staticClass:\"floating-menu\"},[_c('div',{staticClass:\"floating-icons\"},[_c('a',{class:'float-icon bookmark-icon animate__animated '+(_vm.bookmarks[_vm.contentId]=='true'?' active animate__bounceIn':''),on:{\"click\":function($event){return _vm.setBookmark()}}},[_c('i',{class:'fa fa-lg '+(_vm.bookmarks[_vm.contentId]=='true'?' fa-bookmark':' fa-bookmark-o')})]),_c('a',{staticClass:\"float-icon calculator-icon\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){_vm.showCalculator = true}}},[_c('img',{attrs:{\"src\":require(\"../../assets/images/calculator-icon.svg\")}})]),(_vm.isAllowDownloadStudyMaterial)?_c('a',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.left\",modifiers:{\"hover\":true,\"left\":true}}],staticClass:\"float-icon calculator-icon downloadfile\",staticStyle:{\"height\":\"auto\"},attrs:{\"role\":\"button\",\"title\":_vm.tooltipMessage},on:{\"click\":_vm.handleDownloadDocumentButtonClick}},[(!_vm.isDownloading && !_vm.isDownloaded)?_c('i',{staticClass:\"fa fa-download\"}):(_vm.isDownloading)?_c('span',{staticClass:\"downloading-progress\"},[_vm._v(\" \"+_vm._s(_vm.downloadProgress)+\"% \"),_c('b-progress',{staticStyle:{\"height\":\"0.25rem\",\"margin-bottom\":\"0.25rem\"},attrs:{\"value\":_vm.downloadProgress,\"max\":100}})],1):_c('i',{staticClass:\"fa fa-check text-success\"})]):_vm._e()])]):_vm._e(),_c('Calculator',{attrs:{\"visible\":this.showCalculator},on:{\"updateModalState\":_vm.toggleCalculator}}),_c('div',{staticClass:\"chapter-content-left\"},[(_vm.contentData.type=='RecordedVideos')?_c('div',[_c('RecordedVideo',{attrs:{\"contentData\":_vm.contentData}})],1):(_vm.contentData.type=='StudyMaterial')?_c('div',{staticStyle:{\"height\":\"inherit\"}},[_c('StudyMaterial',{attrs:{\"contentData\":_vm.contentData}})],1):(_vm.contentData.type=='Flashcards')?_c('div',{staticStyle:{\"height\":\"inherit\"}},[_c('Flashcards',{attrs:{\"contentData\":_vm.contentData}})],1):(_vm.contentData.type=='FreeText')?_c('div',{staticStyle:{\"height\":\"inherit\"}},[_c('FreeText',{attrs:{\"isShowFloatingOptions\":true,\"isBookmarked\":_vm.bookmarks[_vm.contentId]=='true',\"contentData\":_vm.contentData},on:{\"setContentBookmarked\":_vm.setBookmark}})],1):(_vm.contentData.type=='LiveClass')?_c('div',{staticStyle:{\"height\":\"inherit\"}},[_c('LiveClass',{attrs:{\"productVariantData\":_vm.selectedProductVariant,\"contentData\":_vm.contentData}})],1):(_vm.contentData.type=='Exam')?_c('div',[_c('Exam',{attrs:{\"contentData\":_vm.contentData}})],1):(_vm.contentData.type=='Assignment')?_c('div',[_c('Assignment',{attrs:{\"contentData\":_vm.contentData}})],1):(_vm.contentData.type.toLowerCase()=='quiz')?_c('div',[_c('Quiz',{attrs:{\"contentData\":_vm.contentData}})],1):_c('div')])],1):(( (_vm.loading || !_vm.contentData) && !_vm.content[_vm.contentId]))?_c('div',{staticClass:\"loading-div\"},[_c('b-spinner',{staticClass:\"loader\"})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"login-webDisabled\" v-if=\"showWebDisabledModel\">\n\t\t<h1 class=\"heading-bold-20\">Please download app for your device to access content.</h1>\n\t\t<ul class=\"download-btn-list\">\n\t\t\t<li class=\"download-btn-list-item\" v-if=\"systemParameters && systemParameters.AndroidAppUpdateUrl\">\n\t\t\t\t<a :href=\"systemParameters.AndroidAppUpdateUrl\" class=\"download android\" target=\"_blank\">\n\t\t\t\t\t<i class=\"fa fa-android fa-3x\"></i>\n\t\t\t\t\t<span class=\"df\">Download For</span>\n\t\t\t\t\t<span class=\"dfn\">Android</span>\n\t\t\t\t</a>\n\t\t\t</lI>\n\t\t\t<li class=\"download-btn-list-item\" v-if=\"systemParameters && systemParameters.IOSAppUpdateUrl\">\n\t\t\t\t<a :href=\"systemParameters.IOSAppUpdateUrl\" class=\"download apple\" target=\"_blank\">\n\t\t\t\t\t<i class=\"fa fa fa-apple fa-3x\"></i>\n\t\t\t\t\t<span class=\"df\">Download For</span>\n\t\t\t\t\t<span class=\"dfn\">IOS / IPAD</span>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li class=\"download-btn-list-item\" v-if=\"systemParameters && systemParameters.WindowsAppUpdateURL\">\n\t\t\t\t<a class=\"download windows\" :href=\"systemParameters.WindowsAppUpdateURL\" target=\"_blank\">\n\t\t\t\t\t<i class=\"fa fa fa-windows fa-3x\"></i>\n\t\t\t\t\t<span class=\"df\">Download For</span>\n\t\t\t\t\t<span class=\"dfn\">Windows</span>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li class=\"download-btn-list-item\" v-if=\"systemParameters && systemParameters.MacAppUpdateURL\">\n\t\t\t\t<a :href=\"systemParameters.MacAppUpdateURL\" target=\"_blank\" class=\"download apple\">\n\t\t\t\t\t<i class=\"fa fa fa-apple fa-3x\"></i>\n\t\t\t\t\t<span class=\"df\">Download For</span>\n\t\t\t\t\t<span class=\"dfn\">Mac</span>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n\t<div v-else-if=\"(content[contentId] || !loading)  && contentData  \" :class=\"'chapter-content has-floating-menu '+(contentData.type == 'FreeText'?' freeTextContent ': contentData.type)\" >\n\n\t\t<div v-if=\"contentData.type != 'FreeText' && contentData.type.toLowerCase() != 'quiz'\" class=\"floating-menu\" >\n\t\t\t<div class=\"floating-icons\">\n\t\t\t\t<a @click=\"setBookmark()\" :class=\"'float-icon bookmark-icon animate__animated '+(bookmarks[contentId]=='true'?' active animate__bounceIn':'')\">\n\t\t\t\t\t<i :class=\"'fa fa-lg '+(bookmarks[contentId]=='true'?' fa-bookmark':' fa-bookmark-o')\"></i>\n\t\t\t\t</a>\n\t\t\t\t<a role=\"button\" @click=\"showCalculator = true\" class=\"float-icon calculator-icon\">\n\t\t\t\t\t<img src=\"../../assets/images/calculator-icon.svg\">\n\t\t\t\t</a>\n\t\t\t\t<a role=\"button\" v-if=\"isAllowDownloadStudyMaterial\" @click=\"handleDownloadDocumentButtonClick\"\n\t\t\t\t\tclass=\"float-icon calculator-icon downloadfile\" v-b-tooltip.hover.left :title=\"tooltipMessage\"\n          style=\"height: auto;\">\n\t\t\t\t\t<i v-if=\"!isDownloading && !isDownloaded\" class=\"fa fa-download\"></i>\n\t\t\t\t\t<span v-else-if=\"isDownloading\" class=\"downloading-progress\">\n            {{ downloadProgress }}%\n            <b-progress :value=\"downloadProgress\" :max=\"100\" style=\"height: 0.25rem; margin-bottom: 0.25rem;\"></b-progress>\n          </span>\n\t\t\t\t\t<i v-else class=\"fa fa-check text-success\"></i>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<Calculator \n\t\t\t:visible=\"this.showCalculator\" \n\t\t\t@updateModalState=\"toggleCalculator\" />\n\n\t\t<div class=\"chapter-content-left\">\n\n\t\t\t<div v-if=\"contentData.type=='RecordedVideos'\">\n\t\t\t\t<RecordedVideo :contentData=\"contentData\"></RecordedVideo>\n\t\t\t</div>\n\t\t\t<div v-else-if=\"contentData.type=='StudyMaterial'\" style=\"height: inherit;\">\n\t\t\t\t<StudyMaterial :contentData=\"contentData\"></StudyMaterial>\n\t\t\t</div>\n\t\t\t<div v-else-if=\"contentData.type=='Flashcards'\" style=\"height: inherit;\">\n\t\t\t\t<Flashcards :contentData=\"contentData\"></Flashcards>\n\t\t\t</div>\n\n\t\t\t<div v-else-if=\"contentData.type=='FreeText'\" style=\"height: inherit;\">\n\t\t\t\t<FreeText \n\t\t\t\t\t:isShowFloatingOptions=\"true\" \n\t\t\t\t\t:isBookmarked=\"bookmarks[contentId]=='true'\"\n\t\t\t\t\t:contentData=\"contentData\" \n\t\t\t\t\t@setContentBookmarked=\"setBookmark\"\n\t\t\t\t\t></FreeText>\n\t\t\t</div>\n\t\t\t<div v-else-if=\"contentData.type=='LiveClass'\" style=\"height: inherit;\">\n\t\t\t\t<LiveClass \n\t\t\t\t:productVariantData=\"selectedProductVariant\" \n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t></LiveClass>\n\t\t\t</div>\n\t\t\t<div v-else-if=\"contentData.type=='Exam'\">\n\t\t\t\t<Exam \n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t></Exam>\n\t\t\t</div>\n\t\t\t<div v-else-if=\"contentData.type=='Assignment'\">\n\t\t\t\t<Assignment \n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t></Assignment>\n\t\t\t</div>\n\t\t\t<div v-else-if=\"contentData.type.toLowerCase()=='quiz'\">\n\n\t\t\t\t<Quiz \n\n\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t></Quiz>\n\t\t\t</div>\n\t\t\t<div v-else>\n\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div v-else-if=\"( (loading || !contentData) && !content[contentId])\"  class=\"loading-div\">\n\t\t<b-spinner class=\"loader\"> </b-spinner>\n\t</div>\n</template>\n\n<script>\n\nimport { default as download } from 'downloadjs';\nimport { mapState, mapActions, mapMutations } from \"vuex\";\nimport { contentService } from \"./../../services/content.service\";\nimport { ContentType } from \"../../constants/content\";\nimport RecordedVideo from \"./Content/RecordedVideo.vue\";\nimport StudyMaterial from \"./Content/StudyMaterial\";\nimport { LegacyExam } from \"../../constants/exam\";\nimport { getCookie } from \"../../helpers/CookieHelpers\";\nimport { ServiceCodes } from \"../../constants/serviceCodes\";\nimport Flashcards from \"./Content/Flashcards.vue\";\nimport FreeText from \"./Content/FreeText.vue\";\nimport Calculator from \"./Calculator.vue\"\nimport LiveClass from './Content/LiveClass.vue';\nimport Exam from './Content/Exam.vue';\n\nimport Assignment from \"./Content/Assignment.vue\";\nimport Quiz from \"../../components/Content/Quiz.vue\";\nimport streamSaver from 'streamsaver';\nexport default {\n\tname: \"ProductContentView\",\n\tdata() {\n\t\treturn {\n\t\t\tcontentId: null,\n\t\t\tcontentData: null,\n\t\t\tshowWebDisabledModel: false,\n\t\t\tproductVariantId:null,\n\t\t\tshowCalculator: false,\n\t\t\tbookmarks:[],\n\t\t\tisDownloading: false,\n\t\t\tisDownloaded: false,\n\t\t\tdownloadProgress: 0,\n\t\t\ttooltipMessage: 'Click to download',\n\t\t};\n\t},\n\tcomponents: {\n\t\tRecordedVideo,\n\t\tStudyMaterial,\n\t\tFlashcards, \n\t\tFreeText, \n\t\tCalculator, \n\t\tLiveClass, \n\t\tExam, Assignment,Quiz\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getContentById\",\"setUserContentAction\",\"getUserContentAction\"]),\n\t\t...mapActions(\"content\", [\"updateAction\"]),\n\t\tasync handleDownloadDocumentButtonClick(e) {\n\t\t\tif(!this.isAllowDownloadStudyMaterial){\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.isDownloading) {\n\t\t\t\tthis.tooltipMessage = 'File is already downloading...';\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.isDownloading = true;\n\t\t\tthis.downloadProgress = 0;\n\t\t\tthis.tooltipMessage = 'Downloading...';\n\n      const abortController = new AbortController(); // Create AbortController\n      const signal = abortController.signal;\n\n      let writer;\n\t\t\ttry {\n\t\t\t\tconst response = await fetch(this.contentData.data?.Source, { method: 'GET', signal });\n\t\t\t\tconst totalLength = +response.headers.get('Content-Length') || 0;\n\n\t\t\t\tif (!response.ok) {\n          console.error(`Failed to download: ${response.statusText}`)\n          throw new Error(`Unable to fetch file. ${response.statusCode}`);\n\t\t\t\t}\n\n\t\t\t\tlet fileName = this.contentData.data?.Source.split('/').pop();\n        fileName = fileName.split('?')[0].split('#')[0];  // this will handle cases like \"https://example.com/files/document.pdf?version=2#section2\"\n\n        const fileStream = streamSaver.createWriteStream(fileName);\n\t\t\t\twriter = fileStream.getWriter();\n\t\t\t\tconst reader = response.body.getReader();\n\t\t\t\tlet receivedLength = 0;\n\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst { done, value } = await reader.read();\n\t\t\t\t\tif (done) break;\n\n\t\t\t\t\treceivedLength += value.length;\n\t\t\t\t\tthis.downloadProgress = Math.floor((receivedLength / totalLength) * 100);\n\t\t\t\t\ttry {\n            await writer.write(value);\n          } catch(writeError) {\n            console.error('Error writing to stream', writeError);\n\n            abortController.abort();\n\n            this.isDownloading = false;\n            this.isDownloaded = false;\n            this.tooltipMessage = 'Download cancelled!';\n            this.$toasted.error(\n                `Download cancelled`,\n                {\n                  icon: \"exclamation-triangle\",\n                  theme: \"outline\",\n                  position: \"bottom-right\",\n                  singleton: true,\n                  duration: 5000\n                }\n            );\n            break;\n          }\n\t\t\t\t}\n\n        if(this.isDownloading) {\n          this.isDownloading = false;\n          this.isDownloaded = true;\n          this.downloadProgress = 100;\n          this.tooltipMessage = 'Download complete!';\n        }\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while downloading:', error);\n\n        abortController.abort();\n\n\t\t\t\tthis.isDownloading = false;\n\t\t\t\tthis.tooltipMessage = 'Download failed!';\n\t\t\t\tthis.$toasted.error(\n\t\t\t\t\t`Download failed:  ${error.message}`,\n\t\t\t\t\t{\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-right\",\n\t\t\t\t\t\tsingleton: true,\n            duration: 5000\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} finally {\n        if(writer) {\n          try {\n            await writer.close();\n          } catch (closeError) {\n            console.warn('Failed to close the stream, stream might be already errored or closed:', closeError);\n          }\n        }\n      }\n\t\t},\n\t\tgetContent() {\n\t\t\tif (this.contentId ) {\n\t\t\t\tthis.contentData=null;\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\tif(this.content[this.contentId])\n\t\t\t\t{\n\t\t\t\t\t// if (this.content[this.contentId].type == ContentType.LIVE_CLASS) {\n\t\t\t\t\t// \tthis.contentData = this.content[this.contentId];\n\t\t\t\t\t// \tvar joinURLFromCookies = getCookie(`${this.contentData.id}_${this.user?.id}`);\n\t\t\t\t\t// \tif (joinURLFromCookies) {\n\t\t\t\t\t// \t\twindow.location.href = joinURLFromCookies;\n\t\t\t\t\t// \t\treturn;\n\t\t\t\t\t// \t}else\n\t\t\t\t\t// \t{\n\t\t\t\t\t// \t\tthis.$router.push(this.contentLink);\n\t\t\t\t\t// \t}\n\t\t\t\t\t// }\n\t\t\t\t\t// else \n\t\t\t\t\twindow.document.title=this.content[this.contentId].title;\n\t\t\t\t\tif(this.content[this.contentId].type == ContentType.STUDY_MATERIAL && this.content[this.contentId].externalService.serviceProvider.toLowerCase()!=\"vss\" && this.content[this.contentId].data){\n\t\t\t\t\t\tthis.contentData = this.content[this.contentId];\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\t\n\t\t\t\t\telse if(this.content[this.contentId].type == ContentType.FLASHCARDS){\n\t\t\t\t\t\tthis.contentData = this.content[this.contentId];\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\t\n\t\t\t\t\telse if(this.content[this.contentId].type == ContentType.LIVE_CLASS){\n\t\t\t\t\t\tthis.contentData = this.content[this.contentId];\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\telse if(this.content[this.contentId].type == ContentType.EXAM){\n\t\t\t\t\t\tthis.contentData = this.content[this.contentId];\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\telse if(this.content[this.contentId].type == ContentType.Assignment){\n\t\t\t\t\t\tthis.contentData = this.content[this.contentId];\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t\telse if(this.content[this.contentId].type == ContentType.RECORDED_VIDEOS && this.content[this.contentId].externalService && this.content[this.contentId].externalService.serviceProvider.toLowerCase()!='vss'){\n\t\t\t\t\t\tthis.contentData = this.content[this.contentId];\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\t\n\t\t\t\t}\n\t\t\t\tvar self=this;\n\t\t\t\tthis.getContentById({\n\t\t\t\t\t\tid: this.contentId,\n\t\t\t\t\t\textraParams: { Platform: contentService.getCurrentPlatform(), action: LegacyExam.GET_EXAM_ACTION.VIEW_RESULTS, RedirectUrl: window.location.href },\n\t\t\t\t\t}).then((value) => {\n\t\t\t\t\t\tthis.contentData = this.content[this.contentId];\t\t\t\t\t\t\n\t\t\t\t\t\twindow.document.title=this.content[this.contentId].title;\n\t\t\t\t\t\tthis.processContent();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t},\n\t\t\n\t\tprocessContent(){\n\t\t\tif (this.contentData.type == ContentType.RECORDED_VIDEOS || this.contentData.type == ContentType.STUDY_MATERIAL || this.contentData.type == ContentType.FLASHCARDS || this.contentData.type == ContentType.LIVE_CLASS || this.contentData.type == ContentType.EXAM) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// else if (this.contentData.type == ContentType.EXAM) {\n\t\t\t// \tif (\n\t\t\t// \t\tthis.contentData.externalService.serviceProvider ==\n\t\t\t// \t\tServiceCodes.EXAM.V3ExamSystem\n\t\t\t// \t) {\n\t\t\t// \t\tif (content) {\n\t\t\t// \t\t\tvar examAttemptUrl =\n\t\t\t// \t\t\t\tcontent.data.redirectUrl +\n\t\t\t// \t\t\t\t\"&RedirectUrl=\" +\n\t\t\t// \t\t\t\twindow.location.href;\n\t\t\t// \t\t\twindow.open(examAttemptUrl, \"_blank\");\n\t\t\t// \t\t\t// window.location.href = examAttemptUrl;\n\t\t\t// \t\t\treturn;\n\t\t\t// \t\t}\n\t\t\t\t\t\n\t\t\t// \t\treturn;\n\t\t\t// \t}\n\t\t\t// \tvar data = res.data;\n\t\t\t// \t\tvar examAttemptUrl = `http://examapp.gocbeglobal.com/exam/attempt?TestID=${\n\t\t\t// \t\t\tdata.examID\n\t\t\t// \t\t}&Name=${data.name ?? \"\"}&Email=${data.email ?? \"\"}&UserID=${\n\t\t\t// \t\t\tdata.userID ?? \"\"\n\t\t\t// \t\t}&RedirectUrl=${data.redirectUrl}&Signature=${data.signature}`;\n\t\t\t// \t\twindow.open(examAttemptUrl, \"_blank\");\n\t\t\t// \t\t// window.location.href = examAttemptUrl;\n\t\t\t// \t\treturn;\t\t\t\t\n\t\t\t\t\n\t\t\t// }\n\t\t\t// else if (this.contentData.type == ContentType.LIVE_CLASS) {\n\t\t\t// \tvar joinURLFromCookies = getCookie(`${this.item.id}_${this.user?.id}`);\n\t\t\t// \tif (joinURLFromCookies) {\n\t\t\t// \t\twindow.location.href = joinURLFromCookies;\n\t\t\t// \t\treturn;\n\t\t\t// \t}\n\t\t\t// \tthis.$router.push(this.contentLink);\n\t\t\t// } \n\t\t\telse this.$router.push(this.contentLink);\n\t\t},\t\n\t\tsetBookmark:function()\n\t\t{\n\t\t\tif(this.contentId)\n\t\t\t{ \n\t\t\t\tvar contentAction = {\n\t\t\t\t\tContentID:this.contentId,\n\t\t\t\t\tDataType:\"bookmark\",\n\t\t\t\t\tData:this.bookmarks[this.contentId]?(!(this.bookmarks[this.contentId]==\"true\"))+\"\":\"true\"\n\t\t\t\t}\n\t\t\t\tthis.bookmarks[this.contentId]=this.bookmarks[this.contentId]?(!(this.bookmarks[this.contentId]==\"true\"))+\"\":\"true\";\n\t\t\t\tvar self=this.bookmarks;\n\t\t\t\t\t\tthis.bookmarks=null;\n\t\t\t\t\t\tthis.bookmarks=self;\n\t\t\t\t\n\t\t\t\tthis.setUserContentAction(contentAction).then((action)=>{\n\t\t\t\t\tif(action && action.dataType  && action.dataType.toLowerCase()==\"bookmark\")\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.bookmarks[action.contentID] = action.data;\n\t\t\t\t\t\tvar self=this.bookmarks;\n\t\t\t\t\t\tthis.bookmarks=null;\n\t\t\t\t\t\tthis.bookmarks=self;\n\t\t\t\t\t\tthis.updateAction(action);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\t\n\t\tgetBookmark:function(){\n\t\t\tif(!this.bookmarks[this.contentId])\n\t\t\t{\n\t\t\t\tthis.getUserContentAction({contentId:this.contentId, dataType:\"bookmark\"}).then((userActions)=>{\n\t\t\t\t\tvar userAction = userActions?userActions.find(x=>x.dataType==\"bookmark\"):null;\n\t\t\t\t\tif(userAction)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.bookmarks[userAction.contentID]=userAction.data;\n\t\t\t\t\t\tvar self=this.bookmarks;\n\t\t\t\t\t\tthis.bookmarks=null;\n\t\t\t\t\t\tthis.bookmarks=self;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\ttoggleCalculator(state) {\n\t\t\tif (state !== undefined) {\n\t\t\t\tthis.showCalculator = state;\n\t\t\t} else {\n\t\t\t\tthis.showCalculator = !this.showCalculator;\n\t\t\t}\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"content\",\"loading\",\"contentActions\"]),\t\t\n\t\t...mapState(\"user\", [\"loggedIn\", \"user\"]),\t\n\t\t...mapState(\"appState\", [\"isMobile\", \"systemParameters\"]),\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\n\t\tisDesktopApp() {\n\t\t\treturn window.navigator.userAgent.toLowerCase().indexOf(\"electron\") > -1;\n\t\t},\n\t\tisWebDisabled() {\n\t\t\treturn this.systemParameters && this.systemParameters.IsWebAccessDisabled == '1';\n\t\t},\t\t\n\t\tisAllowDownloadStudyMaterial(){\n\t\t\treturn  (this.contentData && this.contentData.type==ContentType.STUDY_MATERIAL\n\t\t\t&& this.contentData.externalService && this.contentData.externalService.serviceProvider.toLowerCase()=='local' && \n\t\t\tthis.contentData.data && this.contentData.data?.AllowDownload?.toString().toLowerCase() == \"true\") ? true : false\n\t\t},\n\n\t\tselectedProductVariant(){\n\t\t\treturn this.productVariants && this.productVariants.items && this.productVariants.items[this.productVariantId + \"\"];\n\t\t},\n\t\tcontentLink() {\n\t\t\tswitch (this.contentData.type) {\n\t\t\t\t// case ContentType.LIVE_CLASS:\n\t\t\t\t// \treturn {\n\t\t\t\t// \t\tpath:\n\t\t\t\t// \t\t\t\"/content/liveclass/\" +\n\t\t\t\t// \t\t\tthis.contentData.title\n\t\t\t\t// \t\t\t\t.toLowerCase()\n\t\t\t\t// \t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t// \t\t\t\t.split(\" \")\n\t\t\t\t// \t\t\t\t.join(\"-\") +\n\t\t\t\t// \t\t\t\"-\" +\n\t\t\t\t// \t\t\tthis.contentData.id +\n\t\t\t\t// \t\t\t\"_\" +\n\t\t\t\t// \t\t\tthis.productVariantId,\n\t\t\t\t// \t};\n\t\t\t\t// case ContentType.ASSIGNMENT:\n\t\t\t\t// \treturn {\n\t\t\t\t// \t\tpath:\n\t\t\t\t// \t\t\t\"/content/assignment/\" +\n\t\t\t\t// \t\t\tthis.contentData.title\n\t\t\t\t// \t\t\t\t.toLowerCase()\n\t\t\t\t// \t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t// \t\t\t\t.split(\" \")\n\t\t\t\t// \t\t\t\t.join(\"-\") +\n\t\t\t\t// \t\t\t\"-\" +\n\t\t\t\t// \t\t\tthis.contentData.id +\n\t\t\t\t// \t\t\t\"_\" +\n\t\t\t\t// \t\t\tthis.productVariantId,\n\t\t\t\t// \t};\n\t\t\t}\n\t\t}\n\t},\n\n\twatch: {\n\t\t$route:function(to,from){\n\t\t\t\n\t\t\tif (this.$route.query.contentId && this.$route.query.contentId!=this.contentId) {\n\n\t\t\t\tif(this.contentData && this.contentData.type==ContentType.RECORDED_VIDEOS)\n\t\t\t\t{\tvar oldCID=this.contentData.id;\n\t\t\t\t\tvar self=this;\n\t\t\t\t\tthis.getUserContentAction({contentId:oldCID}).then((userActions)=>{\n\t\t\t\t\t\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tthis.contentId = this.$route.query.contentId;\n\t\t\t\tthis.getContent();\n\t\t\t}\n\t\t\t\n\t\t\tif (this.$route.query.tab && this.$route.query.tab!=this.currentTab) {\n\t\t\t\tvar oldTab=this.currentTab??\"\";\n\t\t\t\tvar newTab=this.$route.query.tab;\n\t\t\t\tif(oldTab.toLowerCase()==\"bookmarks\" && newTab.toLowerCase()==\"tableofcontents\")\n\t\t\t\t{\n\t\t\t\t\tthis.bookmarks[this.contentId]=null;\n\t\t\t\t\tthis.getBookmark();\n\t\t\t\t}\n\t\t\t\tthis.currentTab=newTab;\n\t\t\t}\n\t\t},\n\t\tcontentId:function(){\n\t\t\tthis.getBookmark();\n\t\t\n\t\t},\n\t\tcontentActions:function(){\n\t\t}\n\t},\n\tcreated() {\n\t\tif (!this.isDesktopApp && this.isWebDisabled) {\n\t\t\tthis.showWebDisabledModel = true;\n\t\t\treturn;\n\t\t}\n\t\tif (this.$route.query.contentId) {\n\t\t\tthis.contentId = this.$route.query.contentId;\n\t\t\tthis.getContent();\n\t\t}\n\t\tthis.productVariantId=this.$route.params.id;\n\t},\n\tmounted() {\n\t}\n};\n</script>\n\n<style scoped>\n.chapter-content{\n\tpadding: 20px;\n\theight: inherit; \n\toverflow: auto;\n  }\n  .chapter-content.has-floating-menu{\n\tposition: relative;\n  }\n  .chapter-content.freeTextContent \n  {\n\t/* padding-right: 0px; */\n  }\n  .chapter-content.Flashcards,\n  .chapter-content.RecordedVideos,\n  .chapter-content.Quiz,\n  .chapter-content.StudyMaterial{\n\tpadding:0;\n  }\n\n\n  .chapter-content.freeTextContent .chapter-content-left\n  {\n\t/* padding-right: 0px; */\n  }\n  .chapter-content.Quiz .chapter-content-left\n  {\n\tpadding: 0px;\n\theight: 100%;\n  }\n  .chapter-content.Quiz .chapter-content-left div\n  {\n\theight: 100%;\n  }\n  \n  .StudyMaterial .chapter-content-left{\n\theight: 100%;\n  }\n\n.loading-div {\n\twidth: 100%;\n\theight: 50vh;\n}\n\n.loading-div .loader {\n\ttop: 50%;\n\tleft: 50%;\n\tposition: absolute;\n}\n\n.login-webDisabled {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: column;\n\tmargin: auto;\n\tpadding: 0 7% 0;\n}\n\n.download-btn-list {\n\ttext-align: center;\n\tmargin: 0;\n\tpadding: 0;\n\tdisplay: inline;\n}\n\n.download-btn-list-item {\n\tdisplay: inline;\n}\n\n.download-btn-list-item a {\n\tmargin: 10px;\n}\n\n.download {\n\twidth: 200px;\n\theight: 70px;\n\tbackground: black;\n\tfloat: left;\n\tborder-radius: 5px;\n\tposition: relative;\n\tcolor: #fff;\n\tcursor: pointer;\n\tborder: 1px solid #fff;\n}\n\n.download>.fa {\n\tcolor: #fff;\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 15px;\n\ttransform: translateY(-50%);\n}\n\n.df,\n.dfn {\n\tposition: absolute;\n\tleft: 60px;\n\twidth: 50%;\n}\n\n.df {\n\ttop: 16px;\n\tfont-size: 12px;\n}\n\n.dfn {\n\ttop: 28px;\n\tfont-size: 18px;\n}\n\n.download:hover {\n\t-webkit-filter: invert(100%);\n\tfilter: invert(100%);\n}\n.downloadfile{\n\ttext-decoration: none;\n}\n.downloading-progress{\n\tfont-size: 12px;\n}\n@media (max-width: 768px){\n\t.chapter-content{\n\t\tpadding: 15px;\n\t}\n\t.chapter-content.Assignment{\n\t\tpadding: 0;\n\t}\n}\n</style>\n<style>\n.chapter-content.Quiz .chapter-content-left .MainQuiz-Box\n  {\n\theight: 100% !important; \n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n  }\n  .chapter-content.Quiz .chapter-content-left .MainQuiz-Box .center-section\n  {\n\tflex: 1;\n  }\n  \n  .chapter-content.Quiz .chapter-content-left .div-box\n  {\n\theight: 100%;\n  }\n \n  </style>","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentView.vue?vue&type=template&id=f21a3162&scoped=true&\"\nimport script from \"./ProductContentView.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentView.vue?vue&type=style&index=0&id=f21a3162&prod&scoped=true&lang=css&\"\nimport style1 from \"./ProductContentView.vue?vue&type=style&index=1&id=f21a3162&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"f21a3162\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"create-productVariant-feedback-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"create-productVariant-feedback-modal\",\"size\":\"lg\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState')}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('div',[_c('div',{staticClass:\"mb-3\"},[_c('h1',{staticClass:\"add-enroll-title\"},[_vm._v(\"Provide Your Feedback\")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-12 mt-4\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"address\"}},[_vm._v(\"Rating (required)\")]),_c('star-rating',{attrs:{\"star-size\":25},model:{value:(_vm.rating),callback:function ($$v) {_vm.rating=$$v},expression:\"rating\"}})],1),_c('div',{staticClass:\"col-lg-12 mt-4\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"address\"}},[_vm._v(\"Your Feedback (optional)\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.review),expression:\"review\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"placeholder\":\"Enter Review here...\"},domProps:{\"value\":(_vm.review)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.review=$event.target.value}}})])])]),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.loading || !_vm.rating},on:{\"click\":function($event){return _vm.addProductVariantFeedback()}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Submit \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-modal\n    id=\"create-productVariant-feedback-modal\"\n    @change=\"$emit('updateModalState')\"\n    :visible=\"visible\"\n    hide-header\n    centered\n    content-class=\"create-productVariant-feedback-modal\"\n    size=\"lg\"\n    body-class=\"modal-body\"\n    hide-footer\n    modal-class=\"custom-modal\"\n    no-close-on-backdrop\n  >\n    <div class=\"body-container\">\n      <button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n        <img src=\"@/assets/images/cancel-icon.svg\" />\n      </button>\n      <div>\n        <div class=\"mb-3\">\n          <h1 class=\"add-enroll-title\">Provide Your Feedback</h1>\n        </div>\n        <div class=\"row\">\n          <div class=\"col-lg-12 mt-4\">\n            <label for=\"address\" class=\"main-label\">Rating (required)</label>\n            <star-rating v-bind:star-size=\"25\" v-model=\"rating\"></star-rating>\n          </div>\n          <div class=\"col-lg-12 mt-4\">\n            <label for=\"address\" class=\"main-label\">Your Feedback (optional)</label>\n            <textarea\n              type=\"search\"\n              class=\"form-input\"\n              placeholder=\"Enter Review here...\"\n              v-model=\"review\"\n            ></textarea>\n          </div>\n        </div>\n      </div>\n      <div class=\"step-btn-container\">\n        <button\n          @click=\"addProductVariantFeedback()\"\n          role=\"button\"\n          class=\"step-btn\"\n          :disabled=\"loading || !rating\"\n        >\n          <b-spinner v-if=\"loading\" small> </b-spinner>\n          Submit\n          <i class=\"fas fa-long-arrow-alt-right\"></i>\n        </button>\n      </div>\n    </div>\n  </b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport StarRating from \"vue-star-rating\";\nimport Vue from \"vue\";\n\nexport default {\n  name: \"ProductVariantFeedbackModal\",\n  components: {\n    StarRating,\n  },\n\n  data() {\n    return {\n      rating: null,\n      review: null,\n      loading: false,\n      productVariantData: {},\n    };\n  },\n  computed: {\n    visible() {\n      return this.showModal;\n    },\n  },\n  props: {\n    showModal: Boolean,\n    productVariant: Object,\n  },\n  methods: {\n    ...mapActions(\"productVariant\", [\"createProductVariantFeedback\"]),\n\n    closeModal() {\n      this.$emit(\"updateModalState\", false);\n    },\n\n    async addProductVariantFeedback() {\n      this.loading = true;\n      this.productVariantData.ratingPoint = this.rating;\n      this.productVariantData.review = this.review ? this.review : undefined;\n      this.productVariantData.productVariantID = this.productVariant.id;\n      // this.productVariantData.productVariantID = \"160\";\n\n      var data = await this.createProductVariantFeedback(\n        JSON.stringify(this.productVariantData)\n      )\n        .then(() => {\n          this.productVariantData.ratingPoint = null;\n          this.productVariantData.review = null;\n          this.rating = null;\n          this.review = null;\n          this.loading = false;\n          this.closeModal();\n          Vue.toasted.success(\"Feedback Added Successful\", {\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n          });\n        })\n        .catch(() => {\n          this.loading = false;\n        });\n    },\n  },\n\n  async created() {},\n};\n</script>\n\n<style>\n.vue-star-rating-rating-text {\n  font-size: 0px;\n}\n\n.create-productVariant-feedback-modal {\n  min-height: 36.375rem;\n  width: 70vw;\n}\n\n.create-productVariant-feedback-modal .modal-body {\n  display: flex;\n  flex-direction: row;\n  padding: 0 !important;\n  font-size: 1rem;\n}\n\n.confirm-modal-body {\n  padding: 1rem !important;\n  font-size: 1.125rem;\n}\n.create-productVariant-feedback-modal .body-container {\n  display: flex;\n  flex-direction: column;\n  padding: 2.5rem 2.5rem 1.5rem;\n  width: 100%;\n}\n\n.create-productVariant-feedback-modal .add-enroll-title {\n  text-transform: capitalize;\n  font-weight: 450;\n  font-size: 2rem;\n  line-height: 0.75;\n  margin: 0.5rem 0 1rem;\n  color: #000000;\n}\n\n.create-productVariant-feedback-modal .main-label {\n  font-weight: 500;\n  font-size: 1rem;\n  line-height: 1.37;\n  text-transform: uppercase;\n  color: #727272;\n  margin-bottom: 1rem;\n}\n\n.create-productVariant-feedback-modal .form-input {\n  border: 0;\n  border-bottom: 1.5px solid #b2b2b2;\n  font-size: 1rem;\n  outline: none;\n  padding: 0 0 0.875rem;\n  /* max-width: 21.625rem; */\n  width: 100%;\n  border-radius: 0;\n  box-shadow: none !important;\n  position: relative;\n  height: 40px;\n}\n\n.create-productVariant-feedback-modal .upload-btn-wrapper {\n  width: 11rem;\n  max-width: 11rem;\n  max-height: 11rem;\n  height: 10rem;\n  position: relative;\n  overflow: hidden;\n  background: #f5f5f5;\n  box-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n  border-radius: 8px;\n  padding: 2rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.upload-btn-wrapper.preview {\n  padding: 0;\n}\n\n#preview {\n  max-width: 100%;\n}\n\n.upload-btn {\n  padding: 0.5rem 1.25rem;\n  font-weight: bold;\n  cursor: pointer;\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  border-radius: 6px;\n  text-transform: uppercase;\n  color: #000000;\n  font-weight: normal;\n}\n\n.input-icon-right {\n  /* position: absolute; */\n  font-size: 1.25rem;\n  right: 0rem;\n  margin-top: 0.5rem;\n  cursor: pointer;\n}\n\n.create-productVariant-feedback-modal .upload-btn-wrapper .right-menu {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 1rem;\n  transition: opacity 0.3s, visibility 0s ease;\n  visibility: hidden;\n  opacity: 0;\n  position: absolute;\n}\n\n.create-productVariant-feedback-modal .upload-btn-wrapper:hover .right-menu {\n  visibility: visible;\n  opacity: 1;\n}\n\n.create-productVariant-feedback-modal .upload-btn-wrapper .right-menu-icon {\n  width: 2rem;\n  height: 2rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: #ffffff;\n  border: 0.8px solid #cbcbcb;\n  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n  border-radius: 50%;\n}\n\n.create-productVariant-feedback-modal .upload-btn-wrapper .right-menu-icon img {\n  width: 1rem;\n  height: 1rem;\n}\n\n.create-productVariant-feedback-modal\n  .upload-btn-wrapper\n  .right-menu-icon.delete {\n  border-color: #ff0000;\n}\n\n.create-productVariant-feedback-modal #profilePicturePath {\n  pointer-events: none;\n}\n\n.create-productVariant-feedback-modal .form-input.error {\n  color: var(--color-danger) !important;\n  border-color: var(--color-danger) !important;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductVariantFeedbackModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductVariantFeedbackModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductVariantFeedbackModal.vue?vue&type=template&id=13fdfcdd&\"\nimport script from \"./ProductVariantFeedbackModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductVariantFeedbackModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductVariantFeedbackModal.vue?vue&type=style&index=0&id=13fdfcdd&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"profile-edit-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"profile-edit-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"ok-title\":\"Update\",\"footer-class\":\"edit-modal-footer\",\"ok-disabled\":_vm.disabled(),\"no-close-on-backdrop\":\"\"},on:{\"keydown\":_vm.closeModal,\"ok\":_vm.updateProfile,\"cancel\":_vm.closeModal}},[_c('div',{staticClass:\"top-icon\"},[_c('div',{staticClass:\"profile-edit-circle\"},[_c('i',{staticClass:\"far fa-user\"})]),_c('h1',{staticClass:\"edit-modal-title mt-2\"},[_vm._v(\"Change Password\")])]),_c('div',{staticClass:\"modal-content-container\"},[_c('form',{staticClass:\"edit-profile-form\"},[_c('div',{staticClass:\"form-group row g-3\"},[_c('div',{staticClass:\"col-md-6\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"confirmPassword\"}},[_vm._v(\"Old Password\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.oldPassword),expression:\"oldPassword\"}],staticClass:\"form-control edit-profile-input\",attrs:{\"type\":\"password\",\"id\":\"confirmPassword\",\"placeholder\":\"Enter your old password\",\"autocomplete\":\"\"},domProps:{\"value\":(_vm.oldPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.oldPassword=$event.target.value}}})]),_c('div',{staticClass:\"col-md-6\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"password\"}},[_vm._v(\"New Password\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newPassword),expression:\"newPassword\"}],staticClass:\"form-control edit-profile-input\",attrs:{\"type\":\"password\",\"id\":\"password\",\"placeholder\":\"Enter new password\",\"autocomplete\":\"\"},domProps:{\"value\":(_vm.newPassword)},on:{\"keydown\":_vm.update,\"input\":function($event){if($event.target.composing){ return; }_vm.newPassword=$event.target.value}}})])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\tid=\"profile-edit-modal\"\n\t\t@keydown=\"closeModal\"\n\t\t:visible=\"visible\"\n\t\thide-header\n\t\tcentered\n\t\tcontent-class=\"profile-edit-modal\"\n\t\tsize=\"xl\"\n\t\tbody-class=\"modal-body\"\n\t\tok-title=\"Update\"\n\t\tfooter-class=\"edit-modal-footer\"\n\t\t:ok-disabled=\"disabled()\"\n\t\t@ok=\"updateProfile\"\n\t\tno-close-on-backdrop\n\t\t@cancel=\"closeModal\"\n\t>\n\t\t<div class=\"top-icon\">\n\t\t\t<div class=\"profile-edit-circle\"><i class=\"far fa-user\"></i></div>\n\t\t\t<h1 class=\"edit-modal-title mt-2\">Change Password</h1>\n\t\t</div>\n\t\t<div class=\"modal-content-container\">\n\t\t\t<form class=\"edit-profile-form\">\n\t\t\t\t<div class=\"form-group row g-3\">\n\t\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t\t<label for=\"confirmPassword\" class=\"form-label\">Old Password</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\tclass=\"form-control edit-profile-input\"\n\t\t\t\t\t\t\tid=\"confirmPassword\"\n\t\t\t\t\t\t\tv-model=\"oldPassword\"\n\t\t\t\t\t\t\tplaceholder=\"Enter your old password\"\n\t\t\t\t\t\t\tautocomplete\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t\t<label for=\"password\" class=\"form-label\">New Password</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\tclass=\"form-control edit-profile-input\"\n\t\t\t\t\t\t\tid=\"password\"\n\t\t\t\t\t\t\tv-model=\"newPassword\"\n\t\t\t\t\t\t\tplaceholder=\"Enter new password\"\n\t\t\t\t\t\t\t@keydown=\"update\"\n\t\t\t\t\t\t\tautocomplete\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n\tname: \"EditProfileModal\",\n\tdata() {\n\t\treturn {\n\t\t\tchangePassword: true,\n\t\t\tnewPassword: \"\",\n\t\t\toldPassword: \"\",\n\t\t\tupdatedUserData: {},\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"loading\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t},\n\tprops: { showModal: Boolean, profileData: Object },\n\tcreated() {\n\t\tthis.newPassword = \"\";\n\t\tthis.oldPassword = \"\";\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\n\t\t\t\"updateUserProfile\",\n\t\t\t\"changeUserPassword\",\n\t\t\t\"fetchCurrentUser\",\n\t\t]),\n\t\tupdateProfile(e) {\n\t\t\te.preventDefault();\n\t\t\tconsole.log(\"updateProfile\");\n\t\t\tif (this.changePassword) {\n\t\t\t\tif (this.oldPassword !== this.newPassword) {\n\t\t\t\t\tthis.updatedUserData.newPassword = this.newPassword;\n\t\t\t\t\tthis.updatedUserData.oldPassword = this.oldPassword;\n\t\t\t\t\tthis.changeUserPassword(this.updatedUserData).then((res) => {\n\t\t\t\t\t\tthis.closeModal();\n\t\t\t\t\t\tthis.$toasted.success(\"Password updated successfully\", {\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// alert(\"New password cannot be the same as old password\");\n\t\t\t\t\tthis.$toasted.error(\n\t\t\t\t\t\t\"New password cannot be the same as old password\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tupdate(e) {\n\t\t\tvar data = e.target.value;\n\t\t\tthis.updatedUserData[e.target.id] = data;\n\t\t},\n\t\tdisabled() {\n\t\t\tif (this.loading) return true;\n\t\t\treturn Object.entries(this.updatedUserData).length == 0;\n\t\t},\n\t\tcloseModal() {\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t},\n\t},\n\twatch: {\n\t\tnewPassword: function (newVal, oldVal) {\n\t\t\tif (oldVal !== \"\") {\n\t\t\t\t// this.disabled = false;\n\t\t\t\tthis.changePassword = true;\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChangePasswordModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChangePasswordModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChangePasswordModal.vue?vue&type=template&id=5d27220d&\"\nimport script from \"./ChangePasswordModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ChangePasswordModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"profile-edit-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"profile-edit-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"ok-title\":\"Update\",\"footer-class\":\"edit-modal-footer\",\"ok-disabled\":_vm.disabled(),\"no-close-on-backdrop\":\"\"},on:{\"keydown\":_vm.closeModal,\"ok\":_vm.updateProfile,\"cancel\":_vm.closeModal}},[_c('div',{staticClass:\"top-icon\"},[_c('div',{staticClass:\"profile-edit-circle\"},[_c('i',{staticClass:\"far fa-user\"})]),_c('h1',{staticClass:\"edit-modal-title mt-2\"},[_vm._v(\"Edit Profile\")])]),_c('div',{staticClass:\"modal-content-container\"},[_c('form',{staticClass:\"edit-profile-form\"},[_c('div',{staticClass:\"form-group row g-3\"},[_c('div',{staticClass:\"col-md-6\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"firstName\"}},[_vm._v(\"First Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.firstName),expression:\"firstName\"}],staticClass:\"form-control edit-profile-input\",attrs:{\"type\":\"search\",\"id\":\"firstName\",\"placeholder\":\"First Name\"},domProps:{\"value\":(_vm.firstName)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.firstName=$event.target.value},_vm.update]}})]),_c('div',{staticClass:\"col-md-6\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"lastName\"}},[_vm._v(\"Last Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.lastName),expression:\"lastName\"}],staticClass:\"form-control edit-profile-input\",attrs:{\"type\":\"search\",\"id\":\"lastName\",\"placeholder\":\"Last Name\"},domProps:{\"value\":(_vm.lastName)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.lastName=$event.target.value},_vm.update]}})])]),_c('div',{staticClass:\"form-group row g-3\"},[_c('div',{staticClass:\"col-md-12\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"email\"}},[_vm._v(\"Username\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],staticClass:\"form-control edit-profile-input\",attrs:{\"type\":\"search\",\"id\":\"username\",\"placeholder\":\"username123\"},domProps:{\"value\":(_vm.username)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.username=$event.target.value},_vm.update]}})])]),_c('div',{staticClass:\"form-group row g-3\"},[_c('div',{staticClass:\"col-md-6\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"email\"}},[_vm._v(\"Email address\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"}],staticClass:\"form-control edit-profile-input\",attrs:{\"type\":\"email\",\"id\":\"email\",\"placeholder\":\"name@example.com\",\"disabled\":\"\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value}}})]),_c('div',{staticClass:\"col-md-6\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"mobile\"}},[_vm._v(\"Phone Number\")]),_c('vue-tel-input',{ref:\"phoneInput\",class:(\"form-control edit-profile-input  \" + (_vm.isPhoneError && _vm.showError ? 'error' : '')),attrs:{\"inputOptions\":_vm.telInputOptions,\"validCharactersOnly\":\"\",\"defaultCountry\":_vm.profileData.countryCode ? _vm.profileData.countryCode : '',\"autoFormat\":true,\"mode\":\"national\",\"invalidMsg\":\"Please enter a valid phone number\",\"id\":\"mobile\"},on:{\"input\":_vm.validate,\"country-changed\":_vm.changeCountry,\"blur\":function($event){_vm.showError = true},\"focus\":function($event){_vm.showError = false}},model:{value:(_vm.mobile),callback:function ($$v) {_vm.mobile=$$v},expression:\"mobile\"}})],1)]),_c('div',{staticClass:\"form-group row g-3\"},[_c('div',{staticClass:\"col-md-6\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"city\"}},[_vm._v(\"City\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.city),expression:\"city\"}],staticClass:\"form-control edit-profile-input\",attrs:{\"type\":\"search\",\"id\":\"city\"},domProps:{\"value\":(_vm.city)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.city=$event.target.value},_vm.update]}})]),_c('div',{staticClass:\"col-md-6\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"country\"}},[_vm._v(\"Country\")]),_c('v-select',{staticClass:\"form-control edit-profile-input\",attrs:{\"id\":\"country\",\"options\":_vm.countryCodes,\"label\":\"name\",\"reduce\":function (option) { return option['alpha-3']; },\"appendToBody\":true,\"calculate-position\":_vm.withPopper},on:{\"input\":_vm.update},model:{value:(_vm.countryCode),callback:function ($$v) {_vm.countryCode=$$v},expression:\"countryCode\"}})],1)])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<b-modal\n\t\tid=\"profile-edit-modal\"\n\t\t@keydown=\"closeModal\"\n\t\t:visible=\"visible\"\n\t\thide-header\n\t\tcentered\n\t\tcontent-class=\"profile-edit-modal\"\n\t\tsize=\"xl\"\n\t\tbody-class=\"modal-body\"\n\t\tok-title=\"Update\"\n\t\tfooter-class=\"edit-modal-footer\"\n\t\t:ok-disabled=\"disabled()\"\n\t\t@ok=\"updateProfile\"\n\t\tno-close-on-backdrop\n\t\t@cancel=\"closeModal\"\n\t>\n\t\t<div class=\"top-icon\">\n\t\t\t<div class=\"profile-edit-circle\"><i class=\"far fa-user\"></i></div>\n\t\t\t<h1 class=\"edit-modal-title mt-2\">Edit Profile</h1>\n\t\t</div>\n\t\t<div class=\"modal-content-container\">\n\t\t\t<form class=\"edit-profile-form\">\n\t\t\t\t<div class=\"form-group row g-3\">\n\t\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t\t<label for=\"firstName\" class=\"form-label\">First Name</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tclass=\"form-control edit-profile-input\"\n\t\t\t\t\t\t\tid=\"firstName\"\n\t\t\t\t\t\t\tplaceholder=\"First Name\"\n\t\t\t\t\t\t\tv-model=\"firstName\"\n\t\t\t\t\t\t\t@input=\"update\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t\t<label for=\"lastName\" class=\"form-label\">Last Name</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tclass=\"form-control edit-profile-input\"\n\t\t\t\t\t\t\tid=\"lastName\"\n\t\t\t\t\t\t\tplaceholder=\"Last Name\"\n\t\t\t\t\t\t\tv-model=\"lastName\"\n\t\t\t\t\t\t\t@input=\"update\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group row g-3\">\n\t\t\t\t\t<div class=\"col-md-12\">\n\t\t\t\t\t\t<label for=\"email\" class=\"form-label\">Username</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tclass=\"form-control edit-profile-input\"\n\t\t\t\t\t\t\tid=\"username\"\n\t\t\t\t\t\t\tplaceholder=\"username123\"\n\t\t\t\t\t\t\tv-model=\"username\"\n\t\t\t\t\t\t\t@input=\"update\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group row g-3\">\n\t\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t\t<label for=\"email\" class=\"form-label\">Email address</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t\t\tclass=\"form-control edit-profile-input\"\n\t\t\t\t\t\t\tid=\"email\"\n\t\t\t\t\t\t\tplaceholder=\"name@example.com\"\n\t\t\t\t\t\t\tv-model=\"email\"\n\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t\t<label for=\"mobile\" class=\"form-label\">Phone Number</label>\n\t\t\t\t\t\t<vue-tel-input\n\t\t\t\t\t\t\t:class=\"`form-control edit-profile-input  ${\n\t\t\t\t\t\t\t\tisPhoneError && showError ? 'error' : ''\n\t\t\t\t\t\t\t}`\"\n\t\t\t\t\t\t\t:inputOptions=\"telInputOptions\"\n\t\t\t\t\t\t\tvalidCharactersOnly\n\t\t\t\t\t\t\tv-model=\"mobile\"\n\t\t\t\t\t\t\t:defaultCountry=\"\n\t\t\t\t\t\t\t\tprofileData.countryCode ? profileData.countryCode : ''\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t@input=\"validate\"\n\t\t\t\t\t\t\t@country-changed=\"changeCountry\"\n\t\t\t\t\t\t\t@blur=\"showError = true\"\n\t\t\t\t\t\t\t@focus=\"showError = false\"\n\t\t\t\t\t\t\t:autoFormat=\"true\"\n\t\t\t\t\t\t\tmode=\"national\"\n\t\t\t\t\t\t\tinvalidMsg=\"Please enter a valid phone number\"\n\t\t\t\t\t\t\tid=\"mobile\"\n\t\t\t\t\t\t\tref=\"phoneInput\"\n\t\t\t\t\t\t></vue-tel-input>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"form-group row g-3\">\n\t\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t\t<label for=\"city\" class=\"form-label\">City</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tclass=\"form-control edit-profile-input\"\n\t\t\t\t\t\t\tid=\"city\"\n\t\t\t\t\t\t\tv-model=\"city\"\n\t\t\t\t\t\t\t@input=\"update\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t\t<label for=\"country\" class=\"form-label\">Country</label>\n\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\tclass=\"form-control edit-profile-input\"\n\t\t\t\t\t\t\tid=\"country\"\n\t\t\t\t\t\t\tv-model=\"countryCode\"\n\t\t\t\t\t\t\t:options=\"countryCodes\"\n\t\t\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t\t\t:reduce=\"(option) => option['alpha-3']\"\n\t\t\t\t\t\t\t@input=\"update\"\n\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<!-- <h1 class=\"edit-modal-title text-align-center mb-3\">Change Password</h1>\n\n\t\t\t\t<div class=\"form-group row g-3\">\n\t\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t\t<label for=\"confirmPassword\" class=\"form-label\">Old Password</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\tclass=\"form-control edit-profile-input\"\n\t\t\t\t\t\t\tid=\"confirmPassword\"\n\t\t\t\t\t\t\tv-model=\"oldPassword\"\n\t\t\t\t\t\t\tplaceholder=\"Enter your old password\"\n\t\t\t\t\t\t\tautocomplete\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t\t<label for=\"password\" class=\"form-label\">New Password</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\tclass=\"form-control edit-profile-input\"\n\t\t\t\t\t\t\tid=\"password\"\n\t\t\t\t\t\t\tv-model=\"newPassword\"\n\t\t\t\t\t\t\tplaceholder=\"Enter new password\"\n\t\t\t\t\t\t\t@keydown=\"update\"\n\t\t\t\t\t\t\tautocomplete\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div> -->\n\t\t\t</form>\n\t\t</div>\n\t</b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport { countryCodes } from \"../../constants/countryCodes\";\nconst getCountryISO3 = require(\"country-iso-2-to-3\");\nconst getCountryISO2 = require(\"country-iso-3-to-2\");\n\nexport default {\n\tname: \"EditProfileModal\",\n\tdata() {\n\t\treturn {\n\t\t\t...this.profileData,\n\t\t\tfullName: \"\",\n\t\t\tchangePassword: false,\n\t\t\tnewPassword: \"\",\n\t\t\toldPassword: \"\",\n\t\t\tupdatedUserData: {},\n\t\t\tcountryCodes,\n\t\t\tcountry: null,\n\t\t\ttelInputOptions: {\n\t\t\t\tautocomplete: \"on\",\n\t\t\t\tmaxlength: 15,\n\t\t\t\ttabindex: 10,\n\t\t\t\tplaceholder: \"Phone Number (required)\",\n\t\t\t\tmode: \"national\",\n\t\t\t},\n\t\t\tisPhoneError: false,\n\t\t\tshowError: false,\n\t\t\tphone: null,\n\t\t\tmobile: null,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"loading\"]),\n\t\tvisible() {\n\t\t\treturn this.showModal;\n\t\t},\n\t\tgetUserGender() {\n\t\t\tvar extra = this.profileData.extraProperties;\n\t\t\treturn extra.CustomFields.Gender;\n\t\t},\n\t},\n\tprops: { showModal: Boolean, profileData: Object },\n\tcreated() {\n\t\tthis.gender = this.getUserGender;\n\t\t// this.fullName = this.getFullName;\n\t\tthis.newPassword = \"\";\n\t\tthis.oldPassword = \"\";\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\n\t\t\t\"updateUserProfile\",\n\t\t\t\"changeUserPassword\",\n\t\t\t\"fetchCurrentUser\",\n\t\t]),\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\tdropdownList.style.width = width;\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t\tupdateProfile(e) {\n\t\t\te.preventDefault();\n\t\t\tconsole.log(\"updateProfile\");\n\t\t\tif (this.changePassword) {\n\t\t\t\tif (this.oldPassword !== this.newPassword) {\n\t\t\t\t\tthis.updatedUserData.newPassword = this.newPassword;\n\t\t\t\t\tthis.updatedUserData.oldPassword = this.oldPassword;\n\t\t\t\t\tthis.changeUserPassword(this.updatedUserData);\n\t\t\t\t} else {\n\t\t\t\t\t// alert(\"New password cannot be the same as old password\");\n\t\t\t\t\tthis.$toasted.error(\n\t\t\t\t\t\t\"New password cannot be the same as old password\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.updatedUserData.extraProperties = JSON.stringify({\n\t\t\t\t\tUserRegisterExtraFields: { Gender: this.gender },\n\t\t\t\t});\n\t\t\t\tthis.updateUserProfile(this.updatedUserData).then((res) =>\n\t\t\t\t\tthis.fetchCurrentUser().then((user) => {\n\t\t\t\t\t\tthis.closeModal();\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tupdate(e, target) {\n\t\t\tif (target) {\n\t\t\t\tthis.updatedUserData[target] = e;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!e.target) {\n\t\t\t\tthis.updatedUserData[\"countryCode\"] = e;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// console.log(e);\n\t\t\tvar data = e.target.value;\n\t\t\tthis.updatedUserData[e.target.id] = data;\n\t\t},\n\t\tdisabled() {\n\t\t\tif (this.loading) return true;\n\t\t\treturn Object.entries(this.updatedUserData).length == 0;\n\t\t},\n\t\tcloseModal() {\n\t\t\tObject.assign(this.$data, this.$options.data.call(this));\n\t\t\tthis.$emit(\"updateModalState\", false);\n\t\t},\n\t\tvalidate(num, obj) {\n\t\t\t// console.log(num, obj);\n\t\t\tif (obj.valid != null && obj.valid === false) {\n\t\t\t\tthis.isPhoneError = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.isPhoneError = false;\n\t\t\tif (obj.number) {\n\t\t\t\tthis.phone = obj.number;\n\t\t\t\tthis.update(this.phone, \"mobile\");\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tchangeCountry(obj) {\n\t\t\tconsole.log(\"changeCountry\");\n\t\t\tthis.country = getCountryISO3(obj.iso2);\n\t\t\tthis.update(this.country, \"country\");\n\t\t},\n\t},\n\twatch: {\n\t\tnewPassword: function (newVal, oldVal) {\n\t\t\tif (oldVal !== \"\") {\n\t\t\t\t// this.disabled = false;\n\t\t\t\tthis.changePassword = true;\n\t\t\t}\n\t\t},\n\t\tvisible: function () {\n\t\t\tif (this.visible) {\n\t\t\t\tthis.phone = this.profileData.phone ? this.profileData.phone : null;\n\t\t\t\tthis.mobile = this.profileData.phone ? this.profileData.phone : null;\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style>\n@media screen and (max-width: 480px) {\n\t.modal-body {\n\t\tpadding: 0 2rem !important;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t.modal-content-container {\n\t\tmax-height: 60vh !important;\n\t}\n}\n\n.profile-edit-modal {\n\tborder-radius: 0.5rem !important;\n\tborder: 0 !important;\n\tbox-shadow: none !important;\n}\n\n.profile-edit-modal .modal-body {\n\tpadding: 0 2.875rem;\n\tpadding-top: 5rem !important;\n\t/* height: 70vh; */\n}\n\n.modal-content-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\toverflow-y: auto !important;\n\toverflow-x: hidden !important;\n\tmargin-right: -2rem;\n\tpadding-right: 2rem;\n}\n\n.profile-edit-modal .top-icon {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tposition: absolute;\n\ttop: 0;\n\tright: 50%;\n\ttransform: translateX(50%);\n}\n\n.profile-edit-circle {\n\twidth: 4rem;\n\theight: 4rem;\n\tbackground-color: var(--primary-color);\n\tbox-shadow: 0 5px 35px #a8a8a829;\n\tmargin-top: -2rem;\n\tborder-radius: 50%;\n\t/* margin-bottom: 1.25rem; */\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcolor: var(--color-white);\n\tfont-size: 2rem;\n\t/* position: absolute; */\n\t/* top: 0; */\n}\n\n.edit-modal-title {\n\tfont-weight: normal;\n\tfont-size: 1.5rem;\n\tcolor: #000000;\n}\n\n.edit-profile-form {\n\twidth: 100%;\n}\n\n.edit-profile-form .form-group {\n\tmargin-bottom: 2.5rem;\n}\n\n.edit-profile-input {\n\tborder: 1px solid #a7a9ac !important;\n\tbox-shadow: 0 3px 6px #88888829 !important;\n\tborder-radius: 0.375rem !important;\n}\n\n.edit-profile-input.error {\n\tborder-color: var(--color-danger) !important;\n}\n\n.edit-modal-footer {\n\tborder: none !important;\n\tbackground-color: #f7f7f7 !important;\n\tborder-bottom-left-radius: 0.5rem !important;\n\tborder-bottom-right-radius: 0.5rem !important;\n\tmargin-top: 0 !important;\n\tpadding: 1.5rem 2.875rem !important;\n}\n\n.edit-modal-footer .btn-primary {\n\tbackground-color: var(--secondary-color);\n\tborder-color: var(--secondary-color);\n\tpadding: 0.5rem 1.375rem !important;\n\tborder-radius: 0.375rem !important;\n\tline-height: 1 !important;\n\tmargin: 0.25rem !important;\n\tfont-weight: normal;\n}\n\n.edit-modal-footer .btn-secondary {\n\tbackground-color: var(--color-white) !important;\n\tcolor: var(--secondary-color) !important;\n\tborder-color: var(--secondary-color) !important;\n\tpadding: 0.5rem 1.375rem !important;\n\tborder-radius: 0.375rem !important;\n\tline-height: 1 !important;\n\tmargin: 0.25rem !important;\n\tmargin-right: 0.5rem !important;\n\tfont-weight: normal;\n}\n\n.edit-modal-footer .btn-primary:hover,\n.edit-modal-footer .btn-primary:focus,\n.edit-modal-footer .btn-primary:active,\n.edit-modal-footer .btn-primary:disabled {\n\tbackground-color: var(--secondary-color-hover) !important;\n\toutline: none !important;\n\tbox-shadow: none !important;\n\tborder-color: var(--secondary-color-hover) !important;\n}\n\n.edit-profile-input .vs__dropdown-toggle {\n\tborder: none !important;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EditProfileModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EditProfileModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditProfileModal.vue?vue&type=template&id=6290d33a&\"\nimport script from \"./EditProfileModal.vue?vue&type=script&lang=js&\"\nexport * from \"./EditProfileModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditProfileModal.vue?vue&type=style&index=0&id=6290d33a&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"create-ticket-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"create-ticket-modal\",\"size\":\"lg\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState')}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('div',[_c('div',{staticClass:\"mb-5\"},[_c('h1',{staticClass:\"add-enroll-title\"},[_vm._v(\"Add New Ticket\")])]),_c('div',{staticClass:\"row mt-3\"},[_c('div',{staticClass:\"col-lg-12\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"services\"}},[_vm._v(\"Services (required)\")]),_c('v-select',{staticClass:\"form-input\",attrs:{\"id\":\"services\",\"placeholder\":\"Select Service...\",\"options\":_vm.ticketServices,\"label\":\"title\"},model:{value:(_vm.service),callback:function ($$v) {_vm.service=$$v},expression:\"service\"}})],1),_c('div',{staticClass:\"col-lg-12 mt-4\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"subject\"}},[_vm._v(\"Subject (required)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.subject),expression:\"subject\"}],staticClass:\"form-input\",attrs:{\"type\":\"search\",\"id\":\"subject\",\"placeholder\":\"Enter Subject here...\"},domProps:{\"value\":(_vm.subject)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.subject=$event.target.value}}})]),_c('div',{staticClass:\"col-lg-12 mt-4\"},[_c('label',{staticClass:\"main-label\",attrs:{\"for\":\"address\"}},[_vm._v(\"Body (required)\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.body),expression:\"body\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter here...\"},domProps:{\"value\":(_vm.body)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.body=$event.target.value},_vm.resizeTextarea]}})])])]),_c('div',{staticClass:\"step-btn-container\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.loading || !_vm.subject || !_vm.body || !_vm.service},on:{\"click\":function($event){return _vm.addTicket()}}},[_vm._v(\" Submit \"),_c('i',{staticClass:\"fas fa-long-arrow-alt-right\"})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-modal\n    id=\"create-ticket-modal\"\n    @change=\"$emit('updateModalState')\"\n    :visible=\"visible\"\n    hide-header\n    centered\n    content-class=\"create-ticket-modal\"\n    size=\"lg\"\n    body-class=\"modal-body\"\n    hide-footer\n    modal-class=\"custom-modal\"\n    no-close-on-backdrop\n  >\n    <div class=\"body-container\">\n      <button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n        <img src=\"@/assets/images/cancel-icon.svg\" />\n      </button>\n      <div>\n        <div class=\"mb-5\">\n          <h1 class=\"add-enroll-title\">Add New Ticket</h1>\n        </div>\n        <div class=\"row mt-3\">\n          <div class=\"col-lg-12\">\n            <label for=\"services\" class=\"main-label\">Services (required)</label>\n            <v-select\n              class=\"form-input\"\n              id=\"services\"\n              placeholder=\"Select Service...\"\n              :options=\"ticketServices\"\n              label=\"title\"\n              v-model=\"service\"\n            ></v-select>\n            <!-- :reduce=\"(option) => option['alpha-3']\" -->\n          </div>\n          <div class=\"col-lg-12 mt-4\">\n            <label for=\"subject\" class=\"main-label\">Subject (required)</label>\n            <input\n              type=\"search\"\n              class=\"form-input\"\n              id=\"subject\"\n              placeholder=\"Enter Subject here...\"\n              v-model=\"subject\"\n            />\n          </div>\n          <div class=\"col-lg-12 mt-4\">\n            <label for=\"address\" class=\"main-label\">Body (required)</label>\n            <textarea\n              class=\"form-input\"\n              placeholder=\"Enter here...\"\n              @input=\"resizeTextarea\"\n              v-model=\"body\"\n            ></textarea>\n          </div>\n        </div>\n      </div>\n      <div class=\"step-btn-container\">\n        <button\n          @click=\"addTicket()\"\n          role=\"button\"\n          class=\"step-btn\"\n          :disabled=\"loading || !subject || !body || !service\"\n        >\n          Submit\n          <i class=\"fas fa-long-arrow-alt-right\"></i>\n        </button>\n      </div>\n    </div>\n  </b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n  name: \"AddTicketModal\",\n\n  data() {\n    return {\n      service: null,\n      subject: null,\n      body: null,\n      ticketServices: [],\n    };\n  },\n  computed: {\n\t\t...mapState(\"support\", [\"loading\"]),\n\t\n    visible() {\n      return this.showModal;\n    },\n  },\n  props: {\n    showModal: Boolean,\n  },\n  methods: {\n    ...mapActions(\"support\", [\"fetchTicketServices\",\"createSupportTicket\",\"fetchTickets\"]),\n    resizeTextarea(event) {\n      const textarea = event.target;\n      textarea.style.height = 'auto';\n      textarea.style.height = `${textarea.scrollHeight}px`;\n    },\n    closeModal() {\n      this.$emit(\"updateModalState\", false);\n    },\n\n    async getServices() {\n      var data = await this.fetchTicketServices();\n\n      this.ticketServices = data && data.length > 0 ? data : [];\n    },\n\n    async addTicket() {\n      \n      var ticket={\n        serviceID:this.service.id,\n        subject:this.subject,\n        body: this.body\n      };\n\n      var ticket=await this.createSupportTicket(ticket);\n      if(ticket){\n        this.service = null;\n        this.subject = null;\n        this.body = null;\n        this.closeModal();\n        this.fetchTickets();\n        // Vue.toasted.success(\"Ticket Created\", {\n\t\t\t\t// \ttheme: \"outline\",\n\t\t\t\t// \tposition: \"bottom-center\",\n\t\t\t\t// \tduration: 3000,\n\t\t\t\t// });\n      }\n\n    },\n  },\n  watch: {\n    showModal:function () {\n      if(this.showModal==true)\n       this.getServices();\n\t\t}\n  },\n  async created() {\n    this.getServices();\n\n  },\n};\n</script>\n\n<style>\n.create-ticket-modal {\n  min-height: 45.375rem;\n  width: 70vw;\n}\n\n.create-ticket-modal .modal-body {\n  display: flex;\n  flex-direction: row;\n  padding: 0 !important;\n  font-size: 1rem;\n}\n\n.confirm-modal-body {\n  padding: 1rem !important;\n  font-size: 1.125rem;\n}\n.create-ticket-modal .body-container {\n  display: flex;\n  flex-direction: column;\n  padding: 2.5rem 2.5rem 1.5rem;\n  width: 100%;\n}\n\n.create-ticket-modal .add-enroll-title {\n  text-transform: capitalize;\n  font-weight: 450;\n  font-size: 2rem;\n  line-height: 0.75;\n  margin: 0.5rem 0 1rem;\n  color: #000000;\n}\n\n.create-ticket-modal .main-label {\n  font-weight: 500;\n  font-size: 1rem;\n  line-height: 1.37;\n  text-transform: uppercase;\n  color: #727272;\n  margin-bottom: 1rem;\n}\n\n.create-ticket-modal .form-input {\n  border: 0;\n  border-bottom: 1.5px solid #b2b2b2;\n  font-size: 1rem;\n  outline: none;\n  padding: 0 0 0.875rem;\n  /* max-width: 21.625rem; */\n  width: 100%;\n  border-radius: 0;\n  box-shadow: none !important;\n  position: relative;\n  height: 40px;\n}\n\n.create-ticket-modal .upload-btn-wrapper {\n  width: 11rem;\n  max-width: 11rem;\n  max-height: 11rem;\n  height: 10rem;\n  position: relative;\n  overflow: hidden;\n  background: #f5f5f5;\n  box-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n  border-radius: 8px;\n  padding: 2rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.upload-btn-wrapper.preview {\n  padding: 0;\n}\n\n#preview {\n  max-width: 100%;\n}\n\n.upload-btn {\n  padding: 0.5rem 1.25rem;\n  font-weight: bold;\n  cursor: pointer;\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  border-radius: 6px;\n  text-transform: uppercase;\n  color: #000000;\n  font-weight: normal;\n}\n\n.input-icon-right {\n  /* position: absolute; */\n  font-size: 1.25rem;\n  right: 0rem;\n  margin-top: 0.5rem;\n  cursor: pointer;\n}\n\n.create-ticket-modal .upload-btn-wrapper .right-menu {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 1rem;\n  transition: opacity 0.3s, visibility 0s ease;\n  visibility: hidden;\n  opacity: 0;\n  position: absolute;\n}\n\n.create-ticket-modal .upload-btn-wrapper:hover .right-menu {\n  visibility: visible;\n  opacity: 1;\n}\n\n.create-ticket-modal .upload-btn-wrapper .right-menu-icon {\n  width: 2rem;\n  height: 2rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: #ffffff;\n  border: 0.8px solid #cbcbcb;\n  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n  border-radius: 50%;\n}\n\n.create-ticket-modal .upload-btn-wrapper .right-menu-icon img {\n  width: 1rem;\n  height: 1rem;\n}\n\n.create-ticket-modal .upload-btn-wrapper .right-menu-icon.delete {\n  border-color: #ff0000;\n}\n\n.create-ticket-modal #profilePicturePath {\n  pointer-events: none;\n}\n\n.create-ticket-modal .form-input.error {\n  color: var(--color-danger) !important;\n  border-color: var(--color-danger) !important;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddTicketModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddTicketModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddTicketModal.vue?vue&type=template&id=fba585b0&\"\nimport script from \"./AddTicketModal.vue?vue&type=script&lang=js&\"\nexport * from \"./AddTicketModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AddTicketModal.vue?vue&type=style&index=0&id=fba585b0&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"show-ticket-modal\",\"visible\":_vm.visible,\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"show-ticket-modal\",\"size\":\"xl\",\"body-class\":\"modal-body\",\"hide-footer\":\"\",\"modal-class\":\"custom-modal\",\"no-close-on-backdrop\":\"\"},on:{\"change\":function($event){return _vm.$emit('updateModalState')}}},[_c('div',{staticClass:\"body-container\"},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.closeModal}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),(!_vm.ticket)?_c('div',[_c('h4',[_vm._v(\"Loading...\")])]):_vm._e(),(_vm.ticket!=null)?_c('div',[_c('div',{staticClass:\"mb-3\"},[_c('h1',{staticClass:\"add-enroll-title\"},[_vm._v(_vm._s(_vm.parseTicketHash(_vm.ticket.id))+\" - \"+_vm._s(_vm.ticket.subject))]),_c('div',{staticClass:\"d-flex align-items-center gap-2\"},[_c('div',{class:[\n              'status-tag',\n              {\n                warning: _vm.ticket.status && _vm.ticket.status.toLowerCase() == \"opened\",\n                success: _vm.ticket.status && _vm.ticket.status.toLowerCase() == \"closed\",\n              } ]},[_vm._v(\" \"+_vm._s(_vm.ticket.status)+\" \")]),_c('i',{staticClass:\"fas fa-circle\",staticStyle:{\"font-size\":\"0.4em\"}}),_vm._v(\" \"+_vm._s(_vm.ticket.service ? _vm.ticket.service.title : \"\")+\" \")])]),_c('div',{staticClass:\"row mt-4\"},[_c('div',{staticClass:\"col-lg-8 row\"},[_c('div',{staticClass:\"col-lg-12\"},[_c('label',[_c('strong',[_vm._v(\"Opened By :\")]),_vm._v(\" \"+_vm._s(_vm.ticket.user ? ((_vm.ticket.user.firstName) + \" \" + (_vm.ticket.user.lastName)) : \"\")+\" ( \"+_vm._s(_vm.formatDate(_vm.ticket.createdAt))+\" )\")])]),(_vm.ticket.lastTicketReply)?_c('div',{staticClass:\"col-lg-12\"},[_c('label',[_c('strong',[_vm._v(\"Last Modification :\")]),(_vm.ticket.lastTicketReply && _vm.ticket.lastTicketReply.user)?_c('span',[_vm._v(\" \"+_vm._s(_vm.ticket.lastTicketReply.user.firstName + \" \" + _vm.ticket.lastTicketReply.user.lastName)+\" \")]):_vm._e(),_vm._v(\" ( \"+_vm._s(_vm.ticket.lastTicketReply ? _vm.formatDate(_vm.ticket.lastTicketReply.createdAt) : _vm.formatDate(_vm.ticket.createdAt))+\" )\")])]):_vm._e(),(\n              _vm.ticket && _vm.ticket.status && _vm.ticket.status.toLowerCase() == 'closed'\n            )?_c('div',{staticClass:\"col-lg-12\"},[_c('label',[_c('strong',[_vm._v(\"Closed By : \")]),(_vm.ticket.closedBy)?_c('span',[_vm._v(\" \"+_vm._s(_vm.ticket.closedBy.firstName + \" \" + _vm.ticket.closedBy.lastName)+\" \")]):_vm._e(),_vm._v(\" ( \"+_vm._s(_vm.ticket.closedAt ? _vm.formatDate(_vm.ticket.closedAt) : \"\")+\" )\")])]):_vm._e()]),(_vm.ticket.status && _vm.ticket.status.toLowerCase() == \"opened\")?_c('div',{staticClass:\"col-lg-4\",staticStyle:{\"text-align\":\"-webkit-right\"}},[_c('button',{staticClass:\"add-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.refresh()}}},[_vm._v(\" Refresh \")])]):_vm._e(),_c('div',{staticClass:\"col-lg-12 pt-2\"},[_c('hr'),_c('h4',{staticClass:\"add-enroll-title\"},[_vm._v(\"Description\")]),_vm._v(\" \"+_vm._s(_vm.ticket.body)+\" \")])]),(_vm.replies && _vm.replies.length > 0)?_c('div',[_c('div',{staticClass:\"mt-4\"},[_c('h4',{staticClass:\"add-enroll-title\"},[_vm._v(\"Correspondence\")])]),_vm._l((_vm.replies),function(reply){return _c('div',{class:[\n            'chat-box-style',\n            'mb-3',\n            { management: reply.user.type.toLowerCase() == 'management' } ]},[_c('label',{attrs:{\"for\":\"\"}},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"From\")]),_vm._v(\" \"+_vm._s(reply.user.firstName)+\" \"+_vm._s(reply.user.lastName))]),_c('p',{attrs:{\"for\":\"\"}},[_vm._v(\" \"+_vm._s(reply.reply)+\" \")]),_c('label',{staticClass:\"text-end w-100\",attrs:{\"for\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.formatDate(reply.createdAt)))])])})],2):_vm._e()]):_vm._e(),(\n        _vm.ticket && _vm.ticket.status && _vm.ticket.status.toLowerCase() == 'opened'\n      )?_c('div',{staticClass:\"col-lg-12 mt-4 reply-body ps-0\"},[_c('hr'),(_vm.ticket!=null)?_c('div',[_c('h4',[_vm._v(\"Reply\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.reply),expression:\"reply\"}],staticClass:\"form-input\",attrs:{\"placeholder\":\"Enter here...\",\"disabled\":_vm.loading},domProps:{\"value\":(_vm.reply)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.reply=$event.target.value},_vm.resizeTextarea]}}),_c('div',{staticClass:\"step-btn-container mt-2\"},[_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":!_vm.reply || !_vm.ticket || _vm.loading},on:{\"click\":function($event){return _vm.sendTicketReply()}}},[_vm._v(\" Send Reply \")]),_c('button',{staticClass:\"step-btn\",attrs:{\"role\":\"button\",\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.closeTicket()}}},[_vm._v(\" Close The Ticket \")])])]):_vm._e()]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-modal\n    id=\"show-ticket-modal\"\n    @change=\"$emit('updateModalState')\"\n    :visible=\"visible\"\n    hide-header\n    centered\n    content-class=\"show-ticket-modal\"\n    size=\"xl\"\n    body-class=\"modal-body\"\n    hide-footer\n    modal-class=\"custom-modal\"\n    no-close-on-backdrop\n  >\n    <div\n      class=\"body-container\"\n      style=\"\"\n    >\n      <button @click=\"closeModal\" class=\"close-button\" role=\"button\">\n        <img src=\"@/assets/images/cancel-icon.svg\" />\n      </button>\n      <div v-if=\"!ticket\">\n        <h4>Loading...</h4>\n      </div>\n      <div v-if=\"ticket!=null\">\n        <div class=\"mb-3\">\n          <h1 class=\"add-enroll-title\">{{parseTicketHash(ticket.id)}} - {{ ticket.subject }}</h1>\n          <div  class=\"d-flex align-items-center gap-2\">\n            <div\n              :class=\"[\n                'status-tag',\n                {\n                  warning: ticket.status && ticket.status.toLowerCase() == `opened`,\n                  success: ticket.status && ticket.status.toLowerCase() == `closed`,\n                },\n              ]\"\n            >\n              {{ ticket.status }} \n            </div>\n            <i class=\"fas fa-circle\" style=\"font-size: 0.4em;\"></i> {{ ticket.service ? ticket.service.title : \"\" }}\n          </div>\n        </div>\n        <div class=\"row mt-4\">\n          <div class=\"col-lg-8 row\">\n            <div class=\"col-lg-12\">\n              <label\n                ><strong>Opened By :</strong>\n                {{\n                  ticket.user\n                  ? `${ticket.user.firstName} ${ticket.user.lastName}`\n                  : \"\"\n                }} ( {{ formatDate(ticket.createdAt) }} )</label\n              >            \n            </div>\n            <div class=\"col-lg-12\" v-if=\"ticket.lastTicketReply\">\n              <label\n                ><strong>Last Modification :</strong> \n                <span\n                  v-if=\"ticket.lastTicketReply && ticket.lastTicketReply.user\"\n                >\n                  {{\n                    ticket.lastTicketReply.user.firstName +\n                    \" \" +\n                    ticket.lastTicketReply.user.lastName\n                  }}\n                </span>\n                ( {{\n                  ticket.lastTicketReply\n                  ? formatDate(ticket.lastTicketReply.createdAt)\n                  : formatDate(ticket.createdAt)\n                }} )</label\n              >\n            </div>\n            <div\n              class=\"col-lg-12\"\n              v-if=\"\n                ticket && ticket.status && ticket.status.toLowerCase() == 'closed'\n              \"\n            >\n              <label\n                ><strong>Closed By :  </strong><span v-if=\"ticket.closedBy\">\n                  {{ ticket.closedBy.firstName + \" \" + ticket.closedBy.lastName }}\n                </span> ( \n                {{ ticket.closedAt ? formatDate(ticket.closedAt) : \"\" }} )</label\n              >           \n            </div>\n          </div>\n          <div class=\"col-lg-4\" style=\"text-align: -webkit-right\" v-if=\"ticket.status && ticket.status.toLowerCase() == `opened`\">\n            <button class=\"add-btn\" role=\"button\" @click=\"refresh()\">\n              Refresh\n            </button>\n          </div>\n          <div class=\"col-lg-12 pt-2\">\n            <hr />\n            <h4 class=\"add-enroll-title\">Description</h4>\n            {{ ticket.body }}\n          </div>\n        </div>\n        <div v-if=\"replies && replies.length > 0\">\n          <div class=\"mt-4\">\n            <h4 class=\"add-enroll-title\">Correspondence</h4>\n          </div>\n          <div\n            v-for=\"reply in replies\"\n            :class=\"[\n              'chat-box-style',\n              'mb-3',\n              { management: reply.user.type.toLowerCase() == 'management' },\n            ]\"\n          >\n            <label for=\"\"\n              ><span style=\"font-weight: bold\">From</span>\n              {{ reply.user.firstName }} {{ reply.user.lastName }}</label\n            >\n            <p for=\"\">\n              {{ reply.reply }}\n            </p>\n            <label for=\"\" class=\"text-end w-100\"\n              >\n              {{ formatDate(reply.createdAt) }}</label\n            >\n          </div>\n        </div>\n      </div>\n\n      <div\n        class=\"col-lg-12 mt-4 reply-body ps-0\"\n        v-if=\"\n          ticket && ticket.status && ticket.status.toLowerCase() == 'opened'\n        \"\n      >\n        <hr />\n        <div v-if=\"ticket!=null\">\n          <h4>Reply</h4>\n          <textarea\n            class=\"form-input\"\n            placeholder=\"Enter here...\"\n            v-model=\"reply\"\n            @input=\"resizeTextarea\"\n            :disabled=\"loading\"\n          ></textarea>\n          <div class=\"step-btn-container mt-2\">\n            <button\n              @click=\"sendTicketReply()\"\n              role=\"button\"\n              class=\"step-btn\"\n              :disabled=\"!reply || !ticket || loading\"\n            >\n              Send Reply\n            </button>\n            <button @click=\"closeTicket()\" role=\"button\" :disabled=\"loading\" class=\"step-btn\">\n              Close The Ticket\n            </button>\n          </div>\n        </div>\n      </div>\n    </div>\n  </b-modal>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n\nimport { toShortDateString } from \"../../helpers/FormatHelpers\";\n\nexport default {\n  name: \"ViewTicketModal\",\n\n  data() {\n    return {\n      ticket: null,\n      replies: null,\n      reply: null,\n    };\n  },\n  computed: {\n    ...mapState(\"support\", [\"loading\"]),\n    visible() {\n      return this.showModal;\n    },\n  },\n  props: {\n    showModal: Boolean,\n    ticketID: String,\n  },\n  methods: {\n    ...mapActions(\"support\", [\n      \"fetchTickets\",\n      \"fetchTicketByID\",\n      \"fetchTicketReplies\",\n      \"addTicketReply\",\n      \"closeSupportTicket\",\n    ]),\n    resizeTextarea(event) {\n      const textarea = event.target;\n      textarea.style.height = 'auto';\n      textarea.style.height = `${textarea.scrollHeight}px`;\n    },\n    refresh(){\n      this.ticket = null;\n      this.replies = null;\n      this.reply = null;\n      this.fetchTicketByID(this.ticketID).then((_ticket) => {\n          this.ticket = _ticket;\n          this.fetchTicketReplies(this.ticketID).then((_replies) => {\n            this.replies = _replies;\n          });\n        });\n    },\n    closeModal() {\n      this.$emit(\"updateModalState\", false);\n    },\n    formatDate(date) {\n      return this.formatDateWithTime(new Date(date));\n    },\n    formatDateWithTime(date) {\n      var hours = date.getHours();\n      var minutes = date.getMinutes();\n      var ampm = hours >= 12 ? \"PM\" : \"AM\";\n      hours = hours % 12;\n      hours = hours ? hours : 12; // the hour '0' should be '12'\n      minutes = minutes < 10 ? \"0\" + minutes : minutes;\n      var strTime = hours + \":\" + minutes + \" \" + ampm;\n      return toShortDateString(date) + \"  \" + strTime;\n    },\n    async sendTicketReply() {\n      if (this.reply) {\n        var replyObj = {\n          ticketID: this.ticketID,\n          reply: this.reply,\n        };\n        var replyResponse = await this.addTicketReply(replyObj);\n        if (replyResponse) {\n          this.reply = null;\n          this.fetchTicketByID(this.ticketID).then((_ticket) => {\n            this.ticket = _ticket;\n            this.replies.push(replyResponse);\n          });\n        }\n      }\n    },\n    async closeTicket() {\n      var ticket = await this.closeSupportTicket(this.ticketID);\n      if (ticket) {\n        this.fetchTicketByID(this.ticketID).then((_ticket) => {\n          this.ticket = _ticket;\n        });\n      }\n    },\n    parseTicketHash(ticketID)\n    {\n      var ticketHash=\"\";\n      if(ticketID){\n      for (let index = 0; index < 4-(ticketID).toString().length; index++) {\n        ticketHash+=\"0\";        \n      }\n      ticketHash+=ticketID;\n    }\n      return ticketHash;\n    \n    }\n  },\n  watch: {\n    showModal: function () {\n      if (this.showModal == true)\n      \n        this.ticket=null;        \n        this.replies= null;\n        this.reply= null;\n        this.fetchTicketByID(this.ticketID).then((_ticket) => {\n          this.ticket = _ticket;\n          this.fetchTicketReplies(this.ticketID).then((_replies) => {\n            this.replies = _replies;\n          });\n        });\n    },\n  },\n};\n</script>\n\n<style>\n.col-lg-4 {\n  padding-left: 0px;\n}\n\n.chat-box-style {\n  border: 1px solid #f5f5f5;\n  background-color: #f5f5f5;\n\n  border-radius: 5px;\n  padding: 10px 20px;\n}\n.chat-box-style.management {\n  border: 1px solid skyblue !important;\n  background-color: rgb(223, 238, 243) !important;\n}\n.view-ticket-modal {\n  min-height: 45.375rem;\n  width: 70vw;\n}\n\n.view-ticket-modal .modal-body {\n  display: flex;\n  flex-direction: row;\n  padding: 0 !important;\n  font-size: 1rem;\n}\n\n.confirm-modal-body {\n  padding: 1rem !important;\n  font-size: 1.125rem;\n}\n.view-ticket-modal .body-container {\n  display: flex;\n  flex-direction: column;\n  padding: 2.5rem 2.5rem 1.5rem;\n  width: 100%;\n}\n\n.view-ticket-modal .add-enroll-title {\n  text-transform: capitalize;\n  font-weight: 450;\n  font-size: 2rem;\n  line-height: 0.75;\n  margin: 0.5rem 0 1rem;\n  color: #000000;\n}\n\n.view-ticket-modal .main-label {\n  font-weight: 500;\n  font-size: 1rem;\n  line-height: 1.37;\n  text-transform: uppercase;\n  color: #727272;\n  margin-bottom: 1rem;\n}\n\n.view-ticket-modal .form-input {\n  border: 0;\n  border-bottom: 1.5px solid #b2b2b2;\n  font-size: 1rem;\n  outline: none;\n  padding: 0 0 0.875rem;\n  /* max-width: 21.625rem; */\n  width: 100%;\n  border-radius: 0;\n  box-shadow: none !important;\n  position: relative;\n  height: 40px;\n}\n\n.view-ticket-modal .upload-btn-wrapper {\n  width: 11rem;\n  max-width: 11rem;\n  max-height: 11rem;\n  height: 10rem;\n  position: relative;\n  overflow: hidden;\n  background: #f5f5f5;\n  box-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n  border-radius: 8px;\n  padding: 2rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.upload-btn-wrapper.preview {\n  padding: 0;\n}\n\n#preview {\n  max-width: 100%;\n}\n\n.upload-btn {\n  padding: 0.5rem 1.25rem;\n  font-weight: bold;\n  cursor: pointer;\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  border-radius: 6px;\n  text-transform: uppercase;\n  color: #000000;\n  font-weight: normal;\n}\n\n.input-icon-right {\n  /* position: absolute; */\n  font-size: 1.25rem;\n  right: 0rem;\n  margin-top: 0.5rem;\n  cursor: pointer;\n}\n\n.view-ticket-modal .upload-btn-wrapper .right-menu {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 1rem;\n  transition: opacity 0.3s, visibility 0s ease;\n  visibility: hidden;\n  opacity: 0;\n  position: absolute;\n}\n\n.view-ticket-modal .upload-btn-wrapper:hover .right-menu {\n  visibility: visible;\n  opacity: 1;\n}\n\n.view-ticket-modal .upload-btn-wrapper .right-menu-icon {\n  width: 2rem;\n  height: 2rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: #ffffff;\n  border: 0.8px solid #cbcbcb;\n  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);\n  border-radius: 50%;\n}\n\n.view-ticket-modal .upload-btn-wrapper .right-menu-icon img {\n  width: 1rem;\n  height: 1rem;\n}\n\n.view-ticket-modal .upload-btn-wrapper .right-menu-icon.delete {\n  border-color: #ff0000;\n}\n\n.view-ticket-modal #profilePicturePath {\n  pointer-events: none;\n}\n\n.view-ticket-modal .form-input.error {\n  color: var(--color-danger) !important;\n  border-color: var(--color-danger) !important;\n}\n\n.reply-body .form-input {\n  border: 0;\n  border-bottom: 1.5px solid #b2b2b2;\n  font-size: 1rem;\n  outline: none;\n  padding: 0 0 0.875rem;\n  /* max-width: 21.625rem; */\n  width: 100%;\n  border-radius: 0;\n  box-shadow: none !important;\n  position: relative;\n  height: 40px;\n}\n.show-ticket-modal{\n  max-height: 85vh; overflow-x: hidden; overflow-y: auto\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ViewTicketModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ViewTicketModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ViewTicketModal.vue?vue&type=template&id=f0fb5280&\"\nimport script from \"./ViewTicketModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ViewTicketModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ViewTicketModal.vue?vue&type=style&index=0&id=f0fb5280&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"eb-lc-box\"},[_c('div',{staticClass:\"eb-lc-head d-flex justify-content-between\"},[_c('div',{staticClass:\"eb-lc-label label-live\"},[_c('img',{attrs:{\"src\":\"/img/signal-red-icon.8d2f387a.svg\"}}),_vm._v(\" \"+_vm._s(_vm.badgeText)+\" \")]),_c('div',{staticClass:\"eb-lc-time\"},[_c('i',{staticClass:\"far fa-clock me-1\"}),_vm._v(_vm._s(_vm.time)+\" \"),(_vm.isDisabled)?_c('span',{attrs:{\"data-v-03a82b79\":\"\"}},[_c('br',{attrs:{\"data-v-03a82b79\":\"\"}}),_vm._v(\" \"+_vm._s(_vm.date))]):_vm._e()])]),_c('div',{staticClass:\"eb-lc-content d-flex justify-content-between align-items-center\"},[_c('div',{staticClass:\"eb-lc-titles pe-2\"},[_c('h5',{attrs:{\"data-v-03a82b79\":\"\"}},[_vm._v(_vm._s(_vm.title))]),_c('h6',{attrs:{\"data-v-03a82b79\":\"\"}},[_vm._v(_vm._s(_vm.subTitle))])]),_c('div',{staticClass:\"eb-lc-action\"},[_c('button',{class:'btn btn-primary '+(_vm.isDisabled?'disabled':''),attrs:{\"role\":\"button\"},on:{\"click\":_vm.handleContentClick}},[_vm._v(_vm._s(_vm.ctaText))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"eb-lc-box\" >\n\t\t<div class=\"eb-lc-head d-flex justify-content-between\">\n\t\t\t<div class=\"eb-lc-label label-live\">\n\t\t\t\t<img src=\"/img/signal-red-icon.8d2f387a.svg\">\n\t\t\t\t{{ badgeText }}\n\t\t\t</div>\n\t\t\t<div class=\"eb-lc-time\">\n\t\t\t\t<i class=\"far fa-clock me-1\"></i>{{ time }} \n\t\t\t\t<span data-v-03a82b79=\"\" v-if=\"isDisabled\"><br data-v-03a82b79=\"\"> {{ date }}</span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"eb-lc-content d-flex justify-content-between align-items-center\">\n\t\t\t<div class=\"eb-lc-titles pe-2\">\n\t\t\t\t<h5 data-v-03a82b79=\"\">{{ title }}</h5>\n\t\t\t\t<h6 data-v-03a82b79=\"\">{{ subTitle }}</h6>\n\t\t\t</div>\n\t\t\t<div class=\"eb-lc-action\">\n\t\t\t\t<button role=\"button\" @click=\"handleContentClick\" :class=\"'btn btn-primary '+(isDisabled?'disabled':'')\">{{ ctaText }}</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n</template>\n\n<script>\nimport { mapState } from \"vuex\";\nimport { getCookie } from \"../../helpers/CookieHelpers\";\nimport {\n\tgetTimeIn12Hours,\n\ttoShortDateString,\n} from \"../../helpers/FormatHelpers\";\n\nexport default {\n\tname: \"ReminderListItem\",\n\tdata() {\n\t\treturn {\n\t\t\tid: this.reminderItem.id,\n\t\t\tproductVariantId: this.reminderItem.productVariantID,\n\t\t\ttype: this.reminderItem.type.toLowerCase(),\n\t\t\ttitle: this.reminderItem.title,\n\t\t\tsubTitle: this.reminderItem.productVariantTitle,\n\t\t\t//time: \" 1:00 PM to 5:00 PM\",\n\t\t};\n\t},\n\tprops: { reminderItem: Object },\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\"]),\n\t\thasContentStarted() {\n\t\t\treturn (\n\t\t\t\tnew Date(\n\t\t\t\t\tnew Date(this.reminderItem.availableFrom).getTime() - 5 * 60 * 1000\n\t\t\t\t) < new Date()\n\t\t\t);\n\t\t},\n\t\t// check if meeting has ended and 15 minutes have passed\n\t\thasContentEnded() {\n\t\t\treturn (\n\t\t\t\tnew Date() >\n\t\t\t\tnew Date(\n\t\t\t\t\tnew Date(this.reminderItem.availableTo).setTime(\n\t\t\t\t\t\tnew Date(this.reminderItem.availableTo).getTime() + 900000\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\tbadgeText() {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase \"liveclass\":\n\t\t\t\t\treturn \"Live Class\";\n\t\t\t\tcase \"recordedvideos\":\n\t\t\t\t\treturn \"Recorded Video\";\n\t\t\t\tcase \"assignment\":\n\t\t\t\t\treturn \"Assignment\";\n\t\t\t\tcase \"test\":\n\t\t\t\t\treturn \"Test\";\n\t\t\t}\n\t\t},\n\t\tctaText() {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase \"liveclass\":\n\t\t\t\t\treturn this.isDisabled && this.hasContentEnded\n\t\t\t\t\t\t? \"Class ended\"\n\t\t\t\t\t\t: \"Join Now\";\n\t\t\t\tcase \"recordedvideos\":\n\t\t\t\t\treturn \"Watch Now\";\n\t\t\t\tcase \"assignment\":\n\t\t\t\t\treturn \"Submit\";\n\t\t\t\tcase \"test\":\n\t\t\t\t\treturn \"Submit\";\n\t\t\t}\n\t\t},\n\t\tcontentLink() {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase \"recordedvideos\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath:\n\t\t\t\t\t\t\t\"/content/video/\" +\n\t\t\t\t\t\t\tthis.title\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\t\tthis.id +\n\t\t\t\t\t\t\t\"_\" +\n\t\t\t\t\t\t\tthis.productVariantId,\n\t\t\t\t\t\t// query: { productVariantId: this.productVariantId },\n\t\t\t\t\t};\n\t\t\t\tcase \"liveclass\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath:\n\t\t\t\t\t\t\t\"/content/liveclass/\" +\n\t\t\t\t\t\t\tthis.title\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\t\tthis.id +\n\t\t\t\t\t\t\t\"_\" +\n\t\t\t\t\t\t\tthis.productVariantId,\n\t\t\t\t\t\t// query: { productVariantId: this.productVariantId },\n\t\t\t\t\t};\n\t\t\t\tcase \"assignment\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath:\n\t\t\t\t\t\t\t\"/content/assignment/\" +\n\t\t\t\t\t\t\tthis.title\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.replace(/[^a-zA-Z0-9 ]/g, \"\")\n\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t.join(\"-\") +\n\t\t\t\t\t\t\t\"-\" +\n\t\t\t\t\t\t\tthis.id +\n\t\t\t\t\t\t\t\"_\" +\n\t\t\t\t\t\t\tthis.productVariantId,\n\t\t\t\t\t\t// query: { productVariantId: this.productVariantId },\n\t\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\ttime() {\n\t\t\treturn (\n\t\t\t\tgetTimeIn12Hours(this.reminderItem.availableFrom) +\n\t\t\t\t\" - \" +\n\t\t\t\tgetTimeIn12Hours(this.reminderItem.availableTo)\n\t\t\t);\n\t\t},\n\t\tdate() {\n\t\t\treturn toShortDateString(this.reminderItem.availableFrom);\n\t\t},\n\t\tisDisabled() {\n\t\t\t// console.log(new Date(this.reminderItem.availableFrom).getDate());\n\t\t\tif (!this.hasContentStarted || this.hasContentEnded) return true;\n\t\t\telse return false;\n\t\t},\n\t},\n\tmethods: {\n\t\t// ...mapActions(\"content\", [\"getContentById\"]),\n\t\thandleContentClick() {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase \"liveclass\":\n\t\t\t\t\tthis.$router.push(this.contentLink);\n\t\t\t\t\treturn;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.$router.push(this.contentLink);\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReminderListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReminderListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ReminderListItem.vue?vue&type=template&id=f33bb64a&scoped=true&\"\nimport script from \"./ReminderListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ReminderListItem.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"f33bb64a\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"sm-header sm-header-notifications\"},[_c('img',{staticClass:\"sm-header-arrow\",attrs:{\"src\":require(\"@/assets/images/caret-right.svg\")},on:{\"click\":_vm.showHideNotification}}),_c('h6',{staticClass:\"sm-header-title\"},[_vm._v(\"Notifications\")])]),_c('div',{staticClass:\"eb-sidebar-classes-wrapper\"},[_c('div',{staticClass:\"sidebar-tabs-wrapper\"},[_c('b-tabs',{attrs:{\"content-class\":\"sidebar-tab-content\",\"nav-class\":\"sidebar-classes-tabs\"}},[_c('b-tab',{attrs:{\"title\":\"Current Events\",\"active\":\"\"}},[(_vm.filteredUpcomingContent(_vm.UpcomingContentType.CURRENT).length>0)?_c('div',{staticClass:\"eb-sidebar-classes\"},_vm._l((_vm.filteredUpcomingContent(_vm.UpcomingContentType.CURRENT)),function(content){return _c('ReminderListItem',{attrs:{\"reminderItem\":content}})}),1):_c('div',{staticClass:\"no-content no-lc-content\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/calendar-time-icon.svg\")}}),_vm._v(\" There are no current events scheduled \")])]),_c('b-tab',{attrs:{\"title\":\"Upcoming Events\"}},[(_vm.filteredUpcomingContent(_vm.UpcomingContentType.UPCOMING).length>0)?_c('div',{staticClass:\"eb-sidebar-classes\"},_vm._l((_vm.filteredUpcomingContent(_vm.UpcomingContentType.UPCOMING)),function(content){return _c('ReminderListItem',{attrs:{\"reminderItem\":content}})}),1):_c('div',{staticClass:\"no-content no-lc-content\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/calendar-time-icon.svg\")}}),_vm._v(\" There are no upcoming events scheduled \")])])],1)],1),(!_vm.isMobile)?_c('div',{staticClass:\"accordion accordion-flush\",staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"reminderAccordian\"}},_vm._l((Object.values(_vm.UpcomingContentType)),function(contentType){return _c('div',{key:contentType,staticClass:\"accordion-item mb-3\"},[_c('h3',{staticClass:\"accordion-header\",attrs:{\"id\":(\"accordian-\" + contentType)}},[_c('button',{class:[\n\t\t\t\t\t\t'accordion-button',\n\t\t\t\t\t\t{ collapsed: _vm.activeAnnouncementAccordian != contentType } ],attrs:{\"type\":\"button\",\"data-bs-toggle\":\"collapse\",\"data-bs-target\":(\"#accordian-collapse-\" + contentType),\"aria-expanded\":_vm.activeAnnouncementAccordian == contentType}},[_vm._v(\" \"+_vm._s(contentType)+\" Events \")])]),_c('div',{class:['accordion-collapse'],attrs:{\"id\":(\"accordian-collapse-\" + contentType),\"data-bs-parent\":\"#reminderAccordian\"}},[_c('div',{staticClass:\"accordion-body\"},[(_vm.filteredUpcomingContent(contentType).length > 0 && !_vm.loading)?_c('div',{staticClass:\"eb-sidebar-classes\"},_vm._l((_vm.filteredUpcomingContent(contentType)),function(item){return _c('ReminderListItem',{key:item.id,attrs:{\"reminderItem\":item}})}),1):_c('div',{staticClass:\"no-content no-lc-content\"},[_vm._v(\" No \"+_vm._s(contentType.toLowerCase())+\" events \")])])])])}),0):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div class=\"sm-header sm-header-notifications\">\n\t\t\t<img @click=\"showHideNotification\" class=\"sm-header-arrow\" src=\"@/assets/images/caret-right.svg\" />\n\t\t\t<h6 class=\"sm-header-title\">Notifications</h6>\n\t\t</div>\n\t\t<div class=\"eb-sidebar-classes-wrapper\">\n\t\t\t<div class=\"sidebar-tabs-wrapper\">\n\t\t\t\t<b-tabs content-class=\"sidebar-tab-content\" nav-class=\"sidebar-classes-tabs\">\n\t\t\t\t\t<b-tab title=\"Current Events\" active>\n\t\t\t\t\t\t<div class=\"eb-sidebar-classes\" v-if=\"filteredUpcomingContent(UpcomingContentType.CURRENT).length>0\">\n\t\t\t\t\t\t\t<ReminderListItem v-for=\"content in filteredUpcomingContent(UpcomingContentType.CURRENT)\" :reminderItem=\"content\">\n\t\t\t\t\t\t\t</ReminderListItem>\t\t\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-else class=\"no-content no-lc-content\">\n\t\t\t\t\t\t\t<img src=\"@/assets/images/calendar-time-icon.svg\">\n\t\t\t\t\t\t\tThere are no current events scheduled\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</b-tab>\n\t\t\t\t\t<b-tab title=\"Upcoming Events\">\n\t\t\t\t\t\t<div class=\"eb-sidebar-classes\" v-if=\"filteredUpcomingContent(UpcomingContentType.UPCOMING).length>0\">\n\t\t\t\t\t\t\t<ReminderListItem v-for=\"content in filteredUpcomingContent(UpcomingContentType.UPCOMING)\" :reminderItem=\"content\">\n\t\t\t\t\t\t\t</ReminderListItem>\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-else class=\"no-content no-lc-content\">\n\t\t\t\t\t\t\t<img src=\"@/assets/images/calendar-time-icon.svg\">\n\t\t\t\t\t\t\tThere are no upcoming events scheduled\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</b-tab>\n\t\t\t\t</b-tabs>\n\t\t\t</div>\n\t\t\t\n\n\n\t\t\t<div v-if=\"!isMobile\" class=\"accordion accordion-flush\" id=\"reminderAccordian\" style=\"display: none;\">\n\t\t\t\t<div v-for=\"contentType in Object.values(UpcomingContentType)\" :key=\"contentType\"\n\t\t\t\t\tclass=\"accordion-item mb-3\">\n\t\t\t\t\t<h3 class=\"accordion-header\" :id=\"`accordian-${contentType}`\">\n\t\t\t\t\t\t<button :class=\"[\n\t\t\t\t\t\t\t'accordion-button',\n\t\t\t\t\t\t\t{ collapsed: activeAnnouncementAccordian != contentType },\n\t\t\t\t\t\t]\" type=\"button\" data-bs-toggle=\"collapse\" :data-bs-target=\"`#accordian-collapse-${contentType}`\"\n\t\t\t\t\t\t\t:aria-expanded=\"activeAnnouncementAccordian == contentType\">\n\t\t\t\t\t\t\t{{ contentType }} Events\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</h3>\n\t\t\t\t\t<div :id=\"`accordian-collapse-${contentType}`\" :class=\"['accordion-collapse']\"\n\t\t\t\t\t\tdata-bs-parent=\"#reminderAccordian\">\n\t\t\t\t\t\t<div class=\"accordion-body\">\n\t\t\t\t\t\t\t<div class=\"eb-sidebar-classes\"\n\t\t\t\t\t\t\t\tv-if=\"filteredUpcomingContent(contentType).length > 0 && !loading\">\n\t\t\t\t\t\t\t\t<ReminderListItem v-for=\"item in filteredUpcomingContent(contentType)\" :key=\"item.id\"\n\t\t\t\t\t\t\t\t\t:reminderItem=\"item\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"no-content no-lc-content\" v-else>\n\t\t\t\t\t\t\t\tNo {{ contentType.toLowerCase() }} events\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport ReminderListItem from \"./ReminderListItem.vue\";\nimport { mapActions, mapState } from \"vuex\";\nimport { UPDATES_CAROUSEL_SETTINGS } from \"../../constants/productCarouselSettings\";\nimport VueSlickCarousel from \"vue-slick-carousel\";\nimport { getInputDateFormat } from \"../../helpers/FormatHelpers\";\nimport { UpcomingContentType } from \"../../constants/content\";\n\nexport default {\n\tname: \"Reminders\",\n\tdata() {\n\t\treturn {\n\t\t\tactiveAnnouncementAccordian: UpcomingContentType.CURRENT,\n\t\t\tactiveTab: \"reminder\",\n\t\t\tsettings: UPDATES_CAROUSEL_SETTINGS,\n\t\t\tcurrentReminderSlide: 1,\n\t\t\tcurrentAnnouncementSlide: 1,\n\t\t\ttotalReminderSlides: 0,\n\t\t\tloading: false,\n\t\t\tUpcomingContentType,\n\t\t};\n\t},\n\tcomponents: { ReminderListItem, VueSlickCarousel },\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getUpcomingContent\"]),\n\t\thasContentStarted(reminderItem) {\n\t\t\treturn (\n\t\t\t\tnew Date(\n\t\t\t\t\tnew Date(reminderItem.availableFrom).getTime() - 5 * 60 * 1000\n\t\t\t\t) < new Date()\n\t\t\t);\n\t\t\t// return new Date(reminderItem.availableFrom) < new Date();\n\t\t},\n\t\t// check if meeting has ended and 15 minutes have passed\n\t\thasContentEnded(reminderItem) {\n\t\t\treturn (\n\t\t\t\tnew Date() >\n\t\t\t\tnew Date(\n\t\t\t\t\tnew Date(reminderItem.availableTo).setTime(\n\t\t\t\t\t\tnew Date(reminderItem.availableTo).getTime() + 900000\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\tchangeTab(e) {\n\t\t\tthis.activeTab = e.target.id;\n\t\t},\n\t\tnextSlide() {\n\t\t\tthis.$refs.reminder_carousel.next();\n\t\t\tif (this.currentReminderSlide < this.totalReminderSlides)\n\t\t\t\tthis.currentReminderSlide += 1;\n\t\t},\n\t\tprevSlide() {\n\t\t\tthis.$refs.reminder_carousel.prev();\n\t\t\tif (this.currentReminderSlide > 1) this.currentReminderSlide -= 1;\n\t\t},\n\t\tupdateSlide(currSlide) {\n\t\t\tthis.currentReminderSlide = currSlide + 1;\n\t\t},\n\t\tfilteredUpcomingContent(type = null, order = \"asc\") {\n\t\t\tif (type) {\n\t\t\t\treturn this.upcomingContent.filter((content) => {\n\t\t\t\t\tswitch (type) {\n\t\t\t\t\t\tcase UpcomingContentType.CURRENT:\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tthis.hasContentStarted(content) &&\n\t\t\t\t\t\t\t\t!this.hasContentEnded(content)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn content;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase UpcomingContentType.UPCOMING:\n\t\t\t\t\t\t\tif (!this.hasContentStarted(content)) {\n\t\t\t\t\t\t\t\treturn content;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase UpcomingContentType.PAST:\n\t\t\t\t\t\t\tif (this.hasContentEnded(content)) {\n\t\t\t\t\t\t\t\treturn content;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn this.upcomingContent;\n\t\t},\n\t\tshowHideNotification() {\n\t\t\tdocument.getElementById(\"coursesNotification\").classList.toggle(\"active\");\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.loading = true;\n\t\tvar currentDate = new Date();\n\t\tvar tomorrowDate = new Date(currentDate).setDate(currentDate.getDate() + 1);\n\t\ttomorrowDate = new Date(tomorrowDate).toISOString();\n\t\tthis.getUpcomingContent({\n\t\t\tstartDate: new Date(currentDate.setHours(0, 0, 0, 0)).toISOString(),\n\t\t\tendDate: tomorrowDate,\n\t\t}).then(() => {\n\t\t\tthis.loading = false;\n\t\t\tthis.totalReminderSlides = this.filteredUpcomingContent().length;\n\t\t\tthis.$emit(\"updatesCardVisibility\", this.upcomingContent.length > 0);\n\t\t});\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"upcomingContent\"]),\n\t\t...mapState(\"appState\", [\"isMobile\"]),\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (min-width: 1440px) {\n\t.dashboard-updates-container {\n\t\twidth: 30% !important;\n\t}\n}\n\n@media screen and (max-width: 996px) {\n\t.updates-card {\n\t\tbox-shadow: 0 3px 6px #d5d5d529 !important;\n\t}\n\n\t.reminders-content {\n\t\tmax-height: unset !important;\n\t\tpadding: 1rem !important;\n\t\tmargin: 0 !important;\n\t\tpadding-bottom: 0.5rem !important;\n\t}\n\n\t.dashboard-updates-container {\n\t\tpadding: 0 !important;\n\t\twidth: 100% !important;\n\t}\n}\n\n.reminders-content.mobile {\n\toverflow: hidden;\n}\n\n.dashboard-updates-container {\n\tdisplay: flex;\n\tpadding: 0 0 0 0.5rem;\n\tflex-shrink: 0;\n\twidth: 35%;\n}\n\n.updates-card {\n\twidth: 100%;\n\tborder: 1px solid #959595;\n\tborder-radius: 8px;\n\t/* padding: 1.5rem 1.5rem 0; */\n\tmargin-top: -3.5rem;\n\tz-index: 998;\n\tbackground-color: var(--color-white);\n\tbox-shadow: 0 -6px 8px #e0e0e029;\n\theight: fit-content;\n}\n\n.updates-tabs {\n\tborder-radius: 8px 8px 0 0;\n\tbackground-color: #f8f8f8;\n}\n\n.updates-tabs li {\n\twidth: 50%;\n\tfont-weight: 500;\n\tpadding: 1rem;\n}\n\n.updates-tabs li:first-child {\n\tborder-radius: 8px 0 0 0 !important;\n}\n\n.updates-tabs li.active {\n\tborder-radius: 0 8px 0 0;\n\tbackground-color: #ffffff;\n}\n\n.announcements-content {\n\tpadding: 1rem 1.5rem 0;\n\tmax-height: 50vh;\n\toverflow-y: auto;\n\tmargin: 0.5rem 0;\n}\n\n.reminders-content {\n\tpadding: 1rem 1.5rem 0;\n\tmax-height: 60vh;\n\toverflow-y: auto;\n\tmargin: 0.5rem 0;\n}\n\n.tab-icon {\n\tfont-size: 1.1rem;\n\tmargin-right: 0.5rem;\n\tpointer-events: none;\n}\n\n.accordion-flush .accordion-item .accordion-button {\n\ttext-transform: inherit;\n\tfont-weight: inherit;\n\tfont-size: inherit;\n\tpadding: 0.5rem 0;\n}\n\n.accordion-button:not(.collapsed) {\n\tbackground-color: transparent !important;\n\tbox-shadow: none !important;\n\tcolor: inherit;\n}\n\n.accordion-button:not(.collapsed)::after {\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%707070'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\") !important;\n}\n\n.accordion-body {\n\tpadding: 1rem 0;\n}\n\n.announcement-item {\n\tborder: 1px solid #e5e5e5;\n\tborder-radius: 8px;\n\tbackground-color: #fafafa;\n\tbox-shadow: 0 6px 8px #e0e0e029;\n\tpadding: 1.25rem;\n\tmargin-bottom: 1.5rem;\n}\n\n.announcement-item:last-child {\n\tmargin-bottom: 0;\n}\n\n.announcement-title {\n\tfont-size: 1.125rem;\n\tcolor: #000;\n\tfont-weight: 500;\n\twidth: 100%;\n}\n\n.announcement-text {\n\tfont-size: 1rem;\n\tcolor: #4a4a4a;\n\tline-height: 1.5rem;\n\tfont-weight: normal;\n\tmargin-bottom: 0.5rem;\n}\n\n.announcement-read-more {\n\tfont-size: 0.875rem;\n\tfont-weight: 450;\n\tcolor: #ff0000;\n\ttext-decoration: none;\n}\n\n::-webkit-scrollbar {\n\twidth: 6px;\n\theight: 4px;\n}\n\n::-webkit-scrollbar-track {\n\tbackground: #ebebeb;\n}\n\n::-webkit-scrollbar-thumb {\n\tbackground: #000000;\n\tborder-radius: 1rem;\n}\n\n.notification-badge {\n\tposition: relative;\n\ttop: -0.75rem;\n\tright: 0.3rem;\n\tfont-size: 0.7rem;\n\tline-height: 1;\n\tbackground-color: var(--color-red);\n\tdisplay: inline-block;\n\t/* padding: 0.2rem 0.3rem; */\n\twidth: 1rem;\n\theight: 1rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder-radius: 5rem;\n\tfont-weight: 500;\n\tcolor: #ffffff;\n}\n\n.accordion-button:focus {\n\tbox-shadow: none !important;\n}\n\n.carousel-arrows {\n\tdisplay: flex;\n}\n\n.carousel-arrow-mobile {\n\tmargin: 0.5rem;\n\tfont-size: 1.25rem;\n\tborder: 1px solid var(--primary-color);\n\twidth: 2rem;\n\theight: 2rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tline-height: 1;\n\tborder-radius: 1rem;\n\ttext-decoration: none;\n\tcolor: #000;\n}\n\n.carousel-arrow-mobile:nth-of-type(1) {\n\tpadding-right: 0.125rem;\n}\n\n.carousel-arrow-mobile:nth-of-type(2) {\n\tpadding-left: 0.125rem;\n}\n\n.carousel-controls {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tmargin-top: 0.25rem;\n}\n\n.carousel-slide-count {\n\tcolor: var(--color-gray);\n}\n\n/* .live-class-item {\n\twidth: 100%;\n\tborder: 2px solid var(--color-gray);\n\tborder-radius: 4px;\n\tpadding: 1rem;\n\tmargin-bottom: 1rem;\n}\n\n.live-class-tag {\n\tborder-radius: 4px;\n\tbackground-color: var(--color-red);\n\tpadding: 0.1rem 0.5rem;\n\tcolor: var(--color-white);\n\tfont-size: 0.65rem;\n\ttext-transform: uppercase;\n}\n\n.class-timings {\n\tcolor: var(--color-dark-gray);\n\tfont-size: 0.7rem;\n\tmargin-left: auto;\n\tdisplay: inline-block;\n}\n\n.live-class-title {\n\tfont-size: 1rem;\n\tpadding: 0.5rem 0;\n\tmargin: 0;\n\tmargin-top: 0.5rem;\n\tfont-weight: bold;\n}\n\n.join-btn {\n\ttext-transform: uppercase;\n\ttext-decoration: none;\n\tfont-size: 0.75rem;\n\tmargin: 0;\n\tpadding: 0.2rem 0.75rem;\n\tcolor: white;\n\tbackground-color: var(--color-red);\n\tborder-radius: 1rem;\n\tmargin-left: 0.5rem;\n\tfont-weight: 500;\n} */\n\n\n.eb-sidebar-classes {\n\tpadding: 20px 15px 15px;\n}\n\n.no-lc-content {\n\tpadding: 2rem 2.5rem 3rem;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tfont-weight: 400;\n\tcolor: var(--gray-2);\n}\n\n.no-lc-content img {\n\tmargin: 30px 0;\n\tmax-width: 78px;\n}\n\n.sm-header-notifications {\n\tdisplay: none;\n\tpadding: 25px 20px 15px 5px;\n\talign-items: center;\n\theight: 72px;\n}\n\n.sm-header-arrow {\n\ttransform: scaleX(-1);\n\tpadding: 10px 15px;\n}\n\n@media (max-width:768px) {\n\t.sm-header-notifications {\n\t\tdisplay: flex;\n\t}\n\n\t.sm-header-notifications h6 {\n\t\tfont-size: 1.75em;\n\t\tmargin: 0;\n\t}\n\n\t.eb-sidebar-classes-wrapper {\n\t\tborder: none;\n\t\tbox-shadow: 0 -3px 6px rgba(0, 0, 0, 0.05);\n\t}\n\n\t.sidebar-classes-tabs>li button {\n\t\theight: 48px;\n\t\tborder-radius: 0 !important;\n\t}\n\n\t.eb-sidebar-classes {\n\t\theight: calc(100vh - 160px);\n\t\toverflow: auto;\n\t\tpadding: 0;\n\t}\n\n\t.sidebar-tab-content {\n\t\tpadding: 20px 15px 15px;\n\t}\n}</style>\n<style>\n.sidebar-classes-tabs>li {\n\twidth: 50%;\n}\n\n.sidebar-classes-tabs>li a {\n\twidth: 100%;\n\tpadding-top: 15px;\n\tpadding-bottom: 15px;\n\tborder-radius: 0;\n\tborder: none;\n\tbackground: #f8f8f8;\n\tcolor: black;\n\tfont-size: 1rem;\n\ttext-align: center;\n\tfont-weight: 600;\n}\n.sidebar-classes-tabs>li a:hover {\n\t\n\tcolor: black;\n}\n\n.sidebar-classes-tabs>li a.active {\n\tbackground: white;\n\tcolor: var(--primary-color) !important;\n}\n\n.sidebar-classes-tabs>li:first-child a {\n\tborder-radius: 6px 0 0 0;\n}\n\n.sidebar-classes-tabs>li:last-child a {\n\tborder-radius: 0 6px 0 0;\n}\n\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Reminders.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Reminders.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Reminders.vue?vue&type=template&id=5751baa3&scoped=true&\"\nimport script from \"./Reminders.vue?vue&type=script&lang=js&\"\nexport * from \"./Reminders.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Reminders.vue?vue&type=style&index=0&id=5751baa3&prod&scoped=true&lang=css&\"\nimport style1 from \"./Reminders.vue?vue&type=style&index=1&id=5751baa3&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5751baa3\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"eb-course-list-wrapper py-3 px-1\"},[_c('div',{staticClass:\"d-flex mb-4 gap-3 overflow-auto\"},_vm._l((_vm.tabs),function(tab){return _c('button',{class:[\n                'filter-button d-flex',\n                { active: tab.id === _vm.activeTab.id } ],on:{\"click\":function($event){return _vm.toggleTabState(tab)}}},[_vm._v(\" \"+_vm._s(tab.title)+\" \"),_c('b-badge',{staticClass:\"bg-secondary ms-2\",attrs:{\"variant\":\"primary\"}},[_vm._v(_vm._s(_vm.userProducts(tab.productVariantStatusToShow).length))])],1)}),0),(_vm.userProducts(_vm.activeTab.productVariantStatusToShow).length === 0)?_c('div',{staticClass:\"no-courses-message\"},[_vm._v(\" You do not have any \"+_vm._s(_vm.activeTab.title)+\" courses right now. \")]):_vm._e(),_c('ul',{staticClass:\"eb-course-list\"},_vm._l((_vm.userProducts(_vm.activeTab.productVariantStatusToShow)),function(product){return _c('UserDashboardProductsListItem',{key:product.id,attrs:{\"data\":product,\"purchased\":true}})}),1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"eb-course-list-wrapper py-3 px-1\">\n\t\t<div class=\"d-flex mb-4 gap-3 overflow-auto\">\n\t\t\t<button\n\t\t\t  v-for=\"tab in tabs\"\n              @click=\"toggleTabState(tab)\"\n              :class=\"[\n                'filter-button d-flex',\n                { active: tab.id === activeTab.id },\n              ]\"\n            >\n              {{ tab.title }}\n\t\t\t  <b-badge variant=\"primary\" class=\"bg-secondary ms-2\">{{userProducts(tab.productVariantStatusToShow).length}}</b-badge>\n            </button>\n          </div>\n\t\t<div v-if=\"userProducts(activeTab.productVariantStatusToShow).length === 0\" class=\"no-courses-message\">\n\t\t\tYou do not have any {{ activeTab.title }} courses right now.\n\t\t</div>\n\t\t<ul class=\"eb-course-list\">\n\t\t\t<UserDashboardProductsListItem v-for=\"product in userProducts(activeTab.productVariantStatusToShow)\" :key=\"product.id\"\t\t\t\n\t\t\t:data=\"product\"\t\t\t\n\t\t\t:purchased=\"true\"></UserDashboardProductsListItem>\n\t\t</ul>\n\t</div>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nimport { ProductVariantStatus } from \"../../constants/productVariant\";\nimport  UserDashboardProductsListItem  from \"./UserDashboardProductsListItem.vue\";\nexport default {\n\tname: \"UserDashboardProducts\",\n\t// props: {  \n\t// \ttabStatus:String\n\t// },\n\tdata(){\n\t\treturn {\n\t\t\t//productVariantProgress:{}\n\t\t\ttabStatus: \"Allowed\",\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tid: 'currently-active',\n\t\t\t\t\ttitle: 'active',\n\t\t\t\t\tproductVariantStatusToShow: 'allowed',\n\t\t\t\t\tisActive: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'unenrolled-expired',\n\t\t\t\t\ttitle: 'unenrolled/expired',\n\t\t\t\t\tproductVariantStatusToShow: 'unenrolled',\n\t\t\t\t\tisActive: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'blocked',\n\t\t\t\t\ttitle: 'blocked',\n\t\t\t\t\tproductVariantStatusToShow: 'blocked',\n\t\t\t\t\tisActive: false\n\t\t\t\t},\n\t\t\t],\n\t\t\tactiveTab: undefined,\n\t\t};\n\t},\n\tcomponents: { UserDashboardProductsListItem },\n\tmethods:{\n\t\t...mapActions(\"user\", [\"fetchTrainersList\"]),\t\t\n\t\t...mapActions(\"productVariant\", [\"getProductVariantProgress\"]),\n\t\tuserProducts(subscriptionStatus) {\n\t\t\tvar myProducts =\n\t\t\t\tthis.user && this.user.productVariants\n\t\t\t\t\t? this.user.productVariants.filter(\n\t\t\t\t\t\t\t(productVariant) =>\n\t\t\t\t\t\t\t\tproductVariant.status != ProductVariantStatus.DRAFT\n\t\t\t\t\t\t\t\t&& productVariant.product && productVariant.product.title\n\t\t\t\t\t\t\t\t&& productVariant.subscriptionStatus.toLowerCase() === subscriptionStatus\n\t\t\t\t\t\t\t// &&\n\t\t\t\t\t\t\t// ? productVariant.endDate\n\t\t\t\t\t\t\t// \t? new Date() >= productVariant.endDate\n\t\t\t\t\t\t\t// \t: true\n\t\t\t\t\t\t\t// : false\n\t\t\t\t\t\t\t// productVariant.subscriptionStatus &&\n\t\t\t\t\t\t\t// productVariant.subscriptionStatus.toLowerCase() != \"unenrolled\"\n\t\t\t\t\t  )\n\t\t\t\t\t: [];\n\t\t\treturn myProducts\n\t\t},\n\t\ttoggleTabState(tab) {\n\t\t\tthis.activeTab = tab;\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\",\"trainers\"])\t\t\n\t},\n\tcreated:function(){\n\t\tthis.activeTab = this.tabs[0];\n\t\tthis.fetchTrainersList().then(() => {\n\t\t\tconsole.log(\"trainers fetched\");\n\t\t});\n\t\tthis.getProductVariantProgress(null).then((data)=>{\n\t\t});\n\t},\n\twatch:{\n\t\tuser:function(){\n\t\t\tconsole.log(this.user);\n\t\t}\n\t}\n};\n</script>\n\n<style scoped>\n.no-courses-message {\n  text-align: center;\n  padding: 20px;\n  font-size: 18px;\n  color: #666;\n}\n.filter-button.active{\n  color: black;\n  border-bottom: 2px solid var(--primary-color);\n  border-radius: 0px;\n}\n.filter-button{\n    background: #ffffff;\n    padding: 0.625rem 1rem;\n    text-transform: uppercase;\n    font-weight: 500;\n    font-size: 0.875rem;\n    line-height: 1.125rem;\n    letter-spacing: 0.05em;\n    border: 1px solid transparent;\n}\n\n@media screen and (max-width: 600px){\n  .filter-button{\n    padding: 0.5rem 0.25rem;\n    font-size: 0.75rem;\n  }\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserDashboardProducts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserDashboardProducts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserDashboardProducts.vue?vue&type=template&id=2e2e1723&scoped=true&\"\nimport script from \"./UserDashboardProducts.vue?vue&type=script&lang=js&\"\nexport * from \"./UserDashboardProducts.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserDashboardProducts.vue?vue&type=style&index=0&id=2e2e1723&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2e2e1723\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"eb-list-item\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.handleClick()}}},[_c('div',{staticClass:\"eb-item-img\"},[_c('a',{staticClass:\"thumbnail\"},[(_vm.directEnrollmentProductVariants && _vm.productVariantsExpiresAt)?_c('div',{staticClass:\"expires-date-main-div\"},[(!_vm.isProductVariantExpired)?_c('svg',{staticClass:\"clock-or-error-expires-icon\",attrs:{\"width\":\"19\",\"height\":\"19\",\"viewBox\":\"0 0 19 19\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M9.59901 0.738281C11.3335 0.738494 13.0288 1.25347 14.4704 2.21797C15.9119 3.18247 17.0348 4.55311 17.6967 6.15627C18.3587 7.75943 18.5299 9.52299 18.1888 11.2236C17.8477 12.9241 17.0095 14.4852 15.7805 15.709C14.5515 16.9329 12.9868 17.7644 11.2849 18.0984C9.58285 18.4323 7.82004 18.2536 6.21969 17.5848C4.61934 16.9161 3.25347 15.7875 2.29507 14.3419C1.33668 12.8962 0.828885 11.1987 0.836011 9.46428C0.848946 7.14758 1.77751 4.93001 3.41915 3.2953C5.06079 1.66059 7.28228 0.741413 9.59901 0.738281ZM1.99901 9.49628C1.99782 10.9999 2.4427 12.4701 3.27734 13.7209C4.11198 14.9716 5.29888 15.9466 6.68784 16.5226C8.07681 17.0986 9.60541 17.2496 11.0802 16.9565C12.555 16.6635 13.9098 15.9395 14.973 14.8763C16.0363 13.8131 16.7602 12.4583 17.0533 10.9835C17.3463 9.50868 17.1953 7.98008 16.6193 6.59111C16.0434 5.20215 15.0683 4.01525 13.8176 3.18061C12.5669 2.34597 11.0967 1.90109 9.59301 1.90228C7.58148 1.91018 5.65461 2.71283 4.23233 4.1353C2.81004 5.55777 2.00765 7.48475 2.00001 9.49628\",\"fill\":\"#1A1818\"}}),_c('path',{attrs:{\"d\":\"M1.99901 9.49628C1.99782 10.9999 2.4427 12.4701 3.27734 13.7209C4.11198 14.9716 5.29888 15.9466 6.68784 16.5226C8.07681 17.0986 9.60541 17.2496 11.0802 16.9565C12.555 16.6635 13.9098 15.9395 14.973 14.8763C16.0363 13.8131 16.7602 12.4583 17.0533 10.9835C17.3463 9.50868 17.1953 7.98008 16.6193 6.59111C16.0434 5.20215 15.0683 4.01525 13.8176 3.18061C12.5669 2.34597 11.0967 1.90109 9.59301 1.90228C7.58148 1.91018 5.65461 2.71283 4.23233 4.1353C2.81004 5.55777 2.00765 7.48475 2.00001 9.49628M9.59901 0.738281C11.3335 0.738494 13.0288 1.25347 14.4704 2.21797C15.9119 3.18247 17.0348 4.55311 17.6967 6.15627C18.3587 7.75943 18.5299 9.52299 18.1888 11.2236C17.8477 12.9241 17.0095 14.4852 15.7805 15.709C14.5515 16.9329 12.9869 17.7644 11.2849 18.0984C9.58285 18.4323 7.82004 18.2536 6.21969 17.5848C4.61934 16.9161 3.25347 15.7875 2.29507 14.3419C1.33668 12.8962 0.828885 11.1987 0.836011 9.46428C0.848946 7.14758 1.77751 4.93001 3.41915 3.2953C5.06079 1.66059 7.28228 0.741413 9.59901 0.738281Z\",\"stroke\":\"black\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\"}}),_c('path',{attrs:{\"d\":\"M8.57578 11.6014C8.56478 11.4704 8.55078 11.3854 8.55078 11.3014C8.55078 9.2394 8.55078 7.17706 8.55078 5.11439C8.55078 4.62739 8.75078 4.3674 9.10778 4.3324C9.18713 4.31999 9.26816 4.32364 9.34608 4.34313C9.42399 4.36262 9.49719 4.39756 9.56136 4.44587C9.62552 4.49417 9.67933 4.55487 9.7196 4.62435C9.75987 4.69384 9.78577 4.77071 9.79578 4.85039C9.81522 4.98481 9.82325 5.12063 9.81979 5.2564C9.81979 6.78973 9.81979 8.32106 9.81979 9.85039V10.3384H10.2528C11.4528 10.3384 12.6528 10.3384 13.8458 10.3384C13.9293 10.3316 14.0133 10.3417 14.0928 10.368C14.1723 10.3944 14.2457 10.4365 14.3086 10.4918C14.3715 10.5472 14.4226 10.6146 14.4589 10.6901C14.4952 10.7657 14.5159 10.8477 14.5198 10.9314C14.5231 11.0184 14.5085 11.1052 14.4771 11.1864C14.4456 11.2676 14.3979 11.3415 14.3368 11.4036C14.2758 11.4657 14.2027 11.5146 14.122 11.5474C14.0414 11.5803 13.9548 11.5962 13.8678 11.5944C12.1148 11.6054 10.3628 11.5944 8.57378 11.5944\",\"fill\":\"#1A1818\"}}),_c('path',{attrs:{\"d\":\"M8.57578 11.6014C8.56478 11.4704 8.55078 11.3854 8.55078 11.3014C8.55078 9.23939 8.55078 7.17706 8.55078 5.11439C8.55078 4.62739 8.75078 4.3674 9.10778 4.3324C9.18713 4.31999 9.26817 4.32364 9.34608 4.34313C9.42399 4.36262 9.49719 4.39756 9.56136 4.44587C9.62552 4.49417 9.67933 4.55487 9.7196 4.62435C9.75987 4.69384 9.78577 4.77071 9.79578 4.85039C9.81522 4.98481 9.82325 5.12063 9.81979 5.2564C9.81979 6.78973 9.81979 8.32106 9.81979 9.85039V10.3384H10.2528C11.4528 10.3384 12.6528 10.3384 13.8458 10.3384C13.9293 10.3316 14.0133 10.3417 14.0928 10.368C14.1723 10.3944 14.2457 10.4365 14.3086 10.4918C14.3715 10.5472 14.4226 10.6146 14.4589 10.6901C14.4952 10.7657 14.5159 10.8477 14.5198 10.9314C14.5231 11.0184 14.5085 11.1052 14.4771 11.1864C14.4456 11.2676 14.3979 11.3415 14.3368 11.4036C14.2758 11.4657 14.2027 11.5146 14.122 11.5474C14.0414 11.5803 13.9548 11.5962 13.8678 11.5944C12.1148 11.6054 10.3628 11.5944 8.57378 11.5944\",\"stroke\":\"black\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\"}})]):_c('svg',{staticClass:\"clock-or-error-expires-icon\",attrs:{\"width\":\"17\",\"height\":\"14\",\"viewBox\":\"0 0 17 14\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M8.06715 13.8901C5.91215 13.8901 3.75715 13.8841 1.60215 13.8901C1.3232 13.9158 1.04268 13.8619 0.793127 13.7346C0.543571 13.6074 0.335193 13.412 0.192148 13.1711C0.0487986 12.9255 -0.020053 12.6435 -0.00602713 12.3594C0.00799874 12.0753 0.104297 11.8015 0.271148 11.5711C2.43381 7.99046 4.59248 4.41313 6.74715 0.839127C6.86436 0.588486 7.05061 0.376463 7.28405 0.227924C7.5175 0.0793844 7.78845 0.000488281 8.06515 0.000488281C8.34184 0.000488281 8.6128 0.0793844 8.84624 0.227924C9.07969 0.376463 9.26593 0.588486 9.38315 0.839127C11.5431 4.41379 13.7008 7.98946 15.8561 11.5661C16.0225 11.7948 16.1193 12.0666 16.1351 12.3489C16.151 12.6313 16.0851 12.9122 15.9454 13.158C15.8057 13.4039 15.5981 13.6042 15.3474 13.7351C15.0968 13.8661 14.8137 13.9219 14.5321 13.8961C12.3771 13.8861 10.2221 13.8961 8.06715 13.8961\",\"fill\":\"#FF0000\"}}),_c('path',{attrs:{\"d\":\"M7.21584 5.1084C7.21584 4.8534 7.21584 4.5974 7.21584 4.3424C7.22284 3.8424 7.51585 3.5744 8.05585 3.5694C8.59585 3.5644 8.91984 3.84241 8.90884 4.32641C8.88384 5.44941 8.83885 6.5714 8.80185 7.6944C8.78718 8.14107 8.77184 8.58741 8.75584 9.03341C8.74084 9.43341 8.49384 9.6524 8.04684 9.6504C7.59984 9.6484 7.38885 9.45041 7.37385 9.05041C7.32385 7.7364 7.27385 6.42274 7.22385 5.1094H7.21484\",\"fill\":\"white\"}}),_c('path',{attrs:{\"d\":\"M8.06187 12.2813C7.94368 12.2781 7.82727 12.2517 7.71928 12.2036C7.6113 12.1554 7.51385 12.0865 7.4325 12.0007C7.35116 11.9149 7.28751 11.8139 7.24519 11.7035C7.20288 11.5931 7.18272 11.4755 7.18587 11.3573C7.18902 11.2391 7.21542 11.1227 7.26356 11.0147C7.31171 10.9067 7.38064 10.8093 7.46645 10.7279C7.55225 10.6466 7.65323 10.5829 7.76363 10.5406C7.87402 10.4983 7.99168 10.4781 8.10987 10.4813C8.34857 10.4876 8.57495 10.5886 8.73923 10.7619C8.90352 10.9351 8.99224 11.1666 8.98587 11.4053C8.9795 11.644 8.87858 11.8704 8.7053 12.0347C8.53202 12.1989 8.30056 12.2876 8.06187 12.2813Z\",\"fill\":\"white\"}})]),_c('div',{staticClass:\"expiry-date-text\"},[_vm._v(\" Expires At: \")]),_c('div',{staticClass:\"actual-expiry-date\"},[_vm._v(\" \"+_vm._s(_vm.formattedDate)+\" \")])]):_vm._e(),_c('div',{}),_c('img',{class:(\"\" + (_vm.isThumbnailError ? '' : '')),attrs:{\"src\":_vm.thumbnailPath,\"alt\":_vm.data.product.friendlyTitle},on:{\"error\":function () {\n\t\t\t\t_vm.isThumbnailError = true;\n\t\t\t}}})])]),_c('div',{staticClass:\"eb-item-desc\"},[_c('h4',{staticClass:\"eb-item-title\",attrs:{\"id\":'sb-batch-' + _vm.data.id}},[_vm._v(_vm._s(_vm.data.product.title)+\" - \"+_vm._s(_vm.data.title))]),_c('b-tooltip',{attrs:{\"target\":'sb-batch-' + _vm.data.id,\"triggers\":\"hover\"}},[_c('b',[_vm._v(_vm._s(_vm.data.product.title))]),_c('br'),_vm._v(\" \"+_vm._s(_vm.data.title)+\" \")]),(_vm.productTrainers(_vm.data.properties.trainers).length > 0)?_c('div',{staticClass:\"eb-item-instructor d-flex\"},[_c('div',{staticClass:\"tutor-images\"},_vm._l((_vm.productTrainers(_vm.data.properties.trainers).slice(0, 2)),function(t){return _c('div',{key:t.id,staticClass:\"tutor-image\"},[(t.profilePicture)?_c('img',{staticClass:\"ls-is-cached lazyloaded\",staticStyle:{\"object-fit\":\"contain\"},attrs:{\"data-src\":\"../../assets/images/user_img_placeholder.jpg\",\"alt\":\"\",\"src\":t.profilePicture}}):_c('div',{staticClass:\"user-avatar\"},[_c('span',[_vm._v(_vm._s(t.firstName[0]))])])])}),0),_c('span',[_vm._v(\" \"+_vm._s(_vm.productTrainers(_vm.data.properties.trainers)[0].firstName)+\" \"+_vm._s(_vm.productTrainers(_vm.data.properties.trainers)[0].lastName)+\" \"),(_vm.productTrainers(_vm.data.properties.trainers).length > 1)?_c('span',[_vm._v(_vm._s((\"+\" + (_vm.productTrainers(_vm.data.properties.trainers).length - 1) + \" trainer\" + (_vm.productTrainers(_vm.data.properties.trainers).length > 2 ? \"s\" : \"\")))+\" \")]):_vm._e()])]):_c('div',{staticStyle:{\"min-height\":\"40px\"}}),_c('div',{staticClass:\"eb-item-rating-bar\"},[_c('div',{staticClass:\"eb-rating-stars\"},[_c('span',{class:'star ' + (_vm.data.ratings.value && parseInt(_vm.data.ratings.value) >= 1 ? 'checked' : '')},[_vm._v(\"★\")]),_c('span',{class:'star ' + (_vm.data.ratings.value && parseInt(_vm.data.ratings.value) >= 2 ? 'checked' : '')},[_vm._v(\"★\")]),_c('span',{class:'star ' + (_vm.data.ratings.value && parseInt(_vm.data.ratings.value) >= 3 ? 'checked' : '')},[_vm._v(\"★\")]),_c('span',{class:'star ' + (_vm.data.ratings.value && parseInt(_vm.data.ratings.value) >= 4 ? 'checked' : '')},[_vm._v(\"★\")]),_c('span',{class:'star ' + (_vm.data.ratings.value && parseInt(_vm.data.ratings.value) >= 5 ? 'checked' : '')},[_vm._v(\"★\")])]),_c('div',{staticClass:\"eb-rating-counts\"},[_c('span',{staticClass:\"eb-rating-avg font-bold\"},[_vm._v(_vm._s(_vm.data.ratings.value ? _vm.data.ratings.value : 0)+\".0\")]),_c('span',{staticClass:\"eb-rating-reviews\"},[_vm._v(\"(\"+_vm._s(_vm.data.ratings.numberOfRatings)+\")\")])])]),(_vm.isEbookTheme)?_c('div',{staticClass:\"eb-item-progress\"},[_c('div',{staticClass:\"eb-item-progress-label mb-1\"},[_c('span',{attrs:{\"id\":\"progressVal\"}},[_vm._v(_vm._s(_vm.progress))]),_vm._v(\"% \")]),_c('div',{staticClass:\"progress mb-1\"},[_c('div',{staticClass:\"progress-bar\",style:((\"width: \" + _vm.progress + \"%\")),attrs:{\"role\":\"progressbar\",\"aria-valuenow\":\"25\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}})])]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<li class=\"eb-list-item\" @click=\"handleClick()\" role=\"button\">\n\t\t<div class=\"eb-item-img\">\n\n\t\t\t<a class=\"thumbnail\">\n\t\t\t\t<div class=\"expires-date-main-div\" v-if=\"directEnrollmentProductVariants && productVariantsExpiresAt\">\n\t\t\t\t\t\t<svg v-if=\"!isProductVariantExpired\" class=\"clock-or-error-expires-icon\" width=\"19\" height=\"19\"\n\t\t\t\t\t\t\tviewBox=\"0 0 19 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M9.59901 0.738281C11.3335 0.738494 13.0288 1.25347 14.4704 2.21797C15.9119 3.18247 17.0348 4.55311 17.6967 6.15627C18.3587 7.75943 18.5299 9.52299 18.1888 11.2236C17.8477 12.9241 17.0095 14.4852 15.7805 15.709C14.5515 16.9329 12.9868 17.7644 11.2849 18.0984C9.58285 18.4323 7.82004 18.2536 6.21969 17.5848C4.61934 16.9161 3.25347 15.7875 2.29507 14.3419C1.33668 12.8962 0.828885 11.1987 0.836011 9.46428C0.848946 7.14758 1.77751 4.93001 3.41915 3.2953C5.06079 1.66059 7.28228 0.741413 9.59901 0.738281ZM1.99901 9.49628C1.99782 10.9999 2.4427 12.4701 3.27734 13.7209C4.11198 14.9716 5.29888 15.9466 6.68784 16.5226C8.07681 17.0986 9.60541 17.2496 11.0802 16.9565C12.555 16.6635 13.9098 15.9395 14.973 14.8763C16.0363 13.8131 16.7602 12.4583 17.0533 10.9835C17.3463 9.50868 17.1953 7.98008 16.6193 6.59111C16.0434 5.20215 15.0683 4.01525 13.8176 3.18061C12.5669 2.34597 11.0967 1.90109 9.59301 1.90228C7.58148 1.91018 5.65461 2.71283 4.23233 4.1353C2.81004 5.55777 2.00765 7.48475 2.00001 9.49628\"\n\t\t\t\t\t\t\t\tfill=\"#1A1818\" />\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M1.99901 9.49628C1.99782 10.9999 2.4427 12.4701 3.27734 13.7209C4.11198 14.9716 5.29888 15.9466 6.68784 16.5226C8.07681 17.0986 9.60541 17.2496 11.0802 16.9565C12.555 16.6635 13.9098 15.9395 14.973 14.8763C16.0363 13.8131 16.7602 12.4583 17.0533 10.9835C17.3463 9.50868 17.1953 7.98008 16.6193 6.59111C16.0434 5.20215 15.0683 4.01525 13.8176 3.18061C12.5669 2.34597 11.0967 1.90109 9.59301 1.90228C7.58148 1.91018 5.65461 2.71283 4.23233 4.1353C2.81004 5.55777 2.00765 7.48475 2.00001 9.49628M9.59901 0.738281C11.3335 0.738494 13.0288 1.25347 14.4704 2.21797C15.9119 3.18247 17.0348 4.55311 17.6967 6.15627C18.3587 7.75943 18.5299 9.52299 18.1888 11.2236C17.8477 12.9241 17.0095 14.4852 15.7805 15.709C14.5515 16.9329 12.9869 17.7644 11.2849 18.0984C9.58285 18.4323 7.82004 18.2536 6.21969 17.5848C4.61934 16.9161 3.25347 15.7875 2.29507 14.3419C1.33668 12.8962 0.828885 11.1987 0.836011 9.46428C0.848946 7.14758 1.77751 4.93001 3.41915 3.2953C5.06079 1.66059 7.28228 0.741413 9.59901 0.738281Z\"\n\t\t\t\t\t\t\t\tstroke=\"black\" stroke-width=\"0.5\" stroke-linecap=\"round\" />\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M8.57578 11.6014C8.56478 11.4704 8.55078 11.3854 8.55078 11.3014C8.55078 9.2394 8.55078 7.17706 8.55078 5.11439C8.55078 4.62739 8.75078 4.3674 9.10778 4.3324C9.18713 4.31999 9.26816 4.32364 9.34608 4.34313C9.42399 4.36262 9.49719 4.39756 9.56136 4.44587C9.62552 4.49417 9.67933 4.55487 9.7196 4.62435C9.75987 4.69384 9.78577 4.77071 9.79578 4.85039C9.81522 4.98481 9.82325 5.12063 9.81979 5.2564C9.81979 6.78973 9.81979 8.32106 9.81979 9.85039V10.3384H10.2528C11.4528 10.3384 12.6528 10.3384 13.8458 10.3384C13.9293 10.3316 14.0133 10.3417 14.0928 10.368C14.1723 10.3944 14.2457 10.4365 14.3086 10.4918C14.3715 10.5472 14.4226 10.6146 14.4589 10.6901C14.4952 10.7657 14.5159 10.8477 14.5198 10.9314C14.5231 11.0184 14.5085 11.1052 14.4771 11.1864C14.4456 11.2676 14.3979 11.3415 14.3368 11.4036C14.2758 11.4657 14.2027 11.5146 14.122 11.5474C14.0414 11.5803 13.9548 11.5962 13.8678 11.5944C12.1148 11.6054 10.3628 11.5944 8.57378 11.5944\"\n\t\t\t\t\t\t\t\tfill=\"#1A1818\" />\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M8.57578 11.6014C8.56478 11.4704 8.55078 11.3854 8.55078 11.3014C8.55078 9.23939 8.55078 7.17706 8.55078 5.11439C8.55078 4.62739 8.75078 4.3674 9.10778 4.3324C9.18713 4.31999 9.26817 4.32364 9.34608 4.34313C9.42399 4.36262 9.49719 4.39756 9.56136 4.44587C9.62552 4.49417 9.67933 4.55487 9.7196 4.62435C9.75987 4.69384 9.78577 4.77071 9.79578 4.85039C9.81522 4.98481 9.82325 5.12063 9.81979 5.2564C9.81979 6.78973 9.81979 8.32106 9.81979 9.85039V10.3384H10.2528C11.4528 10.3384 12.6528 10.3384 13.8458 10.3384C13.9293 10.3316 14.0133 10.3417 14.0928 10.368C14.1723 10.3944 14.2457 10.4365 14.3086 10.4918C14.3715 10.5472 14.4226 10.6146 14.4589 10.6901C14.4952 10.7657 14.5159 10.8477 14.5198 10.9314C14.5231 11.0184 14.5085 11.1052 14.4771 11.1864C14.4456 11.2676 14.3979 11.3415 14.3368 11.4036C14.2758 11.4657 14.2027 11.5146 14.122 11.5474C14.0414 11.5803 13.9548 11.5962 13.8678 11.5944C12.1148 11.6054 10.3628 11.5944 8.57378 11.5944\"\n\t\t\t\t\t\t\t\tstroke=\"black\" stroke-width=\"0.5\" stroke-linecap=\"round\" />\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<svg v-else class=\"clock-or-error-expires-icon\" width=\"17\" height=\"14\" viewBox=\"0 0 17 14\"\n\t\t\t\t\t\t\tfill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M8.06715 13.8901C5.91215 13.8901 3.75715 13.8841 1.60215 13.8901C1.3232 13.9158 1.04268 13.8619 0.793127 13.7346C0.543571 13.6074 0.335193 13.412 0.192148 13.1711C0.0487986 12.9255 -0.020053 12.6435 -0.00602713 12.3594C0.00799874 12.0753 0.104297 11.8015 0.271148 11.5711C2.43381 7.99046 4.59248 4.41313 6.74715 0.839127C6.86436 0.588486 7.05061 0.376463 7.28405 0.227924C7.5175 0.0793844 7.78845 0.000488281 8.06515 0.000488281C8.34184 0.000488281 8.6128 0.0793844 8.84624 0.227924C9.07969 0.376463 9.26593 0.588486 9.38315 0.839127C11.5431 4.41379 13.7008 7.98946 15.8561 11.5661C16.0225 11.7948 16.1193 12.0666 16.1351 12.3489C16.151 12.6313 16.0851 12.9122 15.9454 13.158C15.8057 13.4039 15.5981 13.6042 15.3474 13.7351C15.0968 13.8661 14.8137 13.9219 14.5321 13.8961C12.3771 13.8861 10.2221 13.8961 8.06715 13.8961\"\n\t\t\t\t\t\t\t\tfill=\"#FF0000\" />\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M7.21584 5.1084C7.21584 4.8534 7.21584 4.5974 7.21584 4.3424C7.22284 3.8424 7.51585 3.5744 8.05585 3.5694C8.59585 3.5644 8.91984 3.84241 8.90884 4.32641C8.88384 5.44941 8.83885 6.5714 8.80185 7.6944C8.78718 8.14107 8.77184 8.58741 8.75584 9.03341C8.74084 9.43341 8.49384 9.6524 8.04684 9.6504C7.59984 9.6484 7.38885 9.45041 7.37385 9.05041C7.32385 7.7364 7.27385 6.42274 7.22385 5.1094H7.21484\"\n\t\t\t\t\t\t\t\tfill=\"white\" />\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M8.06187 12.2813C7.94368 12.2781 7.82727 12.2517 7.71928 12.2036C7.6113 12.1554 7.51385 12.0865 7.4325 12.0007C7.35116 11.9149 7.28751 11.8139 7.24519 11.7035C7.20288 11.5931 7.18272 11.4755 7.18587 11.3573C7.18902 11.2391 7.21542 11.1227 7.26356 11.0147C7.31171 10.9067 7.38064 10.8093 7.46645 10.7279C7.55225 10.6466 7.65323 10.5829 7.76363 10.5406C7.87402 10.4983 7.99168 10.4781 8.10987 10.4813C8.34857 10.4876 8.57495 10.5886 8.73923 10.7619C8.90352 10.9351 8.99224 11.1666 8.98587 11.4053C8.9795 11.644 8.87858 11.8704 8.7053 12.0347C8.53202 12.1989 8.30056 12.2876 8.06187 12.2813Z\"\n\t\t\t\t\t\t\t\tfill=\"white\" />\n\t\t\t\t\t\t</svg>\n\n\n\t\t\t\t\t\t<div class=\"expiry-date-text\">\n\t\t\t\t\t\t\tExpires At:\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"actual-expiry-date\">\n\t\t\t\t\t\t\t{{ formattedDate }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- <h1>{{ data.enrollmentType }}</h1> -->\n\t\t\t\t\t</div>\n\t\t\t\t<div class=\"\">\n\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t\t<img :src=\"thumbnailPath\" :alt=\"data.product.friendlyTitle\" :class=\"`${isThumbnailError ? '' : ''}`\" @error=\"() => {\n\t\t\t\t\tisThumbnailError = true;\n\t\t\t\t}\n\t\t\t\t\t\" />\n\t\t\t\t\n\n\t\t\t</a>\n\t\t</div>\n\t\t<div class=\"eb-item-desc\">\n\t\t\t<h4 :id=\"'sb-batch-' + data.id\" class=\"eb-item-title\">{{ data.product.title }} - {{ data.title }}</h4>\n\t\t\t<b-tooltip :target=\"'sb-batch-' + data.id\" triggers=\"hover\">\n\t\t\t\t<b>{{ data.product.title }}</b><br />\n\t\t\t\t{{ data.title }}\n\t\t\t</b-tooltip>\n\t\t\t<div class=\"eb-item-instructor d-flex\" v-if=\"productTrainers(data.properties.trainers).length > 0\">\n\n\t\t\t\t<div class=\"tutor-images\">\n\t\t\t\t\t<div class=\"tutor-image\" v-for=\"t in productTrainers(data.properties.trainers).slice(0, 2)\" :key=\"t.id\">\n\t\t\t\t\t\t<img v-if=\"t.profilePicture\" style=\"object-fit: contain;\" class=\"ls-is-cached lazyloaded\"\n\t\t\t\t\t\t\tdata-src=\"../../assets/images/user_img_placeholder.jpg\" alt=\"\" :src=\"t.profilePicture\" />\n\t\t\t\t\t\t<!-- <div > -->\n\t\t\t\t\t\t<div v-else class=\"user-avatar\">\n\t\t\t\t\t\t\t<span>{{ t.firstName[0] }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- </div> -->\n\t\t\t\t\t</div>\n\n\t\t\t\t</div>\n\t\t\t\t<span>\n\t\t\t\t\t{{ productTrainers(data.properties.trainers)[0].firstName }}\n\t\t\t\t\t{{ productTrainers(data.properties.trainers)[0].lastName }}\n\t\t\t\t\t<span v-if=\"productTrainers(data.properties.trainers).length > 1\">{{\n\t\t\t\t\t\t`+${productTrainers(data.properties.trainers).length - 1}\n\t\t\t\t\t\t\t\t\t\t\ttrainer${productTrainers(data.properties.trainers).length > 2 ? \"s\" : \"\"\n\t\t\t\t\t\t\t}`\n\t\t\t\t\t}}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div v-else style=\"min-height: 40px;\"></div>\n\t\t\t<div class=\"eb-item-rating-bar\">\n\t\t\t\t<div class=\"eb-rating-stars\">\n\t\t\t\t\t<span\n\t\t\t\t\t\t:class=\"'star ' + (data.ratings.value && parseInt(data.ratings.value) >= 1 ? 'checked' : '')\">★</span>\n\t\t\t\t\t<span\n\t\t\t\t\t\t:class=\"'star ' + (data.ratings.value && parseInt(data.ratings.value) >= 2 ? 'checked' : '')\">★</span>\n\t\t\t\t\t<span\n\t\t\t\t\t\t:class=\"'star ' + (data.ratings.value && parseInt(data.ratings.value) >= 3 ? 'checked' : '')\">★</span>\n\t\t\t\t\t<span\n\t\t\t\t\t\t:class=\"'star ' + (data.ratings.value && parseInt(data.ratings.value) >= 4 ? 'checked' : '')\">★</span>\n\t\t\t\t\t<span\n\t\t\t\t\t\t:class=\"'star ' + (data.ratings.value && parseInt(data.ratings.value) >= 5 ? 'checked' : '')\">★</span>\n\n\t\t\t\t</div>\n\t\t\t\t<div class=\"eb-rating-counts\">\n\t\t\t\t\t<span class=\"eb-rating-avg font-bold\">{{ data.ratings.value ? data.ratings.value : 0 }}.0</span>\n\t\t\t\t\t<span class=\"eb-rating-reviews\">({{ data.ratings.numberOfRatings }})</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-if=\"isEbookTheme\" class=\"eb-item-progress\">\n\t\t\t\t<div class=\"eb-item-progress-label mb-1\">\n\t\t\t\t\t<span id=\"progressVal\">{{ progress }}</span>%\n\t\t\t\t</div>\n\t\t\t\t<div class=\"progress mb-1\">\n\t\t\t\t\t<div class=\"progress-bar\" role=\"progressbar\" :style=\"`width: ${progress}%`\" aria-valuenow=\"25\"\n\t\t\t\t\t\taria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</li>\n</template>\n<script>\nimport Swal from \"sweetalert2\";\nimport formatter from \"../../helpers/FormatHelpers\";\nimport { mapActions, mapState } from \"vuex\";\nimport { parseForURL } from \"../../helpers/FormatHelpers\";\nimport {\n\tProductVariantStatus,\n\tProductVariantSubscriptionStatus,\n} from \"../../constants/productVariant\";\n\nexport default {\n\tname: \"UserDashboardProductsListItem\",\n\tdata() {\n\t\treturn {\n\t\t\t// trainersList: null,\n\t\t\t// purchased: false,\n\t\t\tisThumbnailError: false,\n\t\t\tProductVariantStatus,\n\t\t\tProductVariantSubscriptionStatus,\n\t\t};\n\t},\n\tprops: {\n\t\tdata: Object,\n\t\t// purchased: Boolean,\n\t\tisAdmin: Boolean,\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchTrainersList\"]),\n\t\tparseCurrency(amount, currency, decimal) {\n\t\t\treturn formatter.toCurrencyString(amount, currency, decimal);\n\t\t},\n\t\thandleClick(e) {\n\t\t\tif (\n\t\t\t\tthis.isProductVariantBlocked ||\n\t\t\t\tthis.isProductVariantEnded ||\n\t\t\t\tthis.isProductVariantExpired\n\t\t\t) {\n\n\t\t\t\tSwal.fire({\n\t\t\t\t\ttitle: this.isProductVariantBlocked\n\t\t\t\t\t\t? \"Course Blocked!\"\n\t\t\t\t\t\t: this.isProductVariantEnded\n\t\t\t\t\t\t\t? \"Course ended!\"\n\t\t\t\t\t\t\t: this.isProductVariantExpired && this.data.enrollmentType && this.data.enrollmentType.toLowerCase() == \"directenrollment\"\n\t\t\t\t\t\t\t\t? \"Course Access Expired!\"\n\t\t\t\t\t\t\t\t: this.isProductVariantExpired\n\t\t\t\t\t\t\t\t\t? \"Payments due!\"\n\t\t\t\t\t\t\t\t\t: \"\",\n\t\t\t\t\ttext: this.isProductVariantBlocked\n\t\t\t\t\t\t? \"Your course has been blocked. Please contact admin for more information\"\n\t\t\t\t\t\t: this.isProductVariantEnded\n\t\t\t\t\t\t\t? \"This course has ended, you can no longer view its contents\"\n\t\t\t\t\t\t\t: this.isProductVariantExpired && this.data.enrollmentType && this.data.enrollmentType.toLowerCase() == \"directenrollment\"\n\t\t\t\t\t\t\t\t? \"Your course access has been expired. Please contact admin for more information \"\n\t\t\t\t\t\t\t\t: this.isProductVariantExpired\n\t\t\t\t\t\t\t\t\t? \"You have pending unpaid invoices for this course. Please clear your dues to access this course \"\n\t\t\t\t\t\t\t\t\t: \"\",\n\t\t\t\t\ticon: \"error\",\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\tpreConfirm: this.isProductVariantExpired && this.data.enrollmentType.toLowerCase() == \"pricingplan\"\n\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\tthis.$router.push(\"/user/invoices\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\t: null,\n\t\t\t\t\tconfirmButtonText:\n\t\t\t\t\t\tthis.isProductVariantExpired && this.data.enrollmentType.toLowerCase() == \"pricingplan\"\n\t\t\t\t\t\t\t? \"View Invoices\"\n\t\t\t\t\t\t\t: \"OK\",\n\t\t\t\t\tshowCancelButton: this.isProductVariantExpired,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.$router.push(this.productVariantURL);\n\t\t},\n\t\tproductTrainers(trainers) {\n\t\t\tif (trainers) {\n\t\t\t\tvar trainerList = JSON.parse(trainers);\n\t\t\t\tif (trainerList && trainerList.length > 0) {\n\t\t\t\t\tvar self = this;\n\t\t\t\t\treturn trainerList.map(function (val, ind, arr) {\n\t\t\t\t\t\treturn self.trainers ? self.trainers.find(x => x.id == val) : null;\n\t\t\t\t\t}).filter(x => x);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn [];\n\t\t}\n\t},\n\tcreated() {\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\", \"trainers\"]),\n\t\t...mapState(\"productVariant\", [\"productVariantsProgress\"]),\n\n\t\tpurchased() {\n\t\t\tif (\n\t\t\t\tthis.user &&\n\t\t\t\t((this.user.type && this.user.type.toLowerCase() == \"student\") ||\n\t\t\t\t\t(this.user.role && this.user.role.toLowerCase() == \"student\")) &&\n\t\t\t\tthis.user.productVariants.length > 0\n\t\t\t) {\n\t\t\t\tvar found = this.user.productVariants.find((p) => p.id == this.data.id);\n\t\t\t\treturn found ? true : false;\n\t\t\t}\n\t\t},\n\n\t\tgetProductDetailsUrl() {\n\t\t\tif (this.purchased && this.data && this.data.properties && this.data.properties.contentViewTheme && this.data.properties.contentViewTheme.toLowerCase() == 'ebook') {\n\t\t\t\treturn \"/product/dashboard/chapters/\";\n\t\t\t} else if (this.purchased) {\n\t\t\t\treturn \"/product/content/\";\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn \"/product/details/\";\n\t\t\t}\n\t\t},\n\t\tprogress() {\n\t\t\tif (this.productVariantsProgress && this.productVariantsProgress[this.data.id]) {\n\t\t\t\tvar progressOB = this.productVariantsProgress[this.data.id];\n\t\t\t\treturn Math.round((progressOB.completedTotalContent / progressOB.totalContent) * 100);\n\t\t\t}\n\t\t\treturn 0;\n\t\t},\n\t\tthumbnailPath() {\n\t\t\tif (this.isThumbnailError) {\n\t\t\t\tconsole.log(\"thumbnail error\");\n\t\t\t\treturn require(`@/assets/images/image-error.png`);\n\t\t\t} else {\n\t\t\t\tif (this.data.thumbnailPath) {\n\t\t\t\t\tvar path = !this.data.thumbnailPath.includes(\"http\")\n\t\t\t\t\t\t? require(`@/${this.data.product.thumbnailPath}`)\n\t\t\t\t\t\t: this.data.thumbnailPath;\n\t\t\t\t\treturn path;\n\t\t\t\t} else return require(`@/${this.data.product.thumbnailPath}`);\n\t\t\t}\n\t\t},\n\t\tproductTrainersList() {\n\t\t\tvar trainerList = [];\n\t\t\tif (\n\t\t\t\tthis.data.properties &&\n\t\t\t\tthis.data.properties.trainers &&\n\t\t\t\tthis.trainers\n\t\t\t) {\n\t\t\t\tvar list = JSON.parse(this.data.properties.trainers);\n\t\t\t\t// console.log(list);\n\t\t\t\tlist.forEach((trainerID) => {\n\t\t\t\t\tvar found = this.trainers.find((t) => t.id == trainerID);\n\t\t\t\t\tif (found) {\n\t\t\t\t\t\ttrainerList.push(found);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\t// console.log(trainerList);\n\t\t\treturn trainerList;\n\t\t},\n\t\tproductVariantURL() {\n\t\t\treturn this.isAdmin\n\t\t\t\t? \"course/\" + this.data.id + \"/content\"\n\t\t\t\t: this.getProductDetailsUrl +\n\t\t\t\tthis.data.id;\n\t\t},\n\t\tisProductVariantBlocked() {\n\t\t\treturn (\n\t\t\t\tthis.data.subscriptionStatus == ProductVariantSubscriptionStatus.BLOCKED\n\t\t\t);\n\t\t},\n\t\tisProductVariantEnded() {\n\t\t\treturn this.data.endDate\n\t\t\t\t? new Date(this.data.endDate) < new Date()\n\t\t\t\t: false;\n\t\t},\n\t\tisProductVariantExpired() {\n\t\t\tvar endDate = this.data.endDate;\n\t\t\tvar expiresAt = this.data.expiresAt;\t\n\n\t\t\tvar date ;\n\t\t\tif(expiresAt)\n\t\t\t{\n\t\t\t\tdate = new Date(expiresAt);\n\t\t\t}\n\t\t\tif((endDate && expiresAt && new Date(endDate)<new Date(expiresAt)) || (!expiresAt && endDate))\n\t\t\t{\n\t\t\t\tdate = new Date(endDate);\n\t\t\t}\n\n\t\t\treturn date\n\t\t\t\t? date < new Date()\n\t\t\t\t: false;\n\t\t},\n\n\t\textraProperties() {\n\t\t\treturn this.data && this.data.properties ? this.data.properties : null;\n\t\t},\n\t\tcontentViewTheme() {\n\t\t\tconst properties = this.extraProperties;\n\t\t\treturn properties ? properties.contentViewTheme : null;\n\t\t},\n\t\tisEbookTheme() {\n\t\t\tconst contentViewTheme = this.contentViewTheme;\n\t\t\treturn contentViewTheme && contentViewTheme.toLowerCase() === \"ebook\";\n\t\t},\n\n\t\tformattedDate: function () {\n\n\t\t\tvar endDate = this.data.endDate;\n\t\t\tvar expiresAt = this.data.expiresAt;\t\t\t\n\t\t\tvar date = new Date(expiresAt);\n\t\t\tif((endDate && expiresAt && new Date(endDate)<new Date(expiresAt)) || (!expiresAt && endDate))\n\t\t\t{\n\t\t\t\tdate = new Date(endDate);\n\t\t\t}\n\t\t\tconst dateString = date;\n\t\t\tconst updatedDate = new Date(dateString);\n\n\t\t\tconst day = updatedDate.getDate();\n\t\t\tconst month = updatedDate.getMonth() + 1;\n\t\t\tconst year = updatedDate.getFullYear();\n\t\t\treturn `${day}/${month}/${year}`;\n\t\t},\n\t\tdirectEnrollmentProductVariants() {\n\t\t\treturn this.data.enrollmentType.toLowerCase() === \"directenrollment\";\n\t\t},\n\t\tproductVariantsExpiresAt() {\n\t\t\treturn this.data.expiresAt ? this.data.expiresAt : this.data.endDate ? this.data.endDate : null;\n\t\t},\n\n\t},\n};\n</script>\n\n<style scoped>\n.tutor-images {\n\tdisplay: flex;\n\tflex-direction: row;\n}\n\n.tutor-image:first-of-type {\n\tmargin: 0;\n}\n\n.tutor-image img {\n\tmargin: 0;\n}\n\n.tutor-image {\n\tmargin-left: -0.55rem;\n\tmargin-right: 0;\n}\n\n.tutor-image .user-avatar {\n\tborder: 1px solid #fff;\n\tflex-shrink: 0;\n}\n\n.tutor-image:last-of-type .user-avatar {\n\tmargin-right: 0;\n}\n\n.tutor-image .user-avatar.extra {\n\tbackground-color: #666666;\n\tcolor: #ffffff;\n\tpadding: 0 !important;\n}\n\n.tutor-images {\n\tmargin-right: 10px;\n}\n\n.eb-list-item .eb-item-instructor img {\n\tmargin-right: 0px;\n}\n\n/* For Thumbnail STack item */\n.eb-item-img .thumbnail {\n\tposition: relative;\n\tdisplay: flex;\n    justify-content: center;\n}\n\n.centered {\n\tposition: absolute;\n\ttop: 20%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n\n.expires-date-main-div {\n\twidth: 180px;\n    height: 27px;\n\tbackground-color: #FFFFFF;\n\tborder-radius: 15px;\n\tposition: absolute;\n    top: 4%;\n}\n\n.clock-or-error-expires-icon {\n\twidth: 17px;\n\theight: 16px;\n\tposition: absolute;\n\ttop: 5px;\n\tleft: 5px;\n\tborder-radius: 8px;\n}\n\n.expiry-date-text {\n\tcolor: #000;\n\tfont-family: Circular Std;\n\tfont-size: 14px;\n\tfont-style: normal;\n\tfont-weight: 500;\n\tline-height: normal;\n\tposition: absolute;\n\ttop: 5px;\n\tleft: 25px;\n}\n\n.actual-expiry-date {\n\tcolor: #F00;\n\tfont-family: Circular Std;\n\tfont-size: 14px;\n\tfont-style: normal;\n\tfont-weight: 700;\n\tline-height: normal;\n\tposition: absolute;\n\ttop: 5px;\n\tleft: 100px;\n}</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserDashboardProductsListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserDashboardProductsListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserDashboardProductsListItem.vue?vue&type=template&id=497bf17c&scoped=true&\"\nimport script from \"./UserDashboardProductsListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./UserDashboardProductsListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserDashboardProductsListItem.vue?vue&type=style&index=0&id=497bf17c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"497bf17c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"register-page\"},[_c('BannerSmall',[_c('div',{staticClass:\"banner-title-card\"},[_c('h1',{staticClass:\"banner-title\"},[_vm._v(\"Course Registration\")])])]),_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"page-content\"},[(!_vm.categorySelected)?_c('h3',{staticClass:\"text-bold\"},[_vm._v(\"Select Qualification\")]):_vm._e(),(!_vm.categorySelected)?_c('div',{staticClass:\"category-cards\"},_vm._l((_vm.categories),function(item){return _c('div',{key:item.id,class:[\n\t\t\t\t\t\t'category-card',\n\t\t\t\t\t\t{ selected: _vm.categorySelected == item.id } ],attrs:{\"id\":item.id},on:{\"click\":_vm.selectCategory}},[_c('span',[_vm._v(_vm._s(item.title))])])}),0):_c('div',{staticClass:\"back-container\"},[_c('button',{staticClass:\"back-button border-btn\",on:{\"click\":_vm.back}},[_c('i',{staticClass:\"fas fa-arrow-left\"}),_vm._v(\" Back \")]),(_vm.categorySelected)?_c('h3',{staticClass:\"category-heading m-0\"},[_vm._v(\" \"+_vm._s(_vm.categoryTitle())+\" \")]):_vm._e()]),(_vm.categorySelected)?_c('div',{staticClass:\"course-register-container\"},[_c('div',{staticClass:\"product-list-container\"},[(_vm.productsLoaded)?_c('div',{staticClass:\"product-list\"},_vm._l((_vm.productsByCategory[_vm.categorySelected]),function(item){return _c('ProductRegistrationListItem',{key:item.id,attrs:{\"productData\":item,\"disabled\":_vm.isProductDisabled(item.id)},on:{\"addToList\":_vm.addItemToCart}})}),1):_vm._e()]),_c('div',{staticClass:\"cart-container\"},[_c('div',{staticClass:\"cart-card\",attrs:{\"id\":\"cart\"}},[_c('p',{staticClass:\"top-label\"},[_vm._v(\"Total Amount\")]),_c('h3',{staticClass:\"total-amount\"},[_vm._v(\" \"+_vm._s(_vm.parseCurrency(_vm.cart.totalAmount, _vm.cart.currency, 2))+\" \")]),_c('span',{staticClass:\"selected-batches\"},[_vm._v(\"selected batches\")]),(_vm.cart.items.length > 0)?_c('div',[_c('div',{staticClass:\"cart-items-list\"},_vm._l((_vm.cart.items),function(item){return _c('div',{key:item.id,staticClass:\"cart-item\"},[_c('div',{staticClass:\"cart-row\"},[_c('div',[_c('h3',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(item.product.title)+\" \")])]),_c('p',{staticClass:\"price\"},[_vm._v(\" \"+_vm._s(_vm.parseCurrency( item.pricing.amount, item.pricing.currency, 0 ))+\" \")])]),_c('div',{staticClass:\"cart-row m-0 bottom\"},[_c('p',{staticClass:\"details m-0 text-wrap\"},[_vm._v(\" \"+_vm._s(item.title)+\" \"),_c('br'),_vm._v(\" \"+_vm._s(item.shortDescription)+\" \")]),_c('button',{staticClass:\"delete-btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.removeFromCart(item)}}},[_vm._v(\" Delete \")])])])}),0),_c('button',{staticClass:\"register-btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.loading},on:{\"click\":_vm.confirmRegistration}},[(_vm.loading)?_c('b-spinner',{staticClass:\"me-2\",attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" confirm registration \")],1)]):_c('div',{staticClass:\"cart-items-empty mt-3\"},[_vm._v(\"No batches added\")])])])]):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"register-page\">\n\t\t<BannerSmall>\n\t\t\t<div class=\"banner-title-card\">\n\t\t\t\t<h1 class=\"banner-title\">Course Registration</h1>\n\t\t\t</div>\n\t\t</BannerSmall>\n\t\t<div class=\"container\">\n\t\t\t<div class=\"page-content\">\n\t\t\t\t<h3 v-if=\"!categorySelected\" class=\"text-bold\">Select Qualification</h3>\n\t\t\t\t<div v-if=\"!categorySelected\" class=\"category-cards\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t@click=\"selectCategory\"\n\t\t\t\t\t\tv-for=\"item in categories\"\n\t\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t\t:id=\"item.id\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'category-card',\n\t\t\t\t\t\t\t{ selected: categorySelected == item.id },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span>{{ item.title }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-else class=\"back-container\">\n\t\t\t\t\t<button @click=\"back\" class=\"back-button border-btn\">\n\t\t\t\t\t\t<i class=\"fas fa-arrow-left\"></i> Back\n\t\t\t\t\t</button>\n\t\t\t\t\t<h3 v-if=\"categorySelected\" class=\"category-heading m-0\">\n\t\t\t\t\t\t{{ categoryTitle() }}\n\t\t\t\t\t</h3>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"categorySelected\" class=\"course-register-container\">\n\t\t\t\t\t<div class=\"product-list-container\">\n\t\t\t\t\t\t<div v-if=\"productsLoaded\" class=\"product-list\">\n\t\t\t\t\t\t\t<ProductRegistrationListItem\n\t\t\t\t\t\t\t\tv-for=\"item in productsByCategory[categorySelected]\"\n\t\t\t\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t\t\t\t:productData=\"item\"\n\t\t\t\t\t\t\t\t@addToList=\"addItemToCart\"\n\t\t\t\t\t\t\t\t:disabled=\"isProductDisabled(item.id)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"cart-container\">\n\t\t\t\t\t\t<div class=\"cart-card\" id=\"cart\">\n\t\t\t\t\t\t\t<p class=\"top-label\">Total Amount</p>\n\t\t\t\t\t\t\t<h3 class=\"total-amount\">\n\t\t\t\t\t\t\t\t{{ parseCurrency(cart.totalAmount, cart.currency, 2) }}\n\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t<span class=\"selected-batches\">selected batches</span>\n\t\t\t\t\t\t\t<div v-if=\"cart.items.length > 0\">\n\t\t\t\t\t\t\t\t<div class=\"cart-items-list\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tv-for=\"item in cart.items\"\n\t\t\t\t\t\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t\t\t\t\t\tclass=\"cart-item\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div class=\"cart-row\">\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"title\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ item.product.title }}\n\t\t\t\t\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t\t\t\t\t<!-- <p class=\"instructor\">Ahmed Saya</p> -->\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"price\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\tparseCurrency(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.pricing.amount,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.pricing.currency,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"cart-row m-0 bottom\">\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"details m-0 text-wrap\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ item.title }} <br />\n\t\t\t\t\t\t\t\t\t\t\t\t{{ item.shortDescription }}\n\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"removeFromCart(item)\"\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"delete-btn\"\n\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tDelete\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t@click=\"confirmRegistration\"\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tclass=\"register-btn\"\n\t\t\t\t\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<b-spinner v-if=\"loading\" small class=\"me-2\"></b-spinner>\n\t\t\t\t\t\t\t\t\tconfirm registration\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-else class=\"cart-items-empty mt-3\">No batches added</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport BannerSmall from \"../../components/Layout/BannerSmall.vue\";\nimport ProductRegistrationListItem from \"./components/ProductRegistrationListItem.vue\";\nimport { mapActions, mapState } from \"vuex\";\nimport formatter from \"../../helpers/FormatHelpers\";\n\n// var cartCard;\n// var cardTopOffset;\n\nexport default {\n\tname: \"CourseRegistration\",\n\tdata() {\n\t\treturn {\n\t\t\tcategorySelected: null,\n\t\t\tproductsLoaded: false,\n\t\t\tenrolledVariants: [],\n\t\t\tinvoiceDetails: null,\n\t\t\taddedProducts: [],\n\t\t\t// categories: [\n\t\t\t// \t{\n\t\t\t// \t\tid: \"1\",\n\t\t\t// \t\ttitle: \"O Levels\",\n\t\t\t// \t\tisVisible: true,\n\t\t\t// \t\tchildCategories: null,\n\t\t\t// \t},\n\t\t\t// \t{\n\t\t\t// \t\tid: \"2\",\n\t\t\t// \t\ttitle: \"A Levels\",\n\t\t\t// \t\tisVisible: true,\n\t\t\t// \t\tchildCategories: null,\n\t\t\t// \t},\n\t\t\t// \t{\n\t\t\t// \t\tid: \"3\",\n\t\t\t// \t\ttitle: \"A Levels Accelerated\",\n\t\t\t// \t\tisVisible: true,\n\t\t\t// \t\tchildCategories: null,\n\t\t\t// \t},\n\t\t\t// ],\n\t\t};\n\t},\n\tcomponents: {\n\t\tBannerSmall,\n\t\tProductRegistrationListItem,\n\t},\n\tmethods: {\n\t\t...mapActions(\"cart\", [\"addToCart\", \"removeFromCart\", \"emptyCart\"]),\n\t\t...mapActions(\"product\", [\"getProductByCategoryId\"]),\n\t\t...mapActions(\"category\", [\"fetchCategories\"]),\n\t\t...mapActions(\"user\", [\n\t\t\t\"enrollUserInProductVariant\",\n\t\t\t\"fetchUsersList\",\n\t\t\t\"fetchTrainersList\",\n\t\t]),\n\t\t...mapActions(\"pricing\", [\"createBulkInvoice\", \"fetchInvoiceByUserId\"]),\n\t\tselectCategory(e) {\n\t\t\t// if (this.categorySelected != e.target.id) {\n\t\t\t// \tthis.emptyCart();\n\t\t\t// }\n\t\t\t// if (this.categorySelected == null) {\n\t\t\t// \tsetTimeout(() => {\n\t\t\t// \t\tcartCard = document.getElementById(\"cart\");\n\t\t\t// \t\tcardTopOffset = cartCard.getBoundingClientRect();\n\t\t\t// \t}, 200);\n\t\t\t// }\n\t\t\tthis.categorySelected = e.target.id;\n\t\t},\n\t\tparseCurrency(amount, currency, decimal) {\n\t\t\treturn formatter.toCurrencyString(amount, currency, decimal);\n\t\t},\n\t\tconfirmRegistration() {\n\t\t\tif (this.directEnrollVariants && this.directEnrollVariants.length > 0) {\n\t\t\t\tthis.directlyEnrollCourses();\n\t\t\t}\n\t\t\tif (this.paidVariants && this.paidVariants.length > 0) {\n\t\t\t\tthis.cart.items.forEach((item) => {\n\t\t\t\t\tif (item.pricingStatus.toLowerCase() == \"paid\")\n\t\t\t\t\t\tthis.getInvoiceDetails(item);\n\t\t\t\t});\n\t\t\t\tthis.generateInvoice();\n\t\t\t}\n\t\t},\n\t\tgenerateInvoice() {\n\t\t\tvar invoice = {\n\t\t\t\tcustomerID: this.user.id,\n\t\t\t\tinvoiceDate: new Date().toISOString(),\n\t\t\t\tcurrency: \"PKR\",\n\t\t\t\tstatus: \"unpaid\",\n\t\t\t\tdetails: this.invoiceDetails,\n\t\t\t};\n\n\t\t\tthis.createBulkInvoice([invoice]).then((res) => {\n\t\t\t\tconsole.log(res);\n\t\t\t\tif (res && res.length && res[0]?.id != 0) {\n\t\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t\tconst event = new CustomEvent(\"invoice-created\", {\n\t\t\t\t\t\t\tdetail: this.addedProducts,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdocument.dispatchEvent(event);\n\t\t\t\t\t});\n\t\t\t\t\t// this.enrolledVariants.push(...this.invoiceDetails);\n\t\t\t\t\tthis.fetchUsersList();\n\t\t\t\t\tthis.fetchInvoiceByUserId(this.user.id).then(() => {\n\t\t\t\t\t\t// console.log(this.invoicesByUserId);\n\t\t\t\t\t\tthis.$router.push(\"/user/invoices\");\n\t\t\t\t\t\t// this.closeModal();\n\t\t\t\t\t\tthis.$toasted.success(\n\t\t\t\t\t\t\t\"Courses enrolled & invoice generated successfully\",\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.emptyCart(this.currentCurrency);\n\t\t\t\t\t\tthis.addedProducts = [];\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.$toasted.show(\n\t\t\t\t\t\t\"You are already enrolled in one or more of the selected courses and have an unpaid invoice. Please pay the invoice to access the course.\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\tfullwidth: true,\n\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\ttext: \"DISMISS\",\n\t\t\t\t\t\t\t\tonClick: (e, toastObject) => {\n\t\t\t\t\t\t\t\t\ttoastObject.goAway(0);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tthis.$router.push(\"/user/invoices\");\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tdirectlyEnrollCourses() {\n\t\t\tthis.directEnrollVariants.forEach((variant) => {\n\t\t\t\tvar requestObj = {\n\t\t\t\t\tuserID: this.user.id,\n\t\t\t\t\tproductVariantID: variant.id,\n\t\t\t\t\texpiresAt: variant.endDate\n\t\t\t\t\t\t? variant.endDate\n\t\t\t\t\t\t: new Date(\"12/31/2070\").toISOString(),\n\t\t\t\t\tallowedRanges: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstartsFrom: variant.startDate\n\t\t\t\t\t\t\t\t? variant.startDate\n\t\t\t\t\t\t\t\t: new Date(\"12/31/1970\").toISOString(),\n\t\t\t\t\t\t\tendsAt: variant.endDate\n\t\t\t\t\t\t\t\t? variant.endDate\n\t\t\t\t\t\t\t\t: new Date(\"12/31/2070\").toISOString(),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t\tthis.enrollUserInProductVariant({\n\t\t\t\t\tuser: this.user,\n\t\t\t\t\trequestObj,\n\t\t\t\t}).then(() => {\n\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t`User ${this.user.id} enrolled in variant ${variant.id}.`\n\t\t\t\t\t);\n\t\t\t\t\t// this.disableEnroll = false;\n\t\t\t\t\tthis.enrolledVariants.push(variant);\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.enrolledVariants.length >= this.directEnrollVariants.length\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.fetchUsersList().then(() => {\n\t\t\t\t\t\t\tconsole.log(\"direct enroll variants complete\");\n\t\t\t\t\t\t\tif (this.paidVariants && this.paidVariants.length == 0) {\n\t\t\t\t\t\t\t\tthis.$toasted.success(\"Courses enrolled successfully\", {\n\t\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.$router.push(\"/user/dashboard\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.emptyCart(this.currentCurrency);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tback() {\n\t\t\tthis.categorySelected = null;\n\t\t},\n\t\tcategoryTitle() {\n\t\t\treturn this.categories.find((c) => c.id == this.categorySelected).title;\n\t\t},\n\t\taddItemToCart(item) {\n\t\t\tconsole.log(\"addItemToCart\", item);\n\t\t},\n\t\tgetInvoiceDetails(variant) {\n\t\t\tconsole.log(\"getInvoiceDetails\", variant);\n\t\t\tvar invoiceDetail = [];\n\t\t\tthis.addedProducts.push(variant.id);\n\t\t\tif (variant.selectedPlan.type.toLowerCase() == \"onetime\") {\n\t\t\t\tvar detail = {\n\t\t\t\t\tplanDetailID: parseInt(variant.selectedPlan.details[0].id),\n\t\t\t\t\tamount: 0, //variant.selectedPlan.details[0].amount,\n\t\t\t\t\tstatus: \"unpaid\",\n\t\t\t\t};\n\t\t\t\tvar dueDate = new Date().setDate(\n\t\t\t\t\tnew Date().getDate() + variant.selectedPlan.details[0].gracePeriod\n\t\t\t\t);\n\t\t\t\tdueDate = new Date(dueDate).setHours(23, 59, 59);\n\n\t\t\t\tconsole.log(dueDate);\n\t\t\t\tdetail.dueDate = new Date(dueDate).toISOString();\n\t\t\t\tdetail.discount = 0.0;\n\t\t\t\tdetail.discountType = null;\n\t\t\t\tinvoiceDetail.push(detail);\n\t\t\t} else {\n\t\t\t\tvariant.selectedPlan.details.forEach((detail) => {\n\t\t\t\t\tvar invDetail = {\n\t\t\t\t\t\tplanDetailID: parseInt(detail.id),\n\t\t\t\t\t\tamount: 0, //detail.amount,\n\t\t\t\t\t\tstatus: \"unpaid\",\n\t\t\t\t\t};\n\t\t\t\t\tvar dueDate = new Date().setDate(\n\t\t\t\t\t\tnew Date().getDate() + detail.gracePeriod\n\t\t\t\t\t);\n\t\t\t\t\tdueDate = new Date(dueDate).setHours(23, 59, 59);\n\n\t\t\t\t\tconsole.log(dueDate);\n\t\t\t\t\tinvDetail.dueDate = new Date(dueDate).toISOString();\n\t\t\t\t\tinvDetail.discount = 0.0;\n\t\t\t\t\tinvDetail.discountType = null;\n\t\t\t\t\tinvoiceDetail.push(invDetail);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (!this.invoiceDetails) this.invoiceDetails = invoiceDetail;\n\t\t\telse this.invoiceDetails.push(...invoiceDetail);\n\t\t},\n\t\tisProductDisabled(id) {\n\t\t\tvar userEnrolledProducts =\n\t\t\t\tthis.user.productVariants &&\n\t\t\t\tthis.user.productVariants.map((variant) => variant.product.id);\n\t\t\t// console.log(\"userEnrolledProducts\", userEnrolledProducts);\n\t\t\tvar isEnrolled = userEnrolledProducts.find((p) => p == id);\n\t\t\treturn isEnrolled ? true : false;\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"cart\", [\"cart\"]),\n\t\t...mapState(\"product\", [\"productsByCategory\"]),\n\t\t...mapState(\"category\", [\"categories\"]),\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"appState\", [\"currentCurrency\"]),\n\t\t...mapState(\"pricing\", [\"loading\"]),\n\t\tdirectEnrollVariants() {\n\t\t\treturn this.cart.items.filter(\n\t\t\t\t(item) => item.pricingStatus.toLowerCase() != \"paid\"\n\t\t\t);\n\t\t},\n\t\tpaidVariants() {\n\t\t\treturn this.cart.items.filter(\n\t\t\t\t(item) => item.pricingStatus.toLowerCase() == \"paid\"\n\t\t\t);\n\t\t},\n\t},\n\twatch: {\n\t\tcategorySelected: function () {\n\t\t\tif (\n\t\t\t\tthis.categorySelected &&\n\t\t\t\t!this.productsByCategory[this.categorySelected]\n\t\t\t) {\n\t\t\t\tthis.productsLoaded = false;\n\t\t\t\tthis.getProductByCategoryId(this.categorySelected).then(() => {\n\t\t\t\t\t// console.log(\"data\", this.productsByCategory[this.categorySelected]);\n\t\t\t\t\tthis.productsLoaded = true;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.productsLoaded = true;\n\t\t\t}\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.fetchCategories().then(() => {\n\t\t\tconsole.log(\"categoriesFetched\", this.categories);\n\t\t});\n\n\t\tif (this.cart.items && this.cart.items.length > 0) {\n\t\t\tthis.cart.items.forEach((item) => {\n\t\t\t\tif (item.invoiceDetails) {\n\t\t\t\t\tthis.invoiceDetails = item.invoiceDetails;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (!this.trainers) {\n\t\t\tthis.fetchTrainersList().then(() => console.log(\"trainers fetched\"));\n\t\t}\n\t\t// document\n\t\t// \t.querySelector(\"course-register-container\")\n\t\t// \t.addEventListener(\"scroll\", function() {\n\t\t// \t\tif (cartCard) {\n\t\t// \t\t\t// console.log(cardTopOffset.top);\n\t\t// \t\t\tif (window.pageYOffset > cardTopOffset.top) {\n\t\t// \t\t\t\tcartCard.classList.add(\"sticky\");\n\t\t// \t\t\t} else {\n\t\t// \t\t\t\tcartCard.classList.remove(\"sticky\");\n\t\t// \t\t\t\t// return false;\n\t\t// \t\t\t}\n\t\t// \t\t}\n\t\t// \t});\n\t},\n};\n\n// function\n</script>\n\n<style scoped>\n@media screen and (max-width: 767px) {\n\t.course-register-container {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.cart-container {\n\t\twidth: 100% !important;\n\t\tmargin-bottom: 2rem !important;\n\t}\n\n\t.product-list-container {\n\t\twidth: 100% !important;\n\t\tmargin-bottom: 2rem !important;\n\t}\n}\n\n@media screen and (max-width: 600px) {\n\t.product-list {\n\t\tflex-direction: column !important;\n\t}\n\n\t.product-list-item {\n\t\twidth: 100% !important;\n\t}\n}\n\n.register-page .banner-small {\n\theight: 8rem;\n\tmargin-bottom: 3rem;\n}\n\n.banner-title-card {\n\tbackground-color: var(--color-white);\n\tpadding: 2.75rem 3rem 1.75rem 1.5rem;\n\twidth: fit-content;\n\tborder-radius: 8px;\n\tborder: 1px solid #a3a3a3;\n\tposition: absolute;\n\ttop: 4rem;\n\tbox-shadow: 0 0 16px #c9c9c929;\n}\n\n.banner-title {\n\t/* font-size: 2.5rem;\n\tfont-weight: bold; */\n\tfont-weight: bold;\n\tfont-size: 2rem;\n\tcolor: #000000;\n\t/* padding: 2.5rem 0; */\n\tmargin: 0;\n}\n\n.banner-title:before {\n\tcontent: \"\";\n\twidth: 2rem;\n\theight: 0.35rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: block;\n\ttop: -1rem;\n\tleft: 0;\n\tposition: relative;\n}\n\n.page-content {\n\tmargin-top: 2.5rem;\n}\n\n.category-cards {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tcolumn-gap: 1rem;\n\tmargin-bottom: 2.5rem;\n\tflex-wrap: wrap;\n\trow-gap: 1rem;\n\t/* overflow-y: auto; */\n\twidth: 100%;\n\tpadding: 1.5rem 0;\n}\n\n.category-card {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tpadding: 1.25rem 1.75rem;\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tbox-shadow: 2px 3px 5px rgba(197, 197, 197, 0.25);\n\tborder-radius: 0.5rem;\n\tflex-grow: 1;\n\tflex-shrink: 0;\n\t/* height: 15rem; */\n\tfont-weight: 500;\n\t/* max-width: 32 */\n\tcursor: pointer;\n\tposition: relative;\n\t/* width: calc(33% - 1.66667rem); */\n\t/*max-width: 32%; */\n}\n\n.category-card span {\n\tfont-size: 1.5rem;\n\tpointer-events: none;\n}\n\n.category-card.selected {\n\tborder-color: var(--primary-color);\n}\n\n.category-card.selected:before {\n\tcontent: url(\"~@/assets/images/check-icon.svg\");\n\tposition: absolute;\n\ttop: -0.5rem;\n\tright: -0.5rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: flex;\n\talign-items: flex-end;\n\tjustify-content: center;\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\tborder-radius: 50%;\n}\n\n.course-register-container {\n\t/* border-top: 1px solid #c4c4c4; */\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding-top: 2.5rem;\n\tcolumn-gap: 2rem;\n}\n\n.product-list-container {\n\twidth: 70%;\n}\n\n.product-list {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n\trow-gap: 1rem;\n\tflex-wrap: wrap;\n}\n\n.cart-container {\n\twidth: 30%;\n}\n\n.cart-card {\n\tbackground: #ffffff;\n\tborder: 2px solid #ebebeb;\n\tbox-sizing: border-box;\n\tbox-shadow: 0px 3px 15px rgba(197, 197, 197, 0.25);\n\tborder-radius: 12px;\n\tpadding: 1.75rem;\n}\n\n.top-label {\n\tfont-weight: 500;\n\tfont-size: 1.25rem;\n\tline-height: 1.875rem;\n\tcolor: #c4c4c4;\n\tmargin: 0 0 0.5rem;\n}\n\n.total-amount {\n\tfont-weight: bold;\n\tfont-size: 2.25rem;\n\tcolor: #000000;\n\tmargin: 0 0 2rem;\n}\n\n.selected-batches {\n\tfont-size: 1.125rem;\n\tline-height: 1.5rem;\n\ttext-transform: uppercase;\n\tcolor: var(--primary-color);\n}\n\n.cart-item {\n\tbackground: #ffffff;\n\tborder: 1px solid #c4c4c4;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 1rem 1.25rem;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.cart-items-list {\n\tmargin-top: 1.375rem;\n\tdisplay: flex;\n\tflex-direction: column;\n\trow-gap: 1.125rem;\n}\n\n.cart-item .title,\n.cart-item .price {\n\tfont-weight: 500;\n\tfont-size: 1.375rem;\n\tline-height: 1.377;\n\tcolor: #000000;\n\tmargin: 0;\n}\n\n.cart-item .price {\n\tfont-weight: bold;\n}\n\n.cart-item .cart-row {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: flex-start;\n\tjustify-content: space-between;\n\tmargin-bottom: 1rem;\n\tcolumn-gap: 2rem;\n}\n\n.cart-item .cart-row.bottom {\n\talign-items: flex-end;\n}\n\n.cart-item .instructor {\n\tmargin: 0;\n\tfont-size: 0.875rem;\n}\n\n.cart-item .delete-btn {\n\tborder: 2px solid #cd222d;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\ttext-transform: uppercase;\n\tpadding: 0.25rem 1rem;\n\tfont-weight: 500;\n\tfont-size: 0.75rem;\n\tline-height: 1.125rem;\n\tcolor: #cd222d;\n}\n\n.cart-card .register-btn {\n\tbackground: var(--primary-color);\n\tborder-radius: 8px;\n\tpadding: 1rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n\ttext-transform: uppercase;\n\tcolor: #ffffff;\n\tfont-weight: bold;\n\tfont-size: 1rem;\n\tletter-spacing: 0.01em;\n\tmargin-top: 2rem;\n}\n\n.back-container {\n\tdisplay: flex;\n\tcolumn-gap: 1rem;\n}\n\n.sticky {\n\tposition: fixed;\n\ttop: 0;\n}\n\n.category-heading {\n\tfont-weight: bold;\n\tline-height: 1.5;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseRegistration.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseRegistration.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourseRegistration.vue?vue&type=template&id=bb6495c6&scoped=true&\"\nimport script from \"./CourseRegistration.vue?vue&type=script&lang=js&\"\nexport * from \"./CourseRegistration.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CourseRegistration.vue?vue&type=style&index=0&id=bb6495c6&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"bb6495c6\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[_c('div',{staticClass:\"banner-custom-container\"},[_c('div',{staticClass:\"banner-section\"},[_c('HomePageBanner')],1),_c('div',{staticClass:\"login-section\"},[_c('Login')],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"home\">\n\t\t<div class=\"banner-custom-container\">\n\t\t\t<div class=\"banner-section\">\n\t\t\t\t<HomePageBanner />\n\t\t\t</div>\n\t\t\t<div class=\"login-section\">\n\t\t\t\t<Login />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport HomePageBanner from \"@/components/Layout/HomePageBanner.vue\";\nimport { mapActions, mapState } from \"vuex\";\nimport Login from \"@/components/Account/Login.vue\";\nexport default {\n\tname: \"Home\",\n\tcomponents: {\n\t\tHomePageBanner,\n\t\tLogin,\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t\t...mapState(\"user\", [\"trainers\"]),\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchTrainersList\"]),\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\twindow.postMessage({ event: \"homepage-loaded\", data: null });\n\t\t});\n\t},\n\tcreated() {\n\t\tthis.fetchTrainersList().then(() => {\n\t\t\tconsole.log(\"trainers fetched\");\n\t\t});\n\t},\n};\n</script>\n\n<style scoped>\n.home .container {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\theight: 100vh;\n}\n\n.section-heading {\n\tfont-weight: 500;\n\tfont-size: 2.75rem;\n\tline-height: 1.3;\n\tcolor: var(--secondary-color);\n\tmargin-bottom: 0;\n\tletter-spacing: -0.45px;\n}\n\n.section-subheading {\n\tfont-size: 1.375rem;\n\tcolor: #898989;\n\tfont-weight: normal;\n}\n\n.section-heading-container {\n\tmargin: 4rem 0 3.375rem;\n}\n\n.home .banner-custom-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\twidth: 100vw !important;\n}\n\n.banner-custom-container .banner-section {\n\twidth: 75%;\n\tflex-grow: 1;\n}\n\n.banner-custom-container .login-section {\n\twidth: 25%;\n\tflex-grow: 1;\n\tpadding: 2rem 0;\n}\n\n@media screen and (max-width: 1024px) {\n\t.home .banner-custom-container {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.banner-custom-container .banner-section {\n\t\twidth: 100% !important;\n\t}\n\n\t.banner-custom-container .login-section {\n\t\twidth: 100% !important;\n\t}\n}\n/* .section-heading::before {\n\tcontent: \"\";\n\twidth: 3.1rem;\n\theight: 0.35rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: block;\n\ttop: -0.7rem;\n\tleft: 0.3rem;\n\tposition: relative;\n} */\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=01ff18c7&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=01ff18c7&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"01ff18c7\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:['product-list-item'],attrs:{\"title\":_vm.disabled ? 'You are already enrolled in a batch of this course' : ''}},[_c('h1',{staticClass:\"product-title\"},[_vm._v(\" \"+_vm._s(_vm.productData.title)+\" \")]),(_vm.disabled)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\"You are already enrolled in a batch of this course\")]):_vm._e(),(_vm.productData.properties.trainers)?_c('p',{staticClass:\"instructor-name\"}):_vm._e(),(_vm.productVariantsLoaded)?_c('div',{staticClass:\"product-variant-list mt-4\"},_vm._l((_vm.filteredProductVariantsByProduct),function(item){return _c('div',{key:item.id,staticClass:\"product-variant-item\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedProductVariant),expression:\"selectedProductVariant\"}],attrs:{\"type\":\"radio\",\"name\":(\"productVariant-\" + (item.product.id)),\"id\":(\"productVariant-\" + (item.id)),\"disabled\":_vm.isAdded || _vm.disabled || _vm.isBatchDisabled(item)},domProps:{\"value\":item,\"checked\":_vm.isChecked(item),\"checked\":_vm._q(_vm.selectedProductVariant,item)},on:{\"change\":function($event){_vm.selectedProductVariant=item}}}),_c('label',{attrs:{\"id\":'batch-' + item.id,\"for\":(\"productVariant-\" + (item.id))}},[_c('div',[_c('strong',[_vm._v(_vm._s(item.title))]),_vm._v(\" \"),_c('br'),_c('strong',[_vm._v(\" \"+_vm._s(_vm.productTrainersList(item) .map(function (p) { return p.firstName + \" \" + p.lastName; }) .toString() .split(\",\") .join(\",\\n\"))+\" \")]),_c('br'),_c('span',{staticStyle:{\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(item.shortDescription ? item.shortDescription : \"\"))]),_c('br'),(_vm.isBatchDisabled(item))?_c('span',{staticClass:\"text-danger\"},[_vm._v(\"This batch is full. Please select any other batch.\")]):_vm._e()])])])}),0):_vm._e(),(_vm.productVariantsLoaded && !_vm.filteredProductVariantsByProduct.length)?_c('div',{staticClass:\"product-variant-list\"},[_vm._v(\" No batches found \")]):_vm._e(),_c('div',{staticClass:\"text-center\"},[(_vm.loading)?_c('b-spinner'):_vm._e()],1),(\n\t\t\t_vm.productVariantsByProduct[_vm.productData.id] &&\n\t\t\t_vm.productVariantsByProduct[_vm.productData.id].length > 0\n\t\t)?_c('button',{staticClass:\"add-to-list\",attrs:{\"disabled\":_vm.isAdded || !_vm.selectedProductVariant || _vm.disabled,\"role\":\"button\"},on:{\"click\":_vm.addItemToList}},[_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")]):_vm._e(),_c('ProductPricingPlansModal',{attrs:{\"showModal\":_vm.showPlansModal,\"productVariantData\":_vm.selectedProductVariant,\"caller\":0},on:{\"updateModalState\":_vm.setModal}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\t:class=\"['product-list-item']\"\n\t\t:title=\"\n\t\t\tdisabled ? 'You are already enrolled in a batch of this course' : ''\n\t\t\"\n\t>\n\t\t<h1 class=\"product-title\">\n\t\t\t{{ productData.title }}\n\t\t</h1>\n\t\t<span v-if=\"disabled\" class=\"text-danger\"\n\t\t\t>You are already enrolled in a batch of this course</span\n\t\t>\n\n\t\t<p v-if=\"productData.properties.trainers\" class=\"instructor-name\">\n\t\t\t<!-- {{ productData }} -->\n\t\t\t<!-- by Ahmed Saya -->\n\t\t</p>\n\t\t<div v-if=\"productVariantsLoaded\" class=\"product-variant-list mt-4\">\n\t\t\t<div\n\t\t\t\tv-for=\"item in filteredProductVariantsByProduct\"\n\t\t\t\t:key=\"item.id\"\n\t\t\t\tclass=\"product-variant-item\"\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t:name=\"`productVariant-${item.product.id}`\"\n\t\t\t\t\t:id=\"`productVariant-${item.id}`\"\n\t\t\t\t\t:value=\"item\"\n\t\t\t\t\tv-model=\"selectedProductVariant\"\n\t\t\t\t\t:disabled=\"isAdded || disabled || isBatchDisabled(item)\"\n\t\t\t\t\t:checked=\"isChecked(item)\"\n\t\t\t\t/>\n\t\t\t\t<label :id=\"'batch-' + item.id\" :for=\"`productVariant-${item.id}`\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<strong>{{ item.title }}</strong> <br />\n\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\tproductTrainersList(item)\n\t\t\t\t\t\t\t\t\t.map((p) => {\n\t\t\t\t\t\t\t\t\t\treturn p.firstName + \" \" + p.lastName;\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t\t\t\t.split(\",\")\n\t\t\t\t\t\t\t\t\t.join(\",\\n\")\n\t\t\t\t\t\t\t}} </strong\n\t\t\t\t\t\t><br />\n\t\t\t\t\t\t<span style=\"white-space: pre-wrap\">{{\n\t\t\t\t\t\t\titem.shortDescription ? item.shortDescription : \"\"\n\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span v-if=\"isBatchDisabled(item)\" class=\"text-danger\"\n\t\t\t\t\t\t\t>This batch is full. Please select any other batch.</span\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<!-- Rs. {{ item.pricing.amount }} -->\n\t\t\t\t\t</div>\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\tv-if=\"productVariantsLoaded && !filteredProductVariantsByProduct.length\"\n\t\t\tclass=\"product-variant-list\"\n\t\t>\n\t\t\tNo batches found\n\t\t</div>\n\t\t<div class=\"text-center\">\n\t\t\t<b-spinner v-if=\"loading\"></b-spinner>\n\t\t</div>\n\t\t<button\n\t\t\tv-if=\"\n\t\t\t\tproductVariantsByProduct[productData.id] &&\n\t\t\t\tproductVariantsByProduct[productData.id].length > 0\n\t\t\t\"\n\t\t\t:disabled=\"isAdded || !selectedProductVariant || disabled\"\n\t\t\t@click=\"addItemToList\"\n\t\t\trole=\"button\"\n\t\t\tclass=\"add-to-list\"\n\t\t>\n\t\t\t{{ buttonText }}\n\t\t</button>\n\t\t<ProductPricingPlansModal\n\t\t\t:showModal=\"showPlansModal\"\n\t\t\t:productVariantData=\"selectedProductVariant\"\n\t\t\t@updateModalState=\"setModal\"\n\t\t\t:caller=\"0\"\n\t\t/>\n\t</div>\n</template>\n\n<script>\nimport ProductPricingPlansModal from \"../../../components/Product/ProductPricingPlansModal.vue\";\nimport { mapActions, mapState, mapGetters } from \"vuex\";\n\nexport default {\n\tname: \"ProductRegistrationListItem\",\n\tdata() {\n\t\treturn {\n\t\t\tisAdded: false,\n\t\t\tselectedProductVariant: null,\n\t\t\tproductVariantsLoaded: false,\n\t\t\tshowPlansModal: false,\n\t\t};\n\t},\n\tprops: {\n\t\tproductData: Object,\n\t\tdisabled: Boolean,\n\t},\n\tcomponents: {\n\t\tProductPricingPlansModal,\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"getProductVariantByProductId\"]),\n\t\t...mapActions(\"cart\", [\"addToCart\"]),\n\t\tisChecked(item) {\n\t\t\tif (\n\t\t\t\tthis.selectedProductVariant &&\n\t\t\t\tthis.selectedProductVariant.id == item.id\n\t\t\t) {\n\t\t\t\tconsole.log(\n\t\t\t\t\t\"item is selected\",\n\t\t\t\t\tthis.selectedProductVariant.id == item.id\n\t\t\t\t);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t\taddItemToList() {\n\t\t\tif (\n\t\t\t\tthis.selectedProductVariant &&\n\t\t\t\tthis.selectedProductVariant.pricingStatus.toLowerCase() == \"paid\"\n\t\t\t)\n\t\t\t\tthis.showPlansModal = true;\n\t\t\telse this.enrollCourse();\n\t\t},\n\t\tsetModal(value) {\n\t\t\tthis.showPlansModal = value;\n\t\t\tdocument.getElementById(\"cart\").scrollIntoView({\n\t\t\t\tbehavior: \"smooth\",\n\t\t\t\tblock: \"nearest\",\n\t\t\t\tinline: \"nearest\",\n\t\t\t});\n\t\t},\n\t\tenrollCourse() {\n\t\t\tthis.addToCart(this.selectedProductVariant);\n\t\t\tdocument.getElementById(\"cart\").scrollIntoView({\n\t\t\t\tbehavior: \"smooth\",\n\t\t\t\tblock: \"nearest\",\n\t\t\t\tinline: \"nearest\",\n\t\t\t});\n\t\t},\n\t\tproductTrainersList(item) {\n\t\t\t// console.log(item.properties);\n\t\t\tvar trainerList = [];\n\t\t\tif (item.properties && item.properties.trainers && this.trainers) {\n\t\t\t\tvar list = JSON.parse(item.properties.trainers);\n\t\t\t\tconsole.log(list);\n\t\t\t\tlist.forEach((trainerID) => {\n\t\t\t\t\tvar found = this.trainers.find((t) => t.id == trainerID);\n\t\t\t\t\tif (found) {\n\t\t\t\t\t\ttrainerList.push(found);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\t// console.log(trainerList);\n\t\t\treturn trainerList;\n\t\t},\n\t\tisBatchDisabled(item) {\n\t\t\treturn item.status.toLowerCase() == \"private\";\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"cart\", [\"cart\"]),\n\t\t...mapState(\"user\", [\"user\", \"trainers\"]),\n\t\t...mapGetters(\"cart\", [\"getCartItems\"]),\n\t\t...mapState(\"productVariant\", [\"productVariantsByProduct\", \"loading\"]),\n\t\tbuttonText() {\n\t\t\tif (this.disabled) return \"Already Enrolled\";\n\n\t\t\tif (this.isAdded) {\n\t\t\t\treturn \"added\";\n\t\t\t} else {\n\t\t\t\treturn \"add to list\";\n\t\t\t}\n\t\t},\n\t\tfilteredProductVariantsByProduct() {\n\t\t\treturn this.productVariantsByProduct[this.productData.id].filter(\n\t\t\t\t(variant) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tvariant.status.toLowerCase() != \"draft\"\n\t\t\t\t\t\t// && variant.status.toLowerCase() != \"private\"\n\t\t\t\t\t)\n\t\t\t\t\t\treturn variant;\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t},\n\tcreated() {\n\t\tif (!this.productVariantsByProduct[this.productData.id]) {\n\t\t\tthis.productVariantsLoaded = false;\n\t\t\tthis.getProductVariantByProductId(this.productData.id).then(\n\t\t\t\t(variants) => {\n\t\t\t\t\t// console.log(this.productVariantsByProduct[this.productData.id]);\n\t\t\t\t\tvar foundProductvariant = this.cart.items.find((item) => {\n\t\t\t\t\t\tvar found = variants.find((variant) => {\n\t\t\t\t\t\t\tconsole.log(variant.id == item.id);\n\t\t\t\t\t\t\treturn variant.id == item.id;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (found) return found;\n\t\t\t\t\t});\n\t\t\t\t\tconsole.log(\"found product in cart\", foundProductvariant);\n\n\t\t\t\t\tif (foundProductvariant) {\n\t\t\t\t\t\tthis.selectedProductVariant = foundProductvariant;\n\t\t\t\t\t\t// setTimeout(() => {\n\t\t\t\t\t\tthis.isAdded = true;\n\t\t\t\t\t\t// }, 200);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.selectedProductVariant = null;\n\t\t\t\t\t\tthis.isAdded = false;\n\t\t\t\t\t}\n\t\t\t\t\tthis.productVariantsLoaded = true;\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tvar foundProductvariant = this.cart.items.find((item) => {\n\t\t\t\tvar found = this.productVariantsByProduct[this.productData.id].find(\n\t\t\t\t\t(variant) => {\n\t\t\t\t\t\t// console.log(variant.id == item.id);\n\t\t\t\t\t\treturn variant.id == item.id;\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tif (found) return found;\n\t\t\t});\n\n\t\t\tif (foundProductvariant) {\n\t\t\t\t// console.log(foundProductvariant);\n\t\t\t\tthis.selectedProductVariant = foundProductvariant;\n\t\t\t\t// setTimeout(() => {\n\t\t\t\tthis.isAdded = true;\n\t\t\t\t// }, 200);\n\t\t\t} else {\n\t\t\t\tthis.selectedProductVariant = null;\n\t\t\t\tthis.isAdded = false;\n\t\t\t}\n\t\t\tthis.productVariantsLoaded = true;\n\t\t}\n\t\t// console.log(this.$store.state);\n\t},\n\twatch: {\n\t\tgetCartItems: function () {\n\t\t\tconsole.log(\"cart changed\");\n\t\t\tvar foundProductvariant = this.cart.items.find((item) => {\n\t\t\t\tvar found = this.productVariantsByProduct[this.productData.id].find(\n\t\t\t\t\t(variant) => {\n\t\t\t\t\t\t// console.log(variant.id == item.id);\n\t\t\t\t\t\treturn variant.id == item.id;\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tif (found) return found;\n\t\t\t});\n\n\t\t\tif (foundProductvariant) {\n\t\t\t\tconsole.log(foundProductvariant);\n\t\t\t\t// setTimeout(() => {\n\t\t\t\tthis.selectedProductVariant = foundProductvariant;\n\t\t\t\tthis.isAdded = true;\n\t\t\t\t// }, 200);\n\t\t\t} else {\n\t\t\t\tthis.selectedProductVariant = null;\n\t\t\t\tthis.isAdded = false;\n\t\t\t}\n\t\t\t// this.productVariantsLoaded = true;\n\t\t},\n\t\tproductVariantsLoaded: function () {\n\t\t\tif (this.productVariantsLoaded) {\n\t\t\t\tconsole.log(\"batches loaded\");\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tconst event = new CustomEvent(\"batches-loaded\", {\n\t\t\t\t\t\tdetail: this.filteredProductVariantsByProduct,\n\t\t\t\t\t});\n\t\t\t\t\tdocument.dispatchEvent(event);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.product-variant-list {\n\tmargin-bottom: 2rem;\n}\n\n.product-list-item {\n\tbackground: #ffffff;\n\tborder: 1px solid #c4c4c4;\n\tbox-sizing: border-box;\n\tbox-shadow: 0px 3px 6px rgba(197, 197, 197, 0.25);\n\tborder-radius: 12px;\n\tpadding: 2rem 1.5rem 1.5rem 2rem;\n\twidth: calc(50% - 0.5rem);\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: fit-content;\n}\n\n.product-list-item.disabled {\n\topacity: 0.5;\n}\n\n.product-title {\n\tfont-size: 1.875rem;\n\tmargin-bottom: 0;\n}\n\n.instructor-name {\n\tfont-size: 1.125rem;\n}\n\n.product-variant-item {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n\t/* padding: 0.625rem 1.125rem; */\n\talign-items: center;\n\tposition: relative;\n}\n\n.product-variant-item input,\n.product-variant-item label {\n\tmargin: 0;\n}\n\n.product-variant-item label {\n\tpadding: 1rem 2rem 1rem 4rem;\n\twidth: 100%;\n\tborder-radius: 8px;\n\tcursor: pointer;\n}\n\n.product-variant-item input[type=\"radio\"] {\n\twidth: 1.375rem;\n\theight: 1.375rem;\n\tposition: absolute;\n\tleft: 1rem;\n}\n\n.product-variant-item input[type=\"radio\"]:checked::before {\n\tbackground-color: var(--primary-color);\n}\n\n.product-variant-item input[type=\"radio\"]:checked + label {\n\tbackground-color: #ebebeb;\n}\n\n.add-to-list {\n\tpadding: 0.75rem 1.25rem;\n\tmargin-top: 1rem;\n\tbackground-color: #5cb85c;\n\tcolor: #ffffff;\n\tborder-radius: 8px;\n\ttext-transform: uppercase;\n\tfont-size: 0.875rem;\n\talign-self: flex-end;\n\tmargin-top: auto;\n}\n\n.add-to-list:disabled {\n\tbackground-color: #777;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductRegistrationListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductRegistrationListItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductRegistrationListItem.vue?vue&type=template&id=3f464ea8&scoped=true&\"\nimport script from \"./ProductRegistrationListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductRegistrationListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductRegistrationListItem.vue?vue&type=style&index=0&id=3f464ea8&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3f464ea8\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',[_c('div',{staticClass:\"dashboard-content-container container\"},[_c('UserProducts',{attrs:{\"userProducts\":_vm.userProducts,\"isUpdatesCard\":_vm.isUpdatesCard}}),_c('DashboardUpdatesCard',{on:{\"updatesCardVisibility\":_vm.updateLayout}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<!-- <DashboardBanner\n\t\t\t@activeTab=\"changeTab\"\n\t\t\t:activeTab=\"activeTab\"\n\t\t\t:tabsList=\"tabsList\"\n\t\t/> -->\n\t\t<div>\n\t\t\t<div class=\"dashboard-content-container container\">\n\t\t\t\t<UserProducts\n\t\t\t\t\t:userProducts=\"userProducts\"\n\t\t\t\t\t:isUpdatesCard=\"isUpdatesCard\"\n\t\t\t\t/>\n\t\t\t\t<DashboardUpdatesCard @updatesCardVisibility=\"updateLayout\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport ProductListItem from \"../../components/Product/ProductListItem.vue\";\nimport DashboardBanner from \"./components/DashboardBanner.vue\";\nimport DashboardUpdatesCard from \"../../components/Dashboard/DashboardUpdatesCard.vue\";\nimport UserProducts from \"./components/UserProducts.vue\";\nimport { mapActions, mapState } from \"vuex\";\nimport { ProductVariantStatus } from \"../../constants/productVariant\";\n\nexport default {\n\tname: \"Dashboard\",\n\tdata() {\n\t\treturn {\n\t\t\t// userProducts: [],\n\t\t\tisUpdatesCard: false,\n\t\t\tproductsLoaded: false,\n\t\t\tactiveTab: \"courses\",\n\t\t\ttabsList: [\n\t\t\t\t{\n\t\t\t\t\tlabel: \"My Courses\",\n\t\t\t\t\tmobileLabel: \"Courses\",\n\t\t\t\t\tvalue: \"courses\",\n\t\t\t\t\ticonClass: \"fas fa-book\",\n\t\t\t\t\tshowOnMobile: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: \"Watched\",\n\t\t\t\t\tmobileLabel: \"Watched\",\n\t\t\t\t\tvalue: \"watched\",\n\t\t\t\t\ticonClass: \"far fa-eye\",\n\t\t\t\t\tshowOnMobile: false,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: \"Enrolled\",\n\t\t\t\t\tmobileLabel: \"Enrolled\",\n\t\t\t\t\tvalue: \"enrolled\",\n\t\t\t\t\ticonClass: \"far fa-file-edit\",\n\t\t\t\t\tshowOnMobile: false,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: \"Scheduled\",\n\t\t\t\t\tmobileLabel: \"Scheduled\",\n\t\t\t\t\tvalue: \"scheduled\",\n\t\t\t\t\ticonClass: \"far fa-file-edit\",\n\t\t\t\t\tshowOnMobile: false,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: \"Discussion Forum\",\n\t\t\t\t\tmobileLabel: \"Discussion\",\n\t\t\t\t\tvalue: \"forum\",\n\t\t\t\t\ticonClass: \"far fa-comment\",\n\t\t\t\t\tshowOnMobile: false,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\tcomponents: {\n\t\tProductListItem,\n\t\tDashboardBanner,\n\t\tDashboardUpdatesCard,\n\t\tUserProducts,\n\t},\n\tmethods: {\n\t\tchangeTab(activeTab) {\n\t\t\tthis.activeTab = activeTab;\n\t\t},\n\t\tupdateLayout(value) {\n\t\t\tthis.isUpdatesCard = value;\n\t\t},\n\t\t...mapActions(\"user\", [\"fetchCurrentUser\"]),\n\t\t...mapActions(\"pricing\", [\"fetchInvoiceByUserId\"]),\n\t},\n\tcomputed: {\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"pricing\", [\"invoicesByUserId\"]),\n\t\tuserProducts() {\n\t\t\tvar myProducts =\n\t\t\t\tthis.user && this.user.productVariants\n\t\t\t\t\t? this.user.productVariants.filter(\n\t\t\t\t\t\t\t(productVariant) =>\n\t\t\t\t\t\t\t\tproductVariant.status != ProductVariantStatus.DRAFT\n\t\t\t\t\t\t\t// &&\n\t\t\t\t\t\t\t// ? productVariant.endDate\n\t\t\t\t\t\t\t// \t? new Date() >= productVariant.endDate\n\t\t\t\t\t\t\t// \t: true\n\t\t\t\t\t\t\t// : false\n\t\t\t\t\t\t\t// productVariant.subscriptionStatus &&\n\t\t\t\t\t\t\t// productVariant.subscriptionStatus.toLowerCase() != \"unenrolled\"\n\t\t\t\t\t  )\n\t\t\t\t\t: [];\n\n\t\t\treturn myProducts;\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\twindow.postMessage({ event: \"dashboard-loaded\", data: null });\n\t\t});\n\t},\n\tcreated() {\n\t\tthis.fetchCurrentUser().then(() => {\n\t\t\t// console.log(\"userdata\");\n\t\t\tthis.fetchInvoiceByUserId(this.user.id).then((res) => {\n\t\t\t\tconsole.log(\"invoices: \", res);\n\t\t\t\tvar unenrolledCourses = this.user.productVariants.filter(\n\t\t\t\t\t(variant) =>\n\t\t\t\t\t\tvariant.subscriptionStatus &&\n\t\t\t\t\t\tvariant.subscriptionStatus.toLowerCase() == \"unenrolled\"\n\t\t\t\t);\n\t\t\t\tvar userInvoices = this.invoicesByUserId[this.user.id];\n\n\t\t\t\tunenrolledCourses.forEach((course) => {\n\t\t\t\t\tvar found = userInvoices.find((invoice) =>\n\t\t\t\t\t\tinvoice.details.find(\n\t\t\t\t\t\t\t(detail) => detail.productSourceID == course.id\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\t// console.log(found);\n\t\t\t\t\tif (found) {\n\t\t\t\t\t\tconsole.log(\"Invoice found for unenrolled course\", found);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// console.log({\n\t\t\t\t// \tunenrolledCourses,\n\t\t\t\t// \tinvoicesByUserId: this.invoicesByUserId[this.user.id],\n\t\t\t\t// });\n\t\t\t});\n\n\t\t\tcheckCourses();\n\t\t\tthis.$nextTick(() => {\n\t\t\t\t// const event = new CustomEvent(\"courses-fetched\");\n\t\t\t\t// document.dispatchEvent(event);\n\t\t\t\twindow.postMessage({ event: \"courses-fetched\", data: null });\n\t\t\t});\n\t\t});\n\t},\n};\n\nfunction checkCourses() {\n\tif (typeof getUserProductsCallback !== \"undefined\") {\n\t\tgetUserProductsCallback();\n\t}\n}\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.dashboard-content-container {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.announcement-card {\n\t\tmargin-top: -1rem !important;\n\t}\n\n\t.dashboard-announcement-container {\n\t\tpadding: 0 !important;\n\t}\n}\n\n.dashboard-content-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\t/* row-gap: 1rem; */\n\tpadding: 0 1rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=72711a7a&scoped=true&\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Dashboard.vue?vue&type=style&index=0&id=72711a7a&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"72711a7a\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[(\n\t\t\t_vm.systemParameters.Banners && _vm.systemParameters.Banners.slides.length > 0\n\t\t)?_c('HomePageBanner'):_vm._e(),(_vm.categories && _vm.categories.length)?_c('ProductCategoryTabs',{attrs:{\"carouselType\":\"featured\"}}):_vm._e(),_c('HompageBecomeInstructor'),_c('HompageTestimonials'),(_vm.categories && _vm.categories.length)?_c('ProductCategoryTabs',{attrs:{\"carouselType\":\"standard\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"home\">\n\t\t<HomePageBanner\n\t\t\tv-if=\"\n\t\t\t\tsystemParameters.Banners && systemParameters.Banners.slides.length > 0\n\t\t\t\"\n\t\t/>\n\t\t<ProductCategoryTabs\n\t\t\tv-if=\"categories && categories.length\"\n\t\t\tcarouselType=\"featured\"\n\t\t/>\n\t\t<HompageBecomeInstructor />\n\t\t<HompageTestimonials />\n\t\t<ProductCategoryTabs\n\t\t\tv-if=\"categories && categories.length\"\n\t\t\tcarouselType=\"standard\"\n\t\t/>\n\t</div>\n</template>\n\n<script>\nimport HomePageBanner from \"@/components/Layout/HomePageBanner.vue\";\nimport ProductCategoryTabs from \"@/components/Product/ProductCategoryTabs.vue\";\nimport HompageBecomeInstructor from \"./HomepageBecomeInstructor.vue\";\nimport HompageTestimonials from \"./HomepageTestimonials.vue\";\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"Home\",\n\tcomponents: {\n\t\tHomePageBanner,\n\t\tProductCategoryTabs,\n\t\tHompageBecomeInstructor,\n\t\tHompageTestimonials,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\t// banners: banners,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t\t...mapState(\"user\", [\"trainers\"]),\n\t\t...mapState(\"category\", [\"categories\"]),\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchTrainersList\"]),\n\t\t...mapActions(\"category\", [\"fetchCategories\"]),\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\twindow.postMessage({ event: \"homepage-loaded\", data: null });\n\t\t});\n\t},\n\tcreated() {\n\t\tthis.fetchTrainersList().then(() => {\n\t\t\tconsole.log(\"trainers fetched\");\n\t\t});\n\t\t\n\t\tthis.fetchCategories().then(() => {});\n\t},\n};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=231bb9a4&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"231bb9a4\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"instructor-flex\"},[_c('img',{staticClass:\"instructor-image\",attrs:{\"src\":\"https://gocbe-lms-files.b-cdn.net/edcentra/instructor-block-image.png\"}}),_c('img',{staticClass:\"arrowImage\",attrs:{\"src\":\"https://gocbe-lms-files.b-cdn.net/edcentra/banner-image-4.tif.png\",\"alt\":\"\"}}),_c('div',{staticClass:\"instructor-text-div\"},[_c('p',{staticClass:\"instructor-text\"},[_c('strong',[_vm._v(\"Become an \"),_c('span',{staticStyle:{\"background-color\":\"#fdb12a\",\"padding\":\"3px 0\"}},[_vm._v(\" Instructor\")]),_vm._v(\" today\")])]),_c('p',{staticStyle:{\"width\":\"360px\",\"font-size\":\"17px\"}},[_vm._v(\" Teach what you love we gives you the tools to \"),_c('br'),_vm._v(\"Create an online courses. \")]),_c('a',{staticClass:\"gradientButton\",attrs:{\"href\":\"/teach-with-us\"}},[_vm._v(\" Click here and start teaching today \")])])])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"container\">\n\t\t<div class=\"instructor-flex\">\n\t\t\t<!-- <div\n            class=\"backgroundStudentImage\"\n            style=\"display: inline-block; background-size: 134%; padding: 0px\"\n          > -->\n\t\t\t<img\n\t\t\t\tsrc=\"https://gocbe-lms-files.b-cdn.net/edcentra/instructor-block-image.png\"\n\t\t\t\tclass=\"instructor-image\"\n\t\t\t/>\n\t\t\t<!-- </div> -->\n\t\t\t<img\n\t\t\t\tsrc=\"https://gocbe-lms-files.b-cdn.net/edcentra/banner-image-4.tif.png\"\n\t\t\t\talt=\"\"\n\t\t\t\tclass=\"arrowImage\"\n\t\t\t/>\n\n\t\t\t<div class=\"instructor-text-div\">\n\t\t\t\t<p class=\"instructor-text\">\n\t\t\t\t\t<strong\n\t\t\t\t\t\t>Become an\n\t\t\t\t\t\t<span style=\"background-color: #fdb12a; padding: 3px 0\">\n\t\t\t\t\t\t\tInstructor</span\n\t\t\t\t\t\t>\n\t\t\t\t\t\ttoday</strong\n\t\t\t\t\t>\n\t\t\t\t</p>\n\t\t\t\t<p style=\"width: 360px; font-size: 17px\">\n\t\t\t\t\tTeach what you love we gives you the tools to <br />Create an online\n\t\t\t\t\tcourses.\n\t\t\t\t</p>\n\t\t\t\t<a href=\"/teach-with-us\" class=\"gradientButton\">\n\t\t\t\t\tClick here and start teaching today\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"HompageBecomeInstructor\",\n};\n</script>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomepageBecomeInstructor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomepageBecomeInstructor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomepageBecomeInstructor.vue?vue&type=template&id=653492a6&\"\nimport script from \"./HomepageBecomeInstructor.vue?vue&type=script&lang=js&\"\nexport * from \"./HomepageBecomeInstructor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"after-instructor-div\"},[_c('div',{staticClass:\"setFlexOrder\",staticStyle:{\"margin-left\":\"3rem\"}},[_c('img',{staticStyle:{\"height\":\"20px\",\"margin-bottom\":\"1rem\"},attrs:{\"src\":\"https://gocbe-lms-files.b-cdn.net/edcentra/student-rating-image.svg\"}}),_c('p',{staticStyle:{\"font-size\":\"40px\"}},[_c('strong',[_vm._v(\"Extremely satisfied with the\"),_c('br'),_vm._v(\" quality of Education\")])]),_c('p',{staticStyle:{\"color\":\"#575757\",\"font-size\":\"1.15rem\"}},[_vm._v(\" GoCBE has been a source of intellectual\"),_c('br'),_vm._v(\" enrichmentand practical professional\"),_c('br'),_vm._v(\" development for me. \")]),_c('p',{staticClass:\"studentName\"},[_vm._v(\"Nimra Shah\")]),_c('p',{staticStyle:{\"display\":\"inline-block\",\"margin-left\":\"5px\"}},[_vm._v(\"Student\")])]),_c('div',{staticClass:\"backgroundStudentImage\"},[_c('img',{staticClass:\"student-image\",attrs:{\"src\":\"https://gocbe-lms-files.b-cdn.net/edcentra/student-block-image.png\"}})])])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"container\">\n\t\t<div class=\"after-instructor-div\">\n\t\t\t<!-- ; margin-top: 7rem -->\n\t\t\t<div style=\"margin-left: 3rem\" class=\"setFlexOrder\">\n\t\t\t\t<img\n\t\t\t\t\tsrc=\"https://gocbe-lms-files.b-cdn.net/edcentra/student-rating-image.svg\"\n\t\t\t\t\tstyle=\"height: 20px; margin-bottom: 1rem\"\n\t\t\t\t/>\n\t\t\t\t<p style=\"font-size: 40px; font-size: 40px\">\n\t\t\t\t\t<strong\n\t\t\t\t\t\t>Extremely satisfied with the<br />\n\t\t\t\t\t\tquality of Education</strong\n\t\t\t\t\t>\n\t\t\t\t</p>\n\t\t\t\t<p style=\"color: #575757; font-size: 1.15rem\">\n\t\t\t\t\tGoCBE has been a source of intellectual<br />\n\t\t\t\t\tenrichmentand practical professional<br />\n\t\t\t\t\tdevelopment for me.\n\t\t\t\t</p>\n\t\t\t\t<p class=\"studentName\">Nimra Shah</p>\n\t\t\t\t<p style=\"display: inline-block; margin-left: 5px\">Student</p>\n\t\t\t</div>\n\t\t\t<div class=\"backgroundStudentImage\">\n\t\t\t\t<img\n\t\t\t\t\tsrc=\"https://gocbe-lms-files.b-cdn.net/edcentra/student-block-image.png\"\n\t\t\t\t\tclass=\"student-image\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"HomepageTestimonials\",\n};\n</script>\n\n<style></style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomepageTestimonials.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomepageTestimonials.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomepageTestimonials.vue?vue&type=template&id=00ad7e18&\"\nimport script from \"./HomepageTestimonials.vue?vue&type=script&lang=js&\"\nexport * from \"./HomepageTestimonials.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"gradientImage\"},[_c('div',{staticClass:\"container flex-row\"},[_c('img',{staticClass:\"gradientInsideImage\",attrs:{\"src\":require(\"./Web Assets/Group 3971.png\"),\"alt\":\"\"}}),_c('img',{staticClass:\"arrowImage\",attrs:{\"src\":require(\"./Web Assets/HZE7F6.tif.png\"),\"alt\":\"\"}}),_c('div',{staticClass:\"gradient-right-div\"},[_c('p',{staticClass:\"become-instructor-text\"},[_c('strong',[_vm._v(\"Become an \"),_c('span',{staticStyle:{\"background-color\":\"#fdb12a\",\"padding\":\"3px 0\"}},[_vm._v(\" Instructor\")]),_vm._v(\" today\")])]),_c('p',{staticClass:\"become-instructor-after-text\"},[_vm._v(\" Teach what you love we gives you the tools to \"),_c('br'),_vm._v(\"Create an online courses. \")]),_c('button',{staticClass:\"gradientButton\"},[_vm._v(\" Click here and start teaching today \")])])])]),_c('br'),_c('br'),_c('br'),_c('div',{staticClass:\"container featureBoxContainer\"},[_c('div',{staticClass:\"featureBox\"},[_c('img',{staticStyle:{\"width\":\"150px\",\"height\":\"130px\"},attrs:{\"src\":require(\"./Web Assets/Group 3957.svg\"),\"alt\":\"\"}}),_c('p',{staticStyle:{\"font-size\":\"20px\"}},[_c('strong',[_vm._v(\"Teach us way\")])]),_c('p',{staticStyle:{\"font-size\":\"15px\"}},[_vm._v(\" Publish the course you want,\"),_c('br'),_vm._v(\" in the way you want, and\"),_c('br'),_vm._v(\" always have of control your\"),_c('br'),_vm._v(\" own content \")])]),_c('div',{staticClass:\"featureBox\"},[_c('img',{staticStyle:{\"width\":\"150px\",\"height\":\"130px\"},attrs:{\"src\":require(\"./Web Assets/Group 3959.svg\"),\"alt\":\"\"}}),_c('p',{staticStyle:{\"font-size\":\"20px\"}},[_c('strong',[_vm._v(\"Inspire learners\")])]),_c('p',{staticStyle:{\"font-size\":\"15px\"}},[_vm._v(\" Teach what you know and help\"),_c('br'),_vm._v(\" learners explore their interest,\"),_c('br'),_vm._v(\" gain new skills, and advance\"),_c('br'),_vm._v(\" their career. \")])]),_c('div',{staticClass:\"featureBox\"},[_c('img',{staticStyle:{\"width\":\"150px\",\"height\":\"130px\"},attrs:{\"src\":require(\"./Web Assets/Group 3960.svg\"),\"alt\":\"\"}}),_c('p',{staticStyle:{\"font-size\":\"20px\"}},[_c('strong',[_vm._v(\"Get Awarded\")])]),_c('p',{staticStyle:{\"font-size\":\"15px\"}},[_vm._v(\" Expand your professional\"),_c('br'),_vm._v(\" networks, build your\"),_c('br'),_vm._v(\" expertise, and earn money on \"),_c('br'),_vm._v(\" each paid enrollment. \")])])]),_c('br'),_c('div',{staticClass:\"container counterContainer\"},[_c('div',{staticClass:\"headCounterText\"},[_c('p',{staticClass:\"counterText\"},[_c('strong',[_vm._v(\"04M\")])]),_c('p',{staticClass:\"counterTextBody\"},[_vm._v(\"Students\")])]),_c('div',{staticClass:\"headCounterText\"},[_c('p',{staticClass:\"counterText\"},[_c('strong',[_vm._v(\"65+\")])]),_c('p',{staticClass:\"counterTextBody\"},[_vm._v(\"Languages\")])]),_c('div',{staticClass:\"headCounterText\"},[_c('p',{staticClass:\"counterText\"},[_c('strong',[_vm._v(\"480M\")])]),_c('p',{staticClass:\"counterTextBody\"},[_vm._v(\"Enrollments\")])]),_c('div',{staticClass:\"headCounterText\"},[_c('p',{staticClass:\"counterText\"},[_c('strong',[_vm._v(\"180+\")])]),_c('p',{staticClass:\"counterTextBody\"},[_vm._v(\"Countries\")])]),_c('div',{staticClass:\"headCounterText\"},[_c('p',{staticClass:\"counterText\"},[_c('strong',[_vm._v(\"7000+\")])]),_c('p',{staticClass:\"counterTextBody\"},[_vm._v(\"Enterprise customers\")])])])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div class=\"gradientImage\">\n\t\t\t<div class=\"container flex-row\">\n\t\t\t\t<img\n\t\t\t\t\tsrc=\"./Web Assets/Group 3971.png\"\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tclass=\"gradientInsideImage\"\n\t\t\t\t/>\n\n\t\t\t\t<img src=\"./Web Assets/HZE7F6.tif.png\" alt=\"\" class=\"arrowImage\" />\n\t\t\t\t<div class=\"gradient-right-div\">\n\t\t\t\t\t<p class=\"become-instructor-text\">\n\t\t\t\t\t\t<strong\n\t\t\t\t\t\t\t>Become an\n\t\t\t\t\t\t\t<span style=\"background-color: #fdb12a; padding: 3px 0\">\n\t\t\t\t\t\t\t\tInstructor</span\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\ttoday</strong\n\t\t\t\t\t\t>\n\t\t\t\t\t</p>\n\t\t\t\t\t<p class=\"become-instructor-after-text\">\n\t\t\t\t\t\tTeach what you love we gives you the tools to <br />Create an online\n\t\t\t\t\t\tcourses.\n\t\t\t\t\t</p>\n\t\t\t\t\t<button class=\"gradientButton\">\n\t\t\t\t\t\tClick here and start teaching today\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<br />\n\t\t<br />\n\t\t<br />\n\n\t\t<div class=\"container featureBoxContainer\">\n\t\t\t<div class=\"featureBox\">\n\t\t\t\t<img\n\t\t\t\t\tsrc=\"./Web Assets/Group 3957.svg\"\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tstyle=\"width: 150px; height: 130px\"\n\t\t\t\t/>\n\t\t\t\t<p style=\"font-size: 20px\">\n\t\t\t\t\t<strong>Teach us way</strong>\n\t\t\t\t</p>\n\t\t\t\t<p style=\"font-size: 15px\">\n\t\t\t\t\tPublish the course you want,<br />\n\t\t\t\t\tin the way you want, and<br />\n\t\t\t\t\talways have of control your<br />\n\t\t\t\t\town content\n\t\t\t\t</p>\n\t\t\t</div>\n\n\t\t\t<div class=\"featureBox\">\n\t\t\t\t<img\n\t\t\t\t\tsrc=\"./Web Assets/Group 3959.svg\"\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tstyle=\"width: 150px; height: 130px\"\n\t\t\t\t/>\n\t\t\t\t<p style=\"font-size: 20px\">\n\t\t\t\t\t<strong>Inspire learners</strong>\n\t\t\t\t</p>\n\t\t\t\t<p style=\"font-size: 15px\">\n\t\t\t\t\tTeach what you know and help<br />\n\t\t\t\t\tlearners explore their interest,<br />\n\t\t\t\t\tgain new skills, and advance<br />\n\t\t\t\t\ttheir career.\n\t\t\t\t</p>\n\t\t\t</div>\n\n\t\t\t<div class=\"featureBox\">\n\t\t\t\t<img\n\t\t\t\t\tsrc=\"./Web Assets/Group 3960.svg\"\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tstyle=\"width: 150px; height: 130px\"\n\t\t\t\t/>\n\t\t\t\t<p style=\"font-size: 20px\">\n\t\t\t\t\t<strong>Get Awarded</strong>\n\t\t\t\t</p>\n\t\t\t\t<p style=\"font-size: 15px\">\n\t\t\t\t\tExpand your professional<br />\n\t\t\t\t\tnetworks, build your<br />\n\t\t\t\t\texpertise, and earn money on <br />\n\t\t\t\t\teach paid enrollment.\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t\t<br />\n\t\t<div class=\"container counterContainer\">\n\t\t\t<div class=\"headCounterText\">\n\t\t\t\t<p class=\"counterText\"><strong>04M</strong></p>\n\t\t\t\t<p class=\"counterTextBody\">Students</p>\n\t\t\t</div>\n\t\t\t<div class=\"headCounterText\">\n\t\t\t\t<p class=\"counterText\"><strong>65+</strong></p>\n\t\t\t\t<p class=\"counterTextBody\">Languages</p>\n\t\t\t</div>\n\t\t\t<div class=\"headCounterText\">\n\t\t\t\t<p class=\"counterText\"><strong>480M</strong></p>\n\t\t\t\t<p class=\"counterTextBody\">Enrollments</p>\n\t\t\t</div>\n\t\t\t<div class=\"headCounterText\">\n\t\t\t\t<p class=\"counterText\"><strong>180+</strong></p>\n\t\t\t\t<p class=\"counterTextBody\">Countries</p>\n\t\t\t</div>\n\t\t\t<div class=\"headCounterText\">\n\t\t\t\t<p class=\"counterText\">\n\t\t\t\t\t<strong>7000+</strong>\n\t\t\t\t</p>\n\t\t\t\t<p class=\"counterTextBody\">Enterprise customers</p>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"TeachWithUs\",\n\tdata() {\n\t\treturn {};\n\t},\n\tcreated() {},\n};\n</script>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TeachWithUs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TeachWithUs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TeachWithUs.vue?vue&type=template&id=271785fe&\"\nimport script from \"./TeachWithUs.vue?vue&type=script&lang=js&\"\nexport * from \"./TeachWithUs.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tabs-banner\",class:{ mobile: _vm.isMobile }},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"d-flex align-items-center mb-4\"},[(!_vm.isMobile)?_c('div',{staticClass:\"d-flex align-items-center gap-3\"},[(_vm.user.profilePicture)?_c('div',{staticClass:\"user-avatar large\"},[_c('img',{attrs:{\"src\":_vm.user.profilePicture}})]):_c('img',{attrs:{\"height\":\"54\",\"src\":require(\"../Web Assets/user-avatar.svg\")}}),_c('p',{staticClass:\"mb-0 banner-text\"},[_vm._v(\" Welcome  -  \"+_vm._s(_vm.currentUserName)+\" \")])]):_vm._e(),(_vm.systemParameters.allowStudentCourseRegistration)?_c('router-link',{staticClass:\"add-btn ms-auto\",attrs:{\"to\":\"/register\",\"id\":\"registerCoursesBtn\",\"role\":\"button\"}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\")}}),_vm._v(\" register new courses \")]):_vm._e()],1),_c('div',[_c('ul',{class:[\n\t\t\t\t\t'inline-list',\n\t\t\t\t\t{\n\t\t\t\t\t\t'mobile-banner-tabs': _vm.isMobile,\n\t\t\t\t\t\t'banner-tabs': !_vm.isMobile,\n\t\t\t\t\t} ]},_vm._l((_vm.tabsList),function(tab){return _c('li',{key:tab.value,class:{\n\t\t\t\t\t\tselected: _vm.activeTab == tab.value,\n\t\t\t\t\t\t'mobile-tab': _vm.isMobile,\n\t\t\t\t\t\t'banner-tab': !_vm.isMobile,\n\t\t\t\t\t\t'd-none': !tab.showOnMobile && _vm.isMobile,\n\t\t\t\t\t},attrs:{\"id\":tab.value},on:{\"click\":_vm.changeTab}},[_c('i',{class:((tab.iconClass) + \" tab-icon\")}),_vm._v(_vm._s(!_vm.isMobile ? tab.label : tab.mobileLabel)+\" \")])}),0)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"tabs-banner\" :class=\"{ mobile: isMobile }\">\n\t\t<div class=\"container\">\n\t\t\t<div class=\"d-flex align-items-center mb-4\">\n\t\t\t\t<div class=\"d-flex align-items-center gap-3\" v-if=\"!isMobile\">\n\t\t\t\t\t<div v-if=\"user.profilePicture\" class=\"user-avatar large\">\n\t\t\t\t\t\t<img :src=\"user.profilePicture\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<img height=\"54\" v-else src=\"../Web Assets/user-avatar.svg\" />\n\t\t\t\t\t<p class=\"mb-0 banner-text\">\n\t\t\t\t\t\tWelcome &nbsp;-&nbsp; {{ currentUserName }}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<router-link\n\t\t\t\t\tto=\"/register\"\n\t\t\t\t\tclass=\"add-btn ms-auto\"\n\t\t\t\t\tid=\"registerCoursesBtn\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tv-if=\"systemParameters.allowStudentCourseRegistration\"\n\t\t\t\t>\n\t\t\t\t\t<img src=\"@/assets/images/add-border-icon.svg\" class=\"add-btn-icon\" />\n\t\t\t\t\tregister new courses\n\t\t\t\t</router-link>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<ul\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t'inline-list',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'mobile-banner-tabs': isMobile,\n\t\t\t\t\t\t\t'banner-tabs': !isMobile,\n\t\t\t\t\t\t},\n\t\t\t\t\t]\"\n\t\t\t\t>\n\t\t\t\t\t<li\n\t\t\t\t\t\tv-for=\"tab in tabsList\"\n\t\t\t\t\t\t:key=\"tab.value\"\n\t\t\t\t\t\t:id=\"tab.value\"\n\t\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\tselected: activeTab == tab.value,\n\t\t\t\t\t\t\t'mobile-tab': isMobile,\n\t\t\t\t\t\t\t'banner-tab': !isMobile,\n\t\t\t\t\t\t\t'd-none': !tab.showOnMobile && isMobile,\n\t\t\t\t\t\t}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i :class=\"`${tab.iconClass} tab-icon`\"></i\n\t\t\t\t\t\t>{{ !isMobile ? tab.label : tab.mobileLabel }}\n\t\t\t\t\t</li>\n\t\t\t\t\t<!-- <li\n\t\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\tselected: this.activeTab == 'courses',\n\t\t\t\t\t\t\t'mobile-tab': isMobile,\n\t\t\t\t\t\t\t'banner-tab': !isMobile,\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\tid=\"courses\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<i class=\"fas fa-book tab-icon\"></i>{{ tabText[0] }}\n\t\t\t\t\t</li> -->\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapState } from \"vuex\";\n\nexport default {\n\tname: \"DashboardBanner\",\n\tmethods: {\n\t\tchangeTab(e) {\n\t\t\t// this.activeTab = e.target.id;\n\t\t\tthis.$emit(\"activeTab\", e.target.id);\n\t\t},\n\t},\n\tprops: { activeTab: String, tabsList: Array },\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"appState\", [\"isMobile\", \"systemParameters\"]),\n\t\tcurrentUserName() {\n\t\t\treturn `${this.user.firstName} ${this.user.lastName}`;\n\t\t},\n\t\ttabText() {\n\t\t\tif (this.isMobile) {\n\t\t\t\treturn [\"Courses\", \"Discussion\"];\n\t\t\t} else return [\"My Courses\", \"Discussion Forum\"];\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.tabs-banner {\n\tpadding: 1.5rem 0 0;\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tcolor: var(--color-text-default);\n\t/* background-color: var(--color-light-gray); */\n\tbackground-image: url(\"../Web Assets/Student Dashbaord BG.png\");\n\tbackground-size: cover;\n\tbackground-repeat: no-repeat;\n\tbackground-position: center;\n}\n\n/* .tabs-banner .container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n} */\n\n.tabs-banner.mobile .container,\n.tabs-banner .container {\n\tpadding: 0 1rem;\n}\n\n.mobile-banner-tabs {\n\tdisplay: flex;\n\tpadding: 0 0 5rem;\n\tdisplay: grid;\n\tgrid-auto-flow: column;\n\tgrid-auto-columns: 1fr;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n}\n\n.banner-tab {\n\tpadding: 1rem 1.25rem;\n\tborder-radius: 8px 8px 0 0;\n\tbackground-color: var(--color-off-white);\n\tfont-weight: 500;\n\t/* font-size: 0.8rem; */\n\tmargin-right: 1rem;\n\tcursor: pointer;\n\tbox-shadow: 0 -6px 8px #e0e0e029;\n}\n\n.mobile-tab {\n\tbackground-color: var(--color-off-white);\n\tfont-weight: 500;\n\tpadding: 1.125rem 0rem;\n\tbox-shadow: 0 -6px 8px #e0e0e029;\n\tborder-radius: 0 0.5rem 0.5rem 0 !important;\n}\n\n.mobile-tab:first-of-type {\n\tborder-radius: 0.5rem 0 0 0.5rem !important;\n}\n\n.banner-tab.selected,\n.mobile-tab.selected {\n\tbackground-color: var(--color-white) !important;\n\t/* line-height: 1.6; */\n}\n\n.tab-icon {\n\tfont-size: 1.1rem;\n\tmargin-right: 0.5rem;\n\tpointer-events: none;\n}\n\n.banner-tab.selected,\n.mobile-tab.selected {\n\tcolor: var(--primary-color) !important;\n}\n\n.add-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0.625rem 1rem;\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.875rem;\n\tline-height: 1.125rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\ttext-decoration: none;\n\ttransition: all 0.3s ease;\n}\n\n.add-btn:hover {\n\tbox-shadow: 4px 6px 5px 0px rgb(197 197 197 / 20%);\n}\n\n.add-btn-icon {\n\tmargin-right: 0.625rem;\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.user-avatar {\n\twidth: 2rem;\n\theight: 2rem;\n\tcolor: var(--color-white);\n\tbackground-color: #231f20;\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tline-height: 1;\n\tfont-size: 1.2rem;\n\tmin-width: 2rem;\n\tmargin-right: 0.5rem;\n\t/* z-index: 100; */\n}\n\n.user-avatar img {\n\tvertical-align: middle;\n\twidth: 2.3rem;\n\theight: 2.3rem;\n\tborder-radius: 50%;\n\tobject-fit: cover;\n\tobject-position: center;\n}\n\n.banner-text {\n\tfont-size: 1.125rem;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DashboardBanner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DashboardBanner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DashboardBanner.vue?vue&type=template&id=7740d724&scoped=true&\"\nimport script from \"./DashboardBanner.vue?vue&type=script&lang=js&\"\nexport * from \"./DashboardBanner.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DashboardBanner.vue?vue&type=style&index=0&id=7740d724&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7740d724\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"dashboard-products-container\" + (_vm.isUpdatesCard ? ' shrink' : '')),attrs:{\"id\":\"dashboard-products-container\"}},[(_vm.userProducts.length > 0 && !_vm.loading)?_c('ProductList',{attrs:{\"viewMode\":\"carousel\",\"productListData\":_vm.userProducts,\"carouselSettings\":_vm.USER_PRODUCTS_CAROUSEL_SETTINGS}}):(_vm.loading)?_c('div',{staticClass:\"mt-5\"},[_c('b-skeleton',{staticClass:\"d-inline-block m-2 mt-0\",attrs:{\"type\":\"button\",\"width\":\"16.25rem\",\"height\":\"25rem\"}}),_c('b-skeleton',{staticClass:\"d-inline-block m-2 mt-0\",attrs:{\"type\":\"button\",\"width\":\"16.25rem\",\"height\":\"25rem\"}}),_c('b-skeleton',{staticClass:\"d-inline-block m-2 mt-0\",attrs:{\"type\":\"button\",\"width\":\"16.25rem\",\"height\":\"25rem\"}})],1):_c('div',{staticClass:\"no-products\"},[_c('h4',[_vm._v(\" You are not enrolled in any of the courses. \"),_c('br'),_c('router-link',{attrs:{\"to\":\"/search\"}},[_vm._v(\"Click here\")]),_vm._v(\" to browse through full list of our courses. \")],1)]),_vm._m(0),(_vm.filteredProductVariants.length > 0 && !_vm.loading)?_c('ProductList',{attrs:{\"viewMode\":\"carousel\",\"productListData\":_vm.filteredProductVariants,\"carouselSettings\":_vm.USER_PRODUCTS_CAROUSEL_SETTINGS}}):(_vm.loading)?_c('div',{staticClass:\"mt-5\"},[_c('b-skeleton',{staticClass:\"d-inline-block m-2 mt-0\",attrs:{\"type\":\"button\",\"width\":\"16.25rem\",\"height\":\"25rem\"}}),_c('b-skeleton',{staticClass:\"d-inline-block m-2 mt-0\",attrs:{\"type\":\"button\",\"width\":\"16.25rem\",\"height\":\"25rem\"}}),_c('b-skeleton',{staticClass:\"d-inline-block m-2 mt-0\",attrs:{\"type\":\"button\",\"width\":\"16.25rem\",\"height\":\"25rem\"}})],1):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section-heading-container\"},[_c('h1',{staticClass:\"section-heading\"},[_vm._v(\"Recommended Courses\")]),_c('h5',{staticClass:\"section-subheading\"},[_vm._v(\" Grab the best courses in economical prices \")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\t:class=\"`dashboard-products-container${isUpdatesCard ? ' shrink' : ''}`\"\n\t\tid=\"dashboard-products-container\"\n\t>\n\t\t<ProductList\n\t\t\tv-if=\"userProducts.length > 0 && !loading\"\n\t\t\tviewMode=\"carousel\"\n\t\t\t:productListData=\"userProducts\"\n\t\t\t:carouselSettings=\"USER_PRODUCTS_CAROUSEL_SETTINGS\"\n\t\t/>\n\t\t<div v-else-if=\"loading\" class=\"mt-5\">\n\t\t\t<b-skeleton\n\t\t\t\tclass=\"d-inline-block m-2 mt-0\"\n\t\t\t\ttype=\"button\"\n\t\t\t\twidth=\"16.25rem\"\n\t\t\t\theight=\"25rem\"\n\t\t\t></b-skeleton>\n\t\t\t<b-skeleton\n\t\t\t\tclass=\"d-inline-block m-2 mt-0\"\n\t\t\t\ttype=\"button\"\n\t\t\t\twidth=\"16.25rem\"\n\t\t\t\theight=\"25rem\"\n\t\t\t></b-skeleton>\n\t\t\t<b-skeleton\n\t\t\t\tclass=\"d-inline-block m-2 mt-0\"\n\t\t\t\ttype=\"button\"\n\t\t\t\twidth=\"16.25rem\"\n\t\t\t\theight=\"25rem\"\n\t\t\t></b-skeleton>\n\t\t</div>\n\t\t<div v-else class=\"no-products\">\n\t\t\t<h4>\n\t\t\t\tYou are not enrolled in any of the courses. <br />\n\t\t\t\t<router-link to=\"/search\">Click here</router-link> to browse through\n\t\t\t\tfull list of our courses.\n\t\t\t</h4>\n\t\t</div>\n\t\t<div class=\"section-heading-container\">\n\t\t\t<h1 class=\"section-heading\">Recommended Courses</h1>\n\t\t\t<h5 class=\"section-subheading\">\n\t\t\t\tGrab the best courses in economical prices\n\t\t\t</h5>\n\t\t</div>\n\t\t<ProductList\n\t\t\tv-if=\"filteredProductVariants.length > 0 && !loading\"\n\t\t\tviewMode=\"carousel\"\n\t\t\t:productListData=\"filteredProductVariants\"\n\t\t\t:carouselSettings=\"USER_PRODUCTS_CAROUSEL_SETTINGS\"\n\t\t/>\n\t\t<div v-else-if=\"loading\" class=\"mt-5\">\n\t\t\t<b-skeleton\n\t\t\t\tclass=\"d-inline-block m-2 mt-0\"\n\t\t\t\ttype=\"button\"\n\t\t\t\twidth=\"16.25rem\"\n\t\t\t\theight=\"25rem\"\n\t\t\t></b-skeleton>\n\t\t\t<b-skeleton\n\t\t\t\tclass=\"d-inline-block m-2 mt-0\"\n\t\t\t\ttype=\"button\"\n\t\t\t\twidth=\"16.25rem\"\n\t\t\t\theight=\"25rem\"\n\t\t\t></b-skeleton>\n\t\t\t<b-skeleton\n\t\t\t\tclass=\"d-inline-block m-2 mt-0\"\n\t\t\t\ttype=\"button\"\n\t\t\t\twidth=\"16.25rem\"\n\t\t\t\theight=\"25rem\"\n\t\t\t></b-skeleton>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapState, mapActions } from \"vuex\";\nimport ProductList from \"../../../components/Product/ProductList.vue\";\nimport ProductListItem from \"../../../components/Product/ProductListItem.vue\";\nimport { USER_PRODUCTS_CAROUSEL_SETTINGS } from \"../../../constants/productCarouselSettings\";\nimport { ProductVariantSubscriptionStatus } from \"../../../constants/productVariant\";\n\nexport default {\n\tname: \"UserProducts\",\n\tdata() {\n\t\treturn {\n\t\t\tUSER_PRODUCTS_CAROUSEL_SETTINGS,\n\t\t\tProductVariantSubscriptionStatus,\n\t\t};\n\t},\n\tprops: { userProducts: Array, isUpdatesCard: Boolean },\n\tcomponents: { ProductListItem, ProductList },\n\tcomputed: {\n\t\t...mapState(\"productVariant\", [\"loading\", \"productVariants\"]),\n\t\tfilteredProductVariants() {\n\t\t\treturn Object.values(this.productVariants.items).filter((variant) => {\n\t\t\t\tvar found = this.userProducts.find(\n\t\t\t\t\t(product) => product.id == variant.id\n\t\t\t\t);\n\t\t\t\tif (!found) return variant;\n\t\t\t});\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"fetchProductVariants\"]),\n\t},\n\tcreated() {\n\t\tthis.fetchProductVariants();\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (min-width: 1440px) {\n\t.dashboard-products-container.shrink {\n\t\twidth: 70% !important;\n\t}\n}\n\n@media screen and (max-width: 996px) {\n\t.dashboard-products-container.shrink {\n\t\twidth: 100% !important;\n\t\tmargin-top: 1.5rem;\n\t}\n}\n\n@media screen and (max-width: 600px) {\n\t.dashboard-products-container div {\n\t\tdisplay: flex;\n\t\trow-gap: 1rem;\n\t\tflex-direction: column;\n\t}\n}\n\n.no-products {\n\tpadding: 3rem 0 !important;\n}\n\n.dashboard-products-container {\n\tdisplay: flex;\n\tflex-grow: 1;\n\tflex-direction: column;\n\tmax-width: 100%;\n}\n\n.dashboard-products-container.shrink {\n\twidth: 65%;\n}\n</style>\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserProducts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserProducts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserProducts.vue?vue&type=template&id=661effbc&scoped=true&\"\nimport script from \"./UserProducts.vue?vue&type=script&lang=js&\"\nexport * from \"./UserProducts.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserProducts.vue?vue&type=style&index=0&id=661effbc&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"661effbc\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[_c('div',{staticClass:\"container\"},[_vm._v(\" custom homepage \")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"home\">\n\t\t<div class=\"container\">\n\t\t\tcustom homepage\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"Home\",\n\tcomponents: {},\n\tdata() {\n\t\treturn {\n\t\t\t// banners: banners,\n\t\t};\n\t},\n};\n</script>\n\n<style scoped>\n.home .container {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\theight: 100vh;\n}\n.section-heading {\n\tfont-weight: 500;\n\tfont-size: 2.75rem;\n\tline-height: 1.3;\n\tcolor: var(--secondary-color);\n\tmargin-bottom: 0;\n\tletter-spacing: -0.45px;\n}\n\n.section-subheading {\n\tfont-size: 1.375rem;\n\tcolor: #898989;\n\tfont-weight: normal;\n}\n\n.section-heading-container {\n\tmargin: 4rem 0 3.375rem;\n}\n\n/* .section-heading::before {\n\tcontent: \"\";\n\twidth: 3.1rem;\n\theight: 0.35rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: block;\n\ttop: -0.7rem;\n\tleft: 0.3rem;\n\tposition: relative;\n} */\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=4d0a3f2c&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=4d0a3f2c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4d0a3f2c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('DashbooardBanner',{staticClass:\"cart-banner\"},[_vm._v(\" Shopping Cart Custom \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<DashbooardBanner class=\"cart-banner\">\n\t\t\tShopping Cart Custom\n\t\t</DashbooardBanner>\n\t\t<!-- <div class=\"container cart-content-container\">\n\t\t\t<div\n\t\t\t\tclass=\"col-lg-8 cart-product-list container-fluid\"\n\t\t\t\tv-if=\"!isCartEmpty\"\n\t\t\t>\n\t\t\t\t<CartProductItem\n\t\t\t\t\tv-for=\"item in getCartItems\"\n\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t:productVariantData=\"item\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"col-lg-4 cart-payment-card container-fluid\"\n\t\t\t\tv-if=\"!isCartEmpty\"\n\t\t\t>\n\t\t\t\t<PaymentCard />\n\t\t\t</div>\n\t\t\t<div v-else class=\"container-fluid text-center p-5\">\n\t\t\t\t<h2 class=\"text-bold text-muted\">No items in cart.</h2>\n\t\t\t</div>\n\t\t</div> -->\n\t</div>\n</template>\n\n<script>\nimport { mapGetters } from \"vuex\";\n\nimport DashbooardBanner from \"../../components/Layout/InnerPageBanner.vue\";\n// import CartProductItem from \"../components/Cart/CartProductItem.vue\";\n// import PaymentCard from \"../components/Cart/PaymentCard.vue\";\nexport default {\n\tname: \"Cart\",\n\tcomponents: { DashbooardBanner },\n\tcomputed: {\n\t\t...mapGetters(\"cart\", [\"getCartItems\", \"isCartEmpty\"]),\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.cart-content-container {\n\t\tflex-direction: column-reverse;\n\t\tpadding: 0 !important;\n\t}\n\t.cart-payment-card {\n\t\tmargin-bottom: -4rem;\n\t}\n\n\t.cart-banner {\n\t\tpadding-bottom: 8rem !important;\n\t}\n}\n\n@media screen and (max-width: 768px) {\n}\n\n.cart-banner {\n\tpadding-bottom: 6rem;\n}\n\n.cart-product-list {\n\tmargin-top: 2rem;\n}\n\n.cart-content-container {\n\tdisplay: flex;\n\tpadding: 0;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Cart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Cart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Cart.vue?vue&type=template&id=39e16f30&scoped=true&\"\nimport script from \"./Cart.vue?vue&type=script&lang=js&\"\nexport * from \"./Cart.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Cart.vue?vue&type=style&index=0&id=39e16f30&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"39e16f30\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"about\"},[_c('h1',[_vm._v(\"This is an about page\")])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./About.vue?vue&type=template&id=1ae8a7be&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"container-fluid\"},[_c('ul',{staticClass:\"tabs\"},[_c('router-link',{attrs:{\"to\":\"/account/login\"}},[_c('li',{class:{ active: _vm.currentRouteName == 'Login', tab: true }},[_vm._v(\" Login \")])]),_c('router-link',{attrs:{\"to\":\"/account/register\"}},[_c('li',{class:{ active: _vm.currentRouteName == 'Register', tab: true }},[_vm._v(\" Register \")])])],1)]),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div class=\"container-fluid\">\n\t\t\t<ul class=\"tabs\">\n\t\t\t\t<router-link to=\"/account/login\"\n\t\t\t\t\t><li :class=\"{ active: currentRouteName == 'Login', tab: true }\">\n\t\t\t\t\t\tLogin\n\t\t\t\t\t</li></router-link\n\t\t\t\t>\n\t\t\t\t<router-link to=\"/account/register\"\n\t\t\t\t\t><li :class=\"{ active: currentRouteName == 'Register', tab: true }\">\n\t\t\t\t\t\tRegister\n\t\t\t\t\t</li></router-link\n\t\t\t\t>\n\t\t\t</ul>\n\t\t</div>\n\t\t<router-view />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"Account\",\n\tcomputed: {\n\t\tcurrentRouteName() {\n\t\t\treturn this.$route.name;\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n/* .login-logo {\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\tflex: 0;\n}\n\n.login-logo img {\n\tpadding: 15px 0px 5px 0px;\n\tmargin: auto;\n\theight: 56px;\n} */\n\n.tabs {\n\ttext-align: center;\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 24px 0 24px;\n}\n\n.tab {\n\tpadding: 12px 8px;\n\tfont-size: 18px;\n\tcolor: #111;\n\tdisplay: inline-block;\n\twidth: 100px;\n\ttext-transform: uppercase;\n\tborder-bottom: transparent solid 3px;\n\tcursor: pointer;\n\tfont-weight: 500;\n}\n\n.active {\n\tborder-bottom: var(--primary-color) solid 3px;\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Account.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Account.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Account.vue?vue&type=template&id=231f4df6&scoped=true&\"\nimport script from \"./Account.vue?vue&type=script&lang=js&\"\nexport * from \"./Account.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Account.vue?vue&type=style&index=0&id=231f4df6&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"231f4df6\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"qrcode-scanner-screen\",attrs:{\"id\":\"qrcode-attendance\"}},[(_vm.isFullScreen)?_c('img',{staticClass:\"logo top-logo\",attrs:{\"src\":_vm.logoPath}}):_vm._e(),_c('h1',{staticClass:\"m-0\"},[_vm._v(\"Attendance\")]),_c('h4',[_vm._v(\"Please scan your QR code below to mark your attendance\")]),_c('b-overlay',{attrs:{\"show\":_vm.loading || _vm.loadingUsers}},[_c('video',{attrs:{\"id\":\"qr-code-scanner\"}})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"qrcode-attendance\" class=\"qrcode-scanner-screen\">\n\t\t<img v-if=\"isFullScreen\" :src=\"logoPath\" class=\"logo top-logo\" />\n\t\t<h1 class=\"m-0\">Attendance</h1>\n\t\t<!-- </div> -->\n\t\t<h4>Please scan your QR code below to mark your attendance</h4>\n\t\t<!-- <div id=\"interactive\"></div> -->\n\t\t<b-overlay :show=\"loading || loadingUsers\">\n\t\t\t<video id=\"qr-code-scanner\"></video>\n\t\t</b-overlay>\n\t</div>\n</template>\n\n<script>\nimport Swal from \"sweetalert2\";\nimport { mapState, mapActions } from \"vuex\";\nimport QrScanner from \"qr-scanner\";\n\nexport default {\n\tname: \"AttendanceWithBarcode\",\n\tdata() {\n\t\treturn {\n\t\t\tisFullScreen: false,\n\t\t\tscanningDisabled: false,\n\t\t\tlastScannedID: null,\n\t\t\tscannedUser: null,\n\t\t\tavailableCameras: null,\n\t\t\tselectedCamera: null,\n\t\t\tqrScanner: null,\n\t\t\tloadingUsers: false,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t\t...mapState(\"content\", [\"loading\"]),\n\t\tlogoPath() {\n\t\t\treturn this.systemParameters.LogoPath\n\t\t\t\t? this.systemParameters.LogoPath\n\t\t\t\t: require(\"@/assets/images/gocbe_logo.png\");\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"logout\"]),\n\t\t...mapActions(\"content\", [\"markAllLiveClassAttendance\"]),\n\t\tScan() {\n\t\t\tQuagga.init(\n\t\t\t\t{\n\t\t\t\t\tinputStream: {\n\t\t\t\t\t\tname: \"Live\",\n\t\t\t\t\t\ttype: \"LiveStream\",\n\t\t\t\t\t\ttarget: document.querySelector(\"#interactive\"),\n\t\t\t\t\t},\n\t\t\t\t\tdecoder: {\n\t\t\t\t\t\treaders: [\"code_128_reader\"],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tconsole.log(\"Initialization finished. Ready to start\");\n\t\t\t\t\tQuagga.start();\n\t\t\t\t\tdocument.querySelector(\"#interactive .drawingBuffer\").hidden = true;\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\tStopScan() {\n\t\t\tQuagga.stop();\n\t\t\tif (document.fullscreenElement == null) {\n\t\t\t\tthis.isFullScreen = false;\n\t\t\t\tthis.logout();\n\t\t\t}\n\t\t},\n\t\tstartTimeout() {\n\t\t\tconsole.log(\"disabling scan\");\n\t\t\tthis.scanningDisabled = true;\n\t\t\tsetTimeout(() => (this.scanningDisabled = false), 3000);\n\t\t},\n\t\tonDetectedCallback(result) {\n\t\t\tconst id = result.data;\n\t\t\tif (this.scanningDisabled || this.lastScannedID == id) return;\n\t\t\tthis.startTimeout();\n\t\t\t// this.scannedUser = this.allUsers.find((u) => u.id == id);\n\t\t\t// if (!this.scannedUser) {\n\t\t\t// \tSwal.fire({\n\t\t\t// \t\ttitle: \"Could not mark Attendance!\",\n\t\t\t// \t\ttext: \"Error reading QR code, please try again!\",\n\t\t\t// \t\ticon: \"error\",\n\t\t\t// \t\ttype: \"error\",\n\t\t\t// \t\ttarget: document.querySelector(\"#qrcode-attendance\"),\n\t\t\t// \t\tshowConfirmButton: false,\n\t\t\t// \t\ttimer: 2000,\n\t\t\t// \t});\n\t\t\t// \treturn;\n\t\t\t// }\n\n\t\t\tvar attendanceObject = {\n\t\t\t\tuserID: id,\n\t\t\t\tstatus: \"Present\",\n\t\t\t\tattendedFrom: \"Physical\",\n\t\t\t\ttimeIn: new Date().toISOString(),\n\t\t\t\tisMarkLate: false,\n\t\t\t};\n\t\t\tthis.markAllLiveClassAttendance(attendanceObject).then((res) => {\n\t\t\t\tif (res) {\n\t\t\t\t\tif (!res.length) {\n\t\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\t\ttitle: \"No Ongoing Class\",\n\t\t\t\t\t\t\ttext: \"Cannot mark attendance. You do not have any ongoing classes right now\",\n\t\t\t\t\t\t\ticon: \"warning\",\n\t\t\t\t\t\t\ttype: \"warning\",\n\t\t\t\t\t\t\ttarget: document.querySelector(\"#qrcode-attendance\"),\n\t\t\t\t\t\t\tshowConfirmButton: false,\n\t\t\t\t\t\t\ttimer: 5000,\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.scannedUser=res[0].user;\n\t\t\t\t\tthis.lastScannedID = id;\n\t\t\t\t\tvar sound = new Howl({\n\t\t\t\t\t\tsrc: [\"https://gocbe-lms-files.b-cdn.net/success_alert.mp3\"],\n\t\t\t\t\t});\n\n\t\t\t\t\tsound.play();\n\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\ttitle: \"Attendance Marked!\",\n\t\t\t\t\t\thtml: `\n\t\t\t\t\t\t<div class='d-flex flex-column justify-content-center align-items-center gap-2'>\n\n\t\t\t\t\t\t\t<div class=\"user-avatar large\">\n\t\t\t\t\t\t\t\t<img v-if=\"${this.scannedUser.profilePicture}\" :src=\"${\n\t\t\t\t\t\t\tthis.scannedUser.profilePicture\n\t\t\t\t\t\t}\" />\n\t\t\t\t\t\t\t\t<span v-else>${this.scannedUser.firstName[0]}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<p>${this.scannedUser.firstName + \" \" + this.scannedUser.lastName}\n\t\t\t\t\t\t\t<br/>\n\t\t\t\t\t\t\t${this.scannedUser.email}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\ticon: \"success\",\n\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\ttarget: document.querySelector(\"#qrcode-attendance\"),\n\t\t\t\t\t\tshowConfirmButton: false,\n\t\t\t\t\t\ttimer: 3000,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t},\n\tmounted() {\n\t\tsetTimeout(() => { \n\t\t\tvar elem = document.querySelector(\"#qrcode-attendance\");\n\t\t\tif (elem.requestFullscreen) {\n\t\t\t\telem.requestFullscreen().then((value) => {\n\t\t\t\t\tthis.isFullScreen = true;\n\t\t\t\t});\n\t\t\t} else if (elem.webkitRequestFullscreen) {\n\t\t\t\t/* Safari */\n\t\t\t\telem.webkitRequestFullscreen().then((value) => {\n\t\t\t\t\tthis.isFullScreen = true;\n\t\t\t\t});\n\t\t\t} else if (elem.msRequestFullscreen) {\n\t\t\t\t/* IE11 */\n\t\t\t\telem.msRequestFullscreen().then((value) => {\n\t\t\t\t\tthis.isFullScreen = true;\n\t\t\t\t});\n\t\t\t}\n\t\t\tdocument.addEventListener(\"fullscreenchange\", (e) => {\n\t\t\t\tif (document.fullscreenElement == null) {\n\t\t\t\t\tthis.isFullScreen = false;\n\t\t\t\t\tthis.logout();\n\t\t\t\t}\n\t\t\t});\n\t\t}, 1000);\n\t\tvar videoElem = document.getElementById(\"qr-code-scanner\");\n\t\t// console.log(videoElem);\n\t\tthis.qrScanner = new QrScanner(videoElem, this.onDetectedCallback, {\n\t\t\thighlightCodeOutline: true,\n\t\t\thighlightScanRegion: true,\n\t\t});\n\t\tconsole.log(this.qrScanner);\n\t\tQrScanner.listCameras(true).then((camera) => {\n\t\t\tthis.availableCameras = camera;\n\t\t\tSwal.fire({\n\t\t\t\ttitle: \"Select a camera\",\n\t\t\t\thtml: `\n\t\t\t\t\t\t<div class='d-flex flex-column justify-content-center align-items-center gap-2'>\n\t\t\t\t\t\t\t<select id=\"camera-select\" v-model=\"${this.selectedCamera}\">\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`,\n\t\t\t\ttarget: document.querySelector(\"#qrcode-attendance\"),\n\t\t\t\tpreConfirm: () => {\n\t\t\t\t\tvar selectElem = document.getElementById(\"camera-select\");\n\t\t\t\t\tthis.selectedCamera = selectElem.value;\n\t\t\t\t\tthis.qrScanner.setCamera(this.selectedCamera);\n\t\t\t\t\tthis.qrScanner.start();\n\t\t\t\t},\n\t\t\t});\n\t\t\tvar selectElem = document.getElementById(\"camera-select\");\n\t\t\tcamera.forEach((cam) => {\n\t\t\t\tvar option = document.createElement(\"option\");\n\t\t\t\toption.text = cam.label;\n\t\t\t\toption.value = cam.id;\n\t\t\t\tselectElem.add(option);\n\t\t\t});\n\t\t});\n\n\t},\n\tbeforeDestroy() {\n\t\tvar elem = document.querySelector(\"#qr-code-scanner\");\n\t\telem.srcObject = null;\n\t\tthis.qrScanner.stop();\n\t\tthis.qrScanner = null;\n\t},\n};\n</script>\n\n<style scoped>\n.qrcode-scanner-screen {\n\tbackground-color: #ffffff;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-direction: column;\n\trow-gap: 1rem;\n\tposition: relative;\n}\n\n.qrcode-scanner-screen .logo {\n\theight: 56px;\n}\n\n.top-logo {\n\tposition: absolute;\n\ttop: 2rem;\n\tleft: 2rem;\n}\n\n#qr-code-scanner {\n\theight: 50vh;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AttendanceWithBarcode.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AttendanceWithBarcode.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AttendanceWithBarcode.vue?vue&type=template&id=3a08af62&scoped=true&\"\nimport script from \"./AttendanceWithBarcode.vue?vue&type=script&lang=js&\"\nexport * from \"./AttendanceWithBarcode.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AttendanceWithBarcode.vue?vue&type=style&index=0&id=3a08af62&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3a08af62\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-content-container\"},[_vm._m(0),(_vm.users.length > 0)?_c('div',{staticClass:\"row\"},[_c('div',[_c('b-modal',{attrs:{\"visible\":_vm.showModal,\"id\":\"select-courses-modal\",\"hide-header\":\"\",\"centered\":\"\",\"content-class\":\"select-courses-modal\",\"size\":\"lg\",\"body-class\":\"modal-body\",\"modal-class\":\"custom-modal\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.modal-close_visit\",modifiers:{\"modal-close_visit\":true}}],staticClass:\"btn btn-primary m-1\",attrs:{\"disabled\":_vm.selectedCourses.length <= 0},on:{\"click\":function($event){return _vm.bulkOperationConfirmationDialogue(_vm.operationType)}}},[_vm._v(\" Apply \")])]},proxy:true}],null,false,3573266824)},[_c('button',{staticClass:\"close-button\",attrs:{\"role\":\"button\"},on:{\"click\":function () {\n              _vm.showModal = false;\n            }}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/cancel-icon.svg\")}})]),_c('div',[_c('div',{staticClass:\"mb-5\"},[_c('h1',[_vm._v(\"Select Courses\")]),(_vm.operationType && _vm.operationType.toLowerCase()=='enroll specific courses')?_c('p',{staticClass:\"text-danger\"},[_vm._v(\"Note: Expiry date of previously enrolled students in the given emails list will be overwritten to end of batch \")]):_vm._e()]),_c('div',{staticClass:\"row mt-3\"},[_c('div',{staticClass:\"col-lg-12\"},[_c('multiselect',{attrs:{\"options\":_vm.productVariantList,\"multiple\":true,\"close-on-select\":false,\"clear-on-select\":false,\"hide-selected\":true,\"preserve-search\":true,\"placeholder\":\"Select Courses to Enroll/Unenroll\",\"label\":'title',\"track-by\":'id',\"option-height\":25,\"searchable\":true,\"select-label\":'',\"deselect-label\":'',\"show-no-results\":false,\"dropdown-toggle\":false,\"select-on-tab\":true},model:{value:(_vm.selectedCourses),callback:function ($$v) {_vm.selectedCourses=$$v},expression:\"selectedCourses\"}})],1)])])])],1)]):_vm._e(),(_vm.users.length > 0)?_c('div',{staticClass:\"d-flex mt-3\",staticStyle:{\"flex-wrap\":\"wrap\"}},[_c('button',{staticClass:\"add-btn me-2 mt-2\",attrs:{\"disabled\":!_vm.emails || _vm.loading},on:{\"click\":function($event){return _vm.editEmails()}}},[_vm._v(\" Edit \"),_c('i',{staticClass:\"fa fa-pencil ms-2\",attrs:{\"aria-hidden\":\"true\"}})]),_c('button',{staticClass:\"add-btn me-2 mt-2\",attrs:{\"disabled\":(!_vm.emails && _vm.users.length > 0) || _vm.loading},on:{\"click\":function($event){return _vm.bulkOperationConfirmationDialogue('Active Users')}}},[_c('i',{staticClass:\"fas fa-solid fa-unlock me-2\"}),_vm._v(\" Mark Active \")]),_c('button',{staticClass:\"add-btn me-2 mt-2\",attrs:{\"disabled\":(!_vm.emails && _vm.users.length > 0) || _vm.loading},on:{\"click\":function($event){return _vm.bulkOperationConfirmationDialogue('InActive Users')}}},[_c('i',{staticClass:\"fas fa-solid fa-lock me-2\"}),_vm._v(\" Mark InActive \")]),_c('button',{staticClass:\"add-btn me-2 mt-2\",attrs:{\"disabled\":(!_vm.emails && _vm.users.length > 0) || _vm.loading},on:{\"click\":function($event){return _vm.bulkOperationConfirmationDialogue('Unenroll All Courses')}}},[_c('i',{staticClass:\"fas fa-book-user me-2\"}),_vm._v(\" Unenroll All Courses \")]),_c('button',{staticClass:\"add-btn me-2 mt-2\",attrs:{\"disabled\":(!_vm.emails && _vm.users.length > 0) || _vm.loading},on:{\"click\":function($event){return _vm.bulkOperationConfirmationDialogue('Reset Devices')}}},[_c('i',{staticClass:\"fas fa-rotate-left me-2\"}),_vm._v(\" Reset Devices \")]),_c('button',{staticClass:\"add-btn mt-2 me-2\",attrs:{\"type\":\"button\",\"disabled\":_vm.loading},on:{\"click\":function () {\n          _vm.operationType = 'Enroll Specific Courses';\n          _vm.showModal = true;\n        }}},[_c('i',{staticClass:\"fas fa-book-user me-2\"}),_vm._v(\" Enroll Selected Courses \")]),_c('button',{staticClass:\"add-btn mt-2\",attrs:{\"type\":\"button\",\"disabled\":_vm.loading},on:{\"click\":function () {\n          _vm.operationType = 'Unenroll Specific Courses';\n          _vm.showModal = true;\n        }}},[_c('i',{staticClass:\"fas fa-book-user me-2\"}),_vm._v(\" Unenroll Selected Courses \")]),(_vm.loading)?_c('b-spinner',{staticClass:\"mt-2\"}):_vm._e()],1):_vm._e(),(_vm.users.length <= 0)?_c('div',{staticClass:\"row mt-3\"},[_c('div',{staticClass:\"col-lg-7\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.emails),expression:\"emails\"}],staticClass:\"form-control\",attrs:{\"name\":\"\",\"id\":\"\",\"cols\":\"25\",\"rows\":\"12\",\"placeholder\":\"Enter line seperated emails\"},domProps:{\"value\":(_vm.emails)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.emails=$event.target.value}}})]),_c('div',[_c('button',{staticClass:\"add-btn me-3\",attrs:{\"disabled\":!_vm.emails || _vm.loading},on:{\"click\":function($event){return _vm.validateUserEmails()}}},[_vm._v(\" Validate Emails \"),_c('i',{staticClass:\"fas fa-solid fa-arrow-right ms-2\"}),(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1)])]):_vm._e(),(_vm.users.length > 0)?_c('div',{staticClass:\"row mt-5\"},[_c('div',{staticClass:\"col-lg-10\"},[(_vm.users && _vm.users.length > 0)?_c('table',{staticClass:\"table table-hover table-borderless\"},[_vm._m(1),_c('tbody',[_vm._l((_vm.allEmails),function(email){return [_c('tr',[(_vm.users.find(function (user) { return user.email.toLowerCase() == email.toLowerCase(); }))?[_vm._m(2,true),_c('td',[_vm._v(\" \"+_vm._s(_vm.users.find(function (user) { return user.email.toLowerCase() == email.toLowerCase(); }).id)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.users.find(function (user) { return user.email.toLowerCase() == email.toLowerCase(); }).firstName + \" \" + _vm.users.find(function (user) { return user.email.toLowerCase() == email.toLowerCase(); }).lastName)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.users.find(function (user) { return user.email.toLowerCase() == email.toLowerCase(); }).email)+\" \")]),_c('td',{class:_vm.users\n                      .find(function (user) { return user.email.toLowerCase() == email.toLowerCase(); })\n                      .status.toLowerCase() == 'active'\n                      ? 'success-text'\n                      : 'danger-text secondary'},[_vm._v(\" \"+_vm._s(_vm.users.find(function (user) { return user.email.toLowerCase() == email.toLowerCase(); }).status)+\" \")])]:[_vm._m(3,true),_c('td',[_vm._v(\"-\")]),_c('td',[_vm._v(\"-\")]),_c('td',[_vm._v(\" \"+_vm._s(email)+\" \")]),_c('td',[_vm._v(\"-\")])]],2)]})],2)]):_vm._e()]),_c('div',{staticClass:\"col-lg-2\"})]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"title-container mb-4\"},[_c('h1',{staticClass:\"page-title\"},[_vm._v(\"Bulk Operations\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('th',{staticStyle:{\"width\":\"15%\"}},[_vm._v(\"Status\")]),_c('th',{staticStyle:{\"width\":\"10%\"}},[_vm._v(\"ID\")]),_c('th',{staticStyle:{\"width\":\"25%\"}},[_vm._v(\"Name\")]),_c('th',{staticStyle:{\"width\":\"40%\"}},[_vm._v(\"Email\")]),_c('th',{staticStyle:{\"width\":\"25%\"}},[_vm._v(\"User Status\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',[_c('span',{staticClass:\"badge bg-success\"},[_vm._v(\"Found\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',[_c('span',{staticClass:\"badge bg-danger\"},[_vm._v(\"Not Found\")])])}]\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"page-content-container\">\n    <div class=\"title-container mb-4\">\n      <h1 class=\"page-title\">Bulk Operations</h1>\n    </div>\n    <div class=\"row\" v-if=\"users.length > 0\">\n      <div>\n        <!-- id=\"modal-center\" centered title=\"Select Courses\" -->\n        <b-modal\n          :visible=\"showModal\"\n          id=\"select-courses-modal\"\n          hide-header\n          centered\n          content-class=\"select-courses-modal\"\n          size=\"lg\"\n          body-class=\"modal-body\"\n          modal-class=\"custom-modal\"\n        >\n          <button\n            @click=\"\n              () => {\n                showModal = false;\n              }\n            \"\n            class=\"close-button\"\n            role=\"button\"\n          >\n            <img src=\"@/assets/images/cancel-icon.svg\" />\n          </button>\n          <div>\n            <div class=\"mb-5\">\n              <h1>Select Courses</h1>\n              <p v-if=\"operationType && operationType.toLowerCase()=='enroll specific courses'\" class=\"text-danger\">Note: Expiry date of previously enrolled students in the given emails list will be overwritten to end of batch </p>\n            </div>\n            <div class=\"row mt-3\">\n              <div class=\"col-lg-12\">\n                <multiselect\n                  v-model=\"selectedCourses\"\n                  :options=\"productVariantList\"\n                  :multiple=\"true\"\n                  :close-on-select=\"false\"\n                  :clear-on-select=\"false\"\n                  :hide-selected=\"true\"\n                  :preserve-search=\"true\"\n                  placeholder=\"Select Courses to Enroll/Unenroll\"\n                  :label=\"'title'\"\n                  :track-by=\"'id'\"\n                  :option-height=\"25\"\n                  :searchable=\"true\"\n                  :select-label=\"''\"\n                  :deselect-label=\"''\"\n                  :show-no-results=\"false\"\n                  :dropdown-toggle=\"false\"\n                  :select-on-tab=\"true\"\n                ></multiselect>\n              </div>\n            </div>\n          </div>\n\n          <template #modal-footer>\n            <button\n              v-b-modal.modal-close_visit\n              class=\"btn btn-primary m-1\"\n              @click=\"bulkOperationConfirmationDialogue(operationType)\"\n              :disabled=\"selectedCourses.length <= 0\"\n            >\n              Apply\n            </button>\n          </template>\n        </b-modal>\n      </div>\n    </div>\n\n    <div class=\"d-flex mt-3\" style=\"flex-wrap: wrap\" v-if=\"users.length > 0\">\n      <button\n        class=\"add-btn me-2 mt-2\"\n        @click=\"editEmails()\"\n        :disabled=\"!emails || loading\"\n      >\n        Edit\n        <i class=\"fa fa-pencil ms-2\" aria-hidden=\"true\"></i>\n      </button>\n      <button\n        class=\"add-btn me-2 mt-2\"\n        @click=\"bulkOperationConfirmationDialogue('Active Users')\"\n        :disabled=\"(!emails && users.length > 0) || loading\"\n      >\n        <i class=\"fas fa-solid fa-unlock me-2\"></i> Mark Active\n      </button>\n      <button\n        class=\"add-btn me-2 mt-2\"\n        @click=\"bulkOperationConfirmationDialogue('InActive Users')\"\n        :disabled=\"(!emails && users.length > 0) || loading\"\n      >\n        <i class=\"fas fa-solid fa-lock me-2\"></i> Mark InActive\n      </button>\n      <button\n        class=\"add-btn me-2 mt-2\"\n        @click=\"bulkOperationConfirmationDialogue('Unenroll All Courses')\"\n        :disabled=\"(!emails && users.length > 0) || loading\"\n      >\n        <i class=\"fas fa-book-user me-2\"></i>\n        Unenroll All Courses\n      </button>\n      <button\n        class=\"add-btn me-2 mt-2\"\n        @click=\"bulkOperationConfirmationDialogue('Reset Devices')\"\n        :disabled=\"(!emails && users.length > 0) || loading\"\n      >\n        <i class=\"fas fa-rotate-left me-2\"></i> Reset Devices\n      </button>\n      <button\n        type=\"button\"\n        class=\"add-btn mt-2 me-2\"\n        @click=\"\n          () => {\n            operationType = 'Enroll Specific Courses';\n            showModal = true;\n          }\n        \"\n        :disabled=\"loading\"\n      >\n        <i class=\"fas fa-book-user me-2\"></i>\n        Enroll Selected Courses\n      </button>\n      <button\n        type=\"button\"\n        class=\"add-btn mt-2\"\n        @click=\"\n          () => {\n            operationType = 'Unenroll Specific Courses';\n            showModal = true;\n          }\n        \"\n        :disabled=\"loading\"\n      >\n        <i class=\"fas fa-book-user me-2\"></i>\n        Unenroll Selected Courses\n      </button>\n\n      <!-- <button\n        type=\"button\"\n        class=\"add-btn mt-2\"\n        :disabled=\"selectedCourses.length <= 0\"\n        @click=\"bulkOperationConfirmationDialogue('Block Specific Courses')\"\n      >\n        Block Selected Courses\n      </button> -->\n\n      <b-spinner v-if=\"loading\" class=\"mt-2\"></b-spinner>\n    </div>\n\n    <div class=\"row mt-3\" v-if=\"users.length <= 0\">\n      <div class=\"col-lg-7\">\n        <textarea\n          class=\"form-control\"\n          name=\"\"\n          id=\"\"\n          cols=\"25\"\n          rows=\"12\"\n          placeholder=\"Enter line seperated emails\"\n          v-model=\"emails\"\n        ></textarea>\n      </div>\n      <div>\n        <button\n          class=\"add-btn me-3\"\n          @click=\"validateUserEmails()\"\n          :disabled=\"!emails || loading\"\n        >\n          Validate Emails <i class=\"fas fa-solid fa-arrow-right ms-2\"></i>\n          <b-spinner v-if=\"loading\" small></b-spinner>\n        </button>\n      </div>\n    </div>\n    <div v-if=\"users.length > 0\" class=\"row mt-5\">\n      <div class=\"col-lg-10\">\n        <table\n          v-if=\"users && users.length > 0\"\n          class=\"table table-hover table-borderless\"\n        >\n          <thead>\n            <th style=\"width: 15%\">Status</th>\n            <th style=\"width: 10%\">ID</th>\n            <th style=\"width: 25%\">Name</th>\n            <th style=\"width: 40%\">Email</th>\n            <th style=\"width: 25%\">User Status</th>\n          </thead>\n          <!-- <tbody>\n            {{\n              getUsersRow()\n            }}\n          </tbody> -->\n          <tbody>\n            <template v-for=\"email in allEmails\">\n              <tr>\n                <!-- <td>{{ email }}</td> -->\n                <template v-if=\"users.find((user) => user.email.toLowerCase() == email.toLowerCase())\">\n                  <td><span class=\"badge bg-success\">Found</span></td>\n                  <td>\n                    {{ users.find((user) => user.email.toLowerCase() == email.toLowerCase()).id }}\n                  </td>\n                  <td>\n                    {{\n                      users.find((user) => user.email.toLowerCase() == email.toLowerCase()).firstName +\n                      \" \" +\n                      users.find((user) => user.email.toLowerCase() == email.toLowerCase()).lastName\n                    }}\n                  </td>\n                  <td>\n                    {{ users.find((user) => user.email.toLowerCase() == email.toLowerCase()).email }}\n                  </td>\n                  <td\n                    :class=\"\n                      users\n                        .find((user) => user.email.toLowerCase() == email.toLowerCase())\n                        .status.toLowerCase() == 'active'\n                        ? 'success-text'\n                        : 'danger-text secondary'\n                    \"\n                  >\n                    {{ users.find((user) => user.email.toLowerCase() == email.toLowerCase()).status }}\n                  </td>\n                </template>\n                <template v-else>\n                  <td><span class=\"badge bg-danger\">Not Found</span></td>\n                  <td>-</td>\n                  <td>-</td>\n                  <td>\n                    {{ email }}\n                  </td>\n                  <td>-</td>\n                </template>\n              </tr>\n            </template>\n          </tbody>\n        </table>\n      </div>\n\n      <div class=\"col-lg-2\"></div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport Multiselect from \"vue-multiselect\";\nimport { mapActions, mapGetters, mapState } from \"vuex\";\nimport AdminHeader from \"../../components/Admin/Layout/AdminHeader.vue\";\nimport Vue from \"vue\";\n\nexport default {\n  name: \"BulkOperations\",\n  components: {\n    AdminHeader,\n    Multiselect,\n  },\n  data() {\n    return {\n      emails: null,\n      operationType: null,\n      loading: false,\n      activeBulkOperationButtons: false,\n      users: [],\n      emailsNotFound: null,\n      selectedCourses: [],\n      selectedCoursesIDs: null,\n      showModal: false,\n    };\n  },\n  watch: {\n    selectedCourses: function () {\n      this.selectedCoursesIDs = this.selectedCourses.map((x) => x.id);\n    },\n  },\n\n  computed: {\n    ...mapState(\"productVariant\", [\"productVariants\"]),\n\n    productVariantList() {\n      let productVariants = JSON.parse(\n        JSON.stringify(Object.values(this.productVariants.items))\n      );\n      productVariants = productVariants.map((x) => {\n        return {\n          title: `${x.product.title} - ${x.title}`,\n          id: x.id,\n        };\n      });\n\n      return productVariants;\n    },\n  },\n\n  methods: {\n    ...mapActions(\"user\", [\n      \"allUsersDevicesReset\",\n      \"markUsersStatus\",\n      \"getUsersByEmails\",\n    ]),\n    ...mapActions(\"productVariant\", [\n      \"unenrollAllUsersCourses\",\n      \"enrollUsersSpecificCourses\",\n      \"updateUsersSpecificCoursesSubscription\",\n    ]),\n\n    editEmails() {\n      this.loading = true;\n      this.allEmails = [];\n      this.users = [];\n      this.loading = false;\n      this.selectedCourses = [];\n      this.selectedCoursesIDs = null;\n    },\n\n    reset() {\n      this.loading = true;\n      // this.allEmails = [];\n      // this.users = [];\n      this.loading = false;\n      this.selectedCourses = [];\n      this.selectedCoursesIDs = null;\n    },\n\n    async validateUserEmails() {\n      this.loading = true;\n      let _emails = this.emails.split(\"\\n\").join(\",\");\n      this.allEmails = this.emails.split(\"\\n\");\n\n      await this.getUsersByEmails(_emails).then((data) => {\n        this.users = data ? data : [];\n        console.log({ users: this.users });\n      });\n      this.loading = false;\n\n      if (this.users.length <= 0) {\n        Swal.fire({\n          title: \"No Users Found\",\n          icon: \"warning\",\n          confirmButtonText: \"Ok\",\n          confirmButtonColor: \"#DC3545\",\n        });\n        return;\n      }\n    },\n\n    resetUserDevices(emails) {\n      this.loading = true;\n      this.allUsersDevicesReset(emails)\n        .then((res) => {\n          if (res && res.ok) {\n            // this.emails = null;\n            Swal.fire({\n              title: \"Successful\",\n              text: \"Devices Reset Successful\",\n              icon: \"success\",\n              confirmButtonText: \"Ok\",\n              confirmButtonColor: \"#26A042\",\n            });\n            this.reset();\n            // _emails = null;\n          } else {\n            Swal.fire({\n              title: \"Unsuccessful\",\n              text: res.message,\n              icon: \"warning\",\n              confirmButtonText: \"Ok\",\n              confirmButtonColor: \"#DC3545\",\n            });\n          }\n          this.loading = false;\n        })\n        .catch(() => {\n          this.loading = false;\n        });\n    },\n\n    async markUsersStatusToActiveOrInactive(data, status) {\n      this.loading = true;\n      await this.markUsersStatus(data)\n        .then((res) => {\n          // this.emails = null;\n          if (res && res.ok) {\n            let currentStatus =\n              status == \"Active Users\"\n                ? \"Users Activated Successful\"\n                : \"Users Inactive Successful\";\n            Swal.fire({\n              title: \"Successful\",\n              text: currentStatus,\n              icon: \"success\",\n              confirmButtonText: \"Ok\",\n              confirmButtonColor: \"#26A042\",\n            });\n            this.reset();\n            // _emails = null;\n          } else {\n            Swal.fire({\n              title: \"Unsuccessful\",\n              text: \"Some Unknown Error Occurred\",\n              icon: \"warning\",\n              confirmButtonText: \"Ok\",\n              confirmButtonColor: \"#DC3545\",\n            });\n          }\n\n          this.loading = false;\n        })\n        .catch(() => {\n          this.loading = false;\n        });\n    },\n\n    async unenrollAllUsersCoursesSubscription(emails) {\n      this.loading = true;\n      await this.unenrollAllUsersCourses(emails)\n        .then((res) => {\n          // this.emails = null;\n          if (res && res.ok) {\n            Swal.fire({\n              title: \"Successful\",\n              text: \"Courses Unenrolled Successful\",\n              icon: \"success\",\n              confirmButtonText: \"Ok\",\n              confirmButtonColor: \"#26A042\",\n            });\n            this.reset();\n            // _emails = null;\n          } else {\n            Swal.fire({\n              title: \"Unsuccessful\",\n              text: \"Some Unknown Error Occurred\",\n              icon: \"warning\",\n              confirmButtonText: \"Ok\",\n              confirmButtonColor: \"#DC3545\",\n            });\n          }\n          this.loading = false;\n        })\n        .catch(() => {\n          this.loading = false;\n        });\n    },\n\n    async EnrollUsersCoursesSubscriptions(data) {\n      this.loading = true;\n      await this.enrollUsersSpecificCourses(data)\n        .then((res) => {\n          // this.emails = null;\n          if (res && res.ok) {\n            this.showModal = false;\n            Swal.fire({\n              title: \"Successful\",\n              text: \"Courses Enrolled Successful\",\n              icon: \"success\",\n              confirmButtonText: \"Ok\",\n              confirmButtonColor: \"#26A042\",\n            });\n            this.reset();\n            // _emails = null;\n          } else {\n            Swal.fire({\n              title: \"Unsuccessful\",\n              text: \"Some Unknown Error Occurred\",\n              icon: \"warning\",\n              confirmButtonText: \"Ok\",\n              confirmButtonColor: \"#DC3545\",\n            });\n          }\n          this.loading = false;\n        })\n        .catch(() => {\n          this.loading = false;\n        });\n    },\n\n    async updateUsersCoursesSubscription(data) {\n      this.loading = true;\n      await this.updateUsersSpecificCoursesSubscription(data)\n        .then((res) => {\n          // this.emails = null;\n          if (res && res.ok) {\n            this.showModal = false;\n            Swal.fire({\n              title: \"Successful\",\n              text: \"Courses Unenrolled Successful\",\n              icon: \"success\",\n              confirmButtonText: \"Ok\",\n              confirmButtonColor: \"#26A042\",\n            });\n            this.reset();\n            _emails = null;\n            this.loading = false;\n          } else {\n            Swal.fire({\n              title: \"Unsuccessful\",\n              text: \"Some Unknown Error Occurred\",\n              icon: \"warning\",\n              confirmButtonText: \"Ok\",\n              confirmButtonColor: \"#DC3545\",\n            });\n          }\n          this.loading = false;\n        })\n        .catch(() => {\n          this.loading = false;\n        });\n    },\n\n    bulkOperationConfirmationDialogue(operationType) {\n      this.$bvModal\n        .msgBoxConfirm(`Are you sure you want to ${operationType}?`, {\n          title: `${operationType.toUpperCase()}`,\n          size: \"md\",\n          buttonSize: \"md\",\n          okVariant: \"danger\",\n          okTitle: \"Yes\",\n          cancelTitle: \"No\",\n          footerClass: \"p-2\",\n          hideHeaderClose: false,\n          centered: true,\n          bodyClass: \"confirm-modal-body\",\n        })\n        .then(async (value) => {\n          if (value) {\n            // let _emails = this.emails.split(\"\\n\").join(\",\");\n            let _emails = this.users.map((x) => x.email);\n\n            if (operationType == \"Reset Devices\") {\n              await this.resetUserDevices(_emails);\n              await this.validateUserEmails();\n            } else if (operationType == \"Active Users\") {\n              let requestData = {\n                userEmails: _emails.toString(),\n                status: \"active\",\n              };\n              await this.markUsersStatusToActiveOrInactive(\n                requestData,\n                operationType\n              );\n              await this.validateUserEmails();\n            } else if (operationType == \"InActive Users\") {\n              let requestData = {\n                userEmails: _emails.toString(),\n                status: \"inactive\",\n              };\n              await this.markUsersStatusToActiveOrInactive(\n                requestData,\n                operationType\n              );\n              await this.validateUserEmails();\n            } else if (operationType == \"Unenroll All Courses\") {\n              await this.unenrollAllUsersCoursesSubscription(_emails);\n            } else if (operationType == \"Unenroll Specific Courses\") {\n              let data = {\n                UserEmails: _emails.toString(),\n                ProductVariantIDs: this.selectedCoursesIDs.toString(),\n                Status: \"Unenrolled\",\n              };\n              await this.updateUsersCoursesSubscription(data);\n            } else if (operationType == \"Enroll Specific Courses\") {\n              let data = {\n                UserEmails: _emails,\n                ProductVariantIDs: this.selectedCoursesIDs,\n              };\n              await this.EnrollUsersCoursesSubscriptions(data);\n            } else if (operationType == \"Block Specific Courses\") {\n              let data = {\n                UserEmails: _emails.toString(),\n                ProductVariantIDs: this.selectedCoursesIDs.toString(),\n                Status: \"Blocked\",\n              };\n              await this.updateUsersCoursesSubscription(data);\n            }\n          }\n        });\n    },\n  },\n\n  created() {},\n};\n</script>\n<style scoped>\n.border-radius-static-style {\n  border-top-right-radius: 0px !important;\n  border-bottom-right-radius: 0px !important;\n}\n\n.btn-static-styling {\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  border-radius: 8px;\n  display: flex !important;\n  align-items: center;\n  justify-content: center;\n  padding: 0.625rem 1rem;\n  text-transform: uppercase;\n  font-weight: 500;\n  line-height: 1.125rem;\n  letter-spacing: 0.05em;\n  color: #000000;\n  text-decoration: none;\n  transition: all 0.3s ease;\n  border-top-left-radius: 0px !important;\n  border-bottom-left-radius: 0px !important;\n}\n\ntd {\n  padding-left: 0px !important;\n}\n\n.page-content-container {\n  background-color: #f5f5f5;\n  height: calc(100vh - 5rem);\n  padding: 1.875rem;\n  overflow-y: auto;\n}\n\n.title-container {\n  display: flex;\n  align-items: center;\n}\n\n.page-title {\n  font-weight: 500;\n  font-size: 1.25rem;\n  line-height: 1.5rem;\n  color: #000000;\n  display: inline-block;\n  /* margin: 0; */\n}\n\n.add-btn {\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  border-radius: 8px;\n  display: flex !important;\n  align-items: center;\n  justify-content: center;\n  padding: 0.625rem 1rem;\n  text-transform: uppercase;\n  font-weight: 500;\n  font-size: 0.875rem;\n  line-height: 1.125rem;\n  letter-spacing: 0.05em;\n  color: #000000;\n  text-decoration: none;\n  transition: all 0.3s ease;\n}\n\n.add-btn:hover {\n  box-shadow: 4px 6px 5px 0px rgb(197 197 197 / 20%);\n}\n\n.add-btn-icon {\n  margin-right: 0.625rem;\n  width: 1rem;\n  height: 1rem;\n}\n\n.table-container {\n  background-color: #ffffff;\n  border-radius: 8px;\n  box-shadow: 0 3px 6px #d5d5d529;\n}\n\n.all-users-table thead,\n.all-users-table td {\n  height: 4rem;\n  vertical-align: middle;\n}\n\n.all-users-table td:first-of-type {\n  padding-left: 0;\n}\n\n.all-users-table input[type=\"checkbox\"] {\n  margin-left: 1.5rem;\n  background: #ffffff;\n  border: 1px solid #b2b2b2;\n  box-sizing: border-box;\n  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n  border-radius: 3px;\n  width: 1.25rem;\n  height: 1.25rem;\n}\n\n.filters-container {\n  padding: 1.5rem;\n  border-radius: 8px;\n  box-shadow: 0 3px 6px #d5d5d529;\n  background-color: #ffffff;\n  margin-bottom: 1.5rem;\n}\n\n.filters-container .main-label {\n  font-weight: 500;\n  font-size: 1rem;\n  line-height: 1.37;\n  text-transform: uppercase;\n  color: #727272;\n  margin-bottom: 1rem;\n}\n\n.filter-inputs {\n  display: flex;\n  flex-direction: row;\n  column-gap: 1rem;\n}\n\n.search-input {\n  background: #ffffff;\n  border: 1px solid #dcdcdc;\n  box-sizing: border-box;\n  border-radius: 8px;\n  padding: 0.5rem 0.75rem;\n  width: 100%;\n  text-align: left;\n  /* margin-bottom: 1rem; */\n  /* font-weight: 500; */\n  color: #000000;\n  font-size: 1rem;\n  column-gap: 0.75rem;\n  position: relative;\n  outline: none;\n\n  /* transition: transform 0.3s; */\n}\n\n.search-button {\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  border-radius: 8px;\n  padding: 0.5rem 2rem;\n  filter: drop-shadow(3px 5px 6px rgba(197, 197, 197, 0.3));\n  text-decoration: none;\n  color: #000000;\n  display: flex;\n  column-gap: 0.5rem;\n  align-items: center;\n}\n\n.buttons-container {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  justify-content: space-between;\n  column-gap: 1rem;\n}\n\n.buttons-container .searchbar {\n  flex-grow: 1;\n}\n\n.search-icon {\n  font-size: 18px;\n  position: absolute;\n  margin-right: 1rem;\n  right: 0;\n  color: #000000;\n}\n\n.export-btn {\n  padding: 0.5rem 1rem;\n}\n\n.dropdown-item {\n  cursor: pointer;\n}\n\n.user-avatar {\n  width: 2rem;\n  height: 2rem;\n  color: var(--color-white);\n  background-color: #231f20;\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  line-height: 1;\n  font-size: 1.2rem;\n  min-width: 2rem;\n  margin-right: 0.5rem;\n  flex-shrink: 0;\n  /* z-index: 100; */\n}\n\n.user-image {\n  width: 2rem;\n  height: 2rem;\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  object-fit: contain;\n  object-position: top;\n  margin-right: 0.5rem;\n}\n\n.user-name {\n  cursor: pointer;\n}\n\n.filter-user-type-btn {\n  background: #ffffff;\n  box-sizing: border-box;\n  border-radius: 8px;\n  display: flex !important;\n  align-items: center;\n  justify-content: center;\n  padding: 0.625rem 1rem;\n  text-transform: uppercase;\n  font-weight: 500;\n  font-size: 0.875rem;\n  line-height: 1.125rem;\n  letter-spacing: 0.05em;\n  color: #000000;\n  text-decoration: none;\n  border: 1px solid transparent;\n  transition: all 0.3s ease;\n}\n\n.filter-user-type-btn.active {\n  border: 1px solid var(--primary-color);\n}\n\ntd.success-text {\n  color: var(--color-success);\n}\n\ntd.danger-text {\n  color: var(--color-danger);\n}\n\n/*table > thead > th:first-child, table > tbody > tr > td:first-child {*/\n/*  margin-left: 1.5rem!important;*/\n/*}*/\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BulkOperations.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BulkOperations.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BulkOperations.vue?vue&type=template&id=00730d00&scoped=true&\"\nimport script from \"./BulkOperations.vue?vue&type=script&lang=js&\"\nexport * from \"./BulkOperations.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BulkOperations.vue?vue&type=style&index=0&id=00730d00&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"00730d00\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"course-detail-container\"},[(_vm.productVariantData)?_c('router-view',{attrs:{\"productVariantData\":_vm.productVariantData,\"productVariantId\":_vm.productVariantId}}):_vm._e(),_c('div',{staticClass:\"minmaxCon\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"course-detail-container\">\n\t\t<router-view\n\t\t\tv-if=\"productVariantData\"\n\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t:productVariantId=\"productVariantId\"\n\t\t></router-view>\n\t\t<div class=\"minmaxCon\"></div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport { ContentType } from \"../../constants/content\";\n\nexport default {\n\tname: \"CourseDetail\",\n\tdata() {\n\t\treturn {\n\t\t\tproductVariantData: null,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"getProductVariantById\"]),\n\t\t...mapActions(\"appState\", [\"fetchExternalServices\"]),\n\t},\n\tcomputed: {\n\t\t...mapState(\"productVariant\", [\"productVariants\", \"loading\"]),\n\t\t...mapState(\"appState\", [\"externalServicesList\"]),\n\t\tproductVariantId() {\n\t\t\treturn this.$route.params.id;\n\t\t},\n\t},\n\tcreated() {\n\t\tconsole.log(\"created\");\n\t\t// if (!this.productVariants.items[this.productVariantId]) {\n\t\tthis.getProductVariantById(this.productVariantId).then(() => {\n\t\t\tthis.productVariantData =\n\t\t\t\tthis.productVariants.items[this.productVariantId];\n\t\t});\n\t\t// }else {\n\t\t// \tthis.productVariantData =\n\t\t// \t\tthis.productVariants.items[this.productVariantId];\n\t\t// }\n\t\tif (\n\t\t\tthis.externalServicesList &&\n\t\t\t!this.externalServicesList[ContentType.EXAM]\n\t\t) {\n\t\t\tthis.fetchExternalServices(ContentType.EXAM);\n\t\t}\n\t},\n\twatch: {\n\t\tproductVariants: function () {\n\t\t\tconsole.log(\"productVariantsUpdated\");\n\t\t\tif (this.productVariants.items[this.productVariantId]) {\n\t\t\t\tthis.productVariantData =\n\t\t\t\t\tthis.productVariants.items[this.productVariantId];\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourseDetail.vue?vue&type=template&id=628f931f&scoped=true&\"\nimport script from \"./CourseDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./CourseDetail.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"628f931f\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-content-container\"},[_c('div',{staticClass:\"title-container\"},[_c('h1',{staticClass:\"page-title\"},[_vm._v(\"Course Management\")]),(!_vm.isTrainer)?_c('CreateCategoryDropdown'):_vm._e()],1),(_vm.isTrainer)?_c('div',{staticClass:\"product-variant-list mt-4\"},[_vm._l((_vm.productListData),function(productVariant){return _c('ProductListItem',{key:productVariant.id,staticClass:\"grid\",attrs:{\"data\":productVariant,\"purchased\":false,\"isAdmin\":_vm.isAdmin}})}),(_vm.productListData.length == 0)?_c('div',{staticClass:\"no-content\"},[_vm._v(\" No courses are assigned \")]):_vm._e()],2):_c('div',{class:(\"category-list-container \" + (_vm.categories.length == 0 ? 'd-flex justify-content-center' : ''))},[_c('CategoryList',{on:{\"toggleModal\":_vm.toggleModal}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"page-content-container\">\n\t\t<div class=\"title-container\">\n\t\t\t<h1 class=\"page-title\">Course Management</h1>\n\t\t\t<CreateCategoryDropdown v-if=\"!isTrainer\" />\n\t\t</div>\n\t\t<div v-if=\"isTrainer\" class=\"product-variant-list mt-4\">\n\t\t\t<ProductListItem\n\t\t\t\tclass=\"grid\"\n\t\t\t\tv-for=\"productVariant in productListData\"\n\t\t\t\t:key=\"productVariant.id\"\n\t\t\t\t:data=\"productVariant\"\n\t\t\t\t:purchased=\"false\"\n\t\t\t\t:isAdmin=\"isAdmin\"\n\t\t\t/>\n\t\t\t<div class=\"no-content\" v-if=\"productListData.length == 0\">\n\t\t\t\tNo courses are assigned\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\tv-else\n\t\t\t:class=\"`category-list-container ${\n\t\t\t\tcategories.length == 0 ? 'd-flex justify-content-center' : ''\n\t\t\t}`\"\n\t\t>\n\t\t\t<CategoryList @toggleModal=\"toggleModal\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport CategoryList from \"../../components/Admin/Category/CategoryList.vue\";\nimport CreateProductVariantModal from \"../../components/Admin/ProductVariant/CreateProductVariantModal.vue\";\nimport CreateCategoryDropdown from \"../../components/Admin/Category/CreateCategoryDropdown.vue\";\nimport ProductListItem from \"../../components/Product/ProductListItem.vue\";\n// import ProductVariant from \"../../models/productVariant\";\n\nimport { mapState, mapActions } from \"vuex\";\n\nexport default {\n\tname: \"CourseManagement\",\n\tcomponents: {\n\t\tCategoryList,\n\t\tCreateProductVariantModal,\n\t\tCreateCategoryDropdown,\n\t\tProductListItem,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tshowModal: false,\n\t\t\tproductId: \"\",\n\t\t\tisAdmin: true,\n\t\t\tisTrainer: false,\n\t\t\tproductListData: [],\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchTrainersList\", \"fetchCurrentUser\"]),\n\t\t...mapActions(\"product\", [\"fetchAllProducts\"]),\n\t\ttoggleModal(e) {\n\t\t\te.stopPropagation();\n\t\t\tvar id = e.target.parentNode.parentNode.parentNode.id.split(\"-\").at(-1);\n\t\t\t// console.log(\"Clicked on: \", productId);\n\t\t\tthis.productId = id;\n\t\t\tthis.showModal = !this.showModal;\n\t\t},\n\t\tupdateModalState(value) {\n\t\t\tthis.showModal = value;\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"category\", [\"categories\"]),\n\t\t...mapState(\"user\", [\"trainers\", \"user\"]),\n\t},\n\tcreated() {\n\t\t// var user = JSON.parse(localStorage.getItem(\"user\"));\n\t\t// console.log(\"user\", user);\n\t\tthis.fetchAllProducts();\n\n\t\tif (this.user.type) {\n\t\t\tthis.isTrainer = this.user.type.toLowerCase() == \"trainer\";\n\t\t}\n\n\t\tif (this.user.role) {\n\t\t\tthis.isTrainer = this.user.role.toLowerCase() == \"trainer\";\n\t\t}\n\n\t\tconsole.log(\"istrainer\", this.isTrainer);\n\t\tif (this.isTrainer) {\n\t\t\tthis.fetchCurrentUser().then(() => {\n\t\t\t\tvar trainersProductVariants = this.user.productVariants;\n\t\t\t\tthis.productListData = trainersProductVariants;\n\t\t\t});\n\t\t}\n\t},\n};\n</script>\n\n<style scoped>\n.page-content-container {\n\tbackground-color: #f5f5f5;\n\theight: calc(100vh - 5rem);\n\tpadding: 1.875rem;\n\toverflow-y: auto;\n}\n\n.title-container {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.page-title {\n\tfont-weight: 500;\n\tfont-size: 1.25rem;\n\tline-height: 1.5rem;\n\tcolor: #000000;\n\tdisplay: inline-block;\n\tmargin: 0;\n}\n\n.no-content {\n\tdisplay: flex;\n\talign-items: center;\n\t/* justify-content: center; */\n\tmargin-top: 1.5rem;\n\theight: 100%;\n}\n\n.category-list-container {\n\t/* display: flex; */\n\tflex-grow: 1;\n\talign-items: center;\n\t/* justify-content: center; */\n\theight: 92%;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseManagement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CourseManagement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourseManagement.vue?vue&type=template&id=023ce6df&scoped=true&\"\nimport script from \"./CourseManagement.vue?vue&type=script&lang=js&\"\nexport * from \"./CourseManagement.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CourseManagement.vue?vue&type=style&index=0&id=023ce6df&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"023ce6df\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-content-container\"},[_vm._m(0),_c('form',{staticClass:\"filters-container\",on:{\"submit\":_vm.filterInvoices}},[_c('div',{staticClass:\"d-flex flex-column flex-grow-1\"},[_c('div',{staticClass:\"buttons-container mb-3\"},[_c('div',{staticClass:\"searchbar col position-relative d-flex align-items-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.studentIDFilter),expression:\"studentIDFilter\"}],staticClass:\"search-input\",attrs:{\"autocomplete\":\"off\",\"type\":\"search\",\"name\":\"studentIDFilter\",\"id\":\"studentIDFilter\",\"placeholder\":\"Search by Student ID\"},domProps:{\"value\":(_vm.studentIDFilter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.studentIDFilter=$event.target.value}}})]),_c('div',{staticClass:\"searchbar col position-relative d-flex align-items-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.studentNameFilter),expression:\"studentNameFilter\"}],staticClass:\"search-input\",attrs:{\"autocomplete\":\"off\",\"type\":\"search\",\"name\":\"studentNameFilter\",\"id\":\"studentNameFilter\",\"placeholder\":\"Search by Student Name\"},domProps:{\"value\":(_vm.studentNameFilter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.studentNameFilter=$event.target.value}}})]),_c('div',{staticClass:\"searchbar col position-relative d-flex align-items-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.studentPhoneFilter),expression:\"studentPhoneFilter\"}],staticClass:\"search-input\",attrs:{\"autocomplete\":\"off\",\"type\":\"search\",\"name\":\"studentPhoneFilter\",\"id\":\"studentPhoneFilter\",\"placeholder\":\"Search by Student Number\"},domProps:{\"value\":(_vm.studentPhoneFilter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.studentPhoneFilter=$event.target.value}}})]),_c('div',{staticClass:\"searchbar col position-relative d-flex align-items-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.studentEmailFilter),expression:\"studentEmailFilter\"}],staticClass:\"search-input\",attrs:{\"autocomplete\":\"off\",\"type\":\"email\",\"name\":\"studentEmailFilter\",\"id\":\"studentEmailFilter\",\"placeholder\":\"Search by Student Email\"},domProps:{\"value\":(_vm.studentEmailFilter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.studentEmailFilter=$event.target.value}}})])]),_c('div',{staticClass:\"buttons-container\"},[_c('div',{staticClass:\"searchbar col position-relative d-flex align-items-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.invoiceIDFilter),expression:\"invoiceIDFilter\"}],staticClass:\"search-input\",attrs:{\"autocomplete\":\"off\",\"type\":\"search\",\"name\":\"invoiceIDFilter\",\"id\":\"invoiceIDFilter\",\"placeholder\":\"Search by Invoice ID\"},domProps:{\"value\":(_vm.invoiceIDFilter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.invoiceIDFilter=$event.target.value}}})]),_c('div',{staticClass:\"searchbar col position-relative d-flex align-items-center\"},[_c('v-select',{staticClass:\"search-input\",attrs:{\"name\":\"productIDFilter\",\"id\":\"productIDFilter\",\"multiple\":\"\",\"reduce\":function (option) { return option.id; },\"options\":_vm.productVariantList,\"placeholder\":\"Search by Course\",\"appendToBody\":true,\"calculate-position\":_vm.withPopper,\"label\":\"name\"},scopedSlots:_vm._u([{key:\"selected-option\",fn:function(option){return [_c('div',{staticStyle:{\"width\":\"10vw\",\"text-overflow\":\"ellipsis\",\"white-space\":\"nowrap\",\"overflow\":\"hidden\"}},[_vm._v(\" \"+_vm._s(option.product.title)+\" - \"+_vm._s(option.title)+\" \")])]}},{key:\"option\",fn:function(option){return [_vm._v(\" \"+_vm._s(option.product.title)+\" - \"+_vm._s(option.title)+\" \")]}}]),model:{value:(_vm.productVariantIDFilter),callback:function ($$v) {_vm.productVariantIDFilter=$$v},expression:\"productVariantIDFilter\"}})],1),_c('div',{staticClass:\"searchbar col position-relative d-flex align-items-center\"},[_c('date-range-picker',{ref:\"picker\",staticClass:\"search-input\",attrs:{\"locale-data\":{ firstDay: 1, format: 'dd-mm-yyyy' },\"showWeekNumbers\":true,\"showDropdowns\":true,\"autoApply\":true,\"control-container-class\":\"d-flex align-items-center gap-3\",\"opens\":\"left\",\"ranges\":_vm.dateRangePresets,\"maxDate\":new Date()},scopedSlots:_vm._u([{key:\"input\",fn:function(picker){return [_c('i',{staticClass:\"fal fa-calendar-alt text-muted\"}),(picker.startDate || picker.endDate)?_c('span',{staticClass:\"text-sm\"},[_vm._v(\" \"+_vm._s(_vm.formatDate(picker.startDate))+\" - \"+_vm._s(_vm.formatDate(picker.endDate))+\" \")]):_c('span',{staticClass:\"text-muted text-sm\"},[_vm._v(\" Search by Due Date \")]),(picker.startDate || picker.endDate)?_c('i',{staticClass:\"fa fa-times ms-auto text-muted cursor-pointer\",on:{\"click\":_vm.resetDueDateFilter}}):_c('i',{staticClass:\"fa fa-caret-down ms-auto text-muted\"})]}}]),model:{value:(_vm.paymentDueDateFilter),callback:function ($$v) {_vm.paymentDueDateFilter=$$v},expression:\"paymentDueDateFilter\"}})],1),_c('div',{staticClass:\"searchbar col position-relative d-flex align-items-center\"},[_c('date-range-picker',{ref:\"picker\",staticClass:\"search-input\",attrs:{\"locale-data\":{ firstDay: 1, format: 'dd-mm-yyyy' },\"showWeekNumbers\":true,\"showDropdowns\":true,\"autoApply\":true,\"control-container-class\":\"d-flex align-items-center gap-3\",\"opens\":\"left\",\"ranges\":_vm.dateRangePresets,\"maxDate\":new Date()},scopedSlots:_vm._u([{key:\"input\",fn:function(picker){return [_c('i',{staticClass:\"fal fa-calendar-alt text-muted\"}),(picker.startDate || picker.endDate)?_c('span',{staticClass:\"text-sm\"},[_vm._v(\" \"+_vm._s(_vm.formatDate(picker.startDate))+\" - \"+_vm._s(_vm.formatDate(picker.endDate))+\" \")]):_c('span',{staticClass:\"text-muted text-sm\"},[_vm._v(\" Search by Invoice Date \")]),(picker.startDate || picker.endDate)?_c('i',{staticClass:\"fa fa-times ms-auto text-muted cursor-pointer\",on:{\"click\":_vm.resetDateFilter}}):_c('i',{staticClass:\"fa fa-caret-down ms-auto text-muted\"})]}}]),model:{value:(_vm.paymentDateFilter),callback:function ($$v) {_vm.paymentDateFilter=$$v},expression:\"paymentDateFilter\"}})],1)])]),_c('button',{staticClass:\"filter-btn\",attrs:{\"disabled\":_vm.loading},on:{\"click\":_vm.filterInvoices}},[_c('i',{staticClass:\"fa fa-search\"}),_vm._v(\" Search \")])]),_c('div',{staticClass:\"d-flex gap-5\"},[_c('div',[_c('p',{staticClass:\"mb-2\"},[_vm._v(\"Invoice Status\")]),_c('div',{staticClass:\"d-flex mb-4 gap-3\"},[_c('button',{class:[\n\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t{ active: _vm.invoiceStatusFilter == null } ],on:{\"click\":function($event){return _vm.setStatus(null)}}},[_vm._v(\" All \")]),_c('button',{class:[\n\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t{ active: _vm.invoiceStatusFilter == _vm.InvoiceStatus.UNPAID } ],on:{\"click\":function($event){return _vm.setStatus(_vm.InvoiceStatus.UNPAID)}}},[_vm._v(\" Unpaid \")]),_c('button',{class:[\n\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t{ active: _vm.invoiceStatusFilter == _vm.InvoiceStatus.PARTIALLY_PAID } ],on:{\"click\":function($event){return _vm.setStatus(_vm.InvoiceStatus.PARTIALLY_PAID)}}},[_vm._v(\" Partially Paid \")]),_c('button',{class:[\n\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t{ active: _vm.invoiceStatusFilter == _vm.InvoiceStatus.PAID } ],on:{\"click\":function($event){return _vm.setStatus(_vm.InvoiceStatus.PAID)}}},[_vm._v(\" Paid \")])])])]),_c('div',{staticClass:\"table-container\"},[_c('b-overlay',{attrs:{\"show\":_vm.loading,\"rounded\":\"sm\"}},[_c('table',{staticClass:\"table table-hover table-borderless payments-table\"},[_c('thead',[_c('th',[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_all\",\"id\":\"select_all\"},domProps:{\"checked\":_vm.isSelectedAll},on:{\"click\":function($event){return _vm.toggleSelectAll()}}})]),_c('th',[_vm._v(\"Invoice ID\")]),_c('th',[_vm._v(\"Student Name\")]),_c('th',[_vm._v(\"Amount\")]),_c('th',[_vm._v(\"Invoice Status\")]),_c('th',[_vm._v(\"Invoice Date\")])]),(_vm.allInvoices && _vm.allInvoices.length > 0)?_c('tbody',_vm._l((_vm.filteredInvoices),function(invoice){return _c('tr',{key:invoice.id,staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.toggleInvoiceModal(invoice)}}},[_c('td',[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_1\",\"id\":invoice.id},domProps:{\"checked\":_vm.isChecked(invoice.id)},on:{\"click\":function($event){return _vm.toggleInvoiceSelect($event, invoice)}}})]),_c('td',[_vm._v(_vm._s(invoice.id))]),_c('td',[_vm._v(_vm._s(_vm.userName(invoice.customerID)))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.formatCurrency(_vm.totalAmount(invoice.details), invoice.currency))+\" \")]),_c('td',[_c('div',{class:[\n\t\t\t\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tsuccess: invoice.status == _vm.InvoiceStatus.PAID,\n\t\t\t\t\t\t\t\t\t\tdanger:\n\t\t\t\t\t\t\t\t\t\t\tinvoice.status == _vm.InvoiceStatus.UNPAID ||\n\t\t\t\t\t\t\t\t\t\t\tinvoice.status == _vm.InvoiceStatus.OVER_PAID,\n\t\t\t\t\t\t\t\t\t\twarning: invoice.status == _vm.InvoiceStatus.PARTIALLY_PAID,\n\t\t\t\t\t\t\t\t\t} ]},[_vm._v(\" \"+_vm._s(invoice.status)+\" \")])]),_c('td',[_vm._v(_vm._s(_vm.formatDate(invoice.invoiceDate)))]),(\n\t\t\t\t\t\t\t\tinvoice &&\n\t\t\t\t\t\t\t\t_vm.invoiceToViewPay &&\n\t\t\t\t\t\t\t\t_vm.invoiceToViewPay.id == invoice.id\n\t\t\t\t\t\t\t)?_c('UserInvoiceDetailModal',{attrs:{\"invoice\":invoice,\"showModal\":_vm.showInvoiceModal,\"user\":_vm.userData(invoice.customerID),\"invoiceMode\":\"view\"},on:{\"updateModalState\":_vm.toggleInvoiceModal}}):_vm._e()],1)}),0):_vm._e()])]),(!_vm.allInvoices && _vm.loading)?_c('div',{staticClass:\"d-flex align-items-center justify-content-center gap-3 p-3 font-500\"},[_c('b-spinner'),_vm._v(\" Loading... \")],1):(_vm.allInvoices && _vm.filteredInvoices.length == 0 && !_vm.loading)?_c('h5',{staticClass:\"text-center text-muted p-4 pt-0 m-0\"},[_vm._v(\" No payments found \")]):_vm._e()],1),(_vm.filteredInvoices.length > 0)?_c('b-pagination',{attrs:{\"align\":\"right\",\"total-rows\":_vm.rows,\"per-page\":_vm.perPage},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"title-container mb-4\"},[_c('h1',{staticClass:\"page-title\"},[_vm._v(\"Invoices\")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"page-content-container\">\n\t\t<div class=\"title-container mb-4\">\n\t\t\t<h1 class=\"page-title\">Invoices</h1>\n\t\t</div>\n\t\t<form @submit=\"filterInvoices\" class=\"filters-container\">\n\t\t\t<div class=\"d-flex flex-column flex-grow-1\">\n\t\t\t\t<div class=\"buttons-container mb-3\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"searchbar col position-relative d-flex align-items-center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tname=\"studentIDFilter\"\n\t\t\t\t\t\t\tid=\"studentIDFilter\"\n\t\t\t\t\t\t\tplaceholder=\"Search by Student ID\"\n\t\t\t\t\t\t\tv-model=\"studentIDFilter\"\n\t\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"searchbar col position-relative d-flex align-items-center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tname=\"studentNameFilter\"\n\t\t\t\t\t\t\tid=\"studentNameFilter\"\n\t\t\t\t\t\t\tplaceholder=\"Search by Student Name\"\n\t\t\t\t\t\t\tv-model=\"studentNameFilter\"\n\t\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"searchbar col position-relative d-flex align-items-center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tname=\"studentPhoneFilter\"\n\t\t\t\t\t\t\tid=\"studentPhoneFilter\"\n\t\t\t\t\t\t\tplaceholder=\"Search by Student Number\"\n\t\t\t\t\t\t\tv-model=\"studentPhoneFilter\"\n\t\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"searchbar col position-relative d-flex align-items-center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t\t\tname=\"studentEmailFilter\"\n\t\t\t\t\t\t\tid=\"studentEmailFilter\"\n\t\t\t\t\t\t\tplaceholder=\"Search by Student Email\"\n\t\t\t\t\t\t\tv-model=\"studentEmailFilter\"\n\t\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"buttons-container\">\n\t\t\t\t\t<!-- <div\n\t\t\t\t\t\tclass=\"searchbar col position-relative d-flex align-items-center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tname=\"invoiceIDFilter\"\n\t\t\t\t\t\t\tid=\"invoiceIDFilter\"\n\t\t\t\t\t\t\tplaceholder=\"Search by Invoice ID\"\n\t\t\t\t\t\t\tv-model=\"invoiceIDFilter\"\n\t\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"searchbar col position-relative d-flex align-items-center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tname=\"studentPhoneFilter\"\n\t\t\t\t\t\t\tid=\"studentPhoneFilter\"\n\t\t\t\t\t\t\tplaceholder=\"Search by Student Number\"\n\t\t\t\t\t\t\tv-model=\"studentPhoneFilter\"\n\t\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div> -->\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"searchbar col position-relative d-flex align-items-center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tname=\"invoiceIDFilter\"\n\t\t\t\t\t\t\tid=\"invoiceIDFilter\"\n\t\t\t\t\t\t\tplaceholder=\"Search by Invoice ID\"\n\t\t\t\t\t\t\tv-model=\"invoiceIDFilter\"\n\t\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"searchbar col position-relative d-flex align-items-center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\tname=\"productIDFilter\"\n\t\t\t\t\t\t\tid=\"productIDFilter\"\n\t\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\tv-model=\"productVariantIDFilter\"\n\t\t\t\t\t\t\t:reduce=\"(option) => option.id\"\n\t\t\t\t\t\t\t:options=\"productVariantList\"\n\t\t\t\t\t\t\tplaceholder=\"Search by Course\"\n\t\t\t\t\t\t\t:appendToBody=\"true\"\n\t\t\t\t\t\t\t:calculate-position=\"withPopper\"\n\t\t\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<template #selected-option=\"option\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle=\"\n\t\t\t\t\t\t\t\t\t\twidth: 10vw;\n\t\t\t\t\t\t\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\t\t\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\t\t\t\t\t\toverflow: hidden;\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{{ option.product.title }} - {{ option.title }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template v-slot:option=\"option\">\n\t\t\t\t\t\t\t\t{{ option.product.title }} - {{ option.title }}\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</v-select>\n\t\t\t\t\t\t<!-- <input\n\t\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t\t\tname=\"productIDFilter\"\n\t\t\t\t\t\t\tid=\"productIDFilter\"\n\t\t\t\t\t\t\tplaceholder=\"Search by Course ID\"\n\t\t\t\t\t\t\tv-model=\"productVariantIDFilter\"\n\t\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\t/> -->\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"searchbar col position-relative d-flex align-items-center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<date-range-picker\n\t\t\t\t\t\t\tref=\"picker\"\n\t\t\t\t\t\t\t:locale-data=\"{ firstDay: 1, format: 'dd-mm-yyyy' }\"\n\t\t\t\t\t\t\t:showWeekNumbers=\"true\"\n\t\t\t\t\t\t\t:showDropdowns=\"true\"\n\t\t\t\t\t\t\t:autoApply=\"true\"\n\t\t\t\t\t\t\tv-model=\"paymentDueDateFilter\"\n\t\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\t\tcontrol-container-class=\"d-flex align-items-center gap-3\"\n\t\t\t\t\t\t\topens=\"left\"\n\t\t\t\t\t\t\t:ranges=\"dateRangePresets\"\n\t\t\t\t\t\t\t:maxDate=\"new Date()\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<template v-slot:input=\"picker\" style=\"min-width: 350px\">\n\t\t\t\t\t\t\t\t<i class=\"fal fa-calendar-alt text-muted\"></i>\n\t\t\t\t\t\t\t\t<span class=\"text-sm\" v-if=\"picker.startDate || picker.endDate\">\n\t\t\t\t\t\t\t\t\t{{ formatDate(picker.startDate) }} -\n\t\t\t\t\t\t\t\t\t{{ formatDate(picker.endDate) }}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span class=\"text-muted text-sm\" v-else>\n\t\t\t\t\t\t\t\t\tSearch by Due Date\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\t@click=\"resetDueDateFilter\"\n\t\t\t\t\t\t\t\t\tclass=\"fa fa-times ms-auto text-muted cursor-pointer\"\n\t\t\t\t\t\t\t\t\tv-if=\"picker.startDate || picker.endDate\"\n\t\t\t\t\t\t\t\t></i>\n\t\t\t\t\t\t\t\t<i v-else class=\"fa fa-caret-down ms-auto text-muted\"></i>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</date-range-picker>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"searchbar col position-relative d-flex align-items-center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<date-range-picker\n\t\t\t\t\t\t\tref=\"picker\"\n\t\t\t\t\t\t\t:locale-data=\"{ firstDay: 1, format: 'dd-mm-yyyy' }\"\n\t\t\t\t\t\t\t:showWeekNumbers=\"true\"\n\t\t\t\t\t\t\t:showDropdowns=\"true\"\n\t\t\t\t\t\t\t:autoApply=\"true\"\n\t\t\t\t\t\t\tv-model=\"paymentDateFilter\"\n\t\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\t\tcontrol-container-class=\"d-flex align-items-center gap-3\"\n\t\t\t\t\t\t\topens=\"left\"\n\t\t\t\t\t\t\t:ranges=\"dateRangePresets\"\n\t\t\t\t\t\t\t:maxDate=\"new Date()\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<template v-slot:input=\"picker\" style=\"min-width: 350px\">\n\t\t\t\t\t\t\t\t<i class=\"fal fa-calendar-alt text-muted\"></i>\n\t\t\t\t\t\t\t\t<span class=\"text-sm\" v-if=\"picker.startDate || picker.endDate\">\n\t\t\t\t\t\t\t\t\t{{ formatDate(picker.startDate) }} -\n\t\t\t\t\t\t\t\t\t{{ formatDate(picker.endDate) }}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span class=\"text-muted text-sm\" v-else>\n\t\t\t\t\t\t\t\t\tSearch by Invoice Date\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\t@click=\"resetDateFilter\"\n\t\t\t\t\t\t\t\t\tclass=\"fa fa-times ms-auto text-muted cursor-pointer\"\n\t\t\t\t\t\t\t\t\tv-if=\"picker.startDate || picker.endDate\"\n\t\t\t\t\t\t\t\t></i>\n\t\t\t\t\t\t\t\t<i v-else class=\"fa fa-caret-down ms-auto text-muted\"></i>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</date-range-picker>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<button @click=\"filterInvoices\" :disabled=\"loading\" class=\"filter-btn\">\n\t\t\t\t<i class=\"fa fa-search\"></i>\n\t\t\t\tSearch\n\t\t\t</button>\n\t\t</form>\n\t\t<div class=\"d-flex gap-5\">\n\t\t\t<div>\n\t\t\t\t<p class=\"mb-2\">Invoice Status</p>\n\t\t\t\t<div class=\"d-flex mb-4 gap-3\">\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"setStatus(null)\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t\t{ active: invoiceStatusFilter == null },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tAll\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"setStatus(InvoiceStatus.UNPAID)\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t\t{ active: invoiceStatusFilter == InvoiceStatus.UNPAID },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tUnpaid\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"setStatus(InvoiceStatus.PARTIALLY_PAID)\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t\t{ active: invoiceStatusFilter == InvoiceStatus.PARTIALLY_PAID },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tPartially Paid\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"setStatus(InvoiceStatus.PAID)\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t\t{ active: invoiceStatusFilter == InvoiceStatus.PAID },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tPaid\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!-- <div>\n\t\t\t\t<p class=\"mb-2\">Payment Method</p>\n\t\t\t\t<div class=\"d-flex mb-4 gap-3\">\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"setPaymentMethod(null)\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t\t{ active: paymentMethodFilter == null },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tAll\n\t\t\t\t\t</button>\n\n\t\t\t\t\t<button\n\t\t\t\t\t\tv-for=\"method in externalServicesList['PaymentGateway']\"\n\t\t\t\t\t\t:key=\"method.serviceCode\"\n\t\t\t\t\t\t@click=\"setPaymentMethod(method.serviceProvider)\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t\t{ active: paymentMethodFilter == method.serviceProvider },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ method.serviceName }}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div> -->\n\t\t</div>\n\t\t<div class=\"table-container\">\n\t\t\t<b-overlay :show=\"loading\" rounded=\"sm\">\n\t\t\t\t<table class=\"table table-hover table-borderless payments-table\">\n\t\t\t\t\t<thead>\n\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tname=\"select_all\"\n\t\t\t\t\t\t\t\tid=\"select_all\"\n\t\t\t\t\t\t\t\t@click=\"toggleSelectAll()\"\n\t\t\t\t\t\t\t\t:checked=\"isSelectedAll\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th>Invoice ID</th>\n\t\t\t\t\t\t<th>Student Name</th>\n\t\t\t\t\t\t<th>Amount</th>\n\t\t\t\t\t\t<th>Invoice Status</th>\n\t\t\t\t\t\t<th>Invoice Date</th>\n\t\t\t\t\t</thead>\n\t\t\t\t\t<tbody v-if=\"allInvoices && allInvoices.length > 0\">\n\t\t\t\t\t\t<tr\n\t\t\t\t\t\t\tclass=\"cursor-pointer\"\n\t\t\t\t\t\t\t@click=\"toggleInvoiceModal(invoice)\"\n\t\t\t\t\t\t\tv-for=\"invoice in filteredInvoices\"\n\t\t\t\t\t\t\t:key=\"invoice.id\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t@click=\"toggleInvoiceSelect($event, invoice)\"\n\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\tname=\"select_1\"\n\t\t\t\t\t\t\t\t\t:id=\"invoice.id\"\n\t\t\t\t\t\t\t\t\t:checked=\"isChecked(invoice.id)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td>{{ invoice.id }}</td>\n\t\t\t\t\t\t\t<td>{{ userName(invoice.customerID) }}</td>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\tformatCurrency(totalAmount(invoice.details), invoice.currency)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tsuccess: invoice.status == InvoiceStatus.PAID,\n\t\t\t\t\t\t\t\t\t\t\tdanger:\n\t\t\t\t\t\t\t\t\t\t\t\tinvoice.status == InvoiceStatus.UNPAID ||\n\t\t\t\t\t\t\t\t\t\t\t\tinvoice.status == InvoiceStatus.OVER_PAID,\n\t\t\t\t\t\t\t\t\t\t\twarning: invoice.status == InvoiceStatus.PARTIALLY_PAID,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{{ invoice.status }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td>{{ formatDate(invoice.invoiceDate) }}</td>\n\t\t\t\t\t\t\t<UserInvoiceDetailModal\n\t\t\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\t\t\tinvoice &&\n\t\t\t\t\t\t\t\t\tinvoiceToViewPay &&\n\t\t\t\t\t\t\t\t\tinvoiceToViewPay.id == invoice.id\n\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t:invoice=\"invoice\"\n\t\t\t\t\t\t\t\t:showModal=\"showInvoiceModal\"\n\t\t\t\t\t\t\t\t@updateModalState=\"toggleInvoiceModal\"\n\t\t\t\t\t\t\t\t:user=\"userData(invoice.customerID)\"\n\t\t\t\t\t\t\t\tinvoiceMode=\"view\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t</b-overlay>\n\t\t\t<div\n\t\t\t\tv-if=\"!allInvoices && loading\"\n\t\t\t\tclass=\"d-flex align-items-center justify-content-center gap-3 p-3 font-500\"\n\t\t\t>\n\t\t\t\t<b-spinner></b-spinner> Loading...\n\t\t\t</div>\n\t\t\t<h5\n\t\t\t\tv-else-if=\"allInvoices && filteredInvoices.length == 0 && !loading\"\n\t\t\t\tclass=\"text-center text-muted p-4 pt-0 m-0\"\n\t\t\t>\n\t\t\t\tNo payments found\n\t\t\t</h5>\n\t\t</div>\n\t\t<b-pagination\n\t\t\tv-if=\"filteredInvoices.length > 0\"\n\t\t\talign=\"right\"\n\t\t\tv-model=\"currentPage\"\n\t\t\t:total-rows=\"rows\"\n\t\t\t:per-page=\"perPage\"\n\t\t></b-pagination>\n\t</div>\n</template>\n\n<script>\nimport { PaymentStatus, InvoiceStatus } from \"../../constants/pricing\";\nimport { mapActions, mapState } from \"vuex\";\nimport {\n\ttoShortDateString,\n\ttoCurrencyString,\n} from \"../../helpers/FormatHelpers\";\nimport UserInvoiceDetailModal from \"../../components/Admin/Invoice/UserInvoiceDetailModal.vue\";\nimport DateRangePicker from \"vue2-daterange-picker\";\n//you need to import the CSS manually\nimport \"vue2-daterange-picker/dist/vue2-daterange-picker.css\";\nimport { createPopper } from \"@popperjs/core\";\n\nexport default {\n\tname: \"InvoiceManagement\",\n\tdata() {\n\t\treturn {\n\t\t\tinvoiceStatusFilter: null,\n\t\t\tpaymentMethodFilter: null,\n\t\t\tsearchText: \"\",\n\t\t\tselectedPayments: [],\n\t\t\tperPage: 10,\n\t\t\tcurrentPage: 1,\n\t\t\tproductVariantIDFilter: null,\n\t\t\tpaymentIDFilter: null,\n\t\t\tinvoiceIDFilter: null,\n\t\t\tstudentIDFilter: null,\n\t\t\tstudentNameFilter: null,\n\t\t\tstudentEmailFilter: null,\n\t\t\tstudentPhoneFilter: null,\n\t\t\tpaymentDateFilter: {\n\t\t\t\tstartDate: null,\n\t\t\t\tendDate: null,\n\t\t\t},\n\t\t\tpaymentDueDateFilter: {\n\t\t\t\tstartDate: null,\n\t\t\t\tendDate: null,\n\t\t\t},\n\t\t\tinvoiceToViewPay: null,\n\t\t\tshowInvoiceModal: false,\n\t\t\trows: 0,\n\t\t\tPaymentStatus,\n\t\t\tInvoiceStatus,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"pricing\", [\"allInvoices\", \"loading\"]),\n\t\t...mapState(\"user\", [\"allUsers\"]),\n\t\t...mapState(\"appState\", [\"externalServicesList\"]),\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\t\tfilteredInvoices() {\n\t\t\tvar filtered = this.allInvoices;\n\t\t\treturn filtered;\n\t\t},\n\t\tisSelectedAll() {\n\t\t\tif (this.allInvoices) {\n\t\t\t\treturn this.allInvoices.length == this.selectedPayments.length;\n\t\t\t}\n\t\t},\n\t\toffset() {\n\t\t\treturn (this.currentPage - 1) * this.perPage;\n\t\t},\n\t\tdateRangePresets() {\n\t\t\tlet today = new Date();\n\t\t\ttoday.setHours(0, 0, 0, 0);\n\n\t\t\tlet yesterday = new Date();\n\t\t\tyesterday.setDate(today.getDate() - 1);\n\t\t\tyesterday.setHours(0, 0, 0, 0);\n\t\t\tlet thisMonthStart = new Date(today.getFullYear(), today.getMonth(), 1);\n\t\t\tlet thisMonthEnd = new Date(today.getFullYear(), today.getMonth() + 1, 0);\n\t\t\treturn {\n\t\t\t\tToday: [today, today],\n\t\t\t\tYesterday: [yesterday, yesterday],\n\t\t\t\t\"This month\": [thisMonthStart, thisMonthEnd],\n\t\t\t\t\"Last month\": [\n\t\t\t\t\tnew Date(today.getFullYear(), today.getMonth() - 1, 1),\n\t\t\t\t\tnew Date(today.getFullYear(), today.getMonth(), 0),\n\t\t\t\t],\n\t\t\t\t\"Last 3 months\": [\n\t\t\t\t\tnew Date(today.getFullYear(), today.getMonth() - 3, 1),\n\t\t\t\t\tnew Date(today.getFullYear(), today.getMonth(), 0),\n\t\t\t\t],\n\t\t\t\t\"Last 6 months\": [\n\t\t\t\t\tnew Date(today.getFullYear(), today.getMonth() - 6, 1),\n\t\t\t\t\tnew Date(today.getFullYear(), today.getMonth(), 0),\n\t\t\t\t],\n\t\t\t\t\"This year\": [\n\t\t\t\t\tnew Date(today.getFullYear(), 0, 1),\n\t\t\t\t\tnew Date(today.getFullYear(), 11, 31),\n\t\t\t\t],\n\t\t\t\t\"Last year\": [\n\t\t\t\t\tnew Date(today.getFullYear() - 1, 0, 1),\n\t\t\t\t\tnew Date(today.getFullYear() - 1, 11, 31),\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t\tproductVariantList() {\n\t\t\tvar list = Object.values(this.productVariants.items).map(x=>{  x.name=x.product.title+\" - \"+x.title; return x; });\n\t\t\tlist.sort(function (a, b) {\n\t\t\t\tif (a.name < b.name) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\tif (a.name > b.name) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t});\n\t\t\treturn list;\n\t\t},\n\t},\n\tcomponents: { UserInvoiceDetailModal, DateRangePicker },\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchUsersList\"]),\n\t\t...mapActions(\"appState\", [\"fetchExternalServices\"]),\n\t\t...mapActions(\"pricing\", [\"fetchInvoicesList\"]),\n\t\tformatCurrency(amount, currency) {\n\t\t\treturn toCurrencyString(amount, currency, 0);\n\t\t},\n\t\tsetStatus(status) {\n\t\t\tthis.invoiceStatusFilter = status;\n\t\t},\n\t\tsetPaymentMethod(method) {\n\t\t\tthis.paymentMethodFilter = method;\n\t\t},\n\t\ttoggleSelectAll() {\n\t\t\tif (\n\t\t\t\tthis.allInvoices &&\n\t\t\t\tthis.allInvoices.length > 0 &&\n\t\t\t\tthis.selectedPayments.length != this.allInvoices.length\n\t\t\t) {\n\t\t\t\tthis.selectedPayments = this.allInvoices;\n\t\t\t} else {\n\t\t\t\tthis.selectedPayments = [];\n\t\t\t}\n\t\t},\n\t\ttoggleInvoiceSelect(e, payment) {\n\t\t\te.stopPropagation();\n\t\t\tvar found = this.selectedPayments.find((s) => s.id == payment.id);\n\t\t\tconsole.log(found);\n\t\t\tif (!found) {\n\t\t\t\tthis.selectedPayments.push(payment);\n\t\t\t} else {\n\t\t\t\tthis.selectedPayments = this.selectedPayments.filter(\n\t\t\t\t\t(su) => su.id != payment.id\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tisChecked(id) {\n\t\t\tvar found = this.selectedPayments.find((payment) => payment.id == id);\n\t\t\t// console.log(found);\n\t\t\tif (found) {\n\t\t\t\treturn true;\n\t\t\t} else return false;\n\t\t},\n\t\tuserName(id) {\n\t\t\t// console.log(id);\n\t\t\tif (this.allUsers && this.allUsers.length > 0) {\n\t\t\t\tvar found = this.allUsers.find((user) => user.id == id);\n\t\t\t\tconsole.log(found);\n\t\t\t\tif (found) {\n\t\t\t\t\treturn found.firstName + \" \" + found.lastName;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tuserData(id) {\n\t\t\tif (this.allUsers && this.allUsers.length > 0) {\n\t\t\t\tvar found = this.allUsers.find((user) => user.id == id);\n\t\t\t\tconsole.log(found);\n\t\t\t\tif (found) {\n\t\t\t\t\treturn found;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttotalAmount(details) {\n\t\t\tvar total = 0;\n\t\t\tdetails.forEach((d) => {\n\t\t\t\ttotal += d.amount;\n\t\t\t});\n\t\t\treturn total;\n\t\t},\n\t\tformatDate(date) {\n\t\t\treturn toShortDateString(date);\n\t\t},\n\t\tfilterInvoices(e) {\n\t\t\tif (e) e.preventDefault();\n\t\t\tdebugger;\n\t\t\tthis.fetchInvoicesList({\n\t\t\t\tInvoiceID: this.invoiceIDFilter,\n\t\t\t\t// ID: this.paymentIDFilter,\n\t\t\t\tCustomerName: this.studentNameFilter,\n\t\t\t\tCustomerEmail: this.studentEmailFilter,\n\t\t\t\tCustomerPhone: this.studentPhoneFilter,\n\t\t\t\tStatus: this.invoiceStatusFilter,\n\t\t\t\tCustomerSourceID: this.studentIDFilter,\n\t\t\t\tProductSourceIDs: this.productVariantIDFilter,\n\t\t\t\t// MethodProvider: this.paymentMethodFilter,\n\t\t\t\tStartDate: this.paymentDateFilter.startDate\n\t\t\t\t\t? new Date(this.paymentDateFilter.startDate).toISOString()\n\t\t\t\t\t: null,\n\t\t\t\tEndDate: this.paymentDateFilter.endDate\n\t\t\t\t\t? new Date(this.paymentDateFilter.endDate).toISOString()\n\t\t\t\t\t: null,\n\t\t\t\tStartDueDate: this.paymentDueDateFilter.startDate\n\t\t\t\t\t? new Date(this.paymentDueDateFilter.startDate).toISOString()\n\t\t\t\t\t: null,\n\t\t\t\tEndDueDate: this.paymentDueDateFilter.endDate\n\t\t\t\t\t? new Date(this.paymentDueDateFilter.endDate).toISOString()\n\t\t\t\t\t: null,\n\t\t\t\tpageSize: this.perPage,\n\t\t\t\tcurrentpage: this.currentPage,\n\t\t\t}).then((res) => {\n\t\t\t\tthis.rows = res.totalRecords;\n\t\t\t});\n\t\t},\n\t\ttoggleInvoiceModal(payment = null) {\n\t\t\tif (payment) {\n\t\t\t\tthis.invoiceToViewPay = payment;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.showInvoiceModal = !this.showInvoiceModal;\n\t\t\t\t}, 300);\n\t\t\t} else {\n\t\t\t\tthis.showInvoiceModal = !this.showInvoiceModal;\n\t\t\t}\n\t\t},\n\t\tresetDateFilter(e) {\n\t\t\te.stopPropagation();\n\t\t\tthis.paymentDateFilter = {\n\t\t\t\tstartDate: null,\n\t\t\t\tendDate: null,\n\t\t\t};\n\t\t},\n\t\tresetDueDateFilter(e) {\n\t\t\te.stopPropagation();\n\t\t\tthis.paymentDueDateFilter = {\n\t\t\t\tstartDate: null,\n\t\t\t\tendDate: null,\n\t\t\t};\n\t\t},\n\t\twithPopper(dropdownList, component, { width }) {\n\t\t\t// console.log(dropdownList, component.$refs.toggle, { width });\n\t\t\tdropdownList.style.width = \"fit-content\";\n\t\t\tconst popper = createPopper(component.$refs.toggle, dropdownList);\n\n\t\t\treturn () => popper.destroy();\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.fetchUsersList();\n\t\tthis.fetchExternalServices(\"PaymentGateway\");\n\t\tthis.fetchInvoicesList({\n\t\t\tInvoiceID: this.invoiceIDFilter,\n\t\t\t// ID: this.paymentIDFilter,\n\t\t\tCustomerName: this.studentNameFilter,\n\t\t\tCustomerEmail: this.studentEmailFilter,\n\t\t\tCustomerPhone: this.studentPhoneFilter,\n\t\t\tStatus: this.invoiceStatusFilter,\n\t\t\tCustomerSourceID: this.studentIDFilter,\n\t\t\tProductSourceID: this.productVariantIDFilter,\n\t\t\t// MethodProvider: this.paymentMethodFilter,\n\t\t\tStartDate: this.paymentDateFilter.startDate\n\t\t\t\t? new Date(this.paymentDateFilter.startDate).toISOString()\n\t\t\t\t: null,\n\t\t\tEndDate: this.paymentDateFilter.endDate\n\t\t\t\t? new Date(this.paymentDateFilter.endDate).toISOString()\n\t\t\t\t: null,\n\t\t\tStartDueDate: this.paymentDueDateFilter.startDate\n\t\t\t\t? new Date(this.paymentDueDateFilter.startDate).toISOString()\n\t\t\t\t: null,\n\t\t\tEndDueDate: this.paymentDueDateFilter.endDate\n\t\t\t\t? new Date(this.paymentDueDateFilter.endDate).toISOString()\n\t\t\t\t: null,\n\t\t\tpageSize: this.perPage,\n\t\t\tcurrentpage: this.currentPage,\n\t\t}).then((res) => {\n\t\t\tconsole.log(res);\n\t\t\tthis.rows = res.totalRecords;\n\t\t});\n\t},\n\twatch: {\n\t\tinvoiceStatusFilter: function () {\n\t\t\tthis.currentPage = 1;\n\t\t\tthis.filterInvoices();\n\t\t},\n\t\tpaymentMethodFilter: function () {\n\t\t\tthis.currentPage = 1;\n\t\t\tthis.filterInvoices();\n\t\t},\n\t\tshowInvoiceModal: function () {\n\t\t\tif (this.showInvoiceModal == false) {\n\t\t\t\tthis.filterInvoices();\n\t\t\t}\n\t\t},\n\t\tcurrentPage: function () {\n\t\t\tthis.filterInvoices();\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.page-content-container {\n\tbackground-color: #f5f5f5;\n\theight: calc(100vh - 5rem);\n\tpadding: 1.875rem;\n\toverflow-y: auto;\n}\n\n.title-container {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.page-title {\n\tfont-weight: 500;\n\tfont-size: 1.25rem;\n\tline-height: 1.5rem;\n\tcolor: #000000;\n\tdisplay: inline-block;\n\t/* margin: 0; */\n}\n\n.add-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0.625rem 1rem;\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.875rem;\n\tline-height: 1.125rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\ttext-decoration: none;\n\ttransition: all 0.3s ease;\n}\n\n.add-btn:hover {\n\tbox-shadow: 4px 6px 5px 0px rgb(197 197 197 / 20%);\n}\n\n.add-btn-icon {\n\tmargin-right: 0.625rem;\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.filters-container {\n\tpadding: 1.5rem;\n\tborder-radius: 8px;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n\tbackground-color: #ffffff;\n\tmargin-bottom: 1.5rem;\n\tdisplay: flex;\n\talign-items: flex-end;\n\tcolumn-gap: 1rem;\n}\n.filters-container .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n\n.filter-inputs {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n}\n\n.search-input {\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.5rem 0.75rem;\n\twidth: 100%;\n\ttext-align: left;\n\t/* margin-bottom: 1rem; */\n\t/* font-weight: 500; */\n\tcolor: #000000;\n\tfont-size: 1rem;\n\tcolumn-gap: 0.75rem;\n\tposition: relative;\n\toutline: none;\n\n\t/* transition: transform 0.3s; */\n}\n\n.search-button {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.5rem 2rem;\n\tfilter: drop-shadow(3px 5px 6px rgba(197, 197, 197, 0.3));\n\ttext-decoration: none;\n\tcolor: #000000;\n\tdisplay: flex;\n\tcolumn-gap: 0.5rem;\n\talign-items: center;\n}\n\n.buttons-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: space-between;\n\tcolumn-gap: 1rem;\n}\n\n.buttons-container .searchbar {\n\tflex-grow: 1;\n}\n\n.search-icon {\n\tfont-size: 18px;\n\tposition: absolute;\n\tmargin-right: 1rem;\n\tright: 0;\n\tcolor: #000000;\n}\n\n.filter-payment-type-btn {\n\tbackground: #ffffff;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0.625rem 1rem;\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.875rem;\n\tline-height: 1.125rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\ttext-decoration: none;\n\tborder: 1px solid transparent;\n\ttransition: all 0.3s ease;\n}\n\n.filter-payment-type-btn.active {\n\tborder: 1px solid var(--primary-color);\n}\n\n.table-container {\n\tbackground-color: #ffffff;\n\tborder-radius: 8px;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n}\n\n.payments-table thead,\n.payments-table td {\n\theight: 4rem;\n\tvertical-align: middle;\n}\n\n.payments-table td:first-of-type {\n\tpadding-left: 0;\n}\n\n.payments-table input[type=\"checkbox\"] {\n\tmargin-left: 1.5rem;\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n\n.filter-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.5rem 2rem;\n\ttext-decoration: none;\n\tcolor: #000000;\n\tdisplay: flex;\n\t-moz-column-gap: 0.5rem;\n\tcolumn-gap: 0.5rem;\n\talign-items: center;\n\ttransition: all 0.3s ease;\n}\n\n.filter-btn:hover {\n\tbox-shadow: (3px 5px 6px rgba(197, 197, 197, 0.3));\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InvoiceManagement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InvoiceManagement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InvoiceManagement.vue?vue&type=template&id=093567ec&scoped=true&\"\nimport script from \"./InvoiceManagement.vue?vue&type=script&lang=js&\"\nexport * from \"./InvoiceManagement.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InvoiceManagement.vue?vue&type=style&index=0&id=093567ec&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"093567ec\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-content-container\"},[_vm._m(0),_c('div',{staticClass:\"filters-container\"},[_c('div',{staticClass:\"buttons-container\"},[_c('div',{staticClass:\"searchbar position-relative d-flex align-items-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.paymentIDFilter),expression:\"paymentIDFilter\"}],staticClass:\"search-input\",attrs:{\"autocomplete\":\"off\",\"type\":\"search\",\"name\":\"paymentIDFilter\",\"id\":\"paymentIDFilter\",\"placeholder\":\"Search by Payment ID\"},domProps:{\"value\":(_vm.paymentIDFilter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.paymentIDFilter=$event.target.value}}})]),_c('div',{staticClass:\"searchbar position-relative d-flex align-items-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.invoiceIDFilter),expression:\"invoiceIDFilter\"}],staticClass:\"search-input\",attrs:{\"autocomplete\":\"off\",\"type\":\"search\",\"name\":\"invoiceIDFilter\",\"id\":\"invoiceIDFilter\",\"placeholder\":\"Search by Invoice ID\"},domProps:{\"value\":(_vm.invoiceIDFilter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.invoiceIDFilter=$event.target.value}}})]),_c('div',{staticClass:\"searchbar position-relative d-flex align-items-center\"},[_c('date-range-picker',{ref:\"picker\",staticClass:\"search-input\",attrs:{\"locale-data\":{ firstDay: 1, format: 'dd-mm-yyyy' },\"showWeekNumbers\":true,\"showDropdowns\":true,\"autoApply\":true,\"control-container-class\":\"d-flex align-items-center gap-3\",\"opens\":\"left\",\"ranges\":_vm.dateRangePresets,\"maxDate\":new Date()},scopedSlots:_vm._u([{key:\"input\",fn:function(picker){return [_c('i',{staticClass:\"fal fa-calendar-alt text-muted\"}),(picker.startDate || picker.endDate)?_c('span',{staticClass:\"text-sm\"},[_vm._v(\" \"+_vm._s(_vm.formatDate(picker.startDate))+\" - \"+_vm._s(_vm.formatDate(picker.endDate))+\" \")]):_c('span',{staticClass:\"text-muted text-sm\"},[_vm._v(\" Search by Payment Date \")]),(picker.startDate || picker.endDate)?_c('i',{staticClass:\"fa fa-times ms-auto text-muted cursor-pointer\",on:{\"click\":_vm.resetDateFilter}}):_c('i',{staticClass:\"fa fa-caret-down ms-auto text-muted\"})]}}]),model:{value:(_vm.paymentDateFilter),callback:function ($$v) {_vm.paymentDateFilter=$$v},expression:\"paymentDateFilter\"}})],1),_c('button',{staticClass:\"filter-btn\",attrs:{\"disabled\":_vm.loading},on:{\"click\":_vm.filterPayments}},[_c('i',{staticClass:\"fa fa-search\"}),_vm._v(\" Search \")])])]),_c('div',{staticClass:\"d-flex gap-5\"},[_c('div',[_c('p',{staticClass:\"mb-2\"},[_vm._v(\"Payment Status\")]),_c('div',{staticClass:\"d-flex mb-4 gap-3\"},[_c('button',{class:[\n\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t{ active: _vm.paymentStatusFilter == null } ],on:{\"click\":function($event){return _vm.setStatus(null)}}},[_vm._v(\" All \")]),_c('button',{class:[\n\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t{ active: _vm.paymentStatusFilter == _vm.PaymentStatus.PENDING } ],on:{\"click\":function($event){return _vm.setStatus(_vm.PaymentStatus.PENDING)}}},[_vm._v(\" Pending \")]),_c('button',{class:[\n\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t{ active: _vm.paymentStatusFilter == _vm.PaymentStatus.COMPLETED } ],on:{\"click\":function($event){return _vm.setStatus(_vm.PaymentStatus.COMPLETED)}}},[_vm._v(\" Completed \")])])]),_c('div',[_c('p',{staticClass:\"mb-2\"},[_vm._v(\"Payment Method\")]),_c('div',{staticClass:\"d-flex mb-4 gap-3\"},[_c('button',{class:[\n\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t{ active: _vm.paymentMethodFilter == null } ],on:{\"click\":function($event){return _vm.setPaymentMethod(null)}}},[_vm._v(\" All \")]),_vm._l((_vm.externalServicesList['PaymentGateway']),function(method){return _c('button',{key:method.serviceCode,class:[\n\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t{ active: _vm.paymentMethodFilter == method.serviceProvider } ],on:{\"click\":function($event){return _vm.setPaymentMethod(method.serviceProvider)}}},[_vm._v(\" \"+_vm._s(method.serviceName)+\" \")])})],2)])]),_c('div',{staticClass:\"table-container\"},[_c('b-overlay',{attrs:{\"show\":_vm.loading,\"rounded\":\"sm\"}},[_c('table',{staticClass:\"table table-hover table-borderless payments-table\"},[_c('thead',[_c('th',[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_all\",\"id\":\"select_all\"},domProps:{\"checked\":_vm.isSelectedAll},on:{\"click\":function($event){return _vm.toggleSelectAll()}}})]),_c('th',[_vm._v(\"Payment ID\")]),_c('th',[_vm._v(\"Student Name\")]),_c('th',[_vm._v(\"Amount\")]),_c('th',[_vm._v(\"Payment Method\")]),_c('th',[_vm._v(\"Payment Status\")]),_c('th',[_vm._v(\"Payment Date\")])]),(_vm.allPayments && _vm.allPayments.length > 0)?_c('tbody',_vm._l((_vm.filteredPayments),function(payment){return _c('tr',{key:payment.id,staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.togglePaymentModal(payment)}}},[_c('td',[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":\"select_1\",\"id\":payment.id},domProps:{\"checked\":_vm.isChecked(payment.id)},on:{\"click\":function($event){return _vm.togglePaymentSelect($event, payment)}}})]),_c('td',[_vm._v(_vm._s(payment.id))]),_c('td',[_vm._v(_vm._s(_vm.userName(payment.customerID)))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.totalAmount(payment.details))+\" \")]),_c('td',[_vm._v(_vm._s(payment.method))]),_c('td',[_vm._v(_vm._s(payment.status))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.formatCurrency( _vm.formatDate(payment.paymentDate), payment.currency ))+\" \")]),(\n\t\t\t\t\t\t\t\tpayment &&\n\t\t\t\t\t\t\t\t_vm.paymentToViewPay &&\n\t\t\t\t\t\t\t\t_vm.paymentToViewPay.id == payment.id\n\t\t\t\t\t\t\t)?_c('UserPaymentDetailModal',{attrs:{\"payment\":payment,\"showModal\":_vm.showPaymentModal,\"user\":_vm.userData(payment.customerID)},on:{\"updateModalState\":_vm.togglePaymentModal}}):_vm._e()],1)}),0):_vm._e()])]),(!_vm.allPayments && _vm.loading)?_c('div',{staticClass:\"d-flex align-items-center justify-content-center gap-3 p-3 font-500\"},[_c('b-spinner'),_vm._v(\" Loading... \")],1):(_vm.allPayments && _vm.filteredPayments.length == 0 && !_vm.loading)?_c('h5',{staticClass:\"text-center text-muted p-4 pt-0 m-0\"},[_vm._v(\" No payments found \")]):_vm._e()],1),(_vm.filteredPayments.length > 0)?_c('b-pagination',{attrs:{\"align\":\"right\",\"total-rows\":_vm.rows,\"per-page\":_vm.perPage},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"title-container mb-4\"},[_c('h1',{staticClass:\"page-title\"},[_vm._v(\"Payments\")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"page-content-container\">\n\t\t<div class=\"title-container mb-4\">\n\t\t\t<h1 class=\"page-title\">Payments</h1>\n\t\t</div>\n\t\t<div class=\"filters-container\">\n\t\t\t<div class=\"buttons-container\">\n\t\t\t\t<div class=\"searchbar position-relative d-flex align-items-center\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tname=\"paymentIDFilter\"\n\t\t\t\t\t\tid=\"paymentIDFilter\"\n\t\t\t\t\t\tplaceholder=\"Search by Payment ID\"\n\t\t\t\t\t\tv-model=\"paymentIDFilter\"\n\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"searchbar position-relative d-flex align-items-center\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tname=\"invoiceIDFilter\"\n\t\t\t\t\t\tid=\"invoiceIDFilter\"\n\t\t\t\t\t\tplaceholder=\"Search by Invoice ID\"\n\t\t\t\t\t\tv-model=\"invoiceIDFilter\"\n\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"searchbar position-relative d-flex align-items-center\">\n\t\t\t\t\t<date-range-picker\n\t\t\t\t\t\tref=\"picker\"\n\t\t\t\t\t\t:locale-data=\"{ firstDay: 1, format: 'dd-mm-yyyy' }\"\n\t\t\t\t\t\t:showWeekNumbers=\"true\"\n\t\t\t\t\t\t:showDropdowns=\"true\"\n\t\t\t\t\t\t:autoApply=\"true\"\n\t\t\t\t\t\tv-model=\"paymentDateFilter\"\n\t\t\t\t\t\tclass=\"search-input\"\n\t\t\t\t\t\tcontrol-container-class=\"d-flex align-items-center gap-3\"\n\t\t\t\t\t\topens=\"left\"\n\t\t\t\t\t\t:ranges=\"dateRangePresets\"\n\t\t\t\t\t\t:maxDate=\"new Date()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template v-slot:input=\"picker\" style=\"min-width: 350px\">\n\t\t\t\t\t\t\t<i class=\"fal fa-calendar-alt text-muted\"></i>\n\t\t\t\t\t\t\t<span class=\"text-sm\" v-if=\"picker.startDate || picker.endDate\">\n\t\t\t\t\t\t\t\t{{ formatDate(picker.startDate) }} -\n\t\t\t\t\t\t\t\t{{ formatDate(picker.endDate) }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span class=\"text-muted text-sm\" v-else>\n\t\t\t\t\t\t\t\tSearch by Payment Date\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t@click=\"resetDateFilter\"\n\t\t\t\t\t\t\t\tclass=\"fa fa-times ms-auto text-muted cursor-pointer\"\n\t\t\t\t\t\t\t\tv-if=\"picker.startDate || picker.endDate\"\n\t\t\t\t\t\t\t></i>\n\t\t\t\t\t\t\t<i v-else class=\"fa fa-caret-down ms-auto text-muted\"></i>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</date-range-picker>\n\t\t\t\t</div>\n\t\t\t\t<button @click=\"filterPayments\" :disabled=\"loading\" class=\"filter-btn\">\n\t\t\t\t\t<i class=\"fa fa-search\"></i>\n\t\t\t\t\tSearch\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"d-flex gap-5\">\n\t\t\t<div>\n\t\t\t\t<p class=\"mb-2\">Payment Status</p>\n\t\t\t\t<div class=\"d-flex mb-4 gap-3\">\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"setStatus(null)\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t\t{ active: paymentStatusFilter == null },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tAll\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"setStatus(PaymentStatus.PENDING)\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t\t{ active: paymentStatusFilter == PaymentStatus.PENDING },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tPending\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"setStatus(PaymentStatus.COMPLETED)\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t\t{ active: paymentStatusFilter == PaymentStatus.COMPLETED },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tCompleted\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<p class=\"mb-2\">Payment Method</p>\n\t\t\t\t<div class=\"d-flex mb-4 gap-3\">\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"setPaymentMethod(null)\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t\t{ active: paymentMethodFilter == null },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\tAll\n\t\t\t\t\t</button>\n\n\t\t\t\t\t<button\n\t\t\t\t\t\tv-for=\"method in externalServicesList['PaymentGateway']\"\n\t\t\t\t\t\t:key=\"method.serviceCode\"\n\t\t\t\t\t\t@click=\"setPaymentMethod(method.serviceProvider)\"\n\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t'filter-payment-type-btn',\n\t\t\t\t\t\t\t{ active: paymentMethodFilter == method.serviceProvider },\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ method.serviceName }}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"table-container\">\n\t\t\t<b-overlay :show=\"loading\" rounded=\"sm\">\n\t\t\t\t<table class=\"table table-hover table-borderless payments-table\">\n\t\t\t\t\t<thead>\n\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tname=\"select_all\"\n\t\t\t\t\t\t\t\tid=\"select_all\"\n\t\t\t\t\t\t\t\t@click=\"toggleSelectAll()\"\n\t\t\t\t\t\t\t\t:checked=\"isSelectedAll\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th>Payment ID</th>\n\t\t\t\t\t\t<th>Student Name</th>\n\t\t\t\t\t\t<th>Amount</th>\n\t\t\t\t\t\t<th>Payment Method</th>\n\t\t\t\t\t\t<th>Payment Status</th>\n\t\t\t\t\t\t<th>Payment Date</th>\n\t\t\t\t\t</thead>\n\t\t\t\t\t<tbody v-if=\"allPayments && allPayments.length > 0\">\n\t\t\t\t\t\t<tr\n\t\t\t\t\t\t\tclass=\"cursor-pointer\"\n\t\t\t\t\t\t\t@click=\"togglePaymentModal(payment)\"\n\t\t\t\t\t\t\tv-for=\"payment in filteredPayments\"\n\t\t\t\t\t\t\t:key=\"payment.id\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t@click=\"togglePaymentSelect($event, payment)\"\n\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\tname=\"select_1\"\n\t\t\t\t\t\t\t\t\t:id=\"payment.id\"\n\t\t\t\t\t\t\t\t\t:checked=\"isChecked(payment.id)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td>{{ payment.id }}</td>\n\t\t\t\t\t\t\t<td>{{ userName(payment.customerID) }}</td>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t{{ totalAmount(payment.details) }}\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td>{{ payment.method }}</td>\n\t\t\t\t\t\t\t<td>{{ payment.status }}</td>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\tformatCurrency(\n\t\t\t\t\t\t\t\t\t\tformatDate(payment.paymentDate),\n\t\t\t\t\t\t\t\t\t\tpayment.currency\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<UserPaymentDetailModal\n\t\t\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\t\t\tpayment &&\n\t\t\t\t\t\t\t\t\tpaymentToViewPay &&\n\t\t\t\t\t\t\t\t\tpaymentToViewPay.id == payment.id\n\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t:payment=\"payment\"\n\t\t\t\t\t\t\t\t:showModal=\"showPaymentModal\"\n\t\t\t\t\t\t\t\t@updateModalState=\"togglePaymentModal\"\n\t\t\t\t\t\t\t\t:user=\"userData(payment.customerID)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t</b-overlay>\n\t\t\t<div\n\t\t\t\tv-if=\"!allPayments && loading\"\n\t\t\t\tclass=\"d-flex align-items-center justify-content-center gap-3 p-3 font-500\"\n\t\t\t>\n\t\t\t\t<b-spinner></b-spinner> Loading...\n\t\t\t</div>\n\t\t\t<h5\n\t\t\t\tv-else-if=\"allPayments && filteredPayments.length == 0 && !loading\"\n\t\t\t\tclass=\"text-center text-muted p-4 pt-0 m-0\"\n\t\t\t>\n\t\t\t\tNo payments found\n\t\t\t</h5>\n\t\t</div>\n\t\t<b-pagination\n\t\t\tv-if=\"filteredPayments.length > 0\"\n\t\t\talign=\"right\"\n\t\t\tv-model=\"currentPage\"\n\t\t\t:total-rows=\"rows\"\n\t\t\t:per-page=\"perPage\"\n\t\t></b-pagination>\n\t</div>\n</template>\n\n<script>\nimport { PaymentStatus } from \"../../constants/pricing\";\nimport { mapActions, mapState } from \"vuex\";\nimport {\n\ttoShortDateString,\n\ttoCurrencyString,\n} from \"../../helpers/FormatHelpers\";\nimport UserPaymentDetailModal from \"../../components/Admin/Payment/UserPaymentDetailModal.vue\";\nimport DateRangePicker from \"vue2-daterange-picker\";\n//you need to import the CSS manually\nimport \"vue2-daterange-picker/dist/vue2-daterange-picker.css\";\n\nexport default {\n\tname: \"PaymentManagement\",\n\tdata() {\n\t\treturn {\n\t\t\tpaymentStatusFilter: null,\n\t\t\tpaymentMethodFilter: null,\n\t\t\tsearchText: \"\",\n\t\t\tselectedPayments: [],\n\t\t\tPaymentStatus,\n\t\t\tperPage: 10,\n\t\t\tcurrentPage: 1,\n\t\t\tpaymentIDFilter: null,\n\t\t\tinvoiceIDFilter: null,\n\t\t\tstudentIDFilter: null,\n\t\t\tpaymentDateFilter: {\n\t\t\t\tstartDate: null,\n\t\t\t\tendDate: null,\n\t\t\t},\n\t\t\tpaymentToViewPay: null,\n\t\t\tshowPaymentModal: false,\n\t\t\trows: 0,\n\t\t\ttotalPages: 0,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"pricing\", [\"allPayments\", \"loading\"]),\n\t\t...mapState(\"user\", [\"allUsers\"]),\n\t\t...mapState(\"appState\", [\"externalServicesList\"]),\n\t\tfilteredPayments() {\n\t\t\tvar filtered = this.allPayments;\n\t\t\treturn filtered;\n\t\t},\n\t\tisSelectedAll() {\n\t\t\tif (this.allPayments) {\n\t\t\t\treturn this.allPayments.length == this.selectedPayments.length;\n\t\t\t}\n\t\t},\n\t\toffset() {\n\t\t\treturn (this.currentPage - 1) * this.perPage;\n\t\t},\n\t\tdateRangePresets() {\n\t\t\tlet today = new Date();\n\t\t\ttoday.setHours(0, 0, 0, 0);\n\n\t\t\tlet yesterday = new Date();\n\t\t\tyesterday.setDate(today.getDate() - 1);\n\t\t\tyesterday.setHours(0, 0, 0, 0);\n\t\t\tlet thisMonthStart = new Date(today.getFullYear(), today.getMonth(), 1);\n\t\t\tlet thisMonthEnd = new Date(today.getFullYear(), today.getMonth() + 1, 0);\n\t\t\treturn {\n\t\t\t\tToday: [today, today],\n\t\t\t\tYesterday: [yesterday, yesterday],\n\t\t\t\t\"This month\": [thisMonthStart, thisMonthEnd],\n\t\t\t\t\"Last month\": [\n\t\t\t\t\tnew Date(today.getFullYear(), today.getMonth() - 1, 1),\n\t\t\t\t\tnew Date(today.getFullYear(), today.getMonth(), 0),\n\t\t\t\t],\n\t\t\t\t\"Last 3 months\": [\n\t\t\t\t\tnew Date(today.getFullYear(), today.getMonth() - 3, 1),\n\t\t\t\t\tnew Date(today.getFullYear(), today.getMonth(), 0),\n\t\t\t\t],\n\t\t\t\t\"Last 6 months\": [\n\t\t\t\t\tnew Date(today.getFullYear(), today.getMonth() - 6, 1),\n\t\t\t\t\tnew Date(today.getFullYear(), today.getMonth(), 0),\n\t\t\t\t],\n\t\t\t\t\"This year\": [\n\t\t\t\t\tnew Date(today.getFullYear(), 0, 1),\n\t\t\t\t\tnew Date(today.getFullYear(), 11, 31),\n\t\t\t\t],\n\t\t\t\t\"Last year\": [\n\t\t\t\t\tnew Date(today.getFullYear() - 1, 0, 1),\n\t\t\t\t\tnew Date(today.getFullYear() - 1, 11, 31),\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t},\n\tcomponents: { UserPaymentDetailModal, DateRangePicker },\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchUsersList\"]),\n\t\t...mapActions(\"appState\", [\"fetchExternalServices\"]),\n\t\t...mapActions(\"pricing\", [\"fetchPaymentsList\"]),\n\t\tsetStatus(status) {\n\t\t\tthis.paymentStatusFilter = status;\n\t\t},\n\t\tsetPaymentMethod(method) {\n\t\t\tthis.paymentMethodFilter = method;\n\t\t},\n\t\ttoggleSelectAll() {\n\t\t\tif (\n\t\t\t\tthis.allPayments &&\n\t\t\t\tthis.allPayments.length > 0 &&\n\t\t\t\tthis.selectedPayments.length != this.allPayments.length\n\t\t\t) {\n\t\t\t\tthis.selectedPayments = this.allPayments;\n\t\t\t} else {\n\t\t\t\tthis.selectedPayments = [];\n\t\t\t}\n\t\t},\n\t\ttogglePaymentSelect(e, payment) {\n\t\t\te.stopPropagation();\n\t\t\tvar found = this.selectedPayments.find((s) => s.id == payment.id);\n\t\t\tconsole.log(found);\n\t\t\tif (!found) {\n\t\t\t\tthis.selectedPayments.push(payment);\n\t\t\t} else {\n\t\t\t\tthis.selectedPayments = this.selectedPayments.filter(\n\t\t\t\t\t(su) => su.id != payment.id\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t// rows() {\n\t\t// \tif (this.allPayments) {\n\t\t// \t\treturn this.filteredPayments.length;\n\t\t// \t} else return 0;\n\t\t// },\n\t\tisChecked(id) {\n\t\t\tvar found = this.selectedPayments.find((payment) => payment.id == id);\n\t\t\t// console.log(found);\n\t\t\tif (found) {\n\t\t\t\treturn true;\n\t\t\t} else return false;\n\t\t},\n\t\tuserName(id) {\n\t\t\t// console.log(id);\n\t\t\tif (this.allUsers && this.allUsers.length > 0) {\n\t\t\t\tvar found = this.allUsers.find((user) => user.id == id);\n\t\t\t\tconsole.log(found);\n\t\t\t\tif (found) {\n\t\t\t\t\treturn found.firstName + \" \" + found.lastName;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tuserData(id) {\n\t\t\tif (this.allUsers && this.allUsers.length > 0) {\n\t\t\t\tvar found = this.allUsers.find((user) => user.id == id);\n\t\t\t\tconsole.log(found);\n\t\t\t\tif (found) {\n\t\t\t\t\treturn found;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttotalAmount(details) {\n\t\t\tvar total = 0;\n\t\t\tdetails.forEach((d) => {\n\t\t\t\ttotal += d.amount;\n\t\t\t});\n\t\t\treturn total;\n\t\t},\n\t\tformatDate(date) {\n\t\t\treturn toShortDateString(date);\n\t\t},\n\t\tfilterPayments() {\n\t\t\tthis.fetchPaymentsList({\n\t\t\t\tinvoiceID: this.invoiceIDFilter,\n\t\t\t\tID: this.paymentIDFilter,\n\t\t\t\tStatus: this.paymentStatusFilter,\n\t\t\t\tMethodProvider: this.paymentMethodFilter,\n\t\t\t\tStartFrom: this.paymentDateFilter.startDate\n\t\t\t\t\t? new Date(this.paymentDateFilter.startDate).toISOString()\n\t\t\t\t\t: null,\n\t\t\t\tEndAt: this.paymentDateFilter.endDate\n\t\t\t\t\t? new Date(this.paymentDateFilter.endDate).toISOString()\n\t\t\t\t\t: null,\n\t\t\t\tpageSize: this.perPage,\n\t\t\t\tcurrentpage: this.currentPage,\n\t\t\t}).then((res) => {\n\t\t\t\tthis.rows = res.totalRecords;\n\t\t\t});\n\t\t},\n\t\ttogglePaymentModal(payment = null) {\n\t\t\tif (payment) {\n\t\t\t\tthis.paymentToViewPay = payment;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.showPaymentModal = !this.showPaymentModal;\n\t\t\t\t}, 300);\n\t\t\t} else {\n\t\t\t\tthis.showPaymentModal = !this.showPaymentModal;\n\t\t\t}\n\t\t},\n\t\tresetDateFilter(e) {\n\t\t\te.stopPropagation();\n\t\t\tthis.paymentDateFilter = {\n\t\t\t\tstartDate: null,\n\t\t\t\tendDate: null,\n\t\t\t};\n\t\t},\n\t\tformatCurrency(amount, currency) {\n\t\t\treturn toCurrencyString(amount, currency, 0);\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.fetchUsersList();\n\t\tthis.fetchExternalServices(\"PaymentGateway\");\n\t\tthis.fetchPaymentsList({\n\t\t\tinvoiceID: this.invoiceIDFilter,\n\t\t\tID: this.paymentIDFilter,\n\t\t\tStatus: this.paymentStatusFilter,\n\t\t\tMethodProvider: this.paymentMethodFilter,\n\t\t\tStartFrom: this.paymentDateFilter.startDate\n\t\t\t\t? new Date(this.paymentDateFilter.startDate).toISOString()\n\t\t\t\t: null,\n\t\t\tEndAt: this.paymentDateFilter.endDate\n\t\t\t\t? new Date(this.paymentDateFilter.endDate).toISOString()\n\t\t\t\t: null,\n\t\t\tpageSize: this.perPage,\n\t\t\tcurrentpage: this.currentPage,\n\t\t}).then((res) => {\n\t\t\tthis.rows = res.totalRecords;\n\t\t});\n\t},\n\twatch: {\n\t\tpaymentStatusFilter: function () {\n\t\t\tthis.filterPayments();\n\t\t},\n\t\tpaymentMethodFilter: function () {\n\t\t\tthis.filterPayments();\n\t\t},\n\t\tshowPaymentModal: function () {\n\t\t\tif (this.showPaymentModal == false) {\n\t\t\t\tthis.filterPayments();\n\t\t\t}\n\t\t},\n\t\tcurrentPage: function () {\n\t\t\tthis.filterPayments();\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n.page-content-container {\n\tbackground-color: #f5f5f5;\n\theight: calc(100vh - 5rem);\n\tpadding: 1.875rem;\n\toverflow-y: auto;\n}\n\n.title-container {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.page-title {\n\tfont-weight: 500;\n\tfont-size: 1.25rem;\n\tline-height: 1.5rem;\n\tcolor: #000000;\n\tdisplay: inline-block;\n\t/* margin: 0; */\n}\n\n.add-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0.625rem 1rem;\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.875rem;\n\tline-height: 1.125rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\ttext-decoration: none;\n\ttransition: all 0.3s ease;\n}\n\n.add-btn:hover {\n\tbox-shadow: 4px 6px 5px 0px rgb(197 197 197 / 20%);\n}\n\n.add-btn-icon {\n\tmargin-right: 0.625rem;\n\twidth: 1rem;\n\theight: 1rem;\n}\n\n.filters-container {\n\tpadding: 1.5rem;\n\tborder-radius: 8px;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n\tbackground-color: #ffffff;\n\tmargin-bottom: 1.5rem;\n}\n.filters-container .main-label {\n\tfont-weight: 500;\n\tfont-size: 1rem;\n\tline-height: 1.37;\n\ttext-transform: uppercase;\n\tcolor: #727272;\n\tmargin-bottom: 1rem;\n}\n\n.filter-inputs {\n\tdisplay: flex;\n\tflex-direction: row;\n\tcolumn-gap: 1rem;\n}\n\n.search-input {\n\tbackground: #ffffff;\n\tborder: 1px solid #dcdcdc;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.5rem 0.75rem;\n\twidth: 100%;\n\ttext-align: left;\n\t/* margin-bottom: 1rem; */\n\t/* font-weight: 500; */\n\tcolor: #000000;\n\tfont-size: 1rem;\n\tcolumn-gap: 0.75rem;\n\tposition: relative;\n\toutline: none;\n\n\t/* transition: transform 0.3s; */\n}\n\n.search-button {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.5rem 2rem;\n\tfilter: drop-shadow(3px 5px 6px rgba(197, 197, 197, 0.3));\n\ttext-decoration: none;\n\tcolor: #000000;\n\tdisplay: flex;\n\tcolumn-gap: 0.5rem;\n\talign-items: center;\n}\n\n.buttons-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: space-between;\n\tcolumn-gap: 1rem;\n}\n\n.buttons-container .searchbar {\n\tflex-grow: 1;\n}\n\n.search-icon {\n\tfont-size: 18px;\n\tposition: absolute;\n\tmargin-right: 1rem;\n\tright: 0;\n\tcolor: #000000;\n}\n\n.filter-payment-type-btn {\n\tbackground: #ffffff;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0.625rem 1rem;\n\ttext-transform: uppercase;\n\tfont-weight: 500;\n\tfont-size: 0.875rem;\n\tline-height: 1.125rem;\n\tletter-spacing: 0.05em;\n\tcolor: #000000;\n\ttext-decoration: none;\n\tborder: 1px solid transparent;\n\ttransition: all 0.3s ease;\n}\n\n.filter-payment-type-btn.active {\n\tborder: 1px solid var(--primary-color);\n}\n\n.table-container {\n\tbackground-color: #ffffff;\n\tborder-radius: 8px;\n\tbox-shadow: 0 3px 6px #d5d5d529;\n}\n\n.payments-table thead,\n.payments-table td {\n\theight: 4rem;\n\tvertical-align: middle;\n}\n\n.payments-table td:first-of-type {\n\tpadding-left: 0;\n}\n\n.payments-table input[type=\"checkbox\"] {\n\tmargin-left: 1.5rem;\n\tbackground: #ffffff;\n\tborder: 1px solid #b2b2b2;\n\tbox-sizing: border-box;\n\tbox-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n\tborder-radius: 3px;\n\twidth: 1.25rem;\n\theight: 1.25rem;\n}\n\n.filter-btn {\n\tbackground: #ffffff;\n\tborder: 1px solid var(--primary-color);\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tpadding: 0.5rem 2rem;\n\ttext-decoration: none;\n\tcolor: #000000;\n\tdisplay: flex;\n\t-moz-column-gap: 0.5rem;\n\tcolumn-gap: 0.5rem;\n\talign-items: center;\n\ttransition: all 0.3s ease;\n}\n\n.filter-btn:hover {\n\tbox-shadow: (3px 5px 6px rgba(197, 197, 197, 0.3));\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PaymentManagement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PaymentManagement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PaymentManagement.vue?vue&type=template&id=12a3eb3d&scoped=true&\"\nimport script from \"./PaymentManagement.vue?vue&type=script&lang=js&\"\nexport * from \"./PaymentManagement.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PaymentManagement.vue?vue&type=style&index=0&id=12a3eb3d&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"12a3eb3d\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-content-container\"},[_vm._m(0),_c('div',{staticClass:\"preferences-card\"},[_c('div',{staticClass:\"heading-section preferences-card-header\"},[_vm._m(1),_c('div',[_c('span',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.collapse-user-interface\",modifiers:{\"collapse-user-interface\":true}}],staticClass:\"icon-size-style m-1\",on:{\"click\":function($event){return _vm.showUserInterfaceDivIcon()}}},[(_vm.showUserInterfaceIconDown)?_c('i',{staticClass:\"fa fa-solid fa-angle-down\"}):_c('i',{staticClass:\"fa fa-solid fa-angle-up\"})])])]),_c('b-collapse',{attrs:{\"visible\":\"\",\"id\":\"collapse-user-interface\"}},[_c('div',{staticClass:\"content-section content-section-ui\"},[_c('LogoFaviconSettings'),_c('BannerSettings'),_c('hr',{staticClass:\"w-50 my-4\"}),_c('ColorThemeSettings')],1)])],1),_c('div',{staticClass:\"preferences-card\"},[_c('div',{staticClass:\"heading-section preferences-card-header\"},[_vm._m(2),_c('div',[_c('span',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.collapse-company-info-settings\",modifiers:{\"collapse-company-info-settings\":true}}],staticClass:\"icon-size-style m-1\",on:{\"click\":function($event){return _vm.showCompanyInfoIcon()}}},[(_vm.showcompanyInfoIconDown)?_c('i',{staticClass:\"fa fa-solid fa-angle-down\"}):_c('i',{staticClass:\"fa fa-solid fa-angle-up\"})])])]),_c('b-collapse',{attrs:{\"visible\":\"\",\"id\":\"collapse-company-info-settings\"}},[_c('div',{staticClass:\"content-section\"},[_c('CompanyInfoSettings')],1)])],1),_c('div',{staticClass:\"preferences-card\"},[_c('div',{staticClass:\"heading-section preferences-card-header\"},[_vm._m(3),_c('div',[_c('span',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.collapse-company-social-links\",modifiers:{\"collapse-company-social-links\":true}}],staticClass:\"icon-size-style m-1\",on:{\"click\":function($event){return _vm.showSocialLinksIcon()}}},[(_vm.showSocialLinksIconDown)?_c('i',{staticClass:\"fa fa-solid fa-angle-down\"}):_c('i',{staticClass:\"fa fa-solid fa-angle-up\"})])])]),_c('b-collapse',{attrs:{\"visible\":\"\",\"id\":\"collapse-company-social-links\"}},[_c('div',{staticClass:\"content-section\"},[_c('SocialLinksSettings')],1)])],1),_c('div',{staticClass:\"preferences-card\"},[_vm._m(4),_c('div',{staticClass:\"content-section content-section-ui\"},[_c('ZoomServiceAccountsIntegration')],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"title-container mb-4\"},[_c('h1',{staticClass:\"page-title\"},[_vm._v(\"System Preferences\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',{staticClass:\"preferences-heading\"},[_c('i',{staticClass:\"fas fa-palette sys-icon\"}),_vm._v(\" User Interface \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',{staticClass:\"preferences-heading\"},[_c('i',{staticClass:\"fas fa-edit sys-icon\"}),_vm._v(\" Company Information \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',{staticClass:\"preferences-heading\"},[_c('i',{staticClass:\"fas fa-share-alt-square sys-icon\"}),_vm._v(\" Social Links \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"heading-section\"},[_c('h1',{staticClass:\"preferences-heading\"},[_c('i',{staticClass:\"fas fa-cloud sys-icon\"}),_vm._v(\" Integrations \")])])}]\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"page-content-container\">\n    <div class=\"title-container mb-4\">\n      <h1 class=\"page-title\">System Preferences</h1>\n    </div>\n\n    <div class=\"preferences-card\">\n      <div class=\"heading-section preferences-card-header\">\n        <div>\n          <h1 class=\"preferences-heading\">\n            <i class=\"fas fa-palette sys-icon\"></i> User Interface\n          </h1>\n        </div>\n        <div>\n          <span\n            @click=\"showUserInterfaceDivIcon()\"\n            v-b-toggle.collapse-user-interface\n            class=\"icon-size-style m-1\"\n          >\n            <i\n              class=\"fa fa-solid fa-angle-down\"\n              v-if=\"showUserInterfaceIconDown\"\n            ></i>\n            <i class=\"fa fa-solid fa-angle-up\" v-else></i>\n          </span>\n        </div>\n      </div>\n      <b-collapse visible id=\"collapse-user-interface\">\n        <!-- <b-card>I should start open!</b-card> -->\n        <div class=\"content-section content-section-ui\">\n          <LogoFaviconSettings />\n          <BannerSettings />\n          <hr class=\"w-50 my-4\" />\n          <ColorThemeSettings />\n        </div>\n      </b-collapse>\n    </div>\n    <div class=\"preferences-card\">\n      <div class=\"heading-section preferences-card-header\">\n        <div>\n          <h1 class=\"preferences-heading\">\n            <i class=\"fas fa-edit sys-icon\"></i> Company Information\n          </h1>\n        </div>\n        <div>\n          <span\n            v-b-toggle.collapse-company-info-settings\n            class=\"icon-size-style m-1\"\n            @click=\"showCompanyInfoIcon()\"\n          >\n            <i\n              class=\"fa fa-solid fa-angle-down\"\n              v-if=\"showcompanyInfoIconDown\"\n            ></i>\n            <i class=\"fa fa-solid fa-angle-up\" v-else></i>\n          </span>\n        </div>\n      </div>\n      <b-collapse visible id=\"collapse-company-info-settings\">\n        <!-- <b-card>I should start open!</b-card> -->\n        <div class=\"content-section\">\n          <CompanyInfoSettings />\n        </div>\n      </b-collapse>\n    </div>\n    <div class=\"preferences-card\">\n      <div class=\"heading-section preferences-card-header\">\n        <div>\n          <h1 class=\"preferences-heading\">\n            <i class=\"fas fa-share-alt-square sys-icon\"></i> Social Links\n          </h1>\n        </div>\n        <div>\n          <span\n            v-b-toggle.collapse-company-social-links\n            class=\"icon-size-style m-1\"\n            @click=\"showSocialLinksIcon()\"\n          >\n            <i\n              class=\"fa fa-solid fa-angle-down\"\n              v-if=\"showSocialLinksIconDown\"\n            ></i>\n            <i class=\"fa fa-solid fa-angle-up\" v-else></i>\n          </span>\n        </div>\n      </div>\n      <b-collapse visible id=\"collapse-company-social-links\">\n        <!-- <b-card>I should start open!</b-card> -->\n        <div class=\"content-section\">\n          <SocialLinksSettings />\n        </div>\n      </b-collapse>\n    </div>\n\t\t\n\t\t<div class=\"preferences-card\">\n\t\t\t<div class=\"heading-section\">\n\t\t\t\t<h1 class=\"preferences-heading\">\n\t\t\t\t\t<i class=\"fas fa-cloud sys-icon\"></i> Integrations\n\t\t\t\t</h1>\n\t\t\t</div>\n\t\t\t<div class=\"content-section content-section-ui\">\n\t\t\t\t<ZoomServiceAccountsIntegration></ZoomServiceAccountsIntegration>\n\t\t\t</div>\n\t\t</div>\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport BannerSettings from \"../../components/Admin/Layout/Banners/BannerSettings.vue\";\nimport LogoFaviconSettings from \"../../components/Admin/Layout/LogoFaviconSettings.vue\";\nimport CompanyInfoSettings from \"../../components/Admin/Layout/CompanyInfoSettings.vue\";\nimport SocialLinksSettings from \"../../components/Admin/Layout/SocialLinksSettings.vue\";\nimport ColorThemeSettings from \"../../components/Admin/Layout/ColorThemeSettings.vue\";\nimport ZoomServiceAccountsIntegration from \"../../components/Admin/Layout/ZoomServiceAccountsIntegration.vue\";\n\nexport default {\n  name: \"SystemPreferences\",\n  data() {\n    return {\n      showUserInterfaceIconDown: true,\n      showcompanyInfoIconDown: true,\n      showSocialLinksIconDown: true,\n    };\n  },\n  methods: {\n    showSocialLinksIcon() {\n      if (this.showSocialLinksIconDown) {\n        this.showSocialLinksIconDown = false;\n        return;\n      }\n      this.showSocialLinksIconDown = true;\n    },\n\n    showCompanyInfoIcon() {\n      if (this.showcompanyInfoIconDown) {\n        this.showcompanyInfoIconDown = false;\n        return;\n      }\n      this.showcompanyInfoIconDown = true;\n    },\n\n    showUserInterfaceDivIcon() {\n      if (this.showUserInterfaceIconDown) {\n        this.showUserInterfaceIconDown = false;\n        return;\n      }\n      this.showUserInterfaceIconDown = true;\n    },\n  },\n  computed: {\n    // ...mapState(\"appState\", [\"systemParameters\"]),\n  },\n  components: {\n    BannerSettings,\n    LogoFaviconSettings,\n    CompanyInfoSettings,\n    SocialLinksSettings,\n    ColorThemeSettings,\n  ZoomServiceAccountsIntegration },\n};\n</script>\n\n<style scoped>\n/* .content-section-ui{\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: space-between;\n} */\n\n.icon-size-style {\n  font-size: 16px;\n}\n\n.preferences-card-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n\n.page-content-container {\n  background-color: #f5f5f5;\n  height: calc(100vh - 5rem);\n  padding: 1.875rem;\n  overflow-y: auto;\n}\n\n.title-container {\n  display: flex;\n  align-items: center;\n}\n\n.page-title {\n  font-weight: 500;\n  font-size: 1.25rem;\n  line-height: 1.5rem;\n  color: #000000;\n  display: inline-block;\n  /* margin: 0; */\n}\n\n.preferences-card {\n  border-radius: 8px;\n  box-shadow: 0 3px 6px #d5d5d529;\n  background-color: #f9f9f9;\n  margin-bottom: 1.5rem;\n  border: 1px solid #dcdcdc;\n}\n\n.preferences-card .heading-section {\n  padding: 1rem;\n  border-bottom: 1px solid #ddd;\n  margin: 0 0 1rem;\n  background-color: #ffffff;\n  border-radius: 8px 8px 0 0;\n}\n.preferences-card .content-section {\n  padding: 1rem;\n}\n\n.preferences-card .main-label {\n  font-weight: 500;\n  font-size: 1rem;\n  line-height: 1.37;\n  text-transform: uppercase;\n  color: #727272;\n  margin-bottom: 1rem;\n}\n\n.preferences-heading {\n  font-size: 1.25rem;\n  margin: 0;\n  font-weight: 500;\n}\n\n.sys-icon {\n  color: var(--primary-color);\n}\n\n.banners-container {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n}\n\n.banner-item {\n  background: #ffffff;\n  border: 1px solid #dcdcdc;\n  box-sizing: border-box;\n  box-shadow: 2px 3px 5px rgba(197, 197, 197, 0.15);\n  border-radius: 6px;\n  cursor: pointer;\n  width: 12.5rem;\n  height: 7rem;\n  font-size: 1rem;\n  line-height: 1.37;\n  color: #727272;\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  row-gap: 0.875rem;\n}\n\n.banner-item .add-icon {\n  font-size: 2rem;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SystemPreferences.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SystemPreferences.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SystemPreferences.vue?vue&type=template&id=1d0a22e9&scoped=true&\"\nimport script from \"./SystemPreferences.vue?vue&type=script&lang=js&\"\nexport * from \"./SystemPreferences.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SystemPreferences.vue?vue&type=style&index=0&id=1d0a22e9&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1d0a22e9\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-content-container\",on:{\"scroll\":_vm.handleScroll}},[_c('div',{staticClass:\"title-container mb-4\"},[_c('h1',{staticClass:\"page-title\"},[_vm._v(\"Users Management\")]),_c('button',{staticClass:\"add-btn ms-auto me-3\",on:{\"click\":function($event){return _vm.toggleBulkUploadModal(true)}}},[_c('i',{staticClass:\"fas fa-arrow-to-top me-2\"}),_vm._v(\" Bulk Upload Users \")]),_c('BulkUserUploadModal',{attrs:{\"showModal\":_vm.showBulkUploadModal},on:{\"updateModalState\":_vm.toggleBulkUploadModal}}),_vm._m(0),_c('ul',{staticClass:\"dropdown-menu dropdown-menu-end\"},[_c('li',{staticClass:\"dropdown-item\",on:{\"click\":function($event){return _vm.showAddUserModal('Student')}}},[_vm._v(\" New Student \")]),_c('li',{staticClass:\"dropdown-item\",on:{\"click\":function($event){return _vm.showAddUserModal('Management')}}},[_vm._v(\" New Management User \")]),_c('li',{staticClass:\"dropdown-item\",on:{\"click\":function($event){return _vm.showAddUserModal('Trainer')}}},[_vm._v(\" New Trainer \")])]),_c('CreateNewUserModal',{attrs:{\"showModal\":_vm.showNewUserModal,\"createUserType\":_vm.createUserType},on:{\"updateModalState\":_vm.toggleAddUser,\"enrollStudent\":_vm.addStudentEnroll}}),_c('ViewEditUserModal',{attrs:{\"user\":_vm.userToViewEdit.user,\"openTab\":_vm.userToViewEdit.openTab,\"showModal\":_vm.showUserDetailModal},on:{\"updateModalState\":_vm.toggleViewEditUser}})],1),_c('div',{staticClass:\"filters-container\"},[_c('div',{staticClass:\"buttons-container\"},[_c('div',{staticClass:\"searchbar position-relative d-flex align-items-center\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],staticClass:\"search-input\",attrs:{\"autocomplete\":\"off\",\"type\":\"search\",\"name\":\"search\",\"id\":\"search\",\"placeholder\":\"Search user by id, name, email or phone number\"},domProps:{\"value\":(_vm.searchText)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.searchData.apply(null, arguments)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}}),_c('a',{staticClass:\"search-icon\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.searchData}},[_c('i',{staticClass:\"fa fa-search\"})])]),_c('a',{staticClass:\"add-btn export-btn dropdown-toggle\",attrs:{\"disabled\":_vm.exportLoading,\"data-bs-toggle\":\"dropdown\",\"role\":\"button\"}},[(_vm.exportLoading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),(!_vm.exportLoading)?_c('i',{staticClass:\"fas fa-file-csv me-2\"}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.exportLoading?\" Exporting CSV\":\"Export As CSV\")+\" \")],1),_c('ul',{staticClass:\"dropdown-menu dropdown-menu-end\"},[_c('li',{staticClass:\"dropdown-item\",attrs:{\"disabled\":_vm.exportLoading},on:{\"click\":function($event){return _vm.exportUsersData()}}},[_vm._v(\" Export Users \")]),_c('li',{staticClass:\"dropdown-item\",attrs:{\"disabled\":_vm.exportLoading},on:{\"click\":function($event){return _vm.exportUsersEnrollmentData()}}},[_vm._v(\" Export Users Enrollments \")])]),_c('router-link',{staticClass:\"add-btn ms-auto me-3\",attrs:{\"to\":\"/management/scan/user\",\"role\":\"button\"}},[_c('i',{staticClass:\"fas fa-sharp fa-solid fa-qrcode me-2\"}),_vm._v(\"Scan Qr \")])],1)]),_c('div',{staticClass:\"d-flex\"},[_c('div',{staticClass:\"d-flex mb-4 gap-3\"},[_c('button',{class:['filter-user-type-btn', { active: _vm.userType == 'all' }],on:{\"click\":function($event){return _vm.setType('all')}}},[_vm._v(\" All \")]),_c('button',{class:['filter-user-type-btn', { active: _vm.userType == 'student' }],on:{\"click\":function($event){return _vm.setType('student')}}},[_vm._v(\" Students \")]),_c('button',{class:['filter-user-type-btn', { active: _vm.userType == 'trainer' }],on:{\"click\":function($event){return _vm.setType('trainer')}}},[_vm._v(\" Trainers \")]),_c('button',{class:[\n\t\t\t\t\t\t'filter-user-type-btn',\n\t\t\t\t\t\t{ active: _vm.userType == 'management' } ],on:{\"click\":function($event){return _vm.setType('management')}}},[_vm._v(\" Management \")])]),_c('div',{staticClass:\"d-flex mb-4 gap-3 ms-auto\"},[_c('button',{class:['filter-user-type-btn', { active: _vm.userStatus == 'all' }],on:{\"click\":function($event){return _vm.setStatus('all')}}},[_vm._v(\" All \")]),_c('button',{class:['filter-user-type-btn', { active: _vm.userStatus == 'active' }],on:{\"click\":function($event){return _vm.setStatus('active')}}},[_vm._v(\" Active \")]),_c('button',{class:[\n\t\t\t\t\t\t'filter-user-type-btn',\n\t\t\t\t\t\t{ active: _vm.userStatus == 'inactive' } ],on:{\"click\":function($event){return _vm.setStatus('inactive')}}},[_vm._v(\" Inactive \")])])]),_c('div',{staticClass:\"table-container\"},[(_vm.allUsers && _vm.allUsers.length > 0 && !_vm.isSearching)?_c('table',{staticClass:\"table table-hover table-borderless all-users-table\"},[_vm._m(1),_c('tbody',_vm._l((_vm.allUsers),function(user,i){return _c('tr',{key:user.id,on:{\"click\":function($event){return _vm.showViewEditUserModal($event, user)}}},[_c('td',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(i + 1)+\" \")]),_c('td',[_vm._v(_vm._s(user.id))]),_c('td',{staticClass:\"user-name d-flex align-items-center\",attrs:{\"id\":(\"tooltip-target-\" + (user.id))}},[(user.profilePicture)?_c('img',{staticClass:\"user-image\",attrs:{\"src\":user.profilePicture}}):_c('div',{staticClass:\"user-avatar\"},[_vm._v(\" \"+_vm._s(user.firstName[0])+\" \")]),_vm._v(\" \"+_vm._s(_vm.shortenedFullName(user.firstName, user.lastName))+\" \"),_c('b-tooltip',{attrs:{\"target\":(\"tooltip-target-\" + (user.id)),\"triggers\":\"hover\"}},[_vm._v(\" \"+_vm._s(user.firstName)+\" \"+_vm._s(user.lastName)+\" \")])],1),_c('td',[_vm._v(_vm._s(user.username))]),_c('td',[_vm._v(_vm._s(user.email))]),_c('td',[_vm._v(_vm._s(user.type))]),_c('td',[_vm._v(_vm._s(user.city)+\", \"+_vm._s(_vm.countryName(user.countryCode)))]),_c('td',[_vm._v(_vm._s(user.phone ? user.phone : \"-\"))]),_c('td',{class:(\"\" + (user.status == _vm.UserStatus.ACTIVE\n\t\t\t\t\t\t\t\t\t? 'success-text'\n\t\t\t\t\t\t\t\t\t: 'danger-text secondary'))},[_vm._v(\" \"+_vm._s(user.status)+\" \")])])}),0)]):(!_vm.allUsers && _vm.loading)?_c('div',{staticClass:\"d-flex align-items-center justify-content-center gap-3 p-3 font-500 m-5\"},[_c('b-spinner'),_vm._v(\" Loading... \")],1):(!_vm.loading && (!_vm.allUsers || _vm.allUsers.length<=0))?_c('h5',{staticClass:\"text-center p-4 m-0\"},[_vm._v(\"No users found\")]):_vm._e(),(_vm.fetchingNextRows)?_c('div',{staticClass:\"text-center p-4\"},[_c('b-spinner')],1):_vm._e()]),_c('br'),_c('center',[(_vm.fetchingNextRows==false && _vm.isNextRecordAvailable==true)?_c('button',{class:['filter-user-type-btn'],on:{\"click\":function($event){return _vm.fetchNextRows()}}},[_vm._v(\" Load More \")]):_vm._e()])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"add-btn dropdown-toggle\",attrs:{\"data-bs-toggle\":\"dropdown\",\"role\":\"button\"}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\")}}),_vm._v(\" add new user \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('th',{staticClass:\"text-center\",staticStyle:{\"width\":\"5%\"}},[_vm._v(\" # \")]),_c('th',{staticStyle:{\"width\":\"5%\"}},[_vm._v(\"ID\")]),_c('th',{staticStyle:{\"width\":\"20%\"}},[_vm._v(\"Name\")]),_c('th',{staticStyle:{\"width\":\"10%\"}},[_vm._v(\"Username\")]),_c('th',{staticStyle:{\"width\":\"20%\"}},[_vm._v(\"Email\")]),_c('th',{staticStyle:{\"width\":\"7.5%\"}},[_vm._v(\"Role\")]),_c('th',{staticStyle:{\"width\":\"15%\"}},[_vm._v(\"City/Country\")]),_c('th',{staticStyle:{\"width\":\"10%\"}},[_vm._v(\"Phone Number\")]),_c('th',{staticStyle:{\"width\":\"7.5%\"}},[_vm._v(\"Status\")])])}]\n\nexport { render, staticRenderFns }","<template >\n  <div  @scroll=\"handleScroll\" class=\"page-content-container\">\n    <div class=\"title-container mb-4\">\n      <h1 class=\"page-title\">Users Management</h1>\n      <button class=\"add-btn ms-auto me-3\" @click=\"toggleBulkUploadModal(true)\">\n        <i class=\"fas fa-arrow-to-top me-2\"></i> Bulk Upload Users\n      </button>\n      <BulkUserUploadModal\n          :showModal=\"showBulkUploadModal\"\n          @updateModalState=\"toggleBulkUploadModal\"\n      />\n      <a\n          class=\"add-btn dropdown-toggle\"\n          data-bs-toggle=\"dropdown\"\n          role=\"button\"\n      >\n        <img src=\"@/assets/images/add-border-icon.svg\" class=\"add-btn-icon\" />\n        add new user\n      </a>\n      <ul class=\"dropdown-menu dropdown-menu-end\">\n        <li @click=\"showAddUserModal('Student')\" class=\"dropdown-item\">\n          New Student\n        </li>\n        <li @click=\"showAddUserModal('Management')\" class=\"dropdown-item\">\n          New Management User\n        </li>\n        <li @click=\"showAddUserModal('Trainer')\" class=\"dropdown-item\">\n          New Trainer\n        </li>\n      </ul>\n      <CreateNewUserModal\n          :showModal=\"showNewUserModal\"\n          @updateModalState=\"toggleAddUser\"\n          :createUserType=\"createUserType\"\n          @enrollStudent=\"addStudentEnroll\"\n      />\n      <ViewEditUserModal\n          :user=\"userToViewEdit.user\"\n          :openTab=\"userToViewEdit.openTab\"\n          @updateModalState=\"toggleViewEditUser\"\n          :showModal=\"showUserDetailModal\"\n      />\n    </div>\n    <div class=\"filters-container\">\n      <div class=\"buttons-container\">\n        <div class=\"searchbar position-relative d-flex align-items-center\">\n          <input\n              autocomplete=\"off\"\n              type=\"search\"\n              name=\"search\"\n              id=\"search\"\n              placeholder=\"Search user by id, name, email or phone number\"\n              v-model=\"searchText\"\n              class=\"search-input\"\n              @keyup.enter=\"searchData\"\n          />\n          <a role=\"button\" class=\"search-icon\" @click=\"searchData\">\n            <i class=\"fa fa-search\"></i>\n          </a>\n        </div>\n        <!-- <download-csv\n            :data=\"filteredUsersList\"\n            name=\"users_export.csv\"\n            :fields=\"fieldsToExport\"\n            :labels=\"csvLabels\"\n        > -->\n        <!-- <button\n            class=\"add-btn dropdown-toggle\"\n            id=\"exportDropdown\"\n            data-bs-toggle=\"dropdown\"\n            aria-expanded=\"false\"\n            @click=\"exportUsersData()\"\n            :disabled=\"exportLoading\"\n            >\n              <b-spinner v-if=\"exportLoading\" small></b-spinner>\n          <i v-if=\"!exportLoading\" class=\"fas fa-file-csv me-2\"></i>\n          {{exportLoading?\"&nbsp;Exporting CSV\":\"Export As CSV\"}}\n        </button> -->\n        <a :disabled=\"exportLoading\" class=\"add-btn export-btn dropdown-toggle\" data-bs-toggle=\"dropdown\" role=\"button\">\n          <b-spinner v-if=\"exportLoading\" small></b-spinner>\n          <i v-if=\"!exportLoading\" class=\"fas fa-file-csv me-2\"></i>\n          {{exportLoading?\"&nbsp;Exporting CSV\":\"Export As CSV\"}}\n        </a>\n        <ul class=\"dropdown-menu dropdown-menu-end\">\n          <li  @click=\"exportUsersData()\" :disabled=\"exportLoading\" class=\"dropdown-item\">\n            Export Users\n          </li>\n          <li @click=\"exportUsersEnrollmentData()\" :disabled=\"exportLoading\" class=\"dropdown-item\">\n            Export Users Enrollments\n          </li>\n        </ul>\n<router-link to=\"/management/scan/user\" class=\"add-btn ms-auto me-3\" role=\"button\">\n        <i class=\"fas fa-sharp fa-solid fa-qrcode me-2\"></i>Scan Qr\n\t\t\t</router-link>\n      </div>\n    </div>\n    <div class=\"d-flex\">\n      <div class=\"d-flex mb-4 gap-3\">\n        <button\n            @click=\"setType('all')\"\n            :class=\"['filter-user-type-btn', { active: userType == 'all' }]\"\n        >\n          All\n        </button>\n        <button\n            @click=\"setType('student')\"\n            :class=\"['filter-user-type-btn', { active: userType == 'student' }]\"\n        >\n          Students\n        </button>\n        <button\n            @click=\"setType('trainer')\"\n            :class=\"['filter-user-type-btn', { active: userType == 'trainer' }]\"\n        >\n          Trainers\n        </button>\n        <button\n            @click=\"setType('management')\"\n            :class=\"[\n\t\t\t\t\t\t'filter-user-type-btn',\n\t\t\t\t\t\t{ active: userType == 'management' },\n\t\t\t\t\t]\"\n        >\n          Management\n        </button>\n      </div>\n      <div class=\"d-flex mb-4 gap-3 ms-auto\">\n        <button\n            @click=\"setStatus('all')\"\n            :class=\"['filter-user-type-btn', { active: userStatus == 'all' }]\"\n        >\n          All\n        </button>\n        <button\n            @click=\"setStatus('active')\"\n            :class=\"['filter-user-type-btn', { active: userStatus == 'active' }]\"\n        >\n          Active\n        </button>\n        <button\n            @click=\"setStatus('inactive')\"\n            :class=\"[\n\t\t\t\t\t\t'filter-user-type-btn',\n\t\t\t\t\t\t{ active: userStatus == 'inactive' },\n\t\t\t\t\t]\"\n        >\n          Inactive\n        </button>\n      </div>\n    </div>\n    <div class=\"table-container\">\n      <table\n          v-if=\"allUsers && allUsers.length > 0 && !isSearching\"\n          class=\"table table-hover table-borderless all-users-table\"\n      >\n        <thead>\n        <th style=\"width: 5%;\" class=\"text-center\">\n          #\n          <!--\t\t\t\t\t\t<input-->\n          <!--\t\t\t\t\t\t\ttype=\"checkbox\"-->\n          <!--\t\t\t\t\t\t\tname=\"select_all\"-->\n          <!--\t\t\t\t\t\t\tid=\"select_all\"-->\n          <!--\t\t\t\t\t\t\t@click=\"toggleSelectAll()\"-->\n          <!--\t\t\t\t\t\t\t:checked=\"isSelectedAll()\"-->\n          <!--\t\t\t\t\t\t/>-->\n        </th>\n        <th style=\"width: 5%;\">ID</th>\n        <th style=\"width: 20%;\">Name</th>\n        <th style=\"width: 10%;\">Username</th>\n        <th style=\"width: 20%;\">Email</th>\n        <th style=\"width: 7.5%;\">Role</th>\n        <th style=\"width: 15%;\">City/Country</th>\n        <th style=\"width: 10%;\">Phone Number</th>\n        <th style=\"width: 7.5%;\">Status</th>\n        </thead>\n        <tbody>\n        <tr\n            @click=\"showViewEditUserModal($event, user)\"\n            v-for=\"(user, i) in allUsers\"\n            :key=\"user.id\"\n        >\n          <td class=\"text-center\">\n            {{ i + 1 }}\n            <!--\t\t\t\t\t\t\t<input-->\n            <!--\t\t\t\t\t\t\t\t@click=\"toggleUserSelect($event, user)\"-->\n            <!--\t\t\t\t\t\t\t\ttype=\"checkbox\"-->\n            <!--\t\t\t\t\t\t\t\tname=\"select_1\"-->\n            <!--\t\t\t\t\t\t\t\t:id=\"user.id\"-->\n            <!--\t\t\t\t\t\t\t\t:checked=\"isChecked(user.id)\"-->\n            <!--\t\t\t\t\t\t\t/>-->\n          </td>\n          <td>{{ user.id }}</td>\n          <td class=\"user-name d-flex align-items-center\" :id=\"`tooltip-target-${user.id }`\">\n            <img\n                v-if=\"user.profilePicture\"\n                class=\"user-image\"\n                :src=\"user.profilePicture\"\n            />\n            <div v-else class=\"user-avatar\">\n              {{ user.firstName[0] }}\n            </div>\n            {{ shortenedFullName(user.firstName, user.lastName) }}\n\n            <b-tooltip :target=\"`tooltip-target-${user.id }`\" triggers=\"hover\">\n              {{ user.firstName }} {{ user.lastName }}\n            </b-tooltip>\n          </td>\n          <td>{{ user.username }}</td>\n          <td>{{ user.email }}</td>\n          <!-- <td>{{ dateParser(user.access_start_date) }}</td> -->\n          <!-- <td>{{ dateParser( user.access_end_date) }}</td> -->\n          <!-- <td>{{ user.pricing_plan }}</td> -->\n          <td>{{ user.type }}</td>\n          <td>{{ user.city }}, {{ countryName(user.countryCode) }}</td>\n          <td>{{ user.phone ? user.phone : \"-\" }}</td>\n          <td\n              :class=\"`${\n\t\t\t\t\t\t\t\tuser.status == UserStatus.ACTIVE\n\t\t\t\t\t\t\t\t\t? 'success-text'\n\t\t\t\t\t\t\t\t\t: 'danger-text secondary'\n\t\t\t\t\t\t\t}`\"\n          >\n            {{ user.status }}\n          </td>\n        </tr>\n        </tbody>\n      </table>\n\n      <div\n          v-else-if=\"!allUsers && loading\"\n          class=\"d-flex align-items-center justify-content-center gap-3 p-3 font-500 m-5\"\n      >\n        <b-spinner></b-spinner> Loading...\n      </div>\n      <h5 v-else-if=\"!loading && (!allUsers || allUsers.length<=0)\" class=\"text-center p-4 m-0\">No users found</h5>\n\n      <div v-if=\"fetchingNextRows\" class=\"text-center p-4\">\n        <b-spinner></b-spinner>\n      </div>\n      \n      \n    </div>\n    <br/>\n    <center>\n      <button v-if=\"fetchingNextRows==false && isNextRecordAvailable==true\" @click=\"fetchNextRows()\" :class=\"['filter-user-type-btn']\">\n        Load More\n      </button>\n    </center>\n\n    <!--\t\t<b-pagination-->\n    <!--\t\t\talign=\"right\"-->\n    <!--\t\t\tv-model=\"currentPage\"-->\n    <!--\t\t\t:total-rows=\"rows()\"-->\n    <!--\t\t\t:per-page=\"perPage\"-->\n    <!--\t\t></b-pagination>-->\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport AdminHeader from \"../../components/Admin/Layout/AdminHeader.vue\";\nimport { countryCodes } from \"../../constants/countryCodes\";\nimport CreateNewUserModal from \"../../components/Admin/Users/CreateNewUserModal.vue\";\nimport ViewEditUserModal from \"../../components/Admin/Users/ViewEditUserModal.vue\";\nimport BulkUserUploadModal from \"../../components/Admin/Users/BulkUserUploadModal.vue\";\nimport { UserStatus } from \"../../constants/user\";\n\nexport default {\n  name: \"UsersManagement\",\n  components: {\n    AdminHeader,\n    CreateNewUserModal,\n    ViewEditUserModal,\n    BulkUserUploadModal,\n  },\n  data() {\n    return {\n      currentPage: 1,\n      // rows: 0,\n      perPage: 10,\n      searchText: \"\",\n      selectedUsers: [],\n      showNewUserModal: false,\n      showUserDetailModal: false,\n      showBulkUploadModal: false,\n      createUserType: \"\",\n      // productVariantData: null,\n      countryCodes,\n      userToViewEdit: {\n        user: null,\n        openTab: 0,\n      },\n      fieldsToExport: [\n        \"id\",\n        \"firstName\",\n        \"lastName\",\n        \"username\",\n        \"email\",\n        \"countryCode\",\n        \"phone\",\n        \"type\",\n      ],\n      csvLabels: {\n        id: \"ID\",\n        firstName: \"First Name\",\n        lastName: \"Last Name\",\n        username: \"Username\",\n        email: \"Email\",\n        countryCode: \"Country\",\n        phone: \"Phone Number\",\n        type: \"Type\",\n      },\n      userType: \"all\",\n      userStatus: \"all\",\n      UserStatus,\n      nextPageToken: undefined,\n      pageSize: 25,\n      searchString: undefined,\n      fetchingNextRows: false,\n      isSearching: false,\n      exportLoading: false\n    };\n  },\n  computed: {\n    ...mapState(\"user\", [\"allUsers\", \"loading\",\"isNextRecordAvailable\"]),\n    ...mapState(\"appState\", [\n\t\t\t\"systemParameters\"\n\t\t]),\n    // ...mapState(\"productVariant\", [\"\"]),\n    offset() {\n      return (this.currentPage - 1) * this.perPage;\n    },\n    filteredUsersList() {\n      if (this.allUsers && this.allUsers.length > 0) {\n        // this.searchText = this.searchText.spl\n        var result = this.allUsers.filter((user) => {\n          return (\n              ((user.firstName + \" \" + user.lastName || \"\")\n                      .toLocaleLowerCase()\n                      .indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n                  (user.firstName || \"\")\n                      .toLocaleLowerCase()\n                      .indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n                  (user.lastName || \"\")\n                      .toLocaleLowerCase()\n                      .indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n                  (user.id || \"\")\n                      .toLocaleLowerCase()\n                      .indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n                  (user.email || \"\")\n                      .toLocaleLowerCase()\n                      .indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n                  (user.username || \"\")\n                      .toLocaleLowerCase()\n                      .indexOf(this.searchText.toLocaleLowerCase()) > -1 ||\n                  (user.phone || \"\")\n                      .toLocaleLowerCase()\n                      .indexOf(this.searchText.toLocaleLowerCase()) > -1) &&\n              (this.userType == \"all\" ||\n                  user.type.toLowerCase() == this.userType.toLowerCase()) &&\n              (this.userStatus == \"all\" ||\n                  user.status.toLowerCase() == this.userStatus.toLowerCase())\n          );\n        });\n        return result;\n      }\n      return [];\n    }\n  },\n  methods: {\n    ...mapActions(\"user\", [\"fetchUsersList\", \"fetchPaginatedUsersList\",\"exportUsersList\",\"exportUsersEnrollmentReport\"]),\n    toggleBulkUploadModal(state) {\n      if (state != undefined) {\n        this.showBulkUploadModal = state;\n      } else this.showBulkUploadModal = !this.showBulkUploadModal;\n      if (!this.showBulkUploadModal) {\n        this.createUserType = \"\";\n      }\n    },\n    toggleAddUser(state) {\n      if (state != undefined) {\n        this.showNewUserModal = state;\n      } else this.showNewUserModal = !this.showNewUserModal;\n      if (!this.showNewUserModal) {\n        this.createUserType = \"\";\n      }\n    },\n    toggleViewEditUser() {\n      this.showUserDetailModal = !this.showUserDetailModal;\n      if (!this.showUserDetailModal) {\n        this.userToViewEdit.user = null;\n        this.userToViewEdit.openTab = 0;\n      }\n    },\n    toggleSelectAll() {\n      if (\n          this.allUsers &&\n          this.allUsers.length > 0 &&\n          this.selectedUsers.length != this.allUsers.length\n      ) {\n        this.selectedUsers = this.allUsers;\n      } else {\n        this.selectedUsers = [];\n      }\n    },\n    isSelectedAll() {\n      if (this.allUsers) {\n        return this.allUsers.length == this.selectedUsers.length;\n      }\n    },\n    isChecked(id) {\n      var found = this.selectedUsers.find((user) => user.id == id);\n      // console.log(found);\n      if (found) {\n        return true;\n      } else return false;\n    },\n    toggleUserSelect(e, user) {\n      e.stopPropagation();\n      var found = this.selectedUsers.find((s) => s.id == user.id);\n      console.log(found);\n      if (!found) {\n        this.selectedUsers.push(user);\n      } else {\n        this.selectedUsers = this.selectedUsers.filter(\n            (su) => su.id != user.id\n        );\n      }\n    },\n    showAddUserModal(type) {\n      this.createUserType = type;\n      this.showNewUserModal = true;\n    },\n    showViewEditUserModal(e, user) {\n      // e.preventDefault();\n      e.stopPropagation();\n      this.userToViewEdit.user = user;\n      this.showUserDetailModal = true;\n    },\n    countryName(code) {\n      var countryName = this.countryCodes.find((c) => c[\"alpha-3\"] == code)\n          ? this.countryCodes.find((c) => c[\"alpha-3\"] == code).name\n          : \"-\";\n      // console.log(countryName);\n      return countryName;\n    },\n    addStudentEnroll(user) {\n      console.log(\"addstudentenroll\");\n      this.userToViewEdit.openTab = 1;\n      this.userToViewEdit.user = user;\n      this.toggleViewEditUser(user);\n    },\n    setType(type) {\n      this.userType = type;\n      this.searchData();\n    },\n    setStatus(status) {\n      this.userStatus = status;      \n      this.searchData();\n    },\n    rows() {\n      if (this.allUsers) {\n        return this.filteredUsersList.length;\n      } else return 0;\n    },\n    fetchNextRows() {\n      if (!this.fetchingNextRows && this.isNextRecordAvailable) {\n        this.fetchingNextRows = true;\n        this.fetchPaginatedUsersList({pageSize: this.pageSize, nextPageToken: this.nextPageToken, searchString: this.searchString}).then((result) => {\n          this.fetchingNextRows = false;\n\n          if(result && result.nextPageToken) {\n            this.nextPageToken = result.nextPageToken;\n          }\n        }).catch((err) => {\n          this.fetchingNextRows = false;\n          console.log({err});\n        });\n      }\n    },\n    handleScroll({ target: { scrollTop, clientHeight, scrollHeight }}) {\n      if (!this.fetchingNextRows && scrollTop + clientHeight >= scrollHeight) {\n          this.fetchNextRows();\n      }\n    },\n    searchData(e) {\n      this.nextPageToken = undefined;\n      this.searchString = this.searchText;\n      this.fetchingNextRows = true;\n\n      this.isNextRecordAvailable=true;\n      this.isSearching = true;\n\n      this.fetchPaginatedUsersList({pageSize: this.pageSize, nextPageToken: this.nextPageToken, searchString: this.searchString, type: this.userType.toLowerCase()!=\"all\"?this.userType:null, status: this.userStatus.toLowerCase()!=\"all\"?this.userStatus:null}).then((result) => {\n        this.fetchingNextRows = false;\n        this.isSearching = false;\n\n        if(result && result.nextPageToken) {\n          this.nextPageToken = result.nextPageToken;\n        }\n      }).catch((err) => {\n        this.fetchingNextRows = false;\n        this.isSearching = false;\n        console.log({err});\n\n      });\n    },\n    exportUsersData() {\n      this.exportLoading = true;\n      this.searchString = this.searchText;\n\n      this.exportUsersList({ searchString: this.searchString, type: this.userType.toLowerCase() != \"all\" ? this.userType : null, status: this.userStatus.toLowerCase() != \"all\" ? this.userStatus : null }).then((result) => {\n\n        if (result) {\n          const link = document.createElement('a');\n          link.href = result;\n          link.setAttribute('download', `${this.systemParameters && this.systemParameters.tenantName ? this.systemParameters.tenantName+\"_\" : \"\"}users_export_${Date.now()}.csv`);\n          document.body.appendChild(link);\n          \n          this.exportLoading = false;\n          link.click();\n          link.parentNode.removeChild(link);\n                    // clean up Url\n          window.URL.revokeObjectURL(result);\n        }\n      }).catch((err) => {\n        console.log({ err });\n        \n        this.exportLoading = false;\n      });\n    },\n    exportUsersEnrollmentData() {\n      this.exportLoading = true;\n      this.exportUsersEnrollmentReport().then((result) => {\n\n        if (result && result.url) {\n          const link = document.createElement('a');\n          link.href = result.url;\n          link.setAttribute('download',result.name?result.name:`users-enrollments-export.csv`);\n          document.body.appendChild(link);          \n          this.exportLoading = false;\n          link.click();\n          link.parentNode.removeChild(link);\n                    // clean up Url\n          window.URL.revokeObjectURL(result);\n        }\n      }).catch((err) => {\n        console.log({ err });\n        \n        this.exportLoading = false;\n      });\n    },\n    shortenedFullName(firstname, lastname) {\n      let fullName = firstname + ' ' + lastname;\n\n      return fullName ? fullName.length > 30 ? fullName.substring(0,28) + '...' : fullName : '';\n    }\n  },\n\n\n  \n  created() {\n    console.log({ps: this.pageSize, npt: this.nextPageToken, searchStr: this.searchString});\n    // if (!this.allUsers) {\n    this.fetchPaginatedUsersList( {pageSize: this.pageSize, nextPageToken: this.nextPageToken}).then((result) => {\n      // this.rows = this.allUsers.length;\n\n      console.log('result from action');\n      console.log(result);\n\n      if(result && result.nextPageToken) {\n        this.nextPageToken = result.nextPageToken;\n      }\n    });\n    // } else {\n    // this.rows = this.allUsers.length;\n    // }\n  },\n  watch: {\n    isNextRecordAvailable:function(){\n        console.log(\"dist\");\n    },\n    allUsers: function () {\n      console.log(\"users updated\");\n      if (this.userToViewEdit.user) {\n        console.log(\"user to view\", this.userToViewEdit.user);\n        this.userToViewEdit.user = this.allUsers.find(\n            (user) => user.id == this.userToViewEdit.user.id\n        );\n        // this.rows = this.allUsers.length;\n        // console.log(\n        // \t\"user after update\",\n        // \tthis.allUsers[this.userToViewEdit.user.id]\n        // );\n      }\n    },\n  },\n};\n</script>\n\n<style scoped>\n.page-content-container {\n  background-color: #f5f5f5;\n  height: calc(100vh - 5rem);\n  padding: 1.875rem;\n  overflow-y: auto;\n}\n\n.title-container {\n  display: flex;\n  align-items: center;\n}\n\n.page-title {\n  font-weight: 500;\n  font-size: 1.25rem;\n  line-height: 1.5rem;\n  color: #000000;\n  display: inline-block;\n  /* margin: 0; */\n}\n\n.add-btn {\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  border-radius: 8px;\n  display: flex !important;\n  align-items: center;\n  justify-content: center;\n  padding: 0.625rem 1rem;\n  text-transform: uppercase;\n  font-weight: 500;\n  font-size: 0.875rem;\n  line-height: 1.125rem;\n  letter-spacing: 0.05em;\n  color: #000000;\n  text-decoration: none;\n  transition: all 0.3s ease;\n}\n\n.add-btn:hover {\n  box-shadow: 4px 6px 5px 0px rgb(197 197 197 / 20%);\n}\n\n.add-btn-icon {\n  margin-right: 0.625rem;\n  width: 1rem;\n  height: 1rem;\n}\n\n.table-container {\n  background-color: #ffffff;\n  border-radius: 8px;\n  box-shadow: 0 3px 6px #d5d5d529;\n}\n\n.all-users-table thead,\n.all-users-table td {\n  height: 4rem;\n  vertical-align: middle;\n}\n\n.all-users-table td:first-of-type {\n  padding-left: 0;\n}\n\n.all-users-table input[type=\"checkbox\"] {\n  margin-left: 1.5rem;\n  background: #ffffff;\n  border: 1px solid #b2b2b2;\n  box-sizing: border-box;\n  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);\n  border-radius: 3px;\n  width: 1.25rem;\n  height: 1.25rem;\n}\n\n.filters-container {\n  padding: 1.5rem;\n  border-radius: 8px;\n  box-shadow: 0 3px 6px #d5d5d529;\n  background-color: #ffffff;\n  margin-bottom: 1.5rem;\n}\n\n.filters-container .main-label {\n  font-weight: 500;\n  font-size: 1rem;\n  line-height: 1.37;\n  text-transform: uppercase;\n  color: #727272;\n  margin-bottom: 1rem;\n}\n\n.filter-inputs {\n  display: flex;\n  flex-direction: row;\n  column-gap: 1rem;\n}\n\n.search-input {\n  background: #ffffff;\n  border: 1px solid #dcdcdc;\n  box-sizing: border-box;\n  border-radius: 8px;\n  padding: 0.5rem 0.75rem;\n  width: 100%;\n  text-align: left;\n  /* margin-bottom: 1rem; */\n  /* font-weight: 500; */\n  color: #000000;\n  font-size: 1rem;\n  column-gap: 0.75rem;\n  position: relative;\n  outline: none;\n\n  /* transition: transform 0.3s; */\n}\n\n.search-button {\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  border-radius: 8px;\n  padding: 0.5rem 2rem;\n  filter: drop-shadow(3px 5px 6px rgba(197, 197, 197, 0.3));\n  text-decoration: none;\n  color: #000000;\n  display: flex;\n  column-gap: 0.5rem;\n  align-items: center;\n}\n\n.buttons-container {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  justify-content: space-between;\n  column-gap: 1rem;\n}\n\n.buttons-container .searchbar {\n  flex-grow: 1;\n}\n\n.search-icon {\n  font-size: 18px;\n  position: absolute;\n  margin-right: 1rem;\n  right: 0;\n  color: #000000;\n}\n\n.export-btn {\n  padding: 0.5rem 1rem;\n}\n\n.dropdown-item {\n  cursor: pointer;\n}\n\n.user-avatar {\n  width: 2rem;\n  height: 2rem;\n  color: var(--color-white);\n  background-color: #231f20;\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  line-height: 1;\n  font-size: 1.2rem;\n  min-width: 2rem;\n  margin-right: 0.5rem;\n  flex-shrink: 0;\n  /* z-index: 100; */\n}\n\n.user-image {\n  width: 2rem;\n  height: 2rem;\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  object-fit: contain;\n  object-position: top;\n  margin-right: 0.5rem;\n}\n\n.user-name {\n  cursor: pointer;\n}\n\n.filter-user-type-btn {\n  background: #ffffff;\n  box-sizing: border-box;\n  border-radius: 8px;\n  display: flex !important;\n  align-items: center;\n  justify-content: center;\n  padding: 0.625rem 1rem;\n  text-transform: uppercase;\n  font-weight: 500;\n  font-size: 0.875rem;\n  line-height: 1.125rem;\n  letter-spacing: 0.05em;\n  color: #000000;\n  text-decoration: none;\n  border: 1px solid transparent;\n  transition: all 0.3s ease;\n}\n\n.filter-user-type-btn.active {\n  border: 1px solid var(--primary-color);\n}\n\ntd.success-text {\n  color: var(--color-success);\n}\n\ntd.danger-text {\n  color: var(--color-danger);\n}\n\n/*table > thead > th:first-child, table > tbody > tr > td:first-child {*/\n/*  margin-left: 1.5rem!important;*/\n/*}*/\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UsersManagement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UsersManagement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UsersManagement.vue?vue&type=template&id=b7ef27c0&scoped=true&\"\nimport script from \"./UsersManagement.vue?vue&type=script&lang=js&\"\nexport * from \"./UsersManagement.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UsersManagement.vue?vue&type=style&index=0&id=b7ef27c0&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"b7ef27c0\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"cart-page\"},[_c('BannerSmall',[_c('div',{staticClass:\"banner-title-card\"},[_c('h1',{staticClass:\"banner-title\"},[_vm._v(\"Confirm Payment\")])])]),_c('div',{staticClass:\"container cart-content-container\"},[(!_vm.isCartEmpty)?_c('div',{staticClass:\"col-lg-8 cart-product-list container-fluid\"},_vm._l((_vm.getCartItems),function(item){return _c('CartProductItem',{key:item.id,attrs:{\"productVariantData\":item}})}),1):_vm._e(),(!_vm.isCartEmpty)?_c('div',{staticClass:\"col-lg-4 cart-payment-card container-fluid\"},[_c('PaymentCard')],1):_c('div',{staticClass:\"container-fluid text-center p-5\"},[_c('h2',{staticClass:\"text-bold text-muted\"},[_vm._v(\"No items in cart.\")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"cart-page\">\n\t\t<BannerSmall>\n\t\t\t<div class=\"banner-title-card\">\n\t\t\t\t<h1 class=\"banner-title\">Confirm Payment</h1>\n\t\t\t</div>\n\t\t</BannerSmall>\n\t\t<div class=\"container cart-content-container\">\n\t\t\t<div\n\t\t\t\tclass=\"col-lg-8 cart-product-list container-fluid\"\n\t\t\t\tv-if=\"!isCartEmpty\"\n\t\t\t>\n\t\t\t\t<CartProductItem\n\t\t\t\t\tv-for=\"item in getCartItems\"\n\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t:productVariantData=\"item\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"col-lg-4 cart-payment-card container-fluid\"\n\t\t\t\tv-if=\"!isCartEmpty\"\n\t\t\t>\n\t\t\t\t<PaymentCard />\n\t\t\t</div>\n\t\t\t<div v-else class=\"container-fluid text-center p-5\">\n\t\t\t\t<h2 class=\"text-bold text-muted\">No items in cart.</h2>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapGetters } from \"vuex\";\n\nimport BannerSmall from \"../components/Layout/BannerSmall.vue\";\nimport CartProductItem from \"../components/Cart/CartProductItem.vue\";\nimport PaymentCard from \"../components/Cart/PaymentCard.vue\";\nexport default {\n\tname: \"Cart\",\n\tcomponents: { BannerSmall, CartProductItem, PaymentCard },\n\tcomputed: {\n\t\t...mapGetters(\"cart\", [\"getCartItems\", \"isCartEmpty\"]),\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.cart-content-container {\n\t\tflex-direction: column;\n\t\tpadding: 0 !important;\n\t}\n\t.cart-payment-card {\n\t\tmargin-bottom: 0;\n\t}\n\n\t.cart-banner {\n\t\tpadding-bottom: 8rem !important;\n\t}\n}\n\n@media screen and (max-width: 768px) {\n\t.banner-title-card {\n\t\ttop: 2rem !important;\n\t}\n\t.banner-small {\n\t\tmargin-bottom: 1rem !important;\n\t}\n}\n\n.cart-page .banner-small {\n\theight: 8rem;\n\tmargin-bottom: 3rem;\n}\n\n.cart-banner {\n\tpadding-bottom: 6rem;\n}\n\n.cart-product-list {\n\tmargin-top: 2rem;\n}\n\n.cart-content-container {\n\tdisplay: flex;\n\tpadding: 0;\n}\n\n.banner-title-card {\n\tbackground-color: var(--color-white);\n\tpadding: 2.75rem 3rem 1.75rem 1.5rem;\n\twidth: fit-content;\n\tborder-radius: 8px;\n\tborder: 1px solid #a3a3a3;\n\tposition: absolute;\n\ttop: 4rem;\n\tbox-shadow: 0 0 16px #c9c9c929;\n}\n\n.banner-title {\n\t/* font-size: 2.5rem;\n\tfont-weight: bold; */\n\tfont-weight: bold;\n\tfont-size: 2rem;\n\tcolor: #000000;\n\t/* padding: 2.5rem 0; */\n\tmargin: 0;\n}\n\n.banner-title:before {\n\tcontent: \"\";\n\twidth: 2rem;\n\theight: 0.35rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: block;\n\ttop: -1rem;\n\tleft: 0;\n\tposition: relative;\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Cart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Cart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Cart.vue?vue&type=template&id=04785aed&scoped=true&\"\nimport script from \"./Cart.vue?vue&type=script&lang=js&\"\nexport * from \"./Cart.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Cart.vue?vue&type=style&index=0&id=04785aed&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"04785aed\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.contentData)?_c('div',[(_vm.isDesktopApp || !_vm.isWebDisabled || _vm.contentData.isContentAvailableForDemo == true)?_c('div',{staticClass:\"content-page-container\"},[_c('div',{class:[{ 'col-lg-9 col-md-12 p-0': _vm.$route.name != 'LiveClass' }]},[(_vm.contentData && _vm.productVariantData)?_c('router-view',{attrs:{\"productVariantData\":_vm.productVariantData,\"contentData\":_vm.contentData}}):_vm._e()],1),(_vm.$route.name == 'VideoContent' || _vm.$route.name == 'Quiz')?_c('div',{staticClass:\"col-lg-3 col-md-12 p-0\"},[(_vm.tabActive == 'chapters')?_c('div',[(_vm.productVariantData)?_c('ProductContentSidebar',{attrs:{\"productVariantData\":_vm.productVariantData,\"viewMode\":\"sidebar\"}}):_vm._e()],1):_vm._e()]):_vm._e()]):_c('AppsDownloadInstructions')],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div v-if=\"contentData\">\n\t\t<div class=\"content-page-container\" v-if=\"isDesktopApp || !isWebDisabled || contentData.isContentAvailableForDemo == true\">\n\t\t\t<div :class=\"[{ 'col-lg-9 col-md-12 p-0': $route.name != 'LiveClass' }]\">\n\t\t\t\t\n\t\t\t<router-view\n\t\t\t\t\tv-if=\"contentData && productVariantData\"\n\t\t\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t\t\t:contentData=\"contentData\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"col-lg-3 col-md-12 p-0\" v-if=\"$route.name == 'VideoContent' || $route.name == 'Quiz'\">\n\t\t\t\t\n\t\t\t\t<!-- <ul class=\"inline-list\">\n\t\t\t\t\t<li\n\t\t\t\t\t\tid=\"chapters\"\n\t\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t\t:class=\"{ tab: true, active: tabActive == 'chapters' }\"\n\t\t\t\t\t>\n\t\t\t\t\t\tChapters\n\t\t\t\t\t</li>\n\t\t\t\t\t<li\n\t\t\t\t\t\tid=\"chat\"\n\t\t\t\t\t\t@click=\"changeTab\"\n\t\t\t\t\t\t:class=\"{ tab: true, active: tabActive == 'chat' }\"\n\t\t\t\t\t>\n\t\t\t\t\t\tChat\n\t\t\t\t\t</li>\n\t\t\t\t</ul> -->\n\t\t\t\t<div v-if=\"tabActive == 'chapters'\">\n\t\t\t\t\t<ProductContentSidebar\n\t\t\t\t\t\tv-if=\"productVariantData\"\n\t\t\t\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t\t\t\tviewMode=\"sidebar\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<AppsDownloadInstructions v-else />\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport { contentService } from \"../services/content.service\";\nimport ProductContentSidebar from \"../components/Product/ProductContentSidebar.vue\";\nimport { ProductVariantPricingStatus } from \"../constants/pricing\";\nimport AppsDownloadInstructions from \"@/components/Layout/AppsDownloadInstructions\";\n\n\nexport default {\n\tname: \"Content\",\n\tdata() {\n\t\treturn {\n\t\t\ttabActive: \"chapters\",\n\t\t\tproductVariantData: null,\n\t\t\tactiveContent: \"\",\n\t\t\tproductVariantId: \"\",\n\t\t\tid: \"\",\n\t\t\tcontentData: null,\n\t\t\tshowWebDisabled: false,\n\t\t\t\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"content\", [\"getContentById\"]),\n\t\t...mapActions(\"productVariant\", [\"getProductVariantById\"]),\n\t\t...mapActions(\"pricing\", [\"fetchInvoicesList\"]),\n\t\tchangeTab(e) {\n\t\t\tthis.tabActive = e.target.id;\n\t\t},\n\t\tasync checkUserExistingInvoices() {\n\t\t\tvar isPending = await this.fetchInvoicesList({\n\t\t\t\tCustomerSourceID: this.user.id,\n\t\t\t\tProductSourceID: this.productVariantData.id,\n\t\t\t}).then((invoices) => {\n\t\t\t\tif (!invoices.payload.length) return false;\n\t\t\t\tvar invoicePending = false;\n\t\t\t\tinvoices.payload.forEach((invoice) => {\n\t\t\t\t\tif (invoice.status.toLowerCase() != \"paid\") {\n\t\t\t\t\t\tinvoicePending = true;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn invoicePending;\n\t\t\t});\n\t\t\treturn isPending;\n\t\t},\n\t\tasync handleUnenrolledProductVariant() {\n\t\t\tif (\n\t\t\t\tthis.productVariantData.subscriptionStatus.toLowerCase() ==\n\t\t\t\t\t\"unenrolled\" &&\n\t\t\t\t!this.contentData.isContentAvailableForDemo\n\t\t\t) {\n\t\t\t\t// If the user is logged out\n\t\t\t\tif (!this.user) {\n\t\t\t\t\tthis.$toasted.error(\"You are not allowed to access this content.\", {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\tduration: 5000,\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t});\n\t\t\t\t\tthis.$router.push(\"/\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// If the user id logged in\n        console.log(`userType: ${this.user.type}`);\n        console.log(`userProductVariants`, this.user.productVariants);\n\t\t\t\tif (this.user.type.toLowerCase() == \"management\") return;\n\n        if (this.user.type.toLowerCase() == \"trainer\" && this.user.productVariants.contains(this.productVariantData.id)) return;\n\n\t\t\t\tvar isPaymentPending = await this.checkUserExistingInvoices();\n\n\t\t\t\tif (\n\t\t\t\t\tthis.productVariantData.pricingStatus ==\n\t\t\t\t\t\tProductVariantPricingStatus.FREE ||\n\t\t\t\t\t!isPaymentPending\n\t\t\t\t) {\n\t\t\t\t\tthis.$toasted.error(\n\t\t\t\t\t\t\"You are not enrolled in this course so you cannot access this content.\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\t\tduration: 5000,\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tthis.$router.push(\"/user/dashboard\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (isPaymentPending) {\n\t\t\t\t\tthis.$toasted.error(\n\t\t\t\t\t\t\"You have pending unpaid invoices. Please pay your dues to access this content.\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\t\tduration: 5000,\n\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tthis.$router.push(\"/user/invoices\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// console.log({ isPaymentPending });\n\t\t\t}\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"content\", [\"content\", \"loading\"]),\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\t\t...mapState(\"appState\", [\"isMobile\",\"systemParameters\"]),\t\t\n\t\tisDesktopApp() {\n      \t\treturn window.navigator.userAgent.toLowerCase().indexOf(\"electron\") > -1;\n    \t},\n\t\tisWebDisabled(){\n\t\t\treturn this.systemParameters && this.systemParameters.IsWebAccessDisabled=='1';\n\t\t},\n\t\tisContentLoaded() {\n\t\t\tif (this.content[this.id]) {\n\t\t\t\tthis.contentData = this.content[this.id];\n\t\t\t\tconsole.log({ msg: \"content found in store\" });\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\tconsole.log({ msg: \"content not found in store\" });\n\t\t\t\tif (this.loading == false) {\n\t\t\t\t\t// const contentType =\n\t\t\t\t\t// \tthis.$route.name.toLowerCase() == \"liveclass\" ? \"liveclass\" : null;\n\t\t\t\t\tthis.getContentById({\n\t\t\t\t\t\tid: this.id,\n\t\t\t\t\t\textraParams: { Platform: contentService.getCurrentPlatform() },\n\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\tthis.contentData = this.content[this.id];\n\t\t\t\t\t\twindow.document.title = this.contentData.title;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tproductAndContentIdFromUrl() {\n\t\t\tvar idFromUrl = this.$route.params.id.split(\"-\").at(-1);\n\t\t\treturn idFromUrl.split(\"_\");\n\t\t},\n\n\t\tisVSSServiceContent(){\n\t\t\tconst contentId = this.$route.params.id.split(\"-\").at(-1).split(\"_\")[0];\n\t\t\tconst contentData = this.content[contentId];\n\t\t\t\n\t\t\treturn contentData && contentData?.externalService?.serviceCode?.toString().toLowerCase() == 'vss';\n\t\t}\n\t},\n\tcomponents: {AppsDownloadInstructions, ProductContentSidebar },\n\tasync created() {\n\t\t\n\t\tthis.productVariantId = this.productAndContentIdFromUrl[1];\n\t\tthis.id = this.productAndContentIdFromUrl[0];\n\t\tif (!this.productVariants[this.productVariantId]) {\n\t\t\tawait this.getProductVariantById(this.productVariantId).then((data) => {\n\t\t\t\tthis.productVariantData = data;\n\t\t\t});\n\t\t}\n\t\t\n\t\tawait this.getContentById({\n\t\t\tid: this.id,\n\t\t\textraParams: { Platform: contentService.getCurrentPlatform() },\n\t\t}).then(async () => {\n\t\t\tthis.contentData = this.content[this.id];\n\t\t\twindow.document.title = this.contentData.title;\n\t\t\t\n\t\t\tif (!this.isDesktopApp && this.isWebDisabled && this.contentData.isContentAvailableForDemo == false) {\n\t\t\t\tthis.showWebDisabled = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.handleUnenrolledProductVariant();\n\t\t});\n\t},\n\twatch: {\n\t\t$route(to, from) {\n\t\t\tthis.id = this.$route.params.id.split(\"-\").at(-1).split(\"_\")[0];\n\t\t\tthis.productVariantId = this.$route.query.productVariantId;\n\t\t\tconst contentData = this.content[this.id];\n\t\n\t\t\tif (!contentData || this.isVSSServiceContent) {\n\t\t\t\t// const contentType =\n\t\t\t\t// \tthis.$route.name.toLowerCase() == \"liveclass\" ? \"liveclass\" : null;\n\t\t\t\tthis.getContentById({\n\t\t\t\t\tid: this.id,\n\t\t\t\t\textraParams: { Platform: contentService.getCurrentPlatform() },\n\t\t\t\t}).then(() => {\n\t\t\t\t\tthis.contentData = this.content[this.id];\n\t\t\t\t\twindow.document.title = this.contentData.title;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.contentData = this.content[this.id];\n\t\t\t\twindow.document.title = this.contentData.title;\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.content-page-container {\n\t\tflex-direction: column !important;\n\t}\n}\n\n.tab {\n\twidth: 50%;\n\tpadding: 1rem !important;\n\tfont-weight: 500;\n\tfont-size: 1.1rem;\n\tcursor: pointer;\n\ttransition: all 0.2s ease-in-out;\n}\n\n.active,\n.tab:hover {\n\tbackground-color: var(--primary-color-hover);\n}\n\n.content-page-container {\n\tdisplay: flex;\n\tflex-direction: row;\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Content.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Content.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Content.vue?vue&type=template&id=541a7086&scoped=true&\"\nimport script from \"./Content.vue?vue&type=script&lang=js&\"\nexport * from \"./Content.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Content.vue?vue&type=style&index=0&id=541a7086&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"541a7086\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('BannerWithTabs',{attrs:{\"activeTab\":_vm.activeTab},on:{\"activeTab\":_vm.changeTab}}),_c('div',[_c('div',{staticClass:\"dashboard-content-container container\"},[(_vm.activeTab == 'courses')?_c('UserProducts',{attrs:{\"userProducts\":_vm.userProducts}}):_vm._e(),(_vm.activeTab == 'forum')?_c('Forum'):_vm._e(),_c('DashboardUpdatesCard')],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<BannerWithTabs @activeTab=\"changeTab\" :activeTab=\"activeTab\" />\n\t\t<!-- My Courses\n\t\t</DashbooardBanner> -->\n\t\t<div>\n\t\t\t<div class=\"dashboard-content-container container\">\n\t\t\t\t<UserProducts\n\t\t\t\t\t:userProducts=\"userProducts\"\n\t\t\t\t\tv-if=\"activeTab == 'courses'\"\n\t\t\t\t/>\n\t\t\t\t<Forum v-if=\"activeTab == 'forum'\" />\n\t\t\t\t<DashboardUpdatesCard />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport ProductListItem from \"../components/Product/ProductListItem.vue\";\nimport BannerWithTabs from \"../components/Layout/BannerWithTabs.vue\";\nimport DashboardUpdatesCard from \"../components/Dashboard/DashboardUpdatesCard.vue\";\nimport UserProducts from \"../components/Dashboard/UserProducts.vue\";\nimport Forum from \"../components/Dashboard/Forum.vue\";\nimport { mapActions, mapState } from \"vuex\";\nimport { ProductVariantStatus } from \"../constants/productVariant\";\n\nexport default {\n\tname: \"Dashboard\",\n\tdata() {\n\t\treturn {\n\t\t\t// userProducts: [],\n\t\t\tproductsLoaded: false,\n\t\t\tactiveTab: \"courses\",\n\t\t};\n\t},\n\tcomponents: {\n\t\tProductListItem,\n\t\tBannerWithTabs,\n\t\tDashboardUpdatesCard,\n\t\tUserProducts,\n\t\tForum,\n\t},\n\tmethods: {\n\t\tchangeTab(activeTab) {\n\t\t\tthis.activeTab = activeTab;\n\t\t},\n\t\t...mapActions(\"user\", [\"fetchCurrentUser\"]),\n\t\t...mapActions(\"pricing\", [\"fetchInvoiceByUserId\"]),\n\t},\n\tcomputed: {\n\t\t...mapState(\"productVariant\", [\"productVariants\"]),\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"pricing\", [\"invoicesByUserId\"]),\n\t\tuserProducts() {\n\t\t\tvar myProducts =\n\t\t\t\tthis.user && this.user.productVariants\n\t\t\t\t\t? this.user.productVariants.filter(\n\t\t\t\t\t\t\t(productVariant) =>\n\t\t\t\t\t\t\t\tproductVariant.status != ProductVariantStatus.DRAFT\n\t\t\t\t\t\t\t// &&\n\t\t\t\t\t\t\t// ? productVariant.endDate\n\t\t\t\t\t\t\t// \t? new Date() >= productVariant.endDate\n\t\t\t\t\t\t\t// \t: true\n\t\t\t\t\t\t\t// : false\n\t\t\t\t\t\t\t// productVariant.subscriptionStatus &&\n\t\t\t\t\t\t\t// productVariant.subscriptionStatus.toLowerCase() != \"unenrolled\"\n\t\t\t\t\t  )\n\t\t\t\t\t: [];\n\n\t\t\treturn myProducts;\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\twindow.postMessage({ event: \"dashboard-loaded\", data: null });\n\t\t});\n\t},\n\tcreated() {\n\t\tthis.fetchCurrentUser().then(() => {\n\t\t\t// console.log(\"userdata\");\n\t\t\tthis.fetchInvoiceByUserId(this.user.id).then((res) => {\n\t\t\t\tconsole.log(\"invoices: \", res);\n\t\t\t\tvar unenrolledCourses = this.user.productVariants.filter(\n\t\t\t\t\t(variant) =>\n\t\t\t\t\t\tvariant.subscriptionStatus &&\n\t\t\t\t\t\tvariant.subscriptionStatus.toLowerCase() == \"unenrolled\"\n\t\t\t\t);\n\t\t\t\tvar userInvoices = this.invoicesByUserId[this.user.id];\n\n\t\t\t\tunenrolledCourses.forEach((course) => {\n\t\t\t\t\tvar found = userInvoices.find((invoice) =>\n\t\t\t\t\t\tinvoice.details.find(\n\t\t\t\t\t\t\t(detail) => detail.productSourceID == course.id\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\t// console.log(found);\n\t\t\t\t\tif (found) {\n\t\t\t\t\t\tconsole.log(\"Invoice found for unenrolled course\", found);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// console.log({\n\t\t\t\t// \tunenrolledCourses,\n\t\t\t\t// \tinvoicesByUserId: this.invoicesByUserId[this.user.id],\n\t\t\t\t// });\n\t\t\t});\n\n\t\t\tcheckCourses();\n\t\t\tthis.$nextTick(() => {\n\t\t\t\t// const event = new CustomEvent(\"courses-fetched\");\n\t\t\t\t// document.dispatchEvent(event);\n\t\t\t\twindow.postMessage({ event: \"courses-fetched\", data: null });\n\t\t\t});\n\t\t});\n\t},\n};\n\nfunction checkCourses() {\n\tif (typeof getUserProductsCallback !== \"undefined\") {\n\t\tgetUserProductsCallback();\n\t}\n}\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.dashboard-content-container {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.announcement-card {\n\t\tmargin-top: -1rem !important;\n\t}\n\n\t.dashboard-announcement-container {\n\t\tpadding: 0 !important;\n\t}\n}\n\n.dashboard-content-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\t/* row-gap: 1rem; */\n\tpadding: 0 1rem;\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=5fe1493f&scoped=true&\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Dashboard.vue?vue&type=style&index=0&id=5fe1493f&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5fe1493f\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[(\n\t\t\t_vm.systemParameters.Banners && _vm.systemParameters.Banners.slides.length > 0\n\t\t)?_c('HomePageBanner'):_vm._e(),(_vm.categories && _vm.categories.length)?_c('ProductCategoryTabs'):_vm._e(),(_vm.trainers && _vm.trainers.length > 0)?_c('HomePageInstructorSection'):_vm._e(),_c('HomePageSignupSteps')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"home\">\n\t\t<HomePageBanner\n\t\t\tv-if=\"\n\t\t\t\tsystemParameters.Banners && systemParameters.Banners.slides.length > 0\n\t\t\t\"\n\t\t/>\n\n\t\t<ProductCategoryTabs v-if=\"categories && categories.length\">\n\t\t</ProductCategoryTabs>\n\n\t\t<HomePageInstructorSection v-if=\"trainers && trainers.length > 0\" />\n\t\t<!-- <HomePageClientsSection /> -->\n\t\t<!-- <HomePageTeachOrPartner /> -->\n\t\t<HomePageSignupSteps />\n\t\t<!-- <HomePageWhyUs /> -->\n\t\t<!-- <HomePageTestimonials /> -->\n\t\t<!-- </div> -->\n\t\t<!-- </div> -->\n\t</div>\n</template>\n\n<script>\n// import HomePageServiceFeatures from \"../components/Layout/HomePageServiceFeatures.vue\";\nimport HomePageBanner from \"../components/Layout/HomePageBanner.vue\";\nimport HomePageBannerWithOverlay from \"../components/Layout/HomePageBannerWithOverlay.vue\";\n\n// import ProductList from \"../components/Product/ProductList.vue\";\nimport ProductCategoryTabs from \"@/components/Product/ProductCategoryTabs.vue\";\nimport HomePageInstructorSection from \"../components/Instructor/HomepageInstructorSection.vue\";\n// import HomePageClientsSection from \"../components/Layout/HomePageClientsSection.vue\";\n// import HomePageTeachOrPartner from \"../components/Layout/HomePageTeachOrPartner.vue\";\nimport HomePageSignupSteps from \"../components/Layout/HomePageSignupSteps.vue\";\n// import HomePageWhyUs from \"../components/Layout/HomePageWhyUs.vue\";\n// import HomePageTestimonials from \"../components/Layout/HomePageTestimonials.vue\";\nimport { mapActions, mapState } from \"vuex\";\nexport default {\n\tname: \"Home\",\n\tcomponents: {\n\t\tHomePageBanner,\n\t\t// HomePageBannerWithOverlay,\n\t\t// HomePageServiceFeatures,\n\t\t// ProductList,\n\t\tProductCategoryTabs,\n\t\tHomePageInstructorSection,\n\t\t// HomePageClientsSection,\n\t\t// HomePageTeachOrPartner,\n\t\tHomePageSignupSteps,\n\t\t// HomePageWhyUs,\n\t\t// HomePageTestimonials,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\t// banners: banners,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\t\t...mapState(\"user\", [\"trainers\"]),\n\t\t...mapState(\"category\", [\"categories\"]),\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchTrainersList\"]),\n\t\t...mapActions(\"category\", [\"fetchCategories\"]),\n\t\t...mapActions(\"productVariant\", [\n\t\t\t\"fetchProductVariants\"\n\t\t]),\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\t// const event = new CustomEvent(\"homepage-loaded\");\n\t\t\t// document.dispatchEvent(event);\n\t\t\twindow.postMessage({ event: \"homepage-loaded\", data: null });\n\t\t});\n\t},\n\tcreated() {\n\t\tthis.fetchTrainersList().then(() => {\n\t\t\tconsole.log(\"trainers fetched\");\n\t\t});\n\t\tthis.fetchCategories().then(() => {});\n\t\tthis.fetchProductVariants().then(() => {});\n\t},\n};\n</script>\n\n<style scoped>\n.section-heading {\n\tfont-weight: 500;\n\tfont-size: 2.75rem;\n\tline-height: 1.3;\n\tcolor: var(--secondary-color);\n\tmargin-bottom: 0;\n\tletter-spacing: -0.45px;\n\tmargin-bottom: 0;\n}\n\n.section-subheading {\n\tfont-size: 1.375rem;\n\tcolor: #898989;\n\tfont-weight: normal;\n}\n\n.section-heading-container {\n\tmargin: 4rem 0 3.375rem;\n}\n\n/* .section-heading::before {\n\tcontent: \"\";\n\twidth: 3.1rem;\n\theight: 0.35rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: block;\n\ttop: -0.7rem;\n\tleft: 0.3rem;\n\tposition: relative;\n} */\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=325e65ca&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=325e65ca&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"325e65ca\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"invoices\"},[_c('BannerSmall',[_c('div',{staticClass:\"banner-title-card\"},[_c('h1',{staticClass:\"banner-title\"},[_vm._v(\"Invoices\")])])]),_c('div',{staticClass:\"invoice-page-container container\"},[(_vm.invoicesByUserId[_vm.user.id] && _vm.invoicesByUserId[_vm.user.id].length > 0)?_c('div',{staticClass:\"invoice-content-container\"},[_vm._m(0),_c('div',{staticClass:\"invoice-table-body\"},_vm._l((_vm.invoicesByUserId[_vm.user.id]),function(item){return _c('div',{key:item.id,staticClass:\"invoice-table-row custom-accordian\"},[_c('div',{class:[\n\t\t\t\t\t\t\t'invoice-detail-head custom-accordian-head',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\texpanded: _vm.invoiceExpanded == item.id,\n\t\t\t\t\t\t\t\t'status-danger': item.status.toLowerCase() == 'unpaid',\n\t\t\t\t\t\t\t\t'status-success': item.status.toLowerCase() == 'paid',\n\t\t\t\t\t\t\t\t'status-warning':\n\t\t\t\t\t\t\t\t\titem.status.toLowerCase() == 'partially paid',\n\t\t\t\t\t\t\t} ],attrs:{\"id\":item.id,\"href\":(\"#invoice-\" + (item.id))},on:{\"click\":_vm.toggleAccordian}},[_c('i',{class:[\n\t\t\t\t\t\t\t\t'fas fa-angle-down collapse-caret',\n\t\t\t\t\t\t\t\t{ expanded: _vm.invoiceExpanded == item.id } ]}),_c('div',{staticClass:\"table-row-item first\"},[_vm._v(\" \"+_vm._s(item.id.toString().padStart(5, \"0\"))+\" \")]),_c('div',{staticClass:\"table-row-item\"},[_vm._v(\" \"+_vm._s(new Date(item.invoiceDate).toDateString())+\" \")]),_c('div',{staticClass:\"table-row-item\"},[_vm._v(\" \"+_vm._s(_vm.invoiceAmount(item))+\" \")]),_c('div',{staticClass:\"table-row-item\"},[_c('span',{class:[\n\t\t\t\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tsuccess: item.status.toLowerCase() == 'paid',\n\t\t\t\t\t\t\t\t\t\tdanger: item.status.toLowerCase() == 'unpaid',\n\t\t\t\t\t\t\t\t\t\twarning: item.status.toLowerCase() == 'partially paid',\n\t\t\t\t\t\t\t\t\t} ]},[_vm._v(_vm._s(item.status))])]),_c('div',{staticClass:\"table-row-item\"},[_c('PayInvoiceModal',{attrs:{\"invoice\":item,\"showModal\":_vm.showInvoiceModal,\"item\":item,\"totalAmount\":_vm.invoiceAmount(item).toString()}})],1)]),_c('div',{class:[\n\t\t\t\t\t\t\t'invoice-detail-body custom-accordian-body',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\texpanded: _vm.invoiceExpanded == item.id,\n\t\t\t\t\t\t\t\t'status-danger': item.status.toLowerCase() == 'unpaid',\n\t\t\t\t\t\t\t\t'status-success': item.status.toLowerCase() == 'paid',\n\t\t\t\t\t\t\t\t'status-warning':\n\t\t\t\t\t\t\t\t\titem.status.toLowerCase() == 'partially paid',\n\t\t\t\t\t\t\t} ],attrs:{\"id\":(\"invoice-\" + (item.id))}},[_c('div',{staticClass:\"table-responsive\"},[_c('table',{staticClass:\"table\"},[_vm._m(1,true),_vm._l((item.details),function(detail){return _c('tr',{key:detail.id,staticClass:\"invoice-detail-table-row\"},[_c('td',{staticClass:\"invoice-detail-row-item\"},[_vm._v(\" \"+_vm._s(detail.productName ? detail.productName : detail.productID ? detail.productID : \"-\")+\" \")]),_c('td',{staticClass:\"invoice-detail-row-item\"},[_vm._v(\" \"+_vm._s(detail.planName)+\" \"+_vm._s(detail.planDetailTitle != detail.planName ? \" (\" + detail.planDetailTitle + \")\" : \"\")+\" \")]),_c('td',{staticClass:\"invoice-detail-row-item\"},[_vm._v(\" \"+_vm._s(new Date(detail.dueDate).toDateString())+\" \")]),_c('td',{staticClass:\"invoice-detail-row-item\"},[_vm._v(\" \"+_vm._s(_vm.currencyParser(detail, item.currency))+\" \")]),_c('td',{staticClass:\"invoice-detail-row-item\"},[_vm._v(\" \"+_vm._s(detail.discount ? detail.discount : \"-\")+\" \")]),_c('td',{staticClass:\"invoice-detail-row-item\"},[_c('span',{class:[\n\t\t\t\t\t\t\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tsuccess: detail.status.toLowerCase() == 'paid',\n\t\t\t\t\t\t\t\t\t\t\t\t\tdanger: detail.status.toLowerCase() == 'unpaid',\n\t\t\t\t\t\t\t\t\t\t\t\t\twarning:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdetail.status.toLowerCase() == 'partially paid',\n\t\t\t\t\t\t\t\t\t\t\t\t} ]},[_vm._v(_vm._s(detail.status))])])])})],2)])])])}),0)]):_vm._e(),(!_vm.invoicesByUserId[_vm.user.id] && _vm.loading)?_c('div',{staticClass:\"d-flex justify-content-center gap-3\"},[_c('b-spinner'),_vm._v(\" \"),_c('span',[_vm._v(\"Loading...\")])],1):(\n\t\t\t\t_vm.invoicesByUserId[_vm.user.id] && _vm.invoicesByUserId[_vm.user.id].length == 0\n\t\t\t)?_c('div',{staticClass:\"container-fluid text-center p-5\"},[_c('h2',{staticClass:\"text-bold text-muted\"},[_vm._v(\"No invoices found.\")])]):_vm._e()])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"invoice-table-head\"},[_c('div',{staticClass:\"table-head-item\"},[_vm._v(\"Invoice ID\")]),_c('div',{staticClass:\"table-head-item\"},[_vm._v(\"Issue Date\")]),_c('div',{staticClass:\"table-head-item\"},[_vm._v(\"Amount\")]),_c('div',{staticClass:\"table-head-item\"},[_vm._v(\"Status\")]),_c('div',{staticClass:\"table-head-item\"},[_vm._v(\"Pay\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',{staticClass:\"invoice-detail-table-head\"},[_c('th',{staticClass:\"invoice-detail-head-item\"},[_vm._v(\"Course\")]),_c('th',{staticClass:\"invoice-detail-head-item\"},[_vm._v(\"Payment Plan\")]),_c('th',{staticClass:\"invoice-detail-head-item\"},[_vm._v(\"Due Date\")]),_c('th',{staticClass:\"invoice-detail-head-item\"},[_vm._v(\"Amount\")]),_c('th',{staticClass:\"invoice-detail-head-item\"},[_vm._v(\"Discount\")]),_c('th',{staticClass:\"invoice-detail-head-item\"},[_vm._v(\"Status\")])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"invoices\">\n\t\t<BannerSmall>\n\t\t\t<div class=\"banner-title-card\">\n\t\t\t\t<h1 class=\"banner-title\">Invoices</h1>\n\t\t\t</div>\n\t\t</BannerSmall>\n\t\t<div class=\"invoice-page-container container\">\n\t\t\t<div\n\t\t\t\tv-if=\"invoicesByUserId[user.id] && invoicesByUserId[user.id].length > 0\"\n\t\t\t\tclass=\"invoice-content-container\"\n\t\t\t>\n\t\t\t\t<div class=\"invoice-table-head\">\n\t\t\t\t\t<div class=\"table-head-item\">Invoice ID</div>\n\t\t\t\t\t<div class=\"table-head-item\">Issue Date</div>\n\t\t\t\t\t<div class=\"table-head-item\">Amount</div>\n\t\t\t\t\t<!-- <div class=\"table-head-item\">Balance</div> -->\n\t\t\t\t\t<div class=\"table-head-item\">Status</div>\n\t\t\t\t\t<div class=\"table-head-item\">Pay</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"invoice-table-body\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-for=\"item in invoicesByUserId[user.id]\"\n\t\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t\tclass=\"invoice-table-row custom-accordian\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t:id=\"item.id\"\n\t\t\t\t\t\t\t:href=\"`#invoice-${item.id}`\"\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'invoice-detail-head custom-accordian-head',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\texpanded: invoiceExpanded == item.id,\n\t\t\t\t\t\t\t\t\t'status-danger': item.status.toLowerCase() == 'unpaid',\n\t\t\t\t\t\t\t\t\t'status-success': item.status.toLowerCase() == 'paid',\n\t\t\t\t\t\t\t\t\t'status-warning':\n\t\t\t\t\t\t\t\t\t\titem.status.toLowerCase() == 'partially paid',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t@click=\"toggleAccordian\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t\t'fas fa-angle-down collapse-caret',\n\t\t\t\t\t\t\t\t\t{ expanded: invoiceExpanded == item.id },\n\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t></i>\n\t\t\t\t\t\t\t<div class=\"table-row-item first\">\n\t\t\t\t\t\t\t\t{{ item.id.toString().padStart(5, \"0\") }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"table-row-item\">\n\t\t\t\t\t\t\t\t{{ new Date(item.invoiceDate).toDateString() }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"table-row-item\">\n\t\t\t\t\t\t\t\t{{ invoiceAmount(item) }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- <div class=\"table-row-item\">-</div> -->\n\t\t\t\t\t\t\t<div class=\"table-row-item\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tsuccess: item.status.toLowerCase() == 'paid',\n\t\t\t\t\t\t\t\t\t\t\tdanger: item.status.toLowerCase() == 'unpaid',\n\t\t\t\t\t\t\t\t\t\t\twarning: item.status.toLowerCase() == 'partially paid',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t\t\t>{{ item.status }}</span\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"table-row-item\">\n\t\t\t\t\t\t\t\t<PayInvoiceModal\n\t\t\t\t\t\t\t\t\t:invoice=\"item\"\n\t\t\t\t\t\t\t\t\t:showModal=\"showInvoiceModal\"\n\t\t\t\t\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t\t\t\t\t:totalAmount=\"invoiceAmount(item).toString()\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- <transition name=\"smooth\"> -->\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t:id=\"`invoice-${item.id}`\"\n\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t'invoice-detail-body custom-accordian-body',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\texpanded: invoiceExpanded == item.id,\n\t\t\t\t\t\t\t\t\t'status-danger': item.status.toLowerCase() == 'unpaid',\n\t\t\t\t\t\t\t\t\t'status-success': item.status.toLowerCase() == 'paid',\n\t\t\t\t\t\t\t\t\t'status-warning':\n\t\t\t\t\t\t\t\t\t\titem.status.toLowerCase() == 'partially paid',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div class=\"table-responsive\">\n\t\t\t\t\t\t\t\t<table class=\"table\">\n\t\t\t\t\t\t\t\t\t<thead class=\"invoice-detail-table-head\">\n\t\t\t\t\t\t\t\t\t\t<th class=\"invoice-detail-head-item\">Course</th>\n\t\t\t\t\t\t\t\t\t\t<th class=\"invoice-detail-head-item\">Payment Plan</th>\n\t\t\t\t\t\t\t\t\t\t<th class=\"invoice-detail-head-item\">Due Date</th>\n\t\t\t\t\t\t\t\t\t\t<th class=\"invoice-detail-head-item\">Amount</th>\n\t\t\t\t\t\t\t\t\t\t<th class=\"invoice-detail-head-item\">Discount</th>\n\t\t\t\t\t\t\t\t\t\t<th class=\"invoice-detail-head-item\">Status</th>\n\t\t\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t\t\t\t<tr\n\t\t\t\t\t\t\t\t\t\tv-for=\"detail in item.details\"\n\t\t\t\t\t\t\t\t\t\t:key=\"detail.id\"\n\t\t\t\t\t\t\t\t\t\tclass=\"invoice-detail-table-row\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<td class=\"invoice-detail-row-item\">\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdetail.productName\n\t\t\t\t\t\t\t\t\t\t\t\t\t? detail.productName\n\t\t\t\t\t\t\t\t\t\t\t\t\t: detail.productID\n\t\t\t\t\t\t\t\t\t\t\t\t\t? detail.productID\n\t\t\t\t\t\t\t\t\t\t\t\t\t: \"-\"\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t<td class=\"invoice-detail-row-item\">\n\t\t\t\t\t\t\t\t\t\t\t{{ detail.planName }}\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdetail.planDetailTitle != detail.planName\n\t\t\t\t\t\t\t\t\t\t\t\t\t? \" (\" + detail.planDetailTitle + \")\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t<!-- {{ detail.planName ? detail.planName : \"-\" }} -->\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t<td class=\"invoice-detail-row-item\">\n\t\t\t\t\t\t\t\t\t\t\t{{ new Date(detail.dueDate).toDateString() }}\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t<!-- <td class=\"invoice-detail-row-item\">31 - Jan</td> -->\n\t\t\t\t\t\t\t\t\t\t<td class=\"invoice-detail-row-item\">\n\t\t\t\t\t\t\t\t\t\t\t{{ currencyParser(detail, item.currency) }}\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t<td class=\"invoice-detail-row-item\">\n\t\t\t\t\t\t\t\t\t\t\t{{ detail.discount ? detail.discount : \"-\" }}\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t<!-- <td class=\"invoice-detail-row-item\">3000</td> -->\n\t\t\t\t\t\t\t\t\t\t<td class=\"invoice-detail-row-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t\t\t\t\t\t\t\t'status-tag',\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuccess: detail.status.toLowerCase() == 'paid',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdanger: detail.status.toLowerCase() == 'unpaid',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twarning:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdetail.status.toLowerCase() == 'partially paid',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t\t\t\t\t\t>{{ detail.status }}</span\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- </transition> -->\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"d-flex justify-content-center gap-3\"\n\t\t\t\tv-if=\"!invoicesByUserId[user.id] && loading\"\n\t\t\t>\n\t\t\t\t<b-spinner></b-spinner> <span>Loading...</span>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tv-else-if=\"\n\t\t\t\t\tinvoicesByUserId[user.id] && invoicesByUserId[user.id].length == 0\n\t\t\t\t\"\n\t\t\t\tclass=\"container-fluid text-center p-5\"\n\t\t\t>\n\t\t\t\t<h2 class=\"text-bold text-muted\">No invoices found.</h2>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport BannerSmall from \"../components/Layout/BannerSmall.vue\";\nimport PayInvoiceModal from \"../components/Invoice/PayInvoiceModal.vue\";\nimport { mapActions, mapState } from \"vuex\";\nimport { toCurrencyString } from \"../helpers/FormatHelpers\";\n// import CookieHelpers from \"../helpers/CookieHelpers\";\n\nexport default {\n\tname: \"Invoice\",\n\tcomponents: { BannerSmall, PayInvoiceModal },\n\tdata() {\n\t\treturn {\n\t\t\tinvoiceExpanded: \"1\",\n\t\t\t// user: null,\n\t\t\tshowInvoiceModal: false,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"pricing\", [\"fetchInvoiceByUserId\"]),\n\n\t\ttoggleAccordian(e) {\n\t\t\tconsole.log(e.target.parentNode.id);\n\t\t\tif (this.invoiceExpanded == e.target.parentNode.id) {\n\t\t\t\tthis.invoiceExpanded = \"-1\";\n\t\t\t} else {\n\t\t\t\tthis.invoiceExpanded = e.target.parentNode.id;\n\t\t\t}\n\t\t},\n\t\tpayInvoice() {\n\t\t\tconsole.log(\"paynow clicked\");\n\t\t\t// this.$router.push(\"/shop/checkout\");\n\t\t\tthis.showInvoiceModal = true;\n\t\t},\n\t\tinvoiceAmount(invoice) {\n\t\t\tvar total = 0;\n\t\t\tinvoice.details.forEach((d) => (total += d.amount - d.discount));\n\t\t\treturn total ? toCurrencyString(total, invoice.currency, 0) : 0;\n\t\t},\n\t\tcurrencyParser(detail, currency) {\n\t\t\treturn detail.amount ? toCurrencyString(detail.amount, currency, 0) : 0;\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"pricing\", [\"invoicesByUserId\", \"loading\"]),\n\t\t...mapState(\"user\", [\"user\"]),\n\t},\n\tcreated() {\n\t\t// this.user = JSON.parse(localStorage.getItem(\"user\"));\n\t\tif (!this.invoicesByUserId[this.user.id]) {\n\t\t\tthis.fetchInvoiceByUserId(this.user.id).then(() => {\n\t\t\t\tconsole.log(\"invoices by customer id fetched\");\n\t\t\t\tthis.invoiceExpanded = this.invoicesByUserId[this.user.id][0].id;\n\t\t\t});\n\t\t} else {\n\t\t\tthis.invoiceExpanded = this.invoicesByUserId[this.user.id][0].id;\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\twindow.postMessage({ event: \"invoice-page-loaded\", data: null });\n\t\t});\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 768px) {\n\t.status-danger {\n\t\tborder-left: 6px solid var(--color-danger) !important;\n\t}\n\n\t.status-success {\n\t\tborder-left: 6px solid var(--color-success) !important;\n\t}\n\n\t.status-warning {\n\t\tborder-left: 6px solid var(--color-warning) !important;\n\t}\n\n\t.invoice-page-container {\n\t\tpadding: 0 1rem !important;\n\t}\n\n\t.table-row-item {\n\t\tpadding: 1rem 0.25rem !important;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tfont-size: 0.875rem !important;\n\t\t/* pointer-events: none; */\n\t}\n\t.table-head-item {\n\t\tpadding: 1rem 0.25rem !important;\n\t\tfont-size: 1rem !important;\n\t\tline-height: 1 !important;\n\t}\n\n\t.table-head-item:first-of-type {\n\t\tpadding: 1rem !important;\n\t}\n\n\t.banner-title-card {\n\t\ttop: 2rem !important;\n\t}\n\n\t.collapse-caret {\n\t\tfont-size: 1rem !important;\n\t\ttop: 50% !important;\n\t\ttransform: translateY(-50%) !important;\n\t\tline-height: 0.75;\n\t\tleft: 0.375rem !important;\n\t}\n\t.collapse-caret.expanded {\n\t\ttop: 50% !important;\n\t\ttransform: translateY(-50%) rotate(-180deg) !important;\n\t\t/* transform:  !important; */\n\t}\n\n\t.status-tag {\n\t\tpadding: 0.25rem 0.375rem !important;\n\t\tfont-size: 0.75rem;\n\t}\n\n\t.invoice-detail-head-item {\n\t\tpadding: 0.5rem !important;\n\t}\n\n\t.invoice-detail-row-item {\n\t\tpadding: 0.5rem !important;\n\t}\n}\n\n.invoices .banner-small {\n\theight: 8rem;\n\tmargin-bottom: 3rem;\n}\n\n.banner-title-card {\n\tbackground-color: var(--color-white);\n\tpadding: 2.75rem 3rem 1.75rem 1.5rem;\n\twidth: fit-content;\n\tborder-radius: 8px;\n\tborder: 1px solid #a3a3a3;\n\tposition: absolute;\n\ttop: 4rem;\n\tbox-shadow: 0 0 16px #c9c9c929;\n}\n\n.invoices .banner-title-card {\n\tmin-width: 20rem !important;\n}\n\n.banner-title {\n\t/* font-size: 2.5rem;\n\tfont-weight: bold; */\n\tfont-weight: bold;\n\tfont-size: 2rem;\n\tcolor: #000000;\n\t/* padding: 2.5rem 0; */\n\tmargin: 0;\n}\n\n.banner-title:before {\n\tcontent: \"\";\n\twidth: 2rem;\n\theight: 0.35rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: block;\n\ttop: -1rem;\n\tleft: 0;\n\tposition: relative;\n}\n\n.invoice-page-container {\n\tpadding: 2.125rem 0;\n}\n\n.invoice-page-container .border-input {\n\tmin-width: unset !important;\n\tpadding: 1.25rem 1rem;\n\tfont-size: 1rem;\n\tborder-width: 2px;\n\tfont-weight: 500 !important;\n\tborder-radius: 6px;\n}\n\n.invoice-search {\n\tdisplay: flex;\n\talign-items: center;\n\tposition: relative;\n\tflex-grow: 6;\n\tmargin: 0 !important;\n}\n\n.invoice-content-container {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.invoice-table-head {\n\tdisplay: grid;\n\tgrid-auto-flow: column;\n\tgrid-auto-columns: 1fr;\n}\n\n.table-head-item {\n\tdisplay: flex;\n\tpadding: 2rem;\n\ttext-decoration: none;\n\tcolor: #959595;\n\tfont-weight: 500;\n\tfont-size: 1.125rem;\n\tline-height: 1.25;\n}\n\n.invoice-detail-head {\n\tposition: relative;\n\tdisplay: grid;\n\tgrid-auto-flow: column;\n\tgrid-auto-columns: 0.95fr 1fr 1fr 1fr 1fr;\n\tbackground-color: #f5f5f5;\n\t/* padding: 2.375rem; */\n\tborder-radius: 0.25rem;\n\tcursor: pointer;\n}\n\n.invoice-detail-head.expanded {\n\tborder-radius: 0.25rem 0.25rem 0 0;\n}\n\n.invoice-detail-body {\n\tdisplay: none;\n\tborder-radius: 0 0 0.25rem 0.25rem;\n\tbackground-color: #fafafa;\n}\n\n.invoice-detail-body.expanded {\n\tdisplay: block;\n}\n\n.invoice-table-row {\n\tmargin-bottom: 0.5rem;\n}\n\n.table-row-item {\n\tdisplay: flex;\n\tcolor: #000000;\n\tfont-size: 1rem;\n\tfont-weight: 500;\n\tline-height: 1;\n\tpadding: 2.375rem 0 2.375rem 2rem;\n\t/* pointer-events: none; */\n}\n\n.table-row-item.first {\n\tpadding-left: 3.5rem;\n}\n\n.status-danger {\n\tborder-left: 12px solid var(--color-danger);\n}\n\n.status-success {\n\tborder-left: 12px solid var(--color-success);\n}\n\n.status-warning {\n\tborder-left: 12px solid var(--color-warning);\n}\n\n.collapse-caret {\n\tposition: absolute;\n\tfont-size: 1.5rem;\n\ttop: 2.375rem;\n\tline-height: 0.75;\n\tleft: 1.25rem;\n}\n\n.collapse-caret.expanded {\n\ttransform: rotate(-180deg);\n}\n\n.invoice-detail-table-head {\n\tdisplay: grid;\n\tgrid-auto-flow: column;\n\tgrid-auto-columns: 1fr;\n}\n\n.invoice-detail-head-item {\n\tcolor: #7c7c7c;\n\tfont-weight: 500;\n\tfont-size: 0.9rem;\n\tpadding: 1.25rem 1.5rem;\n}\n\n.invoice-detail-table-row {\n\tdisplay: grid;\n\tgrid-auto-flow: column;\n\tgrid-auto-columns: 1fr;\n\tborder: none !important;\n}\n\n.invoice-detail-row-item {\n\tcolor: #000000;\n\tfont-weight: 500;\n\tfont-size: 0.9rem;\n\tpadding: 1.25rem 1.5rem;\n\tborder-top: 1px solid #dbdbdb;\n}\n.status-tag {\n\tborder-radius: 0.25rem !important;\n\tpadding: 0.25rem 0.5rem;\n\ttext-transform: uppercase;\n\tcolor: #ffffff;\n\tfont-size: 0.75rem;\n\tfont-weight: normal;\n\tline-height: 1;\n}\n\n.status-tag.success {\n\tbackground-color: #00c672;\n}\n\n.status-tag.danger {\n\tbackground-color: var(--color-danger);\n}\n\n.status-tag.warning {\n\tbackground-color: var(--color-warning);\n}\n\nstatus-warning .custom-accordian-head {\n\tcursor: pointer;\n}\n\n.smooth-enter-active,\n.smooth-leave-active {\n\toverflow: hidden;\n\ttransition: height 1s linear;\n}\n.smooth-enter,\n.smooth-leave-to {\n\tmax-height: 0;\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Invoice.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Invoice.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Invoice.vue?vue&type=template&id=4dd4de2c&scoped=true&\"\nimport script from \"./Invoice.vue?vue&type=script&lang=js&\"\nexport * from \"./Invoice.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Invoice.vue?vue&type=style&index=0&id=4dd4de2c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4dd4de2c\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view',{attrs:{\"instructions\":_vm.instructions,\"paymentMode\":_vm.selectedGateway}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<router-view :instructions=\"instructions\" :paymentMode=\"selectedGateway\">\n\t</router-view>\n\t<!-- <component :is=\"paymentOption\" :instructions=\"instructions\" :paymentMode=\"selectedGateway\"></component> -->\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport Cash from \"../components/Payment/Cash.vue\";\nimport BankTransfer from \"../components/Payment/BankTransfer.vue\";\nexport default {\n\tname: \"Payment\",\n\tdata() {\n\t\treturn {\n\t\t\tinstructions: null,\n\t\t\tselectedGateway: null,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"appState\", [\"externalServicesList\"]),\n\t\tpaymentOption() {\n\t\t\tconsole.log(this.$route.name);\n\t\t\treturn this.$route.name;\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"appState\", [\"fetchExternalServices\"]),\n\t},\n\tcreated() {\n\t\tif (!this.externalServicesList.PaymentGateway) {\n\t\t\tthis.fetchExternalServices(\"PaymentGateway\").then(() => {\n\t\t\t\tvar paymentGateway = this.externalServicesList.PaymentGateway.find(\n\t\t\t\t\t(gateway) => gateway.serviceProvider == this.paymentOption\n\t\t\t\t);\n\t\t\t\tconsole.log(\n\t\t\t\t\t'{ \"IconSrc\": \"/assets/images/ibft_logo.png\", \"Instructions\": \"To pay through IBFT/Bank Transfer, transfer amount in following Bank Account<br><br>Bank: Dubai Islamic Bank<br> Account Title: Saylani Welfare International Trust (Branch Code: 061)<br> Account No: 0011036003<br><br>Upload snapshot of transaction as evidence, SBIL Team will review and approve your payment then you will be able to access your enrolled courses.\" }'\n\t\t\t\t);\n\t\t\t\tthis.instructions = JSON.parse(paymentGateway.serviceData).Instructions;\n\t\t\t\tthis.selectedGateway = paymentGateway;\n\t\t\t});\n\t\t} else {\n\t\t\tvar paymentGateway = this.externalServicesList.PaymentGateway.find(\n\t\t\t\t(gateway) => gateway.serviceProvider == this.paymentOption\n\t\t\t);\n\t\t\tconsole.log(\n\t\t\t\t'{ \"IconSrc\": \"/assets/images/ibft_logo.png\", \"Instructions\": \"To pay through IBFT/Bank Transfer, transfer amount in following Bank Account<br><br>Bank: Dubai Islamic Bank<br> Account Title: Saylani Welfare International Trust (Branch Code: 061)<br> Account No: 0011036003<br><br>Upload snapshot of transaction as evidence, SBIL Team will review and approve your payment then you will be able to access your enrolled courses.\" }'\n\t\t\t);\n\t\t\tthis.instructions = JSON.parse(paymentGateway.serviceData).Instructions;\n\t\t\tthis.selectedGateway = paymentGateway;\n\t\t}\n\t},\n\tcomponents: {\n\t\tCash,\n\t\tBankTransfer,\n\t},\n};\n</script>\n\n<style scoped>\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Payment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Payment.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Payment.vue?vue&type=template&id=020de769&scoped=true&\"\nimport script from \"./Payment.vue?vue&type=script&lang=js&\"\nexport * from \"./Payment.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"020de769\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sidebar-mini layout-fixed\"},[_c('div',{staticClass:\"page-wrapper\"},[_c('ProductContentSidebar'),_c('div',{staticClass:\"wrapper align-items-center d-flex flex-column product-content-dash\"},[(_vm.currentPage.toLowerCase() == 'chapters')?_c('ProductContentSection'):_vm._e(),(_vm.currentPage.toLowerCase() == 'liveclasses')?_c('ProductContentClasses',{staticClass:\"body\"}):_vm._e(),(_vm.currentPage.toLowerCase() == 'flashcards')?_c('ProductContentFlashCards',{staticClass:\"body\"}):_vm._e(),(_vm.currentPage.toLowerCase() == 'exams')?_c('ProductContentExams',{staticClass:\"body\"}):_vm._e(),(_vm.currentPage.toLowerCase() == 'assignments')?_c('ProductContentAssignments',{staticClass:\"body\"}):_vm._e()],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"sidebar-mini layout-fixed\">\n\t\t<div class=\"page-wrapper\">\n\t\t\t<ProductContentSidebar></ProductContentSidebar>\n\t\t\t<div class=\"wrapper align-items-center d-flex flex-column product-content-dash\">\n\t\t\t\t<ProductContentSection v-if=\"currentPage.toLowerCase() == 'chapters'\" />\n\t\t\t\t<ProductContentClasses class=\"body\" v-if=\"currentPage.toLowerCase() == 'liveclasses'\" />\n\t\t\t\t<ProductContentFlashCards class=\"body\" v-if=\"currentPage.toLowerCase() == 'flashcards'\" />\n\t\t\t\t<ProductContentExams class=\"body\" v-if=\"currentPage.toLowerCase() == 'exams'\" />\n\t\t\t\t<ProductContentAssignments class=\"body\" v-if=\"currentPage.toLowerCase() == 'assignments'\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport ProductContentSidebar from \"../components/ProductContentDashboard/ProductContentSidebar.vue\"\nimport ProductContentSection from \"../components/ProductContentDashboard/ProductContentSection.vue\"\nimport ProductContentClasses from '../components/ProductContentDashboard/ProductContentClasses.vue';\nimport ProductContentFlashCards from \"../components/ProductContentDashboard/ProductContentFlashCards.vue\";\nimport ProductContentAssignments from \"../components/ProductContentDashboard/ProductContentAssignments.vue\";\nimport ProductContentExams from \"../components/ProductContentDashboard/ProductContentExams.vue\";\nimport { ProductVariantStatus,ProductVariantSubscriptionStatus } from \"../constants/productVariant\";\n\nimport { ContentType } from \"../constants/content\";\nimport Swal from \"sweetalert2\";\nexport default {\n\tname: \"ProductContentDashboard\",\n\tcomponents: {\n\t\tProductContentSidebar,\n\t\tProductContentSection,\n\t\tProductContentClasses,\n\t\tProductContentFlashCards,\n\t\tProductContentExams,\n\t\tProductContentAssignments,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tcurrentPage:\"\"\n\t\t};\n\t},\n\tmethods: {\t\t\n\t\t...mapActions(\"productVariant\", [\"getProductVariantById\",\"getProductVariantProgress\"]),\t\t\n\t\t...mapActions(\"user\", [\"fetchCurrentUser\",\"fetchTrainersList\"]),\n\t\t...mapActions(\"content\", [\"getUserContentAction\"]),\n\t\tcheckProductvariant:function(){\n\t\t\tif(this.productVariantID)\n\t\t\t{\n\t\t\t\tvar userProductVariant = (this.user && this.user.productVariants\n\t\t\t\t\t? this.user.productVariants.filter(\n\t\t\t\t\t\t(productVariant) =>\n\t\t\t\t\t\t\tproductVariant.status != ProductVariantStatus.DRAFT && \n\t\t\t\t\t\t\tproductVariant.product && \n\t\t\t\t\t\t\tproductVariant.product.title && \n\t\t\t\t\t\t\tproductVariant.subscriptionStatus == ProductVariantSubscriptionStatus.ALLOWED &&\n\t\t\t\t\t\t\t(!productVariant.endDate || new Date(productVariant.endDate) >= new Date()) &&\n\t\t\t\t\t\t\t(!productVariant.expiresAt || new Date(productVariant.expiresAt) >= new Date())\n\t\t\t\t\t)\n\t\t\t\t\t: []).find(x=>x.id==this.productVariantID);\n\n\t\t\t\tif(userProductVariant){\n\n\t\t\t\t\tif (!userProductVariant.properties || !userProductVariant.properties.contentViewTheme || userProductVariant.properties.contentViewTheme.toLowerCase() != 'ebook') {\n\t\t\t\t\t\tthis.$router.push(\"/product/details/\"+userProductVariant.id);\n\t\t\t\t\t} \n\t\t\t\t}else{\n\t\t\t\t\tthis.$router.push(\"/product/details/\"+this.productVariantID);\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t// console.log(userProductVariant,\"userProductVariant\");\t\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\t\t\n\t\t\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"content\", [\"content\",\"contentActions\"]),\n\n\t},\n\tcreated() {\n\t\tthis.fetchCurrentUser();\n\t\tthis.fetchTrainersList().then(() => {\n\t\t\tconsole.log(\"trainers fetched\");\n\t\t});\n\t\tif (this.$route.params.page && this.$route.params.page != this.currentPage) {\n\t\t\tthis.currentPage = this.$route.params.page;\n\t\t}\n\t\tif (this.$route.params.id && this.productVariantID != this.$route.params.id) {\n\t\t\t\tthis.productVariantID = this.$route.params.id;\n\t\t\t\tconsole.log(\"Part 1\");\n\t\t\t\tthis.getProductVariantById(this.productVariantID);\n\t\t\t\tthis.checkProductvariant();\n\t\t}\n\t},\n\t\n\twatch:{\n\t\t$route:function(to,from){\n\t\t\tif (from.query.contentId && from.query.contentId!=to.query.contentId) {\n\n\t\t\t\tif(\tthis.content[from.query.contentId] && \n\t\t\t\t\tthis.content[from.query.contentId].type==ContentType.RECORDED_VIDEOS &&\n\t\t\t\t\t!this.contentActions[from.query.contentId]?.find(x=>x.dataType.toLowerCase()=='completionstatus' && x.data.toLowerCase()=='completed'))\n\t\t\t\t{\t\n\t\t\t\t\tvar oldCID=from.query.contentId;\n\t\t\t\t\tthis.getUserContentAction({contentId:oldCID}).then((actions)=>{\n\t\t\t\t\t\tif(actions?.find(x=>x.dataType.toLowerCase()=='completionstatus'))\n\t\t\t\t\t\t{\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tthis.getProductVariantProgress(this.$route.params.id);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif (this.$route.params.page && this.$route.params.page!=this.currentPage) {\n\t\t\t\tthis.currentPage=this.$route.params.page;\n\t\t\t}\n\t\t\tif (this.$route.params.id && this.productVariantID != this.$route.params.id) {\n\t\t\t\tthis.productVariantID = this.$route.params.id;\n\t\t\t\tif (!this.productVariants || !this.productVariants.items[this.productVariantID]) {\n\t\t\t\t\tthis.getProductVariantById(this.productVariantID);\n\t\t\t\t}\n\t\t\t\tthis.checkProductvariant();\n\t\t\t\t\n\t\t\t}\n\t\t},\n\t\tproductVariantID:function(){\n\t\t\t\n\t\t}\n\t}\n};\n</script>\n\n<style>\n\n  /*-======== Sidebar ================*/\n  /*========== Body =======*/\n.product-content-dash .spinner-border {\n\tborder-color: var(--primary-color);\n\tborder-right-color: transparent;\n}\n  .wrapper {\n\twidth: 100%;\n\twill-change: auto;\n\ttransition: padding .15s;\n}\n\nhtml:not([dir=rtl]) .wrapper {\n\tpadding-left: var(--sidebar-occupy-start, 0);\n\tpadding-right: var(--sidebar-occupy-end, 0);\n}\n\n.body {\n\twidth: 100%;\n}\n\n@media (min-width: 1200px) {\n\t.body {\n\t\t/* max-width: 1200px; */\n\t}\n}\n\n.main-tabs-row {\n\tdisplay: flex;\n\tborder-bottom: solid 1px var(--border-color);\n\tpadding: 0 20px;\n\theight:50px;\n}\n\n.main-tabs-row .nav-tabs {\n\tborder: none;\n}\n\n.main-tabs-row h6 {\n\tmargin-bottom: 0;\n\tline-height: 40px;\n\tmargin-right: 20px;\n\tfont-size: 16px;\n}\n\n.main-tabs a,\n.main-tabs .nav-link {\n\tpadding-top: 5px;\n    padding-bottom: 5px;\n    height: 50px;\n    line-height: 44px;\n}\n\n.main-tabs a,\n.main-tabs .nav-link,\n.main-tabs .nav-link:hover {\n\tborder: none !important;\n\tbackground: none;\n\tcolor: var(--primary);\n\toutline: none !important;\n}\n\n.main-tabs-row .nav-tabs .nav-link.active {\n\tbackground: none;\n\tborder: none;\n\tborder-bottom: solid var(--primary-color) !important;\n\tfont-weight: 700;\n}\n\n.eb-content-wrapper {\n\tbackground-color: var(--white);\n\tpadding: 20px 20px 15px 20px;\n}\n\n.eb-header {\n\tdisplay: flex;\n\t/* border-bottom: solid 1px var(--border-color); */\n\tflex-wrap: wrap;\n\theight: 40px;\n\talign-items: center;\n}\n\n.eb-header.eb-header-auto {\n\theight: auto;\n}\n\n.eb-header.eb-header-auto {\n\theight: auto;\n}\n\n.border-bottom {\n\tborder-bottom: solid 1px var(--border-color) !important;\n}\n\n.eb-sub-header {\n\tdisplay: flex;\n\tborder-bottom: solid 1px var(--border-color);\n\tflex-wrap: wrap;\n\talign-items: center;\n}\n\n.eb-header h5 {\n\tmargin: 0 30px 0 0;\n\tline-height: 28px;\n\tfont-size: 15px;\n}\n\n.eb-header h5 a {\n\tcolor: inherit;\n}\n\n.eb-header h5 i {\n\tmargin-right: 5px;\n}\n\n.eb-header .eb-filter-toggle {\n\tpadding: 0px 15px;\n\tline-height: 26px;\n\tfont-size: 14px;\n\tvertical-align: middle;\n\tborder-radius: 5px;\n\tbackground: none !important;\n\tborder: solid 1px var(--border-color);\n\tfont-weight: 500;\n\theight: 38px;\n\tmin-width: 120px;\n}\n\n.eb-header .eb-filter-toggle img {\n\twidth: auto;\n\theight: auto;\n\tmax-height: 16px;\n\tmargin-right: 3px;\n}\n\n.eb-header .eb-filter-toggle i {\n\tposition: relative;\n\tbottom: -1px;\n\tleft: 4px;\n}\n\n.eb-header .dropdown-toggle::after {\n\tdisplay: none;\n}\n.eb-chapters-search{\n\tflex-grow: 1;\n\tpadding-right: 10px;\n}\n.eb-chapters-search input[type=\"text\"]{\n\theight: 38px;\n\tmargin: 0;\n\tfont-size: 14px !important;\n}\n\n.eb-filters {\n\tfont-size: 14px;\n}\n\n.eb-filters .form-control,\n.eb-filters .form-select,\n.eb-filters .btn,\n.eb-content-wrapper .form-control,\n.eb-content-wrapper .form-select,\n.eb-content-wrapper .btn {\n\tborder-radius: 4px;\n\tbox-shadow: none !important;\n}\n\n.eb-filters .form-select {\n\tcursor: pointer;\n}\n\n.eb-filter-area {\n\tpadding: 5px 0px 10px;\n\tmargin-bottom: 10px;\n}\n\n.eb-filters .btn-primary,\n.eb-content-wrapper .btn-primary,\n.eb-content .btn-primary {\n\tbackground-color: var(--primary-color);\n\tborder-color: var(--primary-color);\n\tfont-size: 15px;\n}\n\n.eb-filters .btn-primary:hover,\n.eb-content-wrapper .btn-primary:hover,\n.eb-content .btn-primary:hover {\n\tbackground-color: var(--primary-color-hover);\n\tborder-color: var(--primary-color-hover);\n}\n\n.eb-filters .btn-outline-primary,\n.eb-content-wrapper .btn-outline-primary,\n.eb-content .btn-outline-primary {\n\tbackground-color: var(--btn-outline-primary); \n\tborder: solid 1px var(--border-color);\n\tcolor: var(--primary);\n\tfont-size: 15px;\n}\n\n.eb-filters .btn-outline-primary:hover,\n.eb-content-wrapper .btn-outline-primary:hover,\n.eb-content .btn-outline-primary:hover {\n\tbackground-color: var(--gray-light-hover);\n\tborder: solid 1px var(--border-color);\n\tcolor: var(--primary);\n}\n\n.eb-filters .btn-outline-primary:focus,\n.eb-filters .btn-outline-primary:active,\n.eb-content .btn-outline-primary:focus,\n.eb-content .btn-outline-primary:active,\n.eb-content .btn:first-child:active,\n.eb-content :not(.btn-check)+.btn:active {\n\tbackground-color: var(--gray-light-hover);\n\tborder: solid 1px var(--border-color);\n\tcolor: var(--primary);\n}\n\n\n\n/*=========== E-book Accordion =======*/\n.eb-chapter-toggle {\n\tborder: none;\n\tmargin-bottom: 15px;\n}\n\n.eb-chapter-toggle .accordion-button {\n\tbox-shadow: none !important;\n}\n\n.eb-chapter-toggle .accordion-button:focus {\n\tborder-color: none;\n\tbox-shadow: none;\n}\n\n.eb-chapter-toggle .accordion-button,\n.eb-chapter-toggle .accordion-button:not(.collapsed) {\n\tbackground-color: #F8F8F8;\n\tfont-weight: 600;\n\tpadding: 2px 15px 1px 45px;\n\tjustify-content: space-between;\n\tborder-top-left-radius: 6px !important;\n\tborder-top-right-radius: 6px !important;\n\tborder: solid 1px var(--border-color);\n\tfont-size: 15px;\n\theight: 42px;\n}\n.eb-chapter-toggle .accordion-button .head-text\n{\n\tcolor: #231F20;\nfont-family: Circular Std;\nfont-size: 17px;\nfont-style: normal;\nfont-weight: 500;\nline-height: normal;\n}\n\n.eb-chapter-toggle .accordion-button .side-text\n{\n\tcolor: #4A4A4A;\nfont-family: Circular Std;\nfont-size: 1rem;\nfont-style: normal;\nfont-weight: 500;\nline-height: normal;\n}\n\n.eb-chapter-toggle .accordion-button.collapsed {\n\tborder-bottom-right-radius: 6px;\n\tborder-bottom-left-radius: 6px;\n}\n\n.eb-chapter-toggle .accordion-button:not(.collapsed)::after,\n.eb-chapter-toggle .accordion-button::after {\n\tfont-weight: 900;\n\tfont-family: \"Font Awesome 5 Pro\";\n\tbackground: none;\n\tcolor: var(--white);\n}\n\n.eb-chapter-toggle .accordion-button:not(.collapsed)::after {\n\tcontent: \"\\f068\";\n\tposition: relative;\n\tleft: -4px;\n}\n\n.eb-chapter-toggle .accordion-button::after {\n\tcontent: \"\\f067\";\n}\n\n.eb-chapter-toggle .accordion-button:not(.collapsed)::after,\n.eb-chapter-toggle .accordion-button::after {\n\tposition: absolute;\n\tleft: 10px;\n\ttransform: none;\n\tcolor: white;\n\tbackground-color: #333;\n\tborder-radius: 50%;\n\twidth: 24px;\n\theight: 24px;\n\tdisplay: block;\n\ttext-align: center;\n\tline-height: 22px;\n\tfont-size: 12px;\n}\n\n.marked-count {\n\tfont-size: 14px;\n}\n.eb-label{\n\tdisplay: inline-block;\n\tborder-radius: 6px;\n\tpadding: 6px 10px 5px;\n\tborder:solid 1px var(--border-color);\n\tcolor: var(--primary-link-color);\n\tfont-weight: 400 !important;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: white;\n\tline-height: 1;\n}\n.label-completed{\t\n\tborder:solid 1px var(--color-label-succes);\n\tcolor: var(--color-label-succes);\n}\n.eb-toggle-header .eb-label{\n\tfont-size: 13px;\n}\n\n.eb-chapter-toggle .accordion-body {\n\tpadding: 0;\n\tborder: solid 1px var(--border-color);\n\tborder-top: none;\n\tborder-radius: 0 0 6px 6px;\n}\n\n.eb-chapter-list {\n\tdisplay: flex;\n\tflex-flow: column nowrap;\n}\n\n.eb-chapter-row {\n\tdisplay: flex;\n\tflex-flow: row nowrap;\n\twidth: 100%;\n\tborder-bottom: 1px solid var(--border-color);\n}\n\n.chapter-row-item {\n\tflex: 1;\n\tfont-size: 15px;\n\ttransition: all 0.15s ease-in-out;\n}\n\n.chapter-row-item a {\n\tcolor: var(--primary-link-color);\n\ttext-decoration: none;\n\tfont-weight: 500;\n\tdisplay: block;\n\tpadding: 8px 0;\n}\n\n.chapter-row-item a:hover {\n\tcolor: var(--primary-color);\n}\n\n.eb-chapter-row>.chapter-row-item:first-of-type {\n\tpadding-left: 15px;\n\tflex-grow: 0.3;\n}\n\n.chapter-row-sub-container {\n\tflex-flow: column nowrap;\n\tflex: 1;\n}\n\n.chapter-row-subitems {\n\tpadding: 0;\n\tmargin: 0;\n\tflex: 1;\n\tlist-style: none;\n}\n\n.chapter-row-sub-container .chapter-row-item,\n.chapter-row-subitems>.chapter-row-item {\n\tborder-bottom: 1px solid #dadada;\n\tpadding: 5px;\n}\n\n.chapter-row-subitems>.chapter-row-item>a {\n\tflex: 1;\n}\n\n.accordion-item {\n\tborder: 0px !important;\n\tpadding: 0px;\n}\n\n.eb-chapter-row:last-child,\n.chapter-row-sub-container .chapter-row-item:last-child,\n.chapter-row-subitems>.chapter-row-item:last-child {\n\tborder-bottom: 0;\n}\n\n.confidence-label-low{\t\n\tborder-color: var(--confidence-label-low);\n}\n.confidence-label-medium{\t\n\tborder-color: var(--confidence-label-medium);\n}\n.confidence-label-high{\t\n\tborder-color: var(--confidence-label-high);\n}\n.confidence-label-low svg path{\n  fill: var(--confidence-label-low);\n  stroke: var(--confidence-label-low);\n}\n.confidence-label-medium svg path{\n  fill: var(--confidence-label-medium);\n  stroke: var(--confidence-label-medium);\n}\n.confidence-label-high svg path{\n  fill: var(--confidence-label-high);\n  stroke: var(--confidence-label-high);\n}\n\n/*======== Chapter Details =========*/\n\n.eb-chapter-arrows {\n\tpadding: 0 2px 0 4px;\n}\n\n.eb-chapter-arrows button,\n.eb-chapter-controls button,\n.eb-edit-bar button {\n\tbackground: none !important;\n\tborder: none !important;\n\twidth: 28px;\n\theight: 28px;\n\tmargin: 0;\n\ttext-align: center;\n\tpadding: 0;\n\tmargin: 0;\n\tfont-size: 18px;\n}\n\n.eb-chapter-controls button {\n\topacity: 0.70;\n}\n\n.eb-chapter-controls button:hover,\n.eb-chapter-controls button:active {\n\topacity: 0.90;\n}\n\n.eb-chapter-controls {\n\tpadding: 0 4px;\n}\n\n.eb-header .vr {\n\tmin-height: 28px;\n\talign-self: auto;\n\topacity: 1;\n\tbackground-color: var(--border-color);\n\tmargin: 0 4px;\n}\n\n.eb-chapter-controls .vr {\n\tmargin: 0 8px;\n}\n\n.chapter-details {\n\tdisplay: flex;\n\tfont-size: 15px;\n\tflex-direction: column;\n}\n\n.cd-head {\n\tborder: solid 1px var(--border-color);\n\tborder-radius: 6px 6px 0 0;\n\tborder-bottom-width: 0;\n}\n\n.cd-body {\n\tborder: solid 1px var(--border-color);\n\tmin-height: calc(100vh - 248px);\n\theight: calc(100vh - 248px); \n}\n.round-top {\n    border-radius: 6px 6px 0 0 !important;\n}\n.round {\n\tborder-radius: 6px !important;\n}\n\n.round-bottom {\n\tborder-radius: 0 0 6px 6px !important;\n}\n.btn-round{\n\tborder-radius: 70px !important;\n}\n\n.cd-footer {\n\tborder: solid 1px var(--border-color);\n\tborder-top-width: 0;\n\tborder-radius: 0 0 6px 6px;\n\theight: 44px;\n}\n\n.cd-left-col {\n\tflex: 3.4 1 0;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.cd-right-col {\n\tflex: 1 1 0;\n  }\n  .chapter-content{\n\tpadding: 0px;\n\theight: inherit; \n\toverflow: auto;\n  }\n  .chapter-content.has-floating-menu{\n\tposition: relative;\n\tpadding-right: 20px;\n  }\n  .chapter-content.freeTextContent \n  {\n\t/* padding-right: 0px; */\n  }\n  .chapter-content.freeTextContent .chapter-content-left\n  {\n\tpadding-right: 0px;\n  }\n  .main-heading{\n\tfont-weight: 700;\n\tcolor: var(--primary-color);\n\tmargin: 5px 0 20px;\n\tfont-size: 1.45rem;\n}\n\n.main-heading:after {\n\tcontent: '';\n\tdisplay: block;\n\tborder-bottom: solid 2px var(--primary-color);\n\twidth: 25%;\n\tmin-width: 100px;\n\tmax-width: 150px;\n\tmargin-top: 15px;\n}\n\n.cd-sidebar {\n\tpadding: 20px 30px 30px;\n}\n\n.confidence-levels .confidence-btn {\n\tdisplay: flex;\n\talign-items: center;\n\tmargin-right: 10px;\n\tmargin-bottom: 0;\n\tfont-weight: 600;\n\tpadding: 7px 5px;\n\tcursor: pointer;\n}\n\n.confidence-levels svg {\n\tmargin-right: 5px;\n\tmargin-top: -2px;\n}\n\n.confidence-levels svg path {\n\tstroke-width: 0.95pt;\n}\n\n.cd-sidebar .form-check {\n\tpadding: 0;\n}\n\n.confidence-levels .form-check-input[type=radio],\n.rating-bars .form-check-input[type=radio] {\n\tposition: absolute;\n\tleft: -999999px;\n\twidth: 1px;\n\theight: 1px;\n}\n\n.form-check-input:checked+.rating-btn {\n\tbackground-color: var(--confidence-level-selected);\n}\n\n.form-check-input:checked+.confidence-btn svg path {\n\tfill: var(--progress-bar);\n\tstroke: var(--progress-bar);\n}\n\n.form-check-input.high:checked+.confidence-btn svg path {\n\tfill: var(--progress-bar);\n\tstroke: var(--progress-bar);\n}\n\n.form-check-input.medium:checked+.confidence-btn svg path {\n\tfill: gold;\n\tstroke: gold;\n}\n\n.form-check-input.low:checked+.confidence-btn svg path {\n\tfill: red;\n\tstroke: red;\n}\n\n.sidebar-chapter-ref p {\n\tfont-size: 14px;\n}\n\n.eb-content-wrapper a.red {\n\ttext-decoration: underline;\n\tcolor: var(--primary-color);\n}\n\n.eb-content-wrapper a.red:hover {\n\ttext-decoration: none;\n}\n\n.eb-content-wrapper button.red {\n\ttext-decoration: underline;\n\tcolor: var(--primary-color);\n\tbackground: none !important;\n\tborder: none !important;\n}\n\n.eb-content-wrapper button.red:hover {\n\ttext-decoration: none;\n}\n\n.chapter-dd-btn {\n\twidth: 350px;\n\ttext-align: left;\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: 0px;\n\theight: 46px;\n\tborder: none !important;\n\tborder-right: solid 1px var(--border-color) !important;\n}\n\n.chapter-dd-btn img {\n\tmargin-right: 6px;\n\twidth: 20px;\n}\n\n.chapter-dd-btn span {\n\tflex-grow: 1;\n\tdisplay: block;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.chapter-dd-btn::after {\n\tborder: none;\n\tposition: absolute;\n\tright: 15px;\n}\n\n.cd-chapter-selection .dropdown-menu {\n\tmax-width: 350px;\n\twidth: 100%;\n\tborder-radius: 0 0 6px 6px;\n\tbox-shadow: 2px 6px 8px 1px rgba(0, 0, 0, 0.09);\n}\n\n.cd-chapter-selection ul {\n\tlist-style-type: none;\n\tmargin: 0;\n}\n\n.cd-chapter-selection li a {\n\tborder-bottom: solid 1px var(--border-color);\n\tline-height: 1.4;\n\twhite-space: normal;\n\tfont-size: 14px;\n\tpadding: 10px 0;\n}\n\n.cd-chapter-selection li:last-child a {\n\tborder-bottom: none;\n  }\n  .has-floating-menu .chapter-content-left{\n\tpadding-right:50px;\n  }\n  .floating-menu{\n\tposition: sticky;\n\tfloat:right;\n\ttop: 0px;\n  }\n  .floating-icons{\n\tdisplay: flex;\n\tflex-direction: column;\n}\n.RecordedVideos .floating-menu,\n.StudyMaterial .floating-menu{\n\ttop:10px;\n\tright:8px;\n}\n.RecordedVideos .chapter-content-left,\n.RecordedVideos > .chapter-content-left > div{\n\theight: inherit;\n}\n\n.float-icon {\n\tborder-radius: 6px;\n\tborder: solid 1px var(--border-color);\n\ttext-align: center;\n\twidth: 32px;\n\theight: 32px;\n\tmargin-bottom:10px;\n\tpadding: 4px;\n\tline-height: 20px;\n\ttransition: all 0.2s linear;\n\tcolor: black;\n\tbackground-color: white;\n  }\n  .float-icon:hover{\n\tbackground-color: #eee;\n}\n\n.float-icon.active {\n\tcolor: var(--primary-color);\n}\n\n.float-icon img {\n\tmax-width: 100%;\n\tmax-height: 18px;\n\twidth: auto;\n}\n\n.cd-footer-nav .btn-prev img {\n\tmargin-right: 2px;\n}\n\n.cd-footer-nav .btn-prev img {\n\ttransform: rotate(90deg);\n}\n\n.cd-footer-nav .btn-next img {\n\tmargin-left: 2px;\n}\n\n.cd-footer-nav .btn-next img {\n\ttransform: rotate(-90deg);\n}\n\n\n\n\n.eb-single-note {\n\tborder: solid 1px var(--border-color);\n\tborder-radius: 6px;\n}\n\n.eb-edit-bar {\n\tdisplay: flex;\n\twidth: 100%;\n\tjustify-content: end;\n\talign-items: center;\n}\n\n.eb-edit-bar button {\n\tmargin: 0 4px;\n\tfont-size: 15px;\n\topacity: 0.65;\n}\n\n.eb-edit-bar button:hover {\n\topacity: 0.75;\n}\n\n.note-ref-meta {\n\tcolor: var(--gray);\n\tfont-size: 13px;\n}\n\n.eb-content hr {\n\tborder-top-color: rgba(0, 0, 0, 0.35);\n}\n\n.eb-single-highlight {\n\tmargin-top: 15px;\n}\n\n.highlight-text {\n\tpadding-left: 20px;\n\tborder-left: solid 3px var(--highlight-border);\n}\n\n.bookmarks-table>thead>tr>th {\n\tborder-bottom: none !important;\n\tpadding-bottom: 15px;\n}\n\n.bookmarks-table thead th {\n\tfont-weight: 400;\n}\n\n.eb-table {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 0.25rem;\n}\n\n.eb-table>li {\n\tdisplay: flex;\n}\n\n.eb-table>li>.t-cell {\n\tflex: 1;\n\tpadding: 0.5rem 0.5rem;\n\tborder-bottom-color: var(--bs-border-color);\n\tborder-bottom-width: var(--bs-border-width);\n\tborder-bottom-style: solid;\n}\n\n.eb-table>li:last-child>.t-cell {\n\tborder-bottom: none;\n}\n\n.bookmarks-table>.thead>.t-cell {\n\tpadding-bottom: 0.85rem;\n\tborder-bottom: none;\n\tfont-weight: 600;\n}\n\n.bookmarks-table>li>.t-cell:first-child {\n\tflex: 2;\n}\n\n.bookmarks-table>li>.t-cell:nth-child(2) {\n\tflex: 4;\n}\n\n.bookmarks-table>li>.t-cell:last-child {\n\tflex: 0.85;\n}\n\n.eb-table>li>.t-cell-link {\n\tpadding-top: 0;\n\tpadding-bottom: 0;\n}\n\n.eb-table>li>.t-cell-link>a {\n\tdisplay: block;\n\tpadding-top: 0.5rem;\n\tpadding-bottom: 0.5rem;\n\tcolor: var(--primary-link-color);\n}\n\n.eb-table>li>.t-cell-link>a:hover,\n.eb-table>li>.t-cell-link>a:active,\n.eb-table>li:hover>.t-cell-link>a {\n\tcolor: var(--primary-color);\n}\n\n/*========== Modal =============*/\n.eb-content-wrapper .modal-content {\n\tborder-radius: 0;\n\tborder-top: solid 7px var(--border-color);\n}\n\n.eb-content-wrapper .modal-dialog-scrollable .modal-content {\n\toverflow: visible;\n}\n\n.eb-modal .modal-header .btn-close {\n\tposition: absolute;\n\tright: -19px;\n\ttop: -34px;\n\tcolor: white;\n\topacity: 1;\n\tbackground: none;\n\tfont-size: 20px;\n}\n\n.eb-modal .modal-footer {\n\tpadding-top: 8px;\n\tpadding-bottom: 8px;\n}\n\n.eb-modal .modal-title {\n\tfont-size: 1.15rem;\n}\n\n.keypoint .card-header {\n\tbackground-color: var(--primary-color);\n\tcolor: white;\n\tborder-radius: 0 !important;\n}\n\n.keypoint .card-body {\n\tborder-color: var(--primary-color);\n}\n\n.accordion-item.eb-chapter-toggle .card-header {\n\tpadding: 0px;\n}\n\n.keypoint {\n\tborder-color: var(--primary-color);\n\tborder-radius: 0;\n}\n\n.eb-modal .main-heading:after {\n\tmargin-top: 15px;\n}\n\n.eb-modal .main-heading {\n\tmargin: 5px 0 15px;\n}\n\n.eb-modal {\n\tbackground-color: rgba(0, 0, 0, 0.35);\n}\n\n.eb-modal .btn {\n\tfont-size: 14px;\n}\n\n/*======= Rating Modal ======*/\n.rating-info {\n\tfont-size: 13px;\n\tcolor: var(--gray);\n\tjustify-content: space-between;\n}\n\n.rating-labels .rating-btn {\n\tfont-size: 14px;\n\tcolor: var(--gray);\n  }\n  \n  /*======= Flashcards =========*/\n  .flashcard-content{\n\t/* padding: 25px 0 50px; */\n  }\n \n \n \n\n\n  .flashcard-table>:not(caption)>*>*,\n  .flashcard-table tr td {\n\tpadding-bottom: 1.25rem;\n\tpadding-top: 0.8rem;\n  }\n  .flashcard-table>:not(caption)>*>* {\n\tpadding-bottom: 0.8rem;\n  }\n  .flashcard-table tbody tr:last-child td {\n\tborder-bottom: none !important;\n  }\n  \n  /*======== Practice ============*/\n  .eb-head-progress .progress{\n\theight: 24px;\n}\n\n.progress-bar {\n\tbackground-color: var(--primary-color);\n}\n\n.eb-summary {\n\tdisplay: flex;\n}\n\n.summary-item {\n\tborder-left: solid 2px var(--primary-color);\n\tpadding: 2px 25px 2px 10px;\n\tcolor: var(--gray);\n\tdisplay: flex;\n\tflex-direction: column;\n\tmin-width: 20%;\n}\n\n.summary-item>div {\n\tmargin: 2px 0;\n}\n\n.sub-tabs>li:first-child .nav-link {\n\tpadding-left: 5px;\n\tpadding-right: 5px;\n}\n\n.questions-table .thead .t-cell {\n\tfont-weight: 600;\n}\n\n.questions-table>li>.t-cell:first-child {\n\tflex: 2.5;\n}\n\n.questions-table>li>.t-cell-link>a {\n\tpadding-top: 0.6rem;\n\tpadding-bottom: 0.6rem;\n}\n\n.eb-table-arr>li>.t-cell-link:last-child,\n.eb-table-arr>li>.t-cell:last-child {\n\tposition: relative;\n\n}\n\n.eb-table-arr .t-cell-link:last-child a {\n\tposition: relative;\n\tpadding-right: 30px;\n}\n\n.eb-table-arr .t-cell-link:last-child a:before {\n\t/* content: \"\\f101\";\n\tfont-family: \"Font Awesome 5 Free\";\n\t-webkit-font-smoothing: antialiased;\n\tdisplay: inline-block;\n\tfont-style: normal;\n\tfont-variant: normal;\n\tposition: absolute;\n\tright: 10px;\n\tfont-size: 20px;\n\tfont-weight: 700;\n\t-webkit-text-stroke: 1px #fff; */\n}\n\n.eb-table-arr .t-row {\n\tposition: relative;\n}\n\n.eb-table-arr .t-row:before {\n\tposition: relative;\n\tcontent: \"\\f101\";\n\tfont-family: \"Font Awesome 5 Free\";\n\t-webkit-font-smoothing: antialiased;\n\tdisplay: block;\n\tfont-style: normal;\n\tfont-variant: normal;\n\tposition: absolute;\n\ttop: 50%;\n\tmargin-top: -15px;\n\tright: 10px;\n\tfont-size: 20px;\n\tfont-weight: 700;\n\t-webkit-text-stroke: 1px #fff;\n\topacity: 0;\n\tvisibility: hidden;\n}\n\n.eb-table-arr .t-row:hover:before {\n\topacity: 1;\n\tvisibility: visible;\n}\n\n.qr-table>li>.t-cell {\n\tflex: 0.8;\n}\n\n.qr-table>li>.t-cell:nth-child(1),\n.qr-table>li>.t-cell:nth-child(2) {\n\tflex: 0.15;\n\ttext-align: center;\n}\n\n.qr-table>li>.t-cell:nth-child(2) {\n\tflex: 0.5;\n}\n\n.qr-table>li>.t-cell:nth-child(3) {\n\tflex: 5;\n}\n\n.qr-table>li>.t-cell:last-child {\n\tflex: 1.1;\n}\n\n.qr-table>li>.t-cell:nth-last-child(2) {\n\tflex: 0.6;\n}\n\n.practice-tabs .eb-header {\n\theight: auto;\n}\n\n.eb-table .status-icon {\n\twidth: 24px;\n\theight: auto;\n}\n\n/*========== Quiz ===========*/\n.quiz-result-box {\n\tbackground-color: rgba(var(--primary-color), 0.25);\n\tbackground-color: var(--gray-light);\n\tmin-width: 150px;\n\tmin-height: 140px;\n\ttext-align: center;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n}\n\n.quiz-result-box .quiz-result-stat {\n\tfont-size: 3rem;\n\tline-height: 1.2;\n\tmargin-bottom: 10px;\n\tfont-weight: 300;\n}\n\n.eb-quiz-summary .summary-item {\n\tmin-width: 25%;\n}\n\n/*-------- Live Class -------*/\n.datebox{\n  border-radius: 8px;\n  text-align: center;\n  padding: 2px;\n  border: solid 1px var(--border-color);\n  font-weight: 700;\n  width: 44px;\n  height: 42px;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n}\n.datebox-day{\n  color: var(--primary-color);\n  font-size: 18px;  \n  display: block;\n  line-height: 16px;\n}\n.datebox-month{\n  font-size: 12px;\n  line-height: 14px;\n  display: block;\n  font-weight: 600;  \n} \n\n.vs__clear {\n\tdisplay: none;\n}\n\n.vue-treeselect__x {\n\tdisplay: none;\n}\n.progress-bar {\t\n\tbackground: linear-gradient(to right, #FFAA00, #9CB828 68.6%, #51C346 86.3%, #07CE64 100%);\n}\n\n@media (max-width:768px){\n\thtml:not([dir=rtl]) .wrapper {\n\t\tpadding-left: 0;\n\t}\n\t.main-tabs-row {\n\t\tpadding: 0;\n\t}\n\t.eb-header {\n\t\tpadding: 0 10px;\n\t}\n\t.eb-filter-area {\n\t\tpadding: 5px 10px 10px;\n\t}\n\t.eb-filters .filter-bookmark[data-v-fd617276] {\n\t\tpadding: 5px 0 0 0;\n\t}\n\t.eb-filters,\n\t.eb-filters .btn-outline-primary,\n\t.eb-content-wrapper .btn-outline-primary,\n\t.eb-content .btn-outline-primary {\n\t\tfont-size: 1rem;\n\t}\n\n\t.eb-content-wrapper {\n\t\tpadding: 15px 0px 15px 0px;\n\t}\n\t.eb-chapter-toggle .accordion-button,\n\t.eb-chapter-toggle .accordion-button:not(.collapsed) {\n\t\tborder-radius: 0 !important;\n    \tborder-left-style: none;\n    \tborder-right-style: none;\n\t\theight: 48px;\n\t}\n\t.eb-chapter-toggle {\n\t\tmargin-bottom: 5px;\n\t}\n\t.eb-chapter-toggle .accordion-body{\n\t\tborder: none;\n\t}\n\t.eb-chapter-toggle .accordion-button .head-text{\n\t\tfont-size: 1.2rem;\n\t}\n\t.eb-chapter-row {\n\t\tflex-flow: column;\n\t\tborder-bottom: 1px solid var(--border-color);\n\t}\n\t.eb-chapter-row>.chapter-row-item:first-of-type {\n\t\tborder-bottom: 1px solid var(--border-color);\n\t}\n\t.chapter-row-subitems>.chapter-row-item {\n\t\tborder: none;\n\t\tpadding: 8px 5px 8px 12px;\n\t}\n\t.chapter-row-item {\n\t\tfont-size: 1.15rem; \n\t}\n\t.chapter-row-item a {\n\t\tpadding: 12px 0 10px;\n\t}\n\t.cd-head{\n\t\tborder-radius: 0;\n\t\tborder-left-style: none;\n    \tborder-right-style: none;\n\t}\n\t.chapter-dd-btn {\n\t\twidth:100%;\n\t\tborder: none !important;\n\t}\n\t.cd-body {\n\t\tborder-left-style: none;\n    \tborder-right-style: none;\n\t\theight: auto;\n\t}\n\t.chapter-content.has-floating-menu{\n\t\tpadding-right: 10px;\n\t}\n\t.has-floating-menu .chapter-content-left{\n\t\tpadding-right: 10px;\n\t}\n\t.cd-footer-nav .btn-next span,\n\t.cd-footer-nav .btn-prev span {\n\t\tdisplay: none;\n\t}\n\t.StudyMaterial .floating-menu{\n\t\ttop: 60px;\n\t\tright: 10px;\n\t\tposition: absolute;\n\t\tbackground-color: #fff;\n\t\tpadding: 10px 8px 0;\n\t\tbox-shadow: 0 0 6px rgba(0,0,0,0.09);\n\t}\n\t.RecordedVideos .floating-menu{\n\t\tposition: absolute;\n\t}\n\t.RecordedVideos .chapter-content-left{\n\t\tpadding-right: 0;\n\t}\n\t.Assignment .floating-menu{\n\t\tz-index: 3;\n\t}\n\t.Assignment.has-floating-menu .chapter-content-left{\n\t\tpadding-right: 0;\n\t}\n\n}\n</style>\n\n<style scoped>\n\n\n</style>","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentDashboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentDashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentDashboard.vue?vue&type=template&id=6a0e0494&scoped=true&\"\nimport script from \"./ProductContentDashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentDashboard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentDashboard.vue?vue&type=style&index=0&id=6a0e0494&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6a0e0494\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',[_c('ProductPageBanner',{class:{ purchased: true },attrs:{\"productVariantData\":_vm.productVariantData,\"purchased\":true}}),(_vm.courseMessage)?_c('div',{staticClass:\"container\"},[_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.courseMessage))])]):_vm._e(),_c('ProductContent',{attrs:{\"productVariantData\":_vm.productVariantData,\"purchased\":true}},[(_vm.productVariantData && _vm.productVariantData.subscriptionStatus && _vm.productVariantData.subscriptionStatus.toLowerCase() == 'unenrolled')?_c('ProductDetailsCard',{attrs:{\"productVariantData\":_vm.productVariantData},on:{\"togglePlansModal\":_vm.toggleModal}}):_vm._e()],1),_c('ProductVariantFeedbackModal',{attrs:{\"showModal\":_vm.showProductVariantFeedback,\"productVariant\":_vm.productVariantData},on:{\"updateModalState\":_vm.toggleProductVariantFeedback}}),(_vm.isMobile && _vm.productVariantData && _vm.productVariantData.subscriptionStatus && _vm.productVariantData.subscriptionStatus.toLowerCase() == 'unenrolled')?_c('ProductDetailsCardMobile',{attrs:{\"productVariantData\":_vm.productVariantData},on:{\"togglePlansModal\":_vm.toggleModal}}):_vm._e(),_c('ProductPricingPlansModal',{attrs:{\"productVariantData\":_vm.productVariantData,\"showModal\":_vm.showModal},on:{\"updateModalState\":_vm.toggleModal}}),(_vm.productVariantData && _vm.productVariantData.subscriptionStatus && _vm.productVariantData.subscriptionStatus.toLowerCase() == 'allowed')?_c('div',{staticClass:\"container\"},[_c('button',{staticClass:\"add-btn mt-2 mb-2\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.showProductVariantFeedbackModal()}}},[_c('i',{staticClass:\"fas fa-star star-icon\"}),_vm._v(\" Provide Your Feedback \")])]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div>\n\t\t\t<ProductPageBanner :class=\"{ purchased: true }\" :productVariantData=\"productVariantData\" :purchased=\"true\" />\n\t\t\t<div class=\"container\" v-if=\"courseMessage\">\n\t\t\t\t<p class=\"text-danger\">{{courseMessage}}</p>\n\t\t\t</div>\n\t\t\t<ProductContent :productVariantData=\"productVariantData\" :purchased=\"true\">\n\t\t\t\t<!-- <ProductActivityCard /> -->\n\t\t\t\t<ProductDetailsCard\n\t\t\t\t\tv-if=\"productVariantData && productVariantData.subscriptionStatus && productVariantData.subscriptionStatus.toLowerCase() == 'unenrolled'\"\n\t\t\t\t\t@togglePlansModal=\"toggleModal\"\n\t\t\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t\t/>\n\t\t\t</ProductContent>\n\t\t\t<ProductVariantFeedbackModal :showModal=\"showProductVariantFeedback\" :productVariant=\"productVariantData\"\n\t\t\t\t@updateModalState=\"toggleProductVariantFeedback\" />\n\n\t\t\t<ProductDetailsCardMobile\n\t\t\t\t@togglePlansModal=\"toggleModal\"\n\t\t\t\tv-if=\"isMobile && productVariantData && productVariantData.subscriptionStatus && productVariantData.subscriptionStatus.toLowerCase() == 'unenrolled'\"\n\t\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t/>\n\t\t\t<ProductPricingPlansModal\n\t\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t\t:showModal=\"showModal\"\n\t\t\t\t@updateModalState=\"toggleModal\"\n\t\t\t/>\n\t\t\t<div class=\"container\" v-if=\"productVariantData && productVariantData.subscriptionStatus && productVariantData.subscriptionStatus.toLowerCase() == 'allowed'\">\n\t\t\t\t<button class=\"add-btn mt-2 mb-2\" role=\"button\" @click=\"showProductVariantFeedbackModal()\">\n\t\t\t\t\t<i class=\"fas fa-star star-icon\"></i>\n\t\t\t\t\tProvide Your Feedback\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n// import productVariantData from \"../constants/tempProductsData\";\nimport { mapActions, mapState } from \"vuex\";\n// import { contentData } from \"../constants/tempProductsData\";\nimport ProductPageBanner from \"../components/Product/ProductPageBanner.vue\";\nimport ProductDetailsCard from \"../components/Product/ProductDetailsCard.vue\"\nimport ProductDetailsCardMobile from \"../components/Product/ProductDetailsCardMobile.vue\";\nimport ProductPricingPlansModal from \"../components/Product/ProductPricingPlansModal.vue\";\nimport ProductContent from \"../components/Product/ProductContent.vue\";\nimport ProductActivityCard from \"../components/Product/ProductActivityCard.vue\";\nimport ProductVariantFeedbackModal from \"../components/ProductVariant/ProductVariantFeedbackModal.vue\";\n\nexport default {\n\tname: \"ProductContentPage\",\n\tcomponents: { ProductPageBanner, ProductContent, ProductActivityCard,ProductVariantFeedbackModal, ProductDetailsCard, ProductDetailsCardMobile, ProductPricingPlansModal },\n\tdata() {\n\t\treturn {\n\t\t\tproductVariantData: null,\n\t\t\tshowProductVariantFeedback: false,\n\t\t\tshowModal: false\n\t\t\t// contentData: contentData,\n\t\t};\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"getProductVariantById\"]),\n\t\t...mapActions(\"user\", [\"fetchUsersByProductVariant\"]),\n\t\tasync getProductData() {\n\t\t\tconst productId = this.productIdFromUrl;\n\t\t\t// console.log(\"id from url\", productId);\n\t\t\tconst data = await this.getProductVariantById(productId);\n\t\t\t// const data = this.allProductVariants.find((item) => {\n\t\t\t// \tif (item.productVariantID == productId) return item;\n\t\t\t// });\n\t\t\tthis.productVariantData = data;\n\t\t\t// this.contentData =\n\t\t\twindow.document.title = data.product.title;\n\t\t},\n\n\t\tshowProductVariantFeedbackModal() {\n\t\t\tthis.showProductVariantFeedback = true;\n\t\t},\n\n\t\ttoggleProductVariantFeedback(state) {\n\t\t\tif (state != undefined) {\n\t\t\t\tthis.showProductVariantFeedback = state;\n\t\t\t} else this.showProductVariantFeedback = !this.showProductVariantFeedback;\n\t\t},\n\t\ttoggleModal(state) {\n\t\t\tthis.showModal = state;\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"productVariant\", [\"loading\"]),\n\t\t...mapState(\"appState\", [\"isMobile\"]),\n\t\t...mapState(\"user\", [\"user\"]),\n\n\t\tcourseMessage() {\n\t\t\tif(this.productVariantData && this.productVariantData.subscriptionStatus){\n\t\t\t\tconsole.log({productVariantData:this.productVariantData});\n\t\t\t\treturn this.productVariantData.expiresAt && new Date() > new Date(this.productVariantData.expiresAt)  ? 'Your subscription for the course has expired. If you wish to continue, please consider re-enrolling process or contact admin for further assistance.'\n\t\t\t\t: this.productVariantData.subscriptionStatus.toLowerCase() == 'unenrolled' ? 'To enroll, please buy-now or contact admin for further assistance.'\n\t\t\t\t: this.productVariantData.subscriptionStatus.toLowerCase() == 'blocked' ? 'Your access have been blocked from the course. Please contact Admin for further assistance.' \n\t\t\t\t: null;\n\t\t\t} \n\t\t\treturn null\n\t\t},\n\n\t\tproductIdFromUrl() {\n\t\t\tconst urlID = this.$route.params.id.split(\"-\");\n\t\t\tvar productID = urlID[urlID.length - 1];\n\t\t\treturn productID;\n\t\t},\n\t},\n\tcreated() {\n\t\tif (this.user) {\n\t\t\tvar isEnrolled = this.user.productVariants.filter(\n\t\t\t\t(variant) => variant.id == this.productIdFromUrl\n\t\t\t);\n\t\t\tconsole.log({ isEnrolled });\n\t\t\tif (!isEnrolled?.length) {\n\t\t\t\tthis.$router.push(\"/product/details/\" + this.$route.params.id);\n\t\t\t}\n\t\t}\n\t\tthis.getProductData();\n\n\t},\n\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.purchased {\n\t\tmargin-bottom: 8rem !important;\n\t}\n}\n\n.purchased {\n\tmargin-bottom: 7.5rem;\n}\n\n.star-icon {\n\tcolor: #ffba00;\n\tmargin-right: 10px;\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductContentPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductContentPage.vue?vue&type=template&id=2e35685e&scoped=true&\"\nimport script from \"./ProductContentPage.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductContentPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductContentPage.vue?vue&type=style&index=0&id=2e35685e&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2e35685e\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',[_c('ProductPageBanner',{attrs:{\"productVariantData\":_vm.productVariantData}}),(_vm.courseMessage)?_c('div',{staticClass:\"container mt-3\"},[_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.courseMessage))])]):_vm._e(),_c('ProductContent',{attrs:{\"productVariantData\":_vm.productVariantData,\"viewMode\":\"description_page\"}},[(_vm.productVariantData && _vm.productVariantData.subscriptionStatus && _vm.productVariantData.subscriptionStatus.toLowerCase() == 'unenrolled')?_c('ProductDetailsCard',{attrs:{\"productVariantData\":_vm.productVariantData},on:{\"togglePlansModal\":_vm.toggleModal}}):_vm._e()],1),(_vm.isMobile)?_c('ProductDetailsCardMobile',{attrs:{\"productVariantData\":_vm.productVariantData},on:{\"togglePlansModal\":_vm.toggleModal}}):_vm._e(),_c('ProductPricingPlansModal',{attrs:{\"productVariantData\":_vm.productVariantData,\"showModal\":_vm.showModal},on:{\"updateModalState\":_vm.toggleModal}}),(_vm.systemParameters && _vm.systemParameters.IsShowFeedbackOnProductDetail  && _vm.systemParameters.IsShowFeedbackOnProductDetail.toString()=='1')?_c('div',[_c('ProductFeedbackCard',{attrs:{\"productVariantData\":_vm.productVariantData}})],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div>\n\t\t\t<ProductPageBanner :productVariantData=\"productVariantData\">\n\t\t\t</ProductPageBanner>\n\n\t\t\t<div class=\"container mt-3\" v-if=\"courseMessage\">\n\t\t\t\t<p class=\"text-danger\">{{courseMessage}}</p>\n\t\t\t</div>\n\n\t\t\t<ProductContent\n\t\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t\tviewMode=\"description_page\"\n\t\t\t>\n\t\t\t\t<ProductDetailsCard\n\t\t\t\t\tv-if=\"productVariantData && productVariantData.subscriptionStatus && productVariantData.subscriptionStatus.toLowerCase() == 'unenrolled'\"\n\t\t\t\t\t@togglePlansModal=\"toggleModal\"\n\t\t\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t/></ProductContent>\n\t\t\t<ProductDetailsCardMobile\n\t\t\t\t@togglePlansModal=\"toggleModal\"\n\t\t\t\tv-if=\"isMobile\"\n\t\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t/>\n\t\t\t<ProductPricingPlansModal\n\t\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t\t:showModal=\"showModal\"\n\t\t\t\t@updateModalState=\"toggleModal\"\n\t\t\t/>\n\t\t\t<div v-if=\"systemParameters && systemParameters.IsShowFeedbackOnProductDetail  && systemParameters.IsShowFeedbackOnProductDetail.toString()=='1'\">\n\t\t\t\t<ProductFeedbackCard\n\t\t\t\t\t:productVariantData=\"productVariantData\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n// import productVariantData from \"../constants/tempProductsData\";\n// import { contentData } from \"../constants/tempProductsData\";\nimport ProductPageBanner from \"../components/Product/ProductPageBanner.vue\";\nimport ProductDetailsCard from \"../components/Product/ProductDetailsCard.vue\";\nimport ProductContent from \"../components/Product/ProductContent.vue\";\nimport ProductDetailsTopCard from \"../components/Product/ProductDetailsTopCard.vue\";\nimport ProductDetailsCardMobile from \"../components/Product/ProductDetailsCardMobile.vue\";\nimport ProductPricingPlansModal from \"../components/Product/ProductPricingPlansModal.vue\";\nimport StarRating from 'vue-star-rating'\nimport ProductFeedbackCard from '../components/Product/ProductFeedbackCard.vue';\nexport default {\n\tname: \"ProductDetails\",\n\tdata() {\n\t\treturn {\n\t\t\tproductVariantData: null,\n\t\t\tshowModal: false,\n\t\t\t// contentData: contentData,\n\t\t};\n\t},\n\tcomponents: {\n\t\tProductPageBanner,\n\t\tProductDetailsCard,\n\t\tProductContent,\n\t\tProductDetailsTopCard,\n\t\tProductDetailsCardMobile,\n\t\tProductPricingPlansModal,\n\t\tProductFeedbackCard\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"getProductVariantById\"]),\n\t\t...mapActions(\"user\", [\"fetchUsersList\",\"fetchTrainersList\", \"fetchUsersByProductVariant\"]),\t\t\t\t\n\t\tasync getProductData() {\n\t\t\tconst productId = this.productIdFromUrl;\n\t\t\t// console.log(\"id from url\", productId);\n\t\t\tconst data = await this.getProductVariantById(productId);\n\t\t\t// const data = this.allProductVariants.find((item) => {\n\t\t\t// \tif (item.productVariantID == productId) return item;\n\t\t\t// });\n\t\t\tthis.productVariantData = data;\n\t\t\t// this.contentData =\n\t\t\twindow.document.title = data.product.title;\n\t\t},\n\t\ttoggleModal(state) {\n\t\t\tthis.showModal = state;\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(\"productVariant\", [\"loading\"]),\n\t\t...mapState(\"appState\", [\"isMobile\"]),\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"appState\", [\n\t\t\t\"systemParameters\"\n\t\t]),\n\t\tcourseMessage() {\n\t\t\tif(this.productVariantData && this.productVariantData.subscriptionStatus){\n\t\t\t\treturn this.productVariantData.expiresAt && new Date() > new Date(this.productVariantData.expiresAt)  ? 'Your subscription for the course has expired. If you wish to continue, please consider re-enrolling process or contact admin for further assistance.'\n\t\t\t\t: this.productVariantData.subscriptionStatus.toLowerCase() == 'unenrolled' ? 'You are not enrolled in the course. If you wish to enroll, please buy-now or contact admin for further assistance.'\n\t\t\t\t: this.productVariantData.subscriptionStatus.toLowerCase() == 'blocked' ? 'Your access have been blocked from the course. Please contact Admin for further assistance.' \n\t\t\t\t: null;\n\t\t\t} \n\t\t\treturn null\n\t\t},\n\t\tproductIdFromUrl() {\n\t\t\tconst urlID = this.$route.params.id.split(\"-\");\n\t\t\tconst productID = urlID[urlID.length - 1];\n\t\t\treturn productID;\n\t\t},\n\t},\n\twatch: {\n\t\t$route(to, from) {\n\t\t\tthis.getProductData();\n\t\t},\n\t},\n\tcreated() {\n\t\tif (this.user) {\n\t\t\tvar isEnrolled = this.user.productVariants.filter(\n\t\t\t\t(variant) => variant.id == this.productIdFromUrl\n\t\t\t);\n\t\t\t// console.log(isEnrolled);\n\t\t\tif (isEnrolled && isEnrolled.length) {\n\t\t\t\tthis.$router.push(\"/product/content/\" + this.$route.params.id);\n\t\t\t}\n\t\t}\n\t\tthis.getProductData();\n\t\tthis.fetchTrainersList();\n\t},\n};\n</script>\n\n<style scoped>\n  \n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductDetails.vue?vue&type=template&id=f0915ffa&scoped=true&\"\nimport script from \"./ProductDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"f0915ffa\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ProfileBanner'),_c('div',{staticClass:\"container profile-detail-container\"},[_c('div',{staticClass:\"profile-picture-container\"},[_c('input',{attrs:{\"type\":\"file\",\"hidden\":\"\",\"id\":\"image-upload\"},on:{\"change\":_vm.getFile}}),(_vm.userPicturePath != null)?_c('img',{staticClass:\"profile-picture\",attrs:{\"src\":_vm.userPicturePath,\"alt\":\"profilePicture\"},on:{\"click\":function($event){!_vm.isStudentProfileEditDisabled ? _vm.openDialog : null}}}):_c('div',{staticClass:\"profile-picture\"},[_c('i',{staticClass:\"far fa-user\"})]),(!_vm.isStudentProfileEditDisabled)?_c('a',{staticClass:\"profile-picture-edit\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){_vm.profilePicturePath ? _vm.updateProfile() : _vm.openDialog()}}},[(!_vm.loading)?_c('i',{class:(\"fas \" + (_vm.profilePicturePath ? 'fa-check' : 'fa-pencil-alt') + \" edit-button-icon\")}):_vm._e(),(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()],1):_vm._e()]),_c('div',{staticClass:\"d-flex gap-3 flex-column\"},[(!_vm.isStudentProfileEditDisabled)?_c('a',{staticClass:\"border-btn edit-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.toggleModal}},[_c('i',{staticClass:\"fas fa-pencil-alt edit-btn-icon\"}),_vm._v(\"Edit Profile\")]):_vm._e(),_c('a',{staticClass:\"border-btn edit-btn\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.togglePasswordModal}},[_c('i',{staticClass:\"fas fa-lock-alt edit-btn-icon\"}),_vm._v(\"Change Password \")])]),_c('h1',{staticClass:\"user-name-title\"},[_vm._v(\" \"+_vm._s(_vm.userProfileData.firstName)+\" \"+_vm._s(_vm.userProfileData.lastName)+\" \")]),_c('h2',{staticClass:\"user-role\"},[_vm._v(\" \"+_vm._s(_vm.userProfileData.role)+\" \")]),_c('h3',{staticClass:\"user-location\"},[_vm._v(\" \"+_vm._s(_vm.userProfileData.city)+\" - \"+_vm._s(_vm.userProfileData.country)+\" \")]),_c('p',{staticClass:\"user-email\"},[_c('i',{staticClass:\"far fa-envelope\"}),_vm._v(\" \"+_vm._s(_vm.userProfileData.email)+\" \")]),(_vm.userProfileData.address)?_c('p',{staticClass:\"user-address\"},[_c('i',{staticClass:\"fas fa-map-marker-alt\"}),_vm._v(\" \"+_vm._s(_vm.userProfileData.address)+\" \")]):_vm._e(),_c('img',{attrs:{\"id\":\"barcodeImg\",\"hidden\":\"\"}}),_c('qrcode-vue',{attrs:{\"value\":this.user.id,\"size\":200,\"level\":\"H\",\"render-as\":\"svg\"}})],1),_c('EditProfileModal',{attrs:{\"showModal\":_vm.showModal,\"profileData\":_vm.userProfileData},on:{\"updateModalState\":_vm.updateModalState}}),_c('ChangePasswordModal',{attrs:{\"showModal\":_vm.showChangePasswordModal,\"profileData\":_vm.userProfileData},on:{\"updateModalState\":_vm.updateModalPasswordState}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<ProfileBanner />\n\t\t<div class=\"container profile-detail-container\">\n\t\t\t<div class=\"profile-picture-container\">\n\t\t\t\t<input @change=\"getFile\" type=\"file\" hidden id=\"image-upload\" />\n\t\t\t\t<img\n\t\t\t\t\tv-if=\"userPicturePath != null\"\n\t\t\t\t\t@click=\"!isStudentProfileEditDisabled ? openDialog : null\"\n\t\t\t\t\t:src=\"userPicturePath\"\n\t\t\t\t\talt=\"profilePicture\"\n\t\t\t\t\tclass=\"profile-picture\"\n\t\t\t\t/>\n\t\t\t\t<div v-else class=\"profile-picture\">\n\t\t\t\t\t<i class=\"far fa-user\"></i>\n\t\t\t\t</div>\n\t\t\t\t<a\n\t\t\t\t\tv-if=\"!isStudentProfileEditDisabled\"\n\t\t\t\t\t@click=\"profilePicturePath ? updateProfile() : openDialog()\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"profile-picture-edit\"\n\t\t\t\t>\n\t\t\t\t\t<i\n\t\t\t\t\t\tv-if=\"!loading\"\n\t\t\t\t\t\t:class=\"`fas ${\n\t\t\t\t\t\t\tprofilePicturePath ? 'fa-check' : 'fa-pencil-alt'\n\t\t\t\t\t\t} edit-button-icon`\"\n\t\t\t\t\t></i>\n\t\t\t\t\t<b-spinner small v-if=\"loading\"></b-spinner>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t\t<div class=\"d-flex gap-3 flex-column\">\n\t\t\t\t<a v-if=\"!isStudentProfileEditDisabled\" role=\"button\" class=\"border-btn edit-btn\" @click=\"toggleModal\"\n\t\t\t\t\t><i class=\"fas fa-pencil-alt edit-btn-icon\"></i>Edit Profile</a\n\t\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"border-btn edit-btn\"\n\t\t\t\t\t@click=\"togglePasswordModal\"\n\t\t\t\t\t><i class=\"fas fa-lock-alt edit-btn-icon\"></i>Change Password\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t\t<h1 class=\"user-name-title\">\n\t\t\t\t{{ userProfileData.firstName }} {{ userProfileData.lastName }}\n\t\t\t</h1>\n\t\t\t<h2 class=\"user-role\">\n\t\t\t\t{{ userProfileData.role }}\n\t\t\t</h2>\n\t\t\t<h3 class=\"user-location\">\n\t\t\t\t{{ userProfileData.city }} - {{ userProfileData.country }}\n\t\t\t</h3>\n\t\t\t<p class=\"user-email\">\n\t\t\t\t<i class=\"far fa-envelope\"></i> {{ userProfileData.email }}\n\t\t\t</p>\n\t\t\t<p v-if=\"userProfileData.address\" class=\"user-address\">\n\t\t\t\t<i class=\"fas fa-map-marker-alt\"></i> {{ userProfileData.address }}\n\t\t\t</p>\n\t\t\t<img id=\"barcodeImg\" hidden />\n\n      <qrcode-vue :value=\"this.user.id\" :size=\"200\" level=\"H\" render-as=\"svg\" />\n\t\t\t<!-- <svg id=\"barcodeSvg\"></svg>\n\t\t\t<button v-if=\"previewItem\" @click=\"openPreview\" class=\"border-btn\">\n\t\t\t\tZoom\n\t\t\t</button> -->\n\t\t\t<!-- <vue-easy-lightbox\n\t\t\t\tescDisabled\n\t\t\t\tmoveDisabled\n\t\t\t\t:visible=\"showPreview\"\n\t\t\t\t:imgs=\"previewItem\"\n\t\t\t\t@hide=\"handleHide\"\n\t\t\t></vue-easy-lightbox> -->\n\t\t</div>\n\t\t<EditProfileModal\n\t\t\t:showModal=\"showModal\"\n\t\t\t@updateModalState=\"updateModalState\"\n\t\t\t:profileData=\"userProfileData\"\n\t\t/>\n\t\t<ChangePasswordModal\n\t\t\t:showModal=\"showChangePasswordModal\"\n\t\t\t@updateModalState=\"updateModalPasswordState\"\n\t\t\t:profileData=\"userProfileData\"\n\t\t/>\n\t</div>\n</template>\n\n<script>\nimport InnerPageBanner from \"../components/Layout/InnerPageBanner.vue\";\nimport ProfileBanner from \"../components/Layout/ProfileBanner.vue\";\nimport EditProfileModal from \"../components/Profile/EditProfileModal.vue\";\nimport ChangePasswordModal from \"../components/Profile/ChangePasswordModal.vue\";\nimport { mapActions, mapState } from \"vuex\";\nimport { countryCodes } from \"../constants/countryCodes\";\nimport VueEasyLightbox from \"vue-easy-lightbox\";\nimport QrcodeVue from 'qrcode.vue'\n\nexport default {\n\tname: \"Profile\",\n\tcomponents: {\n\t\tInnerPageBanner,\n\t\tProfileBanner,\n\t\tEditProfileModal,\n\t\tVueEasyLightbox,\n\t\tChangePasswordModal,\n    QrcodeVue\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tshowModal: false,\n\t\t\tshowChangePasswordModal: false,\n\t\t\tprofilePicturePath: null,\n\t\t\tprofilePictureFile: null,\n\t\t\tshowPreview: false,\n\t\t\tpreviewItem: \"\",\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"content\", [\"loading\"]),\n\n\t\t...mapState(\"appState\", [\"systemParameters\"]),\n\n\t\tisStudentProfileEditDisabled() {\n\t\t\treturn this.systemParameters \n\t\t\t\t&& this.systemParameters.DisableStudentProfileEdit \n\t\t\t\t&& this.systemParameters.DisableStudentProfileEdit.toString().toLowerCase() === 'true';\n\t\t},\n\t\t\n\t\tuserProfileData() {\n\n\t\t\tvar country=countryCodes.find(\n\t\t\t\t(c) => c[\"alpha-3\"] == this.user.countryCode\n\t\t\t);\n\t\t\tif(country)\n\t\t\tthis.user.country = country.name;\n\t\t\t\n\t\t\tconsole.log(this.user);\n\t\t\treturn this.user;\n\t\t},\n\t\tuserPicturePath() {\n\t\t\tif (this.profilePicturePath) {\n\t\t\t\treturn this.profilePicturePath;\n\t\t\t}\n\t\t\treturn this.userProfileData.profilePicture;\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchCurrentUser\", \"updateUserProfile\"]),\n\t\t...mapActions(\"content\", [\"uploadContentFile\"]),\n\t\ttoggleModal() {\n\t\t\tthis.showModal = !this.showModal;\n\t\t},\n\t\ttogglePasswordModal() {\n\t\t\tthis.showChangePasswordModal = !this.showChangePasswordModal;\n\t\t},\n\t\tupdateModalState(value) {\n\t\t\tthis.showModal = value;\n\t\t},\n\t\tupdateModalPasswordState(value) {\n\t\t\tthis.showChangePasswordModal = value;\n\t\t},\n\t\topenDialog() {\n\t\t\t$(\"#image-upload\").click();\n\t\t},\n\t\tgetFile(e) {\n\t\t\tconst [file] = e.target.files;\n\t\t\tif (file) {\n\t\t\t\tthis.profilePicturePath = URL.createObjectURL(file);\n\t\t\t\tthis.profilePictureFile = file;\n\t\t\t\t// this.thumbnailMediaType = file.type.split(\"/\")[0];\n\t\t\t}\n\t\t\tconsole.log(\"file: \", e.target.files);\n\t\t},\n\t\tupdateProfile() {\n\t\t\tlet formData = new FormData();\n\t\t\tformData.append(\"file\", this.profilePictureFile);\n\t\t\tformData.append(\"entity\", \"User\");\n\t\t\tformData.append(\"type\", \"Image\");\n\n\t\t\tconsole.log(...formData);\n\t\t\tthis.uploadContentFile(formData).then((data) => {\n\t\t\t\t// console.log(data);\n\t\t\t\tthis.profilePicturePath = data;\n\t\t\t\tthis.updateUserProfile({\n\t\t\t\t\tid: this.user.id,\n\t\t\t\t\tprofilePicture: this.profilePicturePath,\n\t\t\t\t}).then((res) => {\n\t\t\t\t\tthis.profilePicturePath = null;\n\t\t\t\t\tthis.profilePictureFile = null;\n\t\t\t\t\tthis.fetchCurrentUser();\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tinitBarcodeCode128(ElementID, DataString) {\n\t\t\tJsBarcode(ElementID, DataString, {\n\t\t\t\tformat: \"CODE128\",\n\t\t\t\tdisplayValue: false,\n\t\t\t\tfontSize: 24,\n\t\t\t\tlineColor: \"black\",\n\t\t\t});\n\n\t\t\t// Png Image.\n\t\t\tvar base64 =\n\t\t\t\t\"data:image/svg+xml;base64,\" +\n\t\t\t\tbtoa(new XMLSerializer().serializeToString($(\"#barcodeSvg\")[0]));\n\t\t\tvar img = document.getElementById(\"barcodeImg\");\n\t\t\timg.src = base64;\n\t\t\tthis.previewItem = base64;\n\t\t},\n\t\thandleHide() {\n\t\t\tthis.showPreview = false;\n\t\t},\n\t\topenPreview() {\n\t\t\tthis.showPreview = true;\n\t\t\t// }\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.fetchCurrentUser().then((res) => {\n\t\t\tthis.initBarcodeCode128(\"#barcodeSvg\", this.user.id);\n\t\t});\n\t},\n};\n</script>\n\n<style scoped>\n@media screen and (max-width: 996px) {\n\t.profile-container {\n\t\tpadding: 2rem 1rem !important;\n\t}\n}\n\n.profile-container {\n\tpadding: 2rem;\n\tmax-width: 768px;\n}\n.profile-input {\n\theight: unset;\n\tmargin-bottom: 0;\n}\n\nlabel {\n\tfont-size: 0.9rem;\n}\n\n.profile-detail-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.profile-picture {\n\twidth: 12.125rem;\n\theight: 12.125rem;\n\tobject-position: center;\n\tobject-fit: contain;\n\tbackground-color: var(--color-white);\n\tbox-shadow: 0 5px 35px #a8a8a829;\n\tborder-radius: 50%;\n\tmargin-top: -6rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-size: 5rem;\n\tline-height: 1;\n\tcursor: pointer;\n}\n\n.profile-picture-edit {\n\twidth: 2.25rem;\n\theight: 2.25rem;\n\tbackground-color: var(--primary-color);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcolor: var(--color-white);\n\tborder-radius: 50%;\n\tfont-size: 0.875rem;\n\tposition: absolute;\n\tbottom: 0.75rem;\n\tright: 0.75rem;\n\ttext-decoration: none;\n}\n\n.profile-picture-overlay {\n\tborder-radius: 50%;\n}\n\n.profile-picture-container {\n\tposition: relative;\n\tmargin-bottom: 1.75rem;\n}\n\n.edit-btn {\n\tpadding: 0.625rem 0.875rem;\n\tline-height: 1;\n\tborder-color: #d5d5d5;\n\tborder-radius: 6px;\n\ttext-transform: uppercase;\n\tfont-size: 0.875rem;\n\tcolor: #000000;\n}\n\n.edit-btn-icon {\n\tmargin-right: 0.5rem;\n}\n\n.user-name-title {\n\tfont-size: 1.875rem;\n\tfont-weight: 500;\n\tmargin-top: 2.25rem;\n\tposition: relative;\n}\n\n.user-name-title::before {\n\tcontent: \"\";\n\twidth: 2rem;\n\theight: 0.25rem;\n\tbackground-color: var(--primary-color);\n\tposition: absolute;\n\ttop: -0.875rem;\n\tleft: calc(50% - 1rem);\n}\n\n.user-role {\n\tcolor: var(--secondary-color);\n\tfont-size: 1.25rem;\n\tfont-weight: normal;\n}\n\n.user-location {\n\tcolor: #959595;\n\tfont-weight: normal;\n\tfont-size: 1rem;\n}\n\n.user-email {\n\tmargin-bottom: 1rem;\n\tline-height: 1;\n}\n\n.user-address {\n\tmargin-bottom: 1rem;\n\tline-height: 1;\n\ttext-align: center;\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Profile.vue?vue&type=template&id=3b32785f&scoped=true&\"\nimport script from \"./Profile.vue?vue&type=script&lang=js&\"\nexport * from \"./Profile.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Profile.vue?vue&type=style&index=0&id=3b32785f&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3b32785f\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"search-page\"},[_c('BannerSmall',{staticClass:\"mb-4\"},[_c('div',{staticClass:\"d-flex flex-column align-items-start justify-content-center h-100 mt-4\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',{staticClass:\"breadcrumb-item\"},[_c('i',{staticClass:\"fas fa-home-lg-alt\"}),_vm._v(\" Home \")]),_c('li',{staticClass:\"breadcrumb-item\"},[_vm._v(\"Search\")]),(_vm.searchText)?_c('li',{staticClass:\"breadcrumb-item active\"},[_vm._v(\" Search Results for \\\"\"+_vm._s(_vm.searchText)+\"\\\" \")]):_vm._e()]),(_vm.searchText)?_c('h2',{staticClass:\"text-bold\"},[_vm._v(\" Search Results for \\\"\"+_vm._s(_vm.searchText)+\"\\\" \")]):_c('h2',{staticClass:\"text-bold\"},[_vm._v(\"Search\")])])]),_c('div',{staticClass:\"container\"},[_c('ProductList',{attrs:{\"viewMode\":\"list\",\"showFilters\":true,\"productListData\":_vm.filteredProductVariants,\"filters\":_vm.filters}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"search-page\">\n    <BannerSmall class=\"mb-4\">\n      <!-- <div class=\"banner-title-card\">\n\t\t\t\t<h1 class=\"banner-title\">Search Courses</h1>\n\t\t\t</div> -->\n      <div\n        class=\"d-flex flex-column align-items-start justify-content-center h-100 mt-4\"\n      >\n        <ol class=\"breadcrumb\">\n          <li class=\"breadcrumb-item\">\n            <i class=\"fas fa-home-lg-alt\"></i> Home\n          </li>\n          <li class=\"breadcrumb-item\">Search</li>\n          <li v-if=\"searchText\" class=\"breadcrumb-item active\">\n            Search Results for \"{{ searchText }}\"\n          </li>\n        </ol>\n        <h2 class=\"text-bold\" v-if=\"searchText\">\n          Search Results for \"{{ searchText }}\"\n        </h2>\n        <h2 class=\"text-bold\" v-else>Search</h2>\n      </div>\n    </BannerSmall>\n    <div class=\"container\">\n      <!-- <div>Search Page</div> -->\n\n      <ProductList\n        viewMode=\"list\"\n        :showFilters=\"true\"\n        :productListData=\"filteredProductVariants\"\n        :filters=\"filters\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState, mapGetters } from \"vuex\";\nimport ProductList from \"../components/Product/ProductList.vue\";\nimport BannerSmall from \"../components/Layout/BannerSmall.vue\";\n\nexport default {\n  name: \"Search\",\n  data() {\n    return {\n      searchText: \"\",\n      filters: {}\n    };\n  },\n  components: {\n    ProductList,\n    BannerSmall,\n  },\n  computed: {\n\t\t...mapGetters(\"productVariant\", [\"allProductVariants\"]),\n\t\tfilteredProductVariants() {\n\t\t\treturn this.allProductVariants.filter((productVariant) => {\n\t\t\t\tif (\n\t\t\t\t\tproductVariant.status.toLowerCase() != \"draft\" &&\n\t\t\t\t\tproductVariant.status.toLowerCase() != \"private\"\n\t\t\t\t)\n\t\t\t\t\treturn productVariant;\n\t\t\t});\n\t\t},\n\t},\n\tmethods: {\n\t\t...mapActions(\"productVariant\", [\"fetchProductVariants\"]),\n    loadFiltersFromQueryString(query) {\n      this.filters = {};\n      this.searchText = '';\n\n      if(query && query.title) {\n        this.searchText = query.title;\n        this.filters.productTitle = query.title;\n      }\n\n      if(query && query.categoryId) {\n        this.filters.categoryId = query.categoryId;\n      }\n\n      if(query && query.productId) {\n        this.filters.productId = query.productId;\n      }\n    }\n\t},\n\tcreated() {\n\n    this.loadFiltersFromQueryString(this.$route.query);\n\n    if(!this.allProductVariants) {\n\t\t  this.fetchProductVariants(this.filters);\n    }\n    // console.log(this.productVariants);\n  },\n  watch: {\n    $route(to, from) {\n      console.log({to});\n\n      this.loadFiltersFromQueryString(to.query);\n    }\n  }\n};\n</script>\n\n<style scoped>\n.search-page .banner-small {\n  height: 8rem;\n  margin-bottom: 3rem;\n}\n.banner-title-card {\n  background-color: var(--color-white);\n  padding: 2.75rem 3rem 1.75rem 1.5rem;\n  width: fit-content;\n  border-radius: 8px;\n  border: 1px solid #a3a3a3;\n  position: absolute;\n  top: 3rem;\n  box-shadow: 0 0 16px #c9c9c929;\n}\n\n.banner-title {\n  /* font-size: 2.5rem;\n\tfont-weight: bold; */\n  font-weight: bold;\n  font-size: 2rem;\n  color: #000000;\n  /* padding: 2.5rem 0; */\n  margin: 0;\n}\n\n.banner-title:before {\n  content: \"\";\n  width: 2rem;\n  height: 0.35rem;\n  background-color: var(--primary-color);\n  display: block;\n  top: -1rem;\n  left: 0;\n  position: relative;\n}\n\n.breadcrumb {\n  background-color: transparent;\n}\n\n.breadcrumb i {\n  font-size: 1.125rem;\n  margin-right: 0.5rem;\n  color: var(--primary-color);\n}\n\n.breadcrumb.mobile {\n  margin-bottom: 1.5rem;\n  padding-left: 0.25rem;\n}\n\n.breadcrumb-item a {\n  color: #231f20 !important;\n  font-weight: normal;\n  text-decoration: none;\n}\n\n.breadcrumb-item.active {\n  font-weight: bold !important;\n  color: #231f20 !important;\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Search.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Search.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Search.vue?vue&type=template&id=3fe4dc03&scoped=true&\"\nimport script from \"./Search.vue?vue&type=script&lang=js&\"\nexport * from \"./Search.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Search.vue?vue&type=style&index=0&id=3fe4dc03&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3fe4dc03\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pt-4 page-content-container fix-height\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"d-flex justify-content-between mb-3\"},[_c('div',{staticClass:\"page-title\"},[_c('h3',[_vm._v(_vm._s(_vm.isManagementUser ? \"\" : \"My \")+\"Support Tickets\")]),(!_vm.isManagementUser)?_c('p',[_vm._v(\" Create and track support requests as needed. You can view and access requests \")]):_vm._e()]),(!_vm.isManagementUser)?_c('div',{staticStyle:{\"padding-top\":\"18px\"}},[_c('button',{staticClass:\"add-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.showAddTicketModal()}}},[_c('img',{staticClass:\"add-btn-icon\",attrs:{\"src\":require(\"@/assets/images/add-border-icon.svg\")}}),_vm._v(\" Add New Ticket \")])]):_vm._e(),(_vm.isManagementUser)?_c('div',[_c('button',{staticClass:\"add-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.refresh()}}},[_vm._v(\" Refresh \")])]):_vm._e()])]),_c('div',{staticClass:\"container d-flex\"},[_c('div',{staticClass:\"d-flex mb-4 gap-3\"},[_c('button',{class:[\n          'filter-user-type-btn',\n          { active: _vm.filter.serviceID == null } ],on:{\"click\":function($event){return _vm.setServiceID(null)}}},[_vm._v(\" All \")]),_vm._l((_vm.ticketServices),function(service){return _c('button',{class:[\n          'filter-user-type-btn',\n          { active: _vm.filter.serviceID == service.id } ],on:{\"click\":function($event){return _vm.setServiceID(service.id)}}},[_vm._v(\" \"+_vm._s(service.title)+\" \")])})],2),_c('div',{staticClass:\"d-flex mb-4 gap-3 ms-auto\"},[_c('button',{class:['filter-user-type-btn', { active: _vm.filter.status == null }],on:{\"click\":function($event){return _vm.setStatus(null)}}},[_vm._v(\" All \")]),_c('button',{class:[\n          'filter-user-type-btn',\n          { active: _vm.filter.status == 'opened' } ],on:{\"click\":function($event){return _vm.setStatus('opened')}}},[_vm._v(\" Opened \")]),_c('button',{class:[\n          'filter-user-type-btn',\n          { active: _vm.filter.status == 'closed' } ],on:{\"click\":function($event){return _vm.setStatus('closed')}}},[_vm._v(\" Closed \")])])]),_c('div',{staticClass:\"table-container container\"},[_c('table',{staticClass:\"table table-hover table-borderless\"},[_c('thead',[_c('tr',[_c('th',{staticStyle:{\"width\":\"2%\",\"text-align\":\"center\"}},[_vm._v(\"#\")]),_c('th',{staticStyle:{\"width\":\"8%\"}},[_vm._v(\"Ticket #\")]),_c('th',{staticStyle:{\"width\":\"15%\"}},[_vm._v(\"Service\")]),_c('th',{staticStyle:{\"width\":\"15%\"}},[_vm._v(\"Subject\")]),(_vm.isManagementUser)?_c('th',{staticStyle:{\"width\":\"15%\"}},[_vm._v(\"Opened By\")]):_vm._e(),_c('th',{staticStyle:{\"width\":\"15%\"}},[_vm._v(\"Last person to intervene\")]),(!_vm.isManagementUser)?_c('th',{staticStyle:{\"width\":\"10%\"}},[_vm._v(\"Creation date\")]):_vm._e(),_c('th',{staticStyle:{\"width\":\"10%\"}},[_vm._v(\"Status\")])])]),_c('tbody',_vm._l((_vm.tickets),function(ticket,index){return (!_vm.isTicketLoader)?_c('tr',{key:index,attrs:{\"id\":\"ticket-list\",\"title\":\"Click to View Ticket\"},on:{\"click\":function($event){return _vm.showViewTicketModal(ticket.id)}}},[_c('td',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(index+1))]),_c('td',[_vm._v(_vm._s(_vm.parseTicketHash(ticket.id)))]),_c('td',[_vm._v(_vm._s(ticket.service.title))]),_c('td',[_vm._v(_vm._s(ticket.subject))]),(_vm.isManagementUser)?_c('td',[_vm._v(\" \"+_vm._s(ticket.user.firstName)+\" \"+_vm._s(ticket.user.lastName)),_c('br'),_c('small',[_vm._v(_vm._s(_vm.formatDate(ticket.createdAt)))])]):_vm._e(),_c('td',[(ticket.lastTicketReply && ticket.lastTicketReply.user)?_c('span',[_vm._v(\" \"+_vm._s(ticket.lastTicketReply.user.firstName + \" \" + ticket.lastTicketReply.user.lastName)+\" \"),(ticket.lastTicketReply)?_c('small',[_c('br'),_vm._v(\" \"+_vm._s(_vm.formatDate(ticket.lastTicketReply.createdAt))+\" \")]):_vm._e()]):_vm._e()]),(!_vm.isManagementUser)?_c('td',[_vm._v(_vm._s(_vm.formatDate(ticket.createdAt)))]):_vm._e(),_c('td',[_c('div',{class:[\n              'status-tag',\n              {\n                warning: ticket.status && ticket.status.toLowerCase() == \"opened\",\n                success: ticket.status && ticket.status.toLowerCase() == \"closed\",\n              } ]},[_vm._v(\" \"+_vm._s(ticket.status)+\" \")])])]):_vm._e()}),0)]),(_vm.isTicketLoader)?_c('div',{staticClass:\"d-flex align-items-center justify-content-center gap-3 p-3 font-500 m-5\"},[_c('b-spinner'),_vm._v(\" Loading... \")],1):(!_vm.isTicketLoader && (!_vm.tickets || _vm.tickets.length <= 0))?_c('h5',{staticClass:\"text-center p-4 m-0\"},[_vm._v(\" No Tickets found \")]):_vm._e()]),_c('AddTicketModal',{attrs:{\"showModal\":_vm.showNewTicket},on:{\"updateModalState\":_vm.toggleAddTicket}}),_c('ViewTicketModal',{attrs:{\"showModal\":_vm.showViewTicket && _vm.selectedTicketID != null,\"ticketID\":_vm.selectedTicketID},on:{\"updateModalState\":_vm.toggleViewTicket}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"pt-4 page-content-container fix-height\">\n    <div class=\"container\">\n      <div class=\"d-flex justify-content-between mb-3\">\n        <div class=\"page-title\">\n          <h3>{{ isManagementUser ? \"\" : \"My \" }}Support Tickets</h3>\n          <p v-if=\"!isManagementUser\">\n            Create and track support requests as needed. You can view and\n            access requests\n          </p>\n        </div>\n        <div v-if=\"!isManagementUser\" style=\"padding-top: 18px\">\n          <button class=\"add-btn\" role=\"button\" @click=\"showAddTicketModal()\">\n            <img\n              src=\"@/assets/images/add-border-icon.svg\"\n              class=\"add-btn-icon\"\n            />\n            Add New Ticket\n          </button>\n        </div>\n        <div v-if=\"isManagementUser\">\n          <button class=\"add-btn\" role=\"button\" @click=\"refresh()\">\n            Refresh\n          </button>\n        </div>\n      </div>\n    </div>\n    <div class=\"container d-flex\">\n      <div class=\"d-flex mb-4 gap-3\">\n        <button\n          @click=\"setServiceID(null)\"\n          :class=\"[\n            'filter-user-type-btn',\n            { active: filter.serviceID == null },\n          ]\"\n        >\n          All\n        </button>\n        <button\n          v-for=\"service in ticketServices\"\n          @click=\"setServiceID(service.id)\"\n          :class=\"[\n            'filter-user-type-btn',\n            { active: filter.serviceID == service.id },\n          ]\"\n        >\n          {{ service.title }}\n        </button>\n      </div>\n      <div class=\"d-flex mb-4 gap-3 ms-auto\">\n        <button\n          @click=\"setStatus(null)\"\n          :class=\"['filter-user-type-btn', { active: filter.status == null }]\"\n        >\n          All\n        </button>\n        <button\n          @click=\"setStatus('opened')\"\n          :class=\"[\n            'filter-user-type-btn',\n            { active: filter.status == 'opened' },\n          ]\"\n        >\n          Opened\n        </button>\n        <button\n          @click=\"setStatus('closed')\"\n          :class=\"[\n            'filter-user-type-btn',\n            { active: filter.status == 'closed' },\n          ]\"\n        >\n          Closed\n        </button>\n      </div>\n    </div>\n    <div class=\"table-container container\">\n      <table class=\"table table-hover table-borderless\">\n        <thead>\n          <tr>\n            <th style=\"width: 2%; text-align: center;\">#</th>\n            <th style=\"width: 8%;\">Ticket #</th>\n            <th style=\"width: 15%\">Service</th>\n            <th style=\"width: 15%\">Subject</th>\n            <th v-if=\"isManagementUser\" style=\"width: 15%\">Opened By</th>\n            <th style=\"width: 15%\">Last person to intervene</th>\n            <th v-if=\"!isManagementUser\" style=\"width: 10%\">Creation date</th>            \n            <th style=\"width: 10%\">Status</th>\n          </tr>\n          <!-- <th style=\"width: 5%\"></th> -->\n        </thead>\n        <tbody>\n          <tr\n            v-for=\"(ticket, index) in tickets\"\n            id=\"ticket-list\"\n            :key=\"index\"\n            @click=\"showViewTicketModal(ticket.id)\"\n            title=\"Click to View Ticket\"\n            v-if=\"!isTicketLoader\"\n          >\n            <td style=\"text-align: center;\">{{ index+1 }}</td>\n            <td>{{ parseTicketHash(ticket.id) }}</td>\n            <td>{{ ticket.service.title }}</td>\n            <td>{{ ticket.subject }}</td>\n            <td v-if=\"isManagementUser\">\n              {{ ticket.user.firstName }} {{ ticket.user.lastName }}<br/>\n              <small>{{ formatDate(ticket.createdAt) }}</small>\n            </td>\n            <td>\n              <span\n                v-if=\"ticket.lastTicketReply && ticket.lastTicketReply.user\"\n              >\n                {{\n                  ticket.lastTicketReply.user.firstName +\n                  \" \" +\n                  ticket.lastTicketReply.user.lastName\n                }} <small v-if=\"ticket.lastTicketReply\"\n                ><br/>\n                {{ formatDate(ticket.lastTicketReply.createdAt) }}\n              </small>\n              </span>\n            </td>\n            <td  v-if=\"!isManagementUser\">{{ formatDate(ticket.createdAt) }}</td>\n            \n            <td><div\n              :class=\"[\n                'status-tag',\n                {\n                  warning: ticket.status && ticket.status.toLowerCase() == `opened`,\n                  success: ticket.status && ticket.status.toLowerCase() == `closed`,\n                },\n              ]\"\n            >\n              {{ ticket.status }} \n            </div></td>\n            \n          </tr>\n        </tbody>\n      </table>\n\n      <div\n        v-if=\"isTicketLoader\"\n        class=\"d-flex align-items-center justify-content-center gap-3 p-3 font-500 m-5\"\n      >\n        <b-spinner></b-spinner> Loading...\n      </div>\n      <h5\n        v-else-if=\"!isTicketLoader && (!tickets || tickets.length <= 0)\"\n        class=\"text-center p-4 m-0\"\n      >\n        No Tickets found\n      </h5>\n    </div>\n    <AddTicketModal\n      :showModal=\"showNewTicket\"\n      @updateModalState=\"toggleAddTicket\"\n    />\n\n    <ViewTicketModal\n      :showModal=\"showViewTicket && selectedTicketID != null\"\n      :ticketID=\"selectedTicketID\"\n      @updateModalState=\"toggleViewTicket\"\n    />\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport AddTicketModal from \"../components/Support/AddTicketModal.vue\";\nimport ViewTicketModal from \"../components/Support/ViewTicketModal.vue\";\nimport { toShortDateString } from \"../helpers/FormatHelpers\";\n\nexport default {\n  components: {\n    AddTicketModal,\n    ViewTicketModal,\n  },\n  data() {\n    return {\n      showNewTicket: false,\n      showViewTicket: false,\n      isTicketLoader: false,\n      filter: {\n        serviceID: null,\n        status: null,\n      },\n      selectedTicketID: null,\n      ticketServices: [],\n      isManagementUser: true,\n    };\n  },\n\n  methods: {\n    ...mapActions(\"support\", [\"fetchTickets\", \"fetchTicketServices\"]),\n\n    showAddTicketModal() {\n      this.showNewTicket = true;\n    },\n    parseTicketHash(ticketID)\n    {\n      var ticketHash=\"\";\n      if(ticketID){\n      for (let index = 0; index < 4-(ticketID).toString().length; index++) {\n        ticketHash+=\"0\";        \n      }\n      ticketHash+=ticketID;\n    }\n      return ticketHash;\n    \n    },\n    toggleAddTicket(state) {\n      if (state != undefined) {\n        this.showNewTicket = state;\n      } else this.showNewTicket = !this.showNewTicket;\n    },\n\n    toggleViewTicket(state) {\n      if (state != undefined) {\n        this.showViewTicket = state;\n      } else this.showViewTicket = !this.showViewTicket;\n    },\n\n    showViewTicketModal(ticketID) {\n      this.selectedTicketID = ticketID + \"\";\n      this.showViewTicket = true;\n    },\n\n    async getSupportTickets() {\n      this.isTicketLoader = true;\n      var data = await this.fetchTickets(this.filter);\n      if (data && data.length > 0) {\n        // this.tickets = data;\n        this.isTicketLoader = false;\n      } else {\n        // this.tickets = [];\n        this.isTicketLoader = false;\n      }\n    },\n    formatDate(date) {\n      return this.formatDateWithTime(new Date(date));\n    },\n    formatDateWithTime(date) {\n      var hours = date.getHours();\n      var minutes = date.getMinutes();\n      var ampm = hours >= 12 ? \"PM\" : \"AM\";\n      hours = hours % 12;\n      hours = hours ? hours : 12; // the hour '0' should be '12'\n      minutes = minutes < 10 ? \"0\" + minutes : minutes;\n      var strTime = hours + \":\" + minutes + \" \" + ampm;\n      return toShortDateString(date) + \"  \" + strTime;\n    },\n    setServiceID(val) {\n      this.filter.serviceID = val;\n      this.getSupportTickets();\n    },\n    setStatus(val) {\n      this.filter.status = val;\n      this.getSupportTickets();\n    },\n    refresh() {\n      this.getSupportTickets();\n    },\n  },\n  computed: {\n    ...mapState(\"support\", [\"tickets\"]),\n  },\n\n  async created() {\n    await this.getSupportTickets();\n\n    var data = await this.fetchTicketServices();\n\n    this.ticketServices = data && data.length > 0 ? data : [];\n    let user = JSON.parse(localStorage.getItem(\"user\"));\n    var userType = user.type || user.role;\n    if (userType && userType.toLowerCase() != \"management\") {\n      this.isManagementUser = false;\n    }\n  },\n};\n</script>\n\n<style>\n#ticket-list:hover {\n  cursor: pointer;\n}\n\n.fix-height {\n  height: 100vh !important;\n}\n\n.page-content-container {\n  background-color: #f5f5f5;\n  height: calc(100vh - 5rem);\n  padding: 1.875rem;\n  overflow-y: auto;\n}\n\n.table-container {\n  background-color: #ffffff;\n  border-radius: 8px;\n  box-shadow: 0 3px 6px #d5d5d529;\n}\n.filter-user-type-btn {\n  background: #ffffff;\n  box-sizing: border-box;\n  border-radius: 8px;\n  display: flex !important;\n  align-items: center;\n  justify-content: center;\n  padding: 0.625rem 1rem;\n  text-transform: uppercase;\n  font-weight: 500;\n  font-size: 0.875rem;\n  line-height: 1.125rem;\n  letter-spacing: 0.05em;\n  color: #000000;\n  text-decoration: none;\n  border: 1px solid transparent;\n  transition: all 0.3s ease;\n}\n\n.filter-user-type-btn.active {\n  border: 1px solid var(--primary-color);\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Support.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Support.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Support.vue?vue&type=template&id=25d8925c&\"\nimport script from \"./Support.vue?vue&type=script&lang=js&\"\nexport * from \"./Support.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Support.vue?vue&type=style&index=0&id=25d8925c&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"body\"},[_c('div',{staticClass:\"body-content p-4\"},[_c('div',{staticClass:\"eb-body container\"},[(_vm.isMobile)?_c('DashboardUpdatesCard',{staticClass:\"mobile-reminders\"}):_vm._e(),_c('div',{staticClass:\"eb-content eb-col-wrapper\"},[(!_vm.user.productVariants || _vm.user.productVariants.length <= 0)?_c('div',{staticClass:\"m-auto no-products\"},[_c('h4',{staticClass:\"title mb-3\"},[_vm._v(\" You have not enrolled in any courses yet. \")]),_c('img',{staticClass:\"sidebar-item-icon color-change-svg\",attrs:{\"src\":\"/img/course-management-icon.480dd1b0.svg\",\"alt\":\"image not found\"}}),_c('button',{staticClass:\"mt-3 create-section\",attrs:{\"role\":\"button\"},on:{\"click\":function () {\n\t\t\t\t\t\t\t\t\t_vm.$router.push('/search');\n\t\t\t\t\t\t\t\t}}},[_vm._v(\" Explore Courses \"),_c('i',{staticClass:\"fa fa-arrow-right\"})])]):_c('div',{staticClass:\"eb-left-col pe-2\"},[_c('div',{staticClass:\"tab-content\",attrs:{\"id\":\"myTabContent\"}},[_c('div',{staticClass:\"tab-pane show active\",attrs:{\"id\":\"allCoursesPane\",\"role\":\"tabpanel\",\"aria-labelledby\":\"allCoursesTab\",\"tabindex\":\"0\"}},[_c('div',{staticClass:\"eb-content eb-col-wrapper\"},[_c('UserDashboardProducts')],1)]),_vm._m(0),_vm._m(1)])]),_c('div',{staticClass:\"eb-right-col py-3 notification-col\",attrs:{\"id\":\"coursesNotification\"}},[(!_vm.isMobile)?_c('DashboardUpdatesCard'):_vm._e()],1)])],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane\",attrs:{\"id\":\"myListPane\",\"role\":\"tabpanel\",\"aria-labelledby\":\"myListTab\",\"tabindex\":\"0\"}},[_c('div',{staticClass:\"eb-content eb-col-wrapper\"},[_c('div',{staticClass:\"px-4 py-5\"},[_vm._v(\"My courses list...... \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane\",attrs:{\"id\":\"wishlistPane\",\"role\":\"tabpanel\",\"aria-labelledby\":\"wishlistTab\",\"tabindex\":\"0\"}},[_c('div',{staticClass:\"eb-content eb-col-wrapper\"},[_c('div',{staticClass:\"px-4 py-5\"},[_vm._v(\"Wishlist......\")])])])}]\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"body\">\n\t\t<div class=\"body-content p-4\">\n\t\t\t<!-- <b-tabs nav-class=\"main-tabs nav nav-tabs\" nav-wrapper-class=\"main-tabs-row\" content-class=\"eb-content-wrapper\">\n\t\t\t\t<b-tab title=\"My Courses\">-->\n\t\t\t\t\t<div class=\"eb-body container\">\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t<DashboardUpdatesCard v-if=\"isMobile\" class=\"mobile-reminders\"></DashboardUpdatesCard>\n\t\t\t\t\t\t<div class=\"eb-content eb-col-wrapper\">\n\t\t\t\t\t\t\t<div class=\"m-auto no-products\" v-if=\"!user.productVariants || user.productVariants.length <= 0\">\n\t\t\t\t\t\t\t\t<h4 class=\"title mb-3\"> You have not enrolled in any courses yet. </h4>\n\n\t\t\t\t\t\t\t\t<img \n\t\t\t\t\t\t\t\t\tsrc=\"/img/course-management-icon.480dd1b0.svg\" \n\t\t\t\t\t\t\t\t\tclass=\"sidebar-item-icon color-change-svg\" \n\t\t\t\t\t\t\t\t\talt=\"image not found\"\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<button role=\"button\" class=\"mt-3 create-section\" @click=\"() => {\n\t\t\t\t\t\t\t\t\t$router.push('/search');\n\t\t\t\t\t\t\t\t}\">\n\t\t\t\t\t\t\t\t\tExplore Courses <i class=\"fa fa-arrow-right\"></i>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"eb-left-col pe-2\" v-else>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<div class=\"tab-content\" id=\"myTabContent\">\n\n\t\t\t\t\t\t\t\t\t<div class=\"tab-pane show active\" id=\"allCoursesPane\" role=\"tabpanel\" aria-labelledby=\"allCoursesTab\"\n\t\t\t\t\t\t\t\t\t\ttabindex=\"0\"> \t\t\n\t\t\t\t\t\t\t\t\t\t<div class=\"eb-content eb-col-wrapper\">\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<UserDashboardProducts></UserDashboardProducts>\t\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div><!-- /tab-pane -->\n\n\t\t\t\t\t\t\t\t\t<div class=\"tab-pane\" id=\"myListPane\" role=\"tabpanel\" aria-labelledby=\"myListTab\"\n\t\t\t\t\t\t\t\t\t\ttabindex=\"0\"> \t\t\n\t\t\t\t\t\t\t\t\t\t<div class=\"eb-content eb-col-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"px-4 py-5\">My courses list......\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div><!-- /tab-pane -->\n\n\t\t\t\t\t\t\t\t\t<div class=\"tab-pane\" id=\"wishlistPane\" role=\"tabpanel\" aria-labelledby=\"wishlistTab\"\n\t\t\t\t\t\t\t\t\t\ttabindex=\"0\"> \t\t\n\t\t\t\t\t\t\t\t\t\t<div class=\"eb-content eb-col-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"px-4 py-5\">Wishlist......</div>\t\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div><!-- /tab-pane -->\n\n\t\t\t\t\t\t\t\t</div><!-- /tab-content -->\n\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"eb-right-col py-3 notification-col\" id=\"coursesNotification\" >\n\t\t\t\t\t\t\t\t <DashboardUpdatesCard v-if=\"!isMobile\" />\n\t\t\t\t\t\t\t</div><!-- /eb-right-col -->\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\n \t\t\t\t\t</div>\t\t\t\t\n<!--\t\t\t\t</b-tab>\t\t\t\t\n\t\t\t</b-tabs>\t\t\t -->\n\n\t\t</div>\n\t</div><!-- /body -->\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport UserDashboardProducts from \"../components/UserDashboard/UserDashboardProducts.vue\"\nimport DashboardUpdatesCard from \"./../components/Dashboard/DashboardUpdatesCard.vue\";\nexport default {\n\tname: \"UserDashboard\",\n\tdata() {\n\t\treturn {\n\t\t\tshowCoursesNotification: false\n\t\t};\n\t},\n\tcomponents: {\n\t\tUserDashboardProducts, DashboardUpdatesCard\n\t},\n\tmethods: {\n\t\t...mapActions(\"user\", [\"fetchCurrentUser\"]),\n\t\t...mapActions(\"pricing\", [\"fetchInvoiceByUserId\"]),\n\t},\n\tcomputed: {\n\t\t...mapState(\"user\", [\"user\"]),\n\t\t...mapState(\"appState\", [\"isMobile\"]),\n\t},\n\tmounted() {\n\t\t\n\t\tthis.$nextTick(() => {\n\t\t\twindow.postMessage({ event: \"dashboard-loaded\", data: null });\n\t\t});\n\t},\n\tcreated() {\n\t\t\n\t\tthis.fetchCurrentUser().then(() => {\n\t\t\tconsole.log(this.user,\"user\");\n\t\t\t// console.log(\"userdata\");\n\t\t\tthis.fetchInvoiceByUserId(this.user.id).then((res) => {\n\t\t\t\tconsole.log(\"invoices: \", res);\n\t\t\t\tvar unenrolledCourses = this.user.productVariants.filter(\n\t\t\t\t\t(variant) =>\n\t\t\t\t\t\tvariant.subscriptionStatus &&\n\t\t\t\t\t\tvariant.subscriptionStatus.toLowerCase() == \"unenrolled\"\n\t\t\t\t);\n\t\t\t\tvar userInvoices = this.invoicesByUserId[this.user.id];\n\n\t\t\t\tunenrolledCourses.forEach((course) => {\n\t\t\t\t\tvar found = userInvoices.find((invoice) =>\n\t\t\t\t\t\tinvoice.details.find(\n\t\t\t\t\t\t\t(detail) => detail.productSourceID == course.id\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\t// console.log(found);\n\t\t\t\t\tif (found) {\n\t\t\t\t\t\tconsole.log(\"Invoice found for unenrolled course\", found);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// console.log({\n\t\t\t\t// \tunenrolledCourses,\n\t\t\t\t// \tinvoicesByUserId: this.invoicesByUserId[this.user.id],\n\t\t\t\t// });\n\t\t\t});\n\n\t\t\tcheckCourses();\n\t\t\tthis.$nextTick(() => {\n\t\t\t\t// const event = new CustomEvent(\"courses-fetched\");\n\t\t\t\t// document.dispatchEvent(event);\n\t\t\t\twindow.postMessage({ event: \"courses-fetched\", data: null });\n\t\t\t});\n\t\t});\n\t},\n};\nfunction checkCourses() {\n\tif (typeof getUserProductsCallback !== \"undefined\") {\n\t\tgetUserProductsCallback();\n\t}\n}\n</script>\n\n<style scoped>\n.no-products {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n}\n.mobile-reminders{\n\tdisplay: none;\n}\n.no-products > img {\n    height: 100px;\n    width: 100px;\n}\n\n.create-section {\n  background: #ffffff;\n  border: 1px solid var(--primary-color);\n  box-sizing: border-box;\n  border-radius: 8px;\n  padding: 0.875rem 1.125rem;\n  font-size: 1.125rem;\n  line-height: 1.37;\n  letter-spacing: 0.05em;\n  text-transform: uppercase;\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  column-gap: 0.75rem;\n  color: #000000;\n}\n\n.create-section img {\n  width: 1.25rem;\n  height: 1.25rem;\n}\n</style>\n\n<style>\n.eb-course-list-wrapper {\n\twidth: 100%\n}\n.eb-col-wrapper {\n\tdisplay: flex;\n}\n\n.eb-left-col {\n\twidth: 72%;\n}\n\n.eb-right-col {\n\twidth: 36%;\n}\n\n.eb-course-list {\n\tlist-style: none;\n\tpadding: 0;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\twidth: 100%;\n\tcolumn-gap: 2.5%;\n}\n\n.eb-list-item {\n\twidth: 25.5%;\n\tmargin-bottom: 30px;\n}\n\n.eb-list-item .eb-item-img img {\n\tmax-width: 100%;\n\tborder-radius: 6px;\n\theight: 160px;\n    width: 100%;\n    object-fit: cover;\n}\n\n.eb-list-item .eb-item-title {\n\tfont-weight: 700;\n\tfont-size: 16px;\n\tline-height: 1.3;\n\tmargin: 15px 0 10px;\n\theight: 42px;\n\toverflow: hidden;\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 2;\n\t-webkit-box-orient: vertical;\n\toverflow: hidden;\n}\n\n.eb-list-item .eb-item-instructor {\n\tdisplay: flex;\n\talign-items: center;\n\tcolor: var(--gray);\n\tmargin-bottom: 10px;\n\tfont-size: 13px;\n}\n\n.eb-list-item .eb-item-instructor img {\n\twidth: 28px;\n\theight: 28px;\n\tborder-radius: 50%;\n}\n.eb-list-item .eb-item-instructor .user-avatar {\n\twidth: 28px;\n    height: 28px;\n    min-width: 28px;\n}\n.eb-list-item .eb-item-instructor > span {\n    line-height: 1.1;\n}\n\n.eb-list-item .eb-item-rating-bar {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tpadding-bottom: 10px;\n}\n\n.eb-rating-stars {\n\tfont-size: 20px;\n\tdisplay: flex;\n\tline-height: 18px;\n}\n\n.eb-rating-stars .star {\n\tcolor: #dddddd;\n}\n\n.eb-rating-stars .star.checked {\n\tcolor: #FFCC00;\n}\n\n.eb-rating-counts {\n\tfont-size: 12px;\n}\n\n.eb-list-item .progress {\n\theight: 5px;\n}\n\n.eb-list-item .progress-bar {\n\tbackground-color: var(--progress-bar);\n}\n\n.eb-item-progress-label {\n\tfont-size: 13px;\n\tfont-weight: 600;\n}\n\n.eb-sidebar-classes-wrapper {\n\tborder: solid 1px var(--border-color);\n\tborder-radius: 6px;\n\tbox-shadow: 0 0 8px rgba(0, 0, 0, 0.08);\n}\n\n.eb-sidebar-classes-wrapper h3 {\n\tcolor: var(--primary-color);\n\ttext-transform: uppercase;\n\tfont-size: 15px;\n\tfont-weight: 700;\n}\n\n.eb-sidebar-classes .eb-lc-box:last-child {\n\tmargin-bottom: 0;\n}\n\n.eb-lc-box {\n\tborder: solid 1px var(--border-color);\n\tborder-radius: 6px;\n\tpadding: 14px 10px;\n\tmargin-bottom: 15px;\n\tbox-shadow: 0 1px 6px rgba(0,0,0,0.07);\n}\n\n.eb-lc-time {\n\tfont-size: 12px;\n\tcolor: var(--gray);\n\tline-height: 1.3;\n}\n\n.eb-lc-label {\n\tfont-size: 12px;\n\tfont-weight: 600;\n\tcolor: var(--primary-color);\n\tborder: solid 1px var(--border-color);\n\tborder-radius: 4px;\n\tpadding: 3px 5px 2px;\n\tdisplay: flex;\n\talign-items: center;\n\talign-self: center;\n}\n\n.eb-lc-label img {\n\tmax-width: 16px;\n\tmargin-right: 3px;\n}\n\n.eb-lc-label.label-live {\n\tborder-color: var(--primary-color);\n}\n\n.eb-lc-label.label-assignment {\n\tborder-color: var(--blue-color);\n\tcolor: var(--blue-color);\n}\n\n.eb-lc-box .btn {\n\tbackground-color: rgb(29, 193, 58);;\n\tborder-color: rgb(29, 193, 58);;\n\tfont-size: 13px;\n\tfont-weight: 700;\n\twidth: 90px;\n\tpadding: 5px 6px;\n}\n\n.eb-lc-box .btn:hover,\n.eb-lc-box .btn:focus {\n\tbackground-color: rgba(29, 193, 58, 0.9);\n\tborder-color: rgba(29, 193, 58, 0.9);\n}\n\n.eb-lc-head {\n\tpadding-bottom: 10px;\n}\n\n.eb-lc-box h5 {\n\tfont-weight: 700;\n\tfont-size: 1.085rem;\n\tmargin-bottom: 4px;\n}\n\n.eb-lc-box h6 {\n\tcolor: var(--gray-2);\n\tfont-size: 13px;\n\tline-height: 1.3;\n\tmargin: 0;\n\tfont-weight: 400;\n}\n\n@media only screen and (max-width: 1200px) {\n\t.eb-list-item {\n\t\twidth: 29.5%;\n\t\tmargin-bottom: 30px;\n\t}\n}\n\n@media only screen and (max-width: 980px)  and (min-width: 768px) {\n\n\t.eb-list-item\n\t{\n\t\twidth: 30%;\n\t}\n\t.eb-left-col {\n\t\twidth: 100%;\n\t}\n\t\n\t.eb-right-col {\n\t\tdisplay: none;\n\t}\n}\n@media only screen and (max-width: 992px) {\n\t.eb-body{\n\t\tpadding: 0 !important;\n\t}\n\t.eb-left-col {\n\t\twidth: 100%;\n\t}\n\t.eb-right-col {\n\t\tdisplay: none;\n\t}\n\t.eb-list-item\n\t{\n\t\twidth: 100%;\n\t\tborder: solid 1px var(--border-color);\n\t\tpadding: 10px;\n\t\tdisplay: flex;\n\t\tborder-radius: 8px;\n\t\tmargin-bottom: 15px;\n\t}\n\t.eb-item-img{\n\t\twidth:50%;\n\t\tpadding-right:10px;\n\t\theight: auto;\n    \tobject-fit: cover;\n\t}\n\t.eb-item-desc{\n\t\twidth:65%;\n\t}\n\t.eb-list-item .eb-item-title{\n\t\t/* margin-top:0; */\n\t}\n\t.notification-col{\n\t\tposition: fixed;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\twidth: 100%;\n\t\tbackground-color: #fff;\n\t\tz-index: 10;\n\t\theight: 100%;\n\t\tz-index: 9999991 !important;\n\t\ttransform: translateX(101%);\n\t\tdisplay: block;\n\t\ttransition: transform 0.15s ease-in;\n\t}\n\t.notification-col.active{\n\t\ttransform: translateX(0%);\n\t}\n\t.eb-col-wrapper .notification-col{\n\t\tpadding: 0 !important;\n\t}\n\t.notification-col > div{\n\t\t/* height: 100%;\n\t\toverflow: auto; */\n\t}\n\t.mobile-reminders{\n\t\tdisplay: block !important;\n\t}\n\t#coursesNotification{\n\t\tdisplay: none;\n\t}\n}\n\n@media only screen and (max-width: 556px) {\n\t.eb-item-img {\n\t\tpadding-right: 0px;\n\t}\n\n\t.eb-list-item {\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\twidth: 100%;\n\t}\n\n\t.eb-course-list {\n\t\tjustify-content: center;\n\t}\n\n\t.eb-item-img {\n\t\twidth: 100%;\n\t}\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserDashboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserDashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserDashboard.vue?vue&type=template&id=9973291a&scoped=true&\"\nimport script from \"./UserDashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./UserDashboard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserDashboard.vue?vue&type=style&index=0&id=9973291a&prod&scoped=true&lang=css&\"\nimport style1 from \"./UserDashboard.vue?vue&type=style&index=1&id=9973291a&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"9973291a\",\n  null\n  \n)\n\nexport default component.exports","<template>\n  <b-modal :draggable=\"true\" id=\"calculator-modal\" @change=\"$emit('updateModalState', false)\" :visible=\"visible\" hide-header centered\n\t\tcontent-class=\"calculator-modal\" size=\"sm\" body-class=\"modal-body\" hide-footer modal-class=\"custom-modal\"\n\t\tno-close-on-backdrop>\n\t\t<div class=\"body-container\">\n      <button @click=\"$emit('updateModalState', false)\" class=\"close-button\" role=\"button\">\n\t\t\t\t<img src=\"@/assets/images/cancel-icon.svg\" />\n\t\t\t</button>\n      \n      <div class=\"calculator-display m-1 p-3 text-end lead fw-bold text-black\">\n       {{ prevCalcVal || \"\" }} {{ operators || \"\" }} {{ calcVal || 0 }}\n      </div>\n\n      <div class=\"row g-0\">\n        <div class=\"col-3 mt-3\" v-for=\"btn in calcBtns\">\n          <div class=\"calculator-button lead text-center m-1 py-2\"\n            :class=\"{ 'cal-color-primary': ['C', '*', '/', '+', '-', '=', '%'].includes(btn) }\"\n            @click=\"action(btn)\">\n            {{ btn }}\n          </div>\n        </div>\n      </div>\n    </div>\n  </b-modal>\n</template>\n\n<script>\nexport default {\n  name: 'Calculator',\n  props: {\n    msg: String,\n    visible: Boolean\n  },\n  data() {\n    return {\n      calcVal: '',\n      calcBtns: ['C', '%', '=', '+', 7, 8, 9, '-', 4, 5, 6, '*', 1, 2, 3, '/', 0, '.'],\n      operators: null,\n      prevCalcVal: '',\n    };\n  },\n  methods: {\n    action(btn) {\n      if (!isNaN(btn) || btn === '.') {\n        this.calcVal += btn + '';\n      }\n\n      if (btn === 'C') {\n        this.calcVal = '';\n        this.prevCalcVal = '';\n        this.operators = null;\n      }\n\n      if (btn === '%') {\n        this.calcVal = this.calcVal / 100 + '';\n      }\n\n      if (['/', '+', '-', '*'].includes(btn)) {\n        this.operators = btn;\n        this.prevCalcVal = this.calcVal;\n        this.calcVal = '';\n      }\n\n      if (btn === '=') {\n        this.calcVal = eval(this.prevCalcVal + this.operators + this.calcVal);\n        this.prevCalcVal = '';\n        this.operators = null;\n      }\n    }\n  }\n};\n</script>\n\n<style scoped>\n\n.calculator-modal {\n  width: 450px;\n  max-width: 15%;\n  border-radius: 18px;\n}\n\n.close-button {\n  position: absolute;\n  top: 10px;\n  right: 10px;\n  background: transparent;\n  border: none;\n  outline: none;\n  cursor: pointer;\n}\n\n.close-button img{\n  width: 13px;\n  height: 13px;\n}\n\n.calculator-display {\n  margin-bottom: 10px;\n  border: 0.5px solid var(--color-red);\n  border-radius: 10px;\n}\n\n.calculator-button {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  height: 100%;\n  padding: 10px;\n  border-radius: 8px;\n  margin-top: 10px;\n  background-color: white;\n  border: 0.5px solid var(--color-red);\n}\n\n.calculator-button:hover {\n  background: var(--color-red);\n  color: white;\n  cursor: pointer;\n}\n\n\n.cal-color-primary {\n  background: var(--color-red);\n  color: white;\n}\n</style>\n","class AttendanceStatus {\n\tstatic PRESENT = \"present\";\n\tstatic ABSENT = \"absent\";\n\tstatic ONLINE = \"online\";\n\tstatic UNPAID = \"unpaid\";\n}\n\nclass AttendanceType {\n\tstatic PHYSICAL = \"physical\";\n\tstatic ONLINE = \"online\";\n}\n\nmodule.exports = { AttendanceStatus, AttendanceType };\n","class ContentType {\n\tstatic DIRECTORY = \"Directory\";\n\tstatic RECORDED_VIDEOS = \"RecordedVideos\";\n\tstatic LIVE_CLASS = \"LiveClass\";\n\tstatic STUDY_MATERIAL = \"StudyMaterial\";\n\tstatic STUDY_MATERIAL_SERVICE = \"Study Material\";\n\tstatic EXAM = \"Exam\";\n\tstatic ASSIGNMENT = \"Assignment\";\n\tstatic QUIZ = \"Quiz\";\n\tstatic FREETEXT = \"FreeText\";\n\tstatic FLASHCARDS = \"Flashcards\";\n}\n\nclass RecordedVideoStatus {\n\tstatic NOT_UPLOADED = \"NotUploaded\";\n\tstatic PROCESSING = \"Processing\";\n\tstatic PROCESSED = \"Processed\";\n}\n\nconst UpcomingContentType = {\n\tCURRENT: \"Current\",\n\tUPCOMING: \"Upcoming\",\n\tPAST: \"Past\",\n};\n\nexport { ContentType, RecordedVideoStatus, UpcomingContentType };\n","export const countryCodes = [\n\t{ name: \"Afghanistan\", \"alpha-3\": \"AFG\", \"country-code\": \"004\" },\n\t{ name: \"Åland Islands\", \"alpha-3\": \"ALA\", \"country-code\": \"248\" },\n\t{ name: \"Albania\", \"alpha-3\": \"ALB\", \"country-code\": \"008\" },\n\t{ name: \"Algeria\", \"alpha-3\": \"DZA\", \"country-code\": \"012\" },\n\t{ name: \"American Samoa\", \"alpha-3\": \"ASM\", \"country-code\": \"016\" },\n\t{ name: \"Andorra\", \"alpha-3\": \"AND\", \"country-code\": \"020\" },\n\t{ name: \"Angola\", \"alpha-3\": \"AGO\", \"country-code\": \"024\" },\n\t{ name: \"Anguilla\", \"alpha-3\": \"AIA\", \"country-code\": \"660\" },\n\t{ name: \"Antarctica\", \"alpha-3\": \"ATA\", \"country-code\": \"010\" },\n\t{\n\t\tname: \"Antigua and Barbuda\",\n\t\t\"alpha-3\": \"ATG\",\n\t\t\"country-code\": \"028\",\n\t},\n\t{ name: \"Argentina\", \"alpha-3\": \"ARG\", \"country-code\": \"032\" },\n\t{ name: \"Armenia\", \"alpha-3\": \"ARM\", \"country-code\": \"051\" },\n\t{ name: \"Aruba\", \"alpha-3\": \"ABW\", \"country-code\": \"533\" },\n\t{ name: \"Australia\", \"alpha-3\": \"AUS\", \"country-code\": \"036\" },\n\t{ name: \"Austria\", \"alpha-3\": \"AUT\", \"country-code\": \"040\" },\n\t{ name: \"Azerbaijan\", \"alpha-3\": \"AZE\", \"country-code\": \"031\" },\n\t{ name: \"Bahamas\", \"alpha-3\": \"BHS\", \"country-code\": \"044\" },\n\t{ name: \"Bahrain\", \"alpha-3\": \"BHR\", \"country-code\": \"048\" },\n\t{ name: \"Bangladesh\", \"alpha-3\": \"BGD\", \"country-code\": \"050\" },\n\t{ name: \"Barbados\", \"alpha-3\": \"BRB\", \"country-code\": \"052\" },\n\t{ name: \"Belarus\", \"alpha-3\": \"BLR\", \"country-code\": \"112\" },\n\t{ name: \"Belgium\", \"alpha-3\": \"BEL\", \"country-code\": \"056\" },\n\t{ name: \"Belize\", \"alpha-3\": \"BLZ\", \"country-code\": \"084\" },\n\t{ name: \"Benin\", \"alpha-3\": \"BEN\", \"country-code\": \"204\" },\n\t{ name: \"Bermuda\", \"alpha-3\": \"BMU\", \"country-code\": \"060\" },\n\t{ name: \"Bhutan\", \"alpha-3\": \"BTN\", \"country-code\": \"064\" },\n\t{\n\t\tname: \"Bolivia (Plurinational State of)\",\n\t\t\"alpha-3\": \"BOL\",\n\t\t\"country-code\": \"068\",\n\t},\n\t{\n\t\tname: \"Bonaire, Sint Eustatius and Saba\",\n\t\t\"alpha-3\": \"BES\",\n\t\t\"country-code\": \"535\",\n\t},\n\t{\n\t\tname: \"Bosnia and Herzegovina\",\n\t\t\"alpha-3\": \"BIH\",\n\t\t\"country-code\": \"070\",\n\t},\n\t{ name: \"Botswana\", \"alpha-3\": \"BWA\", \"country-code\": \"072\" },\n\t{ name: \"Bouvet Island\", \"alpha-3\": \"BVT\", \"country-code\": \"074\" },\n\t{ name: \"Brazil\", \"alpha-3\": \"BRA\", \"country-code\": \"076\" },\n\t{\n\t\tname: \"British Indian Ocean Territory\",\n\t\t\"alpha-3\": \"IOT\",\n\t\t\"country-code\": \"086\",\n\t},\n\t{\n\t\tname: \"Brunei Darussalam\",\n\t\t\"alpha-3\": \"BRN\",\n\t\t\"country-code\": \"096\",\n\t},\n\t{ name: \"Bulgaria\", \"alpha-3\": \"BGR\", \"country-code\": \"100\" },\n\t{ name: \"Burkina Faso\", \"alpha-3\": \"BFA\", \"country-code\": \"854\" },\n\t{ name: \"Burundi\", \"alpha-3\": \"BDI\", \"country-code\": \"108\" },\n\t{ name: \"Cabo Verde\", \"alpha-3\": \"CPV\", \"country-code\": \"132\" },\n\t{ name: \"Cambodia\", \"alpha-3\": \"KHM\", \"country-code\": \"116\" },\n\t{ name: \"Cameroon\", \"alpha-3\": \"CMR\", \"country-code\": \"120\" },\n\t{ name: \"Canada\", \"alpha-3\": \"CAN\", \"country-code\": \"124\" },\n\t{ name: \"Cayman Islands\", \"alpha-3\": \"CYM\", \"country-code\": \"136\" },\n\t{\n\t\tname: \"Central African Republic\",\n\t\t\"alpha-3\": \"CAF\",\n\t\t\"country-code\": \"140\",\n\t},\n\t{ name: \"Chad\", \"alpha-3\": \"TCD\", \"country-code\": \"148\" },\n\t{ name: \"Chile\", \"alpha-3\": \"CHL\", \"country-code\": \"152\" },\n\t{ name: \"China\", \"alpha-3\": \"CHN\", \"country-code\": \"156\" },\n\t{ name: \"Christmas Island\", \"alpha-3\": \"CXR\", \"country-code\": \"162\" },\n\t{\n\t\tname: \"Cocos (Keeling) Islands\",\n\t\t\"alpha-3\": \"CCK\",\n\t\t\"country-code\": \"166\",\n\t},\n\t{ name: \"Colombia\", \"alpha-3\": \"COL\", \"country-code\": \"170\" },\n\t{ name: \"Comoros\", \"alpha-3\": \"COM\", \"country-code\": \"174\" },\n\t{ name: \"Congo\", \"alpha-3\": \"COG\", \"country-code\": \"178\" },\n\t{\n\t\tname: \"Congo, Democratic Republic of the\",\n\t\t\"alpha-3\": \"COD\",\n\t\t\"country-code\": \"180\",\n\t},\n\t{ name: \"Cook Islands\", \"alpha-3\": \"COK\", \"country-code\": \"184\" },\n\t{ name: \"Costa Rica\", \"alpha-3\": \"CRI\", \"country-code\": \"188\" },\n\t{ name: \"Côte d'Ivoire\", \"alpha-3\": \"CIV\", \"country-code\": \"384\" },\n\t{ name: \"Croatia\", \"alpha-3\": \"HRV\", \"country-code\": \"191\" },\n\t{ name: \"Cuba\", \"alpha-3\": \"CUB\", \"country-code\": \"192\" },\n\t{ name: \"Curaçao\", \"alpha-3\": \"CUW\", \"country-code\": \"531\" },\n\t{ name: \"Cyprus\", \"alpha-3\": \"CYP\", \"country-code\": \"196\" },\n\t{ name: \"Czechia\", \"alpha-3\": \"CZE\", \"country-code\": \"203\" },\n\t{ name: \"Denmark\", \"alpha-3\": \"DNK\", \"country-code\": \"208\" },\n\t{ name: \"Djibouti\", \"alpha-3\": \"DJI\", \"country-code\": \"262\" },\n\t{ name: \"Dominica\", \"alpha-3\": \"DMA\", \"country-code\": \"212\" },\n\t{\n\t\tname: \"Dominican Republic\",\n\t\t\"alpha-3\": \"DOM\",\n\t\t\"country-code\": \"214\",\n\t},\n\t{ name: \"Ecuador\", \"alpha-3\": \"ECU\", \"country-code\": \"218\" },\n\t{ name: \"Egypt\", \"alpha-3\": \"EGY\", \"country-code\": \"818\" },\n\t{ name: \"El Salvador\", \"alpha-3\": \"SLV\", \"country-code\": \"222\" },\n\t{\n\t\tname: \"Equatorial Guinea\",\n\t\t\"alpha-3\": \"GNQ\",\n\t\t\"country-code\": \"226\",\n\t},\n\t{ name: \"Eritrea\", \"alpha-3\": \"ERI\", \"country-code\": \"232\" },\n\t{ name: \"Estonia\", \"alpha-3\": \"EST\", \"country-code\": \"233\" },\n\t{ name: \"Eswatini\", \"alpha-3\": \"SWZ\", \"country-code\": \"748\" },\n\t{ name: \"Ethiopia\", \"alpha-3\": \"ETH\", \"country-code\": \"231\" },\n\t{\n\t\tname: \"Falkland Islands (Malvinas)\",\n\t\t\"alpha-3\": \"FLK\",\n\t\t\"country-code\": \"238\",\n\t},\n\t{ name: \"Faroe Islands\", \"alpha-3\": \"FRO\", \"country-code\": \"234\" },\n\t{ name: \"Fiji\", \"alpha-3\": \"FJI\", \"country-code\": \"242\" },\n\t{ name: \"Finland\", \"alpha-3\": \"FIN\", \"country-code\": \"246\" },\n\t{ name: \"France\", \"alpha-3\": \"FRA\", \"country-code\": \"250\" },\n\t{ name: \"French Guiana\", \"alpha-3\": \"GUF\", \"country-code\": \"254\" },\n\t{ name: \"French Polynesia\", \"alpha-3\": \"PYF\", \"country-code\": \"258\" },\n\t{\n\t\tname: \"French Southern Territories\",\n\t\t\"alpha-3\": \"ATF\",\n\t\t\"country-code\": \"260\",\n\t},\n\t{ name: \"Gabon\", \"alpha-3\": \"GAB\", \"country-code\": \"266\" },\n\t{ name: \"Gambia\", \"alpha-3\": \"GMB\", \"country-code\": \"270\" },\n\t{ name: \"Georgia\", \"alpha-3\": \"GEO\", \"country-code\": \"268\" },\n\t{ name: \"Germany\", \"alpha-3\": \"DEU\", \"country-code\": \"276\" },\n\t{ name: \"Ghana\", \"alpha-3\": \"GHA\", \"country-code\": \"288\" },\n\t{ name: \"Gibraltar\", \"alpha-3\": \"GIB\", \"country-code\": \"292\" },\n\t{ name: \"Greece\", \"alpha-3\": \"GRC\", \"country-code\": \"300\" },\n\t{ name: \"Greenland\", \"alpha-3\": \"GRL\", \"country-code\": \"304\" },\n\t{ name: \"Grenada\", \"alpha-3\": \"GRD\", \"country-code\": \"308\" },\n\t{ name: \"Guadeloupe\", \"alpha-3\": \"GLP\", \"country-code\": \"312\" },\n\t{ name: \"Guam\", \"alpha-3\": \"GUM\", \"country-code\": \"316\" },\n\t{ name: \"Guatemala\", \"alpha-3\": \"GTM\", \"country-code\": \"320\" },\n\t{ name: \"Guernsey\", \"alpha-3\": \"GGY\", \"country-code\": \"831\" },\n\t{ name: \"Guinea\", \"alpha-3\": \"GIN\", \"country-code\": \"324\" },\n\t{ name: \"Guinea-Bissau\", \"alpha-3\": \"GNB\", \"country-code\": \"624\" },\n\t{ name: \"Guyana\", \"alpha-3\": \"GUY\", \"country-code\": \"328\" },\n\t{ name: \"Haiti\", \"alpha-3\": \"HTI\", \"country-code\": \"332\" },\n\t{\n\t\tname: \"Heard Island and McDonald Islands\",\n\t\t\"alpha-3\": \"HMD\",\n\t\t\"country-code\": \"334\",\n\t},\n\t{ name: \"Holy See\", \"alpha-3\": \"VAT\", \"country-code\": \"336\" },\n\t{ name: \"Honduras\", \"alpha-3\": \"HND\", \"country-code\": \"340\" },\n\t{ name: \"Hong Kong\", \"alpha-3\": \"HKG\", \"country-code\": \"344\" },\n\t{ name: \"Hungary\", \"alpha-3\": \"HUN\", \"country-code\": \"348\" },\n\t{ name: \"Iceland\", \"alpha-3\": \"ISL\", \"country-code\": \"352\" },\n\t{ name: \"India\", \"alpha-3\": \"IND\", \"country-code\": \"356\" },\n\t{ name: \"Indonesia\", \"alpha-3\": \"IDN\", \"country-code\": \"360\" },\n\t{\n\t\tname: \"Iran (Islamic Republic of)\",\n\t\t\"alpha-3\": \"IRN\",\n\t\t\"country-code\": \"364\",\n\t},\n\t{ name: \"Iraq\", \"alpha-3\": \"IRQ\", \"country-code\": \"368\" },\n\t{ name: \"Ireland\", \"alpha-3\": \"IRL\", \"country-code\": \"372\" },\n\t{ name: \"Isle of Man\", \"alpha-3\": \"IMN\", \"country-code\": \"833\" },\n\t{ name: \"Israel\", \"alpha-3\": \"ISR\", \"country-code\": \"376\" },\n\t{ name: \"Italy\", \"alpha-3\": \"ITA\", \"country-code\": \"380\" },\n\t{ name: \"Jamaica\", \"alpha-3\": \"JAM\", \"country-code\": \"388\" },\n\t{ name: \"Japan\", \"alpha-3\": \"JPN\", \"country-code\": \"392\" },\n\t{ name: \"Jersey\", \"alpha-3\": \"JEY\", \"country-code\": \"832\" },\n\t{ name: \"Jordan\", \"alpha-3\": \"JOR\", \"country-code\": \"400\" },\n\t{ name: \"Kazakhstan\", \"alpha-3\": \"KAZ\", \"country-code\": \"398\" },\n\t{ name: \"Kenya\", \"alpha-3\": \"KEN\", \"country-code\": \"404\" },\n\t{ name: \"Kiribati\", \"alpha-3\": \"KIR\", \"country-code\": \"296\" },\n\t{\n\t\tname: \"Korea (Democratic People's Republic of)\",\n\t\t\"alpha-3\": \"PRK\",\n\t\t\"country-code\": \"408\",\n\t},\n\t{\n\t\tname: \"Korea, Republic of\",\n\t\t\"alpha-3\": \"KOR\",\n\t\t\"country-code\": \"410\",\n\t},\n\t{ name: \"Kuwait\", \"alpha-3\": \"KWT\", \"country-code\": \"414\" },\n\t{ name: \"Kyrgyzstan\", \"alpha-3\": \"KGZ\", \"country-code\": \"417\" },\n\t{\n\t\tname: \"Lao People's Democratic Republic\",\n\t\t\"alpha-3\": \"LAO\",\n\t\t\"country-code\": \"418\",\n\t},\n\t{ name: \"Latvia\", \"alpha-3\": \"LVA\", \"country-code\": \"428\" },\n\t{ name: \"Lebanon\", \"alpha-3\": \"LBN\", \"country-code\": \"422\" },\n\t{ name: \"Lesotho\", \"alpha-3\": \"LSO\", \"country-code\": \"426\" },\n\t{ name: \"Liberia\", \"alpha-3\": \"LBR\", \"country-code\": \"430\" },\n\t{ name: \"Libya\", \"alpha-3\": \"LBY\", \"country-code\": \"434\" },\n\t{ name: \"Liechtenstein\", \"alpha-3\": \"LIE\", \"country-code\": \"438\" },\n\t{ name: \"Lithuania\", \"alpha-3\": \"LTU\", \"country-code\": \"440\" },\n\t{ name: \"Luxembourg\", \"alpha-3\": \"LUX\", \"country-code\": \"442\" },\n\t{ name: \"Macao\", \"alpha-3\": \"MAC\", \"country-code\": \"446\" },\n\t{ name: \"Madagascar\", \"alpha-3\": \"MDG\", \"country-code\": \"450\" },\n\t{ name: \"Malawi\", \"alpha-3\": \"MWI\", \"country-code\": \"454\" },\n\t{ name: \"Malaysia\", \"alpha-3\": \"MYS\", \"country-code\": \"458\" },\n\t{ name: \"Maldives\", \"alpha-3\": \"MDV\", \"country-code\": \"462\" },\n\t{ name: \"Mali\", \"alpha-3\": \"MLI\", \"country-code\": \"466\" },\n\t{ name: \"Malta\", \"alpha-3\": \"MLT\", \"country-code\": \"470\" },\n\t{ name: \"Marshall Islands\", \"alpha-3\": \"MHL\", \"country-code\": \"584\" },\n\t{ name: \"Martinique\", \"alpha-3\": \"MTQ\", \"country-code\": \"474\" },\n\t{ name: \"Mauritania\", \"alpha-3\": \"MRT\", \"country-code\": \"478\" },\n\t{ name: \"Mauritius\", \"alpha-3\": \"MUS\", \"country-code\": \"480\" },\n\t{ name: \"Mayotte\", \"alpha-3\": \"MYT\", \"country-code\": \"175\" },\n\t{ name: \"Mexico\", \"alpha-3\": \"MEX\", \"country-code\": \"484\" },\n\t{\n\t\tname: \"Micronesia (Federated States of)\",\n\t\t\"alpha-3\": \"FSM\",\n\t\t\"country-code\": \"583\",\n\t},\n\t{\n\t\tname: \"Moldova, Republic of\",\n\t\t\"alpha-3\": \"MDA\",\n\t\t\"country-code\": \"498\",\n\t},\n\t{ name: \"Monaco\", \"alpha-3\": \"MCO\", \"country-code\": \"492\" },\n\t{ name: \"Mongolia\", \"alpha-3\": \"MNG\", \"country-code\": \"496\" },\n\t{ name: \"Montenegro\", \"alpha-3\": \"MNE\", \"country-code\": \"499\" },\n\t{ name: \"Montserrat\", \"alpha-3\": \"MSR\", \"country-code\": \"500\" },\n\t{ name: \"Morocco\", \"alpha-3\": \"MAR\", \"country-code\": \"504\" },\n\t{ name: \"Mozambique\", \"alpha-3\": \"MOZ\", \"country-code\": \"508\" },\n\t{ name: \"Myanmar\", \"alpha-3\": \"MMR\", \"country-code\": \"104\" },\n\t{ name: \"Namibia\", \"alpha-3\": \"NAM\", \"country-code\": \"516\" },\n\t{ name: \"Nauru\", \"alpha-3\": \"NRU\", \"country-code\": \"520\" },\n\t{ name: \"Nepal\", \"alpha-3\": \"NPL\", \"country-code\": \"524\" },\n\t{ name: \"Netherlands\", \"alpha-3\": \"NLD\", \"country-code\": \"528\" },\n\t{ name: \"New Caledonia\", \"alpha-3\": \"NCL\", \"country-code\": \"540\" },\n\t{ name: \"New Zealand\", \"alpha-3\": \"NZL\", \"country-code\": \"554\" },\n\t{ name: \"Nicaragua\", \"alpha-3\": \"NIC\", \"country-code\": \"558\" },\n\t{ name: \"Niger\", \"alpha-3\": \"NER\", \"country-code\": \"562\" },\n\t{ name: \"Nigeria\", \"alpha-3\": \"NGA\", \"country-code\": \"566\" },\n\t{ name: \"Niue\", \"alpha-3\": \"NIU\", \"country-code\": \"570\" },\n\t{ name: \"Norfolk Island\", \"alpha-3\": \"NFK\", \"country-code\": \"574\" },\n\t{ name: \"North Macedonia\", \"alpha-3\": \"MKD\", \"country-code\": \"807\" },\n\t{\n\t\tname: \"Northern Mariana Islands\",\n\t\t\"alpha-3\": \"MNP\",\n\t\t\"country-code\": \"580\",\n\t},\n\t{ name: \"Norway\", \"alpha-3\": \"NOR\", \"country-code\": \"578\" },\n\t{ name: \"Oman\", \"alpha-3\": \"OMN\", \"country-code\": \"512\" },\n\t{ name: \"Pakistan\", \"alpha-3\": \"PAK\", \"country-code\": \"586\" },\n\t{ name: \"Palau\", \"alpha-3\": \"PLW\", \"country-code\": \"585\" },\n\t{\n\t\tname: \"Palestine, State of\",\n\t\t\"alpha-3\": \"PSE\",\n\t\t\"country-code\": \"275\",\n\t},\n\t{ name: \"Panama\", \"alpha-3\": \"PAN\", \"country-code\": \"591\" },\n\t{ name: \"Papua New Guinea\", \"alpha-3\": \"PNG\", \"country-code\": \"598\" },\n\t{ name: \"Paraguay\", \"alpha-3\": \"PRY\", \"country-code\": \"600\" },\n\t{ name: \"Peru\", \"alpha-3\": \"PER\", \"country-code\": \"604\" },\n\t{ name: \"Philippines\", \"alpha-3\": \"PHL\", \"country-code\": \"608\" },\n\t{ name: \"Pitcairn\", \"alpha-3\": \"PCN\", \"country-code\": \"612\" },\n\t{ name: \"Poland\", \"alpha-3\": \"POL\", \"country-code\": \"616\" },\n\t{ name: \"Portugal\", \"alpha-3\": \"PRT\", \"country-code\": \"620\" },\n\t{ name: \"Puerto Rico\", \"alpha-3\": \"PRI\", \"country-code\": \"630\" },\n\t{ name: \"Qatar\", \"alpha-3\": \"QAT\", \"country-code\": \"634\" },\n\t{ name: \"Réunion\", \"alpha-3\": \"REU\", \"country-code\": \"638\" },\n\t{ name: \"Romania\", \"alpha-3\": \"ROU\", \"country-code\": \"642\" },\n\t{\n\t\tname: \"Russian Federation\",\n\t\t\"alpha-3\": \"RUS\",\n\t\t\"country-code\": \"643\",\n\t},\n\t{ name: \"Rwanda\", \"alpha-3\": \"RWA\", \"country-code\": \"646\" },\n\t{ name: \"Saint Barthélemy\", \"alpha-3\": \"BLM\", \"country-code\": \"652\" },\n\t{\n\t\tname: \"Saint Helena, Ascension and Tristan da Cunha\",\n\t\t\"alpha-3\": \"SHN\",\n\t\t\"country-code\": \"654\",\n\t},\n\t{\n\t\tname: \"Saint Kitts and Nevis\",\n\t\t\"alpha-3\": \"KNA\",\n\t\t\"country-code\": \"659\",\n\t},\n\t{ name: \"Saint Lucia\", \"alpha-3\": \"LCA\", \"country-code\": \"662\" },\n\t{\n\t\tname: \"Saint Martin (French part)\",\n\t\t\"alpha-3\": \"MAF\",\n\t\t\"country-code\": \"663\",\n\t},\n\t{\n\t\tname: \"Saint Pierre and Miquelon\",\n\t\t\"alpha-3\": \"SPM\",\n\t\t\"country-code\": \"666\",\n\t},\n\t{\n\t\tname: \"Saint Vincent and the Grenadines\",\n\t\t\"alpha-3\": \"VCT\",\n\t\t\"country-code\": \"670\",\n\t},\n\t{ name: \"Samoa\", \"alpha-3\": \"WSM\", \"country-code\": \"882\" },\n\t{ name: \"San Marino\", \"alpha-3\": \"SMR\", \"country-code\": \"674\" },\n\t{\n\t\tname: \"Sao Tome and Principe\",\n\t\t\"alpha-3\": \"STP\",\n\t\t\"country-code\": \"678\",\n\t},\n\t{ name: \"Saudi Arabia\", \"alpha-3\": \"SAU\", \"country-code\": \"682\" },\n\t{ name: \"Senegal\", \"alpha-3\": \"SEN\", \"country-code\": \"686\" },\n\t{ name: \"Serbia\", \"alpha-3\": \"SRB\", \"country-code\": \"688\" },\n\t{ name: \"Seychelles\", \"alpha-3\": \"SYC\", \"country-code\": \"690\" },\n\t{ name: \"Sierra Leone\", \"alpha-3\": \"SLE\", \"country-code\": \"694\" },\n\t{ name: \"Singapore\", \"alpha-3\": \"SGP\", \"country-code\": \"702\" },\n\t{\n\t\tname: \"Sint Maarten (Dutch part)\",\n\t\t\"alpha-3\": \"SXM\",\n\t\t\"country-code\": \"534\",\n\t},\n\t{ name: \"Slovakia\", \"alpha-3\": \"SVK\", \"country-code\": \"703\" },\n\t{ name: \"Slovenia\", \"alpha-3\": \"SVN\", \"country-code\": \"705\" },\n\t{ name: \"Solomon Islands\", \"alpha-3\": \"SLB\", \"country-code\": \"090\" },\n\t{ name: \"Somalia\", \"alpha-3\": \"SOM\", \"country-code\": \"706\" },\n\t{ name: \"South Africa\", \"alpha-3\": \"ZAF\", \"country-code\": \"710\" },\n\t{\n\t\tname: \"South Georgia and the South Sandwich Islands\",\n\t\t\"alpha-3\": \"SGS\",\n\t\t\"country-code\": \"239\",\n\t},\n\t{ name: \"South Sudan\", \"alpha-3\": \"SSD\", \"country-code\": \"728\" },\n\t{ name: \"Spain\", \"alpha-3\": \"ESP\", \"country-code\": \"724\" },\n\t{ name: \"Sri Lanka\", \"alpha-3\": \"LKA\", \"country-code\": \"144\" },\n\t{ name: \"Sudan\", \"alpha-3\": \"SDN\", \"country-code\": \"729\" },\n\t{ name: \"Suriname\", \"alpha-3\": \"SUR\", \"country-code\": \"740\" },\n\t{\n\t\tname: \"Svalbard and Jan Mayen\",\n\t\t\"alpha-3\": \"SJM\",\n\t\t\"country-code\": \"744\",\n\t},\n\t{ name: \"Sweden\", \"alpha-3\": \"SWE\", \"country-code\": \"752\" },\n\t{ name: \"Switzerland\", \"alpha-3\": \"CHE\", \"country-code\": \"756\" },\n\t{\n\t\tname: \"Syrian Arab Republic\",\n\t\t\"alpha-3\": \"SYR\",\n\t\t\"country-code\": \"760\",\n\t},\n\t{\n\t\tname: \"Taiwan, Province of China\",\n\t\t\"alpha-3\": \"TWN\",\n\t\t\"country-code\": \"158\",\n\t},\n\t{ name: \"Tajikistan\", \"alpha-3\": \"TJK\", \"country-code\": \"762\" },\n\t{\n\t\tname: \"Tanzania, United Republic of\",\n\t\t\"alpha-3\": \"TZA\",\n\t\t\"country-code\": \"834\",\n\t},\n\t{ name: \"Thailand\", \"alpha-3\": \"THA\", \"country-code\": \"764\" },\n\t{ name: \"Timor-Leste\", \"alpha-3\": \"TLS\", \"country-code\": \"626\" },\n\t{ name: \"Togo\", \"alpha-3\": \"TGO\", \"country-code\": \"768\" },\n\t{ name: \"Tokelau\", \"alpha-3\": \"TKL\", \"country-code\": \"772\" },\n\t{ name: \"Tonga\", \"alpha-3\": \"TON\", \"country-code\": \"776\" },\n\t{\n\t\tname: \"Trinidad and Tobago\",\n\t\t\"alpha-3\": \"TTO\",\n\t\t\"country-code\": \"780\",\n\t},\n\t{ name: \"Tunisia\", \"alpha-3\": \"TUN\", \"country-code\": \"788\" },\n\t{ name: \"Turkey\", \"alpha-3\": \"TUR\", \"country-code\": \"792\" },\n\t{ name: \"Turkmenistan\", \"alpha-3\": \"TKM\", \"country-code\": \"795\" },\n\t{\n\t\tname: \"Turks and Caicos Islands\",\n\t\t\"alpha-3\": \"TCA\",\n\t\t\"country-code\": \"796\",\n\t},\n\t{ name: \"Tuvalu\", \"alpha-3\": \"TUV\", \"country-code\": \"798\" },\n\t{ name: \"Uganda\", \"alpha-3\": \"UGA\", \"country-code\": \"800\" },\n\t{ name: \"Ukraine\", \"alpha-3\": \"UKR\", \"country-code\": \"804\" },\n\t{\n\t\tname: \"United Arab Emirates\",\n\t\t\"alpha-3\": \"ARE\",\n\t\t\"country-code\": \"784\",\n\t},\n\t{\n\t\tname: \"United Kingdom of Great Britain and Northern Ireland (UK)\",\n\t\t\"alpha-3\": \"GBR\",\n\t\t\"country-code\": \"826\",\n\t},\n\t{\n\t\tname: \"United States of America (USA)\",\n\t\t\"alpha-3\": \"USA\",\n\t\t\"country-code\": \"840\",\n\t},\n\t{\n\t\tname: \"United States Minor Outlying Islands\",\n\t\t\"alpha-3\": \"UMI\",\n\t\t\"country-code\": \"581\",\n\t},\n\t{ name: \"Uruguay\", \"alpha-3\": \"URY\", \"country-code\": \"858\" },\n\t{ name: \"Uzbekistan\", \"alpha-3\": \"UZB\", \"country-code\": \"860\" },\n\t{ name: \"Vanuatu\", \"alpha-3\": \"VUT\", \"country-code\": \"548\" },\n\t{\n\t\tname: \"Venezuela (Bolivarian Republic of)\",\n\t\t\"alpha-3\": \"VEN\",\n\t\t\"country-code\": \"862\",\n\t},\n\t{ name: \"Viet Nam\", \"alpha-3\": \"VNM\", \"country-code\": \"704\" },\n\t{\n\t\tname: \"Virgin Islands (British)\",\n\t\t\"alpha-3\": \"VGB\",\n\t\t\"country-code\": \"092\",\n\t},\n\t{\n\t\tname: \"Virgin Islands (U.S.)\",\n\t\t\"alpha-3\": \"VIR\",\n\t\t\"country-code\": \"850\",\n\t},\n\t{\n\t\tname: \"Wallis and Futuna\",\n\t\t\"alpha-3\": \"WLF\",\n\t\t\"country-code\": \"876\",\n\t},\n\t{ name: \"Western Sahara\", \"alpha-3\": \"ESH\", \"country-code\": \"732\" },\n\t{ name: \"Yemen\", \"alpha-3\": \"YEM\", \"country-code\": \"887\" },\n\t{ name: \"Zambia\", \"alpha-3\": \"ZMB\", \"country-code\": \"894\" },\n\t{ name: \"Zimbabwe\", \"alpha-3\": \"ZWE\", \"country-code\": \"716\" },\n];\n","export const countryCurrency = [\n\t{ country: \"AD\", currency: \"EUR\" },\n\t{ country: \"AE\", currency: \"AED\" },\n\t{ country: \"AF\", currency: \"AFN\" },\n\t{ country: \"AG\", currency: \"XCD\" },\n\t{ country: \"AI\", currency: \"XCD\" },\n\t{ country: \"AL\", currency: \"ALL\" },\n\t{ country: \"AM\", currency: \"AMD\" },\n\t{ country: \"AO\", currency: \"AOA\" },\n\t{ country: \"AR\", currency: \"ARS\" },\n\t{ country: \"AS\", currency: \"USD\" },\n\t{ country: \"AT\", currency: \"EUR\" },\n\t{ country: \"AU\", currency: \"AUD\" },\n\t{ country: \"AW\", currency: \"AWG\" },\n\t{ country: \"AX\", currency: \"EUR\" },\n\t{ country: \"AZ\", currency: \"AZN\" },\n\t{ country: \"BA\", currency: \"BAM\" },\n\t{ country: \"BB\", currency: \"BBD\" },\n\t{ country: \"BD\", currency: \"BDT\" },\n\t{ country: \"BE\", currency: \"EUR\" },\n\t{ country: \"BF\", currency: \"XOF\" },\n\t{ country: \"BG\", currency: \"BGN\" },\n\t{ country: \"BH\", currency: \"BHD\" },\n\t{ country: \"BI\", currency: \"BIF\" },\n\t{ country: \"BJ\", currency: \"XOF\" },\n\t{ country: \"BL\", currency: \"EUR\" },\n\t{ country: \"BM\", currency: \"BMD\" },\n\t{ country: \"BN\", currency: \"BND\" },\n\t{ country: \"BO\", currency: \"BOB\" },\n\t{ country: \"BQ\", currency: \"USD\" },\n\t{ country: \"BR\", currency: \"BRL\" },\n\t{ country: \"BS\", currency: \"BSD\" },\n\t{ country: \"BT\", currency: \"INR\" },\n\t{ country: \"BV\", currency: \"NOK\" },\n\t{ country: \"BW\", currency: \"BWP\" },\n\t{ country: \"BY\", currency: \"BYN\" },\n\t{ country: \"BZ\", currency: \"BZD\" },\n\t{ country: \"CA\", currency: \"CAD\" },\n\t{ country: \"CC\", currency: \"AUD\" },\n\t{ country: \"CD\", currency: \"CDF\" },\n\t{ country: \"CF\", currency: \"XAF\" },\n\t{ country: \"CG\", currency: \"XAF\" },\n\t{ country: \"CH\", currency: \"CHF\" },\n\t{ country: \"CI\", currency: \"XOF\" },\n\t{ country: \"CK\", currency: \"NZD\" },\n\t{ country: \"CL\", currency: \"CLP\" },\n\t{ country: \"CM\", currency: \"XAF\" },\n\t{ country: \"CN\", currency: \"CNY\" },\n\t{ country: \"CO\", currency: \"COP\" },\n\t{ country: \"CR\", currency: \"CRC\" },\n\t{ country: \"CU\", currency: \"CUP\" },\n\t{ country: \"CV\", currency: \"CVE\" },\n\t{ country: \"CW\", currency: \"ANG\" },\n\t{ country: \"CX\", currency: \"AUD\" },\n\t{ country: \"CY\", currency: \"EUR\" },\n\t{ country: \"CZ\", currency: \"CZK\" },\n\t{ country: \"DE\", currency: \"EUR\" },\n\t{ country: \"DJ\", currency: \"DJF\" },\n\t{ country: \"DK\", currency: \"DKK\" },\n\t{ country: \"DM\", currency: \"XCD\" },\n\t{ country: \"DO\", currency: \"DOP\" },\n\t{ country: \"DZ\", currency: \"DZD\" },\n\t{ country: \"EC\", currency: \"USD\" },\n\t{ country: \"EE\", currency: \"EUR\" },\n\t{ country: \"EG\", currency: \"EGP\" },\n\t{ country: \"EH\", currency: \"MAD\" },\n\t{ country: \"ER\", currency: \"ERN\" },\n\t{ country: \"ES\", currency: \"EUR\" },\n\t{ country: \"ET\", currency: \"ETB\" },\n\t{ country: \"FI\", currency: \"EUR\" },\n\t{ country: \"FJ\", currency: \"FJD\" },\n\t{ country: \"FK\", currency: \"FKP\" },\n\t{ country: \"FM\", currency: \"USD\" },\n\t{ country: \"FO\", currency: \"DKK\" },\n\t{ country: \"FR\", currency: \"EUR\" },\n\t{ country: \"GA\", currency: \"XAF\" },\n\t{ country: \"GB\", currency: \"GBP\" },\n\t{ country: \"GD\", currency: \"XCD\" },\n\t{ country: \"GE\", currency: \"GEL\" },\n\t{ country: \"GF\", currency: \"EUR\" },\n\t{ country: \"GG\", currency: \"GGP\" },\n\t{ country: \"GH\", currency: \"GHS\" },\n\t{ country: \"GI\", currency: \"GIP\" },\n\t{ country: \"GL\", currency: \"DKK\" },\n\t{ country: \"GM\", currency: \"GMD\" },\n\t{ country: \"GN\", currency: \"GNF\" },\n\t{ country: \"GP\", currency: \"EUR\" },\n\t{ country: \"GQ\", currency: \"XAF\" },\n\t{ country: \"GR\", currency: \"EUR\" },\n\t{ country: \"GS\", currency: \"GBP\" },\n\t{ country: \"GT\", currency: \"GTQ\" },\n\t{ country: \"GU\", currency: \"USD\" },\n\t{ country: \"GW\", currency: \"XOF\" },\n\t{ country: \"GY\", currency: \"GYD\" },\n\t{ country: \"HK\", currency: \"HKD\" },\n\t{ country: \"HM\", currency: \"AUD\" },\n\t{ country: \"HN\", currency: \"HNL\" },\n\t{ country: \"HR\", currency: \"HRK\" },\n\t{ country: \"HT\", currency: \"HTG\" },\n\t{ country: \"HU\", currency: \"HUF\" },\n\t{ country: \"ID\", currency: \"IDR\" },\n\t{ country: \"IE\", currency: \"EUR\" },\n\t{ country: \"IL\", currency: \"ILS\" },\n\t{ country: \"IM\", currency: \"GBP\" },\n\t{ country: \"IN\", currency: \"INR\" },\n\t{ country: \"IO\", currency: \"USD\" },\n\t{ country: \"IQ\", currency: \"IQD\" },\n\t{ country: \"IR\", currency: \"IRR\" },\n\t{ country: \"IS\", currency: \"ISK\" },\n\t{ country: \"IT\", currency: \"EUR\" },\n\t{ country: \"JE\", currency: \"GBP\" },\n\t{ country: \"JM\", currency: \"JMD\" },\n\t{ country: \"JO\", currency: \"JOD\" },\n\t{ country: \"JP\", currency: \"JPY\" },\n\t{ country: \"KE\", currency: \"KES\" },\n\t{ country: \"KG\", currency: \"KGS\" },\n\t{ country: \"KH\", currency: \"KHR\" },\n\t{ country: \"KI\", currency: \"AUD\" },\n\t{ country: \"KM\", currency: \"KMF\" },\n\t{ country: \"KN\", currency: \"XCD\" },\n\t{ country: \"KP\", currency: \"KPW\" },\n\t{ country: \"KR\", currency: \"KRW\" },\n\t{ country: \"KW\", currency: \"KWD\" },\n\t{ country: \"KY\", currency: \"KYD\" },\n\t{ country: \"KZ\", currency: \"KZT\" },\n\t{ country: \"LA\", currency: \"LAK\" },\n\t{ country: \"LB\", currency: \"LBP\" },\n\t{ country: \"LC\", currency: \"XCD\" },\n\t{ country: \"LI\", currency: \"CHF\" },\n\t{ country: \"LK\", currency: \"LKR\" },\n\t{ country: \"LR\", currency: \"LRD\" },\n\t{ country: \"LS\", currency: \"LSL\" },\n\t{ country: \"LT\", currency: \"EUR\" },\n\t{ country: \"LU\", currency: \"EUR\" },\n\t{ country: \"LV\", currency: \"EUR\" },\n\t{ country: \"LY\", currency: \"LYD\" },\n\t{ country: \"MA\", currency: \"MAD\" },\n\t{ country: \"MC\", currency: \"EUR\" },\n\t{ country: \"MD\", currency: \"MDL\" },\n\t{ country: \"ME\", currency: \"EUR\" },\n\t{ country: \"MF\", currency: \"EUR\" },\n\t{ country: \"MG\", currency: \"MGA\" },\n\t{ country: \"MH\", currency: \"USD\" },\n\t{ country: \"MK\", currency: \"MKD\" },\n\t{ country: \"ML\", currency: \"XOF\" },\n\t{ country: \"MM\", currency: \"MMK\" },\n\t{ country: \"MN\", currency: \"MNT\" },\n\t{ country: \"MO\", currency: \"MOP\" },\n\t{ country: \"MP\", currency: \"USD\" },\n\t{ country: \"MQ\", currency: \"EUR\" },\n\t{ country: \"MR\", currency: \"MRO\" },\n\t{ country: \"MS\", currency: \"XCD\" },\n\t{ country: \"MT\", currency: \"EUR\" },\n\t{ country: \"MU\", currency: \"MUR\" },\n\t{ country: \"MV\", currency: \"MVR\" },\n\t{ country: \"MW\", currency: \"MWK\" },\n\t{ country: \"MX\", currency: \"MXN\" },\n\t{ country: \"MY\", currency: \"MYR\" },\n\t{ country: \"MZ\", currency: \"MZN\" },\n\t{ country: \"NA\", currency: \"NAD\" },\n\t{ country: \"NC\", currency: \"XPF\" },\n\t{ country: \"NE\", currency: \"XOF\" },\n\t{ country: \"NF\", currency: \"AUD\" },\n\t{ country: \"NG\", currency: \"NGN\" },\n\t{ country: \"NI\", currency: \"NIO\" },\n\t{ country: \"NL\", currency: \"EUR\" },\n\t{ country: \"NO\", currency: \"NOK\" },\n\t{ country: \"NP\", currency: \"NPR\" },\n\t{ country: \"NR\", currency: \"AUD\" },\n\t{ country: \"NU\", currency: \"NZD\" },\n\t{ country: \"NZ\", currency: \"NZD\" },\n\t{ country: \"OM\", currency: \"OMR\" },\n\t{ country: \"PA\", currency: \"PAB\" },\n\t{ country: \"PE\", currency: \"PEN\" },\n\t{ country: \"PF\", currency: \"XPF\" },\n\t{ country: \"PG\", currency: \"PGK\" },\n\t{ country: \"PH\", currency: \"PHP\" },\n\t{ country: \"PK\", currency: \"PKR\" },\n\t{ country: \"PL\", currency: \"PLN\" },\n\t{ country: \"PM\", currency: \"EUR\" },\n\t{ country: \"PN\", currency: \"NZD\" },\n\t{ country: \"PR\", currency: \"USD\" },\n\t{ country: \"PS\", currency: \"JOD\" },\n\t{ country: \"PT\", currency: \"EUR\" },\n\t{ country: \"PW\", currency: \"USD\" },\n\t{ country: \"PY\", currency: \"PYG\" },\n\t{ country: \"QA\", currency: \"QAR\" },\n\t{ country: \"RE\", currency: \"EUR\" },\n\t{ country: \"RO\", currency: \"RON\" },\n\t{ country: \"RS\", currency: \"RSD\" },\n\t{ country: \"RU\", currency: \"RUB\" },\n\t{ country: \"RW\", currency: \"RWF\" },\n\t{ country: \"SA\", currency: \"SAR\" },\n\t{ country: \"SB\", currency: \"SBD\" },\n\t{ country: \"SC\", currency: \"SCR\" },\n\t{ country: \"SD\", currency: \"SDG\" },\n\t{ country: \"SE\", currency: \"SEK\" },\n\t{ country: \"SG\", currency: \"SGD\" },\n\t{ country: \"SH\", currency: \"SHP\" },\n\t{ country: \"SI\", currency: \"EUR\" },\n\t{ country: \"SJ\", currency: \"NOK\" },\n\t{ country: \"SK\", currency: \"EUR\" },\n\t{ country: \"SL\", currency: \"SLL\" },\n\t{ country: \"SM\", currency: \"EUR\" },\n\t{ country: \"SN\", currency: \"XOF\" },\n\t{ country: \"SO\", currency: \"SOS\" },\n\t{ country: \"SR\", currency: \"SRD\" },\n\t{ country: \"SS\", currency: \"SSP\" },\n\t{ country: \"ST\", currency: \"STD\" },\n\t{ country: \"SV\", currency: \"USD\" },\n\t{ country: \"SX\", currency: \"ANG\" },\n\t{ country: \"SY\", currency: \"SYP\" },\n\t{ country: \"SZ\", currency: \"SZL\" },\n\t{ country: \"TC\", currency: \"USD\" },\n\t{ country: \"TD\", currency: \"XAF\" },\n\t{ country: \"TF\", currency: \"EUR\" },\n\t{ country: \"TG\", currency: \"XOF\" },\n\t{ country: \"TH\", currency: \"THB\" },\n\t{ country: \"TJ\", currency: \"TJS\" },\n\t{ country: \"TK\", currency: \"NZD\" },\n\t{ country: \"TL\", currency: \"USD\" },\n\t{ country: \"TM\", currency: \"TMT\" },\n\t{ country: \"TN\", currency: \"TND\" },\n\t{ country: \"TO\", currency: \"TOP\" },\n\t{ country: \"TR\", currency: \"TRY\" },\n\t{ country: \"TT\", currency: \"TTD\" },\n\t{ country: \"TV\", currency: \"AUD\" },\n\t{ country: \"TW\", currency: \"TWD\" },\n\t{ country: \"TZ\", currency: \"TZS\" },\n\t{ country: \"UA\", currency: \"UAH\" },\n\t{ country: \"UG\", currency: \"UGX\" },\n\t{ country: \"UM\", currency: \"USD\" },\n\t{ country: \"US\", currency: \"USD\" },\n\t{ country: \"UY\", currency: \"UYU\" },\n\t{ country: \"UZ\", currency: \"UZS\" },\n\t{ country: \"VA\", currency: \"EUR\" },\n\t{ country: \"VC\", currency: \"XCD\" },\n\t{ country: \"VE\", currency: \"VEF\" },\n\t{ country: \"VG\", currency: \"USD\" },\n\t{ country: \"VI\", currency: \"USD\" },\n\t{ country: \"VN\", currency: \"VND\" },\n\t{ country: \"VU\", currency: \"VUV\" },\n\t{ country: \"WF\", currency: \"XPF\" },\n\t{ country: \"WS\", currency: \"EUR\" },\n\t{ country: \"YE\", currency: \"YER\" },\n\t{ country: \"YT\", currency: \"EUR\" },\n\t{ country: \"ZA\", currency: \"ZAR\" },\n\t{ country: \"ZM\", currency: \"ZMW\" },\n\t{ country: \"ZW\", currency: \"USD\" },\n];\n","export const currencyCodes = {\n\tUSD: {\n\t\tsymbol: \"$\",\n\t\tname: \"US Dollar\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"USD\",\n\t\tname_plural: \"US dollars\",\n\t},\n\tCAD: {\n\t\tsymbol: \"CA$\",\n\t\tname: \"Canadian Dollar\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"CAD\",\n\t\tname_plural: \"Canadian dollars\",\n\t},\n\tEUR: {\n\t\tsymbol: \"€\",\n\t\tname: \"Euro\",\n\t\tsymbol_native: \"€\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"EUR\",\n\t\tname_plural: \"euros\",\n\t},\n\tAED: {\n\t\tsymbol: \"AED\",\n\t\tname: \"United Arab Emirates Dirham\",\n\t\tsymbol_native: \"د.إ.‏\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"AED\",\n\t\tname_plural: \"UAE dirhams\",\n\t},\n\tAFN: {\n\t\tsymbol: \"Af\",\n\t\tname: \"Afghan Afghani\",\n\t\tsymbol_native: \"؋\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"AFN\",\n\t\tname_plural: \"Afghan Afghanis\",\n\t},\n\tALL: {\n\t\tsymbol: \"ALL\",\n\t\tname: \"Albanian Lek\",\n\t\tsymbol_native: \"Lek\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"ALL\",\n\t\tname_plural: \"Albanian lekë\",\n\t},\n\tAMD: {\n\t\tsymbol: \"AMD\",\n\t\tname: \"Armenian Dram\",\n\t\tsymbol_native: \"դր.\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"AMD\",\n\t\tname_plural: \"Armenian drams\",\n\t},\n\tARS: {\n\t\tsymbol: \"AR$\",\n\t\tname: \"Argentine Peso\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"ARS\",\n\t\tname_plural: \"Argentine pesos\",\n\t},\n\tAUD: {\n\t\tsymbol: \"AU$\",\n\t\tname: \"Australian Dollar\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"AUD\",\n\t\tname_plural: \"Australian dollars\",\n\t},\n\tAZN: {\n\t\tsymbol: \"man.\",\n\t\tname: \"Azerbaijani Manat\",\n\t\tsymbol_native: \"ман.\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"AZN\",\n\t\tname_plural: \"Azerbaijani manats\",\n\t},\n\tBAM: {\n\t\tsymbol: \"KM\",\n\t\tname: \"Bosnia-Herzegovina Convertible Mark\",\n\t\tsymbol_native: \"KM\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"BAM\",\n\t\tname_plural: \"Bosnia-Herzegovina convertible marks\",\n\t},\n\tBDT: {\n\t\tsymbol: \"Tk\",\n\t\tname: \"Bangladeshi Taka\",\n\t\tsymbol_native: \"৳\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"BDT\",\n\t\tname_plural: \"Bangladeshi takas\",\n\t},\n\tBGN: {\n\t\tsymbol: \"BGN\",\n\t\tname: \"Bulgarian Lev\",\n\t\tsymbol_native: \"лв.\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"BGN\",\n\t\tname_plural: \"Bulgarian leva\",\n\t},\n\tBHD: {\n\t\tsymbol: \"BD\",\n\t\tname: \"Bahraini Dinar\",\n\t\tsymbol_native: \"د.ب.‏\",\n\t\tdecimal_digits: 3,\n\t\trounding: 0,\n\t\tcode: \"BHD\",\n\t\tname_plural: \"Bahraini dinars\",\n\t},\n\tBIF: {\n\t\tsymbol: \"FBu\",\n\t\tname: \"Burundian Franc\",\n\t\tsymbol_native: \"FBu\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"BIF\",\n\t\tname_plural: \"Burundian francs\",\n\t},\n\tBND: {\n\t\tsymbol: \"BN$\",\n\t\tname: \"Brunei Dollar\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"BND\",\n\t\tname_plural: \"Brunei dollars\",\n\t},\n\tBOB: {\n\t\tsymbol: \"Bs\",\n\t\tname: \"Bolivian Boliviano\",\n\t\tsymbol_native: \"Bs\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"BOB\",\n\t\tname_plural: \"Bolivian bolivianos\",\n\t},\n\tBRL: {\n\t\tsymbol: \"R$\",\n\t\tname: \"Brazilian Real\",\n\t\tsymbol_native: \"R$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"BRL\",\n\t\tname_plural: \"Brazilian reals\",\n\t},\n\tBWP: {\n\t\tsymbol: \"BWP\",\n\t\tname: \"Botswanan Pula\",\n\t\tsymbol_native: \"P\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"BWP\",\n\t\tname_plural: \"Botswanan pulas\",\n\t},\n\tBYN: {\n\t\tsymbol: \"Br\",\n\t\tname: \"Belarusian Ruble\",\n\t\tsymbol_native: \"руб.\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"BYN\",\n\t\tname_plural: \"Belarusian rubles\",\n\t},\n\tBZD: {\n\t\tsymbol: \"BZ$\",\n\t\tname: \"Belize Dollar\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"BZD\",\n\t\tname_plural: \"Belize dollars\",\n\t},\n\tCDF: {\n\t\tsymbol: \"CDF\",\n\t\tname: \"Congolese Franc\",\n\t\tsymbol_native: \"FrCD\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"CDF\",\n\t\tname_plural: \"Congolese francs\",\n\t},\n\tCHF: {\n\t\tsymbol: \"CHF\",\n\t\tname: \"Swiss Franc\",\n\t\tsymbol_native: \"CHF\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0.05,\n\t\tcode: \"CHF\",\n\t\tname_plural: \"Swiss francs\",\n\t},\n\tCLP: {\n\t\tsymbol: \"CL$\",\n\t\tname: \"Chilean Peso\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"CLP\",\n\t\tname_plural: \"Chilean pesos\",\n\t},\n\tCNY: {\n\t\tsymbol: \"CN¥\",\n\t\tname: \"Chinese Yuan\",\n\t\tsymbol_native: \"CN¥\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"CNY\",\n\t\tname_plural: \"Chinese yuan\",\n\t},\n\tCOP: {\n\t\tsymbol: \"CO$\",\n\t\tname: \"Colombian Peso\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"COP\",\n\t\tname_plural: \"Colombian pesos\",\n\t},\n\tCRC: {\n\t\tsymbol: \"₡\",\n\t\tname: \"Costa Rican Colón\",\n\t\tsymbol_native: \"₡\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"CRC\",\n\t\tname_plural: \"Costa Rican colóns\",\n\t},\n\tCVE: {\n\t\tsymbol: \"CV$\",\n\t\tname: \"Cape Verdean Escudo\",\n\t\tsymbol_native: \"CV$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"CVE\",\n\t\tname_plural: \"Cape Verdean escudos\",\n\t},\n\tCZK: {\n\t\tsymbol: \"Kč\",\n\t\tname: \"Czech Republic Koruna\",\n\t\tsymbol_native: \"Kč\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"CZK\",\n\t\tname_plural: \"Czech Republic korunas\",\n\t},\n\tDJF: {\n\t\tsymbol: \"Fdj\",\n\t\tname: \"Djiboutian Franc\",\n\t\tsymbol_native: \"Fdj\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"DJF\",\n\t\tname_plural: \"Djiboutian francs\",\n\t},\n\tDKK: {\n\t\tsymbol: \"Dkr\",\n\t\tname: \"Danish Krone\",\n\t\tsymbol_native: \"kr\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"DKK\",\n\t\tname_plural: \"Danish kroner\",\n\t},\n\tDOP: {\n\t\tsymbol: \"RD$\",\n\t\tname: \"Dominican Peso\",\n\t\tsymbol_native: \"RD$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"DOP\",\n\t\tname_plural: \"Dominican pesos\",\n\t},\n\tDZD: {\n\t\tsymbol: \"DA\",\n\t\tname: \"Algerian Dinar\",\n\t\tsymbol_native: \"د.ج.‏\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"DZD\",\n\t\tname_plural: \"Algerian dinars\",\n\t},\n\tEEK: {\n\t\tsymbol: \"Ekr\",\n\t\tname: \"Estonian Kroon\",\n\t\tsymbol_native: \"kr\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"EEK\",\n\t\tname_plural: \"Estonian kroons\",\n\t},\n\tEGP: {\n\t\tsymbol: \"EGP\",\n\t\tname: \"Egyptian Pound\",\n\t\tsymbol_native: \"ج.م.‏\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"EGP\",\n\t\tname_plural: \"Egyptian pounds\",\n\t},\n\tERN: {\n\t\tsymbol: \"Nfk\",\n\t\tname: \"Eritrean Nakfa\",\n\t\tsymbol_native: \"Nfk\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"ERN\",\n\t\tname_plural: \"Eritrean nakfas\",\n\t},\n\tETB: {\n\t\tsymbol: \"Br\",\n\t\tname: \"Ethiopian Birr\",\n\t\tsymbol_native: \"Br\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"ETB\",\n\t\tname_plural: \"Ethiopian birrs\",\n\t},\n\tGBP: {\n\t\tsymbol: \"£\",\n\t\tname: \"British Pound Sterling\",\n\t\tsymbol_native: \"£\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"GBP\",\n\t\tname_plural: \"British pounds sterling\",\n\t},\n\tGEL: {\n\t\tsymbol: \"GEL\",\n\t\tname: \"Georgian Lari\",\n\t\tsymbol_native: \"GEL\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"GEL\",\n\t\tname_plural: \"Georgian laris\",\n\t},\n\tGHS: {\n\t\tsymbol: \"GH₵\",\n\t\tname: \"Ghanaian Cedi\",\n\t\tsymbol_native: \"GH₵\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"GHS\",\n\t\tname_plural: \"Ghanaian cedis\",\n\t},\n\tGNF: {\n\t\tsymbol: \"FG\",\n\t\tname: \"Guinean Franc\",\n\t\tsymbol_native: \"FG\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"GNF\",\n\t\tname_plural: \"Guinean francs\",\n\t},\n\tGTQ: {\n\t\tsymbol: \"GTQ\",\n\t\tname: \"Guatemalan Quetzal\",\n\t\tsymbol_native: \"Q\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"GTQ\",\n\t\tname_plural: \"Guatemalan quetzals\",\n\t},\n\tHKD: {\n\t\tsymbol: \"HK$\",\n\t\tname: \"Hong Kong Dollar\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"HKD\",\n\t\tname_plural: \"Hong Kong dollars\",\n\t},\n\tHNL: {\n\t\tsymbol: \"HNL\",\n\t\tname: \"Honduran Lempira\",\n\t\tsymbol_native: \"L\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"HNL\",\n\t\tname_plural: \"Honduran lempiras\",\n\t},\n\tHRK: {\n\t\tsymbol: \"kn\",\n\t\tname: \"Croatian Kuna\",\n\t\tsymbol_native: \"kn\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"HRK\",\n\t\tname_plural: \"Croatian kunas\",\n\t},\n\tHUF: {\n\t\tsymbol: \"Ft\",\n\t\tname: \"Hungarian Forint\",\n\t\tsymbol_native: \"Ft\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"HUF\",\n\t\tname_plural: \"Hungarian forints\",\n\t},\n\tIDR: {\n\t\tsymbol: \"Rp\",\n\t\tname: \"Indonesian Rupiah\",\n\t\tsymbol_native: \"Rp\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"IDR\",\n\t\tname_plural: \"Indonesian rupiahs\",\n\t},\n\tILS: {\n\t\tsymbol: \"₪\",\n\t\tname: \"Israeli New Sheqel\",\n\t\tsymbol_native: \"₪\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"ILS\",\n\t\tname_plural: \"Israeli new sheqels\",\n\t},\n\tINR: {\n\t\tsymbol: \"Rs\",\n\t\tname: \"Indian Rupee\",\n\t\tsymbol_native: \"টকা\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"INR\",\n\t\tname_plural: \"Indian rupees\",\n\t},\n\tIQD: {\n\t\tsymbol: \"IQD\",\n\t\tname: \"Iraqi Dinar\",\n\t\tsymbol_native: \"د.ع.‏\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"IQD\",\n\t\tname_plural: \"Iraqi dinars\",\n\t},\n\tIRR: {\n\t\tsymbol: \"IRR\",\n\t\tname: \"Iranian Rial\",\n\t\tsymbol_native: \"﷼\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"IRR\",\n\t\tname_plural: \"Iranian rials\",\n\t},\n\tISK: {\n\t\tsymbol: \"Ikr\",\n\t\tname: \"Icelandic Króna\",\n\t\tsymbol_native: \"kr\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"ISK\",\n\t\tname_plural: \"Icelandic krónur\",\n\t},\n\tJMD: {\n\t\tsymbol: \"J$\",\n\t\tname: \"Jamaican Dollar\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"JMD\",\n\t\tname_plural: \"Jamaican dollars\",\n\t},\n\tJOD: {\n\t\tsymbol: \"JD\",\n\t\tname: \"Jordanian Dinar\",\n\t\tsymbol_native: \"د.أ.‏\",\n\t\tdecimal_digits: 3,\n\t\trounding: 0,\n\t\tcode: \"JOD\",\n\t\tname_plural: \"Jordanian dinars\",\n\t},\n\tJPY: {\n\t\tsymbol: \"¥\",\n\t\tname: \"Japanese Yen\",\n\t\tsymbol_native: \"¥\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"JPY\",\n\t\tname_plural: \"Japanese yen\",\n\t},\n\tKES: {\n\t\tsymbol: \"Ksh\",\n\t\tname: \"Kenyan Shilling\",\n\t\tsymbol_native: \"Ksh\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"KES\",\n\t\tname_plural: \"Kenyan shillings\",\n\t},\n\tKHR: {\n\t\tsymbol: \"KHR\",\n\t\tname: \"Cambodian Riel\",\n\t\tsymbol_native: \"៛\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"KHR\",\n\t\tname_plural: \"Cambodian riels\",\n\t},\n\tKMF: {\n\t\tsymbol: \"CF\",\n\t\tname: \"Comorian Franc\",\n\t\tsymbol_native: \"FC\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"KMF\",\n\t\tname_plural: \"Comorian francs\",\n\t},\n\tKRW: {\n\t\tsymbol: \"₩\",\n\t\tname: \"South Korean Won\",\n\t\tsymbol_native: \"₩\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"KRW\",\n\t\tname_plural: \"South Korean won\",\n\t},\n\tKWD: {\n\t\tsymbol: \"KD\",\n\t\tname: \"Kuwaiti Dinar\",\n\t\tsymbol_native: \"د.ك.‏\",\n\t\tdecimal_digits: 3,\n\t\trounding: 0,\n\t\tcode: \"KWD\",\n\t\tname_plural: \"Kuwaiti dinars\",\n\t},\n\tKZT: {\n\t\tsymbol: \"KZT\",\n\t\tname: \"Kazakhstani Tenge\",\n\t\tsymbol_native: \"тңг.\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"KZT\",\n\t\tname_plural: \"Kazakhstani tenges\",\n\t},\n\tLBP: {\n\t\tsymbol: \"L.L.\",\n\t\tname: \"Lebanese Pound\",\n\t\tsymbol_native: \"ل.ل.‏\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"LBP\",\n\t\tname_plural: \"Lebanese pounds\",\n\t},\n\tLKR: {\n\t\tsymbol: \"SLRs\",\n\t\tname: \"Sri Lankan Rupee\",\n\t\tsymbol_native: \"SL Re\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"LKR\",\n\t\tname_plural: \"Sri Lankan rupees\",\n\t},\n\tLTL: {\n\t\tsymbol: \"Lt\",\n\t\tname: \"Lithuanian Litas\",\n\t\tsymbol_native: \"Lt\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"LTL\",\n\t\tname_plural: \"Lithuanian litai\",\n\t},\n\tLVL: {\n\t\tsymbol: \"Ls\",\n\t\tname: \"Latvian Lats\",\n\t\tsymbol_native: \"Ls\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"LVL\",\n\t\tname_plural: \"Latvian lati\",\n\t},\n\tLYD: {\n\t\tsymbol: \"LD\",\n\t\tname: \"Libyan Dinar\",\n\t\tsymbol_native: \"د.ل.‏\",\n\t\tdecimal_digits: 3,\n\t\trounding: 0,\n\t\tcode: \"LYD\",\n\t\tname_plural: \"Libyan dinars\",\n\t},\n\tMAD: {\n\t\tsymbol: \"MAD\",\n\t\tname: \"Moroccan Dirham\",\n\t\tsymbol_native: \"د.م.‏\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"MAD\",\n\t\tname_plural: \"Moroccan dirhams\",\n\t},\n\tMDL: {\n\t\tsymbol: \"MDL\",\n\t\tname: \"Moldovan Leu\",\n\t\tsymbol_native: \"MDL\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"MDL\",\n\t\tname_plural: \"Moldovan lei\",\n\t},\n\tMGA: {\n\t\tsymbol: \"MGA\",\n\t\tname: \"Malagasy Ariary\",\n\t\tsymbol_native: \"MGA\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"MGA\",\n\t\tname_plural: \"Malagasy Ariaries\",\n\t},\n\tMKD: {\n\t\tsymbol: \"MKD\",\n\t\tname: \"Macedonian Denar\",\n\t\tsymbol_native: \"MKD\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"MKD\",\n\t\tname_plural: \"Macedonian denari\",\n\t},\n\tMMK: {\n\t\tsymbol: \"MMK\",\n\t\tname: \"Myanma Kyat\",\n\t\tsymbol_native: \"K\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"MMK\",\n\t\tname_plural: \"Myanma kyats\",\n\t},\n\tMOP: {\n\t\tsymbol: \"MOP$\",\n\t\tname: \"Macanese Pataca\",\n\t\tsymbol_native: \"MOP$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"MOP\",\n\t\tname_plural: \"Macanese patacas\",\n\t},\n\tMUR: {\n\t\tsymbol: \"MURs\",\n\t\tname: \"Mauritian Rupee\",\n\t\tsymbol_native: \"MURs\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"MUR\",\n\t\tname_plural: \"Mauritian rupees\",\n\t},\n\tMXN: {\n\t\tsymbol: \"MX$\",\n\t\tname: \"Mexican Peso\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"MXN\",\n\t\tname_plural: \"Mexican pesos\",\n\t},\n\tMYR: {\n\t\tsymbol: \"RM\",\n\t\tname: \"Malaysian Ringgit\",\n\t\tsymbol_native: \"RM\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"MYR\",\n\t\tname_plural: \"Malaysian ringgits\",\n\t},\n\tMZN: {\n\t\tsymbol: \"MTn\",\n\t\tname: \"Mozambican Metical\",\n\t\tsymbol_native: \"MTn\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"MZN\",\n\t\tname_plural: \"Mozambican meticals\",\n\t},\n\tNAD: {\n\t\tsymbol: \"N$\",\n\t\tname: \"Namibian Dollar\",\n\t\tsymbol_native: \"N$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"NAD\",\n\t\tname_plural: \"Namibian dollars\",\n\t},\n\tNGN: {\n\t\tsymbol: \"₦\",\n\t\tname: \"Nigerian Naira\",\n\t\tsymbol_native: \"₦\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"NGN\",\n\t\tname_plural: \"Nigerian nairas\",\n\t},\n\tNIO: {\n\t\tsymbol: \"C$\",\n\t\tname: \"Nicaraguan Córdoba\",\n\t\tsymbol_native: \"C$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"NIO\",\n\t\tname_plural: \"Nicaraguan córdobas\",\n\t},\n\tNOK: {\n\t\tsymbol: \"Nkr\",\n\t\tname: \"Norwegian Krone\",\n\t\tsymbol_native: \"kr\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"NOK\",\n\t\tname_plural: \"Norwegian kroner\",\n\t},\n\tNPR: {\n\t\tsymbol: \"NPRs\",\n\t\tname: \"Nepalese Rupee\",\n\t\tsymbol_native: \"नेरू\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"NPR\",\n\t\tname_plural: \"Nepalese rupees\",\n\t},\n\tNZD: {\n\t\tsymbol: \"NZ$\",\n\t\tname: \"New Zealand Dollar\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"NZD\",\n\t\tname_plural: \"New Zealand dollars\",\n\t},\n\tOMR: {\n\t\tsymbol: \"OMR\",\n\t\tname: \"Omani Rial\",\n\t\tsymbol_native: \"ر.ع.‏\",\n\t\tdecimal_digits: 3,\n\t\trounding: 0,\n\t\tcode: \"OMR\",\n\t\tname_plural: \"Omani rials\",\n\t},\n\tPAB: {\n\t\tsymbol: \"B/.\",\n\t\tname: \"Panamanian Balboa\",\n\t\tsymbol_native: \"B/.\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"PAB\",\n\t\tname_plural: \"Panamanian balboas\",\n\t},\n\tPEN: {\n\t\tsymbol: \"S/.\",\n\t\tname: \"Peruvian Nuevo Sol\",\n\t\tsymbol_native: \"S/.\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"PEN\",\n\t\tname_plural: \"Peruvian nuevos soles\",\n\t},\n\tPHP: {\n\t\tsymbol: \"₱\",\n\t\tname: \"Philippine Peso\",\n\t\tsymbol_native: \"₱\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"PHP\",\n\t\tname_plural: \"Philippine pesos\",\n\t},\n\tPKR: {\n\t\tsymbol: \"PKRs\",\n\t\tname: \"Pakistani Rupee\",\n\t\tsymbol_native: \"₨\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"PKR\",\n\t\tname_plural: \"Pakistani rupees\",\n\t},\n\tPLN: {\n\t\tsymbol: \"zł\",\n\t\tname: \"Polish Zloty\",\n\t\tsymbol_native: \"zł\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"PLN\",\n\t\tname_plural: \"Polish zlotys\",\n\t},\n\tPYG: {\n\t\tsymbol: \"₲\",\n\t\tname: \"Paraguayan Guarani\",\n\t\tsymbol_native: \"₲\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"PYG\",\n\t\tname_plural: \"Paraguayan guaranis\",\n\t},\n\tQAR: {\n\t\tsymbol: \"QR\",\n\t\tname: \"Qatari Rial\",\n\t\tsymbol_native: \"ر.ق.‏\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"QAR\",\n\t\tname_plural: \"Qatari rials\",\n\t},\n\tRON: {\n\t\tsymbol: \"RON\",\n\t\tname: \"Romanian Leu\",\n\t\tsymbol_native: \"RON\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"RON\",\n\t\tname_plural: \"Romanian lei\",\n\t},\n\tRSD: {\n\t\tsymbol: \"din.\",\n\t\tname: \"Serbian Dinar\",\n\t\tsymbol_native: \"дин.\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"RSD\",\n\t\tname_plural: \"Serbian dinars\",\n\t},\n\tRUB: {\n\t\tsymbol: \"RUB\",\n\t\tname: \"Russian Ruble\",\n\t\tsymbol_native: \"₽.\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"RUB\",\n\t\tname_plural: \"Russian rubles\",\n\t},\n\tRWF: {\n\t\tsymbol: \"RWF\",\n\t\tname: \"Rwandan Franc\",\n\t\tsymbol_native: \"FR\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"RWF\",\n\t\tname_plural: \"Rwandan francs\",\n\t},\n\tSAR: {\n\t\tsymbol: \"SR\",\n\t\tname: \"Saudi Riyal\",\n\t\tsymbol_native: \"ر.س.‏\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"SAR\",\n\t\tname_plural: \"Saudi riyals\",\n\t},\n\tSDG: {\n\t\tsymbol: \"SDG\",\n\t\tname: \"Sudanese Pound\",\n\t\tsymbol_native: \"SDG\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"SDG\",\n\t\tname_plural: \"Sudanese pounds\",\n\t},\n\tSEK: {\n\t\tsymbol: \"Skr\",\n\t\tname: \"Swedish Krona\",\n\t\tsymbol_native: \"kr\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"SEK\",\n\t\tname_plural: \"Swedish kronor\",\n\t},\n\tSGD: {\n\t\tsymbol: \"S$\",\n\t\tname: \"Singapore Dollar\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"SGD\",\n\t\tname_plural: \"Singapore dollars\",\n\t},\n\tSOS: {\n\t\tsymbol: \"Ssh\",\n\t\tname: \"Somali Shilling\",\n\t\tsymbol_native: \"Ssh\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"SOS\",\n\t\tname_plural: \"Somali shillings\",\n\t},\n\tSYP: {\n\t\tsymbol: \"SY£\",\n\t\tname: \"Syrian Pound\",\n\t\tsymbol_native: \"ل.س.‏\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"SYP\",\n\t\tname_plural: \"Syrian pounds\",\n\t},\n\tTHB: {\n\t\tsymbol: \"฿\",\n\t\tname: \"Thai Baht\",\n\t\tsymbol_native: \"฿\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"THB\",\n\t\tname_plural: \"Thai baht\",\n\t},\n\tTND: {\n\t\tsymbol: \"DT\",\n\t\tname: \"Tunisian Dinar\",\n\t\tsymbol_native: \"د.ت.‏\",\n\t\tdecimal_digits: 3,\n\t\trounding: 0,\n\t\tcode: \"TND\",\n\t\tname_plural: \"Tunisian dinars\",\n\t},\n\tTOP: {\n\t\tsymbol: \"T$\",\n\t\tname: \"Tongan Paʻanga\",\n\t\tsymbol_native: \"T$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"TOP\",\n\t\tname_plural: \"Tongan paʻanga\",\n\t},\n\tTRY: {\n\t\tsymbol: \"TL\",\n\t\tname: \"Turkish Lira\",\n\t\tsymbol_native: \"TL\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"TRY\",\n\t\tname_plural: \"Turkish Lira\",\n\t},\n\tTTD: {\n\t\tsymbol: \"TT$\",\n\t\tname: \"Trinidad and Tobago Dollar\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"TTD\",\n\t\tname_plural: \"Trinidad and Tobago dollars\",\n\t},\n\tTWD: {\n\t\tsymbol: \"NT$\",\n\t\tname: \"New Taiwan Dollar\",\n\t\tsymbol_native: \"NT$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"TWD\",\n\t\tname_plural: \"New Taiwan dollars\",\n\t},\n\tTZS: {\n\t\tsymbol: \"TSh\",\n\t\tname: \"Tanzanian Shilling\",\n\t\tsymbol_native: \"TSh\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"TZS\",\n\t\tname_plural: \"Tanzanian shillings\",\n\t},\n\tUAH: {\n\t\tsymbol: \"₴\",\n\t\tname: \"Ukrainian Hryvnia\",\n\t\tsymbol_native: \"₴\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"UAH\",\n\t\tname_plural: \"Ukrainian hryvnias\",\n\t},\n\tUGX: {\n\t\tsymbol: \"USh\",\n\t\tname: \"Ugandan Shilling\",\n\t\tsymbol_native: \"USh\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"UGX\",\n\t\tname_plural: \"Ugandan shillings\",\n\t},\n\tUYU: {\n\t\tsymbol: \"$U\",\n\t\tname: \"Uruguayan Peso\",\n\t\tsymbol_native: \"$\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"UYU\",\n\t\tname_plural: \"Uruguayan pesos\",\n\t},\n\tUZS: {\n\t\tsymbol: \"UZS\",\n\t\tname: \"Uzbekistan Som\",\n\t\tsymbol_native: \"UZS\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"UZS\",\n\t\tname_plural: \"Uzbekistan som\",\n\t},\n\tVEF: {\n\t\tsymbol: \"Bs.F.\",\n\t\tname: \"Venezuelan Bolívar\",\n\t\tsymbol_native: \"Bs.F.\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"VEF\",\n\t\tname_plural: \"Venezuelan bolívars\",\n\t},\n\tVND: {\n\t\tsymbol: \"₫\",\n\t\tname: \"Vietnamese Dong\",\n\t\tsymbol_native: \"₫\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"VND\",\n\t\tname_plural: \"Vietnamese dong\",\n\t},\n\tXAF: {\n\t\tsymbol: \"FCFA\",\n\t\tname: \"CFA Franc BEAC\",\n\t\tsymbol_native: \"FCFA\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"XAF\",\n\t\tname_plural: \"CFA francs BEAC\",\n\t},\n\tXOF: {\n\t\tsymbol: \"CFA\",\n\t\tname: \"CFA Franc BCEAO\",\n\t\tsymbol_native: \"CFA\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"XOF\",\n\t\tname_plural: \"CFA francs BCEAO\",\n\t},\n\tYER: {\n\t\tsymbol: \"YR\",\n\t\tname: \"Yemeni Rial\",\n\t\tsymbol_native: \"ر.ي.‏\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"YER\",\n\t\tname_plural: \"Yemeni rials\",\n\t},\n\tZAR: {\n\t\tsymbol: \"R\",\n\t\tname: \"South African Rand\",\n\t\tsymbol_native: \"R\",\n\t\tdecimal_digits: 2,\n\t\trounding: 0,\n\t\tcode: \"ZAR\",\n\t\tname_plural: \"South African rand\",\n\t},\n\tZMK: {\n\t\tsymbol: \"ZK\",\n\t\tname: \"Zambian Kwacha\",\n\t\tsymbol_native: \"ZK\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"ZMK\",\n\t\tname_plural: \"Zambian kwachas\",\n\t},\n\tZWL: {\n\t\tsymbol: \"ZWL$\",\n\t\tname: \"Zimbabwean Dollar\",\n\t\tsymbol_native: \"ZWL$\",\n\t\tdecimal_digits: 0,\n\t\trounding: 0,\n\t\tcode: \"ZWL\",\n\t\tname_plural: \"Zimbabwean Dollar\",\n\t},\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\nvar _default = [{\n  id: 1,\n  imgSrc: \"../assets/images/banner1.jpg\"\n}, {\n  id: 2,\n  imgSrc: \"../assets/images/banner1.jpg\"\n}, {\n  id: 3,\n  imgSrc: \"../assets/images/banner1.jpg\"\n}, {\n  id: 4,\n  imgSrc: \"../assets/images/banner1.jpg\"\n}];\nexports[\"default\"] = _default;","class ErrorMessage {\n\tstatic 102 =\n\t\t\"The device limit for this platform has exceeded. First reset previous devices then attempt login.\";\n\tstatic 104 = \"Invalid Device Token\";\n\tstatic 107 = \"Invalid Email or Password.\";\n\tstatic 108 = \"User not found\";\n\tstatic 116 =\n\t\t\"A User with the same username, email or phone number already exists\";\n\tstatic 137 =\n\t\t\"Unable to reset device. Please wait ? minutes before attempting again\";\n\tstatic 138 = \"Unable to reset device. Device not found\";\n\n\tstatic 142 =\n\t\t\"Your account has been deactivated. Please contact system administrator.\";\n\n\tstatic default = \"Some error occurred\";\n}\n\nexport default ErrorMessage;\n","class ExamStatus {\n\tstatic DRAFT = \"Draft\";\n\tstatic PUBLISHED = \"Published\";\n}\n\nclass ExamType {\n\tstatic SURVEY = \"Survey\";\n\tstatic EXAM = \"Exam\";\n}\n\nclass ExamQuestionType {\n\tstatic QUESTION = \"Question\";\n\tstatic CRITERIA = \"Criteria\";\n}\n\nclass ExamQuestionWeightageType {\n\tstatic FIXED_VALUE = \"FixedValue\";\n\tstatic PERCENTAGE = \"Percentage\";\n}\n\nclass ExamCriteria {\n\tstatic CATEGORY = \"CategoryIDs\";\n\tstatic DIFFICULTY_LEVEL = \"DifficultyLevels\";\n\tstatic MARKS_RANGE = \"MarksRange\";\n\tstatic QUESTION_TYPE = \"QuestionTypes\";\n}\n\nclass ExamCriteriaText {\n\tstatic [ExamCriteria.CATEGORY] = \"Pools\";\n\tstatic [ExamCriteria.DIFFICULTY_LEVEL] = \"Difficulty Levels\";\n\tstatic [ExamCriteria.MARKS_RANGE] = \"Marks Range\";\n\tstatic [ExamCriteria.QUESTION_TYPE] = \"Question Types\";\n}\n\nconst examTypeOptions = [\n\t{\n\t\tlabel: \"Survey\",\n\t\tvalue: ExamType.SURVEY,\n\t},\n\t{\n\t\tlabel: \"Exam\",\n\t\tvalue: ExamType.EXAM,\n\t},\n];\n\nconst examQuestionTypeOptions = [\n\t{\n\t\tlabel: \"Question\",\n\t\tvalue: ExamQuestionType.QUESTION,\n\t},\n\t{\n\t\tlabel: \"Criteria\",\n\t\tvalue: ExamQuestionType.CRITERIA,\n\t},\n];\n\nconst examQuestionWeightageTypeOptions = [\n\t{\n\t\tlabel: \"Fixed Value (Marks/Points)\",\n\t\tvalue: ExamQuestionWeightageType.FIXED_VALUE,\n\t},\n\t{\n\t\tlabel: \"Percentage\",\n\t\tvalue: ExamQuestionWeightageType.PERCENTAGE,\n\t},\n];\n\nconst examCriteriaOptions = [\n\t{\n\t\tlabel: \"Question Pools\",\n\t\tvalue: ExamCriteria.CATEGORY,\n\t},\n\t{\n\t\tlabel: \"Difficulty Levels\",\n\t\tvalue: ExamCriteria.DIFFICULTY_LEVEL,\n\t},\n\t{\n\t\tlabel: \"Marks Range\",\n\t\tvalue: ExamCriteria.MARKS_RANGE,\n\t},\n\t{\n\t\tlabel: \"Question Types\",\n\t\tvalue: ExamCriteria.QUESTION_TYPE,\n\t},\n];\n\nclass LegacyExam {\n\tstatic GET_EXAM_ACTION = {\n\t\tATTEMPT: \"attempt_test\",\n\t\tVIEW_RESULTS: \"view_testwise_report\",\n\t\tREVIEW_EXAM: \"review_exam\",\n\t\tCUSTOM_URL: \"custom_url\",\n\t\tLIST_QUESTION: \"list_question\",\n\t\tCREATE_QUESTION: \"create_question\",\n\t\tREVIEW_QUESTIONS: \"review_questions\",\n\t};\n}\n\nexport {\n\tExamType,\n\tExamStatus,\n\tExamQuestionType,\n\tExamQuestionWeightageType,\n\tExamCriteria,\n\tExamCriteriaText,\n\texamTypeOptions,\n\texamQuestionTypeOptions,\n\texamQuestionWeightageTypeOptions,\n\texamCriteriaOptions,\n\tLegacyExam,\n};\n","export const HEADER_DASHBOARD = \"Dashboard\";\nexport const HEADER_LOGIN = \"Login\";\nexport const HEADER_REGISTER = \"Register\";\nexport const HEADER_COURSES = \"Courses\";\nexport const HEADER_PROFILE = \"Profile\";\nexport const HEADER_LOGOUT = \"Logout\";\nexport const DIRECTORY = \"Directory\";\nexport const RECORDED_VIDEO = \"RecordedVideos\";\nexport const LIVE_CLASS = \"LiveClass\";\nexport const ASSIGNMENT = \"Assignment\";\nexport const STUDY_MATERIAL = \"StudyMaterial\";\n// export const LIVE_CLASS = \"Profile\";\n// export const HEADER_PROFILE = \"Profile\";\n// export const HEADER_PROFILE = \"Profile\";\n","class LiveClassTabs {\n\tstatic ALL = \"All\";\n\tstatic TODAY = \"Today\";\n\tstatic PREVIOUS = \"Previous\";\n    static UPCOMING = \"Upcoming\";\n}\n\nexport { LiveClassTabs };","class PlatformText {\n\tstatic DESKTOP_WEB = \"Desktop | Chrome\";\n\tstatic MOBILE_WEB = \"Mobile | Chrome\";\n\tstatic ANDROID = \"Android | App\";\n\tstatic IOS = \"iPhone/iPad | App\";\n\tstatic DESKTOP = \"Desktop/Macbook | App\";\n}\n\nclass Platform {\n\tstatic DESKTOP_WEB = \"desktop_web\";\n\tstatic MOBILE_WEB = \"mobile_web\";\n\tstatic ANDROID = \"android\";\n\tstatic IOS = \"ios\";\n\tstatic DESKTOP = \"desktop\";\n}\n\nclass Platforms {\n\tstatic [Platform.DESKTOP_WEB] = PlatformText.DESKTOP_WEB;\n\tstatic [Platform.MOBILE_WEB] = PlatformText.MOBILE_WEB;\n\tstatic [Platform.ANDROID] = PlatformText.ANDROID;\n\tstatic [Platform.IOS] = PlatformText.IOS;\n\tstatic [Platform.DESKTOP] = PlatformText.DESKTOP;\n}\n\nexport { Platform, PlatformText, Platforms };\n","class PricingPlanType {\n\tstatic ONE_TIME = \"OneTime\";\n\tstatic MULTIPLE_PAYMENT_CYCLES = \"MultiplePaymentCycles\";\n}\n\nclass PaymentStatus {\n\tstatic PENDING = \"Pending\";\n\tstatic COMPLETED = \"Completed\";\n}\n\nclass ProductVariantPricingStatus {\n\tstatic PAID = \"Paid\";\n\tstatic FREE = \"Free\";\n}\nclass InvoiceStatus {\n\tstatic UNPAID = \"unpaid\";\n\tstatic PAID = \"paid\";\n\tstatic PARTIALLY_PAID = \"partially paid\";\n\tstatic OVER_PAID = \"over paid\";\n}\n\nexport {\n\tPricingPlanType,\n\tPaymentStatus,\n\tInvoiceStatus,\n\tProductVariantPricingStatus,\n};\n","export const PRODUCT_CAROUSEL_SETTINGS = {\n\tarrows: false,\n\tautoplay: true,\n\tinfinite: true,\n\tdraggable: true,\n\tspeed: 500,\n\tslidesToShow: 5,\n\tslidesToScroll: 1,\n\tinitialSlide: 0,\n\trows: 1,\n\tlazyLoad: \"ondemand\",\n\tresponsive: [\n\t\t{\n\t\t\tbreakpoint: 1920,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 5,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 1600,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 4,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 1366,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 4,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 1024,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 3,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 768,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 2,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t\tinitialSlide: 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 600,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 1.5,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t\tinitialSlide: 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 480,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 1,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t\t// rtl: true,\n\t\t\t\tcenterMode: true,\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport const USER_PRODUCTS_CAROUSEL_SETTINGS = {\n\tarrows: false,\n\tautoplay: false,\n\tinfinite: true,\n\tdraggable: true,\n\tspeed: 500,\n\tslidesToShow: 5,\n\tslidesToScroll: 1,\n\tinitialSlide: 0,\n\trows: 1,\n\tlazyLoad: \"ondemand\",\n\tresponsive: [\n\t\t{\n\t\t\tbreakpoint: 1920,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 4,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 1600,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 3,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 1366,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 3,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 1280,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 2,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 1024,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 3,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 768,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 2,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t\tinitialSlide: 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 600,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 1.5,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t\tinitialSlide: 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 480,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 1,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t\t// rtl: true,\n\t\t\t\tcenterMode: true,\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport const INSTRUCTOR_CAROUSEL_SETTINGS = {\n\tarrows: false,\n\tautoplay: true,\n\tinfinite: true,\n\tdraggable: true,\n\tspeed: 500,\n\tslidesToShow: 5,\n\tslidesToScroll: 1,\n\tinitialSlide: 0,\n\trows: 1,\n\tlazyLoad: \"ondemand\",\n\tresponsive: [\n\t\t{\n\t\t\tbreakpoint: 1920,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 5,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 1600,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 4,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 1280,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 3,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t},\n\t\t},\n\t\t// {\n\t\t// \tbreakpoint: 1024,\n\t\t// \tsettings: {\n\t\t// \t\tslidesToShow: 3,\n\t\t// \t\tslidesToScroll: 1,\n\t\t// \t},\n\t\t// },\n\t\t{\n\t\t\tbreakpoint: 768,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 2,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t\tinitialSlide: 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 600,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 2,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t\tinitialSlide: 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbreakpoint: 480,\n\t\t\tsettings: {\n\t\t\t\tslidesToShow: 1,\n\t\t\t\tslidesToScroll: 1,\n\t\t\t\tcenterMode: true,\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport const UPDATES_CAROUSEL_SETTINGS = {\n\tautoplay: true,\n\tinfinite: true,\n\tslidesToShow: 1,\n\tslidesToScroll: 1,\n\tinitialSlide: 0,\n\tarrows: false,\n};\n","class ProductVariantStatus {\n\tstatic DRAFT = \"Draft\";\n\tstatic PUBLISHED = \"Published\";\n\tstatic PRIVATE = \"Private\";\n\tstatic COMING_SOON = \"Coming Soon\";\n}\n\nclass ProductVariantEnrollmentType {\n\tstatic PRICING_PLAN = \"PricingPlan\";\n\tstatic DIRECT_ENROLLMENT = \"DirectEnrollment\";\n}\n\nclass ProductVariantSubscriptionStatus {\n\tstatic BLOCKED = \"Blocked\";\n\tstatic ALLOWED = \"Allowed\";\n\tstatic UNENROLLED = \"Unenrolled\";\n}\n\nexport {\n\tProductVariantStatus,\n\tProductVariantEnrollmentType,\n\tProductVariantSubscriptionStatus,\n};\n","class QuestionType {\n\tstatic DragAndDrop = \"DragnDrop\";\n\tstatic FreeText = \"FreeText\";\n\tstatic TrueFalse = \"TrueFalse\";\n\tstatic HotSpot = \"Hotspot\";\n\tstatic RadioButton = \"Radio\";\n\tstatic Checkbox = \"Checkbox\";\n\tstatic SingleSelect = \"SingleSelect\";\n\tstatic MultiSelect = \"MultiSelect\";\n\tstatic FillInTheBlanks = \"Blanks\";\n\tstatic WordProcessor = \"Word\";\n\tstatic ExcelProcessor = \"Excel\";\n\tstatic MultiResponse = \"MultiResponse\";\n}\n\nclass QuestionTypeText {\n\tstatic [QuestionType.DragAndDrop] = \"Drag & Drop\";\n\tstatic [QuestionType.FreeText] = \"Free Text\";\n\tstatic [QuestionType.HotSpot] = \"Hotspot\";\n\tstatic [QuestionType.RadioButton] = \"Radio Button\";\n\tstatic [QuestionType.Checkbox] = \"Checkbox\";\n\tstatic [QuestionType.SingleSelect] = \"Single-select\";\n\tstatic [QuestionType.MultiSelect] = \"Multi-select\";\n\tstatic [QuestionType.FillInTheBlanks] = \"Fill in the Blanks\";\n\tstatic [QuestionType.WordProcessor] = \"Word Processor\";\n\tstatic [QuestionType.ExcelProcessor] = \"Excel Processor\";\n\tstatic [QuestionType.MultiResponse] = \"Multi-response\";\n\tstatic [QuestionType.TrueFalse] = \"True False\";\n}\n\nclass QuestionDifficultyLevel {\n\tstatic EASY = \"Easy\";\n\tstatic INTERMEDIATE = \"Intermediate\";\n\tstatic DIFFICULT = \"Difficult\";\n\tstatic VERY_DIFFICULT = \"Very Difficult\";\n}\nconst questionDifficultyLevelOptions = [\n\t{\n\t\tlabel: \"Easy\",\n\t\tvalue: QuestionDifficultyLevel.EASY,\n\t},\n\t{\n\t\tlabel: \"Intermediate\",\n\t\tvalue: QuestionDifficultyLevel.INTERMEDIATE,\n\t},\n\t{\n\t\tlabel: \"Difficult\",\n\t\tvalue: QuestionDifficultyLevel.DIFFICULT,\n\t},\n\t{\n\t\tlabel: \"Very Difficult\",\n\t\tvalue: QuestionDifficultyLevel.VERY_DIFFICULT,\n\t},\n];\n\nconst sampleQuestions = [\n\t{\n\t\tQuestionID: 12,\n\t\tSourceID: null,\n\t\tQuestionGroupID: null,\n\t\tQuestionGroupSequence: null,\n\t\tQuestionText: \"<p>What is the color of the sky?</p>\",\n\t\tRequirementsText: null,\n\t\tQuestionTitle: \"New Test Question\",\n\t\tQuestionType: {\n\t\t\tQuestionTypeID: 4,\n\t\t\tQuestionTypeName: \"Radio\",\n\t\t},\n\t\tQuestionUsedStatus: false,\n\t\tQuestionMarks: 0.0,\n\t\tDifficultyLevel: null,\n\t\tAnswers: [\n\t\t\t{\n\t\t\t\tAnswerID: 36,\n\t\t\t\tAnswerText: \"<p>Yellow</p>\",\n\t\t\t\tExtraFields: '\"\"',\n\t\t\t\tIsCorrect: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tAnswerID: 37,\n\t\t\t\tAnswerText: \"<p>Green</p>\",\n\t\t\t\tExtraFields: '\"\"',\n\t\t\t\tIsCorrect: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tAnswerID: 38,\n\t\t\t\tAnswerText: \"<p>Blue</p>\",\n\t\t\t\tExtraFields: '\"\"',\n\t\t\t\tIsCorrect: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tAnswerID: 39,\n\t\t\t\tAnswerText: \"<p>Red</p>\",\n\t\t\t\tExtraFields: '\"\"',\n\t\t\t\tIsCorrect: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tAnswerID: 40,\n\t\t\t\tAnswerText: \"<p>Pink</p>\",\n\t\t\t\tExtraFields: '\"\"',\n\t\t\t\tIsCorrect: false,\n\t\t\t},\n\t\t],\n\t\tCreatedBy: {\n\t\t\tuserID: 5,\n\t\t\tFirstName: \"Hanan\",\n\t\t\tLastName: \"Bhai\",\n\t\t\tEmail: \"hanan@ets.com\",\n\t\t},\n\t\tCategories: [\n\t\t\t{\n\t\t\t\tCategoryID: 2,\n\t\t\t\tCategoryName: \"Semester 2\",\n\t\t\t\tSourceID: \"category2\",\n\t\t\t\tParentID: null,\n\t\t\t},\n\t\t],\n\t\tCreatedAt: \"2022-04-18T11:00:32+00:00\",\n\t\tUpdatedAt: null,\n\t\tDeletedAt: null,\n\t},\n\t{\n\t\tquestionID: \"001\",\n\t\tquestionGroupID: null,\n\t\tquestionGroupSequence: null,\n\t\tquestionText:\n\t\t\t\"<p>When a parent is evaluating the assets of a potential subsidiary, certain intangible assets can be recognised separately from goodwill, even though they have not been recognised in the subsidiary's own statement of financial position.</p><h4>Which of the following is an example of an intangible asset of the subsidiary that may be recognised separately from goodwill when preparing consolidated financial statements?</h4>\",\n\t\trequirementsText: null,\n\t\tquestionTitle: \"Question 1\",\n\t\tisPrivate: 0,\n\t\tquestionType: {\n\t\t\tquestionTypeID: 1,\n\t\t\tquestionTypeName: \"Radio\",\n\t\t},\n\t\tquestionUsedStatus: true,\n\t\tdifficultyLevel: \"Easy\",\n\t\tquestionMarks: 1.5,\n\t\tanswers: [\n\t\t\t{\n\t\t\t\tanswerID: 1,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A new research project which the subsidiary has correctly expensed to profit or loss but the directors of the parent have reliably assessed to have a substantial fair value\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 2,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A global advertising campaign which was concluded in the previous financial year and from which benefits are expected to flow in the future\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 3,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A customer list which the directors are unable to value reliably\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 4,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A contingent asset of the subsidiary from which the parent believes a flow of future economic benefits is possible\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t],\n\t\tcreatedBy: {\n\t\t\tuserID: 0,\n\t\t\tfirstName: \"admin\",\n\t\t\tlastName: \"admin\",\n\t\t\temail: \"admin@examtestiingsystem.com\",\n\t\t},\n\t\tcategories: [\n\t\t\t{\n\t\t\t\tcategoryID: 1,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 1\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tcategoryID: 2,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 2\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tquestionID: \"002\",\n\t\tquestionGroupID: null,\n\t\tquestionGroupSequence: null,\n\t\tquestionText:\n\t\t\t\"<p>When a parent is evaluating the assets of a potential subsidiary, certain intangible assets can be recognised separately from goodwill, even though they have not been recognised in the subsidiary's own statement of financial position.</p><h4>Which of the following is an example of an intangible asset of the subsidiary that may be recognised separately from goodwill when preparing consolidated financial statements?</h4>\",\n\t\trequirementsText: null,\n\t\tquestionTitle: \"Question 2\",\n\t\tisPrivate: 0,\n\t\tquestionType: {\n\t\t\tquestionTypeID: 3,\n\t\t\tquestionTypeName: \"Checkbox\",\n\t\t},\n\t\tquestionUsedStatus: true,\n\t\tdifficultyLevel: \"Easy\",\n\t\tquestionMarks: 1.5,\n\t\tanswers: [\n\t\t\t{\n\t\t\t\tanswerID: 1,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A new research project which the subsidiary has correctly expensed to profit or loss but the directors of the parent have reliably assessed to have a substantial fair value\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 2,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A global advertising campaign which was concluded in the previous financial year and from which benefits are expected to flow in the future\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 3,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A customer list which the directors are unable to value reliably\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 4,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A contingent asset of the subsidiary from which the parent believes a flow of future economic benefits is possible\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t],\n\t\tcreatedBy: {\n\t\t\tuserID: 0,\n\t\t\tfirstName: \"admin\",\n\t\t\tlastName: \"admin\",\n\t\t\temail: \"admin@examtestiingsystem.com\",\n\t\t},\n\t\tcategories: [\n\t\t\t{\n\t\t\t\tcategoryID: 1,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 1\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tcategoryID: 2,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 2\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tquestionID: \"003\",\n\t\tquestionGroupID: null,\n\t\tquestionGroupSequence: null,\n\t\tquestionText:\n\t\t\t\"<p>When a parent is evaluating the assets of a potential subsidiary, certain intangible assets can be recognised separately from goodwill, even though they have not been recognised in the subsidiary's own statement of financial position.</p><h4>Which of the following is an example of an intangible asset of the subsidiary that may be recognised separately from goodwill when preparing consolidated financial statements?</h4>\",\n\t\trequirementsText: null,\n\t\tquestionTitle: \"Question 3\",\n\t\tisPrivate: 0,\n\t\tquestionType: {\n\t\t\tquestionTypeID: 2,\n\t\t\tquestionTypeName: \"SingleSelect\",\n\t\t},\n\t\tquestionUsedStatus: true,\n\t\tdifficultyLevel: \"Easy\",\n\t\tquestionMarks: 1.5,\n\t\tanswers: [\n\t\t\t{\n\t\t\t\tanswerID: 1,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A new research project which the subsidiary has correctly expensed to profit or loss but the directors of the parent have reliably assessed to have a substantial fair value\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 2,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A global advertising campaign which was concluded in the previous financial year and from which benefits are expected to flow in the future\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 3,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A customer list which the directors are unable to value reliably\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 4,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A contingent asset of the subsidiary from which the parent believes a flow of future economic benefits is possible\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t],\n\t\tcreatedBy: {\n\t\t\tuserID: 0,\n\t\t\tfirstName: \"admin\",\n\t\t\tlastName: \"admin\",\n\t\t\temail: \"admin@examtestiingsystem.com\",\n\t\t},\n\t\tcategories: [\n\t\t\t{\n\t\t\t\tcategoryID: 1,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 1\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tcategoryID: 2,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 2\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tquestionID: \"004\",\n\t\tquestionGroupID: null,\n\t\tquestionGroupSequence: null,\n\t\tquestionText:\n\t\t\t\"<p>When a parent is evaluating the assets of a potential subsidiary, certain intangible assets can be recognised separately from goodwill, even though they have not been recognised in the subsidiary's own statement of financial position.</p><h4>Which of the following is an example of an intangible asset of the subsidiary that may be recognised separately from goodwill when preparing consolidated financial statements?</h4>\",\n\t\trequirementsText: null,\n\t\tquestionTitle: \"Question 4\",\n\t\tisPrivate: 0,\n\t\tquestionType: {\n\t\t\tquestionTypeID: 2,\n\t\t\tquestionTypeName: \"MultiSelect\",\n\t\t},\n\t\tquestionUsedStatus: true,\n\t\tdifficultyLevel: \"Easy\",\n\t\tquestionMarks: 1.5,\n\t\tanswers: [\n\t\t\t{\n\t\t\t\tanswerID: 1,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A new research project which the subsidiary has correctly expensed to profit or loss but the directors of the parent have reliably assessed to have a substantial fair value\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 2,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A global advertising campaign which was concluded in the previous financial year and from which benefits are expected to flow in the future\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 3,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A customer list which the directors are unable to value reliably\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 4,\n\t\t\t\tanswerText:\n\t\t\t\t\t\"A contingent asset of the subsidiary from which the parent believes a flow of future economic benefits is possible\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t],\n\t\tcreatedBy: {\n\t\t\tuserID: 0,\n\t\t\tfirstName: \"admin\",\n\t\t\tlastName: \"admin\",\n\t\t\temail: \"admin@examtestiingsystem.com\",\n\t\t},\n\t\tcategories: [\n\t\t\t{\n\t\t\t\tcategoryID: 1,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 1\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tcategoryID: 2,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 2\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tquestionID: \"005\",\n\t\tquestionGroupID: null,\n\t\tquestionGroupSequence: null,\n\t\tquestionText:\n\t\t\t\"<h4>Match the tokens to the appropriate category based on whether or not the costs should be capitalised in the initial carrying amount of an item of plant.</h4>\",\n\t\trequirementsText: null,\n\t\tquestionTitle: \"Question 5\",\n\t\tisPrivate: 0,\n\t\tquestionType: {\n\t\t\tquestionTypeID: 2,\n\t\t\tquestionTypeName: \"DragnDrop\",\n\t\t},\n\t\tquestionUsedStatus: true,\n\t\tdifficultyLevel: \"Easy\",\n\t\tquestionMarks: 1.5,\n\t\tanswers: [\n\t\t\t{\n\t\t\t\tanswerID: 1,\n\t\t\t\tanswerText: \"\",\n\t\t\t\textraFields: {\n\t\t\t\t\tdraggables: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 1,\n\t\t\t\t\t\t\ttext: \"The cost of installing a new power supply required to operate the plant\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 2,\n\t\t\t\t\t\t\ttext: \"The cost of a three-year plant maintenance agreement\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 3,\n\t\t\t\t\t\t\ttext: \"The cost of transporting the plant to factory\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 4,\n\t\t\t\t\t\t\ttext: \"The cost of a three-week training course for staff to operate the plant\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tdroppables: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 1,\n\t\t\t\t\t\t\ttext: null,\n\t\t\t\t\t\t\tisAnswerOf: 1,\n\t\t\t\t\t\t\tgroupId: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 2,\n\t\t\t\t\t\t\ttext: null,\n\t\t\t\t\t\t\tisAnswerOf: 2,\n\t\t\t\t\t\t\tgroupId: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 3,\n\t\t\t\t\t\t\ttext: null,\n\t\t\t\t\t\t\tisAnswerOf: 4,\n\t\t\t\t\t\t\tgroupId: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 4,\n\t\t\t\t\t\t\ttext: null,\n\t\t\t\t\t\t\tisAnswerOf: 3,\n\t\t\t\t\t\t\tgroupId: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tgroups: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 1,\n\t\t\t\t\t\t\tgroupTitle:\n\t\t\t\t\t\t\t\t\"The initial carrying amounts of plant should include\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 2,\n\t\t\t\t\t\t\tgroupTitle:\n\t\t\t\t\t\t\t\t\"The initial carrying amounts of plant should NOT include\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t],\n\t\tcreatedBy: {\n\t\t\tuserID: 0,\n\t\t\tfirstName: \"admin\",\n\t\t\tlastName: \"admin\",\n\t\t\temail: \"admin@examtestingsystem.com\",\n\t\t},\n\t\tcategories: [\n\t\t\t{\n\t\t\t\tcategoryID: 1,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 1\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tcategoryID: 2,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 2\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tquestionID: \"006\",\n\t\tquestionGroupID: 1,\n\t\tquestionGroupSequence: 1,\n\t\tquestionText:\n\t\t\t\"<p>On 1 October 20X4, Pyramid Co acquired 80% of Square Co's 9 million($1) equity shares. At the date of acquisition, Square Co had an itemof plant which had a fair value of $3m in excess of its carryingamount. At the date of acquisition it had a remaining life of fiveyears.</p><p>Pyramid Co's policy is to value non-controlling interests at fairvalue at the date of acquisition. For this purpose, Square Co's shareshad a value of $3.50 each at that date. In the year ended 30 September20X5, Square Co reported a profit of $8m.</p><h4>At what amount should the non-controlling interests of Square Co bevalued in the consolidated statement of financial position of PyramidCo as at 30 September 20X5?</h4>\",\n\t\trequirementsText:\n\t\t\t\"<p>Telepath Co has a year end of 30 September and owns an item of plant that it uses to produce and package pharmaceuticals. The plant cost$750,000 on 1 October 20X0 and, at that date, had an estimated usefullife of five years. A review of the plant on 1 April 20X3 concludedthat the plant would last for a further three and a half years andthat its fair value was $560,000. Telepath Co adopts the policy ofrevaluing its non-current assets to their fair value but does not makean annual transfer from the revaluation surplus to retained earningsto represent the additional depreciation charged due to therevaluation. &nbsp;</p><p>On 30 September 20X3, Telepath Co was informed by a major customerthat it would no longer be placing orders with Telepath Co. As aresult, Telepath Co revised its estimates that net cash inflows earnedfrom the plant for the next three years will be:</p><p>&nbsp;</p><table class='table table-bordered' border='1' cellspacing='0' cellpadding='0'><colgroup class='text-center' width='253'></colgroup><colgroup class='text-center' width='113'></colgroup><tbody><tr><td class='text-center'><p><strong>Year ended 30 September:</strong></p></td><td class='text-center'><strong>$’000</strong><p></p></td></tr><tr><td width='253' class='text-center'><p>20X4</p></td><td width='113' class='text-center'>220<p></p></td></tr><tr><td width='253' class='text-center'><p>20X5</p></td><td width='113' class='text-center'>180<p></p></td></tr><tr><td width='253' class='text-center'><p>20X6</p></td><td width='113' class='text-center'>200<p></p></td></tr></tbody></table><p>Telepath Co’s cost of capital is 10% which results in the followingdiscount factors:</p><p>&nbsp;</p><table class='table table-bordered' border='1' cellspacing='0' cellpadding='0'><colgroup class='text-center' width='253'></colgroup><colgroup class='text-center' width='113'></colgroup><tbody><tr><td><p><strong>Value of $1 at 30 September:</strong></p></td><td class='text-center'><strong>$'000</strong><p></p></td></tr><tr><td width='253' class='text-center'><p>20X4</p></td><td width='113' class='text-center'>0.91<p></p></td></tr><tr><td width='253' class='text-center'><p>20X5</p></td><td width='113' class='text-center'>0.83<p></p></td></tr><tr><td width='253' class='text-center'><p>20X6</p></td><td width='113' class='text-center'>0.75<p></p></td></tr></tbody></table><p>&nbsp;</p><p>Telepath Co also owns Rilda Co, a 100% subsidiary, which is treated asa cash generating unit. On 30 September 20X3, there was an impairmentto Rilda Co's assets of $3,500,000. The carrying amount of the assetsof Rilda Co immediately before the impairment were:</p><table class='table table-bordered' border='1' cellspacing='0' cellpadding='0'><colgroup class='text-center' width='253'></colgroup><colgroup class='text-center' width='77'></colgroup><tbody><tr><td><p><strong>&nbsp;</strong></p></td><td class='text-center'><strong>$'000</strong><p></p></td></tr><tr><td width='253' class='text-center'><p>Goodwill</p></td><td width='77' class='text-center'>2,000<p></p></td></tr><tr><td width='253' class='text-center'><p>Factory building</p></td><td width='77' class='text-center'>4,000<p></p></td></tr><tr><td width='253' class='text-center'><p>Plant</p></td><td width='77' class='text-center'>3,500<p></p></td></tr><tr><td width='253' class='text-center'><p>Receivables and cash (at recoverable amount)</p></td><td width='77' class='text-center'>2,500<p></p></td></tr><tr><td width='253' class='text-center'><p>&nbsp;</p></td><td width='77' class='text-center'><strong>12,000</strong><p></p></td></tr></tbody></table>\",\n\t\tquestionTitle: \"Question 6\",\n\t\tisPrivate: 0,\n\t\tquestionType: {\n\t\t\tquestionTypeID: 6,\n\t\t\tquestionTypeName: \"SingleSelect\",\n\t\t},\n\t\tquestionUsedStatus: true,\n\t\tdifficultyLevel: \"Easy\",\n\t\tquestionMarks: 1.5,\n\t\tanswers: [\n\t\t\t{\n\t\t\t\tanswerID: 1,\n\t\t\t\tanswerText: \"$26,680,000\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 2,\n\t\t\t\tanswerText: \"$7,900,000\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 3,\n\t\t\t\tanswerText: \"$7,780,000\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 4,\n\t\t\t\tanswerText: \"$12,220,000\",\n\t\t\t\textraFields: null,\n\t\t\t\tisCorrect: false,\n\t\t\t},\n\t\t],\n\t\tcreatedBy: {\n\t\t\tuserID: 0,\n\t\t\tfirstName: \"admin\",\n\t\t\tlastName: \"admin\",\n\t\t\temail: \"admin@examtestingsystem.com\",\n\t\t},\n\t\tcategories: [\n\t\t\t{\n\t\t\t\tcategoryID: 1,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 1\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tcategoryID: 2,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 2\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tquestionID: \"007\",\n\t\tquestionGroupID: null,\n\t\tquestionGroupSequence: null,\n\t\tquestionText:\n\t\t\t\"<div class='wrapper'><p>Question 1</p><p>The following draft financial statements relate to Bubble Group, a public limited company and two<br>other companies in which it owns investments.</p><p>DRAFT STATEMENTS OF FINANCIAL POSITION AS AT 31 OCTOBER 20X5</p><table style='width: 468.975px;'><tbody><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>&nbsp;</td><td style='width: 73px; height: 13px;'>Bubble</td><td style='width: 78px; height: 13px;'>Salt</td><td style='width: 48.975px; height: 13px;'>Tyslar</td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>&nbsp;</td><td style='width: 73px; height: 13px;'>$m</td><td style='width: 78px; height: 13px;'>$m</td><td style='width: 48.975px; height: 13px;'>Dinars m</td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>Assets</td><td style='width: 73px; height: 13px;'>&nbsp;</td><td style='width: 78px; height: 13px;'>&nbsp;</td><td style='width: 48.975px; height: 13px;'>&nbsp;</td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>Non-current assets</td><td style='width: 73px; height: 13px;'>&nbsp;</td><td style='width: 78px; height: 13px;'>&nbsp;</td><td style='width: 48.975px; height: 13px;'>&nbsp;</td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>Property, plant and equipment</td><td style='width: 73px; height: 13px;'>280</td><td style='width: 78px; height: 13px;'>105</td><td style='width: 48.975px; height: 13px;'>390</td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>Investment in Salt</td><td style='width: 73px; height: 13px;'>110</td><td style='width: 78px; height: 13px;'>&nbsp;</td><td style='width: 48.975px; height: 13px;'>&nbsp;</td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>Investment in Tyslar</td><td style='width: 73px; height: 13px;'>46</td><td style='width: 78px; height: 13px;'>&nbsp;</td><td style='width: 48.975px; height: 13px;'>&nbsp;</td></tr><tr style='height: 40px;'><td style='width: 238px; height: 40px;'>Financial assets</td><td style='width: 73px; height: 40px;'>12<br>––––<br>448</td><td style='width: 78px; height: 40px;'>9<br>–––<br>114</td><td style='width: 48.975px; height: 40px;'>98<br>––––<br>488</td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>Current assets</td><td style='width: 73px; height: 13px;'>&nbsp;</td><td style='width: 78px; height: 13px;'>&nbsp;</td><td style='width: 48.975px; height: 13px;'>&nbsp;</td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>Inventories</td><td style='width: 73px; height: 13px;'>20</td><td style='width: 78px; height: 13px;'>12</td><td style='width: 48.975px; height: 13px;'>16</td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>Trade and other receivables</td><td style='width: 73px; height: 13px;'>30</td><td style='width: 78px; height: 13px;'>25</td><td style='width: 48.975px; height: 13px;'>36</td></tr><tr style='height: 27px;'><td style='width: 238px; height: 27px;'>Cash and cash equivalents</td><td style='width: 73px; height: 27px;'>14<br>––––</td><td style='width: 78px; height: 27px;'>11<br>–––</td><td style='width: 48.975px; height: 27px;'>90<br>––––</td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>Total assets</td><td style='width: 73px; height: 13px;'>512</td><td style='width: 78px; height: 13px;'>162</td><td style='width: 48.975px; height: 13px;'>630</td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>Equity and liabilities</td><td style='width: 73px; height: 13px;'>&nbsp;</td><td style='width: 78px; height: 13px;'>&nbsp;</td><td style='width: 48.975px; height: 13px;'>&nbsp;</td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>Equity shares</td><td style='width: 73px; height: 13px;'>80</td><td style='width: 78px; height: 13px;'>50</td><td style='width: 48.975px; height: 13px;'>210</td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>Retained earnings</td><td style='width: 73px; height: 13px;'>230</td><td style='width: 78px; height: 13px;'>74</td><td style='width: 48.975px; height: 13px;'>292</td></tr><tr style='height: 27px;'><td style='width: 238px; height: 27px;'>Other components of equity</td><td style='width: 73px; height: 27px;'>40<br>––––</td><td style='width: 78px; height: 27px;'>12<br>–––</td><td style='width: 48.975px; height: 27px;'>––––</td></tr><tr style='height: 27px;'><td style='width: 238px; height: 27px;'>Total equity</td><td style='width: 73px; height: 27px;'>350<br>––––</td><td style='width: 78px; height: 27px;'>136<br>–––</td><td style='width: 48.975px; height: 27px;'>502<br>––––</td></tr><tr style='height: 13.8px;'><td style='width: 238px; height: 13.8px;'>Non-current liabilities</td><td style='width: 73px; height: 13.8px;'>95</td><td style='width: 78px; height: 13.8px;'>7</td><td style='width: 48.975px; height: 13.8px;'>110</td></tr><tr style='height: 27px;'><td style='width: 238px; height: 27px;'>Current liabilities</td><td style='width: 73px; height: 27px;'>67<br>––––</td><td style='width: 78px; height: 27px;'>19<br>–––</td><td style='width: 48.975px; height: 27px;'>18<br>––––</td></tr><tr style='height: 54px;'><td style='width: 238px; height: 54px;'>Total equity and liabilities</td><td style='width: 73px; height: 54px;'>162<br>––––<br>512<br>––––</td><td style='width: 78px; height: 54px;'>26<br>–––<br>162<br>–––</td><td style='width: 48.975px; height: 54px;'>128<br>––––<br>630<br>––––</td></tr></tbody></table><p>The following information is relevant to the Bubble Group.</p><p>(a) Bubble acquired 80% of the equity shares of Salt on 1 November 20X3 when Salt's retained<br>earnings were $56 million and other components of equity were $8 million. The fair value of<br>the net assets of Salt were $120 million at the date of acquisition. This does not include a<br>contingent liability which was disclosed in Salt's financial statements as a possible obligation<br>of $5 million. The fair value of the obligation was assessed as $1 million at the date of<br>acquisition and remained unsettled as at 31 October 20X5, Any remaining difference in the<br>fair value of the net assets at acquisition relates to non-depreciable land. The fair value of the<br>non-controlling interest at acquisition was estimated as $25 million. Bubble always adopts the<br>full goodwill method under IFRS 3 Business Combinations.</p><p>(b) Bubble owns 60% of the equity shares of Tyslar, a company located overseas,which uses the<br>dinar as its functional currency. The shares in Tyslar were acquired on 1 November 20X4 at a<br>cost of 368 million dinars. At the date of acquisition, retained earnings were 258 million<br>dinars and Tyslar had no other components of equity. No fair value adjustments were deemed<br>necessary in relation to the acquisition of Tyslar. The fair value of the non-controlling interest<br>was estimated as 220 million dinars at acquisition. No dividend was paid by Tyslar in the<br>year ended 31 October 20X5.</p><p>(c) An impairment review of goodwill was undertaken as at 31 October 20X5. No impairment<br>was necessary in relation to Salt, but the goodwill of Tyslar is to be impaired by 20%. Neither<br>Bubble, Salt nor Tyslar has issued any equity shares since acquisition.</p><p>(d) On 1 February 20X5, Bubble gave an interest-free loan to Tyslar for $10 million. Tyslar<br>recorded this correctly in its financial statements using the spot rate of exchange. Tyslar repaid<br>$5 million on 1 July 20X5 when the spot exchange rate was $1 to 10 dinars. Tyslar therefore<br>reduced its non-current liabilities by 50 million dinars. No further entries were made in Tyslar's<br>financial statements. The outstanding balance remains within the financial assets of Bubble<br>and the non-current liabilities of Tyslar.</p><p>(e) The following exchange rates are relevant to the preparation of the group financial statements:</p><p>Dinars to $<br>1 November 20X4 - 8<br>1 February 20X5 - 9<br>31 October 20X5 - 9.5<br>Average for year to 31 October 20X5 - 8.5</p><input type='hidden' id='ExcelResponse' name='ExcelResponse'> <input type='hidden' id='WordResponse' name='WordResponse'> <input type='hidden' id='SlidesResponse' name='SlidesResponse'> <br><br></div>\",\n\t\trequirementsText: {\n\t\t\tgroups: [\n\t\t\t\t{\n\t\t\t\t\tid: 1,\n\t\t\t\t\ttext: \"Exhibits\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 2,\n\t\t\t\t\ttext: \"Requirements\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tmaterial: [\n\t\t\t\t{\n\t\t\t\t\tid: 1,\n\t\t\t\t\tgroupID: 1,\n\t\t\t\t\ttitle: \"Exhibit 1\",\n\t\t\t\t\tcontent:\n\t\t\t\t\t\t\"<p></p><p>On 1 June 20X8 Grange acquired a controlling interest of 60% of the equity interests of Park. The purchase consideration comprised cash of $250 million. At the acquisition date, the fair values of Park's net assets were the same as their carrying amounts except for the following two items:</p><ul><li>Non-depreciable land had a fair value of $80 million but was included in Park's statement of financial position at $75 million. This land was still held at 30 November</li><li>Park held a franchise right, which at 1 June 20X8 had a fair value of $10 million. The franchise right had not been recognised in the financial statements of Park. The franchise right had a remaining term of five years to run at the date of acquisition and is not Park still holds this franchise right at</li></ul><p>30 November 20X9.</p><p>Grange measures non-controlling interest (NCI) at fair value: the fair value of the NCI in Park was</p><p>$150 million on 1 June 20X8. At the date of acquisition, the equity section of Park's statement of financial position was as follows:</p><p style='text-align: center;'>$m</p><table><tbody><tr><td width='508'><p>Share capital</p></td><td width='19'><p>230</p></td></tr><tr><td width='508'><p>Retained earnings</p></td><td width='19'><p>115</p></td></tr><tr><td width='508'><p>Other components of equity</p></td><td width='19'><p>10</p></td></tr><tr><td width='508'><p>Total equity</p></td><td width='19'><p>355</p></td></tr></tbody></table><p>Grange acquired a further 20% equity interest in Park on 30 November 20X9 for cash consideration of</p><p>$90 million. At that date, Park's retained earnings were $170 million and other components of equity were $14 million.</p><p></p>\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 2,\n\t\t\t\t\tgroupID: 1,\n\t\t\t\t\ttitle: \"Exhibit 2\",\n\t\t\t\t\tcontent:\n\t\t\t\t\t\t\"<p></p><p>On 30 June 20X8, Grange acquired a 100% equity interest in Sitin for a cash consideration of $39 million. Sitin's identifiable net assets had a fair value of $32 million at that date.</p><p>On 30 November 20X9, Grange disposed of 60% of its equity interest in Sitin, losing its controlling interest in Sitin from that date. The identifiable net assets of Sitin were $36 million at the date of disposal. The sale proceeds were $23 million and the remaining equity interest had a fair value of $13 million. The only accounting entry made in Grange's accounts for the year ended 30 November 20X9 was to increase cash and reduce the cost of the investment in Sitin by the amount of the sales proceeds. After the sale, there will continue to be significant transactions between Grange and Sitin.</p><p></p>\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 3,\n\t\t\t\t\tgroupID: 2,\n\t\t\t\t\ttitle: \"Requirement 1\",\n\t\t\t\t\tcontent:\n\t\t\t\t\t\t\"<p></p><p>(i) Explain, with suitable workings, how the goodwill in relation to Park should be accounted for in the consolidated statement of financial position as at 30 November 20X9. Your answer should explain the treatment of the additional equity interest in Park which was acquired on 30 November</p><p><strong>(10 marks)</strong></p><p>(ii) Explain, with suitable workings, the appropriate accounting treatment for the sale of the shares in Sitin in the consolidated financial statements as at 30 November 20X9.&nbsp;</p><p><strong>(6 marks)</strong></p><p></p>\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tquestionTitle: \"Question 7\",\n\t\tisPrivate: 0,\n\t\tquestionType: {\n\t\t\tquestionTypeID: 6,\n\t\t\tquestionTypeName: \"MultiResponse\",\n\t\t},\n\t\tquestionUsedStatus: true,\n\t\tdifficultyLevel: \"Easy\",\n\t\tquestionMarks: 1.5,\n\t\tanswers: [\n\t\t\t{\n\t\t\t\tanswerID: 1,\n\t\t\t\tanswerText: \"Word Processor\",\n\t\t\t\textraFields: {\n\t\t\t\t\tanswerMode: \"word\",\n\t\t\t\t},\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tanswerID: 2,\n\t\t\t\tanswerText: \"Spreadsheet\",\n\t\t\t\textraFields: {\n\t\t\t\t\tanswerMode: \"excel\",\n\t\t\t\t},\n\t\t\t\tisCorrect: true,\n\t\t\t},\n\t\t],\n\t\tcreatedBy: {\n\t\t\tuserID: 0,\n\t\t\tfirstName: \"admin\",\n\t\t\tlastName: \"admin\",\n\t\t\temail: \"admin@examtestingsystem.com\",\n\t\t},\n\t\tcategories: [\n\t\t\t{\n\t\t\t\tcategoryID: 1,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 1\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tcategoryID: 2,\n\t\t\t\tparentID: null,\n\t\t\t\tsourceID: \"cat1\",\n\t\t\t\tcategoryName: \"Category 2\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t},\n\t\t],\n\t},\n];\n\nconst sampleQuestionCategories = [\n\t{\n\t\tcategoryID: 1,\n\t\tparentID: null,\n\t\tchildCategories: [\n\t\t\t{\n\t\t\t\tcategoryID: 3,\n\t\t\t\tparentID: 1,\n\t\t\t\tchildCategories: null,\n\t\t\t\tsourceID: \"category3\",\n\t\t\t\tcategoryName: \"C# Programming\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t\tcreatedAt: \"2022-04-16T14:57:13+05:00\",\n\t\t\t\tupdatedAt: null,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcategoryID: 4,\n\t\t\t\tparentID: 1,\n\t\t\t\tchildCategories: null,\n\t\t\t\tsourceID: \"category4\",\n\t\t\t\tcategoryName: \"Java Programming\",\n\t\t\t\tcategoryType: \"Question\",\n\t\t\t\tcreatedAt: \"2022-04-16T14:57:13+05:00\",\n\t\t\t\tupdatedAt: null,\n\t\t\t},\n\t\t],\n\t\tsourceID: \"category1\",\n\t\tcategoryName: \"Semester 1\",\n\t\tcategoryType: \"Question\",\n\t\tcreatedAt: \"2022-04-16T14:57:13+05:00\",\n\t\tupdatedAt: null,\n\t},\n\t{\n\t\tcategoryID: 2,\n\t\tparentID: null,\n\t\tchildCategories: [],\n\t\tsourceID: \"category2\",\n\t\tcategoryName: \"Semester 2\",\n\t\tcategoryType: \"Question\",\n\t\tcreatedAt: \"2022-04-16T14:57:13+05:00\",\n\t\tupdatedAt: null,\n\t},\n\t{\n\t\tcategoryID: 5,\n\t\tparentID: null,\n\t\tchildCategories: [],\n\t\tsourceID: \"1\",\n\t\tcategoryName: \"Test Change\",\n\t\tcategoryType: \"Question\",\n\t\tcreatedAt: \"2022-04-16T13:25:36+00:00\",\n\t\tupdatedAt: null,\n\t},\n\t{\n\t\tcategoryID: 6,\n\t\tparentID: null,\n\t\tchildCategories: [],\n\t\tsourceID: \"2\",\n\t\tcategoryName: \"F5\",\n\t\tcategoryType: \"Question\",\n\t\tcreatedAt: \"2022-04-16T17:36:35+00:00\",\n\t\tupdatedAt: \"2022-04-16T18:08:42+00:00\",\n\t},\n];\n\nconst sampleQuestionCategoriesByParent = {\n\t1: [\n\t\t{\n\t\t\tcategoryID: 4,\n\t\t\tparentID: 1,\n\t\t\tsourceID: \"cat1\",\n\t\t\tcategoryName: \"Sub Category 1\",\n\t\t\tcategoryType: \"Question\",\n\t\t},\n\t\t{\n\t\t\tcategoryID: 5,\n\t\t\tparentID: 1,\n\t\t\tsourceID: \"cat1\",\n\t\t\tcategoryName: \"Sub Category 2\",\n\t\t\tcategoryType: \"Question\",\n\t\t},\n\t],\n\t2: [],\n\t3: [],\n\t4: [],\n\t5: [\n\t\t{\n\t\t\tcategoryID: 6,\n\t\t\tparentID: 5,\n\t\t\tsourceID: \"cat1\",\n\t\t\tcategoryName: \"Sub Sub Category 1\",\n\t\t\tcategoryType: \"Question\",\n\t\t},\n\t\t{\n\t\t\tcategoryID: 7,\n\t\t\tparentID: 5,\n\t\t\tsourceID: \"cat1\",\n\t\t\tcategoryName: \"Sub Sub Category 2\",\n\t\t\tcategoryType: \"Question\",\n\t\t},\n\t],\n};\n\nconst sampleQuestionTypes = [\n\t{\n\t\tQuestionTypeID: 1,\n\t\tQuestionTypeName: \"DragnDrop\",\n\t},\n\t{\n\t\tQuestionTypeID: 2,\n\t\tQuestionTypeName: \"FreeText\",\n\t},\n\t{\n\t\tQuestionTypeID: 3,\n\t\tQuestionTypeName: \"Hotspot\",\n\t},\n\t{\n\t\tQuestionTypeID: 4,\n\t\tQuestionTypeName: \"Radio\",\n\t},\n\t{\n\t\tQuestionTypeID: 5,\n\t\tQuestionTypeName: \"Checkbox\",\n\t},\n\t{\n\t\tQuestionTypeID: 6,\n\t\tQuestionTypeName: \"SingleSelect\",\n\t},\n\t{\n\t\tQuestionTypeID: 7,\n\t\tQuestionTypeName: \"MultiSelect\",\n\t},\n\t{\n\t\tQuestionTypeID: 8,\n\t\tQuestionTypeName: \"Blanks\",\n\t},\n\t{\n\t\tQuestionTypeID: 9,\n\t\tQuestionTypeName: \"Word\",\n\t},\n\t{\n\t\tQuestionTypeID: 10,\n\t\tQuestionTypeName: \"Excel\",\n\t},\n];\n\nexport {\n\tQuestionType,\n\tQuestionTypeText,\n\tQuestionDifficultyLevel,\n\tquestionDifficultyLevelOptions,\n\tsampleQuestions,\n\tsampleQuestionCategories,\n\tsampleQuestionCategoriesByParent,\n\tsampleQuestionTypes,\n};\n","export const REQUEST_OPTIONS = {\n\tmethod: \"GET\",\n\theaders: {\n\t\t\"Content-Type\": \"application/json\",\n\t\tAuthToken: \"System123\",\n\t\tPlatform: \"desktop_web\",\n\t},\n};\n","class ServiceCodes {\n\tstatic LIVE_CLASS = {\n\t\tZoom: \"Zoom\",\n\t};\n\tstatic EXAM = {\n\t\tExamTestingSystem: \"ES\",\n\t\tV3ExamSystem: \"V3ExamSystem\",\n\t};\n\tstatic RECORDED_VIDEOS = {\n\t\tVideoStreamingServer: \"VSS\",\n\t};\n\tstatic STUDY_MATERIAL = {\n\t\tFileStreamingServer: \"FSS\",\n\t};\n}\n\nexport { ServiceCodes };\n","//USER API URLS\nexport const POST_USER_LOGIN = `/user/login`;\nexport const POST_USER_REGISTER = `/user/signup`;\nexport const FETCH_CURRENT_USER = `/user/me`;\nexport const PUT_USER_PROFILE = `/user/profile`;\nexport const PATCH_USER_STATUS = `/user/status`;\nexport const UPDATE_USER_PROFILE = `/user/changepassword`;\nexport const REGENERATE_USER_TOKEN = `/token/regenerate`;\n\n//USER CATEGORY URLS\nexport const FETCH_POST_PUT_DELETE_CATEGORIES_API = `/category`;\nexport const ASSIGN_PRODUCT_TO_CATEGORY_POST_API = `/product/category`;\nexport const UNASSIGN_PRODUCT_TO_CATEGORY_POST_API = `/product/category`;\n\n//SYSTEM API URLS\nexport const SYSTEM_PARAMS_API = `/systemparameters`;\nexport const EXTERNAL_SERVICES_API = `/services/external`;\nexport const POST_SERVICES_API = `/services`;\n\n//PRODUCT API URLS\nexport const FETCH_POST_PUT_PRODUCT_API = `/product`;\nexport const FETCH_PRODUCT_BY_CATEGORY_API = `/product/category`;\nexport const UPDATE_PRODUCT_SEQUENCE = `/product/sequence`;\nexport const UPDATE_CATEGORY_SEQUENCE = `/Category/sequence`;\n\n//PRODUCTVARIANT API URLS\nexport const FETCH_POST_PUT_PRODUCT_VARIANTS_API = `/productvariant`;\nexport const FETCH_PRODUCT_VARIANTS_BY_CATEGORY_API = `/productvariant?CategoryID=`;\nexport const FETCH_PRODUCT_VARIANTS_BY_PRODUCT_API = `/productvariant?ProductID=`;\nexport const ASSIGN_CONTENT_TO_PRODUCT_VARIANTS_API = `/productvariant/content`;\nexport const PATCH_PRODUCT_VARIANT_SEQUENCE = `/productvariant/sequence`;\nexport const POST_PRODUCT_VARIANT_ENROLL_USER = `/productvariant/user`;\nexport const PUT_UPDATE_PRODUCT_VARIANT_ENROLL_USER = `/productvariant/user/subscription`;\nexport const PRODUCT_VARIANT_FEEDBACK_RATING = `/productvariant/rating`;\nexport const UNENROLL_USER_COURSE_SUBSCRIPTION = `/productvariant/users/subscription`;\nexport const ENROLL_USERS_COURSES_SUBSCRIPTION = `/productvariants/users`;\nexport const UNENROLL_USERS_COURSES_SUBSCRIPTION = `/productvariants/users/subscription`;\nexport const FETCH_PRODUCT_VARIANT_PROGRESS = `/productvariant/progress`;\nexport const PASTE_PRODUCT_VARIANT_ITEMS = `/subject/copy`;\nexport const PASTE_PRODUCT_VARIANTS = `/course/copy`;\nexport const DELETE_PRODUCTVARIANT_ITEM = `/productvariant/content`;\nexport const PUT_RATING_API = `/productvariant/rating`;\n\n//CONTENT API URLS\nexport const FETCH_PUT_POST_CONTENT_API = `/content`;\nexport const POST_FILE_API = `/file/upload`;\nexport const FETCH_POST_CONTENT_TRAINERS_API = `/content/trainer`;\nexport const PATCH_CONTENT_SEQUENCE = `/content/sequence`;\nexport const PATCH_CONTENT_ITEMS_SEQUENCE = `/contentitems/sequence`;\nexport const FETCH_CONTENT_ATTENDANCE_API = `/Content/Attendance/Report`;\nexport const FETCH_CONTENT_ATTENDANCE_DETAIL_API = `/Content/Attendance/Detail`;\nexport const FETCH_POST_LIVE_CLASS_ATTENDANCE_API = `/LiveClassAttendance/Report`;\nexport const MARK_LIVE_CLASS_ATTENDANCE_API = `/LiveClassAttendance/Mark`;\nexport const MARK_ALL_IN_PROGRESS_ATTENDANCE_API = `/LiveClassAttendance/MarkCurrentClasses`;\nexport const EXPORT_LIVE_ATTENDANCE_API = `/Export/LiveAttendance`;\nexport const EXPORT_CONTENT_ATTENDANCE_API = `/Export/ContentAttendance`;\nexport const COPY_CONTENT_API = `/Content/Copy`;\nexport const FETCH_POST_USER_CONTENT_ACTION_API = `/Content/action`;\nexport const FETCH_USER_CONTENT_ACTIONS_BY_PRODUCT_VARIANT = '/content/action/productvariant';\nexport const FETCH_USER_CONTENT_BY_PRODUCT_VARIANT = '/content/productvariant';\n\n//PRICING API URLS\nexport const FETCH_PRICING_BY_PRODUCTVARIANT_API = `/productvariant/`;\nexport const POST_UPDATE_DELETE_PRICING_API = `/productvariant/plan`;\n\n//INVOICE API URLS\nexport const FETCH_POST_INVOICES_API = `/invoice`;\nexport const FETCH_INVOICE_BY_USER_API = `/invoice/user/`;\nexport const FETCH_INVOICE_BY_ID_API = `/invoice/`;\nexport const POST_INVOICE_PAYMENT_API = `/invoice/payment`;\nexport const DELETE_INVOICE_DETAIL_API = `/invoice/detail`;\n\n//PAYMENT API URLS\nexport const FETCH_PAYMENTS_BY_USER_API = `/invoice/payment/user/`;\nexport const FETCH_PAYMENTS_LIST = `/invoice/payment`;\nexport const PROCESS_PAYMENT_API = `/payment/process`;\nexport const COMPLETE_PAYMENT_API = `/payment/complete`;\n\n// TRAINER API URLS\nexport const FETCH_TRAINERS_API = `/trainer`;\n\n// USERS API URLS\nexport const FETCH_POST_USERS_API = `/user`;\nexport const EXPORT_POST_USERS_API = `/user/export`;\nexport const PUT_USERS_API = `/user`;\nexport const FETCH_POST_USERS_BY_PRODUCT_VARIANT_API = `/user/productvariant/`;\nexport const GET_GENERATE_OTP = `/user/verificationcode`;\nexport const VERIFY_USER = `/user/verificationcode/verify`;\nexport const POST_VERIFY_OTP = `/user/verificationcode/verify`;\nexport const POST_RESET_PASSWORD = `/user/verificationcode/resetpassword`;\nexport const FETCH_USERS_BY_EMAILS = `/users/emails`;\n\n// EXPORT API URLS\nexport const EXPORT_USERS_ENROLLMENT_API = `/Export/Users/Enrollment`;\n\n// DEVICES API URLS\nexport const FETCH_POST_USER_DEVICES_API = `/devices`;\nexport const FETCH_USER_DEVICE_RESTRICTIONS_API = `/devices/restrictions?UserID=`;\nexport const POST_USER_DEVICES_RESET_API = `/devices/reset?UserID=`;\nexport const POST_USER_DEVICE_REMOVE_API = `/device/reset`;\nexport const RESET_ALL_USERS_DEVICES = `/devices/reset/all`;\nexport const MARK_USERS_STATUS_ACTIVE_OR_INACTIVE = `/users/status/bulk`;\n\n// QUESTION API URLS\nexport const FETCH_PUT_POST_QUESTION_API = `/question`;\nexport const FETCH_PUT_POST_QUESTION_CATEGORY_API = `/question/category`;\n\n// EXAM API URLS\nexport const FETCH_POST_PUT_EXAM_THEME_API = \"/exam/theme\";\nexport const FETCH_EXAM_RESULT_PRODUCT_VARIANT = \"/exam/result/productvariant\";\nexport const FETCH_EXAM_CONTENT_RESULT = \"/exam/result\";\n\n\n//PRODUCT URLS\nexport const PURCHASED_PRODUCT_LINK = \"/product/content/\";\n\n//IMAGE URLS\nexport const LOGO_LIGHT_PATH = \"assets/images/gocbe_logo.png\";\nexport const HEADER_HAMBURGER_PATH = \"assets/images/hamburger.svg\";\nexport const HEADER_CART_ICON = \"assets/images/cart.svg\";\nexport const LOGO_DARK_PATH = \"assets/images/gocbe_logo_dark_bg.png\";\n\n//FORM API URLS\nexport const FETCH_FORM_API = `/form`;\nexport const POST_FORM_SUBMISSION_API = `/form/submission`;\n\n//SUPPORT API URLS\nexport const FETCH_SUPPORT_TICKETS = `/Support/Ticket`;\nexport const POST_SUPPORT_TICKETS = `/Support/Ticket`;\nexport const FETCH_SERVICES_SUPPORT_TICKETS = `/Support/Ticket/Service`;\nexport const FETCH_SUPPORT_TICKETS_REPLIES = `/Support/Ticket`;\n\n//QUIZ API URLS\nexport const POST_QUIZ_SUBMIT = `/Quiz/Submit`;\nexport const QUIZ_QUESTION = `/Quiz/Question`;\nexport const QUIZ_ATTEMPT_DETAIL = `/Quiz/Result/Details`;\n\n//Assignment API URLS\nexport const GET_POST_ASSIGNMENT_SUBMISSION = `/assignment`;","class UserStatus {\n\tstatic ACTIVE = \"Active\";\n\tstatic INACTIVE = \"Inactive\";\n}\n\nclass UserType {\n\tstatic STUDENT = \"Student\";\n\tstatic MANAGEMENT = \"Management\";\n\tstatic TRAINER = \"Trianer\";\n}\n\nexport { UserStatus, UserType };\n","import cookieHelpers from \"./CookieHelpers\";\nimport parser from \"ua-parser-js\";\nimport Vue from \"vue\";\nimport { REGENERATE_USER_TOKEN } from \"../constants/urls\";\nimport store from \"../store\";\n// import { cookieHelpers.setCookie, cookieHelpers.getCookie } from \"../helpers/CookieHelpers\";\n\nasync function makeAPICall(\n\turl,\n\tmethod,\n\tbody,\n\tisLoginApi,\n\tcontentType = \"application/json\"\n) {\n\t// if (store.state.appState.amIOnline === false) return;\n\t// console.log(url, method, body, isLoginApi);\n\tvar ua = parser(navigator.userAgent);\n\tvar requestOptions = {\n\t\tmethod: method,\n\t\theaders: {\n\t\t\tAuthToken: \"System123\",\n\t\t\tPlatform:\n\t\t\t\t getPlatform(navigator.userAgent),\n\t\t},\n\t};\n\t// alert(ua.device.type);\n\tif (contentType) {\n\t\trequestOptions.headers[\"Content-Type\"] = contentType;\n\t}\n\n\t// if (isAuthRequired) {\n\tconst token = cookieHelpers.getCookie(\"token\");\n\tif (token) {\n\t\trequestOptions.headers.Authorization = `Bearer ${token}`;\n\t}\n\t// }\n\n\tif (isLoginApi) {\n\t\tconst deviceToken = JSON.parse(localStorage.getItem(\"deviceToken\"));\n\t\tif (deviceToken) {\n\t\t\trequestOptions.headers.DeviceToken = deviceToken;\n\t\t}\n\t}\n\n\tif (body !== null) {\n\t\trequestOptions.body = body;\n\t\tconsole.log(body);\n\t}\n\n\tconst data = await fetch(url, requestOptions)\n\t\t// .then(handleErrors)\n\t\t.then(async (response) => {\n\t\t\tif (!response) {\n\t\t\t\treturn Promise.reject({\n\t\t\t\t\tstatus: 500,\n\t\t\t\t\tok: false,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t\"Some unexpected error occurred. Please check your internet connection and try again. If the problem persists please contact admin.\",\n\t\t\t\t});\n\t\t\t}\n\t\t\t// console.log(response);\n\t\t\tif (!response.ok) {\n\t\t\t\tif (response.status == 500) {\n\t\t\t\t\treturn Promise.reject({\n\t\t\t\t\t\tstatus: response.status,\n\t\t\t\t\t\tok: response.ok,\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\"Some unexpected error occurred. Please try again or contact admin.\",\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (response.status == 403 ) {\n\t\t\t\t\tvar error= await response.clone().json();\n\t\t\t\t\tif (error.error && error.error.errorCode == 133)\n\t\t\t\t\t\treturn Promise.reject({\n\t\t\t\t\t\t\tstatus: error.error.errorCode,\n\t\t\t\t\t\t\tok: response.ok,\n\t\t\t\t\t\t\tmessage: error.error.message,\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tvar isTokenExpired = response.headers.get(\"tokenexpired\");\n\t\t\t\tvar isTokenInvalid =\n\t\t\t\t\tresponse.headers.get(\"www-authenticate\") &&\n\t\t\t\t\tresponse.headers.get(\"www-authenticate\").includes(\"invalid_token\");\n\t\t\t\t// console.log(response.headers.get(\"date\"));\n\t\t\t\tvar timeSinceLastRegen =\n\t\t\t\t\tnew Date().getTime() -\n\t\t\t\t\tparseInt(JSON.parse(localStorage.getItem(\"last_token_time\")));\n\t\t\t\tconsole.log(\n\t\t\t\t\t\"token expired: \",\n\t\t\t\t\tisTokenExpired,\n\t\t\t\t\tisTokenInvalid,\n\t\t\t\t\ttimeSinceLastRegen\n\t\t\t\t);\n\t\t\t\tif ((isTokenExpired || isTokenInvalid) && timeSinceLastRegen > 30000) {\n\t\t\t\t\tlocalStorage.setItem(\n\t\t\t\t\t\t\"last_token_time\",\n\t\t\t\t\t\tJSON.stringify(new Date().getTime())\n\t\t\t\t\t);\n\t\t\t\t\t// console.log(response.status);\n\t\t\t\t\treturn regenerateUserToken()\n\t\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\t\tif (response) {\n\t\t\t\t\t\t\t\treturn makeAPICall(\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\trequestOptions.method,\n\t\t\t\t\t\t\t\t\trequestOptions.body ? requestOptions.body : null,\n\t\t\t\t\t\t\t\t\tisLoginApi\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlocalStorage.setItem(\n\t\t\t\t\t\t\t\t\"last_token_time\",\n\t\t\t\t\t\t\t\tJSON.stringify(new Date().getTime())\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((error) =>\n\t\t\t\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\t\t\tsingleton: true,\n\t\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t} else return response;\n\t\t\t} else return response;\n\t\t})\n\t\t.catch((error) => {\n\t\t\tconsole.log(error);\n\t\t\tif (error.status && error.status == 500) {\n\t\t\t\tVue.toasted.error(error.message, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\taction: {\n\t\t\t\t\t\ttext: \"DISMISS\",\n\t\t\t\t\t\tonClick: (e, toastObject) => {\n\t\t\t\t\t\t\ttoastObject.goAway(0);\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn Promise.reject(error);\n\t\t\t}\n\t\t\tif (error.status && error.status == 133) {\n               console.log(Vue.prototype);\n\t\t\t   Vue.prototype.$Modal.msgBoxOk(\n\t\t\t\t`${error.message}`,\n\t\t\t\t{\n\t\t\t\t\ttitle: \"Access Denied\",\n\t\t\t\t\tsize: \"md\",\n\t\t\t\t\tbuttonSize: \"md\",\n\t\t\t\t\tokTitle: \"Ok\",\n\t\t\t\t\tokVariant: \"danger\",\n\t\t\t\t\tfooterClass: \"p-2\",\n\t\t\t\t\thideHeaderClose: false,\n\t\t\t\t\tcentered: true,\n\t\t\t\t\tbodyClass: \"confirm-modal-body\",\n\t\t\t\t}\n\t\t\t);\n\t\t\t\t\n\t\t\t\treturn Promise.reject(error);\n\t\t\t}\n\t\t\treturn Promise.reject({\n\t\t\t\tstatus: 500,\n\t\t\t\tok: false,\n\t\t\t\tmessage:\n\t\t\t\t\t\"Some unexpected error occurred. Please check your internet connection and try again. If the problem persists please contact admin.\",\n\t\t\t});\n\t\t});\n\t// console.log(\"response from the API\", data);\n\treturn data;\n}\n\nasync function regenerateUserToken() {\n\tconst token = cookieHelpers.getCookie(\"token\");\n\tif (token) {\n\t\t// console.log(token);\n\t\t// store.dispatch(\"appState/startLoading\");\n\t\tvar ua = parser(navigator.userAgent);\n\t\tvar requestOptions = {\n\t\t\tmethod: \"GET\",\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\tAuthToken: \"System123\",\n\t\t\t\tPlatform:\n\t\t\t\t\tua.os.name == \"Windows\" && ua.device.type == undefined\n\t\t\t\t\t\t? \"desktop_web\"\n\t\t\t\t\t\t: ua.device.type == \"mobile\" && ua.os.name == \"Android\"\n\t\t\t\t\t\t? \"mobile_web\"\n\t\t\t\t\t\t: \"desktop\",\n\t\t\t\tOldUserAuthenticationToken: token,\n\t\t\t\t// Authorization: \"Bearer \" + token,\n\t\t\t},\n\t\t};\n\t\tconst response = await fetch(\n\t\t\tstore.state.appState.apiURL + REGENERATE_USER_TOKEN,\n\t\t\trequestOptions\n\t\t).then(\n\t\t\t(response) => {\n\t\t\t\t// debugger;\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tconsole.log(response);\n\t\t\t\t\tstore.dispatch(\"user/logout\");\n\t\t\t\t\treturn Promise.reject(\"Session Expired!\");\n\t\t\t\t} else {\n\t\t\t\t\treturn response.json().then((res) => {\n\t\t\t\t\t\t// console.log(res);\n\t\t\t\t\t\tcookieHelpers.setCookie(\n\t\t\t\t\t\t\t\"token\",\n\t\t\t\t\t\t\tres?.payload,\n\t\t\t\t\t\t\tnew Date(\n\t\t\t\t\t\t\t\tnew Date().setDate(new Date().getDate() + 30)\n\t\t\t\t\t\t\t).toUTCString()\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(`Something went wrong, ${error}`, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t});\n\t\t\t\tstore.dispatch(\"user/logout\");\n\t\t\t}\n\t\t);\n\t\tif (response) return response;\n\t}\n}\nfunction getPlatform(userAgent)\n{\n\tvar ua = parser(userAgent);\n\tif(userAgent.toLowerCase().indexOf('electron')>-1)\n\t{\n\t\treturn (ua.os?.name?.toLowerCase()=='windows')?'windows':(ua.os?.name?.toLowerCase()=='mac os')?\"macos\":\"desktop_web\";\n\t}\n\telse{\n\t\treturn ua.device.type == \"mobile\" || ua.device.type == \"tablet\" || ua.device.type == \"smarttv\" \n\t\t? \"mobile_web\"\n\t\t: \"desktop_web\";\n\t}\n\n} \nexport default {\n\tmakeAPICall,\n\tregenerateUserToken,\n};\n","function getFileType(fileName) {\n  var fileExt = fileName.split(\".\").pop().toLowerCase();\n\n  switch (fileExt) {\n    case \"mp4\":\n    case \"webm\":\n    case \"ogg\":\n      return \"video\";\n    case \"ppt\":\n    case \"pptx\":\n    case \"doc\":\n    case \"docx\":\n    case \"xls\":\n    case \"xlsx\":\n    case \"csv\":\n      return \"document\";\n    case \"pdf\":\n      return \"pdf\";\n    case \"txt\":\n      return \"text\";\n    case \"jpg\":\n    case \"jpeg\":\n    case \"png\":\n    case \"svg\":\n    case \"gif\":\n      return \"image\";\n    default:\n      return \"unknown\";\n  }\n}\n\nmodule.exports = {\n  getFileType,\n};\n","function checkCookie(cname) {\n\tlet cookie = getCookie(cname);\n\t// console.log(cookie);\n\tif (cookie != \"\") {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction getCookie(cname) {\n\tlet name = cname + \"=\";\n\tlet decodedCookie = decodeURIComponent(document.cookie);\n\tlet ca = decodedCookie.split(\";\");\n\tfor (let i = 0; i < ca.length; i++) {\n\t\tlet c = ca[i];\n\t\twhile (c.charAt(0) == \" \") {\n\t\t\tc = c.substring(1);\n\t\t}\n\t\tif (c.indexOf(name) == 0) {\n\t\t\treturn c.substring(name.length, c.length);\n\t\t}\n\t}\n\treturn \"\";\n}\n\nfunction setCookie(cname, cvalue, expiry = null) {\n\tdocument.cookie =\n\t\tcname + \"=\" + cvalue + (expiry ? \";expires=\" + expiry : \"\") + \";path=/\";\n}\n\nfunction removeCookie(cname) {\n\tdocument.cookie = cname + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/\";\n}\n\nmodule.exports = {\n\tcheckCookie,\n\tsetCookie,\n\tgetCookie,\n\tremoveCookie,\n};\n","function toCurrencyString(amount, currency, decimalPlaces) {\n\treturn amount.toLocaleString(undefined, {\n\t\tstyle: \"currency\",\n\t\tcurrency: currency,\n\t\tmaximumFractionDigits: decimalPlaces,\n\t});\n}\n\nfunction minToHoursAndMins(mins) {\n\tvar hours = (mins / 60).toFixed(0);\n\tvar minutes = mins - hours * 60;\n\tif (minutes < 10) {\n\t\tminutes = \"0\" + minutes.toString();\n\t}\n\tvar output = \"\";\n\treturn output + hours + \":\" + minutes;\n}\n\nfunction toShortDateString(date) {\n\tvar parsedDate = new Date(date).toDateString();\n\tparsedDate = parsedDate.substr(parsedDate.indexOf(\" \") + 1);\n\treturn parsedDate;\n}\n\nfunction getInputDateFormat(date, isDateTimeLocal = false) {\n\tvar _Date = new Date(date),\n\t\tDay = _Date.getDate() > 9 ? _Date.getDate() : \"0\" + _Date.getDate(),\n\t\tMonth =\n\t\t\t_Date.getMonth() + 1 > 9\n\t\t\t\t? _Date.getMonth() + 1\n\t\t\t\t: \"0\" + (_Date.getMonth() + 1);\n\tif (!isDateTimeLocal) {\n\t\treturn _Date.getFullYear() + \"-\" + Month + \"-\" + Day;\n\t} else {\n\t\tvar Hours =\n\t\t\t_Date.getHours() > 9 ? _Date.getHours() : \"0\" + _Date.getHours();\n\t\tvar Minutes =\n\t\t\t_Date.getMinutes() > 9 ? _Date.getMinutes() : \"0\" + _Date.getMinutes();\n\t\treturn (\n\t\t\t_Date.getFullYear() +\n\t\t\t\"-\" +\n\t\t\tMonth +\n\t\t\t\"-\" +\n\t\t\tDay +\n\t\t\t\"T\" +\n\t\t\tHours +\n\t\t\t\":\" +\n\t\t\tMinutes\n\t\t);\n\t}\n\n\t// 2018-06-12T19:30\n}\n\nfunction parseDateToYMD(dateString) {\n\tconst dateObj = new Date(dateString);\n\tconst year = dateObj.getFullYear();\n\tconst month = (dateObj.getMonth() + 1).toString().padStart(2, '0');\n\tconst day = dateObj.getDate().toString().padStart(2, '0');\n\treturn `${year}-${month}-${day}`;\n  }\n  // Example output: 2023-07-11\"\n  \n\nfunction getTimeIn12Hours(date) {\n\tvar Hours = new Date(date).getHours();\n\tvar timeOfDay = parseInt(Hours) >= 12 ? \"PM\" : \"AM\";\n\tvar Minutes = new Date(date).getMinutes();\n\tHours = Hours <= 12 ? Hours : Hours - 12;\n\treturn (\n\t\tHours.toString().padStart(2, \"0\") +\n\t\t\":\" +\n\t\tMinutes.toString().padStart(2, \"0\") +\n\t\t\" \" +\n\t\ttimeOfDay\n\t);\n}\n\nfunction parseForURL(string) {\n\treturn string?.replace(/[^a-zA-Z0-9.-]/gi, \"\");\n}\n\nmodule.exports = {\n\ttoCurrencyString,\n\ttoShortDateString,\n\tgetInputDateFormat,\n\tparseDateToYMD,\n\tgetTimeIn12Hours,\n\tminToHoursAndMins,\n\tparseForURL,\n};\n","String.prototype.isEmpty = function () {\n\treturn this == null || this == \"\";\n};\n\nString.prototype.isNotEmpty = function () {\n\treturn this != null && this != \"\";\n};\n","import \"./assets/css/style.css\";\nimport Vue from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\n\nimport \"bootstrap\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"bootstrap-vue/dist/bootstrap-vue.css\";\nimport \"vue-select/dist/vue-select.css\";\nimport { BootstrapVue } from \"bootstrap-vue\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { faUserSecret } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport VueTelInput from \"vue-tel-input\";\nimport \"vue-tel-input/dist/vue-tel-input.css\";\nimport VueProgressBar from \"vue-progressbar\";\nimport { SkeletonPlugin } from \"bootstrap-vue\";\nimport Toasted from \"vue-toasted\";\nimport vSelect from \"vue-select\";\nimport \"vue2-dropzone/dist/vue2Dropzone.min.css\";\nimport JsonCSV from \"vue-json-csv\";\nimport \"./helpers/StringMethods\";\n\n// Vue.component(\"vueDropzone\", vue2Dropzone);\nVue.component(\"v-select\", vSelect);\nVue.component(\"font-awesome-icon\", FontAwesomeIcon);\nVue.component(\"downloadCsv\", JsonCSV);\n\nVue.use(Toasted, {\n\ticonPack: \"fontawesome\",\n\tsingleton: true,\n});\nVue.use(SkeletonPlugin);\nVue.use(VueProgressBar, {\n\tcolor: \"rgb(143, 255, 199)\",\n\tfailedColor: \"red\",\n\theight: \"3px\",\n\tthickness: \"3px\",\n});\nVue.use(VueTelInput);\nVue.use(BootstrapVue);\n\nlibrary.add(faUserSecret);\n\nVue.config.productionTip = false;\n\nnew Vue({\n\tstore,\n\trouter,\n\trender: (h) => h(App),\n}).$mount(\"#app\");\n","import RecordedVideo from \"./recordedVideo\";\nimport LiveClass from \"./liveClass\";\n\nclass Directory {\n\tconstructor(data) {\n\t\t// console.log(\"data in directory constructor\", data);\n\t\tthis.id = data.id;\n\t\tthis.title = data.title;\n\t\tthis.type = data.type;\n\t\tthis.availableFrom = data.availableFrom;\n\t\tthis.availableTo = data.availableTo;\n\t\tthis.isContentAvailableForDemo = data.isContentAvailableForDemo;\n\t\tthis.sequence = data.sequence;\n\t\tthis.parentDirectoryID = data.parentDirectoryID ?? null;\n\t\tthis.extraProperties = data.extraProperties\n\t\t\t? JSON.parse(data.extraProperties)\n\t\t\t: null;\n\t\tif (data.data != null) {\n\t\t\tthis.children = data.data.children.map((item) => {\n\t\t\t\tif (item.type.toLowerCase() == \"recordedvideos\") {\n\t\t\t\t\tconsole.log(item.type.toLowerCase());\n\t\t\t\t\treturn new RecordedVideo(item);\n\t\t\t\t} else if (item.type.toLowerCase() == \"directory\") {\n\t\t\t\t\tconsole.log(item.type.toLowerCase());\n\t\t\t\t\treturn new Directory(item);\n\t\t\t\t} else if (item.type.toLowerCase() === \"liveclass\") {\n\t\t\t\t\tconsole.log(item.type.toLowerCase());\n\t\t\t\t\treturn new LiveClass(item);\n\t\t\t\t} else return item;\n\t\t\t});\n\t\t} else this.children = null;\n\t}\n}\n\nexport default Directory;\n","class LiveClass {\n\tconstructor(liveClass) {\n\t\tconsole.log(\"data in LiveClass constructor\", liveClass);\n\t\tthis.id = liveClass.id;\n\t\tthis.productVariantID = liveClass.productVariantID;\n\t\tthis.parentDirectoryID = liveClass.parentDirectoryID ?? null;\n\t\tthis.productVariantTitle = liveClass.productVariantTitle;\n\t\tthis.title = liveClass.title;\n\t\tthis.type = liveClass.type;\n\t\tthis.availableFrom = liveClass.availableFrom;\n\t\tthis.availableTo = liveClass.availableTo;\n\t\tthis.isContentAvailableForDemo = liveClass.isContentAvailableForDemo;\n\t\tthis.sequence = liveClass.sequence;\n\t\tif (liveClass.externalService) {\n\t\t\tthis.externalService = {\n\t\t\t\tserviceCode: liveClass.externalService.serviceCode,\n\t\t\t\tserviceName: liveClass.externalService.serviceName,\n\t\t\t\tserviceData: liveClass.externalService.serviceData,\n\t\t\t\tserviceType: liveClass.externalService.serviceType,\n\t\t\t\tserviceProvider: liveClass.externalService.serviceProvider,\n\t\t\t};\n\t\t}\n\t\tthis.extraProperties = liveClass.extraProperties\n\t\t\t? JSON.parse(liveClass.extraProperties)\n\t\t\t: null;\n\t\tif (liveClass.data == null) {\n\t\t\tthis.data = null;\n\t\t} else {\n\t\t\t// this.data = {\n\t\t\t// \tapiKey: \"6KwQg8BBQgyCs92WNNW1OA\",\n\t\t\t// \tsignature: \"\",\n\t\t\t// \ttopic: liveClass.data.topic,\n\t\t\t// \tmeetingId: 76568937394,\n\t\t\t// \tpassword: \"123456\",\n\t\t\t// \tjoining_Url: liveClass.data.joining_Url,\n\t\t\t// \topenInSDK: liveClass.data.openInSDK,\n\t\t\t// \tregistrantAllow: liveClass.data.registrantAllow,\n\t\t\t// \tstart_Time: liveClass.data.start_Time,\n\t\t\t// \tduration: liveClass.data.duration,\n\t\t\t// };\n\t\t\tthis.data = liveClass.data;\n\t\t}\n\t}\n}\n\nexport default LiveClass;\n","class RecordedVideo {\n\tconstructor(video) {\n\t\t// console.log(\"data in recordedvideo constructor\", video);\n\t\tthis.id = video.id;\n\t\tthis.title = video.title;\n\t\tthis.type = video.type;\n\t\tthis.availableFrom = video.availableFrom;\n\t\tthis.availableTo = video.availableTo;\n\t\tthis.sequence = video.sequence;\n\t\tthis.isContentAvailableForDemo = video.isContentAvailableForDemo;\n\t\tthis.externalService = video.externalService;\n\t\tthis.extraProperties = video.extraProperties\n\t\t\t? JSON.parse(video.extraProperties)\n\t\t\t: null;\n\t\tif (video.data == null) {\n\t\t\tthis.data = null;\n\t\t} else {\n\t\t\tthis.data = {\n\t\t\t\turl: video.data.url,\n\t\t\t\tviewUrl: video.data.viewUrl,\n\t\t\t\tstatus: video.data.status,\n\t\t\t};\n\t\t}\n\t\tthis.parentDirectoryID = video.parentDirectoryID ?? null;\n\t}\n}\n\nexport default RecordedVideo;\n","class Product {\n\tconstructor(data) {\n\t\tconsole.log({ dataInConstructor: data });\n\t\tthis.id = data.id || data.productID;\n\t\tthis.title = data.title ? data.title : data.productTitle;\n\t\tthis.friendlyTitle = data.friendlyTitle;\n\t\tthis.properties = data.properties || data.productExtraProperties;\n\t\tthis.sequence = data.sequence;\n\t\tthis.categories = data.categories;\n\t\tthis.thumbnailType = data.thumbnailType;\n\t\tthis.thumbnailPath = data.thumbnailPath;\n\t\tthis.isFeatured = data.isFeatured;\n\t\tthis.isVisible = data.isVisible || data.productIsVisible;\n\t}\n}\n\nexport default Product;\n","class ProductVariant {\n\tconstructor(data) {\n\t\t// console.log({ dataInConstructor: data.properties });\n\t\tthis.id = data.productVariantID;\n\t\tthis.title = data.productVariantTitle;\n\t\tif (data.properties && data.properties.tutor) {\n\t\t\tthis.creator = {\n\t\t\t\timagePath: data.properties.tutor.imagePath,\n\t\t\t\tname: data.properties.tutor.name,\n\t\t\t\tdescription: data.properties.tutor.description,\n\t\t\t};\n\t\t}\n\t\tthis.pricing = {\n\t\t\tcurrency: data.properties.pricing.currency,\n\t\t\tamount: data.properties.pricing.amount,\n\t\t};\n\t\tthis.ratings = {\n\t\t\tvalue: data.properties.ratings.value,\n\t\t\tnumberOfRatings: data.properties.ratings.numberOfRatings,\n\t\t};\n\t\tthis.tagline = data.properties.tagline;\n\t\tthis.shortDescription = data.shortDescription;\n\t\tthis.longDescription = data.longDescription;\n\t\tthis.startDate = data.startDate;\n\t\tthis.endDate = data.endDate;\n\t\tthis.isVisible = data.productVariantIsVisible;\n\t\tthis.isFeatured = data.isFeaturedProductVariant;\n\t\tthis.productVariantItems = data.productVariantItems;\n\t\tthis.thumbnailType = data.productVariantThumbnailType;\n\t\tthis.thumbnailPath = data.productVariantThumbnailPath;\n\t\tif (data.product) {\n\t\t\tthis.product = {\n\t\t\t\tid: data.product.productID,\n\t\t\t\ttitle: data.product.productTitle,\n\t\t\t\tisFeatured: data.product.isFeaturedProduct,\n\t\t\t\tthumbnailType: data.product.productThumbnailType,\n\t\t\t\tthumbnailPath: data.product.productThumbnailPath,\n\t\t\t\tfriendlyTitle: data.product.productFriendlyTitle,\n\t\t\t};\n\t\t}\n\t\tif (data.properties.features) {\n\t\t\tthis.features = JSON.parse(data.properties.features);\n\t\t\t// console.log({ dataInConstructor: this.features });\n\t\t} else this.features = null;\n\t\t// this.features = [\n\t\t// \t\"32 hours on-demand video\",\n\t\t// \t\"106 articles\",\n\t\t// \t\"47 downloadable resources\",\n\t\t// \t\"Full lifetime access\",\n\t\t// \t\"Access on mobile and TV\",\n\t\t// \t\"Certificate of Completion\",\n\t\t// ];\n\t\tif (data.properties.objectives) {\n\t\t\tthis.objectives = JSON.parse(data.properties.objectives);\n\t\t} else this.objectives = null;\n\t\t// this.objectives = [\n\t\t// \t\"Learn to use Python professionally, learning both Python 2 and Python 3!\",\n\t\t// \t\"Learn advanced Python features, like the collections module and how to work with timestamps!\",\n\t\t// \t\"Understand complex topics, like decorators.\",\n\t\t// \t\"Get an understanding of how to create GUIs in the Jupyter Notebook system!\",\n\t\t// \t\"Create games with Python, like Tic Tac Toe and Blackjack!\",\n\t\t// \t\"Learn to use Object Oriented Programming with classes!\",\n\t\t// \t\"Understand how to use both the Jupyter Notebook and create .py files\",\n\t\t// \t\"Get an understanding of how to create GUIs in the Jupyter Notebook system!\",\n\t\t// ];\n\t\tthis.enrolledStudents = 1369312;\n\t\tthis.subscriptionStatus = data.subscriptionStatus;\n\t\tthis.sequence = data.sequence;\n\t\tthis.status = (data.status || data.productVariantStatus) ?? null;\n\t\tthis.pricingStatus = data.pricingStatus ? data.pricingStatus : \"Free\";\n\t\tthis.properties = data.properties ? data.properties : null;\n\t\tthis.enrollmentType = data.enrollmentType ?? null;\n\t\tthis.accessDates = data.accessDates ?? null;\n\t\tthis.expiresAt = data.expiresAt ?? null;\n\t}\n}\n\nexport default ProductVariant;\n","class User {\n\tconstructor(userData) {\n\t\tconsole.log(userData);\n\t\tthis.id = userData.id;\n\t\t// this.fulName = userData.firstName + \" \" + userData.lastName;\n\t\tthis.firstName = userData.firstName;\n\t\tthis.lastName = userData.lastName;\n\t\tthis.gender = userData.gender ? userData.gender : null;\n\t\tthis.username = userData.username;\n\t\tthis.email = userData.email;\n\t\tthis.type = userData.type || userData.role;\n\t\tthis.phone = userData.phone;\n\t\tthis.countryCode = userData.countryCode;\n\t\tthis.profilePicture = userData.profilePic || userData.profilePicture;\n\t\tthis.productVariants = userData.productVariants\n\t\t\t? userData.productVariants\n\t\t\t: null;\n\t\tthis.city = userData.city ?? null;\n\t\tthis.address = userData.address ?? null;\n\t\tthis.extraProperties = userData.extraProperties\n\t\t\t? JSON.parse(userData.extraProperties)\n\t\t\t: null;\n\t}\n}\n\nexport default User;\n","import Vue from \"vue\";\nimport VueRouter from \"vue-router\";\nimport store from \"../store/index\";\nvar routesObject = require(\"./routes/default\").default;\nimport API from \"../helpers/ApiHelpers\";\n\nimport externalComponent from \"../utils/external-component\";\n\nVue.use(VueRouter);\n\nfetch(`${window.location.protocol}//${window.location.host}/config.json`).then(\n\t(res) =>\n\t\tres.json().then(async (res) => {\n\t\t\tvar apiURL = res[window.location.host]\n\t\t\t\t? `${window.location.protocol}//${res[window.location.host]}`\n\t\t\t\t: res[\"*\"] ? `${window.location.protocol}//${res[\"*\"]}`\n                : \"https://lms-v4-api.techsol360.com\";\n\t\t  // var apiURL = \"https://st1.learn360lms.com\";\n      // var apiURL = \"https://lms-api.gocbeglobal.com\";\n\n      \n\t\t\tstore.state.appState.apiRef = res;\n\t\t\tstore.state.appState.apiURL = apiURL;\n\t\t\tawait API.regenerateUserToken().catch((error) => {\n\t\t\t\tVue.toasted.error(\"You have logged in on an another device\", {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t});\n\t\t\t});\n\n      if (!store.state.appState.systemParameters) {\n        store.dispatch(\"appState/fetchSystemParameters\").then(async () => {\n          if (store.state.appState.systemParameters.customCssPath)\n            $(\"head\").append(\n              `<link rel=\"stylesheet\" type=\"text/css\" href=\"${store.state.appState.systemParameters.customCssPath}\">`\n            );\n          if (store.state.appState.systemParameters.customJsPath) {\n            $(\"head\").append(\n              `<script type=\"module\" src=\"${store.state.appState.systemParameters.customJsPath}\"></script>`\n            );\n          }\n          store.state.appState.customFilesLoaded = true;\n          var customRoutesPath = store.state.appState.systemParameters\n            ? store.state.appState.systemParameters.CustomRoutesPath\n            : null;\n          if (customRoutesPath) {\n            routesObject = require(`./routes/${customRoutesPath}`).default;\n          }\n          var defaultRoutes = routesObject.routes;\n          var customRoutes = []; // to keep track of the custom routes\n          var customPages = store.state.appState.systemParameters\n            ? store.state.appState.systemParameters.CustomPages\n            : null;\n          if (customPages) {\n            for (var page in customPages) {\n              if (page.includes(\"/\")) {\n                var routeName = page.split(\"/\")[0];\n                var childName = page.split(\"/\")[1];\n                var routeToReplace = defaultRoutes.find(async (item) => {\n                  if (item.name == routeName) {\n                    var childToReplace = item.children.find(\n                      (child) => child.name == childName\n                    );\n                    childToReplace.component = await externalComponent(\n                      ...customPages[page]\n                    );\n                    console.log(childToReplace);\n                  }\n                  return childToReplace;\n                });\n                customRoutes.push(routeToReplace);\n                router.addRoute(routeToReplace);\n              } else {\n                var routeToReplace = defaultRoutes.find(\n                  (item) => item.name == page\n                );\n                routeToReplace.component = await externalComponent(\n                  ...customPages[page]\n                );\n                router.addRoute(routeToReplace);\n                console.log(routeToReplace);\n                customRoutes.push(routeToReplace);\n              }\n            }\n            var remainingRoutes = defaultRoutes.filter(\n              (route) => !Object.keys(customPages).includes(route.name)\n            );\n            customRoutes = [...customRoutes, ...remainingRoutes];\n            remainingRoutes.forEach((route) => router.addRoute(route));\n          } else {\n            defaultRoutes.forEach((route) => router.addRoute(route));\n          }\n        });\n      }\n    })\n);\n\nconst router = new VueRouter({\n  mode: \"history\",\n  base: process.env.BASE_URL,\n  scrollBehavior(to, from, savedPosition) {\n    return { x: 0, y: 0 };\n  },\n});\n\n// console.log(router.app);\n\n// Meta Handling\nrouter.beforeEach((to, from, next) => {\n  if (routesObject.beforeEach) routesObject.beforeEach(to, from, next);\n});\n\nexport default router;\n","// import helpers from \"../../helpers/CookieHelpers\";\nimport defaultRouteSettings from \"./default\";\n\nconst routes = defaultRouteSettings.routes.map((route) => {\n\tif (route.path == \"/\") {\n\t\troute.redirect = \"/account/login\";\n\t}\n\treturn route;\n});\n\nexport default { routes, beforeEach: defaultRouteSettings.beforeEach };\n","import helpers from \"../../helpers/CookieHelpers\";\nimport defaultRouteSettings from \"./default\";\n\nconst routes = defaultRouteSettings.routes.map((route) => {\n\tif (route.path == \"/\") {\n\t\troute.redirect = \"/account/login\";\n\t}\n\treturn route;\n});\n\nfunction beforeEach(to, from, next) {\n\tlet user = JSON.parse(localStorage.getItem(\"user\"));\n\tif (to.meta && to.meta.title) {\n\t\twindow.document.title = to.meta.title;\n\t}\n\tif (to.matched.some((record) => record.meta.requiresAuth)) {\n\t\t//if route requires auth\n\t\tif (helpers.checkCookie(\"token\") == false) {\n\t\t\t//if user is not logged in\n\t\t\tnext({\n\t\t\t\tpath: \"/account/login\", //redirect to the login page\n\t\t\t\tquery: { nextUrl: to.path }, //then continue to requested page\n\t\t\t});\n\t\t} else {\n\t\t\t// console.log(\"checking for user\");\n\t\t\tif (to.matched.some((record) => record.meta.isAdmin)) {\n\t\t\t\t//if route requires admin user\n\t\t\t\tvar userType = user.type || user.role;\n\t\t\t\t// console.log(userType);\n\t\t\t\tif (userType && userType.toLowerCase() != \"student\") {\n\t\t\t\t\t//if user is admin\n\t\t\t\t\tnext();\n\t\t\t\t} else {\n\t\t\t\t\tnext({ name: \"Dashboard\" }); //redirect to dashboard\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t//if route doesnot requires admin user\n\t\t\t\tnext();\n\t\t\t}\n\t\t}\n\t} else if (to.matched.some((record) => record.meta.guest)) {\n\t\t//if route is accessible to guest\\\n\t\tif (\n\t\t\tto.matched.some((record) => record.name.toLowerCase() == \"login\") &&\n\t\t\tuser\n\t\t) {\n\t\t\tconsole.log(\"login page visited after auth\");\n\t\t\tvar userType = user.type || user.role;\n\t\t\t// console.log(userType);\n\t\t\tif (userType && userType.toLowerCase() != \"student\") {\n\t\t\t\t//if user is admin\n\t\t\t\tnext({ path: \"/management/course\" });\n\t\t\t} else {\n\t\t\t\tnext({ path: \"/user/dashboard\" }); //redirect to dashboard\n\t\t\t}\n\t\t}\n\t\tnext();\n\t\t// }\n\t} else {\n\t\t//if route does not require user to login\n\t\tnext();\n\t}\n}\n\nexport default { routes, beforeEach };\n","// import helpers from \"../../helpers/CookieHelpers\";\nimport defaultRouteSettings from \"./default\";\nimport Home from \"../../custom/astc/Home.vue\";\n\nconst routes = defaultRouteSettings.routes.map((route) => {\n\tif (route.path == \"/\") {\n\t\troute.component = Home;\n\t}\n\treturn route;\n});\n\nexport default { routes, beforeEach: defaultRouteSettings.beforeEach };\n","import Home from \"../../views/Home.vue\";\nimport Account from \"../../views/Account.vue\";\nimport Login from \"../../components/Account/Login.vue\";\nimport Register from \"../../components/Account/Register.vue\";\nimport ForgotPassword from \"../../components/Account/ForgotPassword.vue\";\nimport UserVerification from \"../../components/Account/UserVerification.vue\";\nimport ProductDetails from \"../../views/ProductDetails.vue\";\nimport Search from \"../../views/Search.vue\";\nimport Dashboard from \"../../views/Dashboard.vue\";\nimport Support from \"../../views/Support.vue\";\nimport Profile from \"../../views/Profile.vue\";\nimport ProductContentPage from \"../../views/ProductContentPage.vue\";\nimport Cart from \"../../views/Cart.vue\";\nimport Content from \"../../views/Content.vue\";\nimport RecordedVideo from \"../../components/Content/RecordedVideo.vue\";\nimport Assignment from \"../../components/Content/Assignment.vue\";\nimport LiveClass from \"../../components/Content/LiveClass.vue\";\nimport Quiz from \"../../components/Content/Quiz.vue\";\nimport Invoice from \"../../views/Invoice.vue\";\nimport CourseRegistration from \"../../custom/astc/CourseRegistration.vue\";\nimport CourseEnrollment from \"../../components/Admin/Enrollment/CourseEnrollment.vue\";\nimport BankTransfer from \"../../components/Payment/BankTransfer.vue\";\nimport KuickPayCheckout from \"../../components/Payment/KuickPayCheckout.vue\";\nimport Safepay from \"../../components/Payment/Safepay.vue\";\nimport Stripe from \"../../components/Payment/Stripe.vue\";\nimport KuickPayBPS from \"../../components/Payment/KuickPayBPS.vue\";\nimport Cash from \"../../components/Payment/Cash.vue\";\nimport Payment from \"../../views/Payment.vue\";\nimport PayPro from \"../../components/Payment/PayPro.vue\";\nimport MeezanPaymentGateway from \"../../components/Payment/MeezanPaymentGateway.vue\";\nimport ScotiaPaymentGateway from \"../../components/Payment/ScotiaPaymentGateway.vue\";\nimport ZoomOAuthService from \"../../components/Admin/Service/ZoomOAuthService.vue\";\nimport NgeniusPaymentGateway from \"../../components/Payment/NgeniusPaymentGateway.vue\";\n// import ManagementHome from \"../../views/Admin/ManagementHome.vue\";\nimport CourseManagement from \"../../views/Admin/CourseManagement.vue\";\nimport PaymentManagement from \"../../views/Admin/PaymentManagement.vue\";\nimport InvoiceManagement from \"../../views/Admin/InvoiceManagement.vue\";\nimport UsersManagement from \"../../views/Admin/UsersManagement.vue\";\nimport SystemPreferences from \"../../views/Admin/SystemPreferences.vue\";\nimport AttendanceWithBarcode from \"../../views/Admin/AttendanceWithBarcode.vue\";\nimport BulkOperations from \"../../views/Admin/BulkOperations.vue\";\nimport ProductContentDashboard from \"../../views/ProductContentDashboard.vue\"\nimport UserDashboard from \"../../views/UserDashboard.vue\"\nimport CourseDetail from \"../../views/Admin/CourseDetail.vue\";\nimport CourseContent from \"../../components/Admin/Content/CourseContent.vue\";\nimport CoursePricing from \"../../components/Admin/Pricing/CoursePricing.vue\";\nimport CourseFeedback from \"../../components/Admin/Feedback/CourseFeedback.vue\";\nimport CourseQuestionBank from \"../../components/Admin/QuestionBank/CourseQuestionBank.vue\";\nimport helpers from \"../../helpers/CookieHelpers\";\nimport store from \"../../store\";\nimport InstructorProfile from \"../../components/Instructor/InstructorProfile.vue\";\nimport UserScan from \"../../components/Admin/Users/UserScan.vue\";\nconst routes = [\n  {\n    path: \"/\",\n    name: \"Home\",\n    component: Home,\n    meta: {\n      title: \"Home\",\n    },\n  },\n  {\n    path: \"/payment\",\n    name: \"Payment\",\n    component: Payment,\n    children: [\n      {\n        path: \"cash/:id\",\n        name: \"Cash\",\n        component: Cash,\n      },\n      {\n        path: \"banktransfer/:id\",\n        name: \"BankTransfer\",\n        component: BankTransfer,\n      },\n      {\n        path: \"kuickpaybps/:id\",\n        name: \"KuickPayBPS\",\n        component: KuickPayBPS,\n      },\n      {\n        path: \"safepay/:id\",\n        name: \"Safepay\",\n        component: Safepay,\n      },\n      {\n        path: \"stripe/:id\",\n        name: \"Stripe\",\n        component: Stripe,\n      },\n      {\n        path: \"kuickpaycheckout/:id\",\n        name: \"KuickPayCheckout\",\n        component: KuickPayCheckout,\n      },\n      {\n        path: \"paypro/:id?\",\n        name: \"PayPro\",\n        component: PayPro,\n      },\n      {\n        path: \"meezan/:id?\",\n        name: \"MeezanPaymentGateway\",\n        component: MeezanPaymentGateway,\n      },\n      {\n        path: \"scotia/:id?\",\n        name: \"ScotiaPaymentGateway\",\n        component: ScotiaPaymentGateway,\n      },\n      {\n        path: \"ngenius/:id?\",\n        name: \"NgeniusPaymentGateway\",\n        component: NgeniusPaymentGateway,\n      },\n    ],\n  },\n  {\n    path: \"/register\",\n    name: \"CourseRegistration\",\n    component: CourseRegistration,\n    meta: {\n      title: \"Register Courses\",\n    },\n  },\n  {\n    path: \"/account\",\n    name: \"Account\",\n    component: Account,\n    children: [\n      {\n        path: \"login\",\n        name: \"Login\",\n        component: Login,\n        meta: {\n          guest: true,\n          title: \"Login\",\n        },\n      },\n      {\n        path: \"register\",\n        name: \"Register\",\n        component: Register,\n        meta: {\n          guest: true,\n          title: \"Register\",\n        },\n      },\n      {\n        path: \"forgot-password\",\n        name: \"ForgotPassword\",\n        component: ForgotPassword,\n        meta: {\n          guest: true,\n          title: \"Forgot Password\",\n        },\n      },\n      {\n        path: \"user-verification\",\n        name: \"UserVerification\",\n        component: UserVerification,\n        meta: {\n          guest: true,\n          title: \"User Verification\",\n        },\n      },\n    ],\n  },\n  {\n    path: \"/search\",\n    name: \"Search\",\n    component: Search,\n    meta: {\n      guest: true,\n      title: \"Search Courses\",\n    },\n  },\n  {\n    path: \"/product/content/:id\",\n    name: \"ProductContentPage\",\n    component: ProductContentPage,\n    meta: {\n      requiresAuth: true,\n    },\n  },\n  {\n    path: \"/product/details/:id\",\n    name: \"ProductDetails\",\n    component: ProductDetails,\n    meta: {\n      guest: true,\n    },\n  },\n  {\n    path: \"/user/dashboard\",\n    name: \"Dashboard\",\n    component: UserDashboard,\n    meta: {\n      requiresAuth: true,\n      title: \"Dashboard\",\n    },\n  },\n  {\n    path: \"/user/invoices\",\n    name: \"Invoice\",\n    component: Invoice,\n    meta: {\n      requiresAuth: true,\n      title: \"Invoices\",\n    },\n  },\n  {\n    path: \"/user/profile\",\n    name: \"Profile\",\n    component: Profile,\n    meta: {\n      requiresAuth: true,\n      title: \"Profile\",\n    },\n  },\n  {\n    path: \"/shop/checkout\",\n    name: \"Cart\",\n    component: Cart,\n    meta: {\n      requiresAuth: true,\n      title: \"Cart\",\n    },\n  },\n  {\n    path: \"/product/dashboard/:page/:id\",\n    name: \"Product Content Dashboard\",\n    component: ProductContentDashboard,\n    meta: {\n      requiresAuth: true,\n      title: \"Product Content Dashboard\",\n      isProductContentDashboardPage: true\n    },\n  },\n  {\n    path: \"/product/dashboard/:page\",\n    name: \"Product Content Dashboard\",\n    component: ProductContentDashboard,\n    meta: {\n      requiresAuth: true,\n      title: \"Product Content Dashboard\",\n      isProductContentDashboardPage: true\n    },\n  },\n  // {\n  //   path: \"/user/dashboard/2\",\n  //   name: \"User Dashboard\",\n  //   component: UserDashboard,\n  //   meta: {\n  //     requiresAuth: true,\n  //     title: \"User Dashboard\"\n  //   },\n  // },\n  {\n    path: \"/content\",\n    name: \"Content\",\n    component: Content,\n    children: [\n      {\n        path: \"video/:id\",\n        name: \"VideoContent\",\n        component: RecordedVideo,\n        meta: {\n          // requiresAuth: true,\n        },\n      },\n      {\n        path: \"assignment/:id\",\n        name: \"AssignmentContent\",\n        component: Assignment,\n        meta: {\n          requiresAuth: true,\n        },\n      },\n      {\n        path: \"liveclass/:id\",\n        name: \"LiveClass\",\n        component: LiveClass,\n        meta: {\n          // requiresAuth: true,\n        },\n      },\n      {\n        path: \"quiz/:id\",\n        name: \"Quiz\",\n        component: Quiz,\n        meta: {\n          // requiresAuth: true,\n        },\n      },\n    ],\n  },\n  {\n    path: \"/management/users\",\n    name: \"UsersManagement\",\n    component: UsersManagement,\n    meta: {\n      requiresAuth: true,\n      isAdmin: true,\n      title: \"Users | Management\",\n      activeTab: \"UsersManagement\",\n    },\n  },\n  {\n    path: \"/management/preferences\",\n    name: \"SystemPreferences\",\n    component: SystemPreferences,\n    meta: {\n      requiresAuth: true,\n      isAdmin: true,\n      title: \"System Preferences | Management\",\n      activeTab: \"SystemPreferences\",\n    },\n  },\n  {\n    path: \"/management/payments\",\n    name: \"PaymentManagement\",\n    component: PaymentManagement,\n    meta: {\n      requiresAuth: true,\n      isAdmin: true,\n      title: \"Payments | Management\",\n      activeTab: \"PaymentManagement\",\n    },\n  },\n  {\n    path: \"/management/invoices\",\n    name: \"InvoiceManagement\",\n    component: InvoiceManagement,\n    meta: {\n      requiresAuth: true,\n      isAdmin: true,\n      title: \"Invoices | Management\",\n      activeTab: \"InvoiceManagement\",\n    },\n  },\n  {\n    path: \"/management/course\",\n    name: \"CourseManagement\",\n    component: CourseManagement,\n    meta: {\n      requiresAuth: true,\n      isAdmin: true,\n      title: \"Course Management | Management\",\n      activeTab: \"CourseManagement\",\n    },\n  },\n  {\n\t\tpath: \"/service/zoom\",\n\t\tname: \"ZoomService\",\n\t\tcomponent: ZoomOAuthService,\n\t\tmeta: {\n\t\t\trequiresAuth: true,\n\t\t\tisAdmin: true,\n\t\t\tisHideAdminLayout: true,\n\t\t\ttitle: \"Zoom Account Integration\"\n\t\t},\n\t},\n  {\n    path: \"/management/course/:id\",\n    name: \"CourseDetail\",\n    component: CourseDetail,\n    meta: {\n      showTabs: true,\n      requiresAuth: true,\n      isAdmin: true,\n      title: \"Course Detail\",\n      activeTab: \"CourseManagement\",\n    },\n    children: [\n      {\n        path: \"content\",\n        name: \"CourseContent\",\n        component: CourseContent,\n        meta: {\n          showTabs: true,\n          requiresAuth: true,\n          isAdmin: true,\n          title: \"Course Content\",\n          activeTab: \"CourseManagement\",\n        },\n      },\n      {\n        path: \"enrollment\",\n        name: \"CourseEnrollment\",\n        component: CourseEnrollment,\n        meta: {\n          showTabs: true,\n          requiresAuth: true,\n          isAdmin: true,\n          title: \"Enrollment\",\n          activeTab: \"CourseManagement\",\n        },\n      },\n      {\n        path: \"pricing\",\n        name: \"CoursePricing\",\n        component: CoursePricing,\n        meta: {\n          showTabs: true,\n          requiresAuth: true,\n          isAdmin: true,\n          title: \"Pricing\",\n          activeTab: \"CourseManagement\",\n        },\n      },\n      {\n        path: \"feedback\",\n        name: \"CourseFeedback\",\n        component: CourseFeedback,\n        meta: {\n          showTabs: true,\n          requiresAuth: true,\n          isAdmin: true,\n          title: \"Feedback\",\n          activeTab: \"CourseManagement\",\n        },\n      },\n      {\n        path: \"layout\",\n        name: \"CourseLayout\",\n        component: CourseContent,\n        meta: {\n          showTabs: true,\n          requiresAuth: true,\n          isAdmin: true,\n          title: \"Layout\",\n          activeTab: \"CourseManagement\",\n        },\n      },\n      {\n        path: \"dashboard\",\n        name: \"CourseDashboard\",\n        component: CourseContent,\n        meta: {\n          showTabs: true,\n          requiresAuth: true,\n          isAdmin: true,\n          title: \"Dashboard\",\n          activeTab: \"CourseManagement\",\n        },\n      },\n      {\n        path: \"questionbank\",\n        name: \"CourseQuestionBank\",\n        component: CourseQuestionBank,\n        meta: {\n          showTabs: true,\n          requiresAuth: true,\n          isAdmin: true,\n          title: \"Question Bank\",\n          activeTab: \"CourseManagement\",\n        },\n      },\n    ],\n  },\n  {\n    path: \"/management/barcode-attendance\",\n    name: \"AttendanceWithBarcode\",\n    component: AttendanceWithBarcode,\n    meta: {\n      requiresAuth: true,\n      isAdmin: true,\n      title: \"Barcode Attendance | Management\",\n      activeTab: \"AttendanceWithBarcode\",\n    },\n  },\n  {\n    path: \"/bulk-operations\",\n    name: \"BulkOperations\",\n    component: BulkOperations,\n    meta: {\n      requiresAuth: true,\n      isAdmin: true,\n      title: \"Bulk Operations\",\n      activeTab: \"BulkOperations\",\n    },\n  },\n  {\n    path: \"/support\",\n    name: \"Support\",\n    component: Support,\n    meta: {\n      requiresAuth: true,\n      isAdmin: false,\n      title: \"Student Support\",\n    },\n  },\n  {\n    path: \"/management/support\",\n    name: \"Support\",\n    component: Support,\n    meta: {\n      requiresAuth: true,\n      isAdmin: true,\n      title: \"Support Tickets\",\n      activeTab: \"Support\",\n    },\n  },\n  {\n    path: \"/instructor/profile\",\n    name: \"InstructorProfile\",\n    component: InstructorProfile,\n  },\n  {\n    path: \"/management/scan/user\",\n    name: \"UserScan\",\n    component: UserScan,\n    meta: {\n      requiresAuth: true,\n      isAdmin: true,\n      title: \"User Scan\",\n      activeTab: \"UserScan\",\n    },\n  }\n];\n\nfunction beforeEach(to, from, next) {\n  let user = JSON.parse(localStorage.getItem(\"user\"));\n  if (to.meta && to.meta.title) {\n    window.document.title = to.meta.title;\n  }\n  if (\n    from.matched.some((record) => record.name == \"CourseContent\") &&\n    to.matched.some((record) => record.name != \"CourseContent\")\n  ) {\n    var confirmed;\n    console.log(store.state.content.uploadingContent);\n    if (store.state.content.uploadingContent) {\n      confirmed = window.confirm(\n        \"Are you sure you want to leave this page. You will lose all your upload progress if you navigate to another page\"\n      );\n    } else {\n      confirmed = true;\n    }\n    if (confirmed) {\n      next();\n      store.commit(\"appState/setUploading\", false);\n    } else {\n      console.log(\"to\", to);\n      next(from);\n      store.commit(\"appState/setUploading\", false);\n    }\n\n    console.log(\"state\", store.state.content.uploadingContent);\n  }\n  if (to.matched.some((record) => record.meta.requiresAuth)) {\n    //if route requires auth\n    if (helpers.checkCookie(\"token\") == false) {\n      console.log(\"login page visited before auth\");\n      //if user is not logged in\n      next({\n        path: \"/account/login\", //redirect to the login page\n        query: { nextUrl: to.path }, //then continue to requested page\n      });\n    } else {\n      // console.log(\"checking for user\");\n\n      if (to.matched.some((record) => record.meta.isAdmin)) {\n        //if route requires admin user\n        var userType = user.type || user.role;\n        // console.log(userType);\n        if (userType && userType.toLowerCase() != \"student\") {\n          //if user is admin\n          next();\n        } else {\n          next({ name: \"Dashboard\" }); //redirect to dashboard\n        }\n      } else {\n        //if route doesnot requires admin user\n        var userType = user.type || user.role;\n        if (userType && userType.toLowerCase() != \"student\") {\n          if (to.matched.some((record) => !record.meta.isAdmin)) {\n            next({ path: \"/management/course\" });\n          }\n        } else next();\n      }\n    }\n  } else if (to.matched.some((record) => record.meta.guest)) {\n    //if route is accessible to guest\n    // if (helpers.checkCookie(\"token\") == false) {\n    // console.log(to);\n    if (\n      to.matched.some((record) => record.name.toLowerCase() == \"login\") &&\n      user\n    ) {\n      console.log(\"login page visited after auth\");\n      var userType = user.type || user.role;\n      // console.log(userType);\n      if (userType && userType.toLowerCase() != \"student\") {\n        //if user is admin\n        next({ path: \"/management/course\" });\n      } else {\n        next({ path: \"/user/dashboard\" }); //redirect to dashboard\n      }\n    }\n    next();\n    // }\n  } else {\n    //if route does not require user to login\n    next();\n  }\n}\n\nexport default { routes, beforeEach };\n","// import helpers from \"../../helpers/CookieHelpers\";\nimport defaultRouteSettings from \"./default\";\nimport Home from \"../../custom/edcentra/Home.vue\";\nimport Dashboard from \"../../custom/edcentra/Dashboard.vue\";\nimport TeachWithUs from \"../../custom/edcentra/TeachWithUs.vue\";\n\nconst routes = defaultRouteSettings.routes.map((route) => {\n\tif (route.path == \"/\") {\n\t\troute.component = Home;\n\t}\n\tif (route.path == \"/user/dashboard\") {\n\t\troute.component = Dashboard;\n\t}\n\treturn route;\n});\nroutes.push({\n\tpath: \"/teach-with-us\",\n\tname: \"TeachWithUs\",\n\tcomponent: TeachWithUs,\n\tmeta: {\n\t\ttitle: \"Teach With Us\",\n\t},\n});\n\nexport default { routes, beforeEach: defaultRouteSettings.beforeEach };\n","import store from \"../store/index\";\nimport { SYSTEM_PARAMS_API, EXTERNAL_SERVICES_API, POST_SERVICES_API } from \"../constants/urls\";\nimport ApiHelpers from \"../helpers/ApiHelpers\";\n\n// const apiURL = store.state.appState.apiURL;\n\nexport const appService = {\n\tgetSystemParameters,\n\teditSystemParameters,\n\tgetExternalServices,\n\tcreateExternalServices\n};\n\nasync function getSystemParameters() {\n\tstore.dispatch(\"appState/startLoading\");\n\t// const requestOptions = { ...REQUEST_OPTIONS };\n\ttry {\n\t\tconst response = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + SYSTEM_PARAMS_API,\n\t\t\t\"GET\",\n\t\t\tnull,\n\t\t\tfalse\n\t\t);\n\t\t// const response = await fetch(SYSTEM_PARAMS_API, requestOptions);\n\t\t// if (!response.ok) throw new Error(response.statusText);\n\t\t// let body = await response.json();\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn response.json();\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\n\nasync function editSystemParameters(params) {\n\tstore.dispatch(\"appState/startLoading\");\n\t// const requestOptions = { ...REQUEST_OPTIONS };\n\ttry {\n\t\tconst response = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + SYSTEM_PARAMS_API,\n\t\t\t\"POST\",\n\t\t\tJSON.stringify(params),\n\t\t\tfalse\n\t\t);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn response.json();\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\n\nasync function getExternalServices(type) {\n\tstore.dispatch(\"appState/startLoading\");\n\n\ttry {\n\t\tconst response = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + EXTERNAL_SERVICES_API + `/${type}`,\n\t\t\t\"GET\",\n\t\t\tnull,\n\t\t\tfalse\n\t\t);\n\t\t// const response = await fetch(SYSTEM_PARAMS_API, requestOptions);\n\t\t// if (!response.ok) throw new Error(response.statusText);\n\t\t// let body = await response.json();\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn response.json();\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\nasync function createExternalServices(type,provider,data) {\n\tstore.dispatch(\"appState/startLoading\");\n\n\ttry {\n\t\tconst response = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + POST_SERVICES_API + `/${type}/${provider}`,\n\t\t\t\"POST\",\n\t\t\tJSON.stringify(data),\n\t\t\tfalse\n\t\t);\n\t\t// const response = await fetch(SYSTEM_PARAMS_API, requestOptions);\n\t\t// if (!response.ok) throw new Error(response.statusText);\n\t\t// let body = await response.json();\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn response.json();\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\n","import store from \"../store/index\";\nimport {\n    GET_POST_ASSIGNMENT_SUBMISSION\n} from \"../constants/urls\";\nimport ApiHelpers from \"../helpers/ApiHelpers\";\nimport contentModule from \"../store/content.module\";\n\nexport const assignmentService = {\n    submitAssignment, getSubmittedAssignment, getSubmittedAssignmentResults, submitAssignmentResult, submitAssignmentFeedback, updateAssignmentSubmission, getProductvariantAssignmentResults\n};\n\n\nasync function getSubmittedAssignment(contentID) {\n    try {\n      let body = await ApiHelpers.makeAPICall(\n        store.state.appState.apiURL + GET_POST_ASSIGNMENT_SUBMISSION+'/'+contentID+'/submission',\n        \"GET\",\n        null,\n        false\n      );\n      return body?.json();\n    } finally {\n    }\n  }\nasync function submitAssignment(contentID, assignmentSubmissionFiles) {\n  try {\n    let requestBody = JSON.stringify(assignmentSubmissionFiles);\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + GET_POST_ASSIGNMENT_SUBMISSION+'/'+contentID+'/submission',\n      \"POST\",\n      requestBody,\n      false\n    );\n    return body?.json();\n  } finally {\n  }\n}\n\nasync function updateAssignmentSubmission(contentID, submissionId, assignmentSubmissionFiles) {\n  try {\n    let requestBody = JSON.stringify(assignmentSubmissionFiles);\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + GET_POST_ASSIGNMENT_SUBMISSION+'/'+contentID+'/submission/'+submissionId,\n      \"POST\",\n      requestBody,\n      false\n    );\n    return body?.json();\n  } finally {\n  }\n}\nasync function getSubmittedAssignmentResults(contentID) {\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + GET_POST_ASSIGNMENT_SUBMISSION+'/'+contentID+'/result',\n      \"GET\",\n      null,\n      false\n    );\n    return body?.json();\n  } finally {\n  }\n}\nasync function submitAssignmentResult(assignmentResult) {\n  try {\n    debugger;\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + GET_POST_ASSIGNMENT_SUBMISSION+'/'+assignmentResult.contentId+'/result',\n      \"POST\",\n      JSON.stringify(assignmentResult),\n      false\n    );\n    return body?.json();\n  } finally {\n  }\n}\nasync function submitAssignmentFeedback(assignmentFeedback) {\n  try {\n    let requestBody = JSON.stringify(assignmentFeedback);\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + GET_POST_ASSIGNMENT_SUBMISSION+'/feedback/'+assignmentFeedback.submissionId,\n      \"POST\",\n      requestBody,\n      false\n    );\n    return body?.json();\n  }catch(e){\n    console.log(\"Error: \",e);\n  } \n  \n  finally {\n  }\n}\nasync function getProductvariantAssignmentResults(productvariantID) {\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + GET_POST_ASSIGNMENT_SUBMISSION+'/productvariant/'+productvariantID+'/result',\n      \"GET\",\n      null,\n      false\n    );\n    return body?.json();\n  } finally {\n  }\n}","import store from \"../store/index\";\nimport {\n  FETCH_POST_PUT_DELETE_CATEGORIES_API,\n  ASSIGN_PRODUCT_TO_CATEGORY_POST_API,\n  UPDATE_CATEGORY_SEQUENCE,\n  UNASSIGN_PRODUCT_TO_CATEGORY_POST_API\n} from \"../constants/urls\";\nimport ApiHelpers from \"../helpers/ApiHelpers\";\n\nexport const categoryService = {\n  fetchAllCategories,\n  createCategory,\n  updateCategory,\n  deleteCategory,\n  assignCategoryToProduct,\n  editProductCategorySequence,\n  unassignCategoryToProduct\n};\n\nasync function fetchAllCategories() {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_POST_PUT_DELETE_CATEGORIES_API,\n      \"GET\",\n      null,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return body?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function createCategory(title) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let requestBody = JSON.stringify({ title: title, isVisible: true });\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_POST_PUT_DELETE_CATEGORIES_API,\n      \"POST\",\n      requestBody,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return body?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function editProductCategorySequence(categoryObj) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + UPDATE_CATEGORY_SEQUENCE,\n      \"PUT\",\n      JSON.stringify(categoryObj),\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function updateCategory(updatedObject) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let requestBody = JSON.stringify(updatedObject);\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_POST_PUT_DELETE_CATEGORIES_API,\n      \"PUT\",\n      requestBody,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return body?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function deleteCategory(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    // let requestBody = JSON.stringify(id);\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        FETCH_POST_PUT_DELETE_CATEGORIES_API +\n        `/${id}`,\n      \"DELETE\",\n      null,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return body?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function assignCategoryToProduct(productData) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    // let requestBody = JSON.stringify(id);\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + ASSIGN_PRODUCT_TO_CATEGORY_POST_API,\n      \"POST\",\n      JSON.stringify(productData),\n      false\n    );\n    return body?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function unassignCategoryToProduct(productData) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    // let requestBody = JSON.stringify(id);\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + UNASSIGN_PRODUCT_TO_CATEGORY_POST_API,\n      \"DELETE\",\n      JSON.stringify(productData),\n      false\n    );\n    return body?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n","import store from \"../store/index\";\nimport {\n  FETCH_PUT_POST_CONTENT_API,\n  FETCH_POST_USER_CONTENT_ACTION_API,\n  FETCH_POST_CONTENT_TRAINERS_API,\n  POST_FILE_API,\n  PATCH_CONTENT_SEQUENCE,\n  FETCH_POST_LIVE_CLASS_ATTENDANCE_API,\n  FETCH_CONTENT_ATTENDANCE_API,\n  FETCH_CONTENT_ATTENDANCE_DETAIL_API,\n  EXPORT_CONTENT_ATTENDANCE_API,\n  MARK_LIVE_CLASS_ATTENDANCE_API,\n  MARK_ALL_IN_PROGRESS_ATTENDANCE_API,\n  EXPORT_LIVE_ATTENDANCE_API,\n  COPY_CONTENT_API,\n  PATCH_CONTENT_ITEMS_SEQUENCE,\n  DELETE_PRODUCTVARIANT_ITEM,\n  FETCH_USER_CONTENT_ACTIONS_BY_PRODUCT_VARIANT,\n  FETCH_USER_CONTENT_BY_PRODUCT_VARIANT,\n} from \"../constants/urls\";\nimport APIHelpers from \"../helpers/ApiHelpers\";\nimport parser from \"ua-parser-js\";\n\nexport const contentService = {\n  fetchContentById,\n  fetchUpcomingContent,\n  createDirectoryContent,\n  setUserContentAction,\n  getUserContentAction,\n  createLiveClassContent,\n  createFlashCardsContent,\n  assignTrainersToContent,\n  unassignTrainersToContent,\n  createRecordedVideosContent,\n  createStudyMaterialContent,\n  uploadContentFile,\n  updateContent,\n  fetchAllContent,\n  fetchContentTrainers,\n  deleteContent,\n  editContentSequence,\n  getCurrentPlatform,\n  getLiveClassContentAttendance,\n  fetchLiveClassAttendance,\n  fetchContentAttendance,\n  fetchContentAttendanceDetail,\n  markLiveClassAttendance,\n  markAllLiveClassAttendance,\n  exportAttendanceReport,\n  exportContentAttendanceReport,\n  copyContent,\n  editProductVariantItemsSequence,\n  deleteProductVariantItem,\n  fetchUserContentActionsByID,\n  getUserContentByProductVariant,\n  createAssignmentContent,\n  createFreeTextContent,\n  createYoutubeContent,\n  getQuizResultByProductVariantId\n};\n\nasync function fetchContentById(id, extraParams = null) {\n  store.dispatch(\"appState/startLoading\");\n  var queryParams = \"\";\n  if (extraParams) {\n    queryParams = \"?\";\n    Object.entries(extraParams).forEach(([key, value], index) => {\n      if (index > 0) {\n        queryParams += \"&\" + key + \"=\" + value;\n      } else {\n        queryParams += key + \"=\" + value;\n      }\n    });\n    console.log(queryParams);\n  }\n  try {\n    // if (\n    // \trouter.currentRoute.name.toLowerCase() == \"liveclass\" ||\n    // \trouter.currentRoute.name.toLowerCase() == \"coursecontent\"\n    // ) {\n    // \tconsole.log(\"current item is live_class\", router.currentRoute.name);\n    // \tvar requestUrl =\n    // \t\tstore.state.appState.apiURL +\n    // \t\tFETCH_PUT_POST_CONTENT_API +\n    // \t\t`/${id}` +\n    // \t\t`?Platform=${getCurrentPlatform()}`;\n    // }\n    let responseBody = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL +\n      FETCH_PUT_POST_CONTENT_API +\n      `/${id}${queryParams}`,\n      \"GET\",\n      null,\n      false\n    ).then(handleResponse);\n\n    console.log(\"resonse from apihelper\", responseBody);\n    store.dispatch(\"appState/stopLoading\");\n    return responseBody;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\n\nasync function getUserContentByProductVariant({productVariantID, dataType = null}) {\n  try {\n    store.dispatch(\"appState/startLoading\");\n    let url = `${store.state.appState.apiURL}${FETCH_USER_CONTENT_BY_PRODUCT_VARIANT}`;\n\n    let PATH = `/${productVariantID}`\n\n    let QUERY = `?`;\n    if (dataType !== null && dataType !== undefined) {\n      QUERY += `Type=${dataType}`;\n    }\n\n   url = url + PATH + QUERY;\n\n    const response = await APIHelpers.makeAPICall(url, \"GET\", null, false);\n    return handleResponse(response);\n\n  } catch (error) {\n    console.log(\"error:\", error)\n    throw error;\n\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function fetchUserContentActionsByID({productVariantID, dataType = null}) {\n  try {\n    store.dispatch(\"appState/startLoading\");\n    let url = `${store.state.appState.apiURL}${FETCH_USER_CONTENT_ACTIONS_BY_PRODUCT_VARIANT}`;\n\n    let PATH = `/${productVariantID}`\n\n    let QUERY = `?`;\n    if (dataType !== null && dataType !== undefined) {\n      QUERY += `dataType=${dataType}`;\n    }\n\n   url = url + PATH + QUERY;\n\n    const response = await APIHelpers.makeAPICall(url, \"GET\", null, false);\n    return handleResponse(response);\n\n  } catch (error) {\n    console.log(\"error:\", error)\n    throw error;\n\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\n\nasync function getLiveClassContentAttendance({ \n  productVariantID, \n  currentPage = null, \n  pageSize = null \n}) {\n  try {\n    store.dispatch(\"appState/startLoading\");\n\n    let url = `${store.state.appState.apiURL}${FETCH_POST_LIVE_CLASS_ATTENDANCE_API}?productvariantID=${productVariantID}`;\n\n    if (currentPage !== null) {\n      url += `&currentPage=${currentPage}`;\n    }\n\n    if (pageSize !== null) {\n      url += `&pageSize=${pageSize}`;\n    }\n\n    const response = await APIHelpers.makeAPICall(url, \"GET\", null, false);\n    return handleResponse(response);\n\n  } catch (error) {\n    console.log(\"error:\", error)\n    throw error;\n\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\n\nasync function fetchLiveClassAttendance(contentId, { userId = null}) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    const baseUrl = store.state.appState.apiURL;\n    let queryParams = `pageSize=500&ContentID=${contentId}`;\n\n    if (userId !== null && userId !== undefined) {\n      queryParams += `&UserID=${userId}`;\n    }\n\n    const url = `${baseUrl}${FETCH_POST_LIVE_CLASS_ATTENDANCE_API}?${queryParams}`;\n\n    let responseBody = await APIHelpers.makeAPICall(url, \"GET\", null, false)\n    .then(handleResponse);\n\n    return responseBody;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function getQuizResultByProductVariantId(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    const baseUrl = store.state.appState.apiURL;\n    const url = `${baseUrl}${FETCH_PUT_POST_CONTENT_API}/quiz/${id}`;\n\n    let responseBody = await APIHelpers.makeAPICall(url, \"GET\", null, false)\n    .then(handleResponse);\n\n    return responseBody;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function fetchContentAttendance(contentid,userid,productVariantID) {\n  store.dispatch(\"appState/startLoading\");\n  console.log(FETCH_CONTENT_ATTENDANCE_API);\n  try {\n    var url = store.state.appState.apiURL + FETCH_CONTENT_ATTENDANCE_API+\"?\";\n\n    if(contentid) {\n      url += `ContentID=${contentid}&`;\n    }\n    if(userid) {\n      url += `UserID=${userid}&`;\n    }\n    if(productVariantID) {\n      url += `ProductvariantId=${productVariantID}`;\n    }\n    let responseBody = await APIHelpers.makeAPICall(\n      url,\n      \"GET\",\n      null,\n      false\n    ).then(handleResponse);\n\n    // console.log(\"resonse from apihelper\", responseBody);\n    store.dispatch(\"appState/stopLoading\");\n    return responseBody;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function fetchContentAttendanceDetail(contentid,userid) {\n  debugger;\n  store.dispatch(\"appState/startLoading\");\n  try {\n    var url = store.state.appState.apiURL + \"/Content/Attendance/Detail?\";\n\n    if(contentid) {\n      url += `ContentID=${contentid}&`;\n    }\n    if(userid) {\n      url += `UserID=${userid}`;\n    }\n    \n    let responseBody = await APIHelpers.makeAPICall(\n      url,\n      \"GET\",\n      null,\n      false\n    ).then(handleResponse);\n\n    // console.log(\"resonse from apihelper\", responseBody);\n    store.dispatch(\"appState/stopLoading\");\n    return responseBody;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function markLiveClassAttendance(attendanceData) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let responseBody = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + MARK_LIVE_CLASS_ATTENDANCE_API,\n      \"POST\",\n      JSON.stringify(attendanceData),\n      false\n    ).then(handleResponse);\n\n    // console.log(\"resonse from apihelper\", responseBody);\n    store.dispatch(\"appState/stopLoading\");\n    return responseBody;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function markAllLiveClassAttendance(attendanceData) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let responseBody = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + MARK_ALL_IN_PROGRESS_ATTENDANCE_API,\n      \"POST\",\n      JSON.stringify(attendanceData),\n      false\n    ).then(handleResponse);\n\n    // console.log(\"resonse from apihelper\", responseBody);\n    store.dispatch(\"appState/stopLoading\");\n    return responseBody;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function exportAttendanceReport(contentID, productvariantID) {\n\n\n  const response = await APIHelpers.makeAPICall(\n    store.state.appState.apiURL + EXPORT_LIVE_ATTENDANCE_API + \"?contentID=\" + contentID + \"&productvariantID=\" + productvariantID,\n    \"GET\",\n    null,\n    false\n  );\n  if (!response.ok) {\n\n    return response.json();\n  } else {\n    return response;\n  }\n}\n\nasync function exportContentAttendanceReport(contentID) {\n\n\n  const response = await APIHelpers.makeAPICall(\n    store.state.appState.apiURL + EXPORT_CONTENT_ATTENDANCE_API + \"?contentID=\" + contentID,\n    \"GET\",\n    null,\n    false\n  );\n  if (!response.ok) {\n\n    return response.json();\n  } else {\n    return response;\n  }\n}\n\n\nasync function fetchContentTrainers(id) {\n  try {\n    const responseBody = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_POST_CONTENT_TRAINERS_API + `/${id}`,\n      \"GET\",\n      null,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    console.log(responseBody);\n    return responseBody;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function fetchUpcomingContent(startDate, endDate, productVariantID = null) {\n  store.dispatch(\"appState/startLoading\");\n  console.log(startDate, endDate);\n  try {\n    console.log('service fetch', { startDate, endDate, productVariantID })\n    var requestQuery = \"?\";\n\n    if (startDate !== undefined) {\n      requestQuery += \"StartDate=\" + startDate;\n    }\n    if (startDate === undefined) {\n      if (productVariantID !== null) {\n        requestQuery += \"ProductVariantId=\" + productVariantID;\n      }\n    }\n    else {\n      if (productVariantID !== null) {\n        requestQuery += \"&ProductVariantId=\" + productVariantID;\n      }\n    }\n\n    if (endDate !== undefined) {\n      requestQuery += \"&EndDate=\" + endDate;\n    }\n\n    // requestQuery = JSON.stringify(requestBody);\n\n    const responseBody = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL +\n      FETCH_PUT_POST_CONTENT_API +\n      `/upcoming` +\n      requestQuery,\n      \"GET\",\n      null,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    console.log(responseBody);\n    return responseBody;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function fetchAllContent() {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    const responseBody = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n      \"GET\",\n      null,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    console.log(responseBody);\n    return responseBody;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function createDirectoryContent(content) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n      \"POST\",\n      JSON.stringify(content),\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function setUserContentAction(action) {\n  try {\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_POST_USER_CONTENT_ACTION_API,\n      \"POST\",\n      JSON.stringify(action),\n      false\n    ).then(handleResponse);\n    return body;\n  } finally {\n  }\n}\nasync function getUserContentAction(id=null, contentId=null, dataType=null) {\n  try {\n   var filter=[];\n   if(id)\n   {\n    filter.push(\"id=\"+id);\n   }\n\n   if(contentId)\n   {\n    filter.push(\"contentId=\"+contentId);\n   }\n   if(dataType)\n   {\n    filter.push(\"dataType=\"+dataType);\n   }\n\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_POST_USER_CONTENT_ACTION_API+\"?\"+filter.join(\"&\"),\n      \"GET\",null,\n      false\n    ).then(handleResponse);\n    return body;\n  } finally {\n  }\n}\nasync function createLiveClassContent(content) {\n  store.dispatch(\"appState/startLoading\");\n  console.log(\"making api call\", content);\n\n  try {\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n      \"POST\",\n      JSON.stringify(content),\n      false\n    ).then(handleResponse);\n    console.log(body);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function createFlashCardsContent(content) {\n  store.dispatch(\"appState/startLoading\");\n  console.log(\"making api call\", content);\n\n  try {\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n      \"POST\",\n      JSON.stringify(content),\n      false\n    ).then(handleResponse);\n    console.log(body);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function updateContent(content) {\n  store.dispatch(\"appState/startLoading\");\n  console.log(\"updateContent making api call\", content);\n\n  try {\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n      // + `?Platform=${getCurrentPlatform()}`,\n      \"PUT\",\n      JSON.stringify(content),\n      false\n    ).then(handleResponse);\n    console.log(body);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function createRecordedVideosContent(content) {\n  store.dispatch(\"appState/startLoading\");\n  console.log(\"making api call\", content);\n\n  try {\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n      \"POST\",\n      JSON.stringify(content),\n      false\n    ).then(handleResponse);\n    console.log(body);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function createStudyMaterialContent(content) {\n  store.dispatch(\"appState/startLoading\");\n  console.log(\"making api call\", content);\n\n  try {\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n      \"POST\",\n      JSON.stringify(content),\n      false\n    ).then(handleResponse);\n    console.log(body);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function createAssignmentContent(content) {\n  store.dispatch(\"appState/startLoading\");\n  console.log(\"making api call\", content);\n\n  try {\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n      \"POST\",\n      JSON.stringify(content),\n      false\n    ).then(handleResponse);\n    console.log(body);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function uploadContentFile(content) {\n  store.dispatch(\"appState/startLoading\");\n  console.log(\"making api call\", ...content);\n\n  try {\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + POST_FILE_API,\n      // \"https://webhook.site/ad34a709-9a01-43e9-996c-32b746d13418\",\n      \"POST\",\n      content,\n      false,\n      null\n    ).then(handleResponse);\n    console.log(body);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function assignTrainersToContent(content) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_POST_CONTENT_TRAINERS_API,\n      \"POST\",\n      JSON.stringify(content),\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return content;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function unassignTrainersToContent(content) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_POST_CONTENT_TRAINERS_API,\n      \"DELETE\",\n      JSON.stringify(content),\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return content;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function deleteContent(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    const body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API + `/${id}`,\n      \"DELETE\",\n      null,\n      false\n    );\n    // .then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function deleteProductVariantItem(content) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    const body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + DELETE_PRODUCTVARIANT_ITEM,\n      \"DELETE\",\n      JSON.stringify(content),\n      false\n    );\n    // .then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function editContentSequence({ content, id }) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    const body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + PATCH_CONTENT_SEQUENCE + `/${id}`,\n      \"PATCH\",\n      JSON.stringify(content),\n      false\n    );\n    // return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function editProductVariantItemsSequence({\n  content,\n  productVariantItemID,\n}) {\n  content.productVariantItemID = productVariantItemID;\n  console.log({ content });\n  store.dispatch(\"appState/startLoading\");\n  try {\n    const body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + PATCH_CONTENT_ITEMS_SEQUENCE,\n      \"PATCH\",\n      JSON.stringify(content),\n      false\n    );\n\n    store.dispatch(\"\")\n    // return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\n\nasync function createFreeTextContent(content) {\n  store.dispatch(\"appState/startLoading\");\n  console.log(\"making api call\", content);\n\n  try {\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n      \"POST\",\n      JSON.stringify(content),\n      false\n    ).then(handleResponse);\n    console.log(body);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function createYoutubeContent(content) {\n  store.dispatch(\"appState/startLoading\");\n  console.log(\"making api call\", content);\n\n  try {\n    let body = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n      \"POST\",\n      JSON.stringify(content),\n      false\n    ).then(handleResponse);\n    console.log(body);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function copyContent(content) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    const responseBody = await APIHelpers.makeAPICall(\n      store.state.appState.apiURL +\n      COPY_CONTENT_API +\n      `?ContentID=${content.content.id}&DestinationContentID=${content.destinationContentID}`,\n      \"POST\",\n      null,\n      false\n    ).then(handleResponse);\n    console.log({ responseBody });\n    return responseBody;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function handleResponse(response) {\n  console.log(\"handling response\", response);\n  if (response.status == 500) return response;\n  if (!response.ok) {\n    var res = await response\n      .json()\n      .then(\n        (data) =>\n        (res = {\n          error: data.error,\n        })\n      )\n      .then((res) => {\n        // console.log(res);\n        return res;\n      });\n    throw new Error(res.error.errorCode);\n  } else {\n    return response.json();\n  }\n}\n\nfunction getCurrentPlatform() {\n  var ua = parser(navigator.userAgent);\n  var platform =\n    ua.os.name == \"Windows\" && ua.device.type == undefined\n      ? \"Desktop_Web\"\n      : ua.device.type == \"mobile\" && ua.os.name == \"Android\"\n        ? \"Mobile-Web\"\n        : \"Desktop\";\n  return platform;\n}\n","import store from \"../store/index\";\n\nimport {\n\tFETCH_PUT_POST_QUESTION_API,\n\tFETCH_PUT_POST_CONTENT_API,\n\tFETCH_PUT_POST_QUESTION_CATEGORY_API,\n\tFETCH_POST_PUT_EXAM_THEME_API,\n\tFETCH_EXAM_RESULT_PRODUCT_VARIANT,\n\tFETCH_EXAM_CONTENT_RESULT,\n} from \"../constants/urls\";\nimport { ServiceCodes } from \"../constants/serviceCodes\";\nimport ApiHelpers from \"../helpers/ApiHelpers\";\n\nexport const examService = {\n\tfetchQuestions,\n\tfetchQuestionCategories,\n\tcreateQuestion,\n\tdeleteQuestion,\n\tcreateExam,\n\tcreateLegacyExam,\n\tcreateQuiz,\n\tupdateExam,\n\tcreateQuestionCategory,\n\tupdateQuestionCategory,\n\tdeleteQuestionCategory,\n\tfetchExamThemes,\n\tgetExamResultByProductVariant,\n\tgetExamContentResult,\n};\n\nasync function fetchQuestions({\n\tproductVariantID,\n\tcategoryID,\n\tpageSize,\n\tcurrentPage,\n}) {\n\tconsole.log(productVariantID, categoryID, pageSize, currentPage);\n\tstore.dispatch(\"appState/startLoading\");\n\tvar requestQuery = `?ServiceCode=${ServiceCodes.EXAM.ExamTestingSystem}`;\n\tif (categoryID) {\n\t\trequestQuery += `&CategoryID=${categoryID}`;\n\t} else if (productVariantID) {\n\t\trequestQuery += `&ProductVariantID=${productVariantID}`;\n\t}\n\tif (pageSize) {\n\t\trequestQuery += `&pageSize=${pageSize}`;\n\t}\n\tif (currentPage) {\n\t\trequestQuery += `&currentPage=${currentPage}`;\n\t}\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL + FETCH_PUT_POST_QUESTION_API + requestQuery,\n\t\t\"GET\",\n\t\tnull,\n\t\tfalse\n\t).then(handleResponse);\n\tstore.dispatch(\"appState/stopLoading\");\n\tconsole.log(response);\n\treturn response;\n}\n\nasync function fetchQuestionCategories({ productVariantID, categoryID }) {\n\tstore.dispatch(\"appState/startLoading\");\n\tvar requestQuery = `?ServiceCode=${ServiceCodes.EXAM.ExamTestingSystem}`;\n\tif (categoryID) {\n\t\trequestQuery += `&CategoryID=${categoryID}`;\n\t} else if (productVariantID) {\n\t\trequestQuery += `&ProductVariantID=${productVariantID}`;\n\t}\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL +\n\t\t\tFETCH_PUT_POST_QUESTION_CATEGORY_API +\n\t\t\trequestQuery,\n\t\t\"GET\",\n\t\tnull,\n\t\tfalse\n\t).then(handleResponse);\n\tstore.dispatch(\"appState/stopLoading\");\n\tconsole.log(response);\n\treturn response;\n}\n\nasync function getExamResultByProductVariant({ productVariantID }) {\n\tstore.dispatch(\"appState/startLoading\");\n\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL +\n\t\t\tFETCH_EXAM_RESULT_PRODUCT_VARIANT +`/${productVariantID}`,\n\t\t\"GET\",\n\t\tnull,\n\t\tfalse\n\t).then(handleResponse);\n\n\tstore.dispatch(\"appState/stopLoading\");\n\tconsole.log(response);\n\treturn response;\n}\n\n\nasync function getExamContentResult({ examID, contentID }) {\n\tstore.dispatch(\"appState/startLoading\");\n\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL +\n\t\t\tFETCH_EXAM_CONTENT_RESULT +`/${contentID}/${examID}`,\n\t\t\"GET\",\n\t\tnull,\n\t\tfalse\n\t).then(handleResponse);\n\n\tstore.dispatch(\"appState/stopLoading\");\n\tconsole.log(response);\n\treturn response;\n}\n\nasync function createQuestion(id) {\n\tstore.dispatch(\"appState/startLoading\");\n\tvar requestQuery = `?ProductVariantID=${id}&ServiceCode=${ServiceCodes.EXAM.ExamTestingSystem}`;\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL + FETCH_PUT_POST_QUESTION_API + requestQuery,\n\t\t\"POST\",\n\t\tnull,\n\t\tfalse\n\t).then(handleResponse);\n\tstore.dispatch(\"appState/stopLoading\");\n\t// console.log(response);\n\treturn response;\n}\n\nasync function deleteQuestion(id) {\n\tstore.dispatch(\"appState/startLoading\");\n\tvar requestQuery = `?ServiceCode=${ServiceCodes.EXAM.ExamTestingSystem}`;\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL +\n\t\t\tFETCH_PUT_POST_QUESTION_API +\n\t\t\t`/${id}` +\n\t\t\trequestQuery,\n\t\t\"DELETE\",\n\t\tnull,\n\t\tfalse\n\t).then(handleResponse);\n\tstore.dispatch(\"appState/stopLoading\");\n\t// console.log(response);\n\treturn response;\n}\n\nasync function createExam(examObject) {\n\tstore.dispatch(\"appState/startLoading\");\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n\t\t\"POST\",\n\t\tJSON.stringify(examObject),\n\t\tfalse\n\t).then(handleResponse);\n\tstore.dispatch(\"appState/stopLoading\");\n\t// console.log(response);\n\treturn response;\n}\n\nasync function createLegacyExam(examObject) {\n\tstore.dispatch(\"appState/startLoading\");\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n\t\t\"POST\",\n\t\tJSON.stringify(examObject),\n\t\tfalse\n\t).then(handleResponse);\n\tstore.dispatch(\"appState/stopLoading\");\n\t// console.log(response);\n\treturn response;\n}\n\nasync function createQuiz(obj) {\n\tstore.dispatch(\"appState/startLoading\");\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n\t\t\"POST\",\n\t\tJSON.stringify(obj),\n\t\tfalse\n\t).then(handleResponse);\n\tstore.dispatch(\"appState/stopLoading\");\n\t// console.log(response);\n\treturn response;\n}\n\nasync function updateExam(examObject) {\n\tstore.dispatch(\"appState/startLoading\");\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL + FETCH_PUT_POST_CONTENT_API,\n\t\t\"PUT\",\n\t\tJSON.stringify(examObject),\n\t\tfalse\n\t).then(handleResponse);\n\tstore.dispatch(\"appState/stopLoading\");\n\t// console.log(response);\n\treturn response;\n}\n\nasync function createQuestionCategory(categoryObject) {\n\tcategoryObject.serviceCode = ServiceCodes.EXAM.ExamTestingSystem;\n\tstore.dispatch(\"appState/startLoading\");\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL + FETCH_PUT_POST_QUESTION_CATEGORY_API,\n\t\t\"POST\",\n\t\tJSON.stringify(categoryObject),\n\t\tfalse\n\t).then(handleResponse);\n\tstore.dispatch(\"appState/stopLoading\");\n\treturn response;\n}\n\nasync function updateQuestionCategory(categoryObject) {\n\tcategoryObject.serviceCode = ServiceCodes.EXAM.ExamTestingSystem;\n\tstore.dispatch(\"appState/startLoading\");\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL + FETCH_PUT_POST_QUESTION_CATEGORY_API,\n\t\t\"PUT\",\n\t\tJSON.stringify(categoryObject),\n\t\tfalse\n\t).then(handleResponse);\n\tstore.dispatch(\"appState/stopLoading\");\n\treturn response;\n}\n\nasync function deleteQuestionCategory(categoryID) {\n\t// categoryObject.serviceCode = ServiceCodes.EXAM.ExamTestingSystem;\n\tvar requestQuery = `?categoryID=${categoryID}&serviceCode=${ServiceCodes.EXAM.ExamTestingSystem}`;\n\tstore.dispatch(\"appState/startLoading\");\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL +\n\t\t\tFETCH_PUT_POST_QUESTION_CATEGORY_API +\n\t\t\trequestQuery,\n\t\t\"DELETE\",\n\t\tnull,\n\t\tfalse\n\t).then(handleResponse);\n\tstore.dispatch(\"appState/stopLoading\");\n\treturn response;\n}\n\nasync function fetchExamThemes(themeID) {\n\tstore.dispatch(\"appState/startLoading\");\n\tvar requestQuery = `?ServiceCode=${ServiceCodes.EXAM.ExamTestingSystem}`;\n\tif (themeID) {\n\t\trequestQuery += `&themeID=${themeID}`;\n\t}\n\tconst response = await ApiHelpers.makeAPICall(\n\t\tstore.state.appState.apiURL + FETCH_POST_PUT_EXAM_THEME_API + requestQuery,\n\t\t\"GET\",\n\t\tnull,\n\t\tfalse\n\t).then(handleResponse);\n\tstore.dispatch(\"appState/stopLoading\");\n\treturn response;\n}\n\nasync function handleResponse(response) {\n\tconsole.log(\"handling response\", response);\n\tif (!response.ok) {\n\t\tvar res = await response\n\t\t\t.json()\n\t\t\t.then(\n\t\t\t\t(data) =>\n\t\t\t\t\t(res = {\n\t\t\t\t\t\terror: data.error,\n\t\t\t\t\t})\n\t\t\t)\n\t\t\t.then((res) => {\n\t\t\t\t// console.log(res);\n\t\t\t\treturn res;\n\t\t\t});\n\t\tthrow new Error(res.error.errorCode);\n\t} else {\n\t\treturn response.json();\n\t}\n}\n","import store from \"../store/index\";\nimport helpers from \"../helpers/CookieHelpers\";\nimport {\n\tFETCH_FORM_API,\n\tPOST_FORM_SUBMISSION_API,\n} from \"../constants/urls\";\nimport ApiHelpers from \"../helpers/ApiHelpers\";\n\nexport const formService = {\n\tfetchFormByEvent,\n\tfetchFormByID,\n\tsubmitForm\n};\n\nasync function fetchFormByEvent( entity,  event, entityID=null) {\n\tstore.dispatch(\"appState/startLoading\");\n\ttry {\n\t\tlet body = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + FETCH_FORM_API+`?Entity=${entity}&Event=${event}${entityID?`&EntityID=${entityID}`:\"\"}`,\n\t\t\t\"POST\",\n\t\t\tnull,\n\t\t\tfalse\n\t\t).then(handleResponse);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn body;\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\nasync function fetchFormByID(ID) {\n\tstore.dispatch(\"appState/startLoading\");\n\ttry {\n\t\tlet body = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + FETCH_FORM_API+`/${ID}`,\n\t\t\t\"GET\",\n\t\t\tnull,\n\t\t\tfalse\n\t\t).then(handleResponse);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn body;\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\nasync function submitForm(FormID,FormData) {\n\tstore.dispatch(\"appState/startLoading\");\n\ttry {\n\t\tlet body = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + POST_FORM_SUBMISSION_API,\n\t\t\t\"POST\",\n\t\t\tJSON.stringify({\n\t\t\t\tformID:FormID,\n\t\t\t\tdata:FormData\n\t\t\t}),\n\t\t\tfalse\n\t\t).then(handleResponse);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn body;\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\nfunction handleResponse(response) {\n\tconsole.log(\"handling response\", response);\n\tif (!response.ok) {\n\t\t// \t// if (response.status == 401) {\n\t\t// \tconsole.log(\"status\", response.status);\n\t\t// \tstore.dispatch(\"user/regenerateUserToken\", {\n\t\t// \t\ttoken: helpers.getCookie(\"token\"),\n\t\t// \t});\n\t\t// return;\n\t\t// }\n\t\tthrow new Error(response.status);\n\t} else {\n\t\treturn response.json();\n\t}\n}\n","import store from \"../store/index\";\nimport helpers from \"../helpers/CookieHelpers\";\nimport {\n  FETCH_POST_INVOICES_API,\n  FETCH_PRICING_BY_PRODUCTVARIANT_API,\n  POST_UPDATE_DELETE_PRICING_API,\n  FETCH_INVOICE_BY_ID_API,\n  FETCH_INVOICE_BY_USER_API,\n  POST_INVOICE_PAYMENT_API,\n  FETCH_PAYMENTS_BY_USER_API,\n  FETCH_PAYMENTS_LIST,\n  DELETE_INVOICE_DETAIL_API,\n  PROCESS_PAYMENT_API,\n  COMPLETE_PAYMENT_API,\n} from \"../constants/urls\";\nimport ApiHelpers from \"../helpers/ApiHelpers\";\n\nexport const pricingService = {\n  fetchPricingPlanByProductVariantId,\n  createPricingPlan,\n  updatePricingPlan,\n  deletePricingPlan,\n  createInvoice,\n  updateInvoice,\n  deleteInvoice,\n  deleteInvoiceDetail,\n  createPayment,\n  updatePayment,\n  deletePayment,\n  createBulkInvoice,\n  fetchInvoiceById,\n  fetchInvoiceByUserId,\n  fetchPaymentsByUserId,\n  fetchPaymentsList,\n  fetchInvoicesList,\n  processPayment,\n  completePayment,\n};\n\nasync function fetchPricingPlanByProductVariantId(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let response = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        FETCH_PRICING_BY_PRODUCTVARIANT_API +\n        `${id}/plan`,\n      \"GET\",\n      null,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return response?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function createPricingPlan(body) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let response = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + POST_UPDATE_DELETE_PRICING_API,\n      \"POST\",\n      JSON.stringify(body),\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return response?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n  // return body;\n}\n\nasync function updatePricingPlan(body) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let resBody = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + POST_UPDATE_DELETE_PRICING_API,\n      \"PUT\",\n      JSON.stringify(body),\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return resBody?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n  // return resBody;\n}\n\nasync function deletePricingPlan(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let resBody = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        POST_UPDATE_DELETE_PRICING_API +\n        `?PlanID=${id}`,\n      \"DELETE\",\n      null,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    // return resBody?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n  // return body;\n}\n\nasync function createInvoice(body) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let response = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_POST_INVOICES_API,\n      \"POST\",\n      JSON.stringify(body),\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return response?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n  // setTimeout(() => {\n  // return body;\n  // }, 2000);\n}\n\nasync function updateInvoice(body) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let response = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_POST_INVOICES_API,\n      \"PUT\",\n      JSON.stringify(body),\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return response?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n  // setTimeout(() => {\n  // return body;\n  // }, 2000);\n}\nasync function deleteInvoice(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let response = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        FETCH_POST_INVOICES_API +\n        `?invoiceID=${id}`,\n      \"DELETE\",\n      null,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    // return response?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n  // setTimeout(() => {\n  // return body;\n  // }, 2000);\n}\n\nasync function deleteInvoiceDetail(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let response = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        DELETE_INVOICE_DETAIL_API +\n        `?invoiceDetailID=${id}`,\n      \"DELETE\",\n      null,\n      false\n    );\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n  // setTimeout(() => {\n  // return body;\n  // }, 2000);\n}\n\nasync function createBulkInvoice(body) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let response = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_POST_INVOICES_API + \"/bulk\",\n      \"POST\",\n      JSON.stringify(body),\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return response?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n  // setTimeout(() => {\n  // return body;\n  // }, 2000);\n}\n\nasync function createPayment(body) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let res = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + POST_INVOICE_PAYMENT_API,\n      \"POST\",\n      JSON.stringify(body),\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return res?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n  // setTimeout(() => {\n  return body;\n  // }, 2000);\n}\n\nasync function updatePayment(body) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let res = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + POST_INVOICE_PAYMENT_API,\n      \"PUT\",\n      JSON.stringify(body),\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return res?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n  // setTimeout(() => {\n  return body;\n  // }, 2000);\n}\n\nasync function deletePayment(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let res = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        POST_INVOICE_PAYMENT_API +\n        `?paymentID=${id}`,\n      \"DELETE\",\n      null,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    // return res?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n  // setTimeout(() => {\n  return id;\n  // }, 2000);\n}\n\nasync function fetchInvoiceById(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let response = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_INVOICE_BY_ID_API + `${id}`,\n      \"GET\",\n      null,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return response?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function fetchInvoiceByUserId(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let response = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_INVOICE_BY_USER_API + `${id}`,\n      \"GET\",\n      null,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return response?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function fetchPaymentsByUserId(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let response = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_PAYMENTS_BY_USER_API + `${id}`,\n      \"GET\",\n      null,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return response?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function fetchPaymentsList(filters) {\n  var queryParams = \"\";\n  if (\n    filters.invoiceID ||\n    filters.ID ||\n    filters.Status ||\n    filters.MethodProvider ||\n    filters.StartFrom ||\n    filters.EndAt ||\n    filters.pageSize ||\n    filters.currentpage\n  ) {\n    Object.entries(filters).forEach(([key, value]) => {\n      if (value) {\n        queryParams +=\n          `${queryParams.length == 0 ? \"?\" : \"&\"}` + key + \"=\" + value;\n      }\n    });\n  }\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let response = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        FETCH_PAYMENTS_LIST +\n        `${queryParams.length > 0 ? queryParams : \"\"}`,\n      \"GET\",\n      null,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return response?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function fetchInvoicesList(filters) {\n  var queryParams = \"\";\n  if (\n    filters.invoiceID ||\n    filters.ID ||\n    filters.Status ||\n    filters.MethodProvider ||\n    filters.StartFrom ||\n    filters.EndAt ||\n    filters.pageSize ||\n    filters.currentpage ||\n    filters.ProductSourceID\n  ) {\n    Object.entries(filters).forEach(([key, value]) => {\n      if (value) {\n        queryParams +=\n          `${queryParams.length == 0 ? \"?\" : \"&\"}` + key + \"=\" + value;\n      }\n    });\n  }\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let response = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        FETCH_POST_INVOICES_API +\n        `${queryParams.length > 0 ? queryParams : \"\"}`,\n      \"GET\",\n      null,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return response?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function processPayment(invoiceId, serviceCode, data) {\n  store.dispatch(\"appState/startLoading\");\n\n  try {\n    let res = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + PROCESS_PAYMENT_API,\n      \"POST\",\n      JSON.stringify({ invoiceId, serviceCode, data }),\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    return res?.json();\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\n\nasync function completePayment(\n  serviceProvider,\n  paymentReference,\n  sessionId,\n  action,\n  orderReference\n) {\n  store.dispatch(\"appState/startLoading\");\n\n  try {\n    let res = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        COMPLETE_PAYMENT_API +\n        `/${serviceProvider}?paymentReference=${paymentReference}&sessionId=${sessionId}&action=${action}&orderReference=${orderReference}`,\n      \"GET\",\n      null,\n      false\n    );\n    // store.dispatch(\"appState/stopLoading\");\n    return res?.json();\n  } finally {\n    // store.dispatch(\"appState/stopLoading\");\n  }\n}\n\n// async function createCategory(title) {\n// \tstore.dispatch(\"appState/startLoading\");\n// \ttry {\n// \t\tlet requestBody = JSON.stringify({ title: title, isVisible: true });\n// \t\tlet body = await ApiHelpers.makeAPICall(\n// \t\t\tFETCH_POST_PUT_DELETE_CATEGORIES_API,\n// \t\t\t\"POST\",\n// \t\t\trequestBody,\n// \t\t\tfalse\n// \t\t);\n// \t\tstore.dispatch(\"appState/stopLoading\");\n// \t\treturn body?.json();\n// \t} finally {\n// \t\tstore.dispatch(\"appState/stopLoading\");\n// \t}\n// }\n\n// async function updateCategory(updatedObject) {\n// \tstore.dispatch(\"appState/startLoading\");\n// \ttry {\n// \t\tlet requestBody = JSON.stringify(updatedObject);\n// \t\tlet body = await ApiHelpers.makeAPICall(\n// \t\t\tFETCH_POST_PUT_DELETE_CATEGORIES_API,\n// \t\t\t\"PUT\",\n// \t\t\trequestBody,\n// \t\t\tfalse\n// \t\t);\n// \t\tstore.dispatch(\"appState/stopLoading\");\n// \t\treturn body?.json();\n// \t} finally {\n// \t\tstore.dispatch(\"appState/stopLoading\");\n// \t}\n// }\n","import store from \"../store/index\";\nimport helpers from \"../helpers/CookieHelpers\";\nimport {\n\tFETCH_POST_PUT_PRODUCT_API,\n\tFETCH_PRODUCT_BY_CATEGORY_API,UPDATE_PRODUCT_SEQUENCE\n} from \"../constants/urls\";\nimport ApiHelpers from \"../helpers/ApiHelpers\";\n\nexport const productService = {\n\tfetchAllProducts,\n\tfetchProductById,\n\tfetchProductByCategoryId,\n\tcreateProduct,\n\tupdateProduct,\n\tdeleteProduct,\n\teditProductSequence\n};\n\nasync function fetchAllProducts() {\n\tstore.dispatch(\"appState/startLoading\");\n\ttry {\n\t\tlet body = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + FETCH_POST_PUT_PRODUCT_API,\n\t\t\t\"GET\",\n\t\t\tnull,\n\t\t\tfalse\n\t\t).then(handleResponse);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn body;\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\n\nasync function fetchProductById(id) {\n\tstore.dispatch(\"appState/startLoading\");\n\ttry {\n\t\tlet body = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + FETCH_POST_PUT_PRODUCT_API + `/${id}`,\n\t\t\t\"GET\",\n\t\t\tnull,\n\t\t\tfalse\n\t\t).then(handleResponse);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn body;\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\n\nasync function fetchProductByCategoryId(id) {\n\tstore.dispatch(\"appState/startLoading\");\n\ttry {\n\t\tlet body = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + FETCH_PRODUCT_BY_CATEGORY_API + `/${id}`,\n\t\t\t\"GET\",\n\t\t\tnull,\n\t\t\tfalse\n\t\t).then(handleResponse);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn body;\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\n\nasync function createProduct(product, categoryId) {\n\tstore.dispatch(\"appState/startLoading\");\n\ttry {\n\t\tvar requestBody = {\n\t\t\t...product,\n\t\t\tsequence: 1,\n\t\t\tthumbnailMediaType: \"image\",\n\t\t\tthumbnailMediaPath:\n\t\t\t\t\"https://lms-v4.gocbeglobal.com/img/sample-thumbnail.d9584282.jpeg\",\n\t\t\tisFeatured: true,\n\t\t\tisVisible: true,\n\t\t\tcategories: [categoryId],\n\t\t};\n\t\tlet body = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + FETCH_POST_PUT_PRODUCT_API,\n\t\t\t\"POST\",\n\t\t\tJSON.stringify(requestBody),\n\t\t\tfalse\n\t\t).then(handleResponse);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn body;\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\n\nasync function editProductSequence(producObj) {\n\tstore.dispatch(\"appState/startLoading\");\n\ttry {\n\t\tlet body = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + UPDATE_PRODUCT_SEQUENCE,\n\t\t\t\"PUT\",\n\t\t\tJSON.stringify(producObj),\n\t\t\tfalse\n\t\t);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn body;\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\n\nasync function updateProduct(product) {\n\tstore.dispatch(\"appState/startLoading\");\n\ttry {\n\t\tvar requestBody = {\n\t\t\t...product,\n\t\t};\n\t\tlet body = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + FETCH_POST_PUT_PRODUCT_API,\n\t\t\t\"PUT\",\n\t\t\tJSON.stringify(requestBody),\n\t\t\tfalse\n\t\t);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn product;\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\n\nasync function deleteProduct(id) {\n\tstore.dispatch(\"appState/startLoading\");\n\ttry {\n\t\tlet body = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL +\n\t\t\t\tFETCH_POST_PUT_PRODUCT_API +\n\t\t\t\t`?ProductID=${id}`,\n\t\t\t\"DELETE\",\n\t\t\tnull,\n\t\t\tfalse\n\t\t);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\t// return body;\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\n\nfunction handleResponse(response) {\n\tconsole.log(\"handling response\", response);\n\tif (!response.ok) {\n\t\t// \t// if (response.status == 401) {\n\t\t// \tconsole.log(\"status\", response.status);\n\t\t// \tstore.dispatch(\"user/regenerateUserToken\", {\n\t\t// \t\ttoken: helpers.getCookie(\"token\"),\n\t\t// \t});\n\t\t// return;\n\t\t// }\n\t\tthrow new Error(response.status);\n\t} else {\n\t\treturn response.json();\n\t}\n}\n","import store from \"../store/index\";\nimport helpers from \"../helpers/CookieHelpers\";\nimport {\n  FETCH_POST_PUT_PRODUCT_VARIANTS_API,\n  FETCH_PRODUCT_VARIANTS_BY_CATEGORY_API,\n  FETCH_PRODUCT_VARIANTS_BY_PRODUCT_API,\n  ASSIGN_CONTENT_TO_PRODUCT_VARIANTS_API,\n  PATCH_PRODUCT_VARIANT_SEQUENCE,\n  PRODUCT_VARIANT_FEEDBACK_RATING,\n  UNENROLL_USER_COURSE_SUBSCRIPTION,\n  ENROLL_USERS_COURSES_SUBSCRIPTION,\n  UNENROLL_USERS_COURSES_SUBSCRIPTION,\n  PASTE_PRODUCT_VARIANT_ITEMS,\n  PASTE_PRODUCT_VARIANTS,\n  FETCH_PRODUCT_VARIANT_PROGRESS,\n  PUT_RATING_API\n} from \"../constants/urls\";\nimport ApiHelpers from \"../helpers/ApiHelpers\";\n\nexport const productVariantService = {\n  fetchAllProductVariants,\n  fetchProductVariantById,\n  fetchProductVariantByCategoryId,\n  fetchProductVariantByProductId,\n  createProductVariant,\n  assignContentToProductVariant,\n  PasteProductVariantItems,\n  updateProductVariant,\n  deleteProductVariant,\n  fetchProductVariantRating,\n  editProductVariantSequence,\n  createProductVariantFeedback,\n  unenrollAllUsersCourses,\n  enrollUsersSpecificCourses,\n  updateUsersSpecificCoursesSubscription,\n  PasteProductVariants,\n  fetchProductVariantProgress,\n  deleteStudentFeedback\n};\n\nasync function fetchAllProductVariants(filters) {\n  var queryString = \"\";\n  if (filters && Object.entries(filters).length) {\n    Object.entries(filters).forEach(([key, value]) => {\n      if (queryString.length) {\n        queryString += `&${key}=${value}`;\n        return;\n      }\n      queryString += `?${key}=${value}`;\n    });\n  }\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        FETCH_POST_PUT_PRODUCT_VARIANTS_API +\n        queryString,\n      \"GET\",\n      null,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function fetchProductVariantById(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        FETCH_POST_PUT_PRODUCT_VARIANTS_API +\n        `/${id}`,\n      \"GET\",\n      null,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function fetchProductVariantByCategoryId(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        FETCH_PRODUCT_VARIANTS_BY_CATEGORY_API +\n        `${id}`,\n      \"GET\",\n      null,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function fetchProductVariantByProductId(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        FETCH_PRODUCT_VARIANTS_BY_PRODUCT_API +\n        `${id}`,\n      \"GET\",\n      null,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function fetchProductVariantRating(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        FETCH_POST_PUT_PRODUCT_VARIANTS_API +\n        `/${id}/Rating`,\n      \"GET\",\n      null,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function assignContentToProductVariant(content) {\n  store.dispatch(\"appState/startLoading\");\n  // productVariant.productId = id;\n  var requestBody = JSON.stringify(content);\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + ASSIGN_CONTENT_TO_PRODUCT_VARIANTS_API,\n      \"POST\",\n      requestBody,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function PasteProductVariantItems(content) {\n  store.dispatch(\"appState/startLoading\");\n  // productVariant.productId = id;\n  var requestBody = JSON.stringify(content);\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + PASTE_PRODUCT_VARIANT_ITEMS,\n      \"POST\",\n      requestBody,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function PasteProductVariants(content) {\n  store.dispatch(\"appState/startLoading\");\n  // productVariant.productId = id;\n  var requestBody = JSON.stringify(content);\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + PASTE_PRODUCT_VARIANTS,\n      \"POST\",\n      requestBody,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function createProductVariant(productVariant) {\n  store.dispatch(\"appState/startLoading\");\n  // productVariant.productId = id;\n  var requestBody = JSON.stringify(productVariant);\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_POST_PUT_PRODUCT_VARIANTS_API,\n      \"POST\",\n      requestBody,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function createProductVariantFeedback(productVariantFeedbackData) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + PRODUCT_VARIANT_FEEDBACK_RATING,\n      \"POST\",\n      productVariantFeedbackData,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function updateProductVariant(productVariant) {\n  store.dispatch(\"appState/startLoading\");\n  // productVariant.productId = id;\n  var requestBody = JSON.stringify(productVariant);\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + FETCH_POST_PUT_PRODUCT_VARIANTS_API,\n      \"PUT\",\n      requestBody,\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function deleteProductVariant(id) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n        FETCH_POST_PUT_PRODUCT_VARIANTS_API +\n        `?productVariantID=${id}`,\n      \"DELETE\",\n      null,\n      false\n    );\n    store.dispatch(\"appState/stopLoading\");\n    // return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function deleteStudentFeedback(ratingId) {\n  store.dispatch(\"appState/startLoading\");\n  const url = store.state.appState.apiURL + PUT_RATING_API + `?RatingID=${ratingId}`;\n  \n  const response = await ApiHelpers.makeAPICall(\n    url,\n    \"DELETE\",\n    null,\n    false\n  );\n  return response;\n}\nasync function editProductVariantSequence({ productVariant, id }) {\n  store.dispatch(\"appState/startLoading\");\n  try {\n    await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + PATCH_PRODUCT_VARIANT_SEQUENCE + `/${id}`,\n      \"PATCH\",\n      JSON.stringify(productVariant),\n      false\n    ).then(handleResponse);\n    store.dispatch(\"appState/stopLoading\");\n    // return body;\n  } finally {\n    store.dispatch(\"appState/stopLoading\");\n  }\n}\nasync function unenrollAllUsersCourses(emails) {\n  var _response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + UNENROLL_USER_COURSE_SUBSCRIPTION,\n    \"PATCH\",\n    JSON.stringify({ UserEmails: (emails || []).join(',') }),\n    false\n  ).then((response) => {\n    if (!response.ok) {\n      return handleResponse(response);\n    } else {\n      return { ok: true };\n    }\n  });\n  return _response;\n}\nasync function enrollUsersSpecificCourses(data) {\n  var _response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + ENROLL_USERS_COURSES_SUBSCRIPTION,\n    \"POST\",\n    JSON.stringify(data),\n    false\n  ).then((response) => {\n    if (!response.ok) {\n      return handleResponse(response);\n    } else {\n      return { ok: true };\n    }\n  });\n  return _response;\n}\nasync function updateUsersSpecificCoursesSubscription(data) {\n  var _response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + UNENROLL_USERS_COURSES_SUBSCRIPTION,\n    \"PATCH\",\n    JSON.stringify(data),\n    false\n  ).then((response) => {\n    if (!response.ok) {\n      return handleResponse(response);\n    } else {\n      return { ok: true };\n    }\n  });\n  return _response;\n}\nasync function fetchProductVariantProgress(id=null) {\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL +\n      FETCH_PRODUCT_VARIANT_PROGRESS +\n        `${(id?('?productvariantId='+id):'')}`,\n      \"GET\",\n      null,\n      false\n    ).then(handleResponse);\n    return body;\n  } finally {\n  }\n}\n\nfunction handleResponse(response) {\n  console.log(\"handling response\", response);\n  if (!response.ok) {\n    // if (response.status == 401) {\n    // \tstore.dispatch(\"user/regenerateUserToken\");\n    // \treturn;\n    // }\n    return Promise.reject(response);\n  } else {\n    return response.json();\n  }\n}\n","import store from \"../store/index\";\nimport { POST_QUIZ_SUBMIT, QUIZ_QUESTION, QUIZ_ATTEMPT_DETAIL } from \"../constants/urls\";\nimport ApiHelpers from \"../helpers/ApiHelpers\";\n\nexport const quizService = {\n  submitQuizAttempt,\n  createQuestion,\n  getQuizQuestions,\n  deleteQuestion,\n  updateQuestion,\n  getQuizDetail\n};\n\nasync function submitQuizAttempt(quizAttempt) {\n  try {\n    let requestBody = JSON.stringify(quizAttempt);\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + POST_QUIZ_SUBMIT,\n      \"POST\",\n      requestBody,\n      false\n    );\n    return body?.json();\n  } finally {\n  }\n}\n\nasync function getQuizDetail(quizAttemptId) {\n  try {\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + QUIZ_ATTEMPT_DETAIL + `/${quizAttemptId}`,\n      \"GET\",\n      null,\n      false\n    );\n    return body?.json();\n  } finally {\n  }\n}\n\nasync function createQuestion(quizObj) {\n  try {\n    let requestBody = JSON.stringify(quizObj);\n    let body = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + QUIZ_QUESTION,\n      \"POST\",\n      requestBody,\n      false\n    );\n    return body?.json();\n  } finally {\n  }\n}\n\nasync function getQuizQuestions(contentID) {\n  try {\n    let res = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + QUIZ_QUESTION + `?contentId=${contentID}`,\n      \"GET\",\n      null,\n      false\n    );\n    return res?.json();\n  } finally {\n  }\n}\n\nasync function deleteQuestion(questionID) {\n  try {\n    let res = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + QUIZ_QUESTION + `/${questionID}`,\n      \"DELETE\",\n      null,\n      false\n    );\n    return res?.json();\n  } finally {\n  }\n}\n\nasync function updateQuestion(obj) {\n  try {\n    let res = await ApiHelpers.makeAPICall(\n      store.state.appState.apiURL + QUIZ_QUESTION,\n      \"PUT\",\n      JSON.stringify(obj),\n      false\n    );\n    return res?.json();\n  } finally {\n  }\n}\n","import store from \"../store/index\";\nimport helpers from \"../helpers/CookieHelpers\";\nimport {\n  FETCH_SUPPORT_TICKETS,\n  FETCH_SERVICES_SUPPORT_TICKETS,\n  POST_SUPPORT_TICKETS,\n} from \"../constants/urls\";\nimport ApiHelpers from \"../helpers/ApiHelpers\";\n\nexport const supportService = {\n  fetchTickets,\n  fetchTicketServices,\n  createSupportTicket,\n  fetchTicketByID,\n  fetchTicketReplies,\n  addSupportTicketReply,\n  closedSupportTicket\n};\n\nasync function fetchTickets(ticketServiceID='',status='') {\n  console.log(\"in services\");\n  store.dispatch(\"appState/startLoading\");\n  const res = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + FETCH_SUPPORT_TICKETS+`?TicketServiceID=${ticketServiceID?ticketServiceID:''}&Status=${status?status:''}`,\n    \"GET\",\n    null,\n    false\n  ).then(handleResponse);\n  return res;\n}\nasync function fetchTicketByID(id) {\n  store.dispatch(\"appState/startLoading\");\n  const res = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + FETCH_SUPPORT_TICKETS+`/${id}`,\n    \"GET\",\n    null,\n    false\n  ).then(handleResponse);\n  return res;\n}\n\nasync function fetchTicketReplies(id) {\n  store.dispatch(\"appState/startLoading\");\n  const res = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + FETCH_SUPPORT_TICKETS+`/${id}/Reply`,\n    \"GET\",\n    null,\n    false\n  ).then(handleResponse);\n  return res;\n}\nasync function fetchTicketServices() {\n  console.log(\"in services\");\n  store.dispatch(\"appState/startLoading\");\n  const res = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + FETCH_SERVICES_SUPPORT_TICKETS,\n    \"GET\",\n    null,\n    false\n  ).then(handleResponse);\n  return res;\n}\n\n\n\nasync function createSupportTicket(supportTicket) {\n\tstore.dispatch(\"appState/startLoading\");\n\ttry {\n\t\tlet body = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + POST_SUPPORT_TICKETS,\n\t\t\t\"POST\",\n\t\t\tJSON.stringify(supportTicket),\n\t\t\tfalse\n\t\t).then(handleResponse);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn body;\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\n\n\nasync function addSupportTicketReply(supportTicketReply) {\n\tstore.dispatch(\"appState/startLoading\");\n\ttry {\n\t\tlet body = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + FETCH_SUPPORT_TICKETS +`/${supportTicketReply.ticketID}/Reply`,\n\t\t\t\"POST\",\n\t\t\tJSON.stringify(supportTicketReply),\n\t\t\tfalse\n\t\t).then(handleResponse);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn body;\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\n\nasync function closedSupportTicket(supportTicketID) {\n\tstore.dispatch(\"appState/startLoading\");\n\ttry {\n\t\tlet body = await ApiHelpers.makeAPICall(\n\t\t\tstore.state.appState.apiURL + FETCH_SUPPORT_TICKETS +`/${supportTicketID}/Closed`,\n\t\t\t\"POST\",null,\n\t\t\tfalse\n\t\t).then(handleResponse);\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t\treturn body;\n\t} finally {\n\t\tstore.dispatch(\"appState/stopLoading\");\n\t}\n}\n\n\n\nfunction handleResponse(response) {\n  console.log(\"handling response\", response);\n  if (!response.ok) {\n    // \t// if (response.status == 401) {\n    // \tconsole.log(\"status\", response.status);\n    // \tstore.dispatch(\"user/regenerateUserToken\", {\n    // \t\ttoken: helpers.getCookie(\"token\"),\n    // \t});\n    // return;\n    // }\n    throw new Error(response.status);\n  } else {\n    return response.json();\n  }\n}\n","import parser from \"ua-parser-js\";\nimport store from \"../store/index\";\nimport helpers from \"../helpers/CookieHelpers\";\nimport APIHelpers from \"../helpers/ApiHelpers\";\n\nimport {\n  POST_USER_LOGIN,\n  POST_USER_REGISTER,\n  FETCH_CURRENT_USER,\n  PUT_USER_PROFILE,\n  UPDATE_USER_PROFILE,\n  FETCH_TRAINERS_API,\n  FETCH_POST_USERS_API,\n  EXPORT_POST_USERS_API,\n  EXPORT_USERS_ENROLLMENT_API,\n  PUT_USERS_API,\n  FETCH_POST_USERS_BY_PRODUCT_VARIANT_API,\n  POST_PRODUCT_VARIANT_ENROLL_USER,\n  PUT_UPDATE_PRODUCT_VARIANT_ENROLL_USER,\n  FETCH_POST_USER_DEVICES_API,\n  POST_USER_DEVICES_RESET_API,\n  POST_USER_DEVICE_REMOVE_API,\n  FETCH_USER_DEVICE_RESTRICTIONS_API,\n  GET_GENERATE_OTP,\n  POST_VERIFY_OTP,\n  POST_RESET_PASSWORD,\n  PATCH_USER_STATUS,\n  RESET_ALL_USERS_DEVICES,\n  MARK_USERS_STATUS_ACTIVE_OR_INACTIVE,\n  FETCH_USERS_BY_EMAILS,\n  VERIFY_USER,\n} from \"../constants/urls\";\n// import { REQUEST_OPTIONS } from \"../constants/requestOptions\";\nimport ApiHelpers from \"../helpers/ApiHelpers\";\n\nexport const userService = {\n  login,\n  logout,\n  register,\n  getCurrentUser,\n  editUserProfile,\n  editUserPassword,\n  fetchTrainersList,\n  fetchUsersList,\n  fetchPaginatedUsersList,\n  exportUsersList,\n  exportUsersEnrollmentReport,\n  fetchUserById,\n  createUser,\n  editUser,\n  deleteUser,\n  fetchUsersByProductVariant,\n  enrollUserInProductVariant,\n  editUserErollmentInProductVariant,\n  editUserSubscription,\n  fetchUserDevices,\n  resetUserDeviceById,\n  resetUserDevices,\n  fetchUserDeviceRestrictions,\n  setUserDeviceRestrictions,\n  generateOTP,\n  verifyOTP,\n  resetPassword,\n  updateUserStatus,\n  allUsersDevicesReset,\n  markUsersStatus,\n  getUsersByEmails,\n  generateVerificationID,\n  verifyUser,\n};\n\nasync function generateVerificationID(data) {\n  let url = store.state.appState.apiURL + GET_GENERATE_OTP;\n  if (data.email) {\n    url += `?email=${data.email}`;\n  } else if (data.phone) {\n    url += `?phone=${encodeURIComponent(data.phone)}`;\n  }\n\n  url += \"&type=userverification\";\n\n  const response = await APIHelpers.makeAPICall(url, \"GET\").then(\n    handleResponse\n  );\n\n  return response;\n}\n\nasync function verifyUser(data) {\n  let url = store.state.appState.apiURL + VERIFY_USER;\n\n  const response = await APIHelpers.makeAPICall(\n    url,\n    \"POST\",\n    JSON.stringify(data)\n  ).then(handleResponse);\n\n  return response;\n}\n\nasync function login(username, password) {\n  store.dispatch(\"appState/startLoading\");\n\n  const response = await APIHelpers.makeAPICall(\n    store.state.appState.apiURL + POST_USER_LOGIN,\n    \"POST\",\n    JSON.stringify({ username, password }),\n    true\n  ).then(handleResponse);\n  console.log(\"response returned from API Helper\", response);\n\n  if (response?.payload?.token) {\n    // console.log(\"token found in response: \", response?.payload?.token);\n    store.dispatch(\"appState/stopLoading\");\n    helpers.setCookie(\n      \"token\",\n      response?.payload?.token,\n      new Date(new Date().setDate(new Date().getDate() + 30)).toUTCString()\n    );\n    localStorage.setItem(\n      \"last_token_time\",\n      JSON.stringify(new Date().getTime())\n    );\n\n    // commented due to malfunction on backend\n    // -------------------------------------------------\n    if (response?.payload?.deviceToken) {\n      localStorage.setItem(\n        \"deviceToken\",\n        JSON.stringify(response?.payload?.deviceToken)\n      );\n    }\n    // --------------------------------------------------\n\n    // console.log(\"returned from user service: \", response);\n    // console.log(requestOptions);\n    return response;\n  }\n}\n\nfunction logout() {\n  // remove user from localstorage and token from cookies to logout user\n  store.dispatch(\"appState/startLoading\");\n  setTimeout(() => {\n    store.dispatch(\"appState/stopLoading\");\n  }, 1000);\n  localStorage.removeItem(\"user\");\n  helpers.removeCookie(\"token\");\n}\n\nasync function register(user) {\n  store.dispatch(\"appState/startLoading\");\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + POST_USER_REGISTER,\n    \"POST\",\n    JSON.stringify(user),\n    false\n  ).then(handleResponse);\n  return response;\n}\nasync function forgotPassword(user) {\n  store.dispatch(\"appState/startLoading\");\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + POST_USER_REGISTER,\n    \"POST\",\n    JSON.stringify(user),\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function generateOTP(userData) {\n  store.dispatch(\"appState/startLoading\");\n  var queryString = \"\";\n  Object.entries(userData).forEach(([key, value]) => {\n    if (value) {\n      queryString +=\n        `${queryString.length > 0 ? \"&\" : \"?\"}` + key + \"=\" + value;\n    }\n  });\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL +\n      GET_GENERATE_OTP +\n      `${queryString.length != 0 ? queryString : \"\"}`,\n    \"GET\",\n    null,\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function verifyOTP(otpData) {\n  store.dispatch(\"appState/startLoading\");\n\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + POST_VERIFY_OTP,\n    \"POST\",\n    JSON.stringify(otpData),\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function resetPassword(resetData) {\n  store.dispatch(\"appState/startLoading\");\n\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + POST_RESET_PASSWORD,\n    \"POST\",\n    JSON.stringify(resetData),\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function getCurrentUser() {\n  store.dispatch(\"appState/startLoading\");\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + FETCH_CURRENT_USER,\n    \"GET\",\n    null,\n    false\n  ).then(handleResponse);\n  return response;\n}\nasync function editUserProfile(newUserData) {\n  store.dispatch(\"appState/startLoading\");\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + PUT_USER_PROFILE,\n    \"PUT\",\n    JSON.stringify(newUserData),\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function editUserPassword(newUserPassword) {\n  store.dispatch(\"appState/startLoading\");\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + UPDATE_USER_PROFILE,\n    \"POST\",\n    JSON.stringify(newUserPassword),\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function fetchTrainersList() {\n  store.dispatch(\"appState/startLoading\");\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + FETCH_TRAINERS_API,\n    \"GET\",\n    null,\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function fetchUserById(id) {\n  store.dispatch(\"appState/startLoading\");\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + FETCH_POST_USERS_API + `/${id}`,\n    \"GET\",\n    null,\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function fetchUsersList(type) {\n  store.dispatch(\"appState/startLoading\");\n  var requestLink = type ? `?Type=${type}` : \"\";\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + FETCH_POST_USERS_API + requestLink,\n    \"GET\",\n    null,\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function fetchPaginatedUsersList({\n  type,\n  pageSize,\n  nextPageToken,\n  searchString,\n  status,\n}) {\n  store.dispatch(\"appState/startLoading\");\n\n  var requestLink = type ? `?Type=${type}` : \"\";\n  requestLink +=\n    pageSize && status\n      ? `${requestLink.startsWith(\"?\") ? \"&\" : \"?\"}Status=${status}`\n      : \"\";\n  requestLink += pageSize\n    ? `${requestLink.startsWith(\"?\") ? \"&\" : \"?\"}PageSize=${pageSize}`\n    : \"\";\n  requestLink += nextPageToken\n    ? `${requestLink.startsWith(\"?\") ? \"&\" : \"?\"}NextPageToken=${nextPageToken}`\n    : \"\";\n  requestLink += searchString\n    ? `${requestLink.startsWith(\"?\") ? \"&\" : \"?\"}SearchString=${searchString}`\n    : \"\";\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + FETCH_POST_USERS_API + requestLink,\n    \"GET\",\n    null,\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function exportUsersList({ type, searchString, status }) {\n  var requestLink = type ? `?Type=${type}` : \"\";\n  requestLink += status\n    ? `${requestLink.startsWith(\"?\") ? \"&\" : \"?\"}Status=${status}`\n    : \"\";\n  requestLink += searchString\n    ? `${requestLink.startsWith(\"?\") ? \"&\" : \"?\"}SearchString=${searchString}`\n    : \"\";\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + EXPORT_POST_USERS_API + requestLink,\n    \"GET\",\n    null,\n    false\n  );\n  if (!response.ok) {\n    return response.json();\n  } else {\n    return response;\n  }\n}\n\nasync function exportUsersEnrollmentReport(productVariantId = undefined) {\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + EXPORT_USERS_ENROLLMENT_API + (productVariantId ? `?ProductVariantID=${productVariantId}` : ''),\n    \"GET\",\n    null,\n    false\n  );\n  if (!response.ok) {\n    return response.json();\n  } else {\n    return response;\n  }\n}\n\nasync function fetchUsersByProductVariant(id) {\n  store.dispatch(\"appState/startLoading\");\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL +\n      FETCH_POST_USERS_BY_PRODUCT_VARIANT_API +\n      `${id}`,\n    \"GET\",\n    null,\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function createUser(user) {\n  store.dispatch(\"appState/startLoading\");\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + FETCH_POST_USERS_API,\n    \"POST\",\n    JSON.stringify(user),\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function editUser(user) {\n  store.dispatch(\"appState/startLoading\");\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + PUT_USERS_API,\n    \"PUT\",\n    JSON.stringify(user),\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function updateUserStatus(user) {\n  var updatedUser = { userID: user.userID, status: user.status };\n  store.dispatch(\"appState/startLoading\");\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + PATCH_USER_STATUS,\n    \"PATCH\",\n    JSON.stringify(updatedUser),\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function deleteUser(id) {\n  store.dispatch(\"appState/startLoading\");\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + PUT_USERS_API + `/${id}`,\n    \"DELETE\",\n    null,\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function enrollUserInProductVariant(user) {\n  store.dispatch(\"appState/startLoading\");\n  await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + POST_PRODUCT_VARIANT_ENROLL_USER,\n    \"POST\",\n    JSON.stringify(user),\n    false\n  );\n  // .then(handleResponse);\n  // return response;\n}\n\nasync function editUserErollmentInProductVariant(user) {\n  store.dispatch(\"appState/startLoading\");\n  await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + POST_PRODUCT_VARIANT_ENROLL_USER,\n    \"PUT\",\n    JSON.stringify(user),\n    false\n  );\n  // .then(handleResponse);\n  // return response;\n}\nasync function editUserSubscription(obj) {\n  store.dispatch(\"appState/startLoading\");\n  var res = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + PUT_UPDATE_PRODUCT_VARIANT_ENROLL_USER,\n    \"PUT\",\n    JSON.stringify(obj),\n    false\n  ).then(handleResponse);\n  return res;\n}\n\nasync function fetchUserDevices(username) {\n  store.dispatch(\"appState/startLoading\");\n  const res = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL +\n      FETCH_POST_USER_DEVICES_API +\n      `?Username=${username}`,\n    \"GET\",\n    null,\n    false\n  ).then(handleResponse);\n  return res;\n}\n\nasync function resetUserDevices(userID) {\n  store.dispatch(\"appState/startLoading\");\n  await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + POST_USER_DEVICES_RESET_API + userID,\n    \"POST\",\n    null,\n    false\n  ).then(handleResponse);\n}\n\nasync function resetUserDeviceById(deviceData) {\n  store.dispatch(\"appState/startLoading\");\n  await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + POST_USER_DEVICE_REMOVE_API,\n    \"POST\",\n    JSON.stringify(deviceData),\n    false\n  ).then(handleResponse);\n}\n\nasync function fetchUserDeviceRestrictions(userID) {\n  store.dispatch(\"appState/startLoading\");\n  const res = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + FETCH_USER_DEVICE_RESTRICTIONS_API + userID,\n    \"GET\",\n    null,\n    false\n  ).then(handleResponse);\n  return res;\n}\n\nasync function setUserDeviceRestrictions(data) {\n  store.dispatch(\"appState/startLoading\");\n  await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + FETCH_POST_USER_DEVICES_API,\n    \"POST\",\n    JSON.stringify(data),\n    false\n  ).then(handleResponse);\n}\n\nasync function allUsersDevicesReset(emails) {\n  store.dispatch(\"appState/startLoading\");\n  await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL +\n      RESET_ALL_USERS_DEVICES +\n      \"?UserEmails=\" +\n      emails,\n    \"POST\",\n    null,\n    false\n  ).then(handleResponse);\n}\n\nasync function markUsersStatus(requestData) {\n  store.dispatch(\"appState/startLoading\");\n  await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + MARK_USERS_STATUS_ACTIVE_OR_INACTIVE,\n    \"PATCH\",\n    JSON.stringify(requestData),\n    false\n  ).then(handleResponse);\n}\n\nasync function getUsersByEmails(emails) {\n  store.dispatch(\"appState/startLoading\");\n  const response = await ApiHelpers.makeAPICall(\n    store.state.appState.apiURL + FETCH_USERS_BY_EMAILS,\n    \"POST\",\n    JSON.stringify({ UserEmails: emails }),\n    false\n  ).then(handleResponse);\n  return response;\n}\n\nasync function handleResponse(response) {\n  console.log(\"handling response\", response);\n  if (!response.ok) {\n    // alert(response.error);\n    var res = await response\n      .json()\n      .then(\n        (data) =>\n          (res = {\n            error: data.error,\n          })\n      )\n      .then((res) => {\n        // console.log(res);\n        return res;\n      });\n    return Promise.reject(res.error);\n  } else {\n    return response.json();\n  }\n}\n","import { appService } from \"../services/app.service\";\nconst getCountryISO3 = require(\"country-iso-2-to-3\");\nimport { countryCurrency } from \"../constants/countryCurrency\";\nimport store from \"./index\";\n\nwindow.addEventListener(\"resize\", () => {\n\tstate.isMobile = window.innerWidth <= 996;\n});\n\nconst state = {\n\tloading: false,\n\tsystemParameters: null,\n\tcustomFilesLoaded: false,\n\tisMobile: window.innerWidth <= 996,\n\texternalServicesList: {},\n\tcurrentCountry: null,\n\tcurrentCity: null,\n\tcurrentCurrency: null,\n\tapiRef: null,\n\tapiURL: null,\n\tamIOnline: true,\n};\n\nconst getters = {\n\tisLoading: (state) => {\n\t\treturn state.loading;\n\t},\n\tgetTenantInfo(state) {\n\t\treturn state.tenantInfo;\n\t},\n};\n\nconst actions = {\n\tstartLoading({ commit }) {\n\t\tcommit(\"setLoading\", true);\n\t},\n\tstopLoading({ commit }) {\n\t\tcommit(\"setLoading\", false);\n\t},\n\tasync fetchSystemParameters({ commit }) {\n\t\tcommit(\"setLoading\", true);\n\t\tawait appService.getSystemParameters().then(\n\t\t\t(systemParameters) => {\n\t\t\t\tvar params = {\n\t\t\t\t\t// CustomRoutesPath: \"edcentra.js\",\n\t\t\t\t\t// tenantName: \"GoCBE Global\",\n\t\t\t\t\t// CustomPages: {\n\t\t\t\t\t// \tHome: [\n\t\t\t\t\t// \t\t\"https://gocbe-lms-files.b-cdn.net/lms_v4_test/ASTCHome.117e72b9f9f8431ae924.umd.min.js\",\n\t\t\t\t\t// \t\t\"https://gocbe-lms-files.b-cdn.net/lms_v4_test/ASTCHome.117e72b9f9f8431ae924.css\",\n\t\t\t\t\t// \t],\n\t\t\t\t\t// },\n\t\t\t\t\t...systemParameters?.payload,\n\t\t\t\t\t// CustomPages: {\n\t\t\t\t\t// \tHome: [\n\t\t\t\t\t// \t\t\"http://localhost:8080/js/Home.fa4d19d88256bd3e901a.umd.min.js\",\n\t\t\t\t\t// \t\t\"http://localhost:8080/js/Home.fa4d19d88256bd3e901a.css\",\n\t\t\t\t\t// \t],\n\t\t\t\t\t// },\n\t\t\t\t};\n\t\t\t\tif (params.Theme) {\n\t\t\t\t\tparams.Theme = JSON.parse(params.Theme);\n\t\t\t\t} else {\n\t\t\t\t\tparams.Theme = {\n\t\t\t\t\t\tPrimaryColor: \"#CB222B\",\n\t\t\t\t\t\tSecondaryColor: \"#000000\",\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (params.TrainerUserRegisterExtraFields) {\n\t\t\t\t\tparams.TrainerUserRegisterExtraFields = JSON.parse(\n\t\t\t\t\t\tparams.TrainerUserRegisterExtraFields\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (params.UserRegisterExtraFields) {\n\t\t\t\t\tparams.UserRegisterExtraFields = JSON.parse(\n\t\t\t\t\t\tparams.UserRegisterExtraFields\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (params.TenantInfo) {\n\t\t\t\t\tparams.TenantInfo = JSON.parse(params.TenantInfo);\n\t\t\t\t}\n\t\t\t\tif (params.SocialLinks) {\n\t\t\t\t\tparams.SocialLinks = JSON.parse(params.SocialLinks);\n\t\t\t\t}\n\t\t\t\tif (params.Banners) {\n\t\t\t\t\tparams.Banners = JSON.parse(params.Banners);\n\t\t\t\t}\n\n\t\t\t\t// if (params.CustomPages) {\n\t\t\t\t// \tparams.CustomPages = JSON.parse(params.CustomPages);\n\t\t\t\t// }\n\n\t\t\t\tfetch(state.apiURL + \"/user/locationbyip\", {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAuthToken: \"System123\",\n\t\t\t\t\t},\n\t\t\t\t}).then((res) => {\n\t\t\t\t\tres.json().then((val) => {\n\t\t\t\t\t\tconsole.log(val);\n\t\t\t\t\t\tif (val.city) commit(\"setCurrentCity\", val.city);\n\t\t\t\t\t\tcommit(\"setCurrentCountry\", val.countrycode);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tcommit(\"setParameters\", params);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tconsole.error(\"app level error\", error.message);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n\n\tasync editSystemParameters({ commit }, params) {\n\t\tcommit(\"setLoading\", true);\n\t\tawait appService.editSystemParameters(params).then(\n\t\t\t(res) => {\n\t\t\t\t// $.get(\"https://iplist.cc/api\").done();\n\t\t\t\tcommit(\"setParameters\", params);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tconsole.error(\"app level error\", error.message);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n\n\tasync fetchExternalServices({ commit }, type) {\n\t\tcommit(\"setLoading\", true);\n\t\tconst res = await appService.getExternalServices(type).then(\n\t\t\t(services) => {\n\t\t\t\tcommit(\"setExternalServices\", { services: services?.payload, type });\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn services;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tconsole.error(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\tif (res) return res;\n\t},\n\tasync createExternalServices({ commit }, {type,provider,data}) {\n\t\tconst res = await appService.createExternalServices(type,provider,data).then(\n\t\t\t(response) => {\n\t\t\t\t\n\t\t\t\treturn response;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tconsole.error(error);\n\t\t\t}\n\t\t);\n\t\tif (res) return res;\n\t},\n\n\tasync fetchTenantInfo({ commit }) {\n\t\tsetTimeout(() => {\n\t\t\tcommit(\"setTenantInfo\", {});\n\t\t}, 0);\n\t},\n};\n\nconst mutations = {\n\tsetLoading(state, loading) {\n\t\tstate.loading = loading;\n\t\t// console.log(state.loading);\n\t},\n\tsetParameters(state, parameters) {\n\t\tconsole.log(\"system parameters setting\", parameters);\n\t\tstate.systemParameters = parameters;\n\t\tconsole.log(state.systemParameters);\n\t},\n\tsetExternalServices(state, { services, type }) {\n\t\tconsole.log({ services, type });\n\t\tvar list = { ...state.externalServicesList };\n\t\tlist[type] = services && services.length > 0 ? services : null;\n\t\tstate.externalServicesList = list;\n\t},\n\tsetTenantInfo(state, tenant) {\n\t\tstate.tenantInfo = tenant;\n\t},\n\tsetCurrentCountry(state, country) {\n\t\tconsole.log(\"setCurrentCountry\", country);\n\t\tstate.currentCountry = getCountryISO3(country);\n\t\tvar currentCurr = countryCurrency.find(\n\t\t\t(c) => c.country == country\n\t\t).currency;\n\t\tstate.currentCurrency = currentCurr;\n\t\tstore.commit(\"cart/updateCartCurrency\", currentCurr);\n\t},\n\tsetCurrentCity(state, city) {\n\t\tstate.currentCity = city;\n\t},\n\tsetOnlineStatus(state, status) {\n\t\tstate.amIOnline = status;\n\t},\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations,\n};\n","import Vue from \"vue\";\nimport store from \".\";\nimport { assignmentService } from \"../services/assignment.service\";\n\nconst state = {\n\tloading: false,\n\tassignments: {},\n};\n\nconst getters = {\n\t\n};\n\nconst actions = {\n\t\n\tsubmitAssignment: async ({ commit }, {contentId, assignmentSubmissionFiles}) => {\n\t\tcommit(\"setLoading\", true);\n\t\tvar submittedAssignment = await assignmentService.submitAssignment(contentId,assignmentSubmissionFiles)\n        .then(\n\t\t\t(submittedAssignment) => {\n\t\t\t\t\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn submittedAssignment.payload;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\treturn submittedAssignment;\n\t},\n\tupdateAssignmentSubmission: async ({ commit }, { contentId, submissionId, assignmentSubmissionFiles }) => {\n\t\tcommit(\"setLoading\", true);\n\t\t\n\t\tvar submittedAssignment = await assignmentService.updateAssignmentSubmission(contentId,\n\t\t\t submissionId, assignmentSubmissionFiles)\n\t\t\t.then(\n\t\t\t\t(submittedAssignment) => {\n\n\t\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t\treturn submittedAssignment.payload;\n\t\t\t\t},\n\t\t\t\t(error) => {\n\t\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t}\n\t\t\t);\n\t\treturn submittedAssignment;\n\t},\n    getSubmittedAssignment: async ({ commit }, contentId) => {\n\t\tcommit(\"setLoading\", true);\n\t\tvar submittedAssignment = await assignmentService.getSubmittedAssignment(contentId)\n        .then(\n\t\t\t(submittedAssignment) => {\n\t\t\t\t\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn submittedAssignment.payload;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\treturn submittedAssignment;\n\t},\n    getSubmittedAssignmentResults: async ({ commit }, contentId) => {\n\t\tcommit(\"setLoading\", true);\n\t\tvar submittedAssignmentResults = await assignmentService.getSubmittedAssignmentResults(contentId)\n        .then(\n\t\t\t(submittedAssignmentResults) => {\n\t\t\t\t\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t\tconst payload = submittedAssignmentResults.payload;\n\t\t\t\t\tstate.assignments[contentId] = payload;\n\t\t\t\t\treturn payload;\n\t\t\t},\n\t\t\t\t(error) => { commit(\"setLoading\", false); }\n\t\t);\n\t\treturn submittedAssignmentResults;\n\t},\n    submitAssignmentResult: async ({ commit }, assignmentResult) => {\n\t\tcommit(\"setLoading\", true);\n\t\tvar submittedAssignmentResult = await assignmentService\n\t\t.submitAssignmentResult(assignmentResult).then((data) => {\n\t\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t\tlet mutationData = { \n\t\t\t\t\t\tpayload: data.payload,\n\t\t\t\t\t\ttype: 'marks',\n\t\t\t\t\t\tassignmentResult: assignmentResult,\n\t\t\t\t\t};\n\t\t\t\t\tcommit(\"updateAssignmentResult\", mutationData);\n\t\t\t\t\treturn data.payload;\n\t\t\t\t},\n\t\t\t\t(error) => {\n\t\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t}\n\t\t\t);\n\t\treturn submittedAssignmentResult;\n\t},\n    getProductvariantAssignmentResults: async ({ commit }, productvariantId) => {\n\t\tcommit(\"setLoading\", true);\n\t\tvar submittedAssignmentResults = await assignmentService.getProductvariantAssignmentResults(productvariantId)\n        .then(\n\t\t\t(submittedAssignmentResults) => {\n\t\t\t\t\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn submittedAssignmentResults.payload;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\treturn submittedAssignmentResults;\n\t},\n    submitAssignmentFeedback: async ({ commit }, assignmentResult) => {\n\t\tcommit(\"setLoading\", true);\n\n\t\tvar submittedAssignmentFeedback = await assignmentService\n\t\t.submitAssignmentFeedback(assignmentResult).then((data) => {\n\t\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t\tlet mutationData = { \n\t\t\t\t\t\tpayload: data.payload,\n\t\t\t\t\t\ttype: 'feedback',\n\t\t\t\t\t\tassignmentResult: assignmentResult,\n\t\t\t\t\t};\n\t\t\t\t\tcommit(\"updateAssignmentResult\", mutationData);\n\t\t\t\t\treturn data.payload;\n\t\t\t\t},\n\t\t\t\t(error) => {\n\t\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t}\n\t\t\t);\n\t\treturn submittedAssignmentFeedback;\n\t},\n\tsubmitAssignmentResult: async ({ commit }, assignmentResult) => {\n\t\tcommit(\"setLoading\", true);\n\t\tvar submittedAssignmentResult = await assignmentService.submitAssignmentResult(assignmentResult)\n        .then(\n\t\t\t(assignmentResult) => {\n\t\t\t\t\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn assignmentResult.payload;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\treturn submittedAssignmentResult;\n\t}\n};\n\nconst mutations = {\n\tsetLoading(state, data) {\n\t\tstate.loading = data;\n\t},\n\tupdateAssignmentResult(state, data) {\n\t\tconst userId = data.assignmentResult.UserId;\n\t\tconst contentId = data.assignmentResult.ContentId;\n\t\tconst payload = data.payload;\n\t\tconst type = data.type;\n\t  \n\t\tlet clonedAssignments = { ...state.assignments };\n\t  \n\t\tif (clonedAssignments[contentId]) {\n\t\t  let assignmentObject = clonedAssignments[contentId];\n\t  \n\t\t  const assignmentIds = Object.keys(assignmentObject);\n\t  \n\t\t  assignmentIds.forEach((assignmentId) => {\n\t\t\tif (assignmentObject[assignmentId].user.id === userId) {\n\t\t\t  if (type === 'marks') {\n\t\t\t\tassignmentObject[assignmentId] = payload;\n\t\t\t  } else if (type === 'feedback') {\n\t\t\t\tlet studentAssignment = assignmentObject[assignmentId];\n\t\t\t\tlet submissions = studentAssignment.submissions || [];\n\t\t\t\t\n\t\t\t\tconst index  = submissions.findIndex(submission => submission.id === payload.id);\n\t\t\t\tif(index > -1 && index < submissions.length){\n\t\t\t\t\tsubmissions[index] = payload\n\t\t\t\t}\n\n\t\t\t\tassignmentObject[assignmentId].submissions = submissions;\n\t\t\t  }\n\t\t\t}\n\t\t  });\n\t  \n\t\t  clonedAssignments[contentId] = assignmentObject;\n\t\t}\n\t\tstate.assignments = clonedAssignments;\n\t  }\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations,\n};","\nimport { v4 as uuidv4 } from \"uuid\";\nconst state = {\n\tfilesInQueueToUpload: [],\n\tisMaximized: false\n};\n\nconst getters = {\n};\n\nconst actions = {\n\n\ttoggleBulkFileUploadingModel({ commit }, isOpen) {\n\t\tstate.isMaximized = isOpen;\n\t},\n\taddFileInUploadQueue({ commit, dispatch }, { file, parentContentID, service }) {\n\t\tstate.filesInQueueToUpload.push({\n\t\t\t\"id\": uuidv4(),\n\t\t\t\"title\": file.name.substring(0, file.name.lastIndexOf('.')) || file.name,\n\t\t\t\"name\": file.name,\n\t\t\t\"type\": file.type,\n\t\t\t\"contentType\": service.serviceType==\"RecordedVideos\"?\"RecordedVideos\":\"StudyMaterial\",\n\t\t\t\"size\": file.size,\n\t\t\t\"status\": \"queued\",\n\t\t\t\"file\": file,\n\t\t\t\"service\": service,\n\t\t\t\"parentContentID\": parentContentID,\n\t\t\t\"onCancelCallback\": function(_fileObject){\n\t\t\t\tif (_fileObject.xhr) {\n\t\t\t\t\t_fileObject.xhr.abort();\n\t\t\t\t}\n\t\t\t\t_fileObject.status=\"cancelled\";\n\t\t\t\tdispatch('NextFileInQueue');\n\t\t\t}\n\t\t});\n\t\tdispatch('NextFileInQueue');\n\t},\n\tNextFileInQueue({ commit, dispatch }) {\n\t\tdebugger;\n\t\tvar minUploadinglimit=1;\n\t\tif(this.state.appState.systemParameters.MinUploadingLimit)\n\t\t{\n\t\t\tminUploadinglimit=parseInt( this.state.appState.systemParameters.MinUploadingLimit + '');\n\t\t}\n\t\tvar inProcessingOrUploadingFiles = state.filesInQueueToUpload.filter(x => x.status.toLowerCase() == \"processing\" || x.status.toLowerCase() == \"uploading\");\n\t\tvar queuedFile = state.filesInQueueToUpload.find(x => x.status.toLowerCase() != \"processing\" && x.status.toLowerCase() != \"uploading\" && x.status.toLowerCase() == \"queued\");\n\t\tif (inProcessingOrUploadingFiles.length<=(minUploadinglimit-1) && queuedFile) {\n\t\t\tprocessFileAndFetchingUploadURL(queuedFile, dispatch, commit);\n\t\t}\n\t},\n\tCloseComplete({ commit, dispatch })\n\t{\n\t\tstate.filesInQueueToUpload=state.filesInQueueToUpload.filter(x=>x.status==\"uploading\" || x.status==\"processing\" || x.status==\"processed\");\n\t},\n\tasync processQueuedFileAndFetchingUploadURL({dispatch},fileObject) {\n\t\tif(fileObject.content)\n\t\t{\t\n\t\t\treturn;\n\t\t}\n\t\tfileObject.status = \"processing\";\n\t\tvar recordedVideoObject = {\n\t\t\ttitle: fileObject.title,\n\t\t\tdata: {\n\t\t\t\tservicecode: fileObject.service.serviceCode,\n\t\t\t\tfilehash: \"368B3C12BF01D191B690764EF94D962A\",\n\t\t\t\tfilename: fileObject.name,\n\t\t\t},\n\t\t\tisAvailableForDemo: false,\n\t\t\tparentDirectoryID: fileObject.parentContentID,\n\t\t\ttype: fileObject.contentType,\n\t\t};\n\t\tawait dispatch('content/createRecordedVideosContent', recordedVideoObject, { root: true })\n\t\t\t.then(video => {\n\t\t\t\tfileObject.id = video.id;\n\t\t\t\tfileObject.content = video;\n\t\t\t\tfileObject.status = \"queued\";\n\t\t\t})\n\t\t\t.catch(error => {\n\t\t\t\tconsole.log(error);\n\t\t\t\tfileObject.status = \"failed\";\t\t\t\n\t\t});\n\t\treturn fileObject;\n\t\n\t}\n};\n\n\nconst mutations = {\n};\n\n\nfunction processFileAndFetchingUploadURL(fileObject, dispatch, commit) {\n\tif(fileObject.content)\n\t{\t\t\n\t\tfileObject.status = \"processed\";\n\t\tstartUploadingProcessedVideos(fileObject, dispatch, commit);\n\t\treturn;\n\t}\n\n\tfileObject.status = \"processing\";\n\tvar recordedVideoObject = {\n\t\ttitle: fileObject.title,\n\t\tdata: {\n\t\t\tservicecode: fileObject.service.serviceCode,\n\t\t\tfilehash: \"368B3C12BF01D191B690764EF94D962A\",\n\t\t\tfilename: fileObject.name,\n\t\t},\n\t\tisAvailableForDemo: false,\n\t\tparentDirectoryID: fileObject.parentContentID,\n\t\ttype: fileObject.contentType,\n\t};\n\tdispatch('content/createRecordedVideosContent', recordedVideoObject, { root: true })\n\t\t.then(video => {\n\t\t\t// console.log(\"recorded video uploaded\", video);\n\t\t\tfileObject.id = video.id;\n\t\t\tfileObject.content = video;\n\t\t\tfileObject.status = \"processed\";\n\t\t\tstartUploadingProcessedVideos(fileObject, dispatch, commit);\n\t\t})\n\t\t.catch(error => {\n\t\t\tconsole.log(error);\n\t\t\tfileObject.status = \"failed\";\n\t\t\tdispatch('NextFileInQueue');\n\t\t});\n\n}\nfunction processUploadingURL(url) {\n\tvar queryString = url.split(\"?\")[1];\n\tvar uploadURL = url;\n\tvar notifyURL = null;\n\tvar params = new URLSearchParams(queryString);\n\tfor (const param of params) {\n\t\tif (param[0] == \"notifyUploadCompletionAt\") {\n\t\t\tnotifyURL = param[1];\n\t\t\tuploadURL = url.slice(0, url.indexOf(param[0]) - 1);\n\t\t\tconsole.log(uploadURL, notifyURL);\n\t\t}\n\t}\n\t// console.log({ uploadURL, notifyURL });\n\treturn uploadURL;\n}\nasync function startUploadingProcessedVideos(fileObject, dispatch, commit) {\n\n\tfileObject.status = \"uploading\";\n\tfileObject.PercentComplete = 0;\n\tvar uploadurl = processUploadingURL(\n\t\tfileObject.content.data.uploadingUrl\n\t);\n\n\tconst formData = new FormData();\n\tformData.append('file', fileObject.file);\n\n\t// post form data\n\tconst xhr = new XMLHttpRequest()\n\txhr.upload.onprogress = function (event) {\t\t\n\t\t\tvar percentComplete = Math.floor((event.loaded / event.total) * 100);\n\t\t\tconsole.log(percentComplete);\n\t\t\tfileObject.PercentComplete = percentComplete;\t\t\t\t\t\n\t\t\tfileObject.status = \"uploaded\";\n\t\t\tfileObject.status = \"uploading\";\n\t};\n\n\t// Set up a handler for when the request completes\n\txhr.onload = function () {\n\t\tif (xhr.status === 200) {\n\t\t\tsetTimeout(function(){\n\t\t\t\tfileObject.status = \"uploaded\";\n\t\t\t\tdispatch('NextFileInQueue');\n\t\t\t\tdispatch('content/getContentById',{id: fileObject.content.id}, { root: true })\n\t\t\t\t.then(function(content){\t\t\t\t\t\n\t\t\t\t\tcommit('content/updateContentInParent',  {\n\t\t\t\t\t\tcontent: content,\n\t\t\t\t\t\tparentDirectoryID: fileObject.parentContentID,\n\t\t\t\t\t}, { root: true });\n\t\t\t\t});\t\t\n\t\t\t\n\t\t\t},2000);\n\t\t} else {\n\t\t\tfileObject.status = \"failed\";\n\t\t\tdispatch('NextFileInQueue');\n\t\t}\n\t};\n\n\txhr.open('PUT', uploadurl);\n\tfileObject.xhr=xhr;\n\t\n\txhr.send(formData)\n\n}\n\n\n\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations,\n};\n","import store from \"./index\";\n\nconst state = {\n\tcart: localStorage.getItem(\"cart\")\n\t\t? JSON.parse(localStorage.getItem(\"cart\"))\n\t\t: {\n\t\t\t\titems: [],\n\t\t\t\tpromoCode: \"\",\n\t\t\t\ttotalAmount: 0,\n\t\t\t\tcurrency: null,\n\t\t  },\n};\n\nconst getters = {\n\tgetCartItems: () => {\n\t\t// console.log(\"gettingCartItems\");\n\t\treturn state.cart.items;\n\t},\n\tisCartEmpty: () => {\n\t\treturn state.cart.items.length == 0;\n\t},\n\tcartItemsNumber: () => {\n\t\treturn state.cart.items.length;\n\t},\n\tgetCartTotalAmount: () => {\n\t\treturn state.cart.totalAmount;\n\t},\n};\n\nconst actions = {\n\taddToCart({ commit }, product) {\n\t\tif (!actions.isProductInCart(product.id)) {\n\t\t\tvar total = state.cart.totalAmount;\n\t\t\ttotal += parseInt(product.pricing.amount);\n\t\t\tcommit(\"setCartItem\", product);\n\t\t\tcommit(\"updateCartTotalAmount\", total);\n\t\t\tcommit(\"updateCartCurrency\", product.pricing.currency);\n\t\t}\n\t},\n\n\tremoveFromCart({ commit }, product) {\n\t\tif (!getters.isCartEmpty()) {\n\t\t\tvar cartItems = state.cart.items;\n\t\t\tcartItems = cartItems.filter((item) => item.id != product.id);\n\t\t\tvar total = state.cart.totalAmount;\n\t\t\ttotal -= product.pricing.amount;\n\t\t\tconsole.log(total);\n\t\t\tcommit(\"setCartItems\", cartItems);\n\t\t\tcommit(\"updateCartTotalAmount\", total);\n\t\t}\n\t},\n\n\tisProductInCart(productId) {\n\t\tvar cartItems = state.cart.items;\n\t\tvar found = cartItems.find((item) => {\n\t\t\tconsole.log(\"checking for item\");\n\t\t\tif (item.id == productId) {\n\t\t\t\treturn true; //found item\n\t\t\t}\n\t\t});\n\t\treturn found;\n\t},\n\n\tsetPromoCode({ commit }, promoCode) {\n\t\tcommit(\"setPromoCode\", promoCode);\n\t},\n\n\taddToCartTotalAmount({ commit }, amount) {\n\t\tvar currentTotal = state.cart.totalAmount;\n\t\tcurrentTotal += amount;\n\t\tcommit(\"updateCartTotalAmount\", currentTotal);\n\t},\n\n\tsubtractFromCartTotalAmount({ commit }, amount) {\n\t\tvar currentTotal = state.cart.totalAmount;\n\t\tif (currentTotal > 0) {\n\t\t\tcurrentTotal -= amount;\n\t\t}\n\t\tcommit(\"updateCartTotalAmount\", currentTotal);\n\t},\n\temptyCart: function ({ commit }, currency) {\n\t\tcommit(\"setCart\", {\n\t\t\titems: [],\n\t\t\tpromoCode: \"\",\n\t\t\ttotalAmount: 0,\n\t\t\tcurrency: store.state.appState.currentCurrency,\n\t\t});\n\t},\n};\n\nconst mutations = {\n\tsetCart(state, data) {\n\t\tstate.cart = data;\n\t\tlocalStorage.setItem(\"cart\", JSON.stringify(state.cart));\n\t},\n\tsetCartItem(state, product) {\n\t\tstate.cart.items.push(product);\n\t\tlocalStorage.setItem(\"cart\", JSON.stringify(state.cart));\n\t},\n\tsetCartItems(state, cartItems) {\n\t\tstate.cart.items = cartItems;\n\t\tlocalStorage.setItem(\"cart\", JSON.stringify(state.cart));\n\t},\n\tsetPromoCode(state, promoCode) {\n\t\tstate.cart.promoCode = promoCode;\n\t\tlocalStorage.setItem(\"cart\", JSON.stringify(state.cart));\n\t},\n\tupdateCartTotalAmount(state, totalAmount) {\n\t\tstate.cart.totalAmount = totalAmount;\n\t\tlocalStorage.setItem(\"cart\", JSON.stringify(state.cart));\n\t},\n\tupdateCartCurrency(state, currency) {\n\t\tconsole.log(\"updateCartCurrency\", currency);\n\t\tstate.cart.currency = currency;\n\t\tlocalStorage.setItem(\"cart\", JSON.stringify(state.cart));\n\t},\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations,\n};\n","import { categoryService } from \"../services/category.service\";\nimport Vue from \"vue\";\nimport store from \".\";\n\nconst state = {\n\tcategories: [],\n\tloading: false,\n};\n\nconst getters = {\n\tallCategories: (state) => {\n\t\treturn state.categories;\n\t},\n};\n\nconst actions = {\n\tfetchCategories: async ({ commit }) => {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tawait categoryService.fetchAllCategories().then(\n\t\t\t(category) => {\n\t\t\t\t// console.log(category);\n\t\t\t\tcommit(\"setCategories\", category?.payload);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n\tcreateCategory: async ({ commit }, title) => {\n\t\tcommit(\"setLoading\", true);\n\t\tawait categoryService.createCategory(title).then(\n\t\t\t(category) => {\n\t\t\t\tconsole.log(\"category created, id:\", category.payload);\n\n\t\t\t\tvar categoryObject = {\n\t\t\t\t\tchildCategories: null,\n\t\t\t\t\tid: category.payload,\n\t\t\t\t\tisVisible: true,\n\t\t\t\t\ttitle: title,\n\t\t\t\t};\n\t\t\t\tcommit(\"addCategory\", categoryObject);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n\teditProductCategorySequence: async ({commit}, categoryObj) => {\n\t\tconst data = await categoryService.editProductCategorySequence(categoryObj).then(\n\t\t\t(res) => {\n\t\t\t\tif(res.ok) {\n\t\t\t\t\tVue.toasted.success(\"Sequence Updated Successful\", {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 5000,\n\t\t\t\t\t});\n\t\t\t\t} \n\t\t\t\telse {\n\t\t\t\t\tVue.toasted.error(\"Some error occurred\", {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tVue.toasted.error(\"Some error occurred\", {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n\tupdateCategory: async ({ commit }, updatedObject) => {\n\t\tcommit(\"setLoading\", true);\n\t\tawait categoryService.updateCategory(updatedObject).then(\n\t\t\t(category) => {\n\t\t\t\tconsole.log(\"category updated, id:\", updatedObject.id);\n\n\t\t\t\tvar categoryObject = {\n\t\t\t\t\t...updatedObject,\n\t\t\t\t\tchildCategories: null,\n\t\t\t\t};\n\t\t\t\tcommit(\"updateCategory\", categoryObject);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n\tdeleteCategory: async ({ commit }, id) => {\n\t\tcommit(\"setLoading\", true);\n\t\tawait categoryService.deleteCategory(id).then(\n\t\t\t(category) => {\n\t\t\t\tconsole.log(\"category deleted, id:\", id);\n\t\t\t\tcommit(\"deleteCategory\", id);\n\t\t\t\tVue.toasted.success(\"Qualification Deleted Successfully\", {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n\tassignCategoryToProduct: async ({ commit }, productData) => {\n\t\tcommit(\"setLoading\", true);\n\t\tawait categoryService.assignCategoryToProduct(productData).then(\n\t\t\t(category) => {\n\t\t\t\t// console.log(\"category deleted, id:\", id);\n\t\t\t\tstore.commit(\"product/assignCategoryToProduct\", productData);\n\t\t\t\tcommit(\"setLoading\", false);\n\n\t\t\t\tVue.toasted.success(\"Qualification assigned successfully\", {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n\tunassignCategoryToProduct: async ({ commit }, productData) => {\n\t\tcommit(\"setLoading\", true);\n\t\tawait categoryService.unassignCategoryToProduct(productData).then(\n\t\t\t(category) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n};\n\nconst mutations = {\n\tsetCategories(state, data) {\n\t\t// console.log(data);\n\t\tif (data != null) {\n\t\t\tstate.categories = data;\n\t\t}\n\t\tstate.loading = false;\n\t},\n\taddCategory(state, data) {\n\t\tstate.categories.push(data);\n\t\tstate.loading = false;\n\t},\n\tupdateCategory(state, data) {\n\t\tconsole.log(\"updating state\", data);\n\t\tstate.categories = state.categories.map((item) => {\n\t\t\tif (item.id == data.id) return data;\n\t\t\treturn item;\n\t\t});\n\t\tstate.loading = false;\n\t},\n\tdeleteCategory(state, id) {\n\t\tconsole.log(\"updating state\", id);\n\t\tstate.categories = state.categories.filter((item) => item.id != id);\n\t\tstate.loading = false;\n\t},\n\tsetLoading(state, data) {\n\t\tif (data) {\n\t\t\tconsole.log(\"categories loading...\");\n\t\t} else {\n\t\t\tconsole.log(\"categories loading complete!\");\n\t\t}\n\t\tstate.loading = data;\n\t},\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations,\n};\n","import { contentService } from \"../services/content.service\";\nimport Directory from \"../models/content/directory\";\nimport RecordedVideo from \"../models/content/recordedVideo\";\nimport LiveClass from \"../models/content/liveClass\";\nimport { ContentType } from \"../constants/content\";\n\nimport Vue from \"vue\";\nimport store from \".\";\n\nconst state = {\n\tcontent: {},\n\tupcomingContent: [],\n\tloading: false,\n\tallRootContent: [],\n\ttrainersByContentId: {},\n\tuploadingContent: false,\n\tcopiedTab: null,\n\tcopiedContent: null,\n\tcopiedSection: [],\n\tcopiedBulkContent: [],\n\tselectedBulkCopiedContent: [],\n\tisContentSectionSelectable: false,\n\tisChapterSelectable: false,\n\tcontentActions: {}\n};\n\nconst getters = {\n\tgetContent: (state) => state.content,\n};\n\nconst actions = {\n\tmakeBulkChapterUnselectable({ commit }) {\n\t\tstate.isChapterSelectable = false;\n\t\tstate.copiedSection = [];\n\t},\n\tmakeBulkChapterSelectable({ commit }) {\n\t\tstate.isChapterSelectable = true;\n\t\tstate.copiedSection = [];\n\t},\n\tselectedChapters({commit}) {\n\t\tif(state.copiedSection.length > 0) {\n\t\t\tstate.isChapterSelectable = false;\n\n\t\t\tVue.toasted.success(`${state.copiedSection.length} CHAPTERs/SECTIONs Copied`, {\n\t\t\t\ttheme: \"outline\",\n\t\t\t\tposition: \"bottom-center\",\n\t\t\t\tduration: 5000,\n\t\t\t});\n\t\t}\n\t},\n\tselectBulkChapters({ commit }, content) {\n\t\tstate.copiedSection.push(content);\n\t},\n\tunselectBulkChapters({ commit }, content) {\n\t\tlet index = -1;\n\n\t\tfor (let i = 0; i < state.copiedSection.length; i++) {\n\t\t\tif (state.copiedSection[i].id == content.id) {\n\t\t\t\tindex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (index > -1) {\n\t\t\tstate.copiedSection.splice(index, 1);\n\t\t}\n\t},\t\n\tsaveCopiedTab({ commit }, tab) {\n\t\tstate.copiedTab = tab;\n\t},\n\tsaveCopiedSection({ commit }, section) {\n\t\tstate.copiedSection = [];\n\t\tstate.copiedSection[0] = section;\n\t},\n\tsaveCopiedContent({ commit }, content) {\n\t\tstate.copiedContent = content;\n\t},\n\tsaveBulkCopiedContent({ commit }, content) {\n\t\tif(content) {\n\t\t\tstate.copiedBulkContent[0] = content;\n\t\t\treturn;\n\t\t}\n\t\tstate.copiedBulkContent = state.selectedBulkCopiedContent;\n\n\t\tstate.isContentSectionSelectable = false;\n\t\tstate.selectedBulkCopiedContent = [];\n\t\treturn state.copiedBulkContent.length;\n  \t},\n\tasync pasteBulkCopiedContent({ commit }, parentContentID) {\n\t\tlet pastedContentSectionLength = 0;\n\n\t\tfor (let i = 0; i < state.copiedBulkContent.length; i++) {\n\t\t\tlet object = {\n\t\t\t\tcontent: state.copiedBulkContent[i],\n\t\t\t\tdestinationContentID: parentContentID\n\t\t\t};\n\n\t\t\tlet destinationParent = await contentService.copyContent(object).then(\n\t\t\t\t(res) => {\n\t\t\t\t\tpastedContentSectionLength++;\n\t\t\t\t\tvar data = res?.payload;\n\t\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\t\t// data = new Directory(data);\n\t\t\t\t\treturn data;\n\t\t\t\t},\n\t\t\t\t(error) => {\n\t\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t);\n\n\t\t\tif (destinationParent) {\n\t\t\t\tvar contentObj = {\n\t\t\t\t\tdata: new Directory(destinationParent).children,\n\t\t\t\t\tparentDirectoryID: destinationParent.id,\n\t\t\t\t};\n\t\t\t\tcommit(\"updateContentChildren\", contentObj);\n\t\t\t\tcommit(\"setLoading\", false);\t\t\t\t\n\t\t\t}\n\t\t}\n\t\t// return destinationParent;\n\n\t\tstate.isContentSectionSelectable = false;\n\t\tstate.selectedBulkCopiedContent = [];\n\t\treturn pastedContentSectionLength;\n\t},\n\tmakeBulkContentSelectionSelectable({ commit }) {\n\t\tstate.isContentSectionSelectable = true;\n\t\tstate.selectedBulkCopiedContent = [];\n\t\tstate.copiedBulkContent = [];\n\t},\n\tmakeBulkContentSelectionUnselectable({ commit }) {\n\t\tstate.isContentSectionSelectable = false;\n\t},\n\tselectBulkContent({ commit }, content) {\n\t\tstate.selectedBulkCopiedContent.push(content);\n\t},\n\tunselectBulkContent({ commit }, content) {\n\t\tlet index = -1;\n\n\t\tfor (let i = 0; i < state.selectedBulkCopiedContent.length; i++) {\n\t\t\tif (state.selectedBulkCopiedContent[i].id == content.id) {\n\t\t\t\tindex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (index > -1) {\n\t\t\tstate.selectedBulkCopiedContent.splice(index, 1);\n\t\t}\n\t},\n\tcopyContent: async ({ commit }, copyContentData) => {\n\t\tcommit(\"setLoading\", true);\n\t\tconst destinationParent = await contentService\n\t\t\t.copyContent(copyContentData)\n\t\t\t.then(\n\t\t\t\t(res) => {\n\t\t\t\t\tconsole.log(\"copied data\", res);\n\t\t\t\t\tvar data = res?.payload;\n\t\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\t\t// data = new Directory(data);\n\t\t\t\t\treturn data;\n\t\t\t\t},\n\t\t\t\t(error) => {\n\t\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t\tconsole.log(error);\n\t\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t);\n\t\tconsole.log({ destinationParent });\n\t\t// commit(\"setContent\", destinationParent);\n\t\tif (destinationParent) {\n\t\t\tvar contentObj = {\n\t\t\t\tdata: new Directory(destinationParent).children,\n\t\t\t\tparentDirectoryID: destinationParent.id,\n\t\t\t};\n\t\t\tcommit(\"updateContentChildren\", contentObj);\n\t\t\tcommit(\"setLoading\", false);\n\t\t}\n\t\treturn destinationParent;\n\t},\n\tgetContentById: async ({ commit }, { id, extraParams = null }) => {\n\t\t// state.loading = true;\n\t\t// console.log(\"content type fetched: \", type);\n\t\tconsole.log(\"getContentById\", id, extraParams);\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService.fetchContentById(id, extraParams).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\t// console.log(data.type.toLowerCase());\n\n\t\t\t\tif (data.type.toLowerCase() === \"directory\") {\n\t\t\t\t\treturn new Directory(data);\n\t\t\t\t} else if (data.type.toLowerCase() === \"recordedvideos\") {\n\t\t\t\t\treturn new RecordedVideo(data);\n\t\t\t\t} else if (data.type.toLowerCase() === \"liveclass\") {\n\t\t\t\t\treturn new LiveClass(data);\n\t\t\t\t} else return data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tvar errorMessage;\n\t\t\t\tvar errorIcon = \"exclamation-triangle\";\n\t\t\t\tif (error.message == \"122\") {\n\t\t\t\t\terrorMessage = \"You are not allowed to access this content!\";\n\t\t\t\t\terrorIcon = \"lock\";\n\t\t\t\t} else if (error.message == \"123\") {\n\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\"Your access is blocked, please contact your administrator/trainer for more information.\";\n\t\t\t\t\terrorIcon = \"lock\";\n\t\t\t\t}\n\t\t\t\tVue.toasted.error(errorMessage, {\n\t\t\t\t\ticon: errorIcon,\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn error.message;\n\t\t\t}\n\t\t);\n\t\tconsole.log(\"content data\", data);\n\t\tif (typeof data == \"object\") {\n\t\t\tcommit(\"setContent\", data);\n\t\t}\n\t\treturn data;\n\t\t// commit(\"setLoading\", false);\n\t},\n\tgetUserContentByProductVariant: async ({ commit }, { productVariantID, dataType = null }) => {\n\t\tconst data = await contentService.getUserContentByProductVariant({\n\t\t\tproductVariantID: productVariantID,\n\t\t\tdataType: dataType\n\t\t}).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\n\t\t\t\tif (data && data.length > 0) {\n\n\t\t\t\t\t data.forEach((val) => {\n\t\t\t\t\t\tif (val.type.toLowerCase() === ContentType.DIRECTORY.toLowerCase()) {\n\t\t\t\t\t\t\tlet tempLevel0 = new Directory(val);\n\n\t\t\t\t\t\t\tlet children = tempLevel0.children.map((val1) => {\n\t\t\t\t\t\t\t\tif (val1.type.toLowerCase() === ContentType.DIRECTORY.toLowerCase()) {\n\n\t\t\t\t\t\t\t\t\tlet filteredItems = val1.children.filter((item) => {\n\t\t\t\t\t\t\t\t\t\tif (item.type !== 'RecordedVideos' || item?.externalService?.serviceProvider?.toLowerCase() != 'vss') {\n\t\t\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\t\t\titem.extraProperties &&\n\t\t\t\t\t\t\t\t\t\t\titem.extraProperties.Status &&\n\t\t\t\t\t\t\t\t\t\t\titem.extraProperties.Status.toLowerCase() === 'processed'\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tval1.children = filteredItems;\n\n\t\t\t\t\t\t\t\t\treturn val1;\n\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\ttempLevel0.children = children\n\n\t\t\t\t\t\t\tstate.content[val.id] = tempLevel0;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tvar errorMessage;\n\t\t\t\tvar errorIcon = \"exclamation-triangle\";\n\t\t\t\tVue.toasted.error(errorMessage, {\n\t\t\t\t\ticon: errorIcon,\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t}\n\t\t);\n\n\n\t\tif (typeof data == \"object\") {\n\t\t\tcommit(\"setContent\", data);\n\t\t}\n\n\t\treturn data;\n\t},\n\tfetchUserContentActionsByID: async ({ commit }, { productVariantID, dataType = null }) => {\n\t\tconst data = await contentService.fetchUserContentActionsByID({\n\t\t\tproductVariantID: productVariantID,\n\t\t\tdataType: dataType\n\t\t}).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tvar errorMessage;\n\t\t\t\tvar errorIcon = \"exclamation-triangle\";\n\t\t\t\tVue.toasted.error(errorMessage, {\n\t\t\t\t\ticon: errorIcon,\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t}\n\t\t);\n\n\t\treturn data;\n\t},\n\tfetchUserAllContentActionsByID: async ({ commit }, { productVariantID }) => {\n\n\t\tconst data = await contentService.fetchUserContentActionsByID({\n\t\t\tproductVariantID: productVariantID,\n\t\t}).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tvar errorMessage;\n\t\t\t\tvar errorIcon = \"exclamation-triangle\";\n\t\t\t\tVue.toasted.error(errorMessage, {\n\t\t\t\t\ticon: errorIcon,\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t}\n\t\t);\n\n\t\tvar contentActions = {};\n\t\tdata.forEach(item => {\n\t\t\tlet list = contentActions[item.content.id] ?? [];\n\t\t\tlist.push(item)\n\n\t\t\tcontentActions[item.content.id] = list;\n\t\t});\n\n\t\tstate.contentActions = contentActions;\n\n\t\treturn data;\n\t},\n\tgetUserContentAction: async ({ commit }, { id = null, contentId = null, dataType = null }) => {\n\t\tconst data = await contentService.getUserContentAction(id, contentId, dataType).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\n\t\t\t\tif(data && data.length>0){\n\t\t\t\t\tdata.forEach((val,ind,arr)=>{\n\t\t\t\t\t\tvar contentID=val.content?.id??val.contentID;\n\t\t\t\t\t\tif(!state.contentActions[contentID])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstate.contentActions[contentID]=[];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar finded = state.contentActions[contentID].find(x=>x.dataType==val.dataType);\n\t\t\t\t\t\tif(finded)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfinded.data=val.data;\n\t\t\t\t\t\t\tvar temp = state.contentActions;\n\t\t\t\t\t\t\tstate.contentActions=null;\n\t\t\t\t\t\t\tstate.contentActions=temp;\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tstate.contentActions[contentID].push(val);\n\t\t\t\t\t\t\tvar temp = state.contentActions;\n\t\t\t\t\t\t\tstate.contentActions=null;\n\t\t\t\t\t\t\tstate.contentActions=temp;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\n\n\n\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tvar errorMessage;\n\t\t\t\tvar errorIcon = \"exclamation-triangle\";\n\t\t\t\tVue.toasted.error(errorMessage, {\n\t\t\t\t\ticon: errorIcon,\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\t//alert(error);\n\t\t\t}\n\t\t);\n\t\treturn data;\n\t},\n\n\tgetContentTrainers: async ({ commit }, id) => {\n\t\tconsole.log(\"getContentById\", id);\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService.fetchContentTrainers(id).then(\n\t\t\t(trainers) => {\n\t\t\t\tvar data = trainers.payload;\n\t\t\t\tcommit(\"setContentTrainers\", { contentId: id, data });\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tvar errorMessage;\n\t\t\t\tif (error == \"122\")\n\t\t\t\t\terrorMessage = \"You are not allowed to access this content!\";\n\t\t\t\tVue.toasted.error(errorMessage, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n\n\tfetchAllContent: async ({ commit }) => {\n\t\tconsole.log(\"fetchAllContent\");\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService.fetchAllContent().then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\tdata = data.map((c) => {\n\t\t\t\t\tif (c.type.toLowerCase() === \"directory\") {\n\t\t\t\t\t\treturn new Directory(c);\n\t\t\t\t\t} else if (c.type.toLowerCase() === \"recordedvideos\") {\n\t\t\t\t\t\treturn new RecordedVideo(c);\n\t\t\t\t\t} else if (c.type.toLowerCase() === \"liveclass\") {\n\t\t\t\t\t\treturn new LiveClass(c);\n\t\t\t\t\t} else return c;\n\t\t\t\t});\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn [];\n\t\t\t}\n\t\t);\n\t\tconsole.log(\"all root content data\", data);\n\t\tif (data) {\n\t\t\tcommit(\"setRootContent\", data);\n\t\t}\n\n\t\tcommit(\"setLoading\", false);\n\t},\n\n\tgetUpcomingContent: async ({ commit }, { startDate, endDate, productVariantID = null }) => {\n\t\tconsole.log(\"getUpcomingContent\", { startDate, endDate, productVariantID });\n\t\tconst data = await contentService\n\t\t\t.fetchUpcomingContent(startDate, endDate, productVariantID)\n\t\t\t.then(\n\t\t\t\t(content) => {\n\t\t\t\t\tvar data = content?.payload;\n\t\t\t\t\t// console.log(data);\n\t\t\t\t\tvar upcoming = [];\n\t\t\t\t\tif (data) {\n\t\t\t\t\t\tupcoming = data.map((item) => {\n\t\t\t\t\t\t\tif (item.type.toLowerCase() === \"directory\") {\n\t\t\t\t\t\t\t\treturn new Directory(item);\n\t\t\t\t\t\t\t} else if (item.type.toLowerCase() === \"recordedvideos\") {\n\t\t\t\t\t\t\t\treturn new RecordedVideo(item);\n\t\t\t\t\t\t\t} else if (item.type.toLowerCase() === \"liveclass\") {\n\t\t\t\t\t\t\t\treturn new LiveClass(item);\n\t\t\t\t\t\t\t} else return item;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn upcoming;\n\t\t\t\t},\n\t\t\t\t(error) => {\n\t\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t\t//alert(error);\n\t\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\t\t\t);\n\t\tconsole.log(\"upcoming content data\", data);\n\t\tif (data) {\n\t\t\tcommit(\"setUpcomingContent\", data);\n\t\t}\n\n\t\tcommit(\"setLoading\", false);\n\t},\n\n\tasync createDirectoryContent({ commit }, content) {\n\t\tcommit(\"setLoading\", true);\n\t\tvar entity;\n\t\tif (content.parentDirectoryID) {\n\t\t\tentity = \"section\";\n\t\t\tvar nextSequence =\n\t\t\t\tstate.content[content.parentDirectoryID].children &&\n\t\t\t\t\tstate.content[content.parentDirectoryID].children.length > 0\n\t\t\t\t\t? state.content[content.parentDirectoryID].children.at(-1).sequence +\n\t\t\t\t\t1\n\t\t\t\t\t: 1;\n\t\t\tconsole.log(nextSequence);\n\t\t\tcontent.sequence = nextSequence;\n\t\t} else entity = \"subject/module\";\n\n\t\t// state.loading = true;\n\t\tconsole.log(\"createDirectory\", content);\n\t\tconst data = await contentService.createDirectoryContent(content).then(\n\t\t\t(product) => {\n\t\t\t\tvar data = product?.payload;\n\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\t// content.id = data;\n\t\t\t\t// data = new Directory(data);\n\t\t\t\tif (content.parentDirectoryID) {\n\t\t\t\t\tvar contentObj = {\n\t\t\t\t\t\t...data,\n\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t\tparentDirectoryID: content.parentDirectoryID,\n\t\t\t\t\t};\n\n\t\t\t\t\tcommit(\"addContentToParentDirectory\", contentObj);\n\t\t\t\t}\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tvar errorMessage;\n\t\t\t\tvar errorIcon = \"exclamation-triangle\";\n\t\t\t\tif (error.message == \"115\") {\n\t\t\t\t\terrorMessage = \"You are not allowed to create a \" + entity;\n\t\t\t\t\t// errorIcon = \"lock\";\n\t\t\t\t} else if (error.message == \"123\") {\n\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\"Your access is blocked, please contact your administrator/trainer for more information.\";\n\t\t\t\t\terrorIcon = \"lock\";\n\t\t\t\t}\n\t\t\t\tVue.toasted.error(errorMessage, {\n\t\t\t\t\ticon: errorIcon,\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tsingleton: true,\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\t//alert(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn \"error-\" + error.message;\n\t\t\t}\n\t\t);\n\t\t// .catch((error) => {\n\t\t// \t// console.error(error);\n\t\t// \tVue.toasted.error(error, {\n\t\t// \t\ticon: \"exclamation-triangle\",\n\t\t// \t\ttheme: \"outline\",\n\t\t// \t\tposition: \"bottom-center\",\n\t\t// \t\tsingleton: true,\n\t\t// \t\tduration: 3000,\n\t\t// \t});\n\t\t// \tcommit(\"setLoading\", false);\n\t\t// });\n\n\t\treturn data;\n\t},\n\n\tasync createLiveClassContent({ commit }, content) {\n\t\tif (content.parentDirectoryID) {\n\t\t\tvar nextSequence =\n\t\t\t\tstate.content[content.parentDirectoryID].children &&\n\t\t\t\t\tstate.content[content.parentDirectoryID].children.length > 0\n\t\t\t\t\t? state.content[content.parentDirectoryID].children.at(-1).sequence +\n\t\t\t\t\t1\n\t\t\t\t\t: 1;\n\t\t\tconsole.log(nextSequence);\n\t\t\tcontent.sequence = nextSequence;\n\t\t}\n\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\t// console.log(\"createLiveClass\", content);\n\t\tconst data = await contentService.createLiveClassContent(content).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\t// data = new Directory(data);\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t);\n\n\t\tif (Array.isArray(data)) {\n\t\t\tvar contentObj = {\n\t\t\t\tdata: data.map((content) => new LiveClass(content)),\n\t\t\t\tparentDirectoryID: content.parentDirectoryID,\n\t\t\t};\n\t\t\tcommit(\"addContentArrayToParentDirectory\", contentObj);\n\t\t} else {\n\t\t\tdata.parentDirectoryID = content.parentDirectoryID;\n\t\t\tcommit(\"addContentToParentDirectory\", new LiveClass(data));\n\t\t}\n\t\tcommit(\"setLoading\", false);\n\t\treturn data;\n\t},\n\n\tasync createFlashCards({ commit }, content) {\n\t\tif (content.parentDirectoryID) {\n\t\t\tvar nextSequence =\n\t\t\t\tstate.content[content.parentDirectoryID].children &&\n\t\t\t\t\tstate.content[content.parentDirectoryID].children.length > 0\n\t\t\t\t\t? state.content[content.parentDirectoryID].children.at(-1).sequence +\n\t\t\t\t\t1\n\t\t\t\t\t: 1;\n\t\t\tconsole.log(nextSequence);\n\t\t\tcontent.sequence = nextSequence;\n\t\t}\n\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService.createFlashCardsContent(content).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t);\n\t},\n\n\n\n\tasync setUserContentAction({ commit }, contentAction) {\n\t\t// state.loading = true;\n\t\t// console.log(\"createLiveClass\", content);\n\t\tconst data = await contentService.setUserContentAction(contentAction).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\t// data = new Directory(data);\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t);\n\t\treturn data;\n\t},\n\n\tasync exportAttendanceReport({ commit }, { contentID, productVariantID }) {\n\n\t\tvar result = undefined;\n\t\tawait contentService.exportAttendanceReport(contentID, productVariantID).then(\n\t\t\t(response) => {\n\t\t\t\tresult = response;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tconsole.log(error);\n\t\t\t\t// handleError(error);\n\t\t\t}\n\t\t);\n\t\tconst contentDisposition = result.headers.get('content-disposition');\n\t\tconst filename = contentDisposition.split('filename=')[1].split(';')[0];\n\t\tconsole.log(filename);\n\n\t\tconst blob = await result.blob();\n\n\t\tconst newBlob = new Blob([blob]);\n\t\tconst blobUrl = window.URL.createObjectURL(newBlob);\n\t\treturn { name: filename, url: blobUrl };\n\t},\n\tasync exportContentAttendanceReport({ commit }, contentID) {\n\n\t\tvar result = undefined;\n\t\tawait contentService.exportContentAttendanceReport(contentID).then(\n\t\t\t(response) => {\n\t\t\t\tresult = response;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tconsole.log(error);\n\t\t\t\t// handleError(error);\n\t\t\t}\n\t\t);\n\t\tconst contentDisposition = result.headers.get('content-disposition');\n\t\tconst filename = contentDisposition.split('filename=')[1].split(';')[0];\n\t\tconsole.log(filename);\n\n\t\tconst blob = await result.blob();\n\n\t\tconst newBlob = new Blob([blob]);\n\t\tconst blobUrl = window.URL.createObjectURL(newBlob);\n\t\treturn { name: filename, url: blobUrl };\n\t},\n\tasync updateContent({ commit }, content) {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\t// console.log(\"createLiveClass\", content);\n\t\tvar updatedContent = await contentService.updateContent(content).then(\n\t\t\t(response) => {\n\t\t\t\tvar data = response?.payload;\n\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\t// data = new Directory(data);\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t\n\t\t\t\tif(typeof(error)==\"object\" && error.message)\n\t\t\t\t{\n\t\t\t\t\terror=error.message;\n\t\t\t\t}\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\tconsole.log(updatedContent);\n\n\t\tswitch (updatedContent.type) {\n\t\t\tcase ContentType.RECORDED_VIDEOS:\n\t\t\t\tupdatedContent = new RecordedVideo(updatedContent);\n\t\t\t\tbreak;\n\t\t\tcase ContentType.LIVE_CLASS:\n\t\t\t\tupdatedContent = new LiveClass(updatedContent);\n\t\t\t\tbreak;\n\t\t\tcase ContentType.STUDY_MATERIAL:\n\t\t\t\tvar tempContent = updatedContent;\n\t\t\t\t// if updated content data is null take our null \n\t\t\t\t// object which we passed while updating\n\t\t\t\tif(updatedContent && !updatedContent.data){\n\t\t\t\t\ttempContent.data = content.data;\n\t\t\t\t}\n\t\t\t\tupdatedContent = new LiveClass(tempContent);\n\t\t\t\tbreak;\n\t\t\tcase ContentType.DIRECTORY:\n\t\t\t\tupdatedContent = new Directory(updatedContent);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (content.parentDirectoryID) {\n\t\t\tcommit(\"updateContentInParent\", {\n\t\t\t\tcontent: updatedContent,\n\t\t\t\tparentDirectoryID: content.parentDirectoryID,\n\t\t\t});\n\t\t} else {\n\t\t\tcommit(\"setContent\", updatedContent);\n\t\t\tupdatedContent.productVariantID = content.productVariantID;\n\t\t\tstore.commit(\n\t\t\t\t\"productVariant/updateContentInProductVariantDetails\",\n\t\t\t\tupdatedContent\n\t\t\t);\n\t\t}\n\t\tcommit(\"setLoading\", false);\n\t\treturn updatedContent;\n\t},\n\n\tasync createRecordedVideosContent({ commit }, content) {\n\t\tif (content.parentDirectoryID) {\n\t\t\tvar nextSequence =\n\t\t\t\tstate.content[content.parentDirectoryID].children &&\n\t\t\t\t\tstate.content[content.parentDirectoryID].children.length > 0\n\t\t\t\t\t? state.content[content.parentDirectoryID].children.at(-1).sequence +\n\t\t\t\t\t1\n\t\t\t\t\t: 1;\n\t\t\tconsole.log(nextSequence);\n\t\t\tcontent.sequence = nextSequence;\n\t\t}\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconsole.log(\"createRecordedVideosContent\", content);\n\t\tconst data = await contentService.createRecordedVideosContent(content).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\t// data = new Directory(data);\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\tdata.parentDirectoryID = content.parentDirectoryID;\n\t\t// console.log(data);\n\n\t\tcommit(\"addContentToParentDirectory\", new RecordedVideo(data));\n\t\tcommit(\"setLoading\", false);\n\t\treturn data;\n\t},\n\n\tasync createStudyMaterialContent({ commit }, content) {\n\t\tif (content.parentDirectoryID) {\n\t\t\tvar nextSequence =\n\t\t\t\tstate.content[content.parentDirectoryID].children &&\n\t\t\t\t\tstate.content[content.parentDirectoryID].children.length > 0\n\t\t\t\t\t? state.content[content.parentDirectoryID].children.at(-1).sequence +\n\t\t\t\t\t1\n\t\t\t\t\t: 1;\n\t\t\tconsole.log(nextSequence);\n\t\t\tcontent.sequence = nextSequence;\n\t\t}\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconsole.log(\"createStudyMaterialContent\", content);\n\t\tconst data = await contentService.createStudyMaterialContent(content).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\t// data = new Directory(data);\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\n\t\t// console.log(\"id: \", id);\n\t\t// commit(\"addProductToCategory\", { data, id: id });\n\n\t\t// commit(\"addContentArrayToParentDirectory\", {\n\t\t// \tdata: data,\n\t\t// \tparentDirectoryID: content.parentDirectoryID,\n\t\t// });\n\t\tdata.parentDirectoryID = content.parentDirectoryID;\n\n\t\tcommit(\"addContentToParentDirectory\", data);\n\t\tcommit(\"setLoading\", false);\n\t\t// Vue.set(state.content, content.parentDirectoryID, data);\n\t\treturn data;\n\t},\n\tasync createAssignmentContent({ commit }, content) {\n\t\tif (content.parentDirectoryID) {\n\t\t\tvar nextSequence =\n\t\t\t\tstate.content[content.parentDirectoryID].children &&\n\t\t\t\tstate.content[content.parentDirectoryID].children.length > 0\n\t\t\t\t\t? state.content[content.parentDirectoryID].children.at(-1).sequence +\n\t\t\t\t\t  1\n\t\t\t\t\t: 1;\n\t\t\tcontent.sequence = nextSequence;\n\t\t}\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconst data = await contentService.createAssignmentContent(content).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\t// data = new Directory(data);\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\n\t\t\n\t\tdata.parentDirectoryID = content.parentDirectoryID;\n\n\t\tcommit(\"addContentToParentDirectory\", data);\n\t\tcommit(\"setLoading\", false);\n\t\treturn data;\n\t},\n\n\tasync uploadContentFile({ commit }, content) {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconsole.log(\"uploadContentFile\", ...content);\n\t\tconst data = await contentService.uploadContentFile(content).then(\n\t\t\t(res) => {\n\t\t\t\tvar data = res?.payload;\n\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\t// data = new Directory(data);\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\t// console.log(\"id: \", id);\n\t\t// commit(\"addProductToCategory\", { data, id: id });\n\t\tcommit(\"setLoading\", false);\n\t\treturn data;\n\t},\n\n\tasync assignTrainersToContent({ commit }, content) {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconsole.log(\"assignTrainersToContent\", content);\n\t\tconst data = await contentService.assignTrainersToContent(content).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\tconsole.log(\"response\", content);\n\t\t\t\t// data = new Directory(data);\n\t\t\t\treturn content;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\t// console.log(\"id: \", id);\n\t\t// commit(\"addTrainerToContent\", data);\n\t\tcommit(\"setLoading\", false);\n\t\treturn data;\n\t},\n\n\tasync unassignTrainersToContent({ commit }, content) {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconsole.log(\"unassignTrainersToContent\", content);\n\t\tconst data = await contentService.unassignTrainersToContent(content).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\tconsole.log(\"response\", content);\n\t\t\t\t// data = new Directory(data);\n\t\t\t\treturn content;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\t// console.log(\"id: \", id);\n\t\t// commit(\"addTrainerToContent\", data);\n\t\tcommit(\"setLoading\", false);\n\t\treturn data;\n\t},\n\n\tasync deleteContent({ commit }, content) {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconsole.log(\"deleteContent\", content);\n\t\tawait contentService\n\t\t\t.deleteContent(content.id)\n\t\t\t.then(() => {\n\t\t\t\tcommit(\"deleteContent\", content);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t// if (content.productVariantID)\n\t\t\t\tVue.toasted.success(content.entity + \" deleted successfully\", {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\t// console.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn error;\n\t\t\t});\n\t},\n\n\tasync deleteProductVariantItem({ commit }, content) {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconsole.log(\"deleteContent\", content);\n\t\tawait contentService\n\t\t\t.deleteProductVariantItem(content)\n\t\t\t.then(() => {\n\t\t\t\tcontent.items[0].productVariantID = content.productVariantID;\n\t\t\t\tcommit(\"deleteContent\", content.items[0]);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t// if (content.productVariantID)\n\t\t\t\tVue.toasted.success(\"Subject deleted successfully\", {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\t// console.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn error;\n\t\t\t});\n\t},\n\n\tasync editContentSequence({ commit }, { content, id }) {\n\t\tcommit(\"setLoading\", true);\n\t\tawait contentService.editContentSequence({ content, id }).then(\n\t\t\tasync (res) => {\n\t\t\t\tVue.toasted.success(\"Sequence updated successfully!\", {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tif(content.parentContentID) {\n\t\t\t\t\tawait contentService.fetchContentById(content.parentContentID, contentService.getCurrentPlatform()).then((x) => {\n\t\t\t\t\t\tif(x && x.payload && x.payload.data && x.payload.data.children) {\n\t\t\t\t\t\t\tstate.content[content.parentContentID].children = [];\n\t\t\t\t\t\t\tstate.content[content.parentContentID].children = x.payload.data.children;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\tcommit(\"setLoading\", false);\n\t},\n\n\tasync editProductVariantItemsSequence({ commit }, { content, productVariantItemID }) {\n\t\tcommit(\"setLoading\", true);\n\t\tawait contentService.editProductVariantItemsSequence({ content, productVariantItemID }).then(\n\t\t\t(res) => {\n\t\t\t\tVue.toasted.success(\"Sequence updated successfully!\", {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\tcommit(\"setLoading\", false);\n\t},\n\tgetLiveClassContentAttendance: async ({ commit }, {\n\t\tproductVariantID,\n\t\tcurrentPage = 1,\n\t\tpageSize = 10000\n\t}) => {\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService.getLiveClassContentAttendance({\n\t\t\tproductVariantID: productVariantID,\n\t\t\tcurrentPage: currentPage,\n\t\t\tpageSize: pageSize,\n\t\t}).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn [];\n\t\t\t}\n\t\t);\n\t\tif (data) {\n\t\t\tcommit(\"setLoading\", false);\n\t\t\treturn data;\n\t\t}\n\t},\n\tfetchContentAttendance: async ({ commit },  {contentID,userID,productVariantID}) => {\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService.fetchContentAttendance(contentID,userID,productVariantID).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn [];\n\t\t\t}\n\t\t);\n\t\tif (data) {\n\t\t\tcommit(\"setLoading\", false);\n\t\t\treturn data;\n\t\t}\n\t},\n\tfetchContentAttendanceDetail: async ({ commit }, { contentID, userID }) => {\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService.fetchContentAttendanceDetail(contentID, userID).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn [];\n\t\t\t}\n\t\t);\n\t\tif (data) {\n\t\t\tcommit(\"setLoading\", false);\n\t\t\treturn data;\n\t\t}\n\t},\n\n\tgetQuizResultByProductVariantId: async ({ commit }, id) => {\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService.getQuizResultByProductVariantId(id)\n\t\t.then((content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn [];\n\t\t\t}\n\t\t);\n\t\tif (data) {\n\t\t\tcommit(\"setLoading\", false);\n\t\t\treturn data;\n\t\t}\n\t},\n\n\tfetchSingleLiveClassAttendance: async ({ commit }, {contentId, userId = null}) => {\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService.fetchLiveClassAttendance(contentId, {userId: userId})\n\t\t.then((content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn [];\n\t\t\t}\n\t\t);\n\t\tif (data) {\n\t\t\tcommit(\"setLoading\", false);\n\t\t\treturn data;\n\t\t}\n\t},\n\n\tfetchLiveClassAttendance: async ({ commit }, id) => {\n\t\tconsole.log(\"fetchLiveClassAttendance\");\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService.fetchLiveClassAttendance(id, {userId: null}).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn [];\n\t\t\t}\n\t\t);\n\t\tif (data) {\n\t\t\tcommit(\"setLoading\", false);\n\t\t\treturn data;\n\t\t}\n\t},\n\n\tmarkLiveClassAttendance: async ({ commit }, attendanceData) => {\n\t\tconsole.log(\"markLiveClassAttendance\", attendanceData);\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService\n\t\t\t.markLiveClassAttendance(attendanceData)\n\t\t\t.then(\n\t\t\t\t(content) => {\n\t\t\t\t\tvar data = content?.payload;\n\t\t\t\t\treturn data;\n\t\t\t\t},\n\t\t\t\t(error) => {\n\t\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\t\t\t);\n\t\tif (data) {\n\t\t\tcommit(\"setLoading\", false);\n\t\t\treturn data;\n\t\t}\n\t},\n\tupdateAction({ commit }, data) {\n\t\tlet contentId = data.contentID;\n\t\tdebugger;\n\t\tif (state.contentActions && state.contentActions[contentId]) {\n\t\t\tvar obj = state.contentActions[contentId].find(x => x.dataType == data.dataType);\n\t\t\tif (obj) {\n\t\t\t\tobj.data = data.data;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tstate.contentActions[contentId].push(data);\n\t\t\t}\n\t\t\tvar temp = state.contentActions;\n\t\t\tstate.contentActions = {};\n\t\t\tstate.contentActions = temp;\n\t\t} else {\n\t\t\tstate.contentActions[contentId] = [data];\n\t\t\tvar temp = state.contentActions;\n\t\t\tstate.contentActions = {};\n\t\t\tstate.contentActions = temp;\n\t\t}\n\n\t},\n\tmarkAllLiveClassAttendance: async ({ commit }, attendanceData) => {\n\t\tconsole.log(\"markAllLiveClassAttendance\", attendanceData);\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService\n\t\t\t.markAllLiveClassAttendance(attendanceData)\n\t\t\t.then(\n\t\t\t\t(content) => {\n\t\t\t\t\tvar data = content?.payload;\n\t\t\t\t\treturn data;\n\t\t\t\t},\n\t\t\t\t(error) => {\n\t\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\t\t\t);\n\t\tif (data) {\n\t\t\tcommit(\"setLoading\", false);\n\t\t\treturn data;\n\t\t}\n\t},\n\n\tasync createAssignmentContent({ commit }, content) {\n\t\tif (content.parentDirectoryID) {\n\t\t\tvar nextSequence =\n\t\t\t\tstate.content[content.parentDirectoryID].children &&\n\t\t\t\tstate.content[content.parentDirectoryID].children.length > 0\n\t\t\t\t\t? state.content[content.parentDirectoryID].children.at(-1).sequence +\n\t\t\t\t\t  1\n\t\t\t\t\t: 1;\n\t\t\tcontent.sequence = nextSequence;\n\t\t}\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService.createAssignmentContent(content).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\n\t\t\n\t\tdata.parentDirectoryID = content.parentDirectoryID;\n\n\t\tcommit(\"addContentToParentDirectory\", data);\n\t\tcommit(\"setLoading\", false);\n\t\treturn data;\n\t},\n\n\tasync createYoutubeContent({ commit }, content) {\n\t\tif (content.parentDirectoryID) {\n\t\t\tvar nextSequence =\n\t\t\t\tstate.content[content.parentDirectoryID].children &&\n\t\t\t\tstate.content[content.parentDirectoryID].children.length > 0\n\t\t\t\t\t? state.content[content.parentDirectoryID].children.at(-1).sequence +\n\t\t\t\t\t  1\n\t\t\t\t\t: 1;\n\t\t\tcontent.sequence = nextSequence;\n\t\t}\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService.createYoutubeContent(content).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\n\t\t\n\t\tdata.parentDirectoryID = content.parentDirectoryID;\n\n\t\tcommit(\"addContentToParentDirectory\", data);\n\t\tcommit(\"setLoading\", false);\n\t\treturn data;\n\t},\n\t\n\tasync createFreeTextContent({ commit }, content) {\n\t\tif (content.parentDirectoryID) {\n\t\t\tvar nextSequence =\n\t\t\t\tstate.content[content.parentDirectoryID].children &&\n\t\t\t\tstate.content[content.parentDirectoryID].children.length > 0\n\t\t\t\t\t? state.content[content.parentDirectoryID].children.at(-1).sequence +\n\t\t\t\t\t  1\n\t\t\t\t\t: 1;\n\t\t\tcontent.sequence = nextSequence;\n\t\t}\n\t\tcommit(\"setLoading\", true);\n\t\tconst data = await contentService.createFreeTextContent(content).then(\n\t\t\t(content) => {\n\t\t\t\tvar data = content?.payload;\n\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\n\t\t\t\tif(typeof(error)==\"object\" && error.message)\n\t\t\t\t{\n\t\t\t\t\terror=error.message;\n\t\t\t\t}\n\n\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tconsole.log(error);\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\n\t\t\n\t\tdata.parentDirectoryID = content.parentDirectoryID;\n\n\t\tcommit(\"addContentToParentDirectory\", data);\n\t\tcommit(\"setLoading\", false);\n\t\treturn data;\n\t},\n};\n\nconst mutations = {\n\n\t// updateFilteredContent(state, data){\n\t// \tstate.filters = data.filters ?? {};\n\n\t// \tif(!state.filters || Object.keys(state.filters).length === 0){\n\t// \t\tstate.filteredContent = state.content;\n\t// \t}\n\n\t// \telse{\n\n\t// \t\tfor (let item of list) {\n\t// \t\t\tlet actionList = this.contentActions[item.id] ?? [];\n\n\t// \t\t\tfor (let action of actionList) {\n\t// \t\t\t\tif (action.dataType && action.dataType === 'bookmark') {\n\t// \t\t\t\t\tif (action.data === 'true' && this.isFilterSelected('bookmark', 'bookmark_content')) {\n\t// \t\t\t\t\t\tfilteredList.push(item);\n\t// \t\t\t\t\t\tbreak;\n\t// \t\t\t\t\t}\n\t// \t\t\t\t}\n\t// \t\t\t\tif (action.dataType && action.dataType == 'confidence_level') {\n\t// \t\t\t\t\tif (action.data.toLowerCase() === 'high' && this.isFilterSelected('high', 'confidence_level')) {\n\t// \t\t\t\t\t\tfilteredList.push(item);\n\t// \t\t\t\t\t\tbreak;\n\t// \t\t\t\t\t}\n\t// \t\t\t\t\tif (action.data.toLowerCase() === 'medium' && this.isFilterSelected('medium', 'confidence_level')) {\n\t// \t\t\t\t\t\tfilteredList.push(item);\n\t// \t\t\t\t\t\tbreak;\n\t// \t\t\t\t\t}\n\t// \t\t\t\t\tif (action.data.toLowerCase() === 'low' && this.isFilterSelected('low', 'confidence_level')) {\n\t// \t\t\t\t\t\tfilteredList.push(item);\n\t// \t\t\t\t\t\tbreak;\n\t// \t\t\t\t\t}\n\t// \t\t\t\t}\n\n\t// \t\t\t\tif (action.dataType && action.dataType == 'completionStatus') {\n\t// \t\t\t\t\tif (action.data.toLowerCase() === 'completed' && this.isFilterSelected('completed', 'completionStatus')) {\n\t// \t\t\t\t\t\tfilteredList.push(item);\n\t// \t\t\t\t\t\tbreak;\n\t// \t\t\t\t\t}\n\t// \t\t\t\t\tif (action.data.toLowerCase() === 'uncompleted' && this.isFilterSelected('uncompleted', 'completionStatus')) {\n\t// \t\t\t\t\t\tfilteredList.push(item);\n\t// \t\t\t\t\t\tbreak;\n\t// \t\t\t\t\t}\n\t// \t\t\t\t\tif (action.data.toLowerCase() === 'in_progress' && this.isFilterSelected('in_progress', 'completionStatus')) {\n\t// \t\t\t\t\t\tfilteredList.push(item);\n\t// \t\t\t\t\t\tbreak;\n\t// \t\t\t\t\t}\n\t// \t\t\t\t\tif (action.data.toLowerCase() === 'not_started' && this.isFilterSelected('not_started', 'completionStatus')) {\n\t// \t\t\t\t\t\tfilteredList.push(item);\n\t// \t\t\t\t\t\tbreak;\n\t// \t\t\t\t\t}\n\t// \t\t\t\t}\n\t// \t\t\t}\n\t// \t\t}\n\n\t// \t}\n\t// },\n\tsetContent(state, data) {\n\t\tconsole.log(\"setContent\", data);\n\t\tif (state.content[data.id]) data.children = state.content[data.id].children;\n\t\tstate.content = { ...state.content, [data.id]: data };\n\t\t// Vue.set(state.content, data.id, data);\n\t\t// state.content[data.id] = data;\n\t\tstate.loading = false;\n\t},\n\tsetRootContent(state, data) {\n\t\tstate.allRootContent = data;\n\t\tstate.loading = false;\n\t},\n\tsetUpcomingContent(state, data) {\n\t\t// console.log(data);\n\t\tstate.upcomingContent = data;\n\t\tstate.loading = false;\n\t},\n\taddTrainerToContent(state, data) {\n\t\tstate.content[data.id].trainers = data.trainers;\n\t\tstate.loading = false;\n\t},\n\taddContentToParentDirectory(state, data) {\n\t\tconsole.log(\"addContentToParentDirectory\", data);\n\t\tif (state.content[data.parentDirectoryID]) {\n\t\t\tvar tempContentObj = state.content[data.parentDirectoryID];\n\n\t\t\tif (tempContentObj.children) {\n\t\t\t\tvar found = tempContentObj.children.find(\n\t\t\t\t\t(child) => child.id === data.id\n\t\t\t\t);\n\t\t\t\tif (!found) {\n\t\t\t\t\ttempContentObj.children.push(data);\n\t\t\t\t} else {\n\t\t\t\t\ttempContentObj.children = [\n\t\t\t\t\t\t...tempContentObj.children.map((child) => {\n\t\t\t\t\t\t\tif (child.id === data.id) {\n\t\t\t\t\t\t\t\tconsole.log({ child, data });\n\t\t\t\t\t\t\t\treturn data;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn child;\n\t\t\t\t\t\t}),\n\t\t\t\t\t];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttempContentObj.children = [data];\n\t\t\t}\n\n\t\t\tconsole.log(state.content);\n\t\t\tconsole.log(\n\t\t\t\t\"parent id\",\n\t\t\t\tdata.parentDirectoryID,\n\t\t\t\ttypeof data.parentDirectoryID\n\t\t\t);\n\t\t\tstate.content = {\n\t\t\t\t...state.content,\n\t\t\t\t[data.parentDirectoryID]: { ...tempContentObj },\n\t\t\t};\n\t\t\tstate.loading = false;\n\t\t}\n\t},\n\tremoveContentFromParentDirectory(state, data) {\n\t\tvar parent = state.content[data.parentDirectoryID];\n\t\tvar childrenWithChildRemoved = parent.children.filter(\n\t\t\t(child) => child.id != data.id\n\t\t);\n\t\tparent.children = childrenWithChildRemoved;\n\t\tstate.content = { ...state.content, [data.parentDirectoryID]: parent };\n\t},\n\taddContentArrayToParentDirectory(state, contentData) {\n\n\t\tconsole.log(\"addContentArrayToParentDirectory\", contentData.data);\n\t\tif (state.content[contentData.parentDirectoryID]) {\n\t\t\tvar tempContentObj = state.content[contentData.parentDirectoryID];\n\n\t\t\tif (tempContentObj.children) {\n\t\t\t\ttempContentObj.children = [\n\t\t\t\t\t...tempContentObj.children,\n\t\t\t\t\t...contentData.data,\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\ttempContentObj.children = contentData.data;\n\t\t\t}\n\t\t\tstate.content = {\n\t\t\t\t...state.content,\n\t\t\t\t[contentData.parentDirectoryID]: { ...tempContentObj },\n\t\t\t};\n\t\t}\n\t},\n\tupdateContentChildren(state, contentData) {\n\t\tif (state.content[contentData.parentDirectoryID]) {\n\t\t\tvar tempContentObj = state.content[contentData.parentDirectoryID];\n\n\n\t\t\ttempContentObj.children = contentData.data;\n\n\t\t\tstate.content = {\n\t\t\t\t...state.content,\n\t\t\t\t[contentData.parentDirectoryID]: { ...tempContentObj },\n\t\t\t};\n\t\t}\n\t},\n\tupdateContentInParent(state, { content, parentDirectoryID }) {\n\t\t// console.log(\"updateContentInParent\", parentDirectoryID, content);\n\t\tif (state.content[parentDirectoryID]) {\n\t\t\tvar tempObj = state.content[parentDirectoryID];\n\t\t\ttempObj.children = tempObj.children.map((child) => {\n\t\t\t\tconsole.log(\"checking parent children\", child);\n\t\t\t\tif (child.id == content.id) {\n\t\t\t\t\tconsole.log(\"replacing content in parent\", content);\n\t\t\t\t\treturn content;\n\t\t\t\t}\n\t\t\t\treturn child;\n\t\t\t});\n\t\t\tconsole.log(state.content);\n\t\t\tstate.content = {\n\t\t\t\t...state.content,\n\t\t\t\t[parentDirectoryID]: { ...tempObj },\n\t\t\t};\n\t\t}\n\t},\n\tsetContentTrainers(state, { contentId, data }) {\n\t\tstate.trainersByContentId = {\n\t\t\t...state.trainersByContentId,\n\t\t\t[contentId]: data,\n\t\t};\n\t},\n\tsetLoading(state, data) {\n\t\tif (data) {\n\t\t\tconsole.log(\"content loading...\");\n\t\t} else {\n\t\t\tconsole.log(\"content loading complete!\");\n\t\t}\n\t\tstate.loading = data;\n\t},\n\tclearContent(state) {\n\t\tconsole.log(\"clearing content\");\n\t\tstate.content = {};\n\t\tstate.upcomingContent = [];\n\t\tstate.allRootContent = [];\n\t},\n\tdeleteContent(state, data) {\n\t\tdelete state.content[data.id];\n\t\tif (data.productVariantID) {\n\t\t\tstore.commit(\n\t\t\t\t\"productVariant/removeContentFromProductVariantDetails\",\n\t\t\t\tdata\n\t\t\t);\n\t\t} else if (data.parentDirectoryID) {\n\t\t\tstore.commit(\"content/removeContentFromParentDirectory\", data);\n\t\t}\n\t},\n\tsetUploading(state, status) {\n\t\tstate.uploadingContent = status;\n\t},\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations,\n};\n","import {\n\tsampleQuestions,\n\tsampleQuestionCategories,\n\tsampleQuestionCategoriesByParent,\n\tsampleQuestionTypes,\n} from \"../constants/question\";\n\nimport store from \".\";\n\nimport { examService } from \"../services/exam.service\";\n\nimport { sampleExamThemes } from \"../constants/exam\";\n\nconst state = {\n\tquestionCategories: {},\n\tquestionCategoriesByParent: sampleQuestionCategoriesByParent,\n\tallQuestions: [],\n\ttotalPages: {},\n\tquestionTypes: sampleQuestionTypes,\n\texamThemes: [],\n\n\tloading: false,\n\t// examCategories: [\n\t// \t{\n\t// \t\tcategoryID: 0,\n\t// \t\tparentCategoryID: 1,\n\t// \t\tsourceID: \"cat1\",\n\t// \t\tcategoryName: \"Uncategorized Exams\",\n\t// \t\tcategoryType: \"Exam\",\n\t// \t},\n\t// ],\n};\n\nconst getters = {};\n\nconst actions = {\n\tasync fetchQuestions(\n\t\t{ commit },\n\t\t{ productVariantID, categoryID, pageSize, currentPage }\n\t) {\n\t\tcommit(\"setLoading\", true);\n\t\tvar response = await examService\n\t\t\t.fetchQuestions({\n\t\t\t\tproductVariantID,\n\t\t\t\tcategoryID,\n\t\t\t\tpageSize: pageSize ?? 10,\n\t\t\t\tcurrentPage: currentPage ?? 1,\n\t\t\t})\n\t\t\t.then((res) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\tcommit(\"setQuestions\", {\n\t\t\t\t\tquestions: res?.Payload,\n\t\t\t\t\ttotalPages: res?.TotalPages,\n\t\t\t\t\tproductVariantID,\n\t\t\t\t\tcategoryID,\n\t\t\t\t});\n\t\t\t\t// state.allQuestions = res.payload;\n\t\t\t\treturn res?.Payload;\n\t\t\t});\n\t\treturn response;\n\t},\n\n\tasync fetchQuestionCategories({ commit }, { productVariantID, categoryID }) {\n\t\tconsole.log(\"fetchQuestionCategories\", { productVariantID, categoryID });\n\t\tcommit(\"setLoading\", true);\n\t\tvar response = await examService\n\t\t\t.fetchQuestionCategories({ productVariantID, categoryID })\n\t\t\t.then((res) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\tcommit(\"addQuestionCategory\", {\n\t\t\t\t\tproductVariantID,\n\t\t\t\t\tcategoryID,\n\t\t\t\t\tcategory: res?.payload,\n\t\t\t\t});\n\t\t\t\t// state.allQuestions = res.payload;\n\t\t\t\treturn res?.payload;\n\t\t\t});\n\t\treturn response;\n\t},\n\n\tasync getExamResultByProductVariant({ commit }, { productVariantID }) {\n\t\tcommit(\"setLoading\", true);\n\t\t\n\t\t var response  = await examService.getExamResultByProductVariant({productVariantID})\n\t\t\t.then((res) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t\n\t\t\t\treturn res?.payload;\n\t\t\t});\n\n\t\t\treturn response;\n\t},\n\n\tasync getExamContentResult({ commit }, { examID, contentID }) {\n\t\tcommit(\"setLoading\", true);\n\t\t\n\t\tvar response  = await examService.getExamContentResult({ examID, contentID })\n\t\t\t.then((res) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn res?.payload;\n\t\t\t});\n\n\t\t\treturn response;\n\t},\n\n\tasync createQuestion({ commit }, productVariantID) {\n\t\tcommit(\"setLoading\", true);\n\t\tvar response = await examService\n\t\t\t.createQuestion(productVariantID)\n\t\t\t.then((res) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn res?.payload;\n\t\t\t});\n\t\treturn response;\n\t},\n\n\tasync deleteQuestion({ commit }, questionID) {\n\t\tcommit(\"setLoading\", true);\n\t\tvar response = await examService.deleteQuestion(questionID).then((res) => {\n\t\t\tcommit(\"setLoading\", false);\n\t\t\tcommit(\"removeQuestion\", questionID);\n\t\t\treturn true;\n\t\t});\n\t\treturn response;\n\t},\n\n\tasync createExam({ commit }, examObject) {\n\t\tconsole.log(examObject.parentDirectoryID, store.state);\n\t\tif (examObject.parentDirectoryID) {\n\t\t\tvar nextSequence =\n\t\t\t\tstore.state.content.content[examObject.parentDirectoryID].children &&\n\t\t\t\tstore.state.content.content[examObject.parentDirectoryID].children\n\t\t\t\t\t.length > 0\n\t\t\t\t\t? store.state.content.content[\n\t\t\t\t\t\t\texamObject.parentDirectoryID\n\t\t\t\t\t  ].children.at(-1).sequence + 1\n\t\t\t\t\t: 1;\n\t\t\tconsole.log(nextSequence);\n\t\t\texamObject.sequence = nextSequence;\n\t\t}\n\n\t\tcommit(\"setLoading\", true);\n\t\tvar response = await examService.createExam(examObject).then((res) => {\n\t\t\tcommit(\"setLoading\", false);\n\t\t\treturn res?.payload;\n\t\t});\n\t\tif (Array.isArray(response)) {\n\t\t\tvar contentObj = {\n\t\t\t\tdata: response,\n\t\t\t\tparentDirectoryID: examObject.parentDirectoryID,\n\t\t\t};\n\t\t\tcommit(\"content/addContentArrayToParentDirectory\", contentObj, {\n\t\t\t\troot: true,\n\t\t\t});\n\t\t} else {\n\t\t\tresponse.parentDirectoryID = examObject.parentDirectoryID;\n\t\t\tcommit(\"content/addContentToParentDirectory\", response, { root: true });\n\t\t}\n\t\tcommit(\"setLoading\", false);\n\t\t// return data;\n\t\treturn response;\n\t},\n\tasync createLegacyExam({ commit }, examObject) {\n\t\tconsole.log(examObject.parentDirectoryID, store.state);\n\t\tif (examObject.parentDirectoryID) {\n\t\t\tvar nextSequence =\n\t\t\t\tstore.state.content.content[examObject.parentDirectoryID].children &&\n\t\t\t\tstore.state.content.content[examObject.parentDirectoryID].children\n\t\t\t\t\t.length > 0\n\t\t\t\t\t? store.state.content.content[\n\t\t\t\t\t\t\texamObject.parentDirectoryID\n\t\t\t\t\t  ].children.at(-1).sequence + 1\n\t\t\t\t\t: 1;\n\t\t\tconsole.log(nextSequence);\n\t\t\texamObject.sequence = nextSequence;\n\t\t}\n\n\t\tcommit(\"setLoading\", true);\n\t\tvar response = await examService\n\t\t\t.createLegacyExam(examObject)\n\t\t\t.then((res) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn res?.payload;\n\t\t\t});\n\t\tif (Array.isArray(response)) {\n\t\t\tvar contentObj = {\n\t\t\t\tdata: response,\n\t\t\t\tparentDirectoryID: examObject.parentDirectoryID,\n\t\t\t};\n\t\t\tcommit(\"content/addContentArrayToParentDirectory\", contentObj, {\n\t\t\t\troot: true,\n\t\t\t});\n\t\t} else {\n\t\t\tresponse.parentDirectoryID = examObject.parentDirectoryID;\n\t\t\tcommit(\"content/addContentToParentDirectory\", response, { root: true });\n\t\t}\n\t\tcommit(\"setLoading\", false);\n\t\t// return data;\n\t\treturn response;\n\t},\n\tasync createQuiz({ commit }, obj) {\n\t\tconsole.log(obj.parentDirectoryID, store.state);\n\t\tif (obj.parentDirectoryID) {\n\t\t\tvar nextSequence =\n\t\t\t\tstore.state.content.content[obj.parentDirectoryID].children &&\n\t\t\t\tstore.state.content.content[obj.parentDirectoryID].children\n\t\t\t\t\t.length > 0\n\t\t\t\t\t? store.state.content.content[\n\t\t\t\t\t\tobj.parentDirectoryID\n\t\t\t\t\t  ].children.at(-1).sequence + 1\n\t\t\t\t\t: 1;\n\t\t\tconsole.log(nextSequence);\n\t\t\tobj.sequence = nextSequence;\n\t\t}\n\n\t\tcommit(\"setLoading\", true);\n\t\tvar response = await examService\n\t\t\t.createQuiz(obj)\n\t\t\t.then((res) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn res?.payload;\n\t\t\t}).finally(() => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t});\n\t\tif (Array.isArray(response)) {\n\t\t\tvar contentObj = {\n\t\t\t\tdata: response,\n\t\t\t\tparentDirectoryID: obj.parentDirectoryID,\n\t\t\t};\n\t\t\tcommit(\"content/addContentArrayToParentDirectory\", contentObj, {\n\t\t\t\troot: true,\n\t\t\t});\n\t\t} else {\n\t\t\tresponse.parentDirectoryID = obj.parentDirectoryID;\n\t\t\tcommit(\"content/addContentToParentDirectory\", response, { root: true });\n\t\t}\n\t\tcommit(\"setLoading\", false);\n\t\t// return data;\n\t\treturn response;\n\t},\n\n\tasync updateExam({ commit }, examObject) {\n\t\tcommit(\"setLoading\", true);\n\t\tvar response = await examService.updateExam(examObject).then((res) => {\n\t\t\tcommit(\"setLoading\", false);\n\t\t\treturn res?.payload;\n\t\t});\n\t\treturn response;\n\t},\n\n\tasync createQuestionCategory({ commit }, categoryObject) {\n\t\tcommit(\"setLoading\", true);\n\t\tvar response = await examService\n\t\t\t.createQuestionCategory(categoryObject)\n\t\t\t.then((res) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\t// commit(\"addQuestionCategory\", res?.payload);\n\t\t\t\treturn res?.payload;\n\t\t\t});\n\t\treturn response;\n\t},\n\n\tasync updateQuestionCategory(\n\t\t{ commit },\n\t\t{ createCategoryObject, productVariantID }\n\t) {\n\t\tcommit(\"setLoading\", true);\n\t\tvar response = await examService\n\t\t\t.updateQuestionCategory(createCategoryObject)\n\t\t\t.then((res) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\tcommit(\"addQuestionCategory\", {\n\t\t\t\t\tproductVariantID,\n\t\t\t\t\tcategoryID: res.payload.id,\n\t\t\t\t\tcategory: res?.payload,\n\t\t\t\t});\n\t\t\t\treturn res?.payload;\n\t\t\t});\n\t\treturn response;\n\t},\n\n\tasync deleteQuestionCategory({ commit }, categoryID) {\n\t\tcommit(\"setLoading\", true);\n\t\tvar response = await examService\n\t\t\t.deleteQuestionCategory(categoryID)\n\t\t\t.then((res) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn true;\n\t\t\t});\n\t\treturn response;\n\t},\n\n\tasync fetchExamThemes({ commit }, themeID) {\n\t\tcommit(\"setLoading\", true);\n\t\tvar response = await examService.fetchExamThemes(themeID).then((res) => {\n\t\t\tcommit(\"setLoading\", false);\n\t\t\tcommit(\"setExamThemes\", res?.payload);\n\t\t\treturn res?.payload;\n\t\t});\n\t\treturn response;\n\t},\n};\n\nconst mutations = {\n\tsetLoading(state, data) {\n\t\tif (data) {\n\t\t\tconsole.log(\"exam loading...\");\n\t\t} else {\n\t\t\tconsole.log(\"exam loading complete!\");\n\t\t}\n\t\tstate.loading = data;\n\t},\n\tsetQuestions(state, data) {\n\t\tconsole.log(data, \"in mutation\");\n\t\tdata.questions.forEach((q) => {\n\t\t\tvar found = state.allQuestions.find((question) => {\n\t\t\t\tif (question.ID == q.ID) {\n\t\t\t\t\treturn question;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (!found) {\n\t\t\t\tstate.allQuestions = [...state.allQuestions, q];\n\t\t\t}\n\t\t});\n\t\tif (data.categoryID) state.totalPages[data.categoryID] = data.totalPages;\n\t\telse if (data.productVariantID) {\n\t\t\tstate.totalPages[data.productVariantID] = data.totalPages;\n\t\t}\n\t},\n\tremoveQuestion(state, id) {\n\t\tstate.allQuestions = state.allQuestions.filter((q) => q.id !== id);\n\t\tthis.loading = false;\n\t},\n\taddQuestionCategory(state, data) {\n\t\tconsole.log(data);\n\t\tif (\n\t\t\tdata.categoryID &&\n\t\t\tdata.categoryID != state.questionCategories[data.productVariantID].root.id\n\t\t) {\n\t\t\tstate.questionCategories = {\n\t\t\t\t...state.questionCategories,\n\t\t\t\t[data.productVariantID]: {\n\t\t\t\t\t...state.questionCategories[data.productVariantID],\n\t\t\t\t\t[data.categoryID]: data.category,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tif (\n\t\t\t\tdata.category.parentID &&\n\t\t\t\tdata.category.parentID !=\n\t\t\t\t\tstate.questionCategories[data.productVariantID].root.id\n\t\t\t) {\n\t\t\t\tstate.questionCategories = {\n\t\t\t\t\t...state.questionCategories,\n\t\t\t\t\t[data.productVariantID]: {\n\t\t\t\t\t\t...state.questionCategories[data.productVariantID],\n\t\t\t\t\t\t[data.category.parentID]: {\n\t\t\t\t\t\t\t...state.questionCategories[data.productVariantID][\n\t\t\t\t\t\t\t\tdata.category.parentID\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tchildCategories: state.questionCategories[data.productVariantID][\n\t\t\t\t\t\t\t\tdata.category.parentID\n\t\t\t\t\t\t\t].childCategories.map((cat) => {\n\t\t\t\t\t\t\t\tif (cat.id == data.category.id) {\n\t\t\t\t\t\t\t\t\treturn data.category;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn cat;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} else if (\n\t\t\tdata.categoryID &&\n\t\t\tdata.categoryID == state.questionCategories[data.productVariantID].root.id\n\t\t) {\n\t\t\tstate.questionCategories = {\n\t\t\t\t...state.questionCategories,\n\t\t\t\t[data.productVariantID]: {\n\t\t\t\t\t...state.questionCategories[data.productVariantID],\n\t\t\t\t\troot: data.category,\n\t\t\t\t},\n\t\t\t};\n\t\t} else if (data.productVariantID) {\n\t\t\tstate.questionCategories = {\n\t\t\t\t...state.questionCategories,\n\t\t\t\t[data.productVariantID]: {\n\t\t\t\t\t...state[data.productVariantID],\n\t\t\t\t\troot: data.category,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\t// data.forEach((c) => {\n\t\t// \tvar found = state.questionCategories.find((category) => {\n\t\t// \t\tif (category.categoryID == c.categoryID) {\n\t\t// \t\t\treturn category;\n\t\t// \t\t}\n\t\t// \t});\n\t\t// \tif (!found) {\n\t\t// \t\tstate.questionCategories = [...state.questionCategories, c];\n\t\t// \t}\n\t\t// });\n\t},\n\tsetExamThemes(state, data) {\n\t\tdata.forEach((t) => {\n\t\t\tvar found = state.examThemes.find((theme) => {\n\t\t\t\tif (theme.themeID == t.themeID) {\n\t\t\t\t\treturn theme;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (!found) {\n\t\t\t\tstate.examThemes = [...state.examThemes, t];\n\t\t\t}\n\t\t});\n\t},\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations,\n};\n","import { formService } from \"../services/form.service\";\nimport Vue from \"vue\";\nimport store from \".\";\n\nconst state = {\n\tloading: false,\n};\n\nconst getters = {\n};\n\nconst actions = {\n\tfetchFormByEvent: async ({ commit },{entity,event,entityID=null}) => {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\treturn await formService.fetchFormByEvent(entity,event,entityID).then(\n\t\t\t(forms) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn forms.payload;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n\t\n\tsubmitForm: async ({ commit }, {FormID,FormData})=> {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\treturn await formService.submitForm(FormID,FormData).then(\n\t\t\t(formSubmission) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn formSubmission.payload;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n\tfetchFormByID: async ({ commit },ID) => {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\treturn await formService.fetchFormByID(ID).then(\n\t\t\t(form) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t\treturn form.payload;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n};\n\nconst mutations = {\n\tsetLoading(state, data) {\n\t\tif (data) {\n\t\t} else {\n\t\t}\n\t\tstate.loading = data;\n\t},\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations,\n};\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\nimport user from \"./user.module\";\nimport appState from \"./app.module\";\nimport category from \"./category.module\";\nimport cart from \"./cart.module\";\nimport productVariant from \"./productVariant.module\";\nimport product from \"./product.module\";\nimport content from \"./content.module\";\nimport pricing from \"./pricing.module\";\nimport exam from \"./exam.module\";\nimport form from \"./form.module\";\nimport support from \"./support.module\";\nimport bulkFileUploading from \"./bulkFileUploading.module\";\nimport quiz from \"./quiz.module\";\nimport assignment from \"./assignment.module\";\n\nVue.use(Vuex);\n//Create store\nexport default new Vuex.Store({\n  modules: {\n    user,\n    appState,\n    category,\n    cart,\n    product,\n    productVariant,\n    content,\n    pricing,\n    exam,\n    form,\n\t  support,\n    bulkFileUploading,\n    quiz,\n    assignment,\n  },\n});\n","import { pricingService } from \"../services/pricing.service\";\n// import productObject from \"../models/product\";\nimport { PricingPlanType } from \"../constants/pricing\";\nimport Vue from \"vue\";\nconst state = {\n  pricingPlanByProductVariantId: {},\n  loading: false,\n  invoicesByUserId: {},\n  paymentsByUserId: {},\n  allPayments: [],\n  allInvoices: [],\n};\n\nconst getters = {\n  getPricingPlanByProductVariantId: (state) =>\n    state.pricingPlanByProductVariantId,\n};\n\nconst actions = {\n  fetchPricingPlanByProductVariantId: async ({ commit }, id) => {\n    commit(\"setLoading\", true);\n    console.log(\"fetchPricingPlanByProductVariantId\", id);\n    // state.loading = true;\n    await pricingService.fetchPricingPlanByProductVariantId(id).then(\n      (plan) => {\n        var data = plan?.payload;\n        data = actions.sortPlanDetailsByDate(data);\n        commit(\"setPricingPlanByProductVariantId\", { data, id });\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n\n  sortPlanDetailsByDate(data) {\n    return data.map((plan) => {\n      if (plan.type == PricingPlanType.ONE_TIME) return plan;\n\n      plan.details = plan.details.sort(\n        (a, b) => new Date(a.endAt) - new Date(b.endAt)\n      );\n      return plan;\n    });\n  },\n\n  createPricingPlan: async ({ commit }, { plan, id }) => {\n    console.log(\"createPricingPlan\", { plan, id });\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    await pricingService.createPricingPlan(plan).then(\n      (plan) => {\n        var data = plan?.payload;\n        commit(\"addPricingPlanByProductVariantId\", {\n          data,\n          id,\n        });\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n\n  updatePricingPlan: async ({ commit }, plan) => {\n    console.log(\"updatePricingPlan\", plan);\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    await pricingService.updatePricingPlan(plan).then(\n      (res) => {\n        var data = res?.payload;\n        console.log(\"updatePricingPlan\", data);\n        commit(\"editPricingPlanByProductVariantId\", {\n          data: data,\n          id: plan.productVariantID,\n        });\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n\n  deletePricingPlan: async ({ commit }, plan) => {\n    console.log(\"deletePricingPlan\", plan);\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    await pricingService.deletePricingPlan(plan.id).then(\n      (res) => {\n        // var data = res?.payload;\n        console.log(\"deletePricingPlan\", plan.id, \"response\", res);\n        commit(\"deletePricingPlan\", {\n          data: plan,\n          id: plan.productId,\n        });\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n\n  async createInvoice({ commit }, request) {\n    console.log(\"createInvoice\", request);\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    const data = await pricingService.createInvoice(request).then(\n      (invoice) => {\n        var data = invoice?.payload;\n        console.log(\"createInvoice\", data);\n        commit(\"addInvoiceByCustomerId\", {\n          data,\n          id: data.customerID,\n        });\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n\n  async updateInvoice({ commit }, request) {\n    console.log(\"updateInvoice\", request);\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    const data = await pricingService.updateInvoice(request).then(\n      (invoice) => {\n        var data = invoice?.payload;\n        console.log(\"updateInvoice\", data);\n        commit(\"editInvoiceByCustomerId\", {\n          data,\n          id: data.customerID,\n        });\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n\n  async deleteInvoice({ commit }, request) {\n    console.log(\"deleteInvoice\", request);\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    const data = await pricingService.deleteInvoice(request.id).then(\n      (invoice) => {\n        // var data = invoice?.payload;\n        console.log(\"deleteInvoice\", request);\n        commit(\"deleteInvoiceByCustomerId\", {\n          data: request,\n          id: request.customerID,\n        });\n        commit(\"setLoading\", false);\n        Vue.toasted.success(`Invoice ID ${request.id} deleted Successfully`, {\n          theme: \"outline\",\n          position: \"bottom-center\",\n          duration: 3000,\n        });\n        // return data;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n\n  async createBulkInvoice({ commit }, request) {\n    console.log(\"createBulkInvoice\", request);\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    const data = await pricingService.createBulkInvoice(request).then(\n      (invoice) => {\n        var data = invoice?.payload;\n        if (data) {\n          console.log(\"createBulkInvoice\", data);\n          commit(\"setLoading\", false);\n          return data;\n        }\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n\n  fetchInvoiceById: async ({ commit }, id) => {\n    commit(\"setLoading\", true);\n    console.log(\"fetchInvoiceById\", id);\n    // state.loading = true;\n    await pricingService.fetchInvoiceById(id).then(\n      (plan) => {\n        var data = plan?.payload;\n        commit(\"setPricingPlanByProductVariantId\", { data, id });\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n\n  fetchInvoiceByUserId: async ({ commit }, id) => {\n    commit(\"setLoading\", true);\n    console.log(\"fetchInvoiceByUserId\", id);\n    // state.loading = true;\n    await pricingService.fetchInvoiceByUserId(id).then(\n      (plan) => {\n        var data = plan?.payload;\n        commit(\"setInvoiceByCustomerId\", { data, id });\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n\n  async createPayment({ commit }, payment) {\n    console.log(\"createPayment\", { payment });\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    const data = await pricingService.createPayment(payment).then(\n      (response) => {\n        var data = response?.payload;\n        console.log(\"createPayment\", data);\n        commit(\"addPaymentByUserId\", {\n          data,\n          id: data.customerID,\n        });\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n  async updatePayment({ commit }, payment) {\n    console.log(\"updatePayment\", { payment });\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    const data = await pricingService.updatePayment(payment).then(\n      (response) => {\n        var data = response?.payload;\n        console.log(\"updatePayment\", data);\n        commit(\"editPaymentByUserId\", {\n          data,\n          id: data.customerID,\n        });\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n\n  async deletePayment({ commit }, payment) {\n    console.log(\"deletePayment\", { payment });\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    const data = await pricingService.deletePayment(payment.id).then(\n      (response) => {\n        // var data = response?.payload;\n\n        console.log(\"deletePayment\", payment);\n        commit(\"deletePaymentByUserId\", {\n          data: payment,\n          id: payment.customerID,\n        });\n        commit(\"setLoading\", false);\n        Vue.toasted.success(`Payment ID ${payment.id} deleted Successfully`, {\n          theme: \"outline\",\n          position: \"bottom-center\",\n          duration: 3000,\n        });\n        return data;\n      },\n      (error) => {\n        //alert(error);\n        Vue.toasted.error(\"Payment delete failed, \" + error, {\n          theme: \"outline\",\n          position: \"bottom-center\",\n          duration: 3000,\n        });\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n\n  fetchPaymentsByUserId: async ({ commit }, id) => {\n    commit(\"setLoading\", true);\n    console.log(\"fetchPaymentsByUserId\", id);\n    // state.loading = true;\n    await pricingService.fetchPaymentsByUserId(id).then(\n      (plan) => {\n        var data = plan?.payload;\n        commit(\"setPaymentByUserId\", { data, id });\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n  fetchPaymentsList: async ({ commit }, filters) => {\n    commit(\"setLoading\", true);\n    console.log(\"fetchPaymentsList\");\n    // state.loading = true;\n    const response = await pricingService.fetchPaymentsList(filters).then(\n      (plan) => {\n        var data = plan?.payload;\n        commit(\"setAllPayment\", data);\n        commit(\"setLoading\", false);\n        return plan;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return response;\n  },\n\n  fetchInvoicesList: async ({ commit }, filters) => {\n    commit(\"setLoading\", true);\n    console.log(\"fetchInvoicesList\");\n    // state.loading = true;\n    const response = await pricingService.fetchInvoicesList(filters).then(\n      (plan) => {\n        var data = plan?.payload;\n        commit(\"setAllInvoices\", data);\n        commit(\"setLoading\", false);\n        return plan;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return response;\n  },\n\n  async deleteInvoiceDetail(\n    { commit },\n    { userId, invoiceId, invoiceDetailId }\n  ) {\n    var request = { userId, invoiceId, invoiceDetailId };\n\n    console.log(\"deleteInvoiceDetail request\", request);\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    const data = await pricingService\n      .deleteInvoiceDetail(request.invoiceDetailId)\n      .then(\n        (response) => {\n          // var data = invoice?.payload;\n          console.log(\n            \"pricingService.deleteInvoiceDetail\",\n            request.invoiceDetailId\n          );\n          commit(\"deleteInvoiceDetail\", request);\n          commit(\"setLoading\", false);\n          Vue.toasted.success(\n            `Invoice line item # ${request.invoiceDetailId} deleted successfully`,\n            {\n              theme: \"outline\",\n              position: \"bottom-center\",\n              duration: 3000,\n            }\n          );\n          // return data;\n        },\n        (error) => {\n          commit(\"setLoading\", false);\n        }\n      );\n    return data;\n  },\n\n  processPayment: async ({ commit }, { invoiceId, serviceCode, data }) => {\n    commit(\"setLoading\", true);\n    console.log(\"processPayment\");\n    // state.loading = true;\n    const response = await pricingService\n      .processPayment(invoiceId, serviceCode, data)\n      .then(\n        (paymentData) => {\n          var data = paymentData?.payload;\n          commit(\"setLoading\", false);\n          return data;\n        },\n        (error) => {\n          //alert(error);\n          commit(\"setLoading\", false);\n        }\n      );\n    return response;\n  },\n\n  completePayment: async (\n    { commit },\n    { serviceProvider, paymentReference, sessionId, action, orderReference }\n  ) => {\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    const response = await pricingService\n      .completePayment(serviceProvider, paymentReference, sessionId, action, orderReference)\n      .then(\n        (paymentData) => {\n          var data = paymentData;\n          commit(\"setLoading\", false);\n          return data;\n        },\n        (error) => {\n          //alert(error);\n          commit(\"setLoading\", false);\n        }\n      );\n    return response;\n  },\n};\n\nconst mutations = {\n  setPricingPlanByProductVariantId(state, { data, id }) {\n    // console.log(data);\n    state.pricingPlanByProductVariantId = {\n      ...state.pricingPlanByProductVariantId,\n      [id]: data,\n    };\n    state.loading = false;\n  },\n  addPricingPlanByProductVariantId(state, { data, id }) {\n    state.pricingPlanByProductVariantId[id]\n      ? state.pricingPlanByProductVariantId[id].push(data)\n      : (state.pricingPlanByProductVariantId[id] = [data]);\n    state.loading = false;\n  },\n  editPricingPlanByProductVariantId(state, pricingDetails) {\n    console.log(\"editPricingPlanByProductVariantId\", pricingDetails);\n    // const planId = state.pricingPlanByProductVariantId[id].indexOf(data);\n    const planToEdit = pricingDetails.data;\n    console.log(\"updated plan: \", planToEdit);\n    const updated = state.pricingPlanByProductVariantId[pricingDetails.id].map(\n      (plan) => {\n        console.log(plan.id, planToEdit);\n        if (plan.id == planToEdit.id) {\n          console.log(\"editingplan\", planToEdit);\n          return planToEdit;\n        }\n        return plan;\n      }\n    );\n    console.log(updated);\n    state.pricingPlanByProductVariantId[pricingDetails.id] = updated;\n    // state.pricingPlanByProductVariantId[id]\n    // \t? state.pricingPlanByProductVariantId[id].push(data)\n    // \t: (state.pricingPlanByProductVariantId[id] = [data]);\n    state.loading = false;\n  },\n  deletePricingPlan(state, pricingDetails) {\n    console.log(pricingDetails);\n    var updatedPlans = state.pricingPlanByProductVariantId[\n      pricingDetails.id\n    ].filter((plan) => plan.id != pricingDetails.data.id);\n    console.log(updatedPlans);\n    state.pricingPlanByProductVariantId = {\n      ...state.pricingPlanByProductVariantId,\n      [pricingDetails.id]: updatedPlans,\n    };\n  },\n  setInvoiceByCustomerId(state, { data, id }) {\n    state.invoicesByUserId = { ...state.invoicesByUserId, [id]: data };\n    state.loading = false;\n  },\n  setPaymentByUserId(state, { data, id }) {\n    state.paymentsByUserId[id] = data;\n    state.loading = false;\n  },\n  addInvoiceByCustomerId(state, { data, id }) {\n    if (state.invoicesByUserId[id]) {\n      state.invoicesByUserId[id] = [...state.invoicesByUserId[id], data];\n    } else {\n      state.invoicesByUserId[id] = [data];\n    }\n    state.loading = false;\n  },\n  editInvoiceByCustomerId(state, { data, id }) {\n    if (state.invoicesByUserId[id]) {\n      var updatedInvoices = state.invoicesByUserId[id].map((invoice) =>\n        invoice.id == data.id ? data : invoice\n      );\n      state.invoicesByUserId = {\n        ...state.invoicesByUserId,\n        [id]: updatedInvoices,\n      };\n    } else {\n      state.invoicesByUserId[id] = [data];\n    }\n    state.loading = false;\n  },\n  deleteInvoiceByCustomerId(state, { data, id }) {\n    if (state.invoicesByUserId[id]) {\n      var updatedInvoices = state.invoicesByUserId[id].filter(\n        (invoice) => invoice.id != data.id\n      );\n      state.invoicesByUserId = {\n        ...state.invoicesByUserId,\n        [id]: updatedInvoices,\n      };\n    } else {\n      state.invoicesByUserId[id] = [data];\n    }\n    state.loading = false;\n  },\n  deleteInvoiceDetail(state, data) {\n    var userInvoices = state.invoicesByUserId[data.userId];\n\n    if (!userInvoices) return;\n\n    var changedInvoice = userInvoices.find(\n      (invoice) => invoice.id == data.invoiceId\n    );\n    changedInvoice.details = changedInvoice.details.filter(\n      (invoiceDetail) => invoiceDetail.id != data.invoiceDetailId\n    );\n\n    userInvoices = userInvoices.map((invoice) =>\n      invoice.id == changedInvoice.id ? changedInvoice : invoice\n    );\n\n    state.invoicesByUserId = {\n      ...state.invoicesByUserId,\n      [data.userId]: userInvoices,\n    };\n\n    state.allInvoices.map((invoice) =>\n      invoice.id == data.invoiceId ? changedInvoice : invoice\n    );\n  },\n  setAllPayment(state, data) {\n    state.allPayments = data;\n    state.loading = false;\n  },\n  setAllInvoices(state, data) {\n    state.allInvoices = data;\n    state.loading = false;\n  },\n  updatePayment(state, { data, id }) {\n    state.allPayments = [\n      ...state.allPayments.map((p) => {\n        if (p.id == id) {\n          return data;\n        } else return p;\n      }),\n    ];\n  },\n  updateInvoice(state, { data, id }) {\n    state.allInvoices = [\n      ...state.allInvoices.map((p) => {\n        if (p.id == id) {\n          return data;\n        } else return p;\n      }),\n    ];\n  },\n  addPaymentByUserId(state, { data, id }) {\n    if (state.paymentsByUserId[id]) {\n      state.paymentsByUserId[id].push(data);\n    } else {\n      state.paymentsByUserId[id] = [data];\n    }\n    state.loading = false;\n  },\n  editPaymentByUserId(state, { data, id }) {\n    if (state.paymentsByUserId[id]) {\n      var updatedPayments = state.paymentsByUserId[id].map((payment) => {\n        if (payment.id == data.id) {\n          console.log(\"found payment\", payment, data);\n          return data;\n        } else return payment;\n      });\n      state.paymentsByUserId = {\n        ...state.paymentsByUserId,\n        [id]: updatedPayments,\n      };\n    } else {\n      state.paymentsByUserId[id] = [data];\n    }\n    state.loading = false;\n  },\n  deletePaymentByUserId(state, { data, id }) {\n    if (state.paymentsByUserId[id]) {\n      console.log(\"delete payment\", data, id);\n      var updatedPayments = state.paymentsByUserId[id].filter(\n        (payment) => payment.id != data.id\n      );\n      state.paymentsByUserId = {\n        ...state.paymentsByUserId,\n        [id]: updatedPayments,\n      };\n    }\n    state.loading = false;\n  },\n  setLoading(state, data) {\n    if (data) {\n      console.log(\"pricing loading...\");\n    } else {\n      console.log(\"pricing loading complete!\");\n    }\n    state.loading = data;\n  },\n};\n\nexport default {\n  namespaced: true,\n  state,\n  getters,\n  actions,\n  mutations,\n};\n","import { productService } from \"../services/product.service\";\nimport productObject from \"../models/product\";\nimport Vue from \"vue\";\nconst state = {\n\tproducts: { items: {}, length: 0 },\n\tproductsByCategory: {},\n\tloading: false,\n};\nimport store from \"./index\";\n\nconst getters = {\n\tallProducts: (state) => {\n\t\treturn state.products;\n\t},\n\tuncategorizedProducts: (state) => {\n\t\treturn Object.values(state.products.items).filter(\n\t\t\t(product) => product.categories.length == 0\n\t\t);\n\t},\n};\n\nconst actions = {\n\tfetchAllProducts: async ({ commit }) => {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconsole.log(\"fetchAllProducts\");\n\n\t\tconst data = await productService.fetchAllProducts().then(\n\t\t\t(products) => {\n\t\t\t\tvar data = products?.payload;\n\t\t\t\tdata = data.map((product) => new productObject(product));\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\tif (data) {\n\t\t\tcommit(\"setProducts\", data);\n\t\t\treturn data;\n\t\t}\n\t},\n\n\tgetProductById: async ({ commit }, id) => {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconsole.log(\"getProductById\", id);\n\n\t\tconst data = await productService.fetchProductById(id).then(\n\t\t\t(product) => {\n\t\t\t\tvar data = product?.payload;\n\t\t\t\treturn new productObject(data);\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\tif (data) {\n\t\t\tcommit(\"addProduct\", { data, id });\n\t\t\treturn data;\n\t\t}\n\t},\n\tgetProductByCategoryId: async ({ commit }, id) => {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconsole.log(\"getProductByCategoryId\", id);\n\t\tconst data = await productService.fetchProductByCategoryId(id).then(\n\t\t\t(product) => {\n\t\t\t\tvar data = product?.payload;\n\t\t\t\tconsole.log(\"response\", data);\n\n\t\t\t\tdata.forEach((item) => {\n\t\t\t\t\treturn new productObject(item);\n\t\t\t\t});\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\t// console.log(\"id: \", id);\n\t\tif (data) {\n\t\t\tcommit(\"addProductByCategory\", { data, id });\n\t\t\treturn data;\n\t\t}\n\t\tcommit(\"setLoading\", false);\n\t},\n\n\tcreateProduct: async ({ commit }, { product, id }) => {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconsole.log(\"createProduct\", product, id);\n\t\tconst data = await productService.createProduct(product, id).then(\n\t\t\t(res) => {\n\t\t\t\tvar data = res?.payload;\n\t\t\t\tconsole.log(\"response\", data);\n\t\t\t\t// data = ;\n\t\t\t\tdata = new productObject({ ...data, categories: product.categories });\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\t// console.log(\"id: \", id);\n\t\tif (data) {\n\t\t\tcommit(\"addProductToCategory\", { data, id: id });\n\t\t\treturn data;\n\t\t}\n\t\tcommit(\"setLoading\", false);\n\t},\n\n\teditProductSequence: async ({commit}, productObj) => {\n\t\tcommit(\"setLoading\", true);\n\t\t\n\t\tconst data = await productService.editProductSequence(productObj).then(\n\t\t\t(res) => {\n\t\t\t\tif(res.ok) {\n\t\t\t\t\tVue.toasted.success(\"Sequence Updated Successful\", {\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 5000,\n\t\t\t\t\t});\n\t\t\t\t} \n\t\t\t\telse {\n\t\t\t\t\tVue.toasted.error(\"Some error occurred\", {\n\t\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tVue.toasted.error(\"Some error occurred\", {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t},\n\n\tdeleteProduct: async ({ commit }, { product, id }) => {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconsole.log(\"deleteProduct\", product, id);\n\t\tconst data = await productService.deleteProduct(product.id).then(\n\t\t\t() => {\n\t\t\t\tVue.toasted.success(\"Course deleted successfully\", {\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\t// console.log(\"product: \", product);\n\t\tif (data) {\n\t\t\t// var categories = product.categories.map((c) => c.id);\n\t\t\tcommit(\"removeProduct\", {\n\t\t\t\tproductId: product.id,\n\t\t\t\tcategoryId: id,\n\t\t\t});\n\t\t\tstore.dispatch(\"productVariant/fetchProductVariants\");\n\t\t\t// return data;\n\t\t}\n\t\tcommit(\"setLoading\", false);\n\t},\n\n\tupdateProduct: async ({ commit }, { product, id }) => {\n\t\tcommit(\"setLoading\", true);\n\t\t// state.loading = true;\n\t\tconsole.log(\"updateProduct\", id);\n\t\tconst data = await productService.updateProduct(product).then(\n\t\t\t(res) => {\n\t\t\t\t// var data = product?.payload;\n\t\t\t\t// console.log(\"response\", data);\n\t\t\t\t// data = new productObject(data);\n\t\t\t\t// return data;\n\t\t\t\tcommit(\"updateProduct\", { product, id });\n\t\t\t\tstore.dispatch(\"productVariant/fetchProductVariants\");\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t// cons(error);\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n\t\tcommit(\"setLoading\", false);\n\t},\n};\n\nconst mutations = {\n\tsetProducts(state, data) {\n\t\t// console.log(data);\n\t\tdata.forEach((product) => {\n\t\t\tstate.products.items = { ...state.products.items, [product.id]: product };\n\t\t});\n\t\t// state.products = data;\n\t\tstate.loading = false;\n\t},\n\taddProduct(state, { data, id }) {\n\t\tstate.products.items[id] = data;\n\t\tstate.products.length += 1;\n\t\tstate.loading = false;\n\t},\n\taddProductByCategory(state, { data, id }) {\n\t\t// console.log(id);\n\t\tstate.productsByCategory[id] = data;\n\t\tstate.loading = false;\n\t},\n\taddProductToCategory(state, { data, id }) {\n\t\tconsole.log(\"addProductToCategory\", id);\n\n\t\tstate.productsByCategory[id].push(data);\n\t\tstate.loading = false;\n\t},\n\tremoveProduct(state, { productId, categoryId }) {\n\t\tconsole.log(\"removeProduct\", productId, categoryId);\n\t\tif (categoryId != -1) {\n\t\t\tvar newArray = state.productsByCategory[categoryId].filter(\n\t\t\t\t(p) => p.id != productId\n\t\t\t);\n\t\t\tstate.productsByCategory = {\n\t\t\t\t...state.productsByCategory,\n\t\t\t\t[categoryId]: newArray,\n\t\t\t};\n\t\t}\n\n\t\tif (state.products.items[productId]) {\n\t\t\tvar temp = { ...state.products.items };\n\t\t\tdelete temp[productId];\n\t\t\tstate.products = { ...state.products, items: temp };\n\t\t}\n\t\tstate.loading = false;\n\t},\n\tupdateProduct(state, { product, id }) {\n\t\tvar updatedProducts = state.productsByCategory[id].map((item) => {\n\t\t\tif (item.id == product.id) {\n\t\t\t\titem.title = product.title;\n\t\t\t}\n\t\t\treturn item;\n\t\t});\n\t\tconsole.log(\"updatedProducts\", updatedProducts, id);\n\n\t\tstate.productsByCategory = {\n\t\t\t...state.productsByCategory,\n\t\t\t[id]: updatedProducts,\n\t\t};\n\n\t\tif (state.products.items[product.id])\n\t\t\tstate.products.items = { ...state.products.items, [product.id]: product };\n\n\t\tstate.loading = false;\n\t},\n\tsetLoading(state, data) {\n\t\tif (data) {\n\t\t\tconsole.log(\"products loading...\");\n\t\t} else {\n\t\t\tconsole.log(\"products loading complete!\");\n\t\t}\n\t\tstate.loading = data;\n\t},\n\tsetProductsLength(state, value) {\n\t\tstate.products.length = value;\n\t},\n\tassignCategoryToProduct(state, productData) {\n\t\tconsole.log(\n\t\t\t\"updating state, assignCategoryToProduct\",\n\t\t\tproductData.productID\n\t\t);\n\t\tvar productToUpdate = state.products.items[productData.productID];\n\n\t\tif (productToUpdate) {\n\t\t\tproductToUpdate.categories = productData.categories;\n\n\t\t\tstate.products.items = {\n\t\t\t\t...state.products.items,\n\t\t\t\t[productData.productID]: productToUpdate,\n\t\t\t};\n\n\t\t\tproductData.categories.forEach((cat) => {\n\t\t\t\tif (state.productsByCategory[cat])\n\t\t\t\t\tstate.productsByCategory = {\n\t\t\t\t\t\t...state.productsByCategory,\n\t\t\t\t\t\t[cat]: [...state.productsByCategory[cat], productToUpdate],\n\t\t\t\t\t};\n\t\t\t\telse\n\t\t\t\t\tstate.productsByCategory = {\n\t\t\t\t\t\t...state.productsByCategory,\n\t\t\t\t\t\t[cat]: [productToUpdate],\n\t\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\tstate.loading = false;\n\t},\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations,\n};\n","import { productVariantService } from \"../services/productVariant.service\";\nimport productVariantObject from \"../models/productVariant\";\nimport Vue from \"vue\";\nconst state = {\n  productVariants: { items: {}, length: 0 },\n  productVariantsByCategory: {},\n  productVariantsByProduct: {},\n  loading: false,\n  copiedProductVariant: null,\n  productVariantsProgress:{}\n};\n\nconst getters = {\n  allProductVariants: (state) => {\n    return Object.values(state.productVariants.items);\n  },\n};\n\nconst actions = {\n  fetchProductVariants: async ({ commit }, filters) => {\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    var productVariants = { items: {}, length: 0 };\n    await productVariantService.fetchAllProductVariants(filters).then(\n      (productVariant) => {\n        var data = productVariant?.payload;\n\n        /// adding missing product details to show on UI\n        data.map((variant) => {\n          // console.log(variant);\n          var tempVariant = { ...variant };\n          tempVariant.properties = {\n            ...tempVariant.properties,\n           \n            pricing: { currency: \"PKR\", amount: 0 },\n            ratings: { value: variant.rating, numberOfRatings: 0 },\n          };\n          if (tempVariant.product) {\n            tempVariant.product.productThumbnailPath =\n              \"assets/images/sample-thumbnail.jpeg\";\n            tempVariant.product.productFriendlyTitle = tempVariant.product\n              .productTitle\n              ? tempVariant.product.productTitle\n                  .toLowerCase()\n                  .replace(\" - \", \"-\")\n                  .replace(/\\s/g, \"-\")\n              : null;\n          }\n          productVariants.items[variant.productVariantID] =\n            new productVariantObject(tempVariant);\n        });\n        ///\n\n        // const productVariantObjects = data.map(\n        // \t(variant) => new productVariantObject(variant)\n        // );\n\n        // console.log(productVariantObjects);\n        // console.log(category);\n        productVariants[\"length\"] = data.length;\n        commit(\"setProductVariants\", productVariants);\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        Vue.toasted.error(error.message, {\n          icon: \"exclamation-triangle\",\n          theme: \"outline\",\n          position: \"bottom-center\",\n          duration: 3000,\n        });\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n  getProductVariantById: async ({ commit }, id) => {\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    console.log(\"getProductVariantById\", id);\n\n    const data = await productVariantService.fetchProductVariantById(id).then(\n      (productVariant) => {\n        var variant = productVariant?.payload;\n        /// adding missing product details to show on UI\n        var tempVariant = { ...variant };\n        tempVariant.properties = {\n          ...tempVariant.properties,\n          \n          pricing: { currency: \"PKR\", amount: 0 },\n          ratings: { value: variant.rating, numberOfRatings: 0 },\n        };\n        \n        if (tempVariant.product) {\n          tempVariant.product.productThumbnailPath =\n            \"assets/images/sample-thumbnail.jpeg\";\n          tempVariant.product.productFriendlyTitle = tempVariant.product\n            .productTitle\n            ? tempVariant.product.productTitle\n                .toLowerCase()\n                .replace(\" - \", \"-\")\n                .replace(/\\s/g, \"-\")\n            : null;\n        }\n\n        // console.log(category);\n        // commit(\"setProductVariants\", productVariant?.payload);\n        return new productVariantObject(tempVariant);\n      },\n      (error) => {\n        Vue.toasted.error(error.message, {\n          icon: \"exclamation-triangle\",\n          theme: \"outline\",\n          position: \"bottom-center\",\n          duration: 3000,\n        });\n        commit(\"setLoading\", false);\n      }\n    );\n    // console.log(\"data\", data);\n    // commit(\"setLoading\", false);\n    commit(\"addProductVariant\", { data, id });\n    return data;\n  },\n  getProductVariantByCategoryId: async ({ commit }, id) => {\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    console.log(\"getProductVariantByCategoryId\", id);\n\n    const data = await productVariantService\n      .fetchProductVariantByCategoryId(id)\n      .then(\n        (productVariant) => {\n          var data = productVariant?.payload;\n          console.log(data);\n\n          /// adding missing product details to show on UI\n          data = data.map((variant) => {\n            // console.log(variant);\n            var tempVariant = { ...variant };\n            tempVariant.properties = {\n              ...tempVariant.properties,\n             \n              pricing: { currency: \"PKR\", amount: 0 },\n              ratings: { value: variant.rating, numberOfRatings: 0 },\n            };\n           \n            if (tempVariant.product) {\n              tempVariant.product.productThumbnailPath =\n                \"assets/images/sample-thumbnail.jpeg\";\n              tempVariant.product.productFriendlyTitle = tempVariant.product\n                .productTitle\n                ? tempVariant.product.productTitle\n                    .toLowerCase()\n                    .replace(\" - \", \"-\")\n                    .replace(/\\s/g, \"-\")\n                : null;\n            }\n            return new productVariantObject(tempVariant);\n          });\n          return data;\n        },\n        (error) => {\n          Vue.toasted.error(error.message, {\n            icon: \"exclamation-triangle\",\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n            // singleton: true,\n            // action: {\n            // \ttext: \"RETRY\",\n            // \tonClick: (e, toastObject) => {\n            // \t\ttoastObject.goAway(0);\n            // \t\twindow.location.reload();\n            // \t},\n            // },\n          });\n          commit(\"setLoading\", false);\n        }\n      );\n    // console.log(\"data\", data);\n    // commit(\"setLoading\", false);\n    // commit(\"addProductVariantByCategory\", { data, id });\n    commit(\"addProductVariantByCategory\", { data, id });\n    commit(\"setLoading\", false);\n    return data;\n  },\n  getProductVariantByProductId: async ({ commit }, id) => {\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    // console.log(\"getProductVariantByProductId\", id);\n    const data = await productVariantService\n      .fetchProductVariantByProductId(id)\n      .then(\n        (response) => {\n          var data = response?.payload;\n\n          /// adding missing product details to show on UI\n          data = data.map((variant) => {\n            // console.log(variant);\n            var tempVariant = { ...variant };\n            tempVariant.properties = {\n              ...tempVariant.properties,\n             \n              pricing: { currency: \"PKR\", amount: 0 },\n              ratings: { value: variant.rating, numberOfRatings: 0 },\n            };\n            \n            if (tempVariant.product) {\n              tempVariant.product.productThumbnailPath =\n                \"assets/images/sample-thumbnail.jpeg\";\n              tempVariant.product.productFriendlyTitle = tempVariant.product\n                .productTitle\n                ? tempVariant.product.productTitle\n                    .toLowerCase()\n                    .replace(\" - \", \"-\")\n                    .replace(/\\s/g, \"-\")\n                : null;\n            }\n            // productVariants[\n            // \ttempVariant.product.productID\n            // ] = new productVariantObject(tempVariant);\n            return new productVariantObject(tempVariant);\n          });\n          console.log(\"data\", data);\n          return data;\n        },\n        (error) => {\n          Vue.toasted.error(error.message, {\n            icon: \"exclamation-triangle\",\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n            // singleton: true,\n            // action: {\n            // \ttext: \"RETRY\",\n            // \tonClick: (e, toastObject) => {\n            // \t\ttoastObject.goAway(0);\n            // \t\twindow.location.reload();\n            // \t},\n            // },\n          });\n          commit(\"setLoading\", false);\n        }\n      );\n    // console.log(\"data\", productVariants);\n    // commit(\"setLoading\", false);\n    // commit(\"addProductVariantByCategory\", { data, id });\n\n    commit(\"addProductVariantByProduct\", { data, id });\n    commit(\"setLoading\", false);\n    return data;\n  },\n  getProductVariantProgress: async ({ commit },  id=null) => {\n    const data = await productVariantService\n      .fetchProductVariantProgress(id)\n      .then(\n        (response) => {\n          var data = response?.payload;\n            return data;\n        },\n        (error) => {\n          Vue.toasted.error(error.message, {\n            icon: \"exclamation-triangle\",\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n          });\n        }\n      );\n      if(data && data.length>0)\n      {\n        if (!id) {\n          var productVariantProgress = {};\n          data.forEach(element => {\n            productVariantProgress[element.productVariantID] = element;\n          });\n          state.productVariantsProgress = productVariantProgress;\n        }else{\n          var ob=state.productVariantsProgress;\n          state.productVariantsProgress=null;\n          ob[id]=data[0];\n          state.productVariantsProgress=ob;\n        }\n\t\t\t}\n    return data;\n  },\n  createProductVariant: async ({ commit }, productVariant) => {\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    console.log(\"createProductVariant\", productVariant.title);\n    if (productVariant.productID) {\n      var nextSequence =\n        state.productVariantsByProduct[productVariant.productID] &&\n        state.productVariantsByProduct[productVariant.productID].length > 0\n          ? state.productVariantsByProduct[productVariant.productID].at(-1)\n              .sequence + 1\n          : 1;\n      console.log(nextSequence);\n      content.sequence = nextSequence;\n    }\n    const data = await productVariantService\n      .createProductVariant(productVariant)\n      .then(\n        (productVariant) => {\n          var tempVariant = productVariant?.payload;\n\n          /// adding missing product details to show on UI\n\n          tempVariant.properties = {\n            ...tempVariant.properties,\n            \n            pricing: { currency: \"PKR\", amount: 0 },\n            ratings: { value: tempVariant.rating, numberOfRatings: 0 },\n          };\n          \n          if (tempVariant.product) {\n            tempVariant.product.productThumbnailPath =\n              \"assets/images/sample-thumbnail.jpeg\";\n            tempVariant.product.productFriendlyTitle = tempVariant.product\n              .productTitle\n              ? tempVariant.product.productTitle\n                  .toLowerCase()\n                  .replace(\" - \", \"-\")\n                  .replace(/\\s/g, \"-\")\n              : null;\n          }\n\n          return new productVariantObject(tempVariant);\n\n          // console.log(\"response\", data);\n          // data = new productObject(data);\n          // return data;\n        },\n        (error) => {\n          Vue.toasted.error(error.message, {\n            icon: \"exclamation-triangle\",\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n            // singleton: true,\n            // action: {\n            // \ttext: \"RETRY\",\n            // \tonClick: (e, toastObject) => {\n            // \t\ttoastObject.goAway(0);\n            // \t\twindow.location.reload();\n            // \t},\n            // },\n          });\n          commit(\"setLoading\", false);\n        }\n      );\n    // console.log(\"id: \", id);\n    commit(\"addProductVariantByProductInArray\", { data, id: data.product.id });\n    commit(\"setLoading\", false);\n    return data;\n  },\n  createProductVariantFeedback: async (\n    { commit },\n    productVariantFeedbackData\n  ) => {\n    const res = await productVariantService\n      .createProductVariantFeedback(productVariantFeedbackData)\n      .then(\n        (response) => {\n          var data = response;\n          return data;\n        },\n        async (error) => {\n          let _error = await error.json();\n          return handleError(_error);\n        }\n      );\n    return res;\n  },\n  updateProductVariant: async ({ commit }, productVariant) => {\n    commit(\"setLoading\", true);\n\n    console.log(\"updateProductVariant\", productVariant.id);\n    const data = await productVariantService\n      .updateProductVariant(productVariant)\n      .then(\n        (productVariant) => {\n          var tempVariant = productVariant?.payload;\n\n          /// adding missing product details to show on UI\n\n          tempVariant.properties = {\n            ...tempVariant.properties,\n            // },\n            pricing: { currency: \"PKR\", amount: 0 },\n            ratings: { value: tempVariant.rating, numberOfRatings: 0 },\n          };\n         \n          if (tempVariant.product) {\n            tempVariant.product.productThumbnailPath =\n              \"assets/images/sample-thumbnail.jpeg\";\n            tempVariant.product.productFriendlyTitle = tempVariant.product\n              .productTitle\n              ? tempVariant.product.productTitle\n                  .toLowerCase()\n                  .replace(\" - \", \"-\")\n                  .replace(/\\s/g, \"-\")\n              : null;\n          }\n\n          return new productVariantObject(tempVariant);\n        },\n        (error) => {\n          Vue.toasted.error(error.message, {\n            icon: \"exclamation-triangle\",\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n          });\n          commit(\"setLoading\", false);\n        }\n      );\n    // console.log(\"id: \", id);\n    commit(\"editProductVariantByProductInArray\", { data, id: data.product.id });\n    commit(\"editProductVariantByCategoryInArray\", {\n      data,\n      id: data.product.id,\n    });\n    commit(\"addProductVariant\", { data, id: data.id });\n    commit(\"setLoading\", false);\n    return data;\n  },\n  deleteProductVariant: async ({ commit }, { productVariant, categoryId }) => {\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    console.log(\"deleteProductVariant\", productVariant);\n    const data = await productVariantService\n      .deleteProductVariant(productVariant.id)\n      .then(\n        () => {\n          commit(\"setLoading\", false);\n          commit(\"deleteProductVariant\", { productVariant, categoryId });\n          Vue.toasted.success(\"Batch deleted successfully\", {\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n          });\n        },\n        (error) => {\n          Vue.toasted.error(error.message, {\n            icon: \"exclamation-triangle\",\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n          });\n          commit(\"setLoading\", false);\n        }\n      );\n  },\n  assignContentToProductVariant: async ({ commit }, content) => {\n    commit(\"setLoading\", true);\n    // state.loading = true;\n    console.log(\"assignContentToProductVariant\", content);\n    const data = await productVariantService\n      .assignContentToProductVariant(content)\n      .then(\n        (data) => {\n          var response = data?.payload;\n          console.log(\"content assigned\", content);\n          commit(\"addContentToProductVariantDetails\", content);\n        },\n        (error) => {\n          Vue.toasted.error(error.message, {\n            icon: \"exclamation-triangle\",\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n            // singleton: true,\n            // action: {\n            // \ttext: \"RETRY\",\n            // \tonClick: (e, toastObject) => {\n            // \t\ttoastObject.goAway(0);\n            // \t\twindow.location.reload();\n            // \t},\n            // },\n          });\n          commit(\"setLoading\", false);\n        }\n      );\n    // console.log(\"id: \", id);\n    // dispatch(\"getProductVariantById\", content.productVariantID);\n    // commit(\"addContentToProductVariantDetails\", content);\n    commit(\"setLoading\", false);\n    return data;\n  },\n  PasteProductVariantItems: async ({ commit }, content) => {\n    commit(\"setLoading\", true);\n\n    const data = await productVariantService\n      .PasteProductVariantItems(content)\n      .then(\n        (data) => {\n          var response = data?.payload;\n          console.log(\"content assigned\", content);\n          // commit(\"addContentToProductVariantDetails\", content);\n          return response;\n        },\n        (error) => {\n          Vue.toasted.error(error.message, {\n            icon: \"exclamation-triangle\",\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n            // singleton: true,\n            // action: {\n            // \ttext: \"RETRY\",\n            // \tonClick: (e, toastObject) => {\n            // \t\ttoastObject.goAway(0);\n            // \t\twindow.location.reload();\n            // \t},\n            // },\n          });\n          commit(\"setLoading\", false);\n        }\n      );\n    // console.log(\"id: \", id);\n    // dispatch(\"getProductVariantById\", content.productVariantID);\n    // commit(\"addContentToProductVariantDetails\", content);\n    commit(\"setLoading\", false);\n    return data;\n  },\n\n  PasteProductVariants: async ({ commit }, content) => {\n    commit(\"setLoading\", true);\n\n    const data = await productVariantService\n      .PasteProductVariants(content)\n      .then(\n        (data) => {\n          var response = data?.payload;\n          console.log(\"content assigned\", content);\n          // commit(\"addContentToProductVariantDetails\", content);\n          return response;\n        },\n        (error) => {\n          Vue.toasted.error(error.message, {\n            icon: \"exclamation-triangle\",\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n            // singleton: true,\n            // action: {\n            // \ttext: \"RETRY\",\n            // \tonClick: (e, toastObject) => {\n            // \t\ttoastObject.goAway(0);\n            // \t\twindow.location.reload();\n            // \t},\n            // },\n          });\n          commit(\"setLoading\", false);\n        }\n      );\n    // console.log(\"id: \", id);\n    // dispatch(\"getProductVariantById\", content.productVariantID);\n    // commit(\"addContentToProductVariantDetails\", content);\n    commit(\"setLoading\", false);\n    return data;\n  },\n\n  saveCopiedProductVariant: ({commit}, productVariant) => {\n    state.copiedProductVariant = productVariant;\n  },\n  editProductVariantSequence: async ({ commit }, { productVariant, id }) => {\n    commit(\"setLoading\", true);\n    await productVariantService\n      .editProductVariantSequence({ productVariant, id })\n      .then(\n        (res) => {\n          Vue.toasted.success(\"Sequence updated successfully!\", {\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n          });\n        },\n        (error) => {\n          Vue.toasted.error(error.message, {\n            icon: \"exclamation-triangle\",\n            theme: \"outline\",\n            position: \"bottom-center\",\n            duration: 3000,\n          });\n          console.log(error);\n          commit(\"setLoading\", false);\n        }\n      );\n    commit(\"setLoading\", false);\n  },\n  fetchRatingByProductVariant: async ({ commit }, id) => {\n    return await productVariantService.fetchProductVariantRating(id).then(\n      (ratings) => {\n        return ratings.payload;\n      },\n      (error) => {\n        return [];\n      }\n    );\n  },\n  async unenrollAllUsersCourses({ commit }, emails) {\n    const data = await productVariantService\n      .unenrollAllUsersCourses(emails)\n      .then(\n        (res) => {\n          return res;\n        },\n        (error) => {\n          if (error.error) handleError(error);\n          return error;\n        }\n      );\n    return data;\n  },\n  async enrollUsersSpecificCourses({ commit }, enrollmentData) {\n    const data = await productVariantService\n      .enrollUsersSpecificCourses(enrollmentData)\n      .then(\n        (res) => {\n          return res;\n        },\n        (error) => {\n          if (error.error) handleError(error);\n          return error;\n        }\n      );\n    return data;\n  },\n  async updateUsersSpecificCoursesSubscription({ commit }, unenrollmentData) {\n    const data = await productVariantService\n      .updateUsersSpecificCoursesSubscription(unenrollmentData)\n      .then(\n        (res) => {\n          return res;\n        },\n        (error) => {\n          if (error.error) handleError(error);\n          return error;\n        }\n      );\n    return data;\n  },\n  async deleteStudentFeedback({commit},ratingId){\n    console.log(\"My Rating Id is: \",ratingId);\n    commit(\"setLoading\", true);\n    await productVariantService.deleteStudentFeedback(ratingId).then(\n      () => {\n        commit(\"setLoading\", false);\n      },(error) => {\n        handleError(error);\n        commit(\"setLoading\", false);\n      }\n    )\n  }\n};\n\nconst mutations = {\n  setProductVariants(state, data) {\n    // console.log(data);\n    state.productVariants = data;\n    state.loading = false;\n  },\n  addProductVariant(state, { data, id }) {\n    if (!state.productVariants.items[id]) {\n      state.productVariants.length += 1;\n    }\n    var updatedItems = {\n      ...state.productVariants.items,\n      [id]: data,\n    };\n    // state.productVariants.items = {\n    // \t...state.productVariants.items,\n    // \t[id]: data,\n    // };\n    state.productVariants = {\n      items: updatedItems,\n      length: state.productVariants.length,\n    };\n    // state.productVariants.items[id] = data;\n    state.loading = false;\n  },\n  addProductVariantByCategory(state, { data, id }) {\n    Vue.set(state.productVariantsByCategory, id, data);\n\n    state.productVariantsByCategory = {\n      ...state.productVariantsByCategory,\n      [id]: data,\n    };\n    state.loading = false;\n  },\n  addProductVariantByProduct(state, { data, id }) {\n    // state.productVariantsByProduct[id] = data;\n    state.productVariantsByProduct = {\n      ...state.productVariantsByProduct,\n      [id]: data,\n    };\n    state.loading = false;\n  },\n  addProductVariantByProductInArray(state, { data, id }) {\n    if (state.productVariantsByProduct[id])\n      state.productVariantsByProduct[id].push(data);\n    else state.productVariantsByProduct[id] = [data];\n    console.log(state.productVariantsByProduct[id], data);\n    state.loading = false;\n  },\n  editProductVariantByProductInArray(state, { data, id }) {\n    console.log(data, id);\n    if (state.productVariantsByProduct[id])\n      state.productVariantsByProduct[id] = state.productVariantsByProduct[\n        id\n      ].map((p) => {\n        if (p.id == data.id) {\n          return data;\n        }\n        return p;\n      });\n    // console.log(state.productVariantsByProduct[id][data.id]);\n    // else state.productVariantsByProduct[id] = [data];\n    // console.log(state.productVariantsByProduct[id], data);\n    state.loading = false;\n  },\n  editProductVariantByCategoryInArray(state, { data, id }) {\n    console.log(data, id);\n    if (state.productVariantsByProduct[id])\n      state.productVariantsByProduct[id] = state.productVariantsByProduct[\n        id\n      ].map((p) => {\n        if (p.id == data.id) {\n          return data;\n        }\n        return p;\n      });\n    // console.log(state.productVariantsByProduct[id][data.id]);\n    // else state.productVariantsByProduct[id] = [data];\n    // console.log(state.productVariantsByProduct[id], data);\n    state.loading = false;\n  },\n  setLoading(state, data) {\n    if (data) {\n      console.log(\"productVariants loading...\");\n    } else {\n      console.log(\"productVariants loading complete!\");\n    }\n    state.loading = data;\n  },\n  setProductVariantsLength(state, value) {\n    state.productVariants.length = value;\n  },\n  addContentToProductVariantDetails(state, data) {\n    console.log(\"productVariants\", data);\n    state.productVariants.items[data.productVariantID].productVariantItems = [\n      ...state.productVariants.items[data.productVariantID].productVariantItems,\n      data.items[0],\n    ];\n  },\n  updateContentInProductVariantDetails(state, data) {\n    console.log(\"productVariants\", data);\n    state.productVariants.items[data.productVariantID].productVariantItems =\n      state.productVariants.items[\n        data.productVariantID\n      ].productVariantItems.map((item) => {\n        if (item.id == data.id) {\n          // data.data.children = item.data.children;\n          return data;\n        } else return item;\n      });\n\n    // state.productVariants.items[data.productVariantID].productVariantItems.push(\n    // \tdata.items[0]\n    // );\n  },\n  removeContentFromProductVariantDetails(state, data) {\n    console.log(\"removeContentFromProductVariantDetails\", data);\n    var filteredItems = state.productVariants.items[\n      data.productVariantID\n    ].productVariantItems.filter((content) => content.id != data.id);\n\n    state.productVariants.items[data.productVariantID].productVariantItems =\n      filteredItems;\n  },\n  clearProductVariants(state) {\n    console.log(\"clearing productVariants\");\n    state.productVariants = { items: {}, length: 0 };\n    state.productVariantsByCategory = {};\n    state.productVariantsByProduct = {};\n  },\n  deleteProductVariant(state, { productVariant, categoryId }) {\n    console.log(\"delete productVariant\", productVariant, categoryId);\n    delete state.productVariants.items[productVariant.id];\n    var variantsByProduct = state.productVariantsByProduct[\n      productVariant.product.id\n    ]\n      ? state.productVariantsByProduct[productVariant.product.id].filter(\n          (v) => v.id != productVariant.id\n        )\n      : [];\n\n    var variantsByCategory = state.productVariantsByCategory[categoryId]\n      ? state.productVariantsByCategory[categoryId].filter(\n          (v) => v.id != productVariant.id\n        )\n      : [];\n    if (state.productVariantsByProduct[productVariant.product.id])\n      state.productVariantsByProduct = {\n        ...state.productVariantsByProduct,\n        [productVariant.product.id]: variantsByProduct,\n      };\n\n    if (state.productVariantsByCategory[categoryId])\n      state.productVariantsByCategory = {\n        ...state.productVariantsByCategory,\n        [categoryId]: variantsByCategory,\n      };\n  },\n};\n\nfunction handleError(error) {\n  // console.log(error);\n  Vue.toasted.error(error.error.message, {\n    icon: \"exclamation-triangle\",\n    theme: \"outline\",\n    position: \"bottom-center\",\n    duration: 3000,\n  });\n  return Promise.reject(error);\n}\n\nexport default {\n  namespaced: true,\n  state,\n  getters,\n  actions,\n  mutations,\n};\n","import { categoryService } from \"../services/category.service\";\nimport Vue from \"vue\";\nimport store from \".\";\nimport { quizService } from \"../services/quiz.service\";\n\nconst state = {\n  loading: false,\n};\n\nconst getters = {};\n\nconst actions = {\n  submitQuizAttempt: async ({ commit }, quizAttempt) => {\n    commit(\"setLoading\", true);\n    var quizAttempt = await quizService.submitQuizAttempt(quizAttempt).then(\n      (quizAttempt) => {\n        commit(\"setLoading\", false);\n        return quizAttempt.payload;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return quizAttempt;\n  },\n\n  getQuizDetail: async ({ commit }, quizAttemptId) => {\n    commit(\"setLoading\", true);\n    var data = await quizService.getQuizDetail(quizAttemptId).then(\n      (data) => {\n        commit(\"setLoading\", false);\n        return data.payload;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n\n  createQuestion: async ({ commit }, quizObj) => {\n    commit(\"setLoading\", true);\n    var quiz = await quizService.createQuestion(quizObj).then(\n      (res) => {\n        commit(\"setLoading\", false);\n        return res;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return quiz;\n  },\n\n  getQuizQuestions: async ({ commit }, contentID) => {\n    commit(\"setLoading\", true);\n\n    var quizQuestions = await quizService.getQuizQuestions(contentID).then(\n      (res) => {\n        commit(\"setLoading\", false);\n        return res?.payload;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return quizQuestions;\n  },\n\n  deleteQuestion: async ({ commit }, questionID) => {\n    commit(\"setLoading\", true);\n\n    var data = await quizService.deleteQuestion(questionID).then(\n      (res) => {\n        commit(\"setLoading\", false);\n        return res;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n\n  updateQuestion: async ({ commit }, obj) => {\n    commit(\"setLoading\", true);\n\n    var data = await quizService.updateQuestion(obj).then(\n      (res) => {\n        commit(\"setLoading\", false);\n        return res;\n      },\n      (error) => {\n        //alert(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n};\n\nconst mutations = {\n  setLoading(state, data) {\n    state.loading = data;\n  },\n};\n\nexport default {\n  namespaced: true,\n  state,\n  getters,\n  actions,\n  mutations,\n};\n","import Vue from \"vue\";\nimport helpers from \"../helpers/CookieHelpers\";\nimport { supportService } from \"../services/support.service\";\nconst user = JSON.parse(localStorage.getItem(\"user\"));\nconst isToken = helpers.checkCookie(\"token\");\n\nconst state = { loading: false, tickets: null, ticketServices: null };\n\nconst getters = {\n  allTickets: (state) => {\n\t\treturn state.tickets;\n\t},\n};\n\nconst actions = {\n  async fetchTickets({ commit },filter) {\n    commit(\"setLoading\", true);\n    if(!filter)\n    {\n      filter={\n        serviceID:null,\n        status:null\n      };\n    }\n    const data = await supportService.fetchTickets(filter.serviceID,filter.status).then(\n      (res) => {\n        var data = res.payload;\n        commit(\"setTickets\", data);\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        handleError(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n  async fetchTicketByID({ commit },id) {\n    commit(\"setLoading\", true);\n    const data = await supportService.fetchTicketByID(id).then(\n      (res) => {\n        var data = res.payload;       \n        commit(\"setTicket\", data);\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        handleError(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n  async fetchTicketReplies({ commit },id) {\n    commit(\"setLoading\", true);\n    const data = await supportService.fetchTicketReplies(id).then(\n      (res) => {\n        var data = res.payload;\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        handleError(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n  async addTicketReply({ commit },supportTicketReply) {\n    commit(\"setLoading\", true);\n    const data = await supportService.addSupportTicketReply(supportTicketReply).then(\n      (res) => {\n        var data = res.payload;\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        handleError(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n  \n  async closeSupportTicket({ commit },supportTicketID) {\n    commit(\"setLoading\", true);\n    debugger;\n    const data = await supportService.closedSupportTicket(supportTicketID).then(\n      (res) => {\n        var data = res.payload;    \n        commit(\"setTicket\", data);\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        handleError(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n  async fetchTicketServices({ commit }) {\n    commit(\"setLoading\", true);\n    const data = await supportService.fetchTicketServices().then(\n      (res) => {\n        var data = res.payload;\n        commit(\"setTicketServices\", data);\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        handleError(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n   createSupportTicket: async ({ commit }, supportTicket ) => {\n   \tcommit(\"setLoading\", true);\n\t\tconst data = await supportService.createSupportTicket(supportTicket).then(\n\t\t\t(res) => {\n\t\t\t\tvar data = res?.payload;\n        debugger;\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\t//alert(error);\n\t\t\t\tVue.toasted.error(error, {\n\t\t\t\t\ticon: \"exclamation-triangle\",\n\t\t\t\t\ttheme: \"outline\",\n\t\t\t\t\tposition: \"bottom-center\",\n\t\t\t\t\tduration: 3000,\n\t\t\t\t});\n\t\t\t\tcommit(\"setLoading\", false);\n\t\t\t}\n\t\t);\n    return data;\n\t},\n\n};\n\nconst mutations = {\n  setLoading(state, data) {\n    if (data) {\n      console.log(\"Tickets loading...\");\n    } else {\n      console.log(\"Tickets loading complete!\");\n    }\n    state.loading = data;\n  },\n  \n  setTickets(state, data) {\n    state.tickets = data;\n  },\n  \n  setTicket(state, data) {\n    var ticket=state.tickets.find(x=>x.id==data.id);\n    if(ticket)\n    {\n      ticket.closedAt=data.closedAt;\n      ticket.closedBy=data.closedBy;\n      ticket.lastTicketReply = data.lastTicketReply;\n      ticket.status = data.status;\n    }\n  },\n  setTicketServices(state, data) {\n    state.ticketServices = data;\n  },\n};\n\nfunction handleError(error) {\n  // console.log(error);\n  // Vue.toasted.error(error.message, {\n  //   icon: \"exclamation-triangle\",\n  //   theme: \"outline\",\n  //   position: \"bottom-center\",\n  //   duration: 3000,\n  // });\n  return Promise.reject(error);\n}\n\nexport default {\n  namespaced: true,\n  state,\n  actions,\n  mutations,\n};\n","import Vue from \"vue\";\nimport router from \"../router\";\nimport store from \"../store/index\";\nimport helpers from \"../helpers/CookieHelpers\";\nimport { userService } from \"../services\";\n\nimport User from \"../models/user\";\nimport ProductVariant from \"../models/productVariant\";\nimport ErrorMessage from \"../constants/errorMessages\";\nimport { minToHoursAndMins } from \"../helpers/FormatHelpers\";\nconst user = JSON.parse(localStorage.getItem(\"user\"));\nconst isToken = helpers.checkCookie(\"token\");\n\nif (!isToken) {\n  localStorage.setItem(\"user\", null);\n}\n\nconst state =\n  isToken && user\n    ? {\n        loggedIn: true,\n        user,\n        trainers: null,\n        allUsers: null,\n        isNextRecordAvailable: true,\n        usersByProductVariant: {},\n        allStudents: null,\n        loading: false,\n        userDevices: {},\n        userDeviceRestrictions: {},\n        emailUsers: null,\n      }\n    : {\n        loggedIn: false,\n        user: null,\n        trainers: null,\n        allUsers: null,\n        usersByProductVariant: {},\n        allStudents: null,\n        loading: false,\n        userDevices: {},\n        userDeviceRestrictions: {},\n        emailUsers: null,\n        userCredentials: {\n          username: null,\n          password: null,\n        },\n      };\n\nconst actions = {\n  async login({ commit }, { username, password }) {\n    // try {\n    commit(\"setLoading\", true);\n    const response = await userService\n      .login(username, password)\n      .then((response) => {\n        console.log(response);\n        if (response) {\n          commit(\"setLoading\", false);\n          commit(\"loginSuccess\", response.payload.user);\n          store.dispatch(\"appState/stopLoading\");\n          if (response.payload.user.role.toLowerCase() == \"student\") {\n            actions.fetchCurrentUser({ commit }).then(() => {\n              // console.log(store.state.cart.cart.items);\n              var cartItemsToRemove = store.state.cart.cart.items.filter(\n                (item) => {\n                  var variantIsEnrolled = state.user.productVariants.find(\n                    (variant) => variant.id == item.id\n                  );\n                  if (variantIsEnrolled) return item;\n                }\n              );\n\n              console.log(cartItemsToRemove);\n              cartItemsToRemove.forEach((item) => {\n                store.dispatch(\"cart/removeFromCart\", item);\n              });\n            });\n          }\n          return response.payload.user;\n        }\n      })\n      .catch((error) => {\n        handleError(error);\n        // console.log(error);\n        commit(\"loginFailure\");\n        store.dispatch(\"appState/stopLoading\");\n        return Promise.reject(error);\n      });\n    return response;\n    // }\n    // catch (error) {\n    // \thandleError(error);\n    // \t// console.log(error);\n    // \tcommit(\"loginFailure\");\n    // \tstore.dispatch(\"appState/stopLoading\");\n    // \t// console.log(error);\n    // \treturn error;\n    // }\n  },\n  logout({ commit }) {\n    userService.logout();\n    commit(\"logout\");\n    console.log(\"logging out\");\n    store.commit(\"productVariant/clearProductVariants\");\n    store.commit(\"content/clearContent\");\n\n    router.push(\"/account/login\").catch(() => {});\n  },\n  async register({ commit }, user) {\n    console.log(\"store register function called\");\n    const response = await userService.register(user).then(\n      (res) => {\n        // console.log(res);\n        store.dispatch(\"appState/stopLoading\");\n        if (res) {\n          const data = res.payload;\n          return data;\n        }\n      },\n      (error) => {\n        console.error(error);\n        // handleError(error);\n        store.dispatch(\"appState/stopLoading\");\n        return Promise.reject(error);\n      }\n    );\n    return response;\n  },\n  async generateOTP({ commit }, userData) {\n    commit(\"setLoading\", true);\n    console.log(\"store generateOTP function called\");\n    const response = await userService.generateOTP(userData).then(\n      (res) => {\n        // console.log(res);\n        store.dispatch(\"appState/stopLoading\");\n        if (res) {\n          commit(\"setLoading\", false);\n          const data = res.payload;\n          return data;\n        }\n      },\n      (error) => {\n        commit(\"setLoading\", false);\n        store.dispatch(\"appState/stopLoading\");\n        return Promise.reject(error);\n      }\n    );\n    return response;\n  },\n  async verifyOTP({ commit }, otpData) {\n    commit(\"setLoading\", true);\n    console.log(\"store verifyOTP function called\");\n    const response = await userService.verifyOTP(otpData).then(\n      (res) => {\n        // console.log(res);\n        store.dispatch(\"appState/stopLoading\");\n        if (res) {\n          commit(\"setLoading\", false);\n          const data = res.payload;\n          return data;\n        }\n      },\n      (error) => {\n        commit(\"setLoading\", false);\n        console.error(error);\n        // handleError(error);\n        store.dispatch(\"appState/stopLoading\");\n        return Promise.reject(error);\n      }\n    );\n    return response;\n  },\n  async resetPassword({ commit }, resetObject) {\n    commit(\"setLoading\", true);\n    console.log(\"store resetPassword function called\");\n    const response = await userService.resetPassword(resetObject).then(\n      (res) => {\n        // console.log(res);\n        commit(\"setLoading\", false);\n        store.dispatch(\"appState/stopLoading\");\n        if (res) {\n          const data = res.payload;\n          return data;\n        }\n      },\n      (error) => {\n        console.error(error);\n        // handleError(error);\n        store.dispatch(\"appState/stopLoading\");\n        return Promise.reject(error);\n      }\n    );\n    return response;\n  },\n  async fetchCurrentUser({ commit }) {\n    console.log(\"current user function called\");\n    await userService.getCurrentUser().then((res) => {\n      var user = res.payload;\n      // console.log(user);\n      if (user.productVariants && user.productVariants.length > 0) {\n        console.log(user.productVariants);\n        user.productVariants = user.productVariants.map((v) => {\n          v.properties = {\n            ...v.properties,\n            pricing: { currency: \"PKR\", amount: 0 },\n            ratings: { value: v.rating, numberOfRatings: 0 },\n            ...(v.productVariantExtraProperties?JSON.parse(v.productVariantExtraProperties):null)\n          };\n          if (v.product) {\n            v.product.productThumbnailPath =\n              \"assets/images/sample-thumbnail.jpeg\";\n            v.product.productFriendlyTitle = v.product.productTitle\n              ? v.product.productTitle\n                  .toLowerCase()\n                  .replace(\" - \", \"-\")\n                  .replace(/\\s/g, \"-\")\n              : null;\n          }\n          return new ProductVariant(v);\n        });\n      }\n      store.dispatch(\"appState/stopLoading\");\n      commit(\"userDataFetched\", user);\n      // localStorage.setItem(\"user\", JSON.stringify(new User(user)));\n    }),\n      (error) => {\n        handleError(error);\n      };\n  },\n  async updateUserProfile({ commit }, userData) {\n    commit(\"setLoading\", true);\n    await userService.editUserProfile(userData).then((user) => {\n      console.log(user);\n      commit(\"setLoading\", false);\n      store.dispatch(\"appState/stopLoading\");\n      // commented due to malfunction on backend\n      // -------------------------------------------------\n      // commit(\"updateUserProperty\", userData);\n      // commit(\"updateUser\", user.payload);\n      // localStorage.setItem(\"user\", JSON.stringify(user.payload));\n      // -------------------------------------------------\n    });\n  },\n  async changeUserPassword({ commit }, userData) {\n    commit(\"setLoading\", true);\n    await userService.editUserPassword(userData).then((user) => {\n      commit(\"setLoading\", false);\n      console.log(user);\n      store.dispatch(\"appState/stopLoading\");\n    });\n  },\n  async fetchTrainersList({ commit }) {\n    await userService.fetchTrainersList().then(\n      (response) => {\n        var data = response.payload;\n        commit(\"setTrainers\", data);\n        store.dispatch(\"appState/stopLoading\");\n      },\n      (error) => {\n        handleError(error);\n        // console.log(error);\n      }\n    );\n  },\n  async fetchUsersList({ commit }, type) {\n    commit(\"setLoading\", true);\n\n    await userService.fetchUsersList(type).then(\n      (response) => {\n        var data = response.payload;\n        if (type) {\n          type.toLowerCase() == \"student\"\n            ? commit(\"setStudents\", data)\n            : type.toLowerCase() == \"trainer\"\n            ? commit(\"setTrainers\", data)\n            : commit(\"setUsers\", data);\n        } else {\n          commit(\"setUsers\", data);\n        }\n        commit(\"setLoading\", false);\n        store.dispatch(\"appState/stopLoading\");\n      },\n      (error) => {\n        // console.log(error);\n        handleError(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n  async exportUsersList({ commit }, { type, searchString, status }) {\n    var result = undefined;\n    await userService.exportUsersList({ type, searchString, status }).then(\n      (response) => {\n        result = response;\n      },\n      (error) => {\n        // console.log(error);\n        handleError(error);\n      }\n    );\n    const blob = await result.blob();\n    const newBlob = new Blob([blob]);\n    const blobUrl = window.URL.createObjectURL(newBlob);\n    return blobUrl;\n  },\n  async exportUsersEnrollmentReport({ commit }, productVariantId = undefined) {\n    var result = undefined;\n    await userService.exportUsersEnrollmentReport(productVariantId).then(\n      (response) => {\n        result = response;\n      },\n      (error) => {\n        // console.log(error);\n        handleError(error);\n      }\n    );\n    const contentDisposition = result.headers.get(\"content-disposition\");\n    const filename = contentDisposition.split(\"filename=\")[1].split(\";\")[0];\n    console.log(filename);\n\n    const blob = await result.blob();\n\n    const newBlob = new Blob([blob]);\n    const blobUrl = window.URL.createObjectURL(newBlob);\n    return { name: filename, url: blobUrl };\n  },\n  async fetchPaginatedUsersList(\n    { commit },\n    { type, pageSize, nextPageToken, searchString, status }\n  ) {\n    commit(\"setLoading\", true);\n\n    var result = undefined;\n    await userService\n      .fetchPaginatedUsersList({\n        type,\n        pageSize,\n        nextPageToken,\n        searchString,\n        status,\n      })\n      .then(\n        (response) => {\n          result = response;\n          var data = response.payload;\n          if (type) {\n            type.toLowerCase() == \"student\"\n              ? nextPageToken\n                ? commit(\"appendStudents\", data)\n                : commit(\"setStudents\", data)\n              : type.toLowerCase() == \"trainer\"\n              ? nextPageToken\n                ? commit(\"appendTrainers\", data)\n                : commit(\"setTrainers\", data)\n              : nextPageToken\n              ? commit(\"appendUsers\", data)\n              : commit(\"setUsers\", data);\n          }\n          if (nextPageToken) {\n            commit(\"appendUsers\", data);\n          } else {\n            commit(\"setUsers\", data);\n          }\n\n          if (data == null || data.length <= 0) {\n            commit(\"nextRecordNotAvailable\", data);\n          } else {\n            commit(\"nextRecordAvailable\", data);\n          }\n\n          commit(\"setLoading\", false);\n          store.dispatch(\"appState/stopLoading\");\n        },\n        (error) => {\n          // console.log(error);\n          handleError(error);\n          commit(\"setLoading\", false);\n        }\n      );\n\n    return result;\n  },\n  async fetchUserById({ commit }, id) {\n    commit(\"setLoading\", true);\n    await userService.fetchUserById(id).then(\n      (response) => {\n        var data = response.payload;\n        commit(\"addUser\", data);\n\n        commit(\"setLoading\", false);\n        store.dispatch(\"appState/stopLoading\");\n      },\n      (error) => {\n        // console.log(error);\n        handleError(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n  async fetchUsersByProductVariant({ commit }, id) {\n    commit(\"setLoading\", true);\n    await userService.fetchUsersByProductVariant(id).then(\n      (response) => {\n        var data = response.payload;\n        commit(\"setUsersByProductVariant\", { users: data, id });\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        // console.log(error);\n        handleError(error);\n      }\n    );\n  },\n  async createUser({ commit }, user) {\n    commit(\"setLoading\", true);\n    const res = await userService.createUser(user).then(\n      (response) => {\n        var data = response.payload;\n        commit(\"addUser\", data);\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        // console.log(error);\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n\t\tlet _error = error.message;\n        _error.user = error.user;\n        return handleError(_error);\n      }\n    );\n    return res;\n  },\n  async editUser({ commit }, user) {\n    commit(\"setLoading\", true);\n    await userService.editUser(user).then(\n      (response) => {\n        var data = response.payload;\n        commit(\"updateUser\", data);\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        // console.log(error);\n        handleError(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n  async updateUserStatus({ commit }, user) {\n    commit(\"setLoading\", true);\n    await userService.updateUserStatus(user).then(\n      (response) => {\n        // var data = response.payload;\n        user.user.status = user.status;\n        commit(\"updateUser\", user.user);\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        // console.log(error);\n        handleError(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n  async deleteUser({ commit }, user) {\n    commit(\"setLoading\", true);\n    await userService.deleteUser(user.id).then(\n      (response) => {\n        // var data = response.payload;\n        commit(\"deleteUser\", user);\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        // console.log(error);\n        handleError(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n  async enrollUserInProductVariant({ commit }, data) {\n    commit(\"setLoading\", true);\n    await userService.enrollUserInProductVariant(data.requestObj).then(\n      () => {\n        // var data = response.payload;\n        data.user.enrollmentStatus = \"Allowed\";\n        commit(\"setUsersByProductVariant\", {\n          users: [data.user],\n          id: data.requestObj.productVariantID,\n        });\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        handleError(error);\n        // console.log(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n  async editUserErollmentInProductVariant({ commit }, data) {\n    commit(\"setLoading\", true);\n    await userService.editUserErollmentInProductVariant(data).then(\n      () => {\n        if (data.status.toLowerCase() == \"unenrolled\") {\n          commit(\"removeUsersByProductVariant\", {\n            user: data.userID,\n            id: data.productVariantID,\n          });\n\n          // Removed bcz unecessary user list was being fetched causing lag\n          //actions.fetchUsersList({ commit });\n          \n        } else commit(\"updateUsersByProductVariant\", data);\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        handleError(error);\n        // console.log(error);\n        commit(\"setLoading\", false);\n      }\n    );\n  },\n  async editUserSubscription({ commit }, data) {\n    commit(\"setLoading\", true);\n    var res = await userService.editUserSubscription(data).then(\n      () => {\n        // commit(\"updateUsersByProductVariant\", data);\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n      },\n      (error) => {\n        // console.log(error);\n        commit(\"setLoading\", false);\n        return handleError(error);\n      }\n    );\n    console.log(res, \"r\");\n    return res;\n  },\n  async fetchUserDevices({ commit }, user) {\n    commit(\"setLoading\", true);\n    const data = await userService.fetchUserDevices(user.username).then(\n      (res) => {\n        var data = res.payload;\n        if (user.id) commit(\"setUserDevices\", { data, id: user.id });\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        handleError(error);\n        commit(\"setLoading\", false);\n      }\n    );\n    return data;\n  },\n  async resetUserDevices({ commit }, user) {\n    commit(\"setLoading\", true);\n    const data = await userService.resetUserDevices(user.id).then(\n      () => {\n        commit(\"setUserDevices\", { data: [], id: user.id });\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n        return true;\n      },\n      (error) => {\n        handleError(error);\n        commit(\"setLoading\", false);\n        return false;\n      }\n    );\n    return data;\n  },\n  async resetUserDeviceById({ commit }, resetData) {\n    commit(\"setLoading\", true);\n    const data = await userService\n      .resetUserDeviceById({\n        deviceID: resetData.deviceID,\n        username: resetData.username,\n      })\n      .then(\n        () => {\n          if (resetData.user)\n            commit(\"removeUserDeviceById\", {\n              deviceID: resetData.deviceID,\n              userID: resetData.user.id,\n            });\n          store.dispatch(\"appState/stopLoading\");\n          commit(\"setLoading\", false);\n          return true;\n        },\n        (error) => {\n          commit(\"setLoading\", false);\n          handleError(error);\n          return Promise.reject(error);\n        }\n      )\n      .catch((error) => {\n        commit(\"setLoading\", false);\n        handleError(error);\n        return Promise.reject(error);\n      });\n    return data;\n  },\n  async fetchUserDeviceRestrictions({ commit }, user) {\n    commit(\"setLoading\", true);\n    const data = await userService.fetchUserDeviceRestrictions(user.id).then(\n      (res) => {\n        var data = res.payload;\n        commit(\"setDeviceRestrictions\", { data: data, id: user.id });\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        handleError(error);\n        commit(\"setLoading\", false);\n        return false;\n      }\n    );\n    return data;\n  },\n  async setUserDeviceRestrictions({ commit }, restrictions) {\n    commit(\"setLoading\", true);\n    const data = await userService.setUserDeviceRestrictions(restrictions).then(\n      () => {\n        // commit(\"setUserDevices\", { data: [], id: user.id });\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n        return true;\n      },\n      (error) => {\n        handleError(error);\n        commit(\"setLoading\", false);\n        return false;\n      }\n    );\n    return data;\n  },\n  async allUsersDevicesReset({ commit }, emails) {\n    const data = await userService.allUsersDevicesReset(emails).then(\n      (res) => {\n        store.dispatch(\"appState/stopLoading\");\n        return { ok: true };\n      },\n      (error) => {\n        //handleError(error);\n        return error;\n      }\n    );\n    return data;\n  },\n\n  async markUsersStatus({ commit }, requestData) {\n    const data = await userService.markUsersStatus(requestData).then(\n      (res) => {\n        store.dispatch(\"appState/stopLoading\");\n        return { ok: true };\n      },\n      (error) => {\n        //handleError(error);\n        return error;\n      }\n    );\n    return data;\n  },\n  async getUsersByEmails({ commit }, emails) {\n    commit(\"setLoading\", true);\n    const _data = await userService.getUsersByEmails(emails).then(\n      (response) => {\n        var data = response.payload;\n        commit(\"setUsersByEmails\", { users: data });\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        let _error = { message: \"No Users found\" };\n        // handleError(_error);\n      }\n    );\n    return _data;\n  },\n\n  async generateVerificationID({ commit }, data) {\n    commit(\"setLoading\", true);\n    const _data = await userService.generateVerificationID(data).then(\n      (response) => {\n        var data = response.payload;\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        return error;\n        // handleError(_error);\n      }\n    );\n    return _data;\n  },\n\n  async verifyUser({ commit }, data) {\n    commit(\"setLoading\", true);\n    const _data = await userService.verifyUser(data).then(\n      (response) => {\n        var data = response;\n        store.dispatch(\"appState/stopLoading\");\n        commit(\"setLoading\", false);\n        return data;\n      },\n      (error) => {\n        commit(\"setLoading\", false);\n\n        return error;\n        // handleError(_error);\n      }\n    );\n    return _data;\n  },\n};\n\nconst mutations = {\n  // updateUserProperty(updated) {\n  // \tstate.user = { ...state.user, ...updated };\n  // },\n  loginSuccess(state, user) {\n    state.loggedIn = true;\n    state.user = new User(user);\n    localStorage.setItem(\"user\", JSON.stringify(new User(user)));\n    console.log(\"login successful\");\n  },\n  loginFailure(state) {\n    state.loggedIn = false;\n    state.user = null;\n    state.loading = false;\n    console.log(\"login unsuccessful\");\n  },\n  logout(state) {\n    state.loggedIn = false;\n    state.user = null;\n  },\n  userDataFetched(state, data) {\n    console.log(\"userDataFetched\", data);\n    // state.loggedIn = true;\n    console.log(new User(data));\n    state.user = new User(data);\n    localStorage.setItem(\"user\", JSON.stringify(new User(data)));\n  },\n  setTrainers(state, data) {\n    state.trainers = data;\n  },\n  appendTrainers(state, data) {\n    state.trainers.concat(data);\n  },\n  setUsers(state, data) {\n    state.allUsers = data;\n  },\n  appendUsers(state, data) {\n    state.allUsers = state.allUsers.concat(data);\n  },\n  nextRecordNotAvailable(state, data) {\n    state.isNextRecordAvailable = false;\n  },\n  nextRecordAvailable(state, data) {\n    state.isNextRecordAvailable = true;\n  },\n  appendStudents(state, data) {\n    state.allStudents.concat(data);\n  },\n  addUser(state, user) {\n    console.log(\"addUser\", user);\n    if (user.type.toLowerCase() == \"trainer\") {\n      mutations.addTrainer(user);\n    }\n    if (user.type.toLowerCase() == \"student\") {\n      mutations.addStudent(user);\n    }\n    if (state.allUsers && state.allUsers.length > 0) {\n      var found = state.allUsers.find((u) => u.id == user.id);\n      if (!found) {\n        state.allUsers = [...state.allUsers, user];\n      } else {\n        state.allUsers = [\n          ...state.allUsers.map((u) => {\n            if (u.id == user.id) {\n              return user;\n            } else return u;\n          }),\n        ];\n      }\n    } else {\n      state.allUsers = [user];\n    }\n  },\n  addTrainer(user) {\n    if (state.trainers && state.trainers.length > 0) {\n      var found = state.trainers.find((trainer) => trainer.id == user.id);\n      if (!found) {\n        state.trainers = [...state.trainers, user];\n      } else {\n        state.trainers = [\n          ...state.trainers.map((trainer) => {\n            if (trainer.id == user.id) {\n              return user;\n            } else return trainer;\n          }),\n        ];\n      }\n      console.log(\"addUserTrainer\", user);\n      // state.trainers = [...state.trainers, user];\n    } else state.trainers = [user];\n  },\n  addStudent(user) {\n    if (state.allStudents) {\n      var found = state.allStudents.find((student) => student.id == user.id);\n      if (!found) {\n        state.allStudents = [...state.allStudents, user];\n      } else {\n        state.allStudents = [\n          ...state.allStudents.map((student) => {\n            if (student.id == user.id) {\n              return user;\n            } else return student;\n          }),\n        ];\n      }\n    } else state.allStudents = [user];\n  },\n  updateUser(state, user) {\n    console.log(\"setting state user\", user);\n    state.allUsers = state.allUsers.map((u) => {\n      if (u.id === user.id) {\n        return user;\n      }\n      return u;\n    });\n    if (state.allStudents) {\n      state.allStudents = state.allStudents.map((u) => {\n        if (u.id === user.id) {\n          return user;\n        }\n        return u;\n      });\n    }\n    if (state.trainers) {\n      state.trainers = state.trainers.map((u) => {\n        if (u.id === user.id) {\n          return user;\n        }\n        return u;\n      });\n    }\n  },\n  deleteUser(state, user) {\n    console.log(\"setting state user\", user);\n\n    state.allUsers = state.allUsers.filter((u) => u.id != user.id);\n    if (state.allStudents) {\n      state.allStudents = state.allStudents.map((u) => u.id != user.id);\n    }\n  },\n  setUsersByProductVariant(state, data) {\n    if (state.usersByProductVariant[data.id]) {\n      var unchanged = state.usersByProductVariant[data.id].filter((user) => {\n        var found = data.users.find((u) => u.id == user.id);\n        if (!found) {\n          return user;\n        }\n      });\n      console.log(unchanged);\n      state.usersByProductVariant = {\n        ...state.usersByProductVariant,\n        [data.id]: [...unchanged, ...data.users],\n      };\n    } else\n      state.usersByProductVariant = {\n        ...state.usersByProductVariant,\n        [data.id]: data.users,\n      };\n  },\n  updateUsersByProductVariant(state, data) {\n    if (state.usersByProductVariant[data.productVariantID])\n      state.usersByProductVariant = {\n        ...state.usersByProductVariant,\n        [data.productVariantID]: state.usersByProductVariant[\n          data.productVariantID\n        ].map((u) => {\n          if (u.id == data.userID) u.enrollmentStatus = data.status;\n          return u;\n        }),\n      };\n    else\n      state.usersByProductVariant = {\n        ...state.usersByProductVariant,\n        [data.id]: data.users,\n      };\n  },\n  removeUsersByProductVariant(state, data) {\n    if (state.usersByProductVariant[data.id]) {\n      var updateUsers = state.usersByProductVariant[data.id].filter(\n        (user) => user.id != data.user\n      );\n      state.usersByProductVariant = {\n        ...state.usersByProductVariant,\n        [data.id]: updateUsers,\n      };\n    }\n  },\n  setUserDevices(state, deviceData) {\n    console.log(\"setUserDevices\", deviceData);\n    if (deviceData.data)\n      state.userDevices = {\n        ...state.userDevices,\n        [deviceData.id]: deviceData.data,\n      };\n    state.loading = false;\n  },\n  removeUserDeviceById(state, deviceData) {\n    console.log(\"resetUserDeviceById\", deviceData);\n    // if (deviceData.data)\n    state.userDevices = {\n      ...state.userDevices,\n      [deviceData.userID]: state.userDevices[deviceData.userID].filter(\n        (device) => device.id != deviceData.deviceID\n      ),\n    };\n    state.loading = false;\n  },\n  setDeviceRestrictions(state, restrictionData) {\n    console.log(\"setDeviceRestrictions\", restrictionData);\n    if (restrictionData.data)\n      state.userDeviceRestrictions = {\n        ...state.userDeviceRestrictions,\n        [restrictionData.id]: restrictionData.data,\n      };\n    state.loading = false;\n  },\n  setUsersByEmails(state, users) {\n    state.emailUsers = users;\n  },\n  setLoading(state, data) {\n    if (data) {\n      console.log(\"users loading...\");\n    } else {\n      console.log(\"users loading complete!\");\n    }\n    state.loading = data;\n  },\n};\n\nfunction handleError(error) {\n  console.log({ error });\n\n  if (error.errorCode == \"149\") {\n    Vue.toasted.success(\"Email Verification Required\", {\n      theme: \"outline\",\n      position: \"bottom-center\",\n      duration: 5000,\n    });\n    return;\n  } else if (error.errorCode == \"150\") {\n    Vue.toasted.success(\"Phone Verification Required\", {\n      theme: \"outline\",\n      position: \"bottom-center\",\n      duration: 5000,\n    });\n    return;\n  }\n\n  Vue.toasted.error(error.message, {\n    icon: \"exclamation-triangle\",\n    theme: \"outline\",\n    position: \"bottom-center\",\n    duration: 3000,\n  });\n  return Promise.reject(error);\n}\n\nexport default {\n  namespaced: true,\n  state,\n  actions,\n  mutations,\n};\n","export default function csvToJSON(csv) {\n\tconst array = csv.toString().split(\"\\r\\n\");\n\n\t/* Store the converted result into an array */\n\tconst csvToJsonResult = [];\n\n\t/* Store the CSV column headers into seprate variable */\n\tconst headers = array[0].split(\",\");\n\t// console.log(headers);\n\n\t/* Iterate over the remaning data rows */\n\tfor (let i = 1; i < array.length - 1; i++) {\n\t\t/* Empty object to store result in key value pair */\n\t\tconst jsonObject = {};\n\t\t/* Store the current array element */\n\t\tconst currentArrayString = array[i];\n\t\tlet string = \"\";\n\n\t\tlet quoteFlag = 0;\n\t\tfor (let character of currentArrayString) {\n\t\t\tif (character === '\"' && quoteFlag === 0) {\n\t\t\t\tquoteFlag = 1;\n\t\t\t} else if (character === '\"' && quoteFlag == 1) quoteFlag = 0;\n\t\t\tif (character === \",\" && quoteFlag === 0) character = \"|\";\n\t\t\tif (character !== '\"') string += character;\n\t\t}\n\n\t\tlet jsonProperties = string.split(\"|\");\n\n\t\tfor (let j in headers) {\n\t\t\tif (jsonProperties[j].includes(\",\")) {\n\t\t\t\tjsonObject[headers[j]] = jsonProperties[j]\n\t\t\t\t\t.split(\",\")\n\t\t\t\t\t.map((item) => item.trim());\n\t\t\t} else jsonObject[headers[j]] = jsonProperties[j];\n\t\t}\n\t\t/* Push the genearted JSON object to resultant array */\n\t\tcsvToJsonResult.push(jsonObject);\n\t}\n\t/* Convert the final array to JSON */\n\t// const json = JSON.stringify(csvToJsonResult);\n\tconsole.log(csvToJsonResult);\n\treturn csvToJsonResult;\n}\n","export default async function externalComponent(url, css = null) {\n\tconst name = url\n\t\t.split(`/`)\n\t\t.reverse()[0]\n\t\t.match(/^(.*?)\\.umd/)[1];\n\n\tif (window[name]) return window[name];\n\n\twindow[name] = new Promise((resolve, reject) => {\n\t\tif (css) {\n\t\t\tconst cssElement = document.createElement(\"link\");\n\t\t\tcssElement.rel = \"stylesheet\";\n\t\t\tcssElement.type = \"text/css\";\n\t\t\tcssElement.href = css;\n\t\t\tdocument.head.appendChild(cssElement);\n\t\t}\n\n\t\tconst script = document.createElement(`script`);\n\t\tscript.async = true;\n\t\tscript.addEventListener(`load`, () => {\n\t\t\tresolve(window[name]);\n\t\t});\n\t\tscript.addEventListener(`error`, () => {\n\t\t\treject(new Error(`Error loading ${url}`));\n\t\t});\n\t\tscript.src = url;\n\t\tdocument.head.appendChild(script);\n\t});\n\n\treturn window[name];\n}\n","export default function XLSXtoJSON(file) {\n\tlet reader = new FileReader();\n\n\treader.onload = function (event) {\n\t\tconsole.log(event);\n\t\tvar data = event.target.result;\n\t\tvar workbook = XLSX.read(data, {\n\t\t\ttype: \"binary\",\n\t\t});\n\n\t\tvar sheetsJSONArray = [];\n\n\t\tworkbook.SheetNames.forEach(function (sheet) {\n\t\t\tlet rowObject = XLSX.utils.sheet_to_row_object_array(\n\t\t\t\tworkbook.Sheets[sheet]\n\t\t\t);\n\t\t\tsheetsJSONArray.push(rowObject);\n\t\t\t// console.log(rowObject);\n\t\t});\n\t\treturn sheetsJSONArray;\n\t};\n\n\treader.readAsBinaryString(file);\n}\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 32888;\nmodule.exports = webpackEmptyContext;","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 12398;\nmodule.exports = webpackEmptyContext;","var map = {\n\t\"./al-midrar\": 25080,\n\t\"./al-midrar.js\": 25080,\n\t\"./anees_hussain\": 59040,\n\t\"./anees_hussain.js\": 59040,\n\t\"./astc\": 26068,\n\t\"./astc.js\": 26068,\n\t\"./default\": 55024,\n\t\"./default.js\": 55024,\n\t\"./edcentra\": 20130,\n\t\"./edcentra.js\": 20130\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35102;","var map = {\n\t\"./App\": 91686,\n\t\"./App.vue\": 91686,\n\t\"./assets/css/style.css\": 15549,\n\t\"./assets/fonts/Circular Std Black.ttf\": 16756,\n\t\"./assets/fonts/Circular Std Bold.ttf\": 13145,\n\t\"./assets/fonts/Circular Std Book.ttf\": 60072,\n\t\"./assets/fonts/Circular Std Medium.ttf\": 6691,\n\t\"./assets/fonts/Poppins-Black.ttf\": 89514,\n\t\"./assets/fonts/Poppins-BlackItalic.ttf\": 98374,\n\t\"./assets/fonts/Poppins-Bold.ttf\": 33965,\n\t\"./assets/fonts/Poppins-BoldItalic.ttf\": 84247,\n\t\"./assets/fonts/Poppins-ExtraBold.ttf\": 58911,\n\t\"./assets/fonts/Poppins-ExtraBoldItalic.ttf\": 49955,\n\t\"./assets/fonts/Poppins-ExtraLight.ttf\": 39064,\n\t\"./assets/fonts/Poppins-ExtraLightItalic.ttf\": 90106,\n\t\"./assets/fonts/Poppins-Italic.ttf\": 9262,\n\t\"./assets/fonts/Poppins-Light.ttf\": 2519,\n\t\"./assets/fonts/Poppins-LightItalic.ttf\": 48568,\n\t\"./assets/fonts/Poppins-Medium.ttf\": 7318,\n\t\"./assets/fonts/Poppins-MediumItalic.ttf\": 58317,\n\t\"./assets/fonts/Poppins-Regular.ttf\": 27588,\n\t\"./assets/fonts/Poppins-SemiBold.ttf\": 98167,\n\t\"./assets/fonts/Poppins-SemiBoldItalic.ttf\": 86386,\n\t\"./assets/fonts/Poppins-Thin.ttf\": 89781,\n\t\"./assets/fonts/Poppins-ThinItalic.ttf\": 12913,\n\t\"./assets/images/add-border-icon-red.svg\": 34150,\n\t\"./assets/images/add-border-icon.svg\": 57946,\n\t\"./assets/images/admin-dashboard-icon.svg\": 44838,\n\t\"./assets/images/admission-processing-icon.svg\": 23935,\n\t\"./assets/images/align-right-icon.svg\": 74771,\n\t\"./assets/images/android.png\": 60292,\n\t\"./assets/images/arrow-bottom-red.svg\": 1322,\n\t\"./assets/images/arrow-bottom.svg\": 99525,\n\t\"./assets/images/arrow-right.svg\": 15327,\n\t\"./assets/images/assignment.png\": 31269,\n\t\"./assets/images/attachment-icon.svg\": 84054,\n\t\"./assets/images/attachment.svg\": 57622,\n\t\"./assets/images/banner-right-person.png\": 93265,\n\t\"./assets/images/banner-right-vector.svg\": 12633,\n\t\"./assets/images/banner1.jpg\": 82464,\n\t\"./assets/images/bell-icon.svg\": 35396,\n\t\"./assets/images/bell.svg\": 71213,\n\t\"./assets/images/bold-icon.svg\": 73002,\n\t\"./assets/images/book-circle-cyan-icon.svg\": 80366,\n\t\"./assets/images/brush-icon.svg\": 4743,\n\t\"./assets/images/calculator-icon.svg\": 93750,\n\t\"./assets/images/calendar-time-icon.svg\": 36296,\n\t\"./assets/images/cancel-icon-red.svg\": 72498,\n\t\"./assets/images/cancel-icon.svg\": 81288,\n\t\"./assets/images/caret-down.svg\": 56922,\n\t\"./assets/images/caret-right.svg\": 12614,\n\t\"./assets/images/cart.svg\": 7890,\n\t\"./assets/images/cash_logo.png\": 12444,\n\t\"./assets/images/category-icon.svg\": 16007,\n\t\"./assets/images/check-green-circle-icon.svg\": 52661,\n\t\"./assets/images/check-green-icon.svg\": 42621,\n\t\"./assets/images/check-icon-green-circle.svg\": 40957,\n\t\"./assets/images/check-icon-green.svg\": 69598,\n\t\"./assets/images/check-icon.svg\": 61698,\n\t\"./assets/images/circle-round-arrow-next.svg\": 76571,\n\t\"./assets/images/circle-round-arrow-previous.svg\": 18910,\n\t\"./assets/images/course-management-icon.svg\": 7048,\n\t\"./assets/images/cross-icon.svg\": 92447,\n\t\"./assets/images/delete-icon-lg.svg\": 47054,\n\t\"./assets/images/delete-icon.svg\": 6668,\n\t\"./assets/images/desktop.png\": 80627,\n\t\"./assets/images/doc-icon.png\": 86514,\n\t\"./assets/images/drag-icon.svg\": 35252,\n\t\"./assets/images/edit-alt-icon.svg\": 1133,\n\t\"./assets/images/edit-icon-lg.svg\": 79314,\n\t\"./assets/images/edit-icon.svg\": 44131,\n\t\"./assets/images/escribir.png\": 92663,\n\t\"./assets/images/exam-icon.png\": 27606,\n\t\"./assets/images/exam-paper-icon.svg\": 1896,\n\t\"./assets/images/exam-paper-white-icon.svg\": 64123,\n\t\"./assets/images/exam-test.png\": 90284,\n\t\"./assets/images/exam.svg\": 57469,\n\t\"./assets/images/feedback-icon.svg\": 77625,\n\t\"./assets/images/filter-icon.svg\": 50030,\n\t\"./assets/images/flag-circle-blue-icon.svg\": 7210,\n\t\"./assets/images/flash-card.png\": 84575,\n\t\"./assets/images/flashcards.svg\": 90883,\n\t\"./assets/images/folder-icon.png\": 21072,\n\t\"./assets/images/freeText.png\": 97561,\n\t\"./assets/images/free_text.svg\": 20924,\n\t\"./assets/images/gocbe_logo.png\": 49012,\n\t\"./assets/images/gocbe_logo_dark_bg.png\": 136,\n\t\"./assets/images/gocbe_logo_small.png\": 38893,\n\t\"./assets/images/hamburger.png\": 85893,\n\t\"./assets/images/hamburger.svg\": 46691,\n\t\"./assets/images/highlighter-icon.svg\": 28309,\n\t\"./assets/images/homeFooterBack.jpg\": 32713,\n\t\"./assets/images/ibft_logo.png\": 11309,\n\t\"./assets/images/ihdinaa.png\": 4223,\n\t\"./assets/images/image-error.png\": 83508,\n\t\"./assets/images/in-progress-icon.svg\": 30589,\n\t\"./assets/images/info-icon.svg\": 73359,\n\t\"./assets/images/ios.png\": 36696,\n\t\"./assets/images/italic-icon.svg\": 50015,\n\t\"./assets/images/item-1.png\": 94198,\n\t\"./assets/images/item-2.png\": 53851,\n\t\"./assets/images/list-icon.svg\": 12714,\n\t\"./assets/images/list-red-icon.svg\": 42622,\n\t\"./assets/images/live-class-gray-icon.svg\": 61685,\n\t\"./assets/images/live-class-missed-icon.svg\": 31364,\n\t\"./assets/images/live-class-present-icon.svg\": 28766,\n\t\"./assets/images/live-class.svg\": 33956,\n\t\"./assets/images/live_class.svg\": 74877,\n\t\"./assets/images/logo.png\": 74427,\n\t\"./assets/images/logo_JazzCash.png\": 2461,\n\t\"./assets/images/logout-icon.svg\": 10709,\n\t\"./assets/images/menu-icon-admin-header.png\": 59022,\n\t\"./assets/images/menu-icon-admin-header.svg\": 82346,\n\t\"./assets/images/menuBack.png\": 88736,\n\t\"./assets/images/messages-icon.svg\": 31906,\n\t\"./assets/images/minus-border-icon-red.svg\": 17626,\n\t\"./assets/images/minus-icon.svg\": 55201,\n\t\"./assets/images/more-courses.gif\": 97466,\n\t\"./assets/images/no-content-icon.svg\": 560,\n\t\"./assets/images/not-started-icon.svg\": 64946,\n\t\"./assets/images/notes.png\": 9200,\n\t\"./assets/images/notification-icon.svg\": 63585,\n\t\"./assets/images/options-icon.svg\": 63456,\n\t\"./assets/images/paper-blue-icon.svg\": 9649,\n\t\"./assets/images/paper-icon.svg\": 34957,\n\t\"./assets/images/partner.png\": 10312,\n\t\"./assets/images/pdf-icon.png\": 17570,\n\t\"./assets/images/play-icon.png\": 80531,\n\t\"./assets/images/play-icon.svg\": 4141,\n\t\"./assets/images/plus-icon-gray.svg\": 58158,\n\t\"./assets/images/plus-icon.svg\": 28768,\n\t\"./assets/images/plus-icon2.svg\": 34120,\n\t\"./assets/images/preloader.gif\": 54690,\n\t\"./assets/images/productTopBanner1.jpg\": 80976,\n\t\"./assets/images/product_placeholder.jpg\": 65161,\n\t\"./assets/images/pwcacademy.png\": 5323,\n\t\"./assets/images/recorded-lecture.png\": 92153,\n\t\"./assets/images/recorded_videos.svg\": 97994,\n\t\"./assets/images/sample-banner.png\": 54776,\n\t\"./assets/images/sample-thumbnail.jpeg\": 88804,\n\t\"./assets/images/search-icon.svg\": 62637,\n\t\"./assets/images/servicIcon1.png\": 17755,\n\t\"./assets/images/servicIcon2.png\": 13792,\n\t\"./assets/images/servicIcon3.png\": 3187,\n\t\"./assets/images/settings-icon.svg\": 55047,\n\t\"./assets/images/signal-icon.svg\": 61942,\n\t\"./assets/images/signal-red-icon.svg\": 81169,\n\t\"./assets/images/star-icon.svg\": 31152,\n\t\"./assets/images/star.svg\": 83111,\n\t\"./assets/images/step1.svg\": 244,\n\t\"./assets/images/step2.svg\": 68396,\n\t\"./assets/images/step3.svg\": 69162,\n\t\"./assets/images/study-material.png\": 36580,\n\t\"./assets/images/study_material.svg\": 42811,\n\t\"./assets/images/tag-icon.svg\": 7169,\n\t\"./assets/images/teach.png\": 99034,\n\t\"./assets/images/testimonial.png\": 84701,\n\t\"./assets/images/text-file-icon.png\": 30604,\n\t\"./assets/images/tsa.png\": 30610,\n\t\"./assets/images/underline-icon.svg\": 7512,\n\t\"./assets/images/user-1.png\": 30834,\n\t\"./assets/images/user2-160x160.jpg\": 23523,\n\t\"./assets/images/user_img_placeholder.jpg\": 92994,\n\t\"./assets/images/video-camera-icon.svg\": 17391,\n\t\"./assets/images/video-camera-white-icon.svg\": 96626,\n\t\"./assets/images/video-icon.svg\": 7034,\n\t\"./assets/images/video-play-icon.png\": 88516,\n\t\"./assets/images/video.png\": 66178,\n\t\"./assets/images/view-expand-icon.png\": 90998,\n\t\"./assets/images/view-expand-icon.svg\": 57680,\n\t\"./assets/images/view-icon.svg\": 69942,\n\t\"./assets/images/whatsapp-us-button.png\": 10226,\n\t\"./assets/images/why-us.png\": 17944,\n\t\"./assets/images/youtube-icon.png\": 5801,\n\t\"./assets/images/zoom-icon.png\": 36260,\n\t\"./assets/images/zoom-icon.svg\": 69813,\n\t\"./assets/images/zoom-logo.png\": 78017,\n\t\"./assets/logo.png\": 66949,\n\t\"./assets/sounds/success_alert.mp3\": 59466,\n\t\"./components/Account/ForgotPassword\": 23151,\n\t\"./components/Account/ForgotPassword.vue\": 23151,\n\t\"./components/Account/Login\": 99860,\n\t\"./components/Account/Login.vue\": 99860,\n\t\"./components/Account/Register\": 43840,\n\t\"./components/Account/Register.vue\": 43840,\n\t\"./components/Account/UserDevicesModal\": 5982,\n\t\"./components/Account/UserDevicesModal.vue\": 5982,\n\t\"./components/Account/UserVerification\": 41230,\n\t\"./components/Account/UserVerification.vue\": 41230,\n\t\"./components/Admin/Attendance/AttendanceListItem\": 8985,\n\t\"./components/Admin/Attendance/AttendanceListItem.vue\": 8985,\n\t\"./components/Admin/Attendance/ContentAttendanceModal\": 11217,\n\t\"./components/Admin/Attendance/ContentAttendanceModal.vue\": 11217,\n\t\"./components/Admin/Attendance/LiveClassAttendanceModal\": 92251,\n\t\"./components/Admin/Attendance/LiveClassAttendanceModal.vue\": 92251,\n\t\"./components/Admin/Category/CategoryList\": 15139,\n\t\"./components/Admin/Category/CategoryList.vue\": 15139,\n\t\"./components/Admin/Category/CategoryListItem\": 99001,\n\t\"./components/Admin/Category/CategoryListItem.vue\": 99001,\n\t\"./components/Admin/Category/CreateCategoryDropdown\": 95222,\n\t\"./components/Admin/Category/CreateCategoryDropdown.vue\": 95222,\n\t\"./components/Admin/Content/AssignmentActionModal\": 1463,\n\t\"./components/Admin/Content/AssignmentActionModal.vue\": 1463,\n\t\"./components/Admin/Content/AssignmentDetail\": 38950,\n\t\"./components/Admin/Content/AssignmentDetail.vue\": 38950,\n\t\"./components/Admin/Content/ContentTabBody\": 68138,\n\t\"./components/Admin/Content/ContentTabBody.vue\": 68138,\n\t\"./components/Admin/Content/CourseContent\": 40113,\n\t\"./components/Admin/Content/CourseContent.vue\": 40113,\n\t\"./components/Admin/Content/CourseContentSection\": 73087,\n\t\"./components/Admin/Content/CourseContentSection.vue\": 73087,\n\t\"./components/Admin/Content/CourseContentSectionChild\": 69062,\n\t\"./components/Admin/Content/CourseContentSectionChild.vue\": 69062,\n\t\"./components/Admin/Content/CourseContentTab\": 96105,\n\t\"./components/Admin/Content/CourseContentTab.vue\": 96105,\n\t\"./components/Admin/Content/CreateZoomMeetingModal\": 42858,\n\t\"./components/Admin/Content/CreateZoomMeetingModal.vue\": 42858,\n\t\"./components/Admin/Content/EditContentModal\": 40673,\n\t\"./components/Admin/Content/EditContentModal.vue\": 40673,\n\t\"./components/Admin/Content/ExamActionModal\": 77363,\n\t\"./components/Admin/Content/ExamActionModal.vue\": 77363,\n\t\"./components/Admin/Content/ExamQuestionsModal\": 62069,\n\t\"./components/Admin/Content/ExamQuestionsModal.vue\": 62069,\n\t\"./components/Admin/Content/ExternalServicesList\": 27308,\n\t\"./components/Admin/Content/ExternalServicesList.vue\": 27308,\n\t\"./components/Admin/Content/FlashCardActionModal\": 58295,\n\t\"./components/Admin/Content/FlashCardActionModal.vue\": 58295,\n\t\"./components/Admin/Content/FreeTextActionModal\": 14730,\n\t\"./components/Admin/Content/FreeTextActionModal.vue\": 14730,\n\t\"./components/Admin/Content/ManageAssignmentModal\": 96874,\n\t\"./components/Admin/Content/ManageAssignmentModal.vue\": 96874,\n\t\"./components/Admin/Content/QuizCreationQuestionTypes/CheckboxButtonQuestion\": 97205,\n\t\"./components/Admin/Content/QuizCreationQuestionTypes/CheckboxButtonQuestion.vue\": 97205,\n\t\"./components/Admin/Content/QuizCreationQuestionTypes/RadioButtonQuestion\": 18311,\n\t\"./components/Admin/Content/QuizCreationQuestionTypes/RadioButtonQuestion.vue\": 18311,\n\t\"./components/Admin/Content/QuizCreationQuestionTypes/TextboxButtonQuestion\": 87349,\n\t\"./components/Admin/Content/QuizCreationQuestionTypes/TextboxButtonQuestion.vue\": 87349,\n\t\"./components/Admin/Content/QuizQuestionsModal\": 31707,\n\t\"./components/Admin/Content/QuizQuestionsModal.vue\": 31707,\n\t\"./components/Admin/Content/UpdateContentTrainers\": 65084,\n\t\"./components/Admin/Content/UpdateContentTrainers.vue\": 65084,\n\t\"./components/Admin/Content/UploadRecordedLectureInBackgroundModal\": 42603,\n\t\"./components/Admin/Content/UploadRecordedLectureInBackgroundModal.vue\": 42603,\n\t\"./components/Admin/Content/UploadRecordedLectureModal\": 78173,\n\t\"./components/Admin/Content/UploadRecordedLectureModal.vue\": 78173,\n\t\"./components/Admin/Content/UploadStudyMaterialModal\": 53954,\n\t\"./components/Admin/Content/UploadStudyMaterialModal.vue\": 53954,\n\t\"./components/Admin/Content/UploadYoutubeRecordedLectureModal\": 91752,\n\t\"./components/Admin/Content/UploadYoutubeRecordedLectureModal.vue\": 91752,\n\t\"./components/Admin/Content/ViewQuizQuestionsModal\": 69428,\n\t\"./components/Admin/Content/ViewQuizQuestionsModal.vue\": 69428,\n\t\"./components/Admin/Enrollment/AddUserEnrollmentModal\": 10091,\n\t\"./components/Admin/Enrollment/AddUserEnrollmentModal.vue\": 10091,\n\t\"./components/Admin/Enrollment/CourseEnrollment\": 8339,\n\t\"./components/Admin/Enrollment/CourseEnrollment.vue\": 8339,\n\t\"./components/Admin/Enrollment/CreateEditEnrollmentModal\": 34483,\n\t\"./components/Admin/Enrollment/CreateEditEnrollmentModal.vue\": 34483,\n\t\"./components/Admin/Enrollment/EnrollmentCourseListItem\": 39252,\n\t\"./components/Admin/Enrollment/EnrollmentCourseListItem.vue\": 39252,\n\t\"./components/Admin/Enrollment/EnrollmentPricingPlans\": 8801,\n\t\"./components/Admin/Enrollment/EnrollmentPricingPlans.vue\": 8801,\n\t\"./components/Admin/Enrollment/PlanCyclePaymentDropdown\": 25949,\n\t\"./components/Admin/Enrollment/PlanCyclePaymentDropdown.vue\": 25949,\n\t\"./components/Admin/Enrollment/UserEnrollments\": 39178,\n\t\"./components/Admin/Enrollment/UserEnrollments.vue\": 39178,\n\t\"./components/Admin/Enrollment/ValidateAndGenerateInvoices\": 30226,\n\t\"./components/Admin/Enrollment/ValidateAndGenerateInvoices.vue\": 30226,\n\t\"./components/Admin/Exam/AddExamQuestionModal\": 88394,\n\t\"./components/Admin/Exam/AddExamQuestionModal.vue\": 88394,\n\t\"./components/Admin/Exam/CreateEditExamModal\": 48010,\n\t\"./components/Admin/Exam/CreateEditExamModal.vue\": 48010,\n\t\"./components/Admin/Exam/CreateEditLegacyExamModal\": 8221,\n\t\"./components/Admin/Exam/CreateEditLegacyExamModal.vue\": 8221,\n\t\"./components/Admin/Exam/ExamQuestionListItem\": 77858,\n\t\"./components/Admin/Exam/ExamQuestionListItem.vue\": 77858,\n\t\"./components/Admin/Exam/Quiz/CreateEditQuizModal\": 46864,\n\t\"./components/Admin/Exam/Quiz/CreateEditQuizModal.vue\": 46864,\n\t\"./components/Admin/Feedback/CourseFeedback\": 88031,\n\t\"./components/Admin/Feedback/CourseFeedback.vue\": 88031,\n\t\"./components/Admin/Invoice/InvoiceDetailItem\": 23468,\n\t\"./components/Admin/Invoice/InvoiceDetailItem.vue\": 23468,\n\t\"./components/Admin/Invoice/UserInvoiceDetailModal\": 39475,\n\t\"./components/Admin/Invoice/UserInvoiceDetailModal.vue\": 39475,\n\t\"./components/Admin/Invoice/UserInvoicePaymentDropdown\": 44182,\n\t\"./components/Admin/Invoice/UserInvoicePaymentDropdown.vue\": 44182,\n\t\"./components/Admin/Invoice/UserInvoices\": 39678,\n\t\"./components/Admin/Invoice/UserInvoices.vue\": 39678,\n\t\"./components/Admin/Layout/AdminHeader\": 16052,\n\t\"./components/Admin/Layout/AdminHeader.vue\": 16052,\n\t\"./components/Admin/Layout/AdminSidebar\": 43874,\n\t\"./components/Admin/Layout/AdminSidebar.vue\": 43874,\n\t\"./components/Admin/Layout/Banners/AddEditBannerModal\": 57281,\n\t\"./components/Admin/Layout/Banners/AddEditBannerModal.vue\": 57281,\n\t\"./components/Admin/Layout/Banners/BannerSettings\": 17748,\n\t\"./components/Admin/Layout/Banners/BannerSettings.vue\": 17748,\n\t\"./components/Admin/Layout/ColorThemeSettings\": 9570,\n\t\"./components/Admin/Layout/ColorThemeSettings.vue\": 9570,\n\t\"./components/Admin/Layout/CompanyInfoSettings\": 58614,\n\t\"./components/Admin/Layout/CompanyInfoSettings.vue\": 58614,\n\t\"./components/Admin/Layout/LogoFaviconSettings\": 49274,\n\t\"./components/Admin/Layout/LogoFaviconSettings.vue\": 49274,\n\t\"./components/Admin/Layout/SocialLinksSettings\": 55795,\n\t\"./components/Admin/Layout/SocialLinksSettings.vue\": 55795,\n\t\"./components/Admin/Layout/ZoomServiceAccountsIntegration\": 1895,\n\t\"./components/Admin/Layout/ZoomServiceAccountsIntegration.vue\": 1895,\n\t\"./components/Admin/Payment/PaymentDetailItem\": 10724,\n\t\"./components/Admin/Payment/PaymentDetailItem.vue\": 10724,\n\t\"./components/Admin/Payment/UserPaymentDetailModal\": 50828,\n\t\"./components/Admin/Payment/UserPaymentDetailModal.vue\": 50828,\n\t\"./components/Admin/Payment/UserPayments\": 63265,\n\t\"./components/Admin/Payment/UserPayments.vue\": 63265,\n\t\"./components/Admin/Pricing/CoursePricing\": 46876,\n\t\"./components/Admin/Pricing/CoursePricing.vue\": 46876,\n\t\"./components/Admin/Pricing/CreatePricingPlanSidebar\": 93525,\n\t\"./components/Admin/Pricing/CreatePricingPlanSidebar.vue\": 93525,\n\t\"./components/Admin/Product/ProductList\": 16065,\n\t\"./components/Admin/Product/ProductList.vue\": 16065,\n\t\"./components/Admin/Product/ProductListItem\": 83326,\n\t\"./components/Admin/Product/ProductListItem.vue\": 83326,\n\t\"./components/Admin/ProductVariant/CreateProductVariantModal\": 52851,\n\t\"./components/Admin/ProductVariant/CreateProductVariantModal.vue\": 52851,\n\t\"./components/Admin/ProductVariant/ProductVariantContentAddExisting\": 21325,\n\t\"./components/Admin/ProductVariant/ProductVariantContentAddExisting.vue\": 21325,\n\t\"./components/Admin/ProductVariant/ProductVariantContentCreate\": 68353,\n\t\"./components/Admin/ProductVariant/ProductVariantContentCreate.vue\": 68353,\n\t\"./components/Admin/ProductVariant/ProductVariantContentCreateItem\": 55979,\n\t\"./components/Admin/ProductVariant/ProductVariantContentCreateItem.vue\": 55979,\n\t\"./components/Admin/ProductVariant/ProductVariantList\": 2722,\n\t\"./components/Admin/ProductVariant/ProductVariantList.vue\": 2722,\n\t\"./components/Admin/ProductVariant/ProductVariantListItem\": 97174,\n\t\"./components/Admin/ProductVariant/ProductVariantListItem.vue\": 97174,\n\t\"./components/Admin/Question/AddQuestionModal\": 4754,\n\t\"./components/Admin/Question/AddQuestionModal.vue\": 4754,\n\t\"./components/Admin/Question/QuestionCategoryList\": 74008,\n\t\"./components/Admin/Question/QuestionCategoryList.vue\": 74008,\n\t\"./components/Admin/Question/QuestionCategoryListItem\": 97657,\n\t\"./components/Admin/Question/QuestionCategoryListItem.vue\": 97657,\n\t\"./components/Admin/Question/QuestionList\": 62681,\n\t\"./components/Admin/Question/QuestionList.vue\": 62681,\n\t\"./components/Admin/Question/QuestionListItem\": 78502,\n\t\"./components/Admin/Question/QuestionListItem.vue\": 78502,\n\t\"./components/Admin/QuestionBank/CategoriesColumn\": 58330,\n\t\"./components/Admin/QuestionBank/CategoriesColumn.vue\": 58330,\n\t\"./components/Admin/QuestionBank/CourseQuestionBank\": 31652,\n\t\"./components/Admin/QuestionBank/CourseQuestionBank.vue\": 31652,\n\t\"./components/Admin/QuestionBank/QuestionsColumn\": 76338,\n\t\"./components/Admin/QuestionBank/QuestionsColumn.vue\": 76338,\n\t\"./components/Admin/Service/ZoomOAuthService\": 18387,\n\t\"./components/Admin/Service/ZoomOAuthService.vue\": 18387,\n\t\"./components/Admin/Trainer/AssignTrainerToContentDropdown\": 11881,\n\t\"./components/Admin/Trainer/AssignTrainerToContentDropdown.vue\": 11881,\n\t\"./components/Admin/Trainer/TrainerPermissionsListItem\": 88327,\n\t\"./components/Admin/Trainer/TrainerPermissionsListItem.vue\": 88327,\n\t\"./components/Admin/Users/BulkUserUploadModal\": 29942,\n\t\"./components/Admin/Users/BulkUserUploadModal.vue\": 29942,\n\t\"./components/Admin/Users/CreateNewUserModal\": 14073,\n\t\"./components/Admin/Users/CreateNewUserModal.vue\": 14073,\n\t\"./components/Admin/Users/UserAttendance\": 36786,\n\t\"./components/Admin/Users/UserAttendance.vue\": 36786,\n\t\"./components/Admin/Users/UserDetails\": 29112,\n\t\"./components/Admin/Users/UserDetails.vue\": 29112,\n\t\"./components/Admin/Users/UserDevices\": 87226,\n\t\"./components/Admin/Users/UserDevices.vue\": 87226,\n\t\"./components/Admin/Users/UserScan\": 56960,\n\t\"./components/Admin/Users/UserScan.vue\": 56960,\n\t\"./components/Admin/Users/ViewEditUserModal\": 56241,\n\t\"./components/Admin/Users/ViewEditUserModal.vue\": 56241,\n\t\"./components/Cart/CartProductItem\": 267,\n\t\"./components/Cart/CartProductItem.vue\": 267,\n\t\"./components/Cart/PaymentCard\": 93875,\n\t\"./components/Cart/PaymentCard.vue\": 93875,\n\t\"./components/Content/Assignment\": 99537,\n\t\"./components/Content/Assignment.vue\": 99537,\n\t\"./components/Content/LiveClass\": 42311,\n\t\"./components/Content/LiveClass.vue\": 42311,\n\t\"./components/Content/PDFExpressViewer\": 55632,\n\t\"./components/Content/PDFExpressViewer.vue\": 55632,\n\t\"./components/Content/Quiz\": 62023,\n\t\"./components/Content/Quiz.vue\": 62023,\n\t\"./components/Content/Quiz/CheckboxButtonQuestionOptions\": 62854,\n\t\"./components/Content/Quiz/CheckboxButtonQuestionOptions.vue\": 62854,\n\t\"./components/Content/Quiz/RadioButtonQuestionOptions\": 2689,\n\t\"./components/Content/Quiz/RadioButtonQuestionOptions.vue\": 2689,\n\t\"./components/Content/Quiz/SelectButtonQuestionOptions\": 26795,\n\t\"./components/Content/Quiz/SelectButtonQuestionOptions.vue\": 26795,\n\t\"./components/Content/Quiz/TextboxQuestionOptions\": 204,\n\t\"./components/Content/Quiz/TextboxQuestionOptions.vue\": 204,\n\t\"./components/Content/RecordedVideo\": 47853,\n\t\"./components/Content/RecordedVideo.vue\": 47853,\n\t\"./components/Content/StudyMaterial\": 64099,\n\t\"./components/Content/StudyMaterial.vue\": 64099,\n\t\"./components/Content/Zoom\": 11946,\n\t\"./components/Content/Zoom.vue\": 11946,\n\t\"./components/Dashboard/DashboardUpdatesCard\": 3243,\n\t\"./components/Dashboard/DashboardUpdatesCard.vue\": 3243,\n\t\"./components/Dashboard/Forum\": 60415,\n\t\"./components/Dashboard/Forum.vue\": 60415,\n\t\"./components/Dashboard/ReminderListItem\": 8484,\n\t\"./components/Dashboard/ReminderListItem.vue\": 8484,\n\t\"./components/Dashboard/UserProducts\": 25462,\n\t\"./components/Dashboard/UserProducts.vue\": 25462,\n\t\"./components/Editors/QuillRichTextEditor\": 38299,\n\t\"./components/Editors/QuillRichTextEditor.vue\": 38299,\n\t\"./components/Form/FormModal\": 71939,\n\t\"./components/Form/FormModal.vue\": 71939,\n\t\"./components/Forum/NewPost\": 59247,\n\t\"./components/Forum/NewPost.vue\": 59247,\n\t\"./components/Instructor/HomepageInstructorSection\": 4364,\n\t\"./components/Instructor/HomepageInstructorSection.vue\": 4364,\n\t\"./components/Instructor/InstructorList\": 54765,\n\t\"./components/Instructor/InstructorList.vue\": 54765,\n\t\"./components/Instructor/InstructorListItem\": 93077,\n\t\"./components/Instructor/InstructorListItem.vue\": 93077,\n\t\"./components/Instructor/InstructorProfile\": 29510,\n\t\"./components/Instructor/InstructorProfile.vue\": 29510,\n\t\"./components/Invoice/PayInvoiceModal\": 36268,\n\t\"./components/Invoice/PayInvoiceModal.vue\": 36268,\n\t\"./components/Layout/AppsDownloadInstructions\": 36951,\n\t\"./components/Layout/AppsDownloadInstructions.vue\": 36951,\n\t\"./components/Layout/BannerSmall\": 54453,\n\t\"./components/Layout/BannerSmall.vue\": 54453,\n\t\"./components/Layout/BannerWithTabs\": 68160,\n\t\"./components/Layout/BannerWithTabs.vue\": 68160,\n\t\"./components/Layout/DynamicCustomFormInput\": 32859,\n\t\"./components/Layout/DynamicCustomFormInput.vue\": 32859,\n\t\"./components/Layout/DynamicFormInput\": 82986,\n\t\"./components/Layout/DynamicFormInput.vue\": 82986,\n\t\"./components/Layout/Footer\": 47372,\n\t\"./components/Layout/Footer.vue\": 47372,\n\t\"./components/Layout/Header\": 73645,\n\t\"./components/Layout/Header.vue\": 73645,\n\t\"./components/Layout/HeaderOldUI\": 14207,\n\t\"./components/Layout/HeaderOldUI.vue\": 14207,\n\t\"./components/Layout/HomePageBanner\": 10025,\n\t\"./components/Layout/HomePageBanner.vue\": 10025,\n\t\"./components/Layout/HomePageBannerWithOverlay\": 92136,\n\t\"./components/Layout/HomePageBannerWithOverlay.vue\": 92136,\n\t\"./components/Layout/HomePageClientsSection\": 74495,\n\t\"./components/Layout/HomePageClientsSection.vue\": 74495,\n\t\"./components/Layout/HomePageServiceFeatures\": 791,\n\t\"./components/Layout/HomePageServiceFeatures.vue\": 791,\n\t\"./components/Layout/HomePageSignupSteps\": 95960,\n\t\"./components/Layout/HomePageSignupSteps.vue\": 95960,\n\t\"./components/Layout/HomePageTeachOrPartner\": 13813,\n\t\"./components/Layout/HomePageTeachOrPartner.vue\": 13813,\n\t\"./components/Layout/HomePageTestimonials\": 33155,\n\t\"./components/Layout/HomePageTestimonials.vue\": 33155,\n\t\"./components/Layout/HomePageWhyUs\": 74696,\n\t\"./components/Layout/HomePageWhyUs.vue\": 74696,\n\t\"./components/Layout/InnerPageBanner\": 68102,\n\t\"./components/Layout/InnerPageBanner.vue\": 68102,\n\t\"./components/Layout/Loading\": 4915,\n\t\"./components/Layout/Loading.vue\": 4915,\n\t\"./components/Layout/ProfileBanner\": 43179,\n\t\"./components/Layout/ProfileBanner.vue\": 43179,\n\t\"./components/Layout/Searchbar\": 30199,\n\t\"./components/Layout/Searchbar.vue\": 30199,\n\t\"./components/PDFViewer/AdobePDFViewer\": 51151,\n\t\"./components/PDFViewer/AdobePDFViewer.vue\": 51151,\n\t\"./components/Payment/BankTransfer\": 99601,\n\t\"./components/Payment/BankTransfer.vue\": 99601,\n\t\"./components/Payment/Cash\": 11524,\n\t\"./components/Payment/Cash.vue\": 11524,\n\t\"./components/Payment/KuickPayBPS\": 34491,\n\t\"./components/Payment/KuickPayBPS.vue\": 34491,\n\t\"./components/Payment/KuickPayCheckout\": 12808,\n\t\"./components/Payment/KuickPayCheckout.vue\": 12808,\n\t\"./components/Payment/MeezanPaymentGateway\": 6824,\n\t\"./components/Payment/MeezanPaymentGateway.vue\": 6824,\n\t\"./components/Payment/NgeniusPaymentGateway\": 30182,\n\t\"./components/Payment/NgeniusPaymentGateway.vue\": 30182,\n\t\"./components/Payment/PayPro\": 36690,\n\t\"./components/Payment/PayPro.vue\": 36690,\n\t\"./components/Payment/Safepay\": 29276,\n\t\"./components/Payment/Safepay.vue\": 29276,\n\t\"./components/Payment/ScotiaPaymentGateway\": 37165,\n\t\"./components/Payment/ScotiaPaymentGateway.vue\": 37165,\n\t\"./components/Payment/Stripe\": 44235,\n\t\"./components/Payment/Stripe.vue\": 44235,\n\t\"./components/Product/ProductActivityCard\": 29828,\n\t\"./components/Product/ProductActivityCard.vue\": 29828,\n\t\"./components/Product/ProductAdvancedFilters\": 19835,\n\t\"./components/Product/ProductAdvancedFilters.vue\": 19835,\n\t\"./components/Product/ProductCategoryTabs\": 90370,\n\t\"./components/Product/ProductCategoryTabs.vue\": 90370,\n\t\"./components/Product/ProductContent\": 67034,\n\t\"./components/Product/ProductContent.vue\": 67034,\n\t\"./components/Product/ProductContentAccordian\": 6594,\n\t\"./components/Product/ProductContentAccordian.vue\": 6594,\n\t\"./components/Product/ProductContentAccordianList\": 22631,\n\t\"./components/Product/ProductContentAccordianList.vue\": 22631,\n\t\"./components/Product/ProductContentList\": 36063,\n\t\"./components/Product/ProductContentList.vue\": 36063,\n\t\"./components/Product/ProductContentListItem\": 26700,\n\t\"./components/Product/ProductContentListItem.vue\": 26700,\n\t\"./components/Product/ProductContentSidebar\": 96044,\n\t\"./components/Product/ProductContentSidebar.vue\": 96044,\n\t\"./components/Product/ProductContentTabs\": 14275,\n\t\"./components/Product/ProductContentTabs.vue\": 14275,\n\t\"./components/Product/ProductDetailsCard\": 20453,\n\t\"./components/Product/ProductDetailsCard.vue\": 20453,\n\t\"./components/Product/ProductDetailsCardMobile\": 35788,\n\t\"./components/Product/ProductDetailsCardMobile.vue\": 35788,\n\t\"./components/Product/ProductDetailsCardOldUI\": 22652,\n\t\"./components/Product/ProductDetailsCardOldUI.vue\": 22652,\n\t\"./components/Product/ProductDetailsModal\": 16320,\n\t\"./components/Product/ProductDetailsModal.vue\": 16320,\n\t\"./components/Product/ProductDetailsTopCard\": 71808,\n\t\"./components/Product/ProductDetailsTopCard.vue\": 71808,\n\t\"./components/Product/ProductDropdown/ProductDropDownLeftPanel\": 28592,\n\t\"./components/Product/ProductDropdown/ProductDropDownLeftPanel.vue\": 28592,\n\t\"./components/Product/ProductDropdown/ProductDropdown\": 52225,\n\t\"./components/Product/ProductDropdown/ProductDropdown.vue\": 52225,\n\t\"./components/Product/ProductDropdown/ProductDropdownRightPanel\": 39488,\n\t\"./components/Product/ProductDropdown/ProductDropdownRightPanel.vue\": 39488,\n\t\"./components/Product/ProductFeedbackCard\": 80731,\n\t\"./components/Product/ProductFeedbackCard.vue\": 80731,\n\t\"./components/Product/ProductFilters\": 60029,\n\t\"./components/Product/ProductFilters.vue\": 60029,\n\t\"./components/Product/ProductList\": 46198,\n\t\"./components/Product/ProductList.vue\": 46198,\n\t\"./components/Product/ProductListItem\": 47648,\n\t\"./components/Product/ProductListItem.vue\": 47648,\n\t\"./components/Product/ProductPageBanner\": 73505,\n\t\"./components/Product/ProductPageBanner.vue\": 73505,\n\t\"./components/Product/ProductPricingPlanItem\": 30393,\n\t\"./components/Product/ProductPricingPlanItem.vue\": 30393,\n\t\"./components/Product/ProductPricingPlansModal\": 95108,\n\t\"./components/Product/ProductPricingPlansModal.vue\": 95108,\n\t\"./components/ProductContentDashboard/Calculator\": 50010,\n\t\"./components/ProductContentDashboard/Calculator.vue\": 50010,\n\t\"./components/ProductContentDashboard/Content/Assignment\": 28651,\n\t\"./components/ProductContentDashboard/Content/Assignment.vue\": 28651,\n\t\"./components/ProductContentDashboard/Content/Exam\": 28626,\n\t\"./components/ProductContentDashboard/Content/Exam.vue\": 28626,\n\t\"./components/ProductContentDashboard/Content/Flashcards\": 69046,\n\t\"./components/ProductContentDashboard/Content/Flashcards.vue\": 69046,\n\t\"./components/ProductContentDashboard/Content/FreeText\": 20656,\n\t\"./components/ProductContentDashboard/Content/FreeText.vue\": 20656,\n\t\"./components/ProductContentDashboard/Content/LiveClass\": 35924,\n\t\"./components/ProductContentDashboard/Content/LiveClass.vue\": 35924,\n\t\"./components/ProductContentDashboard/Content/RecordedVideo\": 57097,\n\t\"./components/ProductContentDashboard/Content/RecordedVideo.vue\": 57097,\n\t\"./components/ProductContentDashboard/Content/StudyMaterial\": 32254,\n\t\"./components/ProductContentDashboard/Content/StudyMaterial.vue\": 32254,\n\t\"./components/ProductContentDashboard/ProductContentAssignments\": 97908,\n\t\"./components/ProductContentDashboard/ProductContentAssignments.vue\": 97908,\n\t\"./components/ProductContentDashboard/ProductContentChapters\": 86595,\n\t\"./components/ProductContentDashboard/ProductContentChapters.vue\": 86595,\n\t\"./components/ProductContentDashboard/ProductContentChaptersBookmarks\": 90878,\n\t\"./components/ProductContentDashboard/ProductContentChaptersBookmarks.vue\": 90878,\n\t\"./components/ProductContentDashboard/ProductContentChaptersConfidence\": 66250,\n\t\"./components/ProductContentDashboard/ProductContentChaptersConfidence.vue\": 66250,\n\t\"./components/ProductContentDashboard/ProductContentChaptersContentList\": 59719,\n\t\"./components/ProductContentDashboard/ProductContentChaptersContentList.vue\": 59719,\n\t\"./components/ProductContentDashboard/ProductContentChaptersContentListItem\": 13312,\n\t\"./components/ProductContentDashboard/ProductContentChaptersContentListItem.vue\": 13312,\n\t\"./components/ProductContentDashboard/ProductContentChaptersHighlights\": 32615,\n\t\"./components/ProductContentDashboard/ProductContentChaptersHighlights.vue\": 32615,\n\t\"./components/ProductContentDashboard/ProductContentClasses\": 43722,\n\t\"./components/ProductContentDashboard/ProductContentClasses.vue\": 43722,\n\t\"./components/ProductContentDashboard/ProductContentClassesTab\": 11469,\n\t\"./components/ProductContentDashboard/ProductContentClassesTab.vue\": 11469,\n\t\"./components/ProductContentDashboard/ProductContentExams\": 12057,\n\t\"./components/ProductContentDashboard/ProductContentExams.vue\": 12057,\n\t\"./components/ProductContentDashboard/ProductContentFlashCards\": 69319,\n\t\"./components/ProductContentDashboard/ProductContentFlashCards.vue\": 69319,\n\t\"./components/ProductContentDashboard/ProductContentSection\": 23429,\n\t\"./components/ProductContentDashboard/ProductContentSection.vue\": 23429,\n\t\"./components/ProductContentDashboard/ProductContentSidebar\": 49978,\n\t\"./components/ProductContentDashboard/ProductContentSidebar.vue\": 49978,\n\t\"./components/ProductContentDashboard/ProductContentView\": 16370,\n\t\"./components/ProductContentDashboard/ProductContentView.vue\": 16370,\n\t\"./components/ProductVariant/ProductVariantFeedbackModal\": 14426,\n\t\"./components/ProductVariant/ProductVariantFeedbackModal.vue\": 14426,\n\t\"./components/Profile/ChangePasswordModal\": 48844,\n\t\"./components/Profile/ChangePasswordModal.vue\": 48844,\n\t\"./components/Profile/EditProfileModal\": 67230,\n\t\"./components/Profile/EditProfileModal.vue\": 67230,\n\t\"./components/Support/AddTicketModal\": 21791,\n\t\"./components/Support/AddTicketModal.vue\": 21791,\n\t\"./components/Support/ViewTicketModal\": 49969,\n\t\"./components/Support/ViewTicketModal.vue\": 49969,\n\t\"./components/UserDashboard/ReminderListItem\": 11501,\n\t\"./components/UserDashboard/ReminderListItem.vue\": 11501,\n\t\"./components/UserDashboard/Reminders\": 64942,\n\t\"./components/UserDashboard/Reminders.vue\": 64942,\n\t\"./components/UserDashboard/UserDashboardProducts\": 7863,\n\t\"./components/UserDashboard/UserDashboardProducts.vue\": 7863,\n\t\"./components/UserDashboard/UserDashboardProductsListItem\": 21616,\n\t\"./components/UserDashboard/UserDashboardProductsListItem.vue\": 21616,\n\t\"./constants/attendance\": 86541,\n\t\"./constants/attendance.js\": 86541,\n\t\"./constants/content\": 98381,\n\t\"./constants/content.js\": 98381,\n\t\"./constants/countryCodes\": 22281,\n\t\"./constants/countryCodes.js\": 22281,\n\t\"./constants/countryCurrency\": 70960,\n\t\"./constants/countryCurrency.js\": 70960,\n\t\"./constants/currencyCodes\": 49290,\n\t\"./constants/currencyCodes.js\": 49290,\n\t\"./constants/dist/banners.dev\": 80356,\n\t\"./constants/dist/banners.dev.js\": 80356,\n\t\"./constants/dummyExtraFieldsInfo\": 34936,\n\t\"./constants/dummyExtraFieldsInfo.js\": 34936,\n\t\"./constants/errorMessages\": 79130,\n\t\"./constants/errorMessages.js\": 79130,\n\t\"./constants/exam\": 59396,\n\t\"./constants/exam.js\": 59396,\n\t\"./constants/globalTextConstants\": 69727,\n\t\"./constants/globalTextConstants.js\": 69727,\n\t\"./constants/live_class\": 64498,\n\t\"./constants/live_class.js\": 64498,\n\t\"./constants/platforms\": 49455,\n\t\"./constants/platforms.js\": 49455,\n\t\"./constants/pricing\": 29953,\n\t\"./constants/pricing.js\": 29953,\n\t\"./constants/productCarouselSettings\": 75957,\n\t\"./constants/productCarouselSettings.js\": 75957,\n\t\"./constants/productVariant\": 38072,\n\t\"./constants/productVariant.js\": 38072,\n\t\"./constants/question\": 45282,\n\t\"./constants/question.js\": 45282,\n\t\"./constants/requestOptions\": 21014,\n\t\"./constants/requestOptions.js\": 21014,\n\t\"./constants/serviceCodes\": 552,\n\t\"./constants/serviceCodes.js\": 552,\n\t\"./constants/urls\": 10711,\n\t\"./constants/urls.js\": 10711,\n\t\"./constants/user\": 26459,\n\t\"./constants/user.js\": 26459,\n\t\"./custom/astc/CourseRegistration\": 62462,\n\t\"./custom/astc/CourseRegistration.vue\": 62462,\n\t\"./custom/astc/Home\": 86074,\n\t\"./custom/astc/Home.vue\": 86074,\n\t\"./custom/astc/components/ProductRegistrationListItem\": 41735,\n\t\"./custom/astc/components/ProductRegistrationListItem.vue\": 41735,\n\t\"./custom/edcentra/Dashboard\": 31159,\n\t\"./custom/edcentra/Dashboard.vue\": 31159,\n\t\"./custom/edcentra/Home\": 5965,\n\t\"./custom/edcentra/Home.vue\": 5965,\n\t\"./custom/edcentra/HomepageBecomeInstructor\": 92446,\n\t\"./custom/edcentra/HomepageBecomeInstructor.vue\": 92446,\n\t\"./custom/edcentra/HomepageTestimonials\": 29750,\n\t\"./custom/edcentra/HomepageTestimonials.vue\": 29750,\n\t\"./custom/edcentra/TeachWithUs\": 47901,\n\t\"./custom/edcentra/TeachWithUs.vue\": 47901,\n\t\"./custom/edcentra/Web Assets/0Usdd2.tif.png\": 85866,\n\t\"./custom/edcentra/Web Assets/0Usdd2.tif@2x.png\": 86408,\n\t\"./custom/edcentra/Web Assets/Banner-Blur-Bg.png\": 8214,\n\t\"./custom/edcentra/Web Assets/Banner-Blur-Bg@2x.png\": 33742,\n\t\"./custom/edcentra/Web Assets/Edutech.svg\": 34574,\n\t\"./custom/edcentra/Web Assets/Girl_Image.png\": 88355,\n\t\"./custom/edcentra/Web Assets/Group 320.svg\": 56974,\n\t\"./custom/edcentra/Web Assets/Group 3204.png\": 46980,\n\t\"./custom/edcentra/Web Assets/Group 3204@2x.png\": 12223,\n\t\"./custom/edcentra/Web Assets/Group 3841.png\": 9114,\n\t\"./custom/edcentra/Web Assets/Group 3841@2x-min.png\": 56669,\n\t\"./custom/edcentra/Web Assets/Group 3841@2x.png\": 27247,\n\t\"./custom/edcentra/Web Assets/Group 3889-min.png\": 74971,\n\t\"./custom/edcentra/Web Assets/Group 3889.png\": 25955,\n\t\"./custom/edcentra/Web Assets/Group 3889@2x-min.png\": 6034,\n\t\"./custom/edcentra/Web Assets/Group 3889@2x.png\": 70382,\n\t\"./custom/edcentra/Web Assets/Group 3957.svg\": 2013,\n\t\"./custom/edcentra/Web Assets/Group 3959.svg\": 36522,\n\t\"./custom/edcentra/Web Assets/Group 3960.svg\": 91272,\n\t\"./custom/edcentra/Web Assets/Group 3971-min.png\": 54405,\n\t\"./custom/edcentra/Web Assets/Group 3971.png\": 20761,\n\t\"./custom/edcentra/Web Assets/Group 3971@2x-min.png\": 72054,\n\t\"./custom/edcentra/Web Assets/Group 3971@2x.png\": 98888,\n\t\"./custom/edcentra/Web Assets/Group 3977-min.png\": 19901,\n\t\"./custom/edcentra/Web Assets/Group 3977.png\": 78161,\n\t\"./custom/edcentra/Web Assets/Group 3977@2x-min.png\": 37149,\n\t\"./custom/edcentra/Web Assets/Group 3977@2x.png\": 42314,\n\t\"./custom/edcentra/Web Assets/Group 3978-min.png\": 20306,\n\t\"./custom/edcentra/Web Assets/Group 3978.png\": 14900,\n\t\"./custom/edcentra/Web Assets/Group 3978@2x-min.png\": 84299,\n\t\"./custom/edcentra/Web Assets/Group 3978@2x.png\": 23716,\n\t\"./custom/edcentra/Web Assets/Group 3979-min.png\": 88612,\n\t\"./custom/edcentra/Web Assets/Group 3979.png\": 42363,\n\t\"./custom/edcentra/Web Assets/Group 3979@2x-min.png\": 93775,\n\t\"./custom/edcentra/Web Assets/Group 3979@2x.png\": 5159,\n\t\"./custom/edcentra/Web Assets/HZE7F6.tif (1).svg\": 26803,\n\t\"./custom/edcentra/Web Assets/HZE7F6.tif-min.png\": 74988,\n\t\"./custom/edcentra/Web Assets/HZE7F6.tif.png\": 41566,\n\t\"./custom/edcentra/Web Assets/HZE7F6.tif@2x-min.png\": 20093,\n\t\"./custom/edcentra/Web Assets/HZE7F6.tif@2x.png\": 14710,\n\t\"./custom/edcentra/Web Assets/Image 90-min.png\": 86572,\n\t\"./custom/edcentra/Web Assets/Image 90.png\": 56873,\n\t\"./custom/edcentra/Web Assets/Image 90@2x-min.png\": 61774,\n\t\"./custom/edcentra/Web Assets/Image 90@2x.png\": 26040,\n\t\"./custom/edcentra/Web Assets/JyFP1c.tif-min.png\": 12666,\n\t\"./custom/edcentra/Web Assets/JyFP1c.tif.png\": 76323,\n\t\"./custom/edcentra/Web Assets/JyFP1c.tif@2x-min.png\": 41757,\n\t\"./custom/edcentra/Web Assets/JyFP1c.tif@2x.png\": 34296,\n\t\"./custom/edcentra/Web Assets/Menu_icon-1985743835.svg\": 50260,\n\t\"./custom/edcentra/Web Assets/Path 8048.svg\": 77696,\n\t\"./custom/edcentra/Web Assets/Search Banner BG-min.png\": 44391,\n\t\"./custom/edcentra/Web Assets/Search Banner BG.png\": 28645,\n\t\"./custom/edcentra/Web Assets/Search Banner BG@2x-min.png\": 8607,\n\t\"./custom/edcentra/Web Assets/Search Banner BG@2x.png\": 15686,\n\t\"./custom/edcentra/Web Assets/Student Dashbaord BG.png\": 59770,\n\t\"./custom/edcentra/Web Assets/Student Dashbaord BG@2x.png\": 78097,\n\t\"./custom/edcentra/Web Assets/Teach with us page banner bg.png\": 27820,\n\t\"./custom/edcentra/Web Assets/Teach with us page banner bg@2x.png\": 73361,\n\t\"./custom/edcentra/Web Assets/bI2PkS.tif.png\": 73934,\n\t\"./custom/edcentra/Web Assets/bI2PkS.tif@2x.png\": 18951,\n\t\"./custom/edcentra/Web Assets/home page main banner bg-min.png\": 96879,\n\t\"./custom/edcentra/Web Assets/home page main banner bg.png\": 93309,\n\t\"./custom/edcentra/Web Assets/home page main banner bg@2x-min.png\": 16746,\n\t\"./custom/edcentra/Web Assets/home page main banner bg@2x.png\": 5809,\n\t\"./custom/edcentra/Web Assets/user-avatar.svg\": 78121,\n\t\"./custom/edcentra/Web Assets/wQ5VPK.tif.png\": 57748,\n\t\"./custom/edcentra/Web Assets/wQ5VPK.tif@2x.png\": 44204,\n\t\"./custom/edcentra/components/DashboardBanner\": 73482,\n\t\"./custom/edcentra/components/DashboardBanner.vue\": 73482,\n\t\"./custom/edcentra/components/UserProducts\": 44475,\n\t\"./custom/edcentra/components/UserProducts.vue\": 44475,\n\t\"./custom/gocbe_global/Home\": 61084,\n\t\"./custom/gocbe_global/Home.vue\": 61084,\n\t\"./custom/views/Cart\": 34213,\n\t\"./custom/views/Cart.vue\": 34213,\n\t\"./helpers/ApiHelpers\": 17864,\n\t\"./helpers/ApiHelpers.js\": 17864,\n\t\"./helpers/Converters\": 61489,\n\t\"./helpers/Converters.js\": 61489,\n\t\"./helpers/CookieHelpers\": 92438,\n\t\"./helpers/CookieHelpers.js\": 92438,\n\t\"./helpers/FormatHelpers\": 7734,\n\t\"./helpers/FormatHelpers.js\": 7734,\n\t\"./helpers/StringMethods\": 88416,\n\t\"./helpers/StringMethods.js\": 88416,\n\t\"./helpers/Validator\": 82096,\n\t\"./helpers/Validator.js\": 82096,\n\t\"./main\": 50866,\n\t\"./main.js\": 50866,\n\t\"./models/content/directory\": 34215,\n\t\"./models/content/directory.js\": 34215,\n\t\"./models/content/liveClass\": 16812,\n\t\"./models/content/liveClass.js\": 16812,\n\t\"./models/content/recordedVideo\": 20885,\n\t\"./models/content/recordedVideo.js\": 20885,\n\t\"./models/product\": 92798,\n\t\"./models/product.js\": 92798,\n\t\"./models/productVariant\": 51986,\n\t\"./models/productVariant.js\": 51986,\n\t\"./models/user\": 35802,\n\t\"./models/user.js\": 35802,\n\t\"./router\": 1120,\n\t\"./router/\": 1120,\n\t\"./router/index\": 1120,\n\t\"./router/index.js\": 1120,\n\t\"./router/routes/al-midrar\": 25080,\n\t\"./router/routes/al-midrar.js\": 25080,\n\t\"./router/routes/anees_hussain\": 59040,\n\t\"./router/routes/anees_hussain.js\": 59040,\n\t\"./router/routes/astc\": 26068,\n\t\"./router/routes/astc.js\": 26068,\n\t\"./router/routes/default\": 55024,\n\t\"./router/routes/default.js\": 55024,\n\t\"./router/routes/edcentra\": 20130,\n\t\"./router/routes/edcentra.js\": 20130,\n\t\"./services\": 9411,\n\t\"./services/\": 9411,\n\t\"./services/app.service\": 95483,\n\t\"./services/app.service.js\": 95483,\n\t\"./services/assignment.service\": 75050,\n\t\"./services/assignment.service.js\": 75050,\n\t\"./services/category.service\": 1921,\n\t\"./services/category.service.js\": 1921,\n\t\"./services/content.service\": 95274,\n\t\"./services/content.service.js\": 95274,\n\t\"./services/exam.service\": 34644,\n\t\"./services/exam.service.js\": 34644,\n\t\"./services/form.service\": 56293,\n\t\"./services/form.service.js\": 56293,\n\t\"./services/index\": 9411,\n\t\"./services/index.js\": 9411,\n\t\"./services/pricing.service\": 64273,\n\t\"./services/pricing.service.js\": 64273,\n\t\"./services/product.service\": 70514,\n\t\"./services/product.service.js\": 70514,\n\t\"./services/productVariant.service\": 89375,\n\t\"./services/productVariant.service.js\": 89375,\n\t\"./services/quiz.service\": 56687,\n\t\"./services/quiz.service.js\": 56687,\n\t\"./services/support.service\": 57568,\n\t\"./services/support.service.js\": 57568,\n\t\"./services/user.service\": 77270,\n\t\"./services/user.service.js\": 77270,\n\t\"./store\": 24239,\n\t\"./store/\": 24239,\n\t\"./store/app.module\": 50857,\n\t\"./store/app.module.js\": 50857,\n\t\"./store/assignment.module\": 95369,\n\t\"./store/assignment.module.js\": 95369,\n\t\"./store/bulkFileUploading.module\": 94394,\n\t\"./store/bulkFileUploading.module.js\": 94394,\n\t\"./store/cart.module\": 5154,\n\t\"./store/cart.module.js\": 5154,\n\t\"./store/category.module\": 83039,\n\t\"./store/category.module.js\": 83039,\n\t\"./store/content.module\": 57003,\n\t\"./store/content.module.js\": 57003,\n\t\"./store/exam.module\": 28691,\n\t\"./store/exam.module.js\": 28691,\n\t\"./store/form.module\": 77718,\n\t\"./store/form.module.js\": 77718,\n\t\"./store/index\": 24239,\n\t\"./store/index.js\": 24239,\n\t\"./store/pricing.module\": 57782,\n\t\"./store/pricing.module.js\": 57782,\n\t\"./store/product.module\": 47764,\n\t\"./store/product.module.js\": 47764,\n\t\"./store/productVariant.module\": 98326,\n\t\"./store/productVariant.module.js\": 98326,\n\t\"./store/quiz.module\": 30325,\n\t\"./store/quiz.module.js\": 30325,\n\t\"./store/support.module\": 922,\n\t\"./store/support.module.js\": 922,\n\t\"./store/user.module\": 91386,\n\t\"./store/user.module.js\": 91386,\n\t\"./utils/csv-reader\": 57599,\n\t\"./utils/csv-reader.js\": 57599,\n\t\"./utils/external-component\": 69431,\n\t\"./utils/external-component.js\": 69431,\n\t\"./utils/xlsx-reader\": 55713,\n\t\"./utils/xlsx-reader.js\": 55713,\n\t\"./views/About\": 44584,\n\t\"./views/About.vue\": 44584,\n\t\"./views/Account\": 78395,\n\t\"./views/Account.vue\": 78395,\n\t\"./views/Admin/AttendanceWithBarcode\": 40319,\n\t\"./views/Admin/AttendanceWithBarcode.vue\": 40319,\n\t\"./views/Admin/BulkOperations\": 96809,\n\t\"./views/Admin/BulkOperations.vue\": 96809,\n\t\"./views/Admin/CourseDetail\": 69130,\n\t\"./views/Admin/CourseDetail.vue\": 69130,\n\t\"./views/Admin/CourseManagement\": 60259,\n\t\"./views/Admin/CourseManagement.vue\": 60259,\n\t\"./views/Admin/InvoiceManagement\": 90136,\n\t\"./views/Admin/InvoiceManagement.vue\": 90136,\n\t\"./views/Admin/PaymentManagement\": 47531,\n\t\"./views/Admin/PaymentManagement.vue\": 47531,\n\t\"./views/Admin/SystemPreferences\": 48869,\n\t\"./views/Admin/SystemPreferences.vue\": 48869,\n\t\"./views/Admin/UsersManagement\": 82451,\n\t\"./views/Admin/UsersManagement.vue\": 82451,\n\t\"./views/Cart\": 32220,\n\t\"./views/Cart.vue\": 32220,\n\t\"./views/Content\": 60650,\n\t\"./views/Content.vue\": 60650,\n\t\"./views/Dashboard\": 14766,\n\t\"./views/Dashboard.vue\": 14766,\n\t\"./views/Home\": 41354,\n\t\"./views/Home.vue\": 41354,\n\t\"./views/Invoice\": 64999,\n\t\"./views/Invoice.vue\": 64999,\n\t\"./views/Payment\": 46302,\n\t\"./views/Payment.vue\": 46302,\n\t\"./views/ProductContentDashboard\": 45243,\n\t\"./views/ProductContentDashboard.vue\": 45243,\n\t\"./views/ProductContentPage\": 58242,\n\t\"./views/ProductContentPage.vue\": 58242,\n\t\"./views/ProductDetails\": 6225,\n\t\"./views/ProductDetails.vue\": 6225,\n\t\"./views/Profile\": 65956,\n\t\"./views/Profile.vue\": 65956,\n\t\"./views/Search\": 4723,\n\t\"./views/Search.vue\": 4723,\n\t\"./views/Support\": 9152,\n\t\"./views/Support.vue\": 9152,\n\t\"./views/UserDashboard\": 41692,\n\t\"./views/UserDashboard.vue\": 41692\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 18116;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + \"b3f205f5\" + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"lms_v4:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunklms_v4\"] = self[\"webpackChunklms_v4\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(50866); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_h","$createElement","_c","_self","class","user","type","toLowerCase","systemParameters","customFilesLoaded","headerComponent","tag","attrs","sidebarIsCollapsed","on","toggleSidebar","toggleModal","staticClass","_e","isAdmin","TenantInfo","WhatsAppNumbers","replace","staticStyle","_v","isProductContentDashboardPage","showDocumentModal","$event","closeModal","iframeLink","isShowForm","processingFormID","closeFormModal","staticRenderFns","name","data","computed","showWhatsApp","methods","connect","jQuery","url","timeout","success","bind","error","checkForm","components","Header","Footer","Loading","AdminHeader","AdminSidebar","FormModal","UploadRecordedLectureInBackgroundModal","created","chrome","firefox","safari","$","Vue","setInterval","mounted","setTimeout","primary","secondary","watch","$route","window","root","link","document","amIOnline","icon","theme","position","duration","singleton","component","showPassword","directives","rawName","value","expression","pwdError","domProps","Array","isArray","newPassword","_i","$$a","$$el","target","$$c","checked","$$v","$$i","concat","slice","_q","composing","toggleShowPassword","OTPCode","timer","getOTP","_s","toString","padStart","isPhoneError","showError","telInputOptions","validate","model","callback","resetInput","checkType","loading","handleResetPassword","isOTPGenerated","isOTPVerified","$router","back","getCountryISO3","resetPhone","verificationID","counter","resetPasswordToken","autocomplete","maxlength","tabindex","placeholder","mode","isNumber","e","validateAndGetOTP","Type","OTPObj","then","res","catch","verify","valid","verificationToken","message","reset","resetPassword","isDesktopApp","isWebDisabled","hideAppsDownloadInstructionsOnLogin","handleSubmit","username","password","errorText","isloading","showDevicesModal","toggleUserDevicesModal","phone","isError","entity","event","localStorage","email","AppsDownloadInstructions","UserDevicesModal","setUsername","firstName","lastName","mobile","isPasswordError","passwordValidation","length","errors","_l","find","x","regex","confirmPassword","city","field","index","key","Key","extraproperties","CustomFields","acceptPolicy","termsOfUseModal","TermsOfUseUrl","privacyPolicyModal","PrivacyPolicyUrl","institute","countryCode","rules","DynamicFormInput","charset","randomCode","action","text","onClick","toastObject","fieldsParsed","visible","$emit","device","id","deviceImage","platform","brandName","Platforms","removeUserDevice","devices","props","showModal","Object","deviceID","getFormattedCredential","credentialType","preventDefault","handleVerification","credentials","verificationId","handleResendOtp","apply","arguments","formattedMinutes","formattedSeconds","object","handleTimer","handleErrorMessage","clearInterval","inactive_item","studentData","status","toggleViewEditUser","profilePicture","studentAttendance","totalAttendedMinutes","AttendanceStatus","ONLINE","UNPAID","ABSENT","stopPropagation","toggleCommentModel","Reason","showButtons","danger","PRESENT","markAttendance","buttonText","attendance","timeParser","timeIn","dateParser","timeOut","userToViewEdit","openTab","showUserDetailModal","isShowCommentModel","textComment","saveComment","default","contentData","absentComment","attendanceObj","contentID","userID","attendedFrom","isMarkLate","isLeftEarly","markLate","reason","ViewEditUserModal","title","extraProperties","SizeInMB","Duration","toFixed","searchText","isShowDetail","selectedDetail","backToList","selectedDetailViewLogs","viewLog","viewedAt","deviceToken","active","viewStatus","setViewStatus","students","searchFiltered","student","viewUser","warning","enrollmentStatus","viewsCount","showDetail","prev","refresh","exportLoading","exportAttendanceData","contentViewedStudents","isIncludeInActiveStudents","productVariantId","showPrev","stepButtonContent","disableNext","next","err","map","availableFrom","calculatedDuration","presentStudents","item","assign","onlineStudents","absentStudents","unpaidStudents","reportAbsentStudents","AttendanceType","AttendanceListItem","productVariantID","result","existingStudent","acc","filter","isUserEnrolled","loadedCategories","uncategorizedProducts","isVisible","childCategories","drag","update","CategoryListItem","draggable","afterCategoryID","categoryObj","categories","isUncategorized","categoryData","editCategory","indexOf","_k","keyCode","changeMode","updatedTitle","toggleCreate","_m","showDeleteConfirmPopup","filteredProductList","createProduct","cancel","createBtnText","ProductList","productList","showDropdown","isLoading","handleLinkClick","closeDropdown","categoryDelete","msgBoxConfirm","size","buttonSize","okVariant","okTitle","cancelTitle","footerClass","hideHeaderClose","centered","bodyClass","showSave","toLocaleLowerCase","productsByCategory","product","products","addCategory","hideDropdown","categoryTitle","behavior","isExpanded","isEditMode","stepIndex","assignment","$set","instructions","ref","onFilePicked","uploadFile","addLink","files","file","uploadingProgress","removeFile","marks","dueDateTime","isLateSubmissionAllowed","isReSubmissionAllowed","isAvailableForDemo","validateState","submitAssignment","parentContentId","allowedSubmissions","startDateTime","endDateTime","passingPercentage","assignmentFiles","totalMarks","content","quillEditor","fileSizeLimit","addFileForUpload","extension","fileTypeByExtentions","fileTypeByType","fileType","uplaodNextFileInQueue","queuedFile","formData","xhr","self","description","passingpercentage","deadline","isresubimissionallowed","islatesubimissionallowed","Name","Extension","Url","sequence","parentDirectoryID","availableTo","convertToDatetimeLocal","mapAssignmentFiles","_files","QuillRichTextEditor","Discription","style","selectedStudentAssignmentIndex","previous","assignmentResultsWithIndex","option","scopedSlots","_u","fn","selectedStudentAssignment","assignmentResults","activeTabIndex","isSubmittedAssignment","submittedSubmissions","selectedSubmissionIndex","previousSubmission","nextSubmission","activeSubmission","submittedAt","parseDateTime","submittedFiles","activeFileIndex","changeFile","feedbackFiles","openFile","editField","currentEditableUserID","uploadTrainerMarkedFiles","feedback","saveFeedback","cancelEdit","edit","modifiers","validateMarks","Marks","saveMarks","updatedMarks","select","isGraded","panelCollapsed","activeFile","getPDFJSViewerUrl","onFileLoaded","toggleFullscreen","isFullscreen","keys","annotations","doneAnnotation","cancelAnnotation","annotateFile","encodeURI","toUpperCase","loadingFile","feedbackText","selectedStudentid","responseStatus","assignmentResult","JSON","parseInt","isAllowedFileFormat","panelStyle","overflow","display","borderRight","paddingRight","beforeDestroy","loadData","confirmButtonText","onConfirm","iframe","eventName","selectFile","getAllowedFormats","selectLastSubmission","appendUniqueQueryParameter","ContentId","UserId","getFileNameWithoutExtension","getFileType","submissionId","submittedAssignmentResult","handleViewerEvents","handleAnnotatedFile","fileData","fileName","showSwalConfirmation","cancelButtonText","onCancel","showCancelButton","cancelButtonColor","confirmButtonColor","allowOutsideClick","allowEscapeKey","Swal","switchToSubmissionTab","switchToFeedbackTab","element","tabData","children","isChapterSelectable","makeBulkChapterSelectable","makeBulkChapterUnselectable","copiedSection","selectedChapters","productVariantData","CourseContentSection","isBlocked","activeTab","getElementById","parentNode","scrollIntoView","afterContentID","contentObj","parentContentID","pasteContent","destinationContentID","selector","items","paste","disabled","filteredProductVariantItems","changeTab","setActiveTab","showAddSubject","createDirectory","tabBody","tabLoaded","productVariantItems","startDate","Date","toDateString","endDate","ratings","shortDescription","ContentTabBody","CourseContentTab","get","set","numberWithCommas","parseCurrency","setFilteredActiveTab","TargetProductVariantID","SubjectContentID","assignContentObject","response","pasteContentShortcut","productVariantItemID","pasteshortcut","togleButton","manageContentState","isCreated","createContent","isContentSectionSelectable","arg","makeContentSectionSelectable","makeContentSectionUnselectable","selectedBulkCopiedContent","copyAllSelectedContentSection","pasteSelectedContentSections","copySection","showEditModal","toggleEditModal","showContentExpanded","filteredContent","contentLoadingId","contentProgress","updateProgressbar","toggleContentCollapse","contentList","showAddOptions","contentLoading","showZoomModal","showRecordedLectureModal","showStudyMaterialModal","ContentType","ExternalServicesList","CourseContentSectionChild","EditContentModal","createMode","extraParams","Platform","newArray","contentDelete","destinationParentID","getContent","processing","LIVE_CLASS","STUDY_MATERIAL","DIRECTORY","RECORDED_VIDEOS","externalService","serviceProvider","EXAM","QUIZ","FLASHCARDS","ASSIGNMENT","FREETEXT","contentExtraProperties","Deadline","toLocaleTimeString","Host","RegistrantAllow","OpenInSDK","Status","ServiceCodes","V3ExamSystem","parse","Layout","examTimeParser","TotalTime","handleClick","viewExamResults","toggleExamQuestionsModal","toggleExamActionModal","LegacyExam","GET_EXAM_ACTION","VIEW_RESULTS","REVIEW_QUESTIONS","toggleQuizQuestionsModal","toggleViewQuizQuestionsModal","toggleLiveClassAttendanceModal","copyContent","copyJoinLink","toggleStudyMaterialModal","showManageAssignmentsModal","toggleManageAssignmentsModal","showLiveClassAttendanceModal","showExamQuestionsModal","examQuestionsModal_Mode","showQuizQuestionsModal","quizQuestionsModal_Mode","showViewQuizQuestionsModal","showExamActionModal","examActionModal_Action","showCopyUrlModal","toggleCopyUrlModal","copyUrlLink","copyJoinUrlToClipBoard","showConfirmationDialogForLiveClass","closeJoinClassModal","joinLiveClassUrl","proxy","contentLink","split","join","showActionButton","navigator","time","joinClass","For","showVideo","previewExam","RedirectUrl","StudyMaterial","CreateEditExamModal","CreateZoomMeetingModal","CreateEditLegacyExamModal","UploadRecordedLectureModal","UploadStudyMaterialModal","LiveClassAttendanceModal","ContentAttendanceModal","ExamQuestionsModal","ExamActionModal","FlashCardActionModal","FreeTextActionModal","ManageAssignmentModal","QuizQuestionsModal","CreateEditQuizModal","ViewQuizQuestionsModal","AssignmentActionModal","UploadYoutubeRecordedLectureModal","delete","copyTab","copy","currentStep","complete","onlyReadable","topic","start_time","$$selectedVal","prototype","call","options","o","selected","val","_value","durationHrs","multiple","num","durationMin","isRecurring","label","withPopper","recurrence","repeatEveryOptions","repeatEveryUnit","recurrenceEndDateType","recurrenceEndDateValue","recurrenceCount","days","externalServicesList","serviceCode","schedule_for","meetingType","openInSDK","saveRecording","changeSaveRecording","meetingData","agenda","showDesc","totalSteps","allowJbh","repeat_interval","toggleDesc","isRecordingSave","servicecode","isrecurringmeeting","joinbeforehost","openinsdk","registrants_confirmation_email","registrants_email_notification","registrationallow","liveClass","isChecked","checkboxToggle","found","toggleSelectAll","recurrenceStartTime","width","dropdownList","zoomMeetingEndDate","offset","day_no","occurrence_dates","selectBtnText","getInputDateFormat","updateModel","isContentAvailableForDemo","role","assignedTrainers","updatePermissions","assignTrainer","unassignTrainer","updateTrainersToUnassign","updateTrainersToAssign","dateErrorText","updateObject","trainers","trainersToAssign","trainersToUnassign","allOk","UpdateContentTrainers","t","trainerObject","trainerID","IsShowInTrainerList","jobTitle","permissions","isActive","iframeURL","handleLegacyExamActions","isAppleDevice","examActionUrl","STUDY_MATERIAL_SERVICE","currentTheme","toggleAddOptions","handleManageAssignmentsClick","handleFlashCardClick","handleFreeTextClick","serviceProviders","service","isAllowService","isVideoLoading","handleServiceClick","serviceType","ExamTestingSystem","serviceTitle","handleQuizClick","selectedService","serviceData","toggleRecordedVideosModal","updateVideoProgress","showYoutubeRecordedLectureModal","toggleYoutubeRecordedVideosModal","toggleZoomModal","allowDownload","selectedProvider","showExamModal","toggleExamModal","showLegacyExamModal","toggleLegacyExamModal","showFlashCardModel","toggleFlashCardModal","showFreetextModal","toggleFreeTextModal","showQuizModal","toggleQuizModal","isStudyMaterialLoading","productVariant","serviceIcon","block","inline","providers","nextStep","addSlide","updateSequence","flashCards","slide","removeSlide","prevStep","validateSlides","updateContentForm","submitForm","slide1","slide2","validateForm","tempStartDate","tempEndDate","tempFlashCards","loadEditContent","parseDateToYMD","uploadFreeText","freetext","initQuillEditor","modules","toolbar","IsAvailableForDemo","finally","handleSnippingImagePaste","Quill","handleFileInput","input","dataURItoBlob","ia","Files","PassingPercentage","AllowedSubmissions","assignmentSubmissionsResult","filterType","setFilterType","searchNameEmail","i","selectStudentAssignment","isSubmitAssignment","isLateSubmission","mapSubmitted","mapFeedback","submissions","addFeedback","color","fontWeight","percentage","editMarks","cancelEditMarks","selectedUsers","isSelectedAll","visibleFeedbackDropdowns","closeSubmissionDetail","getAssignmentResults","results","selectAll","forEach","lastSubmission","submittedAssignmentFeedback","currentSubmission","AssignmentDetail","isSubmissionsActivePanel","filtered","selectedAssignments","selectedAnswer","removeOption","answerOptions","obj","question","questionText","randomizeAnswerOptions","addOption","setAnswer","updateAnswerOptions","disableSubmitBtn","create","btnText","questionData","answer","resizeTextarea","textarea","isCorrect","RadioButtonQuestion","CheckboxButtonQuestion","TextboxButtonQuestion","allTrainers","updateTrainersList","TrainerPermissionsListItem","trainer","addTrainer","removeTrainer","isMaximized","filesInQueueToUpload","currentlyUploadingItem","PercentComplete","openModal","video","closeCompleteModal","currentlyUploaded","currentlyFailed","currentlyCancelled","contentType","convertToMBorGB","editContent","onCancelCallback","selectedContent","handleBeforeUnload","beforeUnmount","isMinimized","expand","isFileAdded","isLinkUpload","validateURL","fileUrl","shrink","dropzoneOptions","uploadVideo","removeVideo","sendingUploadRequest","completeUpload","uploadWithLink","previewLoading","upload","vueDropzone","thumbnailWidth","uploadMultiple","autoProcessQueue","acceptedFiles","filehash","videoIsValid","fileProgress","videoDetailsList","fileUploadSuccess","uploadURL","notifyURL","source","filename","checkVideoLink","v","resolve","confirmed","hideModal","uploadInBackground","addClass","removeClass","fetch","processUploadingURL","changeRequestHeadersForAWSPresignedUrlUpload","_send","isPDFVSS","allowdownload","sendingEvent","getFileUrl","updateStudyMaterialProgress","maxFiles","method","createImageThumbnails","headers","AuthToken","Authorization","append","totaluploadprogress","totalBytes","totalBytesSent","getUploadURL","validateUrl","createEditContent","validateYouTubeUrl","questions","productVariants","enrollmentTypeOptions","enrollmentType","selectedVariants","directEnrollVariants","updateEnrollments","filteredVariantsList","pricingStatus","refInFor","addInvoiceDetail","setError","isCurrentLoading","checkInvoiceDetails","invoiceDetails","enrolledVariants","selectedPlan","payments","planCycles","errorsList","ProductVariantEnrollmentType","ProductVariantPricingStatus","availableVariants","currencyParser","details","invoice","generateInvoice","customerID","invoiceDate","currency","directlyEnrollCourses","allowedRanges","startsFrom","variant","endsAt","requestObj","errorVariants","showErrorMessage","dv","sv","isCourseEnded","isDisabled","course","enrolledCourses","EnrollmentPricingPlans","EnrollmentCourseListItem","mergedVariants","toggleEnrollmentModal","DIRECT_ENROLLMENT","PRICING_PLAN","exportUsersEnrollmentData","users","isFree","setEnrollmentStatus","allowedUsers","blockUsers","unenrolledUsers","expiredUsers","updatedExpiresAt","submitChangeExpiryDate","toggleUserSelect","expiresAt","toLocaleDateString","weekday","year","month","day","ProductVariantSubscriptionStatus","BLOCKED","UNENROLLED","showConfirmationModal","fields","pricingOptions","enrollOptions","selectedEnrollmentType","date","su","filteredEnrollments","CreateEditEnrollmentModal","usersByProductVariant","isConfirm","showCloseConfirmPopup","searchData","isSearching","handleScroll","isNextRecordAvailable","fetchingNextRows","fetchNextRows","planUpdate","getInvoicesAndPaymentData","paymentsRemove","selectedStudents","disableEnroll","comfirmInvoices","studentList","enrolledStudents","usersLoading","nextPageToken","pageSize","searchString","showEnrollConfirmPopup","paymentMethod","paymentComments","received","discount","enrollUsersInVariant","filteredStudentList","enrolledUsers","ValidateAndGenerateInvoices","titleText","isCustomEnrollment","FREE","variantEnrollmentType","selectedCycles","plansByType","planTypes","ONE_TIME","plan","MULTIPLE_PAYMENT_CYCLES","planType","cycle","togglePlanCycleSelect","amount","startAt","endAt","gracePeriod","isPaid","paymentButtonText","multiplePlanPayments","addMultiplePayment","PaymentGateway","isSinglePlanPaid","singlePlanDiscount","validateAmount","singlePlanReceived","singlePlanOutstanding","arePlansLoaded","missingError","markPaid","currentCycle","balance","emitInvoiceDetails","invoiceDetail","planDetailID","dueDate","paymentDate","methodProvider","methodProviderID","detail","showDone","parent","PlanCyclePaymentDropdown","selectedCyclePrice","cycleDiscount","cycleReceived","cycleOutstanding","togglePaid","amountError","productTitle","productVariantTitle","editIndex","updatedExpiresAtClick","editExpiresAt","subscriptionStatus","unenrolledBy","ALLOWED","showEnrollModal","toggleEnrollModal","enrolledProductVariants","handleBtnClick","AddUserEnrollmentModal","isInvoiceGenerated","isFailed","generatedInvoices","paidInvoices","generateInvoiceObject","inv","isPaymentComplete","invoicesList","examQuestionType","ExamQuestionType","QUESTION","examQuestionSequence","searchCategory","selectCategory","selectQuestions","CRITERIA","criteria","ExamCriteria","CATEGORY","categoryOptions","loadOptions","optionSelect","$data","criteriaOptions","criteriaLabel","criteriaValue","MARKS_RANGE","numberOfQuestions","examCriteriaSelected","CategoryIDsCriteria","DifficultyLevelsCriteria","MarksRangeCriteria","QuestionTypesCriteria","questionSearchText","selectedQuestions","QuestionDifficultyLevel","examQuestionTypeOptions","examCriteriaOptions","questionDifficultyLevelOptions","isCriteria","marksRangeOptions","QuestionsColumn","CategoriesColumn","Treeselect","allowedQuestionTypes","examQuestionList","QuestionSequenceNo","Question","QuestionID","NoOfQuestions","categoryID","c","cc","examThemes","examTheme","examDates","removeDate","numberOfAllowedAttempts","isTimedExam","examDuration","toggleAddtionalOptions","additionalOptions","showAllQuestionsAtOnce","allowReviewPreviousQuestions","allowReattemptPreviousQuestions","isReviewAllowed","toggleAddQuestionModal","examQuestions","moveQuestion","editQuestions","deleteQuestion","questionDetails","showAddQuestionModal","nextSequenceNo","addQuestions","finish","ExamStatus","DRAFT","examStatus","PUBLISHED","examStartDateTime","examEndDateTime","examEndLateDateTime","isCalculatorAllowed","totalExamQuestions","ExamType","getSmallestDate","smallest","getLargestDate","largest","examtypename","examstatus","isreviewallowed","iscalculatorallowed","showallquestionsatonce","canreviewpreviousquestion","canreattemptpreviousattemptedquestion","examdates","examquestions","istimedexam","numberofminutes","numberofallowedattempts","themeid","generateExamQuestionsList","questionList","Criteria","dateFormatter","addDate","examStartAndEndDate","formatDate","hour","minute","q","questionTypes","AddExamQuestionModal","ExamQuestionListItem","QuestionListItem","examData","isImport","paperIds","testId","testData","filteredServices","selectedServiceCode","isRandom","sendToReviewOnSubmit","createExam","layout","maxAttempts","second","importTest","paperids","examid","istestcreationrequired","israndom","sendtoreviewonsubmit","maxattempts","numberofquestions","totaltime","QuestionTitle","QuestionType","QuestionTypeName","ExamCriteriaText","criteriaValues","updateQuestions","removeQuestion","QuestionTypeText","criteriaItems","replaceAll","toISOString","randomizeQuestion","markCompleteOnPass","feedbacks","ratingPoint","review","feedbackId","StarRating","deleteStudentsFeedback","arePaymentsAdded","disableDetailItem","toggleInvoiceSelect","invoicedProductVariant","planName","planDetailTitle","outstandingAmount","paidAmount","discountAmount","discountType","discountTypes","InvoiceStatus","PAID","OVER_PAID","PARTIALLY_PAID","handleNumberInput","paymentAmount","isAnyPaymentAddedForCurrentInvoiceDetail","removeInvoiceDetail","selectedDetails","invoiceId","userId","discountRawValue","invoiceDetailId","parseFloat","addPayment","serviceName","addRefund","isChanged","values","currencyCodes","code","currencyFilterBy","symbol_native","updatePayment","discountUpdate","dueDateUpdate","disableSave","payInvoice","invoiceEdit","invoiceMode","InvoiceDetailItem","isInvoiceFullDiscount","fullInvoicePaidAmount","payment","res1","metaData","res2","Promise","invoiceDelete","search","invoices","toggleInvoiceModal","totalAmount","invoiceToViewPay","showInvoiceModal","selectedInvoices","total","UserInvoiceDetailModal","invoicesByUserId","meta","isHideAdminLayout","collapsed","tenantName","logoPath","searchList","loggedIn","AdminKnowledgeBase","TrainerKnowledgeBase","showPDF","togglePasswordModal","logout","showChangePasswordModal","updateModalPasswordState","ChangePasswordModal","showTabs","require","list","isNonAdminPage","isTrainer","_t","courseIcon","barcodeScanner","elements","showBarcodeScanner","isEdit","isHTML","filteredBannerTypes","mobileBanners","mobileFileUrl","htmlCode","mobileHtmlCode","caption","order","uploadBanner","updateProgress","uploadHTML","openPreview","editBannerMedia","updateMedia","uploadMobileBanner","isBannerUploaded","isMobileBannerUploaded","showPreview","previewItem","handleHide","bannerTypes","bannersList","bannerData","isLink","bannerObj","screen_size","provider","VueEasyLightbox","banner","sources","editBanner","toggleBannerModal","showBannersModal","bannerToEdit","addNewBanner","bannerEdit","autoplay","updateBanners","pauseOnHover","allowMaterialDownload","updateStudyMaterial","bannersFromStore","updatedBannerSlides","slides","parameterName","parameterValue","lastElementChild","deleteBanner","AddEditBannerModal","changeColor","PrimaryColor","SecondaryColor","colorThemeLoading","testfun","saveColorTheme","enableEditing","editAddress","tenantInfo","Address","AddressMapLatitude","AddressMapLongitude","tempAddress","tempAddressMapLatitude","tempAddressMapLongitude","saveEditing","disableEditing","editEmails","Emails","tempEmails","editContactNumbers","ContactNumbers","contactNumber","tempContactNumbers","editWhatsAppNumbers","whatsAppNumber","validateWhatsApp","tempWhatsAppNumbers","WhatsAppButton","updateCompanyInfo","tempEmail","tempPhone","preview","openLogoDialog","getLogoFile","logoLoading","faviconPath","openFaviconDialog","getFaviconFile","faviconLoading","updateLogo","updateFavicon","editFacebook","SocialLinks","Facebook","tempFacebook","editTwitter","Twitter","tempTwitter","editLinkedIn","LinkedIn","tempLinkedIn","editYouTube","YouTube","tempYouTube","editInstagram","Instagram","tempInstagram","socialUrl","updateSocialInfo","addZoomAccount","zoomServices","parseData","pic_url","for","account_id","loadZoomServiceAccounts","paymentDetail","togglePaymentSelect","productName","paymentType","paymentTypes","PaymentStatus","PENDING","paymentStatus","currentCurrency","paymentUpdate","updateType","handleSave","PaymentDetailItem","metadata","showMarkAsPaidDropdown","editPayment","paymentDelete","markCompleted","remainingLineItems","paymentObj","toggleDropdown","gateway","togglePaymentModal","paymentToViewPay","showPaymentModal","selectedPayments","UserPaymentDetailModal","paymentsByUserId","pricingType","planToEdit","editMode","planDetailToEdit","planCountryAndCurrency","updatePricingPlansByType","changeType","oneTimePlans","multiplePlans","pricingPlanByProductVariantId","getCurrencyName","planCountriesText","country","planDetailAmount","editPlan","editPlanDetail","countryCodes","plansLoading","productID","getCountryName","planDelete","countriesNotSelected","countries","CreatePricingPlanSidebar","closeSidebar","planCountry","selectAllCountry","selectAllText","planCurrency","singlePlanAmount","singlePlanGracePeriod","planDetailItems","latePrice","editPlanDetailItem","removePlanDetailItem","showPlanCycleForm","addPlanDetailItem","planCycleName","planCyclePrice","planCycleContentPrice","planCycleStartDate","planCycleEndDate","planCycleGracePeriod","togglePlanCycleForm","editingCycle","isPlanCycleEdit","amountDetail","isApplicableOnPreviousInvoices","willContentGetExpiredAfterPlan","selectedCountryAllowed","pricingPlan","objDiv","planCycle","resetPlanCycle","isAmountInvalid","isContentPriceInvalid","isGracePeriodInvalid","isDateInvalid","checkPlanCurrencyValidity","showPlanCycleBtn","planData","dragStart","categoryId","addProduct","blur","dragStartCategoryId","ProductListItem","friendlyTitle","productObj","productData","toggleCollapse","expandCollapse","openCategoryModal","showCategoryModal","assignCategory","selectedCategories","productVariantList","updateVariant","editProduct","updateModalState","ProductVariantList","CreateProductVariantModal","expanded","isLoaded","productDelete","ProductVariantID","TargetProductID","productVariantsByProduct","_this","thumbnailMediaPath","openDialog","getFile","thumbnailMediaType","ProductVariantStatus","COMING_SOON","PRIVATE","filteredTrainers","updateTrainers","profilePicturePath","productVariantTrainers","showAdditionalOptions","addContentToList","contentToCreate","removeContentFromList","longDescription","isFeatured","skip","contentCreated","trainersAssigned","ProductVariantContentCreate","ProductVariantContentAddExisting","showSkip","productId","trainersList","added","addContent","isAdded","ProductVariantContentCreateItem","areTrainersAssigned","showDelete","deleteContent","AssignTrainerToContentDropdown","showAssign","div","checkMove","ProductVariantListItem","afterProductVariantID","productVariantObj","push","openEditModal","productVariantDelete","copyProductVariant","showContextMenu","themeOption","themeName","typeOption","questionTypeID","questionTypeName","examinationURL","selectedCategory","category","selectMode","cancelCreate","filteredQuestionCategories","QuestionCategoryListItem","categoryName","questionsCount","childQuestionsCount","toggleSubCategoryCreate","questionCategories","selectChildCategory","isSubCategoryCreate","cancelSubCategoryCreate","createCategory","parentCategoryId","parentID","createCategoryObject","questionCategoryDelete","hasChildCategories","cat","ID","questionSelected","toggleQuestionModal","showQuestionModal","AddQuestionModal","currentPage","moreLoading","myDiv","QuestionMarks","DifficultyLevel","showAllQuestionText","QuestionText","toggleShowAll","questionDelete","QuestionCategoryList","queryString","path","query","pool","sourceID","filteredQuestions","updateCurrentPage","QuestionList","isAuthenticationProcessed","zoomOAuthObj","connectServerToServerOAuth","isRedirected","clientId","clientSecret","accountId","secretToken","makeOAuthServiceConnection","redirecturl","assignTrainersToContent","click","trainerData","permissionValue","permission","phoneInput","importFile","FirstName","LastName","Phone","Email","Username","Password","userStatusTitle","userCreateResponse","isSuccess","userStatusText","validationStatusTitle","userValidationStatus","isValidationSuccess","validationStatusText","isUploadComplete","uploadUsers","userImportData","extraFields","userRegisterFields","usersGenerating","isValidationError","isValidating","reader","workbook","sheetsJSONArray","validateJSON","validationMessages","validationSuccess","alert","extractExtraFields","extraFieldsFromSystemParams","createUserObject","createSuccess","createMessage","batch","enrollSuccess","enrollMessage","hasExtraFields","parsedExtraFields","validateRequiredFields","validatePhoneNumber","validateEmailFormat","validateUsername","validatePassword","validateType","validateCountryCode","validateBatchIDs","batches","createUserType","roleOptions","managementRole","generatePassword","address","profilePictureType","newUser","showEnrollUserPopup","noCloseOnBackdrop","noCloseOnEsc","triggerEnroll","retVal","isUserViewLog","parseProductVariants","parentContents","ProductVariantTitle","parseSubjects","parseChapters","secondsToHHMMSSFormat","contentDetail","lastViewedAt","contentId","formatter","parseContentParentHerarchy","chapters","subjects","subject","chapter","isProfilePictureUploading","editFile","changeCountry","getCountryISO2","updateObj","platformType","platformLimits","isSystemDefaultLimit","deviceName","devicePlatform","restrictionsList","setPlatforms","platforms","setDevices","showPlatformDropdown","showInput","p","emitDeviceDetails","limit","checkState","systemDefaultDeviceLimits","deviceLimits","restrict","userDevices","userDeviceRestrictions","userData","qrScanner","selectedCamera","availableCameras","currentScannedUserId","src","sound","initializeScanner","highlightCodeOutline","highlightScanRegion","QrScanner","showCameraSelectionDialog","html","preConfirm","selectElem","UserStatus","ACTIVE","INACTIVE","currentTab","viewOnly","isUserActive","isUserStatusUpdate","showDisableConfirmPopup","updateStatus","disableReset","showConfirmResetDevices","isChangePassword","passwordChange","tabComponent","isUserDetailTab","handleDisable","handleUpdateData","updateError","disableSaveBtn","isSaveBtnDisabled","save","userDetails","deviceData","isUserDeleting","restrictionLimits","userDelete","resetDevices","UserDetails","pricing","removeFromCart","trainerList","getCartTotalAmount","cart","paymentMode","IconSrc","paymentOptions","paidVariants","confirmRegistration","handlePayNowClick","iconPath","fullwidth","getInvoiceDetails","invDetail","processPayments","payNowLink","currentSubmissionStatusColor","currentSubmissionStatus","assignmentSubmittedAt","currentSideSubmissionStatus","isSubmitDisabled","makeAssignmentSubmission","isMissing","IsLateSubimissionAllowed","isSubmitted","submittedAssignment","isSubmissionAllowed","initializeQuillEditor","pastePlain","readOnly","assignmentSubmissionFiles","getAssignmentSubmissions","mapSubmittedAssignmentFiles","liveClassComponent","apiKey","WebViewer","licenseKey","initialDoc","instance","isQuizStarted","isQuizEnded","currentQuestionIndex","totalQuestions","loadQuestionClass","isReviewMode","answers","correctAnswers","previousQuestion","haveTimeLimit","timeFormat","currentLeftTime","nextQuestion","showResult","submitQuiz","quizResult","overallPercentage","noOfCorrectQuestions","obtainedMarks","attemptAgain","reviewQuiz","timeLimit","startQuiz","currentAttemptID","currentTimer","circleCounter","SelectButtonQuestion","TextboxQuestion","isTimeEnded","Action","queryData","startQuizTimer","quizTimeEnded","button","dangerMode","confirm","showDenyButton","denyButtonText","compileQuizAndSubmitExam","Answers","AttemptID","beforeRouteUpdate","isInCorrect","identifier","correctAnswer","filteredOptions","getUserInput","userInput","viewUrl","tab","isVSS","isYoutube","console","log","PDFJSViewerUrl","isMobile","isDownloadAllowed","pdfJsExpressApiKey","AdobePDFReaderAPIKey","hideShare","disableRightClick","iframeLoadEvent","publicPath","isDownloading","isDownloaded","tooltipMessage","handleDownloadDocumentButtonClick","downloadProgress","PDFExpressViewer","AdobePDFViewer","numberPages","isPDFLoading","handleRightClick","signal","writer","done","receivedLength","abortController","randomNumber","undefined","joinUrl","joinInSDK","startZoomWebMeeting","errorMsg","joinInZoomApp","userEmail","userName","watermarkInterval","getSDKKey","sdkKey","SDKKey","loadZoomWebSDKDependencies","ZoomMtg","token","meetingNumber","watermark","showInviteUrl","showMeetingInfo","showParticipants","zoomWindowsSDKParams","sendMessageAndGetResponse","targetWindow","reject","signature","passWord","leaveUrl","showMeetingHeader","disableInvite","disablePreview","isSupportChat","isSupportAV","disableCallOut","isShowJoiningErrorDialog","disablePictureInPicture","isSupportCC","meetingInfo","meetingInitObj","saveRegistrantJoinUrlInCookie","setCookie","getRegistrantJoinUrlFromCookie","loadZoomCSS","hideParticipants","elemsToHide","elem","addWatermark","moveWatermark","removeWatermark","isEbookTheme","isRegistrationRequired","openMeetingInSDK","showMeetingID","showMeetingPassword","showParticipantsButton","registrantToken","filteredUpcomingContent","totalReminderSlides","activeAnnouncementAccordian","collapse","show","_b","updateSlide","arrowOption","currentSlide","slideCount","settings","UpcomingContentType","CURRENT","UPCOMING","PAST","currentReminderSlide","prevSlide","nextSlide","currentAnnouncementSlide","ReminderListItem","VueSlickCarousel","hasContentStarted","hasContentEnded","tomorrowDate","NewPost","badgeText","subTitle","handleContentClick","ctaText","reminderItem","getTimeIn12Hours","userProducts","isReadOnly","editorID","isInline","toolbarOptions","header","script","indent","align","background","font","direction","_text","range","uploadedFile","getValue","handleTextChange","formResponse","isRequired","closeForm","submitFormResponse","formID","FormID","FormData","DynamicCustomFormInput","menu","happy","plugins","menubar","Editor","trainersLoaded","trainerCourses","InstructorList","short_description","number","courses","image_path","UpdateCoursesTrainerList","allProductVariants","instructorList","instructor","InstructorListItem","redirectToProfile","instructorData","isThumbnailError","long_description","filteredProductVariants","trainersid","getTrainer","filterTrainerCourse","pendingPayments","invoiceID","isPendingPayment","paymentID","AndroidAppUpdateUrl","IOSAppUpdateUrl","WindowsAppUpdateURL","MacAppUpdateURL","currentUserName","tabText","_obj","_obj$1","_obj$2","_obj$3","_obj$4","customLabelClass","inputFieldOptions","displayName","customInputClass","hasIcon","tabIndex","readonly","inputValue","Value","properties","checkbox","k","radioStyle","RadioButtonItems","Start","End","Step","inputSetValue","DisplayName","IsRequired","showLabel","AddressMapLink","contactNum","whatsAppNum","togglePrivacyModal","RefundPolicyUrl","ComplainPolicyUrl","isShowPrivacyModel","currentPrivacyModelURL","currentPrivacyModelHeading","toggleProductDropdown","HEADER_HAMBURGER_PATH","productDropdown","closeProductDropdown","HEADER_COURSES","StudentKnowledgeBase","HEADER_CART_ICON","cartItemsNumber","HEADER_LOGIN","HEADER_REGISTER","userDropdown","HEADER_DASHBOARD","HEADER_PROFILE","HEADER_LOGOUT","LOGO_LIGHT_PATH","showHideNotification","ProductDropdown","Searchbar","openProductModal","toggleLoginDropdown","toggleSearchDropdown","searchDropdown","closeProductModal","loginDropdown","productModal","closeDropdowns","ProductModal","carouselOptions","getData","feature","features","autoplaySpeed","arrows","Login","CLIENTS_CAROUSEL_SETTINGS","infinite","slidesToShow","initialSlide","rows","responsive","breakpoint","searchPageLink","adobeApiReady","showZoomControl","hasReadOnlyAccess","showAnnotationTools","enableFormFilling","showDownloadPDF","showPrintPDF","showBookmarks","divId","adobeDCView","location","config","evidence","getFileLink","pendingPayment","fileUploading","invoiceToPay","BannerSmall","invoiceDetailID","placeholders","consumernumber_invoice","consumernumber_user","merchantcode","replacePlaceholders","prependZeros","paymentData","gatewayUrl","orderID","merchantName","transactionDescription","customerMobileNumber","customerEmail","successUrl","failureUrl","orderDate","checkoutUrl","institutionID","isSubmitForm","isPostPayment","msg","redirectUrl","count","showOtpUI","minutes","seconds","createSession","showCheckoutBtn","isCredentialsCorrect","sessionId","orderReference","ngeniusCdnScriptUrl","showCountdown","totalSeconds","paymentReference","mountNgeniusGatewayUI","outletRef","onChangeValidStatus","isExpiryValid","isNameValid","isPanValid","mountId","height","completePayment","showSwalErrorMessage","showSwalSuccessMessage","beforeRouteEnter","recaptchaScript","chargetotal","checkoutoption","hash_algorithm","language","hashExtended","responseFailURL","responseSuccessURL","storename","timezone","txndatetime","txntype","activeActivityAccordian","searchCourses","courseSelected","categorySelected","clearFilters","tutorsList","courseList","categoryList","tutorSelected","ratingSelected","queryParams","loadFilterValuesFromQueryString","filters","categoryActive","changeCategory","filterProductsByCategory","filterCategories","carouselType","viewMode","purchased","objectives","ProductContentSidebar","ProductContentTabs","ProductDetailsTopCard","accordianActive","section","accordianClick","headerIcon","isFirstAccordian","isExpandedAccordian","ProductContentList","isAccordianLoaded","ProductContentAccordian","firstAccordianId","contentActive","filteredContentData","ProductContentListItem","RecordedVideoStatus","currentDate","Start_Time","isUnpaid","isDemo","handleLegacyExamButtonClick","activeAccordian","handleAccordianClick","showWebDisabledModel","closeWebDisabledModal","nextUrl","productIdFromUrl","ProductContentAccordianList","sidebar","courseTab","tabContent","isTabLoaded","querySelectorAll","thumbnailPath","openThumbnailPreview","lowestVariantPrice","discountedPrice","hasOnlyOnePlan","contactUsFormLink","priceBeforeDiscount","priceAfterDiscount","price","filteredPricingPlans","PricingPlanType","discountPercentage","productVariantDates","isInCart","showVideoPreview","closeVideoPreviewModal","videoPreviewUrl","showPromoInput","promoValue","plansLoaded","togglePromoInput","router","dateString","toShortDateString","creator","listData","modalVisible","hide","ProductDetailsModal","activeCategory","categoryClick","ProductDropdownLeftPanel","ProductDropdownRightPanel","resetCategory","productVariantsByCategory","filteredProductVariantsByCategory","productVariantURL","dataLoaded","showMoreCourses","getProductDetailsUrl","isViewAll","mainFeedbackIndex","toggleAdvancedFilters","showAdvancedFilters","filterProducts","ProductAdvancedFilters","displayMode","productListData","showFilters","grid","carouselSettings","ProductFilters","PRODUCT_CAROUSEL_SETTINGS","productTrainersList","parseForURL","isProductVariantBlocked","isProductVariantEnded","isProductVariantExpired","selectPlan","paymentTypeText","isCycleSelected","togglePlanCycle","enrollCourse","updateCycles","REGISTER","CART","ProductPricingPlanItem","selectedPlanAmount","d","prevCalcVal","operators","calcVal","btn","includes","submissionDeadLine","toggleAttachmentsModal","attachments","Id","isNewSubmission","newSubmission","submission","submissionDate","dataList","parseDate","el","setAttachments","isMaxSubmissionReached","isAssignmentGraded","loadingResult","TotalMarks","attemptedCorrectly","showAttemptButton","getExamResult","tempResult","isBetweenDates","flashcards","toggleActive","activeFlashcardIndex","Slide1","flashcardsPreparation","Slide2","setFlashcardResponse","getCorrectAnswersLength","getIncorrectAnswersLength","flashcard","showFlashcardResponse","getStatusIconPath","getProgress","previousFlashcard","nextFlashcard","resetFlashcard","toggleViewMode","isCompleted","ContentID","DataType","Data","getFlashcardResponse","dataType","isAllCompleted","getCompletedStatus","getNotAnsweredLength","isBookmarked","setBookmark","selectedRange","highlight","takeNotes","isOffcanvasOpen","selectedNoteIndex","removeNote","selectedNote","comment","setComment","toggleOffcanvas","highlightedRanges","notes","isShowFloatingOptions","overlappingRanges","tempQuill","note","condition","intersectingNote","intersectingIndex","rangesIntersect","checkRangeIntersection","setNotes","getNotes","setHighlight","getHighlights","handleNotesClick","NotesBlot","HighlightBlot","editor","notesElements","generateGUID","isNotStartedClass","isActiveClass","getMonthDate","getMonthName","scheduledTime","isPresent","attendence","timeline","selectTimeline","startTime","selectedTimeline","getTotalDuration","getFormattedTime","interval","getIntervalDuration","endTime","getDurationByStatusPercent","getDurationByStatus","getReason","attendenceList","timelines","getLiveClassAttendenceReport","hour12","getDateTimeToSeconds","currentDuration","manageAttendenceProgress","updatedAttendenceList","previousTimeOut","sortedList","mergeSameStatuses","currentIndex","mergedItem","mergedList","calculateTimeGaps","sort","gapDetails","createTimelines","currentTimeline","lastItem","ended","checkVideoEndedEvent","Source","isContentTypeLink","download","assignments","params","page","chapterId","topLevelContentID","parseDueDate","assignmentProperties","pass","fail","fetchData","getResultStatus","selectedProductVariant","isEbookDigitalTheme","hasContent","handleInput","isFilterSelected","setOrRemoveFilter","resetFilters","pvItem","contentUnderChapterCount","selectChapter","completedContentUnderChapterCount","accordionState","loadChapterOptions","node","labelClassName","shouldShowCount","countClassName","isBranch","raw","upper","confidenceLevel","setContentConfidenceLevel","completionStatus","previousContent","nextContent","selectedChapterID","isFiltering","ProductContentChaptersContentList","ProductContentView","getProductVariant","optionContentClass","isunderSelected","mapNestedChild","isSelected","isDefaultExpanded","getConfidenceLevel","currentFilters","swalOptions","filterChildrens","j","reduce","isLiveClassContentAndEnded","applyFilter","isAccordionVisible","showAttachments","askToConfirmToSwitch","onSwitch","showPreviousButton","isAbleToSwitchContent","hasBookmarks","bookmark","onBookmarkContentView","getDateOnly","performAt","deleteBookmark","bookmarks","tempBookmarks","hasConfidences","confidence","onConfidenceLinkTap","confidenceLevels","tempConfidenceLevels","chapterContent","filteredTopics","chapterID","ProductContentChaptersContentListItem","isLiveClassEnded","completed","Count","getContentActions","actions","progress","hasHighlights","onHightlightsContentView","contentTexts","contentText","removeSingleHighlight","highlights","contentItem","tempContent","tempHighlights","contentAction","LiveClassTabs","ALL","TODAY","PREVIOUS","ProductContentClassesTab","classes","sortByDate","isSortByDateAsc","upcomingClass","getDate","formatTimeRange","isAbsent","isScheduled","onJoinClassPressed","attendenceReport","filterClasses","activeClass","loadingExam","isDetailedView","examList","toggleView","marksObtained","examDetailContent","exam","changeView","chapterName","examDate","formatDateWithTime","getNotAttemptedCount","attemptedQuestions","handleAttemptClick","state","caseNo","examDetail","examID","examType","questionid","tempExamList","fetchExamContentResult","tempContainer","compareQuestionCaseNo","quiz","hours","activeCardIndex","card","handleListCardItemClick","prevCard","nextCard","completionStatuses","resetFlashCards","isAllOfOneSectionCompleted","isCurrentSectionAlreadyCompleted","fetchCompletionStatuses","currentActiveTab","ProductContentChapters","ProductContentClasses","ProductContentChaptersConfidence","ProductContentChaptersBookmarks","ProductContentChaptersHighlights","selfRouteQuery","productTrainers","selectedProductVariantId","navigate","names","showCalculator","toggleCalculator","RecordedVideo","Flashcards","FreeText","Calculator","LiveClass","Exam","Assignment","Quiz","processContent","getBookmark","isAllowDownloadStudyMaterial","contentActions","rating","addProductVariantFeedback","updateProfile","oldPassword","changePassword","updatedUserData","profileData","fullName","getUserGender","UserRegisterExtraFields","Gender","ticketServices","body","addTicket","serviceID","ticket","parseTicketHash","createdAt","lastTicketReply","closedBy","closedAt","replies","reply","management","sendTicketReply","closeTicket","ticketID","ticketHash","toggleTabState","productVariantStatusToShow","tabStatus","tabs","UserDashboardProductsListItem","directEnrollmentProductVariants","productVariantsExpiresAt","formattedDate","numberOfRatings","contentViewTheme","isProductDisabled","addItemToCart","productsLoaded","addedProducts","ProductRegistrationListItem","HomePageBanner","isBatchDisabled","productVariantsLoaded","filteredProductVariantsByProduct","addItemToList","showPlansModal","setModal","ProductPricingPlansModal","variants","getCartItems","isUpdatesCard","updateLayout","tabsList","mobileLabel","iconClass","showOnMobile","DashboardBanner","DashboardUpdatesCard","UserProducts","unenrolledCourses","checkCourses","getUserProductsCallback","Banners","ProductCategoryTabs","HompageBecomeInstructor","HompageTestimonials","USER_PRODUCTS_CAROUSEL_SETTINGS","DashbooardBanner","currentRouteName","loadingUsers","isFullScreen","scanningDisabled","lastScannedID","scannedUser","Scan","Quagga","inputStream","decoder","readers","StopScan","startTimeout","onDetectedCallback","showConfirmButton","camera","selectedCourses","bulkOperationConfirmationDialogue","operationType","emails","validateUserEmails","Multiselect","activeBulkOperationButtons","emailsNotFound","selectedCoursesIDs","resetUserDevices","_emails","userEmails","requestData","UserEmails","ProductVariantIDs","CategoryList","CreateCategoryDropdown","filterInvoices","studentIDFilter","studentNameFilter","studentPhoneFilter","studentEmailFilter","invoiceIDFilter","productVariantIDFilter","firstDay","format","dateRangePresets","picker","resetDueDateFilter","paymentDueDateFilter","resetDateFilter","paymentDateFilter","invoiceStatusFilter","setStatus","allInvoices","formatCurrency","filteredInvoices","perPage","paymentMethodFilter","paymentIDFilter","today","yesterday","Today","Yesterday","DateRangePicker","setPaymentMethod","InvoiceID","CustomerName","CustomerEmail","CustomerPhone","CustomerSourceID","ProductSourceIDs","StartDate","EndDate","StartDueDate","EndDueDate","currentpage","ProductSourceID","filterPayments","paymentStatusFilter","COMPLETED","allPayments","filteredPayments","totalPages","MethodProvider","StartFrom","EndAt","showUserInterfaceDivIcon","showCompanyInfoIcon","showSocialLinksIcon","showUserInterfaceIconDown","showcompanyInfoIconDown","showSocialLinksIconDown","BannerSettings","LogoFaviconSettings","CompanyInfoSettings","SocialLinksSettings","ColorThemeSettings","ZoomServiceAccountsIntegration","toggleBulkUploadModal","showBulkUploadModal","showAddUserModal","showNewUserModal","toggleAddUser","addStudentEnroll","exportUsersData","userType","setType","userStatus","allUsers","showViewEditUserModal","shortenedFullName","countryName","CreateNewUserModal","BulkUserUploadModal","fieldsToExport","csvLabels","filteredUsersList","scrollTop","clientHeight","scrollHeight","isCartEmpty","CartProductItem","PaymentCard","tabActive","activeContent","showWebDisabled","invoicePending","isContentLoaded","productAndContentIdFromUrl","isVSSServiceContent","BannerWithTabs","Forum","HomePageInstructorSection","HomePageSignupSteps","invoiceExpanded","toggleAccordian","invoiceAmount","PayInvoiceModal","selectedGateway","paymentOption","Cash","BankTransfer","ProductContentSection","ProductContentFlashCards","ProductContentExams","ProductContentAssignments","checkProductvariant","courseMessage","showProductVariantFeedback","toggleProductVariantFeedback","showProductVariantFeedbackModal","ProductPageBanner","ProductContent","ProductActivityCard","ProductVariantFeedbackModal","ProductDetailsCard","ProductDetailsCardMobile","IsShowFeedbackOnProductDetail","ProductFeedbackCard","userPicturePath","isStudentProfileEditDisabled","userProfileData","InnerPageBanner","ProfileBanner","EditProfileModal","QrcodeVue","profilePictureFile","initBarcodeCode128","JsBarcode","displayValue","fontSize","lineColor","btoa","img","loadFiltersFromQueryString","isManagementUser","showAddTicketModal","setServiceID","isTicketLoader","showViewTicketModal","tickets","showNewTicket","toggleAddTicket","showViewTicket","selectedTicketID","toggleViewTicket","AddTicketModal","ViewTicketModal","showCoursesNotification","UserDashboardProducts","calcBtns","module","exports","countryCurrency","USD","symbol","decimal_digits","rounding","name_plural","CAD","EUR","AED","AFN","AMD","ARS","AUD","AZN","BAM","BDT","BGN","BHD","BIF","BND","BOB","BRL","BWP","BYN","BZD","CDF","CHF","CLP","CNY","COP","CRC","CVE","CZK","DJF","DKK","DOP","DZD","EEK","EGP","ERN","ETB","GBP","GEL","GHS","GNF","GTQ","HKD","HNL","HRK","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KHR","KMF","KRW","KWD","KZT","LBP","LKR","LTL","LVL","LYD","MAD","MDL","MGA","MKD","MMK","MOP","MUR","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SDG","SEK","SGD","SOS","SYP","THB","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","UYU","UZS","VEF","VND","XAF","XOF","YER","ZAR","ZMK","ZWL","defineProperty","_default","imgSrc","ErrorMessage","ExamQuestionWeightageType","DIFFICULTY_LEVEL","QUESTION_TYPE","examTypeOptions","SURVEY","examQuestionWeightageTypeOptions","FIXED_VALUE","PERCENTAGE","ATTEMPT","REVIEW_EXAM","CUSTOM_URL","LIST_QUESTION","CREATE_QUESTION","RECORDED_VIDEO","PlatformText","DESKTOP_WEB","MOBILE_WEB","ANDROID","IOS","DESKTOP","speed","slidesToScroll","lazyLoad","centerMode","INSTRUCTOR_CAROUSEL_SETTINGS","UPDATES_CAROUSEL_SETTINGS","DragAndDrop","HotSpot","RadioButton","Checkbox","SingleSelect","MultiSelect","FillInTheBlanks","WordProcessor","ExcelProcessor","MultiResponse","TrueFalse","EASY","INTERMEDIATE","DIFFICULT","VERY_DIFFICULT","sampleQuestions","SourceID","QuestionGroupID","QuestionGroupSequence","RequirementsText","QuestionTypeID","QuestionUsedStatus","AnswerID","AnswerText","ExtraFields","IsCorrect","CreatedBy","Categories","CategoryID","CategoryName","ParentID","CreatedAt","UpdatedAt","DeletedAt","questionID","questionGroupID","questionGroupSequence","requirementsText","questionTitle","isPrivate","questionType","questionUsedStatus","difficultyLevel","questionMarks","answerID","answerText","createdBy","categoryType","draggables","droppables","isAnswerOf","groupId","groups","groupTitle","material","groupID","answerMode","sampleQuestionCategories","updatedAt","sampleQuestionCategoriesByParent","sampleQuestionTypes","REQUEST_OPTIONS","Zoom","VideoStreamingServer","FileStreamingServer","POST_USER_LOGIN","POST_USER_REGISTER","FETCH_CURRENT_USER","PUT_USER_PROFILE","PATCH_USER_STATUS","UPDATE_USER_PROFILE","REGENERATE_USER_TOKEN","FETCH_POST_PUT_DELETE_CATEGORIES_API","ASSIGN_PRODUCT_TO_CATEGORY_POST_API","UNASSIGN_PRODUCT_TO_CATEGORY_POST_API","SYSTEM_PARAMS_API","EXTERNAL_SERVICES_API","POST_SERVICES_API","FETCH_POST_PUT_PRODUCT_API","FETCH_PRODUCT_BY_CATEGORY_API","UPDATE_PRODUCT_SEQUENCE","UPDATE_CATEGORY_SEQUENCE","FETCH_POST_PUT_PRODUCT_VARIANTS_API","FETCH_PRODUCT_VARIANTS_BY_CATEGORY_API","FETCH_PRODUCT_VARIANTS_BY_PRODUCT_API","ASSIGN_CONTENT_TO_PRODUCT_VARIANTS_API","PATCH_PRODUCT_VARIANT_SEQUENCE","POST_PRODUCT_VARIANT_ENROLL_USER","PUT_UPDATE_PRODUCT_VARIANT_ENROLL_USER","PRODUCT_VARIANT_FEEDBACK_RATING","UNENROLL_USER_COURSE_SUBSCRIPTION","ENROLL_USERS_COURSES_SUBSCRIPTION","UNENROLL_USERS_COURSES_SUBSCRIPTION","FETCH_PRODUCT_VARIANT_PROGRESS","PASTE_PRODUCT_VARIANT_ITEMS","PASTE_PRODUCT_VARIANTS","DELETE_PRODUCTVARIANT_ITEM","PUT_RATING_API","FETCH_PUT_POST_CONTENT_API","POST_FILE_API","FETCH_POST_CONTENT_TRAINERS_API","PATCH_CONTENT_SEQUENCE","PATCH_CONTENT_ITEMS_SEQUENCE","FETCH_CONTENT_ATTENDANCE_API","FETCH_CONTENT_ATTENDANCE_DETAIL_API","FETCH_POST_LIVE_CLASS_ATTENDANCE_API","MARK_LIVE_CLASS_ATTENDANCE_API","MARK_ALL_IN_PROGRESS_ATTENDANCE_API","EXPORT_LIVE_ATTENDANCE_API","EXPORT_CONTENT_ATTENDANCE_API","COPY_CONTENT_API","FETCH_POST_USER_CONTENT_ACTION_API","FETCH_USER_CONTENT_ACTIONS_BY_PRODUCT_VARIANT","FETCH_USER_CONTENT_BY_PRODUCT_VARIANT","FETCH_PRICING_BY_PRODUCTVARIANT_API","POST_UPDATE_DELETE_PRICING_API","FETCH_POST_INVOICES_API","FETCH_INVOICE_BY_USER_API","FETCH_INVOICE_BY_ID_API","POST_INVOICE_PAYMENT_API","DELETE_INVOICE_DETAIL_API","FETCH_PAYMENTS_BY_USER_API","FETCH_PAYMENTS_LIST","PROCESS_PAYMENT_API","COMPLETE_PAYMENT_API","FETCH_TRAINERS_API","FETCH_POST_USERS_API","EXPORT_POST_USERS_API","PUT_USERS_API","FETCH_POST_USERS_BY_PRODUCT_VARIANT_API","GET_GENERATE_OTP","VERIFY_USER","POST_VERIFY_OTP","POST_RESET_PASSWORD","FETCH_USERS_BY_EMAILS","EXPORT_USERS_ENROLLMENT_API","FETCH_POST_USER_DEVICES_API","FETCH_USER_DEVICE_RESTRICTIONS_API","POST_USER_DEVICES_RESET_API","POST_USER_DEVICE_REMOVE_API","RESET_ALL_USERS_DEVICES","MARK_USERS_STATUS_ACTIVE_OR_INACTIVE","FETCH_PUT_POST_QUESTION_API","FETCH_PUT_POST_QUESTION_CATEGORY_API","FETCH_POST_PUT_EXAM_THEME_API","FETCH_EXAM_RESULT_PRODUCT_VARIANT","FETCH_EXAM_CONTENT_RESULT","PURCHASED_PRODUCT_LINK","LOGO_DARK_PATH","FETCH_FORM_API","POST_FORM_SUBMISSION_API","FETCH_SUPPORT_TICKETS","POST_SUPPORT_TICKETS","FETCH_SERVICES_SUPPORT_TICKETS","FETCH_SUPPORT_TICKETS_REPLIES","POST_QUIZ_SUBMIT","QUIZ_QUESTION","QUIZ_ATTEMPT_DETAIL","GET_POST_ASSIGNMENT_SUBMISSION","UserType","async","makeAPICall","isLoginApi","parser","userAgent","requestOptions","getPlatform","cookieHelpers","getItem","DeviceToken","ok","clone","json","errorCode","isTokenExpired","isTokenInvalid","timeSinceLastRegen","getTime","setItem","stringify","regenerateUserToken","goAway","ua","os","OldUserAuthenticationToken","store","payload","setDate","toUTCString","fileExt","pop","checkCookie","cname","cookie","getCookie","decodedCookie","decodeURIComponent","ca","charAt","substring","cvalue","expiry","removeCookie","toCurrencyString","decimalPlaces","toLocaleString","maximumFractionDigits","minToHoursAndMins","mins","output","parsedDate","substr","isDateTimeLocal","_Date","Day","Month","getMonth","Hours","getHours","Minutes","getMinutes","getFullYear","dateObj","timeOfDay","string","String","isEmpty","isNotEmpty","vSelect","FontAwesomeIcon","JsonCSV","Toasted","iconPack","SkeletonPlugin","VueProgressBar","failedColor","thickness","VueTelInput","BootstrapVue","library","faUserSecret","h","App","$mount","Directory","constructor","Product","productExtraProperties","thumbnailType","productIsVisible","ProductVariant","tutor","imagePath","tagline","productVariantIsVisible","isFeaturedProductVariant","productVariantThumbnailType","productVariantThumbnailPath","isFeaturedProduct","productThumbnailType","productThumbnailPath","productFriendlyTitle","productVariantStatus","accessDates","User","gender","profilePic","routesObject","VueRouter","protocol","host","apiURL","API","customRoutesPath","defaultRoutes","routes","customRoutes","customPages","routeName","childName","routeToReplace","childToReplace","child","externalComponent","addRoute","remainingRoutes","route","base","process","scrollBehavior","to","from","savedPosition","y","beforeEach","defaultRouteSettings","redirect","matched","some","record","requiresAuth","helpers","guest","Home","Payment","KuickPayBPS","Safepay","Stripe","KuickPayCheckout","PayPro","MeezanPaymentGateway","ScotiaPaymentGateway","NgeniusPaymentGateway","CourseRegistration","Account","Register","ForgotPassword","UserVerification","Search","ProductContentPage","ProductDetails","UserDashboard","Invoice","Profile","Cart","ProductContentDashboard","Content","UsersManagement","SystemPreferences","PaymentManagement","InvoiceManagement","CourseManagement","ZoomOAuthService","CourseDetail","CourseContent","CourseEnrollment","CoursePricing","CourseFeedback","CourseQuestionBank","AttendanceWithBarcode","BulkOperations","Support","InstructorProfile","UserScan","Dashboard","TeachWithUs","appService","getSystemParameters","editSystemParameters","getExternalServices","createExternalServices","ApiHelpers","assignmentService","getSubmittedAssignment","getSubmittedAssignmentResults","submitAssignmentResult","submitAssignmentFeedback","updateAssignmentSubmission","getProductvariantAssignmentResults","requestBody","assignmentFeedback","productvariantID","categoryService","fetchAllCategories","updateCategory","deleteCategory","assignCategoryToProduct","editProductCategorySequence","unassignCategoryToProduct","updatedObject","contentService","fetchContentById","fetchUpcomingContent","createDirectoryContent","setUserContentAction","getUserContentAction","createLiveClassContent","createFlashCardsContent","unassignTrainersToContent","createRecordedVideosContent","createStudyMaterialContent","uploadContentFile","updateContent","fetchAllContent","fetchContentTrainers","editContentSequence","getCurrentPlatform","getLiveClassContentAttendance","fetchLiveClassAttendance","fetchContentAttendance","fetchContentAttendanceDetail","markLiveClassAttendance","markAllLiveClassAttendance","exportAttendanceReport","exportContentAttendanceReport","editProductVariantItemsSequence","deleteProductVariantItem","fetchUserContentActionsByID","getUserContentByProductVariant","createAssignmentContent","createFreeTextContent","createYoutubeContent","getQuizResultByProductVariantId","entries","responseBody","APIHelpers","handleResponse","PATH","QUERY","baseUrl","contentid","userid","attendanceData","requestQuery","Error","examService","fetchQuestions","fetchQuestionCategories","createQuestion","createLegacyExam","createQuiz","updateExam","createQuestionCategory","updateQuestionCategory","deleteQuestionCategory","fetchExamThemes","getExamResultByProductVariant","getExamContentResult","examObject","categoryObject","themeID","formService","fetchFormByEvent","fetchFormByID","entityID","pricingService","fetchPricingPlanByProductVariantId","createPricingPlan","updatePricingPlan","deletePricingPlan","createInvoice","updateInvoice","deleteInvoice","deleteInvoiceDetail","createPayment","deletePayment","createBulkInvoice","fetchInvoiceById","fetchInvoiceByUserId","fetchPaymentsByUserId","fetchPaymentsList","fetchInvoicesList","processPayment","resBody","productService","fetchAllProducts","fetchProductById","fetchProductByCategoryId","updateProduct","deleteProduct","editProductSequence","producObj","productVariantService","fetchAllProductVariants","fetchProductVariantById","fetchProductVariantByCategoryId","fetchProductVariantByProductId","createProductVariant","assignContentToProductVariant","PasteProductVariantItems","updateProductVariant","deleteProductVariant","fetchProductVariantRating","editProductVariantSequence","createProductVariantFeedback","unenrollAllUsersCourses","enrollUsersSpecificCourses","updateUsersSpecificCoursesSubscription","PasteProductVariants","fetchProductVariantProgress","deleteStudentFeedback","productVariantFeedbackData","ratingId","_response","quizService","submitQuizAttempt","getQuizQuestions","updateQuestion","getQuizDetail","quizAttempt","quizAttemptId","quizObj","supportService","fetchTickets","fetchTicketServices","createSupportTicket","fetchTicketByID","fetchTicketReplies","addSupportTicketReply","closedSupportTicket","ticketServiceID","supportTicket","supportTicketReply","supportTicketID","userService","login","register","getCurrentUser","editUserProfile","editUserPassword","fetchTrainersList","fetchUsersList","fetchPaginatedUsersList","exportUsersList","exportUsersEnrollmentReport","fetchUserById","createUser","editUser","deleteUser","fetchUsersByProductVariant","enrollUserInProductVariant","editUserErollmentInProductVariant","editUserSubscription","fetchUserDevices","resetUserDeviceById","fetchUserDeviceRestrictions","setUserDeviceRestrictions","generateOTP","verifyOTP","updateUserStatus","allUsersDevicesReset","markUsersStatus","getUsersByEmails","generateVerificationID","verifyUser","encodeURIComponent","removeItem","otpData","resetData","newUserData","newUserPassword","requestLink","startsWith","updatedUser","addEventListener","innerWidth","currentCountry","currentCity","apiRef","getters","getTenantInfo","startLoading","commit","stopLoading","Theme","TrainerUserRegisterExtraFields","countrycode","services","mutations","setLoading","setParameters","parameters","setExternalServices","setTenantInfo","tenant","setCurrentCountry","currentCurr","setCurrentCity","setOnlineStatus","namespaced","submittedAssignmentResults","mutationData","productvariantId","updateAssignmentResult","clonedAssignments","assignmentObject","assignmentIds","assignmentId","studentAssignment","findIndex","toggleBulkFileUploadingModel","isOpen","addFileInUploadQueue","dispatch","uuidv4","lastIndexOf","_fileObject","abort","NextFileInQueue","minUploadinglimit","appState","MinUploadingLimit","inProcessingOrUploadingFiles","processFileAndFetchingUploadURL","CloseComplete","fileObject","recordedVideoObject","startUploadingProcessedVideos","URLSearchParams","param","uploadurl","uploadingUrl","XMLHttpRequest","onprogress","percentComplete","Math","floor","loaded","onload","open","send","promoCode","addToCart","isProductInCart","cartItems","setPromoCode","addToCartTotalAmount","currentTotal","subtractFromCartTotalAmount","emptyCart","setCart","setCartItem","setCartItems","updateCartTotalAmount","updateCartCurrency","allCategories","fetchCategories","setCategories","upcomingContent","allRootContent","trainersByContentId","uploadingContent","copiedTab","copiedContent","copiedBulkContent","selectBulkChapters","unselectBulkChapters","splice","saveCopiedTab","saveCopiedSection","saveCopiedContent","saveBulkCopiedContent","pastedContentSectionLength","destinationParent","makeBulkContentSelectionSelectable","makeBulkContentSelectionUnselectable","selectBulkContent","unselectBulkContent","copyContentData","getContentById","errorMessage","errorIcon","tempLevel0","val1","filteredItems","fetchUserAllContentActionsByID","ind","arr","finded","temp","getContentTrainers","getUpcomingContent","upcoming","nextSequence","at","contentDisposition","blob","newBlob","Blob","blobUrl","URL","createObjectURL","updatedContent","fetchSingleLiveClassAttendance","updateAction","setContent","setRootContent","setUpcomingContent","addTrainerToContent","addContentToParentDirectory","tempContentObj","removeContentFromParentDirectory","childrenWithChildRemoved","addContentArrayToParentDirectory","updateContentChildren","updateContentInParent","tempObj","setContentTrainers","clearContent","setUploading","questionCategoriesByParent","allQuestions","Payload","TotalPages","setQuestions","addQuestionCategory","setExamThemes","forms","formSubmission","form","Vuex","support","bulkFileUploading","getPricingPlanByProductVariantId","sortPlanDetailsByDate","a","b","request","setPricingPlanByProductVariantId","addPricingPlanByProductVariantId","editPricingPlanByProductVariantId","pricingDetails","updated","updatedPlans","setInvoiceByCustomerId","setPaymentByUserId","addInvoiceByCustomerId","editInvoiceByCustomerId","updatedInvoices","deleteInvoiceByCustomerId","userInvoices","changedInvoice","setAllPayment","setAllInvoices","addPaymentByUserId","editPaymentByUserId","updatedPayments","deletePaymentByUserId","allProducts","productObject","getProductById","getProductByCategoryId","setProducts","addProductByCategory","addProductToCategory","removeProduct","updatedProducts","setProductsLength","productToUpdate","copiedProductVariant","productVariantsProgress","fetchProductVariants","tempVariant","productVariantObject","getProductVariantById","getProductVariantByCategoryId","getProductVariantByProductId","getProductVariantProgress","ob","productVariantProgress","_error","handleError","saveCopiedProductVariant","fetchRatingByProductVariant","enrollmentData","unenrollmentData","setProductVariants","addProductVariant","updatedItems","addProductVariantByCategory","addProductVariantByProduct","addProductVariantByProductInArray","editProductVariantByProductInArray","editProductVariantByCategoryInArray","setProductVariantsLength","addContentToProductVariantDetails","updateContentInProductVariantDetails","removeContentFromProductVariantDetails","clearProductVariants","variantsByProduct","variantsByCategory","quizQuestions","setTickets","setTicket","setTicketServices","isToken","allStudents","emailUsers","userCredentials","fetchCurrentUser","cartItemsToRemove","variantIsEnrolled","resetObject","productVariantExtraProperties","restrictions","_data","loginSuccess","loginFailure","userDataFetched","setTrainers","appendTrainers","setUsers","appendUsers","nextRecordNotAvailable","nextRecordAvailable","appendStudents","addUser","addStudent","u","updateUser","setUsersByProductVariant","unchanged","updateUsersByProductVariant","removeUsersByProductVariant","updateUsers","setUserDevices","removeUserDeviceById","setDeviceRestrictions","restrictionData","setUsersByEmails","csvToJSON","csv","array","csvToJsonResult","jsonObject","currentArrayString","quoteFlag","character","jsonProperties","trim","css","reverse","match","cssElement","createElement","rel","href","head","appendChild","XLSXtoJSON","FileReader","XLSX","read","SheetNames","sheet","rowObject","utils","sheet_to_row_object_array","Sheets","readAsBinaryString","webpackEmptyContext","req","webpackContext","webpackContextResolve","__webpack_require__","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","m","amdO","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","r","n","getter","__esModule","definition","enumerable","f","chunkId","all","promises","miniCssF","g","globalThis","Function","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","needAttach","scripts","getElementsByTagName","s","getAttribute","nc","setAttribute","onScriptComplete","onerror","clearTimeout","doneFns","removeChild","Symbol","toStringTag","nmd","paths","installedChunks","installedChunkData","promise","loadingEnded","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}