{"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> {{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> {{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 \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> 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 ? \" 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 \n <a\n @click=\"updatedExpiresAtClick(productVariant)\"\n style=\"cursor: pointer\"\n >\n <i class=\"fa fa-save fa-sm\"></i\n ></a>\n \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 > \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 \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 \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> </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 ({{ 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 <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 <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> </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: \" \"\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> </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 {{ 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 - {{ 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?\" 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?\" 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. </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> </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> </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> </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> </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> </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;'> </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;'> </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;'> </td><td style='width: 78px; height: 13px;'> </td><td style='width: 48.975px; height: 13px;'> </td></tr><tr style='height: 13px;'><td style='width: 238px; height: 13px;'>Non-current assets</td><td style='width: 73px; height: 13px;'> </td><td style='width: 78px; height: 13px;'> </td><td style='width: 48.975px; height: 13px;'> </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;'> </td><td style='width: 48.975px; height: 13px;'> </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;'> </td><td style='width: 48.975px; height: 13px;'> </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;'> </td><td style='width: 78px; height: 13px;'> </td><td style='width: 48.975px; height: 13px;'> </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;'> </td><td style='width: 78px; height: 13px;'> </td><td style='width: 48.975px; height: 13px;'> </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. </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 += `¤tPage=${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 += `¤tPage=${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":""}