@clickview/exchange 0.53.0-rc.4 → 0.53.0-rc.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/en.json +1 -1
- package/dist/scripts/{DFLHDfV1.chunk.js → B-mi70jm.chunk.js} +2 -2
- package/dist/scripts/{DFLHDfV1.chunk.js.map → B-mi70jm.chunk.js.map} +1 -1
- package/dist/scripts/{B5ab16ux.chunk.js → B-tbSNDR.chunk.js} +2 -2
- package/dist/scripts/{B5ab16ux.chunk.js.map → B-tbSNDR.chunk.js.map} +1 -1
- package/dist/scripts/{DcKDSzxe.chunk.js → B0xEoBKV.chunk.js} +2 -2
- package/dist/scripts/{DcKDSzxe.chunk.js.map → B0xEoBKV.chunk.js.map} +1 -1
- package/dist/scripts/B4WSuL_R.chunk.js +2 -0
- package/dist/scripts/{CZVuzuXf.chunk.js.map → B4WSuL_R.chunk.js.map} +1 -1
- package/dist/scripts/{C1lszv3N.chunk.js → B60atIyl.chunk.js} +2 -2
- package/dist/scripts/{C1lszv3N.chunk.js.map → B60atIyl.chunk.js.map} +1 -1
- package/dist/scripts/{CllCtq0-.chunk.js → BCqWrOur.chunk.js} +2 -2
- package/dist/scripts/{CllCtq0-.chunk.js.map → BCqWrOur.chunk.js.map} +1 -1
- package/dist/scripts/{BHUkwlPw.chunk.js → BJeXgaQK.chunk.js} +2 -2
- package/dist/scripts/{BHUkwlPw.chunk.js.map → BJeXgaQK.chunk.js.map} +1 -1
- package/dist/scripts/{DQgnWU-I.chunk.js → BYbvldmA.chunk.js} +2 -2
- package/dist/scripts/{DQgnWU-I.chunk.js.map → BYbvldmA.chunk.js.map} +1 -1
- package/dist/scripts/{CbEBLWWY.chunk.js → BZiMjWc1.chunk.js} +2 -2
- package/dist/scripts/{CbEBLWWY.chunk.js.map → BZiMjWc1.chunk.js.map} +1 -1
- package/dist/scripts/{CK7qxCzb.chunk.js → B_ipiOyh.chunk.js} +2 -2
- package/dist/scripts/{CK7qxCzb.chunk.js.map → B_ipiOyh.chunk.js.map} +1 -1
- package/dist/scripts/{CqnxxpxX.chunk.js → Bb6yXi56.chunk.js} +2 -2
- package/dist/scripts/{CqnxxpxX.chunk.js.map → Bb6yXi56.chunk.js.map} +1 -1
- package/dist/scripts/{B9eYOwJp.chunk.js → BdbdAFu1.chunk.js} +2 -2
- package/dist/scripts/{B9eYOwJp.chunk.js.map → BdbdAFu1.chunk.js.map} +1 -1
- package/dist/scripts/{ov91D2RT.chunk.js → BhjoIeom.chunk.js} +2 -2
- package/dist/scripts/{ov91D2RT.chunk.js.map → BhjoIeom.chunk.js.map} +1 -1
- package/dist/scripts/Bho9orFk.chunk.js +2 -0
- package/dist/scripts/{Dtn-5-Dc.chunk.js.map → Bho9orFk.chunk.js.map} +1 -1
- package/dist/scripts/{D-hP0WNi.chunk.js → Bi7c3pdT.chunk.js} +2 -2
- package/dist/scripts/{D-hP0WNi.chunk.js.map → Bi7c3pdT.chunk.js.map} +1 -1
- package/dist/scripts/{LHI3oaCV.chunk.js → BkHazlQk.chunk.js} +2 -2
- package/dist/scripts/{LHI3oaCV.chunk.js.map → BkHazlQk.chunk.js.map} +1 -1
- package/dist/scripts/{CpLpE8Im.chunk.js → Bl-wWq3F.chunk.js} +3 -3
- package/dist/scripts/{CpLpE8Im.chunk.js.map → Bl-wWq3F.chunk.js.map} +1 -1
- package/dist/scripts/{DSEhNJwx.chunk.js → BpAshDEq.chunk.js} +2 -2
- package/dist/scripts/{DSEhNJwx.chunk.js.map → BpAshDEq.chunk.js.map} +1 -1
- package/dist/scripts/Br8_3pQR.chunk.js +2 -0
- package/dist/scripts/{CeXuvOA5.chunk.js.map → Br8_3pQR.chunk.js.map} +1 -1
- package/dist/scripts/{BeJhgZUK.chunk.js → BrVFMC8Z.chunk.js} +2 -2
- package/dist/scripts/{BeJhgZUK.chunk.js.map → BrVFMC8Z.chunk.js.map} +1 -1
- package/dist/scripts/{DRF-fC47.chunk.js → BtCxZZ5N.chunk.js} +2 -2
- package/dist/scripts/{DRF-fC47.chunk.js.map → BtCxZZ5N.chunk.js.map} +1 -1
- package/dist/scripts/{DQqQBQqj.chunk.js → BtXeOaIU.chunk.js} +2 -2
- package/dist/scripts/{DQqQBQqj.chunk.js.map → BtXeOaIU.chunk.js.map} +1 -1
- package/dist/scripts/{CQBoRtuI.chunk.js → BttaqS1Q.chunk.js} +2 -2
- package/dist/scripts/{CQBoRtuI.chunk.js.map → BttaqS1Q.chunk.js.map} +1 -1
- package/dist/scripts/{CSPZpMnD.chunk.js → BwCUdl81.chunk.js} +2 -2
- package/dist/scripts/{CSPZpMnD.chunk.js.map → BwCUdl81.chunk.js.map} +1 -1
- package/dist/scripts/{CmFTfavO.chunk.js → Bxof9qR3.chunk.js} +2 -2
- package/dist/scripts/{CmFTfavO.chunk.js.map → Bxof9qR3.chunk.js.map} +1 -1
- package/dist/scripts/{DdtiM4q4.chunk.js → C4nvmLjJ.chunk.js} +2 -2
- package/dist/scripts/{DdtiM4q4.chunk.js.map → C4nvmLjJ.chunk.js.map} +1 -1
- package/dist/scripts/{Bx8ThkKE.chunk.js → C5MXXDzO.chunk.js} +2 -2
- package/dist/scripts/{Bx8ThkKE.chunk.js.map → C5MXXDzO.chunk.js.map} +1 -1
- package/dist/scripts/{C5uDJfs-.chunk.js → C8mmLu5P.chunk.js} +2 -2
- package/dist/scripts/{C5uDJfs-.chunk.js.map → C8mmLu5P.chunk.js.map} +1 -1
- package/dist/scripts/{BqNxbGAd.chunk.js → C8wzS3f9.chunk.js} +2 -2
- package/dist/scripts/{BqNxbGAd.chunk.js.map → C8wzS3f9.chunk.js.map} +1 -1
- package/dist/scripts/{D-4Cgpy-.chunk.js → CBjqJQeP.chunk.js} +2 -2
- package/dist/scripts/{D-4Cgpy-.chunk.js.map → CBjqJQeP.chunk.js.map} +1 -1
- package/dist/scripts/{BevPAwSq.chunk.js → CI-iVFxS.chunk.js} +2 -2
- package/dist/scripts/{BevPAwSq.chunk.js.map → CI-iVFxS.chunk.js.map} +1 -1
- package/dist/scripts/{BK8xvE8O.chunk.js → CIYnyMM7.chunk.js} +2 -2
- package/dist/scripts/{BK8xvE8O.chunk.js.map → CIYnyMM7.chunk.js.map} +1 -1
- package/dist/scripts/{BVZ_6O_2.chunk.js → CJD2tQAP.chunk.js} +2 -2
- package/dist/scripts/{BVZ_6O_2.chunk.js.map → CJD2tQAP.chunk.js.map} +1 -1
- package/dist/scripts/CJuVEV64.chunk.js +2 -0
- package/dist/scripts/{D1g4_5rR.chunk.js.map → CJuVEV64.chunk.js.map} +1 -1
- package/dist/scripts/{BZJ9wVLS.chunk.js → CR6eQFf-.chunk.js} +2 -2
- package/dist/scripts/{BZJ9wVLS.chunk.js.map → CR6eQFf-.chunk.js.map} +1 -1
- package/dist/scripts/{LvDJgDKk.chunk.js → CRi1yEnr.chunk.js} +2 -2
- package/dist/scripts/{LvDJgDKk.chunk.js.map → CRi1yEnr.chunk.js.map} +1 -1
- package/dist/scripts/{C0U8L3bs.chunk.js → CSKX6jCV.chunk.js} +2 -2
- package/dist/scripts/{C0U8L3bs.chunk.js.map → CSKX6jCV.chunk.js.map} +1 -1
- package/dist/scripts/{BgKdA1OP.chunk.js → CUOLims3.chunk.js} +2 -2
- package/dist/scripts/{BgKdA1OP.chunk.js.map → CUOLims3.chunk.js.map} +1 -1
- package/dist/scripts/{Cwb-wgJ-.chunk.js → CY2gzjHY.chunk.js} +2 -2
- package/dist/scripts/{Cwb-wgJ-.chunk.js.map → CY2gzjHY.chunk.js.map} +1 -1
- package/dist/scripts/C_AwqPr_.chunk.js +2 -0
- package/dist/scripts/{D2Szos_W.chunk.js.map → C_AwqPr_.chunk.js.map} +1 -1
- package/dist/scripts/{CVYxTfiV.chunk.js → CakiFvV4.chunk.js} +2 -2
- package/dist/scripts/{CVYxTfiV.chunk.js.map → CakiFvV4.chunk.js.map} +1 -1
- package/dist/scripts/{BcZspO6C.chunk.js → Cb27J2-B.chunk.js} +2 -2
- package/dist/scripts/{BcZspO6C.chunk.js.map → Cb27J2-B.chunk.js.map} +1 -1
- package/dist/scripts/{CJZbn4PU.chunk.js → CdVUBGIW.chunk.js} +2 -2
- package/dist/scripts/{CJZbn4PU.chunk.js.map → CdVUBGIW.chunk.js.map} +1 -1
- package/dist/scripts/CdmZcJJE.chunk.js +2 -0
- package/dist/scripts/{CjttP5Uk.chunk.js.map → CdmZcJJE.chunk.js.map} +1 -1
- package/dist/scripts/{e3PHoSfW.chunk.js → CmIyH6d9.chunk.js} +2 -2
- package/dist/scripts/{e3PHoSfW.chunk.js.map → CmIyH6d9.chunk.js.map} +1 -1
- package/dist/scripts/{r83d385M.chunk.js → Cpbdo5JA.chunk.js} +2 -2
- package/dist/scripts/{r83d385M.chunk.js.map → Cpbdo5JA.chunk.js.map} +1 -1
- package/dist/scripts/{CjbS9gjG.chunk.js → Cpe75H8y.chunk.js} +2 -2
- package/dist/scripts/{CjbS9gjG.chunk.js.map → Cpe75H8y.chunk.js.map} +1 -1
- package/dist/scripts/{BZ1tO2w1.chunk.js → CqXGUZGd.chunk.js} +2 -2
- package/dist/scripts/{BZ1tO2w1.chunk.js.map → CqXGUZGd.chunk.js.map} +1 -1
- package/dist/scripts/{rJhp74_5.chunk.js → Cse_a4SB.chunk.js} +2 -2
- package/dist/scripts/{rJhp74_5.chunk.js.map → Cse_a4SB.chunk.js.map} +1 -1
- package/dist/scripts/{CrejgQYb.chunk.js → CtBCUmkx.chunk.js} +2 -2
- package/dist/scripts/{CrejgQYb.chunk.js.map → CtBCUmkx.chunk.js.map} +1 -1
- package/dist/scripts/{rHycMxyI.chunk.js → CvlJsC2N.chunk.js} +2 -2
- package/dist/scripts/{rHycMxyI.chunk.js.map → CvlJsC2N.chunk.js.map} +1 -1
- package/dist/scripts/{rv4f8H6-.chunk.js → CwrB0rxp.chunk.js} +2 -2
- package/dist/scripts/{rv4f8H6-.chunk.js.map → CwrB0rxp.chunk.js.map} +1 -1
- package/dist/scripts/{BUmvIVcf.chunk.js → D32zb_D4.chunk.js} +2 -2
- package/dist/scripts/{BUmvIVcf.chunk.js.map → D32zb_D4.chunk.js.map} +1 -1
- package/dist/scripts/{B4V5N8Aj.chunk.js → D4IS2gly.chunk.js} +2 -2
- package/dist/scripts/{B4V5N8Aj.chunk.js.map → D4IS2gly.chunk.js.map} +1 -1
- package/dist/scripts/{CsxfXB_f.chunk.js → D62fgP9E.chunk.js} +2 -2
- package/dist/scripts/{CsxfXB_f.chunk.js.map → D62fgP9E.chunk.js.map} +1 -1
- package/dist/scripts/{DDbz6pxh.chunk.js → D6KwovjJ.chunk.js} +2 -2
- package/dist/scripts/{DDbz6pxh.chunk.js.map → D6KwovjJ.chunk.js.map} +1 -1
- package/dist/scripts/{CJfEp2eL.chunk.js → D80MqhUE.chunk.js} +2 -2
- package/dist/scripts/{CJfEp2eL.chunk.js.map → D80MqhUE.chunk.js.map} +1 -1
- package/dist/scripts/{fXlIwRMe.chunk.js → DBukvchw.chunk.js} +2 -2
- package/dist/scripts/{fXlIwRMe.chunk.js.map → DBukvchw.chunk.js.map} +1 -1
- package/dist/scripts/{C6L3Q2Qr.chunk.js → DCKHN9x6.chunk.js} +2 -2
- package/dist/scripts/{C6L3Q2Qr.chunk.js.map → DCKHN9x6.chunk.js.map} +1 -1
- package/dist/scripts/{bTy6Dmvr.chunk.js → DGcpkvpe.chunk.js} +2 -2
- package/dist/scripts/{bTy6Dmvr.chunk.js.map → DGcpkvpe.chunk.js.map} +1 -1
- package/dist/scripts/DHkkcZFt.chunk.js +2 -0
- package/dist/scripts/{BrXQ02P1.chunk.js.map → DHkkcZFt.chunk.js.map} +1 -1
- package/dist/scripts/{Dtb7_e7t.chunk.js → DHlQlWkE.chunk.js} +2 -2
- package/dist/scripts/{Dtb7_e7t.chunk.js.map → DHlQlWkE.chunk.js.map} +1 -1
- package/dist/scripts/{Bo3WoX3a.chunk.js → DJrX_udN.chunk.js} +2 -2
- package/dist/scripts/{Bo3WoX3a.chunk.js.map → DJrX_udN.chunk.js.map} +1 -1
- package/dist/scripts/DKP8OSLt.chunk.js +2 -0
- package/dist/scripts/{EXqfWnts.chunk.js.map → DKP8OSLt.chunk.js.map} +1 -1
- package/dist/scripts/{BDTzvMwe.chunk.js → DPihVRin.chunk.js} +2 -2
- package/dist/scripts/{BDTzvMwe.chunk.js.map → DPihVRin.chunk.js.map} +1 -1
- package/dist/scripts/{DqA_qmQz.chunk.js → DSUbR6Ld.chunk.js} +2 -2
- package/dist/scripts/{DqA_qmQz.chunk.js.map → DSUbR6Ld.chunk.js.map} +1 -1
- package/dist/scripts/{DgCSpWkC.chunk.js → DTQrc2Wc.chunk.js} +2 -2
- package/dist/scripts/{DgCSpWkC.chunk.js.map → DTQrc2Wc.chunk.js.map} +1 -1
- package/dist/scripts/{DOwzdCZ2.chunk.js → DdGmmqcK.chunk.js} +2 -2
- package/dist/scripts/{DOwzdCZ2.chunk.js.map → DdGmmqcK.chunk.js.map} +1 -1
- package/dist/scripts/{DnWI-onh.chunk.js → DezZNCrr.chunk.js} +2 -2
- package/dist/scripts/{DnWI-onh.chunk.js.map → DezZNCrr.chunk.js.map} +1 -1
- package/dist/scripts/{DEH_8veD.chunk.js → DsEwMbUK.chunk.js} +2 -2
- package/dist/scripts/{DEH_8veD.chunk.js.map → DsEwMbUK.chunk.js.map} +1 -1
- package/dist/scripts/{Ck7ICj8m.chunk.js → DuUYsdgx.chunk.js} +2 -2
- package/dist/scripts/{Ck7ICj8m.chunk.js.map → DuUYsdgx.chunk.js.map} +1 -1
- package/dist/scripts/{DuHONSHj.chunk.js → DwEB5UWK.chunk.js} +2 -2
- package/dist/scripts/{DuHONSHj.chunk.js.map → DwEB5UWK.chunk.js.map} +1 -1
- package/dist/scripts/{2cWOXJSc.chunk.js → Io7g60l1.chunk.js} +2 -2
- package/dist/scripts/{2cWOXJSc.chunk.js.map → Io7g60l1.chunk.js.map} +1 -1
- package/dist/scripts/{XZOjwf5m.chunk.js → Kl0OBl_7.chunk.js} +2 -2
- package/dist/scripts/{XZOjwf5m.chunk.js.map → Kl0OBl_7.chunk.js.map} +1 -1
- package/dist/scripts/{EZNN4Yu0.chunk.js → L5XMY5e5.chunk.js} +2 -2
- package/dist/scripts/{EZNN4Yu0.chunk.js.map → L5XMY5e5.chunk.js.map} +1 -1
- package/dist/scripts/{jduQkbdO.chunk.js → N0_8Eite.chunk.js} +2 -2
- package/dist/scripts/{jduQkbdO.chunk.js.map → N0_8Eite.chunk.js.map} +1 -1
- package/dist/scripts/{Bk8pUghK.chunk.js → PK8MTnH4.chunk.js} +2 -2
- package/dist/scripts/{Bk8pUghK.chunk.js.map → PK8MTnH4.chunk.js.map} +1 -1
- package/dist/scripts/{CeOQ6-zQ.chunk.js → RBxC7AKW.chunk.js} +2 -2
- package/dist/scripts/{CeOQ6-zQ.chunk.js.map → RBxC7AKW.chunk.js.map} +1 -1
- package/dist/scripts/{oHfhDsTp.chunk.js → Rwi7StPz.chunk.js} +2 -2
- package/dist/scripts/{oHfhDsTp.chunk.js.map → Rwi7StPz.chunk.js.map} +1 -1
- package/dist/scripts/{kRwTHNNb.chunk.js → WTzdZQUn.chunk.js} +2 -2
- package/dist/scripts/{kRwTHNNb.chunk.js.map → WTzdZQUn.chunk.js.map} +1 -1
- package/dist/scripts/{BswyFk_N.chunk.js → a1BWyh3I.chunk.js} +2 -2
- package/dist/scripts/{BswyFk_N.chunk.js.map → a1BWyh3I.chunk.js.map} +1 -1
- package/dist/scripts/{app-B9-iRU1r.js → app-YVcc0mcr.js} +3 -3
- package/dist/scripts/{app-B9-iRU1r.js.map → app-YVcc0mcr.js.map} +1 -1
- package/dist/scripts/{B574uaRU.chunk.js → dSRpz5ai.chunk.js} +2 -2
- package/dist/scripts/{B574uaRU.chunk.js.map → dSRpz5ai.chunk.js.map} +1 -1
- package/dist/scripts/{D0odoQbM.chunk.js → fkoL2rxf.chunk.js} +2 -2
- package/dist/scripts/{D0odoQbM.chunk.js.map → fkoL2rxf.chunk.js.map} +1 -1
- package/dist/scripts/{DbBmb_UT.chunk.js → gnYc5RVO.chunk.js} +2 -2
- package/dist/scripts/{DbBmb_UT.chunk.js.map → gnYc5RVO.chunk.js.map} +1 -1
- package/dist/scripts/{DbhlPXNV.chunk.js → mrKudPlz.chunk.js} +2 -2
- package/dist/scripts/{DbhlPXNV.chunk.js.map → mrKudPlz.chunk.js.map} +1 -1
- package/dist/scripts/{DCEbF62l.chunk.js → sBvSQI9I.chunk.js} +2 -2
- package/dist/scripts/{DCEbF62l.chunk.js.map → sBvSQI9I.chunk.js.map} +1 -1
- package/dist/scripts/{CZHoEn2m.chunk.js → sqBAxDOa.chunk.js} +2 -2
- package/dist/scripts/{CZHoEn2m.chunk.js.map → sqBAxDOa.chunk.js.map} +1 -1
- package/dist/scripts/{Bbct_sP7.chunk.js → teFtDXco.chunk.js} +2 -2
- package/dist/scripts/{Bbct_sP7.chunk.js.map → teFtDXco.chunk.js.map} +1 -1
- package/dist/scripts/{CV5zDyPS.chunk.js → v_B4I3Qe.chunk.js} +2 -2
- package/dist/scripts/{CV5zDyPS.chunk.js.map → v_B4I3Qe.chunk.js.map} +1 -1
- package/dist/scripts/{CoJMfNPY.chunk.js → wfZZ1M4z.chunk.js} +2 -2
- package/dist/scripts/{CoJMfNPY.chunk.js.map → wfZZ1M4z.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/BrXQ02P1.chunk.js +0 -2
- package/dist/scripts/CZVuzuXf.chunk.js +0 -2
- package/dist/scripts/CeXuvOA5.chunk.js +0 -2
- package/dist/scripts/CjttP5Uk.chunk.js +0 -2
- package/dist/scripts/D1g4_5rR.chunk.js +0 -2
- package/dist/scripts/D2Szos_W.chunk.js +0 -2
- package/dist/scripts/Dtn-5-Dc.chunk.js +0 -2
- package/dist/scripts/EXqfWnts.chunk.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{H as l,c,U as i,S as n}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{H as l,c,U as i,S as n}from"./app-YVcc0mcr.js";const p={domainLibraries(r,e,a,t){return{url:i.urlBuilder("/api/domain/v2/me/libraries",{type:r,maxCategoryDepth:0}),key:`libraries:${r.sort().join(":")}`,formatData:s=>s.map(o=>o.data),success:e,error:a,always:t}},libraryRequestLibraries(){return{url:"{gateway}/v1/library-requests/libraries",key:"libraries"}},librariesWithCategories(){return{url:i.urlBuilder("/api/domain/v2/me/libraries",{type:["sharedLibrary","customLibrary","unpublishedCustomLibrary"],maxCategoryDepth:5}),key:"libraries:with:categories",normalize:!1}},librariesWithOwnerLogos(r,e,a,t){return r.sort(),{url:i.urlBuilder("/api/domain/v2/objects",{query:n.LIBRARY_COLLECTION,id:r}),key:`libraries:owner:logo:${r.join(",")}`,success:e,error:a,always:t}},library(r,e,a,t){return{url:i.urlBuilder(`{gateway}/v1/objects/${r}`,{query:n.LIBRARY}),key:`library:${r}`,success:e,error:a,always:t}},exchange(r){return{url:i.urlBuilder(`{gateway}/v1/objects/${r}`,{query:"categorytree"}),key:"exchange"}},streamableLearning(){return{url:"{gateway}/v1/streamable-learning-library",key:"streamable:learning"}},librarySubscribers(r,e){const a={};return e&&(a.cursor=e),{url:i.urlBuilder(`{gateway}/v1/library-requests/libraries/${r}/subscribers`,a),key:`library:subscribers:${r}:${e}`}},libraryOwner(r){return{url:`{gateway}/v1/library-requests/libraries/${r}/subscribers?ownerOnly=true`,key:`library:owner:${r}`,formatData:e=>c.first(e.data)}},updateSubscriberPermissions(r,e,a,t,s){return{url:`{gateway}/v1/libraries/${r}/library-request-permissions`,key:`update:subscriber:permissions:${r}:${e}`,type:l.PUT,data:{customerId:e,granted:a},invalidationKeys:[`library:owner:${r}`,`library:subscribers:${r}`],success:t,error:s}},removeSubscriber(r,e,a,t){return{url:`{gateway}/v1/objects/${r}/subscribedcustomers?memberId=${e}`,key:`revoke:subscription:${r}:${e}`,type:l.DELETE,invalidationKeys:[`library:subscribers:${r}`],success:a,error:t}},folder(r,e,a,t){return{url:`{gateway}/v1/objects/${r}?query=banner,libraries`,key:`library:folder:${r}`,success:e,error:a,always:t}},videoFolders(r){return{url:`{gateway}/v1/objects/${r}/categories?query=libraries`,key:`video:folders:${r}`}},folderParentTree(r,e,a,t){return{url:`/api/domain/v2/categories/${r}/parent-tree?includeAll=false`,key:`folder:parent:tree${r}`,success:e,error:a,always:t}},childFolders(r,e,a,t,s){let o=`{gateway}/v1/objects/${r}/categories?query={limit:100}thumbnail`,u=`child:folders:${r}`;return e&&(o+=`&cursor=${e}`,u+=`:${e}`),{url:o,key:u,formatData:b=>{const y=b.data.sort((d,m)=>d.name.toLowerCase().localeCompare(m.name.toLowerCase()));return{...b,data:y}},success:a,error:t,always:s}},addToLibrary(r,e){const a=["folder","videos",r.metadata.destinationCategoryId,e].filter(t=>!!t).join(":");return{url:"{gateway}/v1/library-requests",key:`add:${r.objectId}:to:${r.destinationLibraryId}:${r.metadata.destinationCategoryId}`,type:l.POST,data:r,invalidationKeys:a}},libraries(){return{url:"{gateway}/v1/users/me/libraries",key:"objects:libraries"}},libraryExport(r){return{url:"{gateway}/v1/libraries/export",key:"library:export",type:l.POST,data:r}},libraryExportV2(r){return{url:"{gateway}/v2/libraries/export",key:"library:export:v2",type:l.POST,data:r}}};export{p as L};
|
|
2
|
+
//# sourceMappingURL=BwCUdl81.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CSPZpMnD.chunk.js","sources":["../../../../libs/shared/src/flight-requests/LibraryRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Folder, FolderCollection, Library, LibrarySubscriberCollection, MasterNestedObject } from 'libs/shared/interfaces';\nimport { AddToLibraryRequest } from 'libs/shared/interfaces/requests/AddToLibraryRequest';\nimport { LibraryExportRequest } from 'libs/shared/interfaces/requests/LibraryExportRequest';\nimport { LibraryExportRequestV2 } from 'libs/shared/interfaces/requests/LibraryExportRequestV2';\nimport { LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\n\nexport type DomainMasterCollectionType =\n 'sharedLibrary' |\n 'customLibrary' |\n 'unpublishedCustomLibrary' |\n 'exchange' |\n 'workspace' |\n 'hostedLibrary'\n\nexport const LibraryRequests = {\n domainLibraries(\n type: Array<DomainMasterCollectionType>,\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type,\n maxCategoryDepth: 0\n }),\n key: `libraries:${type.sort().join(':')}`,\n formatData: (data: MasterNestedObject<Library>[]) => data.map(d => d.data),\n success,\n error,\n always\n };\n },\n\n libraryRequestLibraries(): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries`,\n key: 'libraries'\n };\n },\n\n librariesWithCategories(): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: [ 'sharedLibrary', 'customLibrary', 'unpublishedCustomLibrary' ],\n maxCategoryDepth: 5\n }),\n key: 'libraries:with:categories',\n normalize: false\n };\n },\n\n librariesWithOwnerLogos(\n libraryIds: string[],\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n libraryIds.sort();\n\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/objects', {\n query: SharedWithStatements.LIBRARY_COLLECTION,\n id: libraryIds\n }),\n key: `libraries:owner:logo:${libraryIds.join(',')}`,\n success,\n error,\n always\n };\n },\n\n library(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.LIBRARY\n }),\n key: `library:${id}`,\n success,\n error,\n always\n };\n },\n\n exchange(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: 'categorytree'\n }),\n key: `exchange`\n };\n },\n\n streamableLearning(): Flight.Request {\n return {\n url: '{gateway}/v1/streamable-learning-library',\n key: 'streamable:learning'\n };\n },\n\n librarySubscribers(id: string, cursor?: string): Flight.Request {\n const params: HashObject = {};\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/library-requests/libraries/${id}/subscribers`, params),\n key: `library:subscribers:${id}:${cursor}`\n };\n },\n\n libraryOwner(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries/${id}/subscribers?ownerOnly=true`,\n key: `library:owner:${id}`,\n formatData: (collection: LibrarySubscriberCollection) => {\n return ArrayHelper.first(collection.data);\n }\n };\n },\n\n updateSubscriberPermissions(\n libraryId: string,\n customerId: string,\n allowLibraryRequests: boolean,\n success?: () => void,\n error?: (xhr?: LibraryApiXhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/libraries/${libraryId}/library-request-permissions`,\n key: `update:subscriber:permissions:${libraryId}:${customerId}`,\n type: HttpVerbs.PUT,\n data: {\n customerId,\n granted: allowLibraryRequests\n },\n invalidationKeys: [\n `library:owner:${libraryId}`,\n `library:subscribers:${libraryId}`\n ],\n success,\n error\n };\n },\n\n removeSubscriber(\n libraryId: string,\n customerId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${libraryId}/subscribedcustomers?memberId=${customerId}`,\n key: `revoke:subscription:${libraryId}:${customerId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [`library:subscribers:${libraryId}`],\n success,\n error\n };\n },\n\n folder(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=banner,libraries`,\n key: `library:folder:${id}`,\n success,\n error,\n always\n };\n },\n\n videoFolders(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/categories?query=libraries`,\n key: `video:folders:${id}`\n };\n },\n\n folderParentTree(\n id: string,\n success?: (data: MasterNestedObject<Folder>) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v2/categories/${id}/parent-tree?includeAll=false`,\n key: `folder:parent:tree${id}`,\n success,\n error,\n always\n };\n },\n\n childFolders(\n id: string,\n cursor?: string,\n success?: (data: Folder[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n let url = `{gateway}/v1/objects/${id}/categories?query={limit:100}thumbnail`;\n let key = `child:folders:${id}`;\n\n if (cursor) {\n url += `&cursor=${cursor}`;\n key += `:${cursor}`;\n }\n\n return {\n url,\n key,\n formatData: (folders: FolderCollection) => {\n const data = folders.data.sort((a, b) => {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n\n return {\n ...folders,\n data\n };\n },\n success,\n error,\n always\n };\n },\n\n addToLibrary(data: AddToLibraryRequest, sort: VideoSortType): Flight.Request {\n const folderVideosKey = [ 'folder', 'videos', data.metadata.destinationCategoryId, sort ].filter(k => !!k).join(':');\n \n return {\n url: `{gateway}/v1/library-requests`,\n key: `add:${data.objectId}:to:${data.destinationLibraryId}:${data.metadata.destinationCategoryId}`,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: folderVideosKey\n };\n },\n\n libraries(): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/libraries',\n key: 'objects:libraries'\n };\n },\n\n libraryExport(data: LibraryExportRequest): Flight.Request {\n return {\n url: '{gateway}/v1/libraries/export',\n key: 'library:export',\n type: HttpVerbs.POST,\n data\n };\n },\n\n libraryExportV2(data: LibraryExportRequestV2): Flight.Request {\n return {\n url: '{gateway}/v2/libraries/export',\n key: 'library:export:v2',\n type: HttpVerbs.POST,\n data\n };\n }\n};"],"names":["LibraryRequests","type","success","error","always","UrlHelper","data","d","libraryIds","SharedWithStatements","id","cursor","params","collection","ArrayHelper","libraryId","customerId","allowLibraryRequests","HttpVerbs","url","key","folders","a","b","sort","folderVideosKey","k"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BwCUdl81.chunk.js","sources":["../../../../libs/shared/src/flight-requests/LibraryRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Folder, FolderCollection, Library, LibrarySubscriberCollection, MasterNestedObject } from 'libs/shared/interfaces';\nimport { AddToLibraryRequest } from 'libs/shared/interfaces/requests/AddToLibraryRequest';\nimport { LibraryExportRequest } from 'libs/shared/interfaces/requests/LibraryExportRequest';\nimport { LibraryExportRequestV2 } from 'libs/shared/interfaces/requests/LibraryExportRequestV2';\nimport { LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\n\nexport type DomainMasterCollectionType =\n 'sharedLibrary' |\n 'customLibrary' |\n 'unpublishedCustomLibrary' |\n 'exchange' |\n 'workspace' |\n 'hostedLibrary'\n\nexport const LibraryRequests = {\n domainLibraries(\n type: Array<DomainMasterCollectionType>,\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type,\n maxCategoryDepth: 0\n }),\n key: `libraries:${type.sort().join(':')}`,\n formatData: (data: MasterNestedObject<Library>[]) => data.map(d => d.data),\n success,\n error,\n always\n };\n },\n\n libraryRequestLibraries(): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries`,\n key: 'libraries'\n };\n },\n\n librariesWithCategories(): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: [ 'sharedLibrary', 'customLibrary', 'unpublishedCustomLibrary' ],\n maxCategoryDepth: 5\n }),\n key: 'libraries:with:categories',\n normalize: false\n };\n },\n\n librariesWithOwnerLogos(\n libraryIds: string[],\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n libraryIds.sort();\n\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/objects', {\n query: SharedWithStatements.LIBRARY_COLLECTION,\n id: libraryIds\n }),\n key: `libraries:owner:logo:${libraryIds.join(',')}`,\n success,\n error,\n always\n };\n },\n\n library(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.LIBRARY\n }),\n key: `library:${id}`,\n success,\n error,\n always\n };\n },\n\n exchange(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: 'categorytree'\n }),\n key: `exchange`\n };\n },\n\n streamableLearning(): Flight.Request {\n return {\n url: '{gateway}/v1/streamable-learning-library',\n key: 'streamable:learning'\n };\n },\n\n librarySubscribers(id: string, cursor?: string): Flight.Request {\n const params: HashObject = {};\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/library-requests/libraries/${id}/subscribers`, params),\n key: `library:subscribers:${id}:${cursor}`\n };\n },\n\n libraryOwner(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries/${id}/subscribers?ownerOnly=true`,\n key: `library:owner:${id}`,\n formatData: (collection: LibrarySubscriberCollection) => {\n return ArrayHelper.first(collection.data);\n }\n };\n },\n\n updateSubscriberPermissions(\n libraryId: string,\n customerId: string,\n allowLibraryRequests: boolean,\n success?: () => void,\n error?: (xhr?: LibraryApiXhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/libraries/${libraryId}/library-request-permissions`,\n key: `update:subscriber:permissions:${libraryId}:${customerId}`,\n type: HttpVerbs.PUT,\n data: {\n customerId,\n granted: allowLibraryRequests\n },\n invalidationKeys: [\n `library:owner:${libraryId}`,\n `library:subscribers:${libraryId}`\n ],\n success,\n error\n };\n },\n\n removeSubscriber(\n libraryId: string,\n customerId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${libraryId}/subscribedcustomers?memberId=${customerId}`,\n key: `revoke:subscription:${libraryId}:${customerId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [`library:subscribers:${libraryId}`],\n success,\n error\n };\n },\n\n folder(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=banner,libraries`,\n key: `library:folder:${id}`,\n success,\n error,\n always\n };\n },\n\n videoFolders(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/categories?query=libraries`,\n key: `video:folders:${id}`\n };\n },\n\n folderParentTree(\n id: string,\n success?: (data: MasterNestedObject<Folder>) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v2/categories/${id}/parent-tree?includeAll=false`,\n key: `folder:parent:tree${id}`,\n success,\n error,\n always\n };\n },\n\n childFolders(\n id: string,\n cursor?: string,\n success?: (data: Folder[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n let url = `{gateway}/v1/objects/${id}/categories?query={limit:100}thumbnail`;\n let key = `child:folders:${id}`;\n\n if (cursor) {\n url += `&cursor=${cursor}`;\n key += `:${cursor}`;\n }\n\n return {\n url,\n key,\n formatData: (folders: FolderCollection) => {\n const data = folders.data.sort((a, b) => {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n\n return {\n ...folders,\n data\n };\n },\n success,\n error,\n always\n };\n },\n\n addToLibrary(data: AddToLibraryRequest, sort: VideoSortType): Flight.Request {\n const folderVideosKey = [ 'folder', 'videos', data.metadata.destinationCategoryId, sort ].filter(k => !!k).join(':');\n \n return {\n url: `{gateway}/v1/library-requests`,\n key: `add:${data.objectId}:to:${data.destinationLibraryId}:${data.metadata.destinationCategoryId}`,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: folderVideosKey\n };\n },\n\n libraries(): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/libraries',\n key: 'objects:libraries'\n };\n },\n\n libraryExport(data: LibraryExportRequest): Flight.Request {\n return {\n url: '{gateway}/v1/libraries/export',\n key: 'library:export',\n type: HttpVerbs.POST,\n data\n };\n },\n\n libraryExportV2(data: LibraryExportRequestV2): Flight.Request {\n return {\n url: '{gateway}/v2/libraries/export',\n key: 'library:export:v2',\n type: HttpVerbs.POST,\n data\n };\n }\n};"],"names":["LibraryRequests","type","success","error","always","UrlHelper","data","d","libraryIds","SharedWithStatements","id","cursor","params","collection","ArrayHelper","libraryId","customerId","allowLibraryRequests","HttpVerbs","url","key","folders","a","b","sort","folderVideosKey","k"],"mappings":"sDAuBO,MAAMA,EAAkB,CAC7B,gBACEC,EACAC,EACAC,EACAC,EACgB,CAChB,MAAO,CACL,IAAKC,EAAU,WAAW,8BAA+B,CACvD,KAAAJ,EACA,iBAAkB,CAAA,CACnB,EACD,IAAK,aAAaA,EAAK,OAAO,KAAK,GAAG,CAAC,GACvC,WAAaK,GAAwCA,EAAK,IAAIC,GAAKA,EAAE,IAAI,EACzE,QAAAL,EACA,MAAAC,EACA,OAAAC,CAAA,CAEJ,EAEA,yBAA0C,CACxC,MAAO,CACL,IAAK,0CACL,IAAK,WAAA,CAET,EAEA,yBAA0C,CACxC,MAAO,CACL,IAAKC,EAAU,WAAW,8BAA+B,CACvD,KAAM,CAAE,gBAAiB,gBAAiB,0BAA2B,EACrE,iBAAkB,CAAA,CACnB,EACD,IAAK,4BACL,UAAW,EAAA,CAEf,EAEA,wBACEG,EACAN,EACAC,EACAC,EACgB,CAChB,OAAAI,EAAW,KAAA,EAEJ,CACL,IAAKH,EAAU,WAAW,yBAA0B,CAClD,MAAOI,EAAqB,mBAC5B,GAAID,CAAA,CACL,EACD,IAAK,wBAAwBA,EAAW,KAAK,GAAG,CAAC,GACjD,QAAAN,EACA,MAAAC,EACA,OAAAC,CAAA,CAEJ,EAEA,QACEM,EACAR,EACAC,EACAC,EACgB,CAChB,MAAO,CACL,IAAKC,EAAU,WAAW,wBAAwBK,CAAE,GAAI,CACtD,MAAOD,EAAqB,OAAA,CAC7B,EACD,IAAK,WAAWC,CAAE,GAClB,QAAAR,EACA,MAAAC,EACA,OAAAC,CAAA,CAEJ,EAEA,SACEM,EACgB,CAChB,MAAO,CACL,IAAKL,EAAU,WAAW,wBAAwBK,CAAE,GAAI,CACtD,MAAO,cAAA,CACR,EACD,IAAK,UAAA,CAET,EAEA,oBAAqC,CACnC,MAAO,CACL,IAAK,2CACL,IAAK,qBAAA,CAET,EAEA,mBAAmBA,EAAYC,EAAiC,CAC9D,MAAMC,EAAqB,CAAA,EAE3B,OAAID,IACFC,EAAO,OAASD,GAEX,CACL,IAAKN,EAAU,WAAW,2CAA2CK,CAAE,eAAgBE,CAAM,EAC7F,IAAK,uBAAuBF,CAAE,IAAIC,CAAM,EAAA,CAE5C,EAEA,aAAaD,EAA4B,CACvC,MAAO,CACL,IAAK,2CAA2CA,CAAE,8BAClD,IAAK,iBAAiBA,CAAE,GACxB,WAAaG,GACJC,EAAY,MAAMD,EAAW,IAAI,CAC1C,CAEJ,EAEA,4BACEE,EACAC,EACAC,EACAf,EACAC,EACgB,CAChB,MAAO,CACL,IAAK,0BAA0BY,CAAS,+BACxC,IAAK,iCAAiCA,CAAS,IAAIC,CAAU,GAC7D,KAAME,EAAU,IAChB,KAAM,CACJ,WAAAF,EACA,QAASC,CAAA,EAEX,iBAAkB,CAChB,iBAAiBF,CAAS,GAC1B,uBAAuBA,CAAS,EAAA,EAElC,QAAAb,EACA,MAAAC,CAAA,CAEJ,EAEA,iBACEY,EACAC,EACAd,EACAC,EACgB,CAChB,MAAO,CACL,IAAK,wBAAwBY,CAAS,iCAAiCC,CAAU,GACjF,IAAK,uBAAuBD,CAAS,IAAIC,CAAU,GACnD,KAAME,EAAU,OAChB,iBAAkB,CAAC,uBAAuBH,CAAS,EAAE,EACrD,QAAAb,EACA,MAAAC,CAAA,CAEJ,EAEA,OACEO,EACAR,EACAC,EACAC,EACgB,CAChB,MAAO,CACL,IAAK,wBAAwBM,CAAE,0BAC/B,IAAK,kBAAkBA,CAAE,GACzB,QAAAR,EACA,MAAAC,EACA,OAAAC,CAAA,CAEJ,EAEA,aAAaM,EAA4B,CACvC,MAAO,CACL,IAAK,wBAAwBA,CAAE,8BAC/B,IAAK,iBAAiBA,CAAE,EAAA,CAE5B,EAEA,iBACEA,EACAR,EACAC,EACAC,EACgB,CAChB,MAAO,CACL,IAAK,6BAA6BM,CAAE,gCACpC,IAAK,qBAAqBA,CAAE,GAC5B,QAAAR,EACA,MAAAC,EACA,OAAAC,CAAA,CAEJ,EAEA,aACEM,EACAC,EACAT,EACAC,EACAC,EACgB,CAChB,IAAIe,EAAM,wBAAwBT,CAAE,yCAChCU,EAAM,iBAAiBV,CAAE,GAE7B,OAAIC,IACFQ,GAAO,WAAWR,CAAM,GACxBS,GAAO,IAAIT,CAAM,IAGZ,CACL,IAAAQ,EACA,IAAAC,EACA,WAAaC,GAA8B,CACzC,MAAMf,EAAOe,EAAQ,KAAK,KAAK,CAACC,EAAGC,IAC1BD,EAAE,KAAK,YAAA,EAAc,cAAcC,EAAE,KAAK,aAAa,CAC/D,EAED,MAAO,CACL,GAAGF,EACH,KAAAf,CAAA,CAEJ,EACA,QAAAJ,EACA,MAAAC,EACA,OAAAC,CAAA,CAEJ,EAEA,aAAaE,EAA2BkB,EAAqC,CAC3E,MAAMC,EAAkB,CAAE,SAAU,SAAUnB,EAAK,SAAS,sBAAuBkB,CAAK,EAAE,UAAY,CAAC,CAACE,CAAC,EAAE,KAAK,GAAG,EAEnH,MAAO,CACL,IAAK,gCACL,IAAK,OAAOpB,EAAK,QAAQ,OAAOA,EAAK,oBAAoB,IAAIA,EAAK,SAAS,qBAAqB,GAChG,KAAMY,EAAU,KAChB,KAAAZ,EACA,iBAAkBmB,CAAA,CAEtB,EAEA,WAA4B,CAC1B,MAAO,CACL,IAAK,kCACL,IAAK,mBAAA,CAET,EAEA,cAAcnB,EAA4C,CACxD,MAAO,CACL,IAAK,gCACL,IAAK,iBACL,KAAMY,EAAU,KAChB,KAAAZ,CAAA,CAEJ,EAEA,gBAAgBA,EAA8C,CAC5D,MAAO,CACL,IAAK,gCACL,IAAK,oBACL,KAAMY,EAAU,KAChB,KAAAZ,CAAA,CAEJ,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as r}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as r}from"./app-YVcc0mcr.js";function m(t){return r.jsx("svg",{...t,children:r.jsx("path",{d:"m8.305 11.267 5.906-5.963a1.046 1.046 0 0 1 1.473 0l.011.01a1.034 1.034 0 0 1 0 1.467L10.526 12l5.17 5.22c.406.41.406 1.055 0 1.465l-.012.011a1.046 1.046 0 0 1-1.473 0l-5.906-5.963a1.034 1.034 0 0 1 0-1.466",fill:"currentColor"})})}const o={numItems:5,minWidth:50,maxWidth:100},e={getPartialLoadingItems(t={}){const a={...o,...t},n=()=>Math.max(Math.floor(Math.random()*a.maxWidth),a.minWidth);return[...Array(a.numItems)].map(()=>({width:`${n()}px`}))}};export{m as C,e as P};
|
|
2
|
+
//# sourceMappingURL=Bxof9qR3.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"Bxof9qR3.chunk.js","sources":["../../../../libs/shared/src/images/svg/arrows/ChevronLeftSvg.tsx","../../../../libs/shared/src/utils/PartialLoadingHelper.ts"],"sourcesContent":["import React from 'react';\n\nexport function ChevronLeftSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='m8.305 11.267 5.906-5.963a1.046 1.046 0 0 1 1.473 0l.011.01a1.034 1.034 0 0 1 0 1.467L10.526 12l5.17 5.22c.406.41.406 1.055 0 1.465l-.012.011a1.046 1.046 0 0 1-1.473 0l-5.906-5.963a1.034 1.034 0 0 1 0-1.466'\n fill='currentColor'\n />\n </svg>\n );\n}\n","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};"],"names":["ChevronLeftSvg","props","jsx","DEFAULT_PARTIAL_LOADING_OPTIONS","PartialLoadingHelper","options","opts","getRandomFilterWidth"],"mappings":"sCAEO,SAASA,EAAeC,EAAsC,CACnE,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,iNACF,KAAK,cAAA,CAAA,EAET,CAEJ,CCXA,MAAMC,EAAyD,CAC7D,SAAU,EACV,SAAU,GACV,SAAU,GACZ,EAYaC,EAAuB,CAClC,uBAAuBC,EAAiC,GAA0B,CAChF,MAAMC,EAAO,CACX,GAAGH,EACH,GAAGE,CAAA,EAGCE,EAAuB,IAAM,KAAK,IAAI,KAAK,MAAM,KAAK,OAAA,EAAWD,EAAK,QAAQ,EAAGA,EAAK,QAAQ,EAEpG,MAAO,CAAC,GAAG,MAAMA,EAAK,QAAQ,CAAC,EAAE,IAAI,KAAO,CAAE,MAAO,GAAGC,EAAA,CAAsB,MAAO,CACvF,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{H as v,a3 as p,j as o,P as y,aD as h,A as w,a as f,b as g}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{H as v,a3 as p,j as o,P as y,aD as h,A as w,a as f,b as g}from"./app-YVcc0mcr.js";import{S as P}from"./DKP8OSLt.chunk.js";import{V as x}from"./Io7g60l1.chunk.js";import{u as j}from"./CdmZcJJE.chunk.js";import{C as A,P as C,a as E}from"./Bl-wWq3F.chunk.js";import{a as V}from"./DezZNCrr.chunk.js";import{u as S}from"./DJrX_udN.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./a1BWyh3I.chunk.js";import"./CvlJsC2N.chunk.js";import"./L5XMY5e5.chunk.js";import"./DCKHN9x6.chunk.js";import"./teFtDXco.chunk.js";import"./RBxC7AKW.chunk.js";import"./Bb6yXi56.chunk.js";import"./BtCxZZ5N.chunk.js";import"./CakiFvV4.chunk.js";import"./Kj832An8.chunk.js";import"./DTQrc2Wc.chunk.js";import"./B-tbSNDR.chunk.js";import"./CY2gzjHY.chunk.js";import"./v_B4I3Qe.chunk.js";import"./B60atIyl.chunk.js";import"./D62fgP9E.chunk.js";import"./BpAshDEq.chunk.js";import"./CI-iVFxS.chunk.js";import"./CRi1yEnr.chunk.js";import"./DsEwMbUK.chunk.js";import"./B668bf5B.chunk.js";import"./C8wzS3f9.chunk.js";import"./BwCUdl81.chunk.js";import"./DGcpkvpe.chunk.js";import"./D4IS2gly.chunk.js";import"./DdGmmqcK.chunk.js";import"./CdVUBGIW.chunk.js";var c=(e=>(e.Share="share",e.MasterObject="masterobject",e))(c||{});const b={createViewKey(e,t,r,a,s){const i={mediaId:e.toString(),mediaIdType:t};return r&&(i.shareContextId=r),{url:"/api/player/create-view-key",key:`view:key:${e}:${t}`,type:v.POST,data:i,cacheDuration:28800,success:a,error:s}}};function de(e){var l;const t=p(x.video(e.videoId)),r=p(h.config()),a=p(b.createViewKey(e.videoId,c.MasterObject)),s=V("preview");j(t.statusCode);const{previewContext:i,clearPreviewContext:d}=S(e.videoId,!0);function u(k){}function n(){e.closePopup(),P.preventScrollTop(),w.trigger((i==null?void 0:i.appLink)??{application:g.EXCHANGE,action:f.Exchange.INDEX}),d()}const m=t.data&&r.hasCompleted&&a.hasCompleted;return o.jsx(y,{title:(l=t.data)==null?void 0:l.name,hideTitle:!0,closePopup:n,showLoadingSpinner:!m,size:"lg",bodyClassName:"p-0 rounded-3 position-relative",children:m&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"overflow-hidden rounded-top-lg",children:o.jsx(A,{viewKey:a.data.viewKey,playerApi:new URL(r.data.playerApiUrl),autoplay:!0,hotkeyElQuerySelector:"body",onReady:u,allowFullscreen:!1})}),o.jsx(C,{video:t.data,title:t.data.name,description:t.data.description,videoActions:s.getVideoActions(t.data)}),o.jsx(E,{closePopup:n})]})})}export{de as ExchangePreviewView};
|
|
2
|
+
//# sourceMappingURL=C4nvmLjJ.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"C4nvmLjJ.chunk.js","sources":["../../../../libs/shared/src/enums/MediaIdType.ts","../../../../libs/shared/src/flight-requests/PlayerRequests.ts","../../src/apps/exchange/views/exchange-preview/ExchangePreviewView.tsx"],"sourcesContent":["export enum MediaIdType {\n Share = 'share',\n MasterObject = 'masterobject'\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PlayerViewKey } from 'libs/shared/interfaces';\n\nexport const PlayerRequests = {\n createViewKey(\n mediaId: string,\n mediaIdType: MediaIdType,\n shareContextId?: string,\n success?: (viewKey: PlayerViewKey) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n const data: HashObject = {\n mediaId: mediaId.toString(),\n mediaIdType\n };\n\n if (shareContextId)\n data.shareContextId = shareContextId;\n\n return {\n url: `/api/player/create-view-key`,\n key: `view:key:${mediaId}:${mediaIdType}`,\n type: HttpVerbs.POST,\n data,\n /**\n * A view key is valid for 8 hours, at that point we need refetch the view key\n */\n cacheDuration: 28800,\n success,\n error\n };\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PlayerReference } from 'libs/shared/context/player-context/interfaces/PlayerReference';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useHandleDialogError } from 'libs/shared/hooks/UseHandleDialogError';\nimport { Config, PlayerViewKey, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { ClickViewPlayer } from 'projects/player/react/Player';\n\nimport { PlayerOverlayButtons } from 'shared/components/player-overlay-buttons/PlayerOverlayButtons';\nimport { PreviewVideoDetails } from 'shared/components/preview-video-details/PreviewVideoDetails';\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\n\ninterface ExchangePreviewViewProps extends PopupViewProps {\n videoId: string;\n currentTime: number;\n}\n\nexport function ExchangePreviewView(props: ExchangePreviewViewProps): JSX.Element {\n // const analyticsTracker = React.useRef<PlayerAnalyticsTracker>(null);\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.videoId));\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(\n PlayerRequests.createViewKey(props.videoId, MediaIdType.MasterObject)\n );\n\n const videoActions = useGetExchangeActions('preview');\n useHandleDialogError(video.statusCode);\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.videoId, true);\n\n // TODO: Solve analytics collection\n function onReady(player: PlayerReference): void {\n player;\n // setupAnalytics(player);\n }\n\n // function setupAnalytics(player: PlayerReference): void {\n // analyticsTracker.current = new PlayerAnalyticsTracker({\n // player,\n // video: props.video,\n // analyticsLocation: props.embed ?\n // LocationContext.EmbeddedPlayer :\n // LocationContext.PlayPage,\n // shareId: props.shareLink?.id\n // });\n // }\n\n function onClose(): void {\n props.closePopup();\n\n ScrollHelper.preventScrollTop();\n Core.AppLinkHelper.trigger(previewContext?.appLink ?? {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n });\n clearPreviewContext();\n }\n\n const hasLoaded = (\n video.data &&\n config.hasCompleted &&\n viewKey.hasCompleted\n );\n\n return (\n <Popup\n title={video.data?.name}\n hideTitle\n closePopup={onClose}\n showLoadingSpinner={!hasLoaded}\n size='lg'\n bodyClassName='p-0 rounded-3 position-relative'\n >\n {hasLoaded &&\n <>\n <div className='overflow-hidden rounded-top-lg'>\n <ClickViewPlayer\n viewKey={viewKey.data.viewKey}\n playerApi={new URL(config.data.playerApiUrl)}\n autoplay\n hotkeyElQuerySelector='body'\n onReady={onReady}\n allowFullscreen={false}\n />\n </div>\n <PreviewVideoDetails\n video={video.data}\n title={video.data.name}\n description={video.data.description}\n videoActions={videoActions.getVideoActions(video.data)}\n />\n <PlayerOverlayButtons closePopup={onClose} />\n </>\n }\n </Popup>\n );\n}"],"names":["MediaIdType","PlayerRequests","mediaId","mediaIdType","shareContextId","success","error","data","HttpVerbs","ExchangePreviewView","props","video","Flight.useBasicFetch","VideoRequests","config","ConfigRequests","viewKey","videoActions","useGetExchangeActions","useHandleDialogError","previewContext","clearPreviewContext","usePreviewContext","onReady","player","onClose","ScrollHelper","Core.AppLinkHelper","AppChannels","Actions","hasLoaded","jsx","Popup","_a","jsxs","Fragment","ClickViewPlayer","PreviewVideoDetails","PlayerOverlayButtons"],"mappings":"moCAAO,IAAKA,GAAAA,IACVA,EAAA,MAAQ,QACRA,EAAA,aAAe,eAFLA,IAAAA,GAAA,CAAA,CAAA,ECQL,MAAMC,EAAiB,CAC5B,cACEC,EACAC,EACAC,EACAC,EACAC,EACgB,CAChB,MAAMC,EAAmB,CACvB,QAASL,EAAQ,SAAA,EACjB,YAAAC,CAAA,EAGF,OAAIC,IACFG,EAAK,eAAiBH,GAEjB,CACL,IAAK,8BACL,IAAK,YAAYF,CAAO,IAAIC,CAAW,GACvC,KAAMK,EAAU,KAChB,KAAAD,EAIA,cAAe,MACf,QAAAF,EACA,MAAAC,CAAA,CAEJ,CACF,ECPO,SAASG,GAAoBC,EAA8C,OAEhF,MAAMC,EAAQC,EAA4BC,EAAc,MAAMH,EAAM,OAAO,CAAC,EACtEI,EAASF,EAA6BG,EAAe,QAAQ,EAC7DC,EAAUJ,EACdX,EAAe,cAAcS,EAAM,QAASV,EAAY,YAAY,CAAA,EAGhEiB,EAAeC,EAAsB,SAAS,EACpDC,EAAqBR,EAAM,UAAU,EAErC,KAAM,CAAE,eAAAS,EAAgB,oBAAAC,CAAA,EAAwBC,EAAkBZ,EAAM,QAAS,EAAI,EAGrF,SAASa,EAAQC,EAA+B,CAGhD,CAaA,SAASC,GAAgB,CACvBf,EAAM,WAAA,EAENgB,EAAa,iBAAA,EACbC,EAAmB,SAAQP,GAAA,YAAAA,EAAgB,UAAW,CACpD,YAAaQ,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,CAC1B,EACDR,EAAA,CACF,CAEA,MAAMS,EACJnB,EAAM,MACNG,EAAO,cACPE,EAAQ,aAGV,OACEe,EAAAA,IAACC,EAAA,CACC,OAAOC,EAAAtB,EAAM,OAAN,YAAAsB,EAAY,KACnB,UAAS,GACT,WAAYR,EACZ,mBAAoB,CAACK,EACrB,KAAK,KACL,cAAc,kCAEb,YACCI,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAJ,EAAAA,IAAC,MAAA,CAAI,UAAU,iCACb,SAAAA,EAAAA,IAACK,EAAA,CACC,QAASpB,EAAQ,KAAK,QACtB,UAAW,IAAI,IAAIF,EAAO,KAAK,YAAY,EAC3C,SAAQ,GACR,sBAAsB,OACtB,QAAAS,EACA,gBAAiB,EAAA,CAAA,EAErB,EACAQ,EAAAA,IAACM,EAAA,CACC,MAAO1B,EAAM,KACb,MAAOA,EAAM,KAAK,KAClB,YAAaA,EAAM,KAAK,YACxB,aAAcM,EAAa,gBAAgBN,EAAM,IAAI,CAAA,CAAA,EAEvDoB,EAAAA,IAACO,EAAA,CAAqB,WAAYb,CAAA,CAAS,CAAA,CAAA,CAC7C,CAAA,CAAA,CAIR"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{aL as i,bM as n,j as t,bN as m,B as r}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{aL as i,bM as n,j as t,bN as m,B as r}from"./app-YVcc0mcr.js";const u="shared.formButtons";function c(s){const e=i(),a=n(e);return t.jsx(m,{variant:s.variant||"primary",type:"submit",disabled:!a,size:s.size,className:s.className?s.className:"",showSpinner:e.isSubmitting,children:s.submitText?t.jsx(t.Fragment,{children:s.submitText}):t.jsx(r,{namespace:u,phrase:s.isNew?"create":"save"})})}export{c as F};
|
|
2
|
+
//# sourceMappingURL=C5MXXDzO.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"C5MXXDzO.chunk.js","sources":["../../../../libs/shared/src/components/forms/form-buttons/FormButtons.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { FormSize } from 'libs/shared/components/forms/form-field/FormField';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useCanSubmitForm } from 'libs/shared/hooks/UseCanSubmitForm';\n\nconst namespace = 'shared.formButtons';\n\ninterface FormButtonsProps {\n isNew?: boolean;\n submitText?: string;\n variant?: ButtonProps['variant'];\n size?: FormSize;\n className?: string;\n}\n\nexport function FormButtons<Values extends HashObject>(props: FormButtonsProps): JSX.Element {\n const formikProps = useFormikContext<Values>();\n\n const canSubmit = useCanSubmitForm(formikProps);\n\n return (\n <SpinnerButton\n variant={props.variant || 'primary'}\n type='submit'\n disabled={!canSubmit}\n size={props.size}\n className={props.className ? props.className : ''}\n showSpinner={formikProps.isSubmitting}\n >\n {props.submitText\n ? <>{props.submitText}</>\n : <Text namespace={namespace} phrase={props.isNew ? 'create' : 'save'} />}\n </SpinnerButton>\n );\n}\n"],"names":["namespace","FormButtons","props","formikProps","useFormikContext","canSubmit","useCanSubmitForm","jsx","SpinnerButton","Fragment","Text"],"mappings":"qEAWA,MAAMA,EAAY,qBAUX,SAASC,EAAuCC,EAAsC,CAC3F,MAAMC,EAAcC,EAAA,EAEdC,EAAYC,EAAiBH,CAAW,EAE9C,OACEI,EAAAA,IAACC,EAAA,CACC,QAASN,EAAM,SAAW,UAC1B,KAAK,SACL,SAAU,CAACG,EACX,KAAMH,EAAM,KACZ,UAAWA,EAAM,UAAYA,EAAM,UAAY,GAC/C,YAAaC,EAAY,aAExB,SAAAD,EAAM,WACHK,EAAAA,IAAAE,EAAAA,SAAA,CAAG,SAAAP,EAAM,UAAA,CAAW,EACpBK,MAACG,EAAA,CAAK,UAAAV,EAAsB,OAAQE,EAAM,MAAQ,SAAW,MAAA,CAAQ,CAAA,CAAA,CAG/E"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{L as p,aL as z,aB as q,j as e,a1 as J,B as g,x as D,a2 as O,I as A,a3 as C,a4 as Q,P as X,a5 as Z,ab as S,aS as k,ac as F,ad as U,ae as B,af as E}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{L as p,aL as z,aB as q,j as e,a1 as J,B as g,x as D,a2 as O,I as A,a3 as C,a4 as Q,P as X,a5 as Z,ab as S,aS as k,ac as F,ad as U,ae as B,af as E}from"./app-YVcc0mcr.js";import{l as r,F as u,a as ee}from"./CmIyH6d9.chunk.js";import{u as ae}from"./B60atIyl.chunk.js";import{u as se}from"./CR6eQFf-.chunk.js";import{a as te,T as I}from"./DwEB5UWK.chunk.js";import{g as Y}from"./Cpe75H8y.chunk.js";import{F as ne}from"./C5MXXDzO.chunk.js";import"./a1BWyh3I.chunk.js";var V=(a=>(a[a.BbcRes=0]="BbcRes",a))(V||{});const re="tv.requestProgramValidation",b=p.encloseNamespace(re);function oe(a){return a?r.object().shape({channelId:r.string().required(b("channelRequired")),title:r.string().required(b("programRequired")),broadcastDate:r.string().required(b("dateRequired")),broadcastTime:r.string().required(b("timeRequired")),closedCaptions:r.string(),comments:r.string()}):r.object().shape({title:r.string().required(b("programRequired")),comments:r.string()})}const h="tv.requestProgramForm",o=p.encloseNamespace(h);function ie(a){const c=z(),x=q.format(q.add(new Date,4,"days"),"YYYY-MM-DD"),i=q.format(q.add(x,11,"days"),"YYYY-MM-DD"),s=Y(a.instanceRegion);return e.jsxs(J,{children:[a.channels&&e.jsxs(u,{as:"select",label:o("channelLabel"),name:"channelId",value:c.values.channelId,showRequiredStar:!0,children:[e.jsx("option",{value:"",children:p.getPhrase(h,"channelPlaceholder")},0),a.channels.map(l=>e.jsx("option",{value:l.id,children:`${l.name} - (${l.number})`},l.id))]}),e.jsx(u,{label:o("programLabel"),placeholder:o("programPlaceholder"),type:"text",name:"title",value:c.values.title,showRequiredStar:!0}),a.channels&&e.jsxs("div",{className:"d-flex",children:[e.jsx("div",{className:"w-50 me-2",children:e.jsx(u,{label:o("broadcastDateLabel"),type:"date",name:"broadcastDate",value:c.values.broadcastDate,min:x,max:i,showRequiredStar:!0})}),e.jsx("div",{className:"w-50",children:e.jsx(u,{label:o("broadcastTimeLabel"),type:"time",name:"broadcastTime",value:c.values.broadcastTime,className:"mb-0",showRequiredStar:!0})})]}),e.jsx("p",{className:"mt-n1",children:e.jsx("small",{children:e.jsx(g,{namespace:h,phrase:s.programGuidePhraseKey})})}),a.channels&&e.jsxs("div",{className:"d-flex",children:[e.jsx("div",{className:"w-50 me-2",children:e.jsxs(u,{as:"select",label:o("ccLabel"),name:"closedCaptions",value:c.values.closedCaptions,children:[e.jsx("option",{value:"",children:p.getPhrase(h,"ccNo")}),e.jsx("option",{value:"yes",children:p.getPhrase(h,"ccYes")})]})}),e.jsx("div",{className:"w-50"})]}),e.jsx(u,{label:o(a.channels?"commentsLabel":"additionalInfoLabel"),placeholder:o(a.channels?"commentsPlaceholder":"additionalInfoPlaceholder"),type:"text",name:"comments",value:c.values.comments}),e.jsx("p",{children:e.jsx(g,{namespace:h,phrase:"note",options:{tv:s.tv}})}),e.jsxs(D,{children:[e.jsx(D.Cancel,{text:o("cancel"),onClick:a.onClickCancel,variant:"link"}),e.jsx(ne,{variant:"dark",submitText:o("request")})]})]})}const ce={channelId:"",title:"",broadcastDate:"",broadcastTime:"",closedCaptions:"",comments:""},P="tv.requestProgram",f=p.encloseNamespace(P);function ve(a){const c=O(),x=ae(),i=a.instanceRegion===A.AU,s=C(Z.currentUser()),l=a.instanceRegion===A.UK,y=C(l&&Q.customer(s.data.customerId)),R=C(i&&I.payTvChannels()),v=Y(a.instanceRegion);function $(){a.closePopup()}const{loading:H,handleGenerateReportError:M}=se();function G(t){var d;if(i){const n=(d=R.data)==null?void 0:d.find(j=>String(j.id)===t.channelId);x.success(f("successChannel",{tv:v.tv,program:t.title,channel:n==null?void 0:n.name})),S.logUserAction({channel:n.id,name:n.name,program:t.title,region:a.region},{actionType:E.Submit,entity:B.Video,location:U.Popup,workflowPhase:F.Complete,descriptor:k.RequestProgram})}else x.success(f("successNoChannel",{tv:v.tv,program:t.title})),S.logUserAction({program:t.title,region:a.region},{actionType:E.Submit,entity:B.Video,location:U.Popup,workflowPhase:F.Complete,descriptor:k.RequestProgram})}function K(t){var T,w,N,L;const{broadcastDate:d,broadcastTime:n,closedCaptions:j,...m}=t;return l?{title:m.title,comments:m.comments,crmId:y.data.crmId,customerName:y.data.name,email:s.data.email,type:V.BbcRes,username:s.data.username}:i?{...m,closedCaptions:!!j,regionCode:a.region,programDateTime:`${d}T${n}`,userId:(T=s.data)==null?void 0:T.id,customerId:(w=s.data)==null?void 0:w.customerId}:{...m,regionCode:a.region,userId:(N=s.data)==null?void 0:N.id,customerId:(L=s.data)==null?void 0:L.customerId}}async function W(t,d){const n=K(t),j=l?I.requestProgramUk(n):I.requestProgram(n);try{await c(j),d(),G(t)}catch(m){M(m,f("error"),f("noEmailError"))}a.closePopup()}const _=s.hasCompleted&&(i&&R.hasCompleted||!i);return e.jsxs(X,{title:f("title",{tv:v.tv}),closePopup:a.closePopup,showLoadingSpinner:!_||H,children:[te.isHolidayPeriod()&&e.jsxs("div",{className:"alert alert-warning",role:"alert",children:[e.jsx("h3",{className:"h5",children:e.jsx(g,{namespace:P,phrase:"requestAlertHeading"})}),e.jsx("p",{className:"m-0",children:e.jsx(g,{namespace:P,phrase:"requestAlertBody",options:{tv:v.tv}})})]}),e.jsx("p",{children:e.jsx(g,{namespace:P,phrase:"description",options:{tv:v.tv}})}),e.jsx("p",{children:e.jsx(g,{namespace:P,phrase:"moreInfo"})}),R&&e.jsx(ee,{initialValues:ce,validationSchema:oe(i),onSubmit:W,children:e.jsx(ie,{onClickCancel:$,channels:i&&R.data,instanceRegion:a.instanceRegion})})]})}export{ve as TvRequestProgramView};
|
|
2
|
+
//# sourceMappingURL=C8mmLu5P.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"C5uDJfs-.chunk.js","sources":["../../src/apps/tv/interfaces/requests/RequestProgramRequest.ts","../../src/apps/tv/utils/validation/RequestProgramValidation.ts","../../src/apps/tv/views/tv-request-program/components/TvRequestProgramForm.tsx","../../src/apps/tv/views/tv-request-program/TvRequestProgramView.tsx"],"sourcesContent":["export enum FulfillmentStatus {\n Unfulfilled = 0,\n CurrentlyBeingProcessed = 1,\n Fulfilled = 2\n}\n\nexport interface RequestProgramRequest {\n title: string;\n comments: string;\n regionCode: string;\n userId: string;\n customerId: string;\n channelId?: string;\n programDateTime?: string;\n closedCaptions?: boolean;\n}\n\nexport enum ProgramRequestType {\n BbcRes\n}\n\nexport interface RequestProgramUkRequest {\n title: string;\n comments: string;\n customerName: string;\n email: string;\n crmId: string;\n type: 0;\n username: string;\n}","import { object, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'tv.requestProgramValidation';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function RequestProgramValidation(hasChannels: boolean) {\n return hasChannels\n ? object().shape({\n channelId: string().required(getPhrase('channelRequired')),\n title: string().required(getPhrase('programRequired')),\n broadcastDate: string().required(getPhrase('dateRequired')),\n broadcastTime: string().required(getPhrase('timeRequired')),\n closedCaptions: string(),\n comments: string()\n })\n : object().shape({\n title: string().required(getPhrase('programRequired')),\n comments: string()\n });\n}\n","import React from 'react';\nimport { Form, useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\n\nimport { RequestProgramModel } from 'apps/tv/interfaces/models/RequestProgram';\nimport { PayTvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { RequestProgramRequest } from 'apps/tv/interfaces/requests/RequestProgramRequest';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\n\nconst namespace = 'tv.requestProgramForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvRequestProgramFormProps {\n channels?: PayTvChannel[];\n instanceRegion: InstanceRegion;\n onClickCancel: () => void;\n}\n\nexport function TvRequestProgramForm(props: TvRequestProgramFormProps) {\n const formikProps = useFormikContext<RequestProgramModel>();\n\n const minDate = DateHelper.format(DateHelper.add(new Date(), 4, 'days'), 'YYYY-MM-DD');\n const maxDate = DateHelper.format(DateHelper.add(minDate, 11, 'days'), 'YYYY-MM-DD');\n\n const regionInfo = getRegionInfo(props.instanceRegion);\n\n return (\n <Form>\n {props.channels && (\n <FormField\n as='select'\n label={getPhrase('channelLabel')}\n name='channelId'\n value={formikProps.values.channelId}\n showRequiredStar\n >\n <option key={0} value=''>{LanguageService.getPhrase(namespace, 'channelPlaceholder')}</option>\n {props.channels.map(channel => (\n <option key={channel.id} value={channel.id}>{`${channel.name} - (${channel.number})`}</option>\n ))}\n </FormField>)\n }\n\n <FormField\n label={getPhrase('programLabel')}\n placeholder={getPhrase('programPlaceholder')}\n type='text'\n name='title'\n value={formikProps.values.title}\n showRequiredStar\n />\n\n {props.channels && (\n <div className='d-flex'>\n <div className='w-50 me-2'>\n <FormField\n label={getPhrase('broadcastDateLabel')}\n type='date'\n name='broadcastDate'\n value={formikProps.values.broadcastDate}\n min={minDate}\n max={maxDate}\n showRequiredStar\n />\n </div>\n <div className='w-50'>\n <FormField\n label={getPhrase('broadcastTimeLabel')}\n type='time'\n name='broadcastTime'\n value={formikProps.values.broadcastTime}\n className='mb-0'\n showRequiredStar\n />\n </div>\n </div>\n )}\n\n <p className='mt-n1'>\n <small><Text namespace={namespace} phrase={regionInfo.programGuidePhraseKey} /></small>\n </p>\n\n {props.channels && (\n <div className='d-flex'>\n <div className='w-50 me-2'>\n <FormField\n as='select'\n label={getPhrase('ccLabel')}\n name='closedCaptions'\n value={formikProps.values.closedCaptions}\n >\n <option value=''>{LanguageService.getPhrase(namespace, 'ccNo')}</option>\n <option value='yes'>{LanguageService.getPhrase(namespace, 'ccYes')}</option>\n </FormField>\n </div>\n <div className='w-50'></div>\n </div>\n )}\n \n <FormField\n label={getPhrase(props.channels ? 'commentsLabel' : 'additionalInfoLabel')}\n placeholder={getPhrase(props.channels ? 'commentsPlaceholder' : 'additionalInfoPlaceholder')}\n type='text'\n name='comments'\n value={formikProps.values.comments}\n />\n\n <p><Text namespace={namespace} phrase='note' options={{ tv: regionInfo.tv }} /></p>\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('cancel')}\n onClick={props.onClickCancel}\n variant='link'\n />\n <FormButtons<RequestProgramRequest> variant='dark' submitText={getPhrase('request')}/>\n </PopupButtons>\n </Form>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, TvDescriptor, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useVerifiedEmailRequiredErrorHandler } from 'libs/shared/hooks/useVerifiedEmailRequiredErrorHandler';\nimport { CurrentUser, Customer, PopupViewProps } from 'libs/shared/interfaces';\n\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { RequestProgramModel } from 'apps/tv/interfaces/models/RequestProgram';\nimport { PayTvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { ProgramRequestType, RequestProgramRequest, RequestProgramUkRequest } from 'apps/tv/interfaces/requests/RequestProgramRequest';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\nimport { TvUtils } from 'apps/tv/utils/TvUtils';\nimport { RequestProgramValidation } from 'apps/tv/utils/validation/RequestProgramValidation';\nimport { TvRequestProgramForm } from 'apps/tv/views/tv-request-program/components/TvRequestProgramForm';\n\nconst INITIAL_VALUES = {\n channelId: '',\n title: '',\n broadcastDate: '',\n broadcastTime: '',\n closedCaptions: '',\n comments: ''\n};\n\nconst namespace = 'tv.requestProgram';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvRequestProgramProps extends PopupViewProps {\n region: string;\n instanceRegion: InstanceRegion;\n}\n\nexport function TvRequestProgramView(props: TvRequestProgramProps) {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const hasPayTvChannels = props.instanceRegion === InstanceRegion.AU;\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const isUK = props.instanceRegion === InstanceRegion.UK;\n const customer = Flight.useBasicFetch<Customer>(isUK && CustomerRequests.customer(currentUser.data.customerId));\n\n const channels = Flight.useBasicFetch<PayTvChannel[]>(\n hasPayTvChannels && TvRequests.payTvChannels()\n );\n\n const regionInfo = getRegionInfo(props.instanceRegion);\n\n function onClickCancel() {\n props.closePopup();\n }\n\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n function alertAndLogging(requestData: RequestProgramModel) {\n if (hasPayTvChannels) {\n const channel = channels.data?.find(channel => String(channel.id) === requestData.channelId);\n alerts.success(\n getPhrase(\n 'successChannel',\n {\n tv: regionInfo.tv,\n program: requestData.title,\n channel: channel?.name\n }\n )\n );\n AnalyticsHelper.logUserAction(\n { channel: channel.id, name: channel.name, program: requestData.title, region: props.region },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete,\n descriptor: TvDescriptor.RequestProgram\n }\n );\n } else {\n alerts.success(\n getPhrase(\n 'successNoChannel',\n {\n tv: regionInfo.tv,\n program: requestData.title\n }\n )\n );\n AnalyticsHelper.logUserAction(\n { program: requestData.title, region: props.region },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete,\n descriptor: TvDescriptor.RequestProgram\n }\n );\n }\n }\n\n function getRequestData(values: RequestProgramModel): RequestProgramRequest | RequestProgramUkRequest {\n const { broadcastDate, broadcastTime, closedCaptions, ...requestData } = values;\n\n if (isUK) {\n return {\n title: requestData.title,\n comments: requestData.comments,\n crmId: customer.data.crmId,\n customerName: customer.data.name,\n email: currentUser.data.email,\n type: ProgramRequestType.BbcRes,\n username: currentUser.data.username\n };\n }\n\n if (hasPayTvChannels) {\n return {\n ...requestData,\n closedCaptions: Boolean(closedCaptions),\n regionCode: props.region,\n programDateTime: `${broadcastDate}T${broadcastTime}`,\n userId: currentUser.data?.id,\n customerId: currentUser.data?.customerId\n };\n }\n\n return {\n ...requestData,\n regionCode: props.region,\n userId: currentUser.data?.id,\n customerId: currentUser.data?.customerId\n };\n }\n\n async function onClickRequest(\n values: RequestProgramModel,\n onDone: () => void\n ) {\n const requestData = getRequestData(values);\n const request = isUK\n ? TvRequests.requestProgramUk(requestData as RequestProgramUkRequest)\n : TvRequests.requestProgram(requestData as RequestProgramRequest);\n\n try {\n await fetchAsync(request);\n onDone();\n alertAndLogging(values);\n } catch (xhr) {\n handleGenerateReportError(xhr, getPhrase('error'), getPhrase('noEmailError'));\n }\n\n props.closePopup();\n }\n\n const hasLoaded = (currentUser.hasCompleted && ((hasPayTvChannels && channels.hasCompleted) || !hasPayTvChannels));\n\n return (\n <Popup\n title={getPhrase('title', { tv: regionInfo.tv })}\n closePopup={props.closePopup}\n showLoadingSpinner={!hasLoaded || loading}\n >\n {TvUtils.isHolidayPeriod() &&\n <div className='alert alert-warning' role='alert'>\n <h3 className='h5'>\n <Text namespace={namespace} phrase='requestAlertHeading'/>\n </h3>\n <p className='m-0'>\n <Text namespace={namespace} phrase='requestAlertBody' options={{\n tv: regionInfo.tv\n }} />\n </p>\n </div>\n }\n <p>\n <Text\n namespace={namespace}\n phrase='description'\n options={{ tv: regionInfo.tv }}\n />\n </p>\n <p>\n <Text\n namespace={namespace}\n phrase='moreInfo'\n />\n </p>\n {channels &&\n <FormWrapper<RequestProgramModel>\n initialValues={INITIAL_VALUES}\n validationSchema={RequestProgramValidation(hasPayTvChannels)}\n onSubmit={onClickRequest}\n >\n <TvRequestProgramForm\n onClickCancel={onClickCancel}\n channels={hasPayTvChannels && channels.data}\n instanceRegion={props.instanceRegion}\n />\n </FormWrapper>\n }\n </Popup>\n );\n}\n"],"names":["ProgramRequestType","namespace","getPhrase","LanguageService","RequestProgramValidation","hasChannels","object","string","TvRequestProgramForm","props","formikProps","useFormikContext","minDate","DateHelper","maxDate","regionInfo","getRegionInfo","Form","jsxs","FormField","jsx","channel","Text","PopupButtons","FormButtons","INITIAL_VALUES","TvRequestProgramView","fetchAsync","Flight.useGetFetchAsync","alerts","useAlerts","hasPayTvChannels","InstanceRegion","currentUser","Flight.useBasicFetch","UserRequests","isUK","customer","CustomerRequests","channels","TvRequests","onClickCancel","loading","handleGenerateReportError","useVerifiedEmailRequiredErrorHandler","alertAndLogging","requestData","_a","AnalyticsHelper","UserAction","EntityType","LocationContext","WorkflowPhase","TvDescriptor","getRequestData","values","broadcastDate","broadcastTime","closedCaptions","_b","_c","_d","onClickRequest","onDone","request","xhr","hasLoaded","Popup","TvUtils","FormWrapper"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"C8mmLu5P.chunk.js","sources":["../../src/apps/tv/interfaces/requests/RequestProgramRequest.ts","../../src/apps/tv/utils/validation/RequestProgramValidation.ts","../../src/apps/tv/views/tv-request-program/components/TvRequestProgramForm.tsx","../../src/apps/tv/views/tv-request-program/TvRequestProgramView.tsx"],"sourcesContent":["export enum FulfillmentStatus {\n Unfulfilled = 0,\n CurrentlyBeingProcessed = 1,\n Fulfilled = 2\n}\n\nexport interface RequestProgramRequest {\n title: string;\n comments: string;\n regionCode: string;\n userId: string;\n customerId: string;\n channelId?: string;\n programDateTime?: string;\n closedCaptions?: boolean;\n}\n\nexport enum ProgramRequestType {\n BbcRes\n}\n\nexport interface RequestProgramUkRequest {\n title: string;\n comments: string;\n customerName: string;\n email: string;\n crmId: string;\n type: 0;\n username: string;\n}","import { object, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'tv.requestProgramValidation';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function RequestProgramValidation(hasChannels: boolean) {\n return hasChannels\n ? object().shape({\n channelId: string().required(getPhrase('channelRequired')),\n title: string().required(getPhrase('programRequired')),\n broadcastDate: string().required(getPhrase('dateRequired')),\n broadcastTime: string().required(getPhrase('timeRequired')),\n closedCaptions: string(),\n comments: string()\n })\n : object().shape({\n title: string().required(getPhrase('programRequired')),\n comments: string()\n });\n}\n","import React from 'react';\nimport { Form, useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\n\nimport { RequestProgramModel } from 'apps/tv/interfaces/models/RequestProgram';\nimport { PayTvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { RequestProgramRequest } from 'apps/tv/interfaces/requests/RequestProgramRequest';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\n\nconst namespace = 'tv.requestProgramForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvRequestProgramFormProps {\n channels?: PayTvChannel[];\n instanceRegion: InstanceRegion;\n onClickCancel: () => void;\n}\n\nexport function TvRequestProgramForm(props: TvRequestProgramFormProps) {\n const formikProps = useFormikContext<RequestProgramModel>();\n\n const minDate = DateHelper.format(DateHelper.add(new Date(), 4, 'days'), 'YYYY-MM-DD');\n const maxDate = DateHelper.format(DateHelper.add(minDate, 11, 'days'), 'YYYY-MM-DD');\n\n const regionInfo = getRegionInfo(props.instanceRegion);\n\n return (\n <Form>\n {props.channels && (\n <FormField\n as='select'\n label={getPhrase('channelLabel')}\n name='channelId'\n value={formikProps.values.channelId}\n showRequiredStar\n >\n <option key={0} value=''>{LanguageService.getPhrase(namespace, 'channelPlaceholder')}</option>\n {props.channels.map(channel => (\n <option key={channel.id} value={channel.id}>{`${channel.name} - (${channel.number})`}</option>\n ))}\n </FormField>)\n }\n\n <FormField\n label={getPhrase('programLabel')}\n placeholder={getPhrase('programPlaceholder')}\n type='text'\n name='title'\n value={formikProps.values.title}\n showRequiredStar\n />\n\n {props.channels && (\n <div className='d-flex'>\n <div className='w-50 me-2'>\n <FormField\n label={getPhrase('broadcastDateLabel')}\n type='date'\n name='broadcastDate'\n value={formikProps.values.broadcastDate}\n min={minDate}\n max={maxDate}\n showRequiredStar\n />\n </div>\n <div className='w-50'>\n <FormField\n label={getPhrase('broadcastTimeLabel')}\n type='time'\n name='broadcastTime'\n value={formikProps.values.broadcastTime}\n className='mb-0'\n showRequiredStar\n />\n </div>\n </div>\n )}\n\n <p className='mt-n1'>\n <small><Text namespace={namespace} phrase={regionInfo.programGuidePhraseKey} /></small>\n </p>\n\n {props.channels && (\n <div className='d-flex'>\n <div className='w-50 me-2'>\n <FormField\n as='select'\n label={getPhrase('ccLabel')}\n name='closedCaptions'\n value={formikProps.values.closedCaptions}\n >\n <option value=''>{LanguageService.getPhrase(namespace, 'ccNo')}</option>\n <option value='yes'>{LanguageService.getPhrase(namespace, 'ccYes')}</option>\n </FormField>\n </div>\n <div className='w-50'></div>\n </div>\n )}\n \n <FormField\n label={getPhrase(props.channels ? 'commentsLabel' : 'additionalInfoLabel')}\n placeholder={getPhrase(props.channels ? 'commentsPlaceholder' : 'additionalInfoPlaceholder')}\n type='text'\n name='comments'\n value={formikProps.values.comments}\n />\n\n <p><Text namespace={namespace} phrase='note' options={{ tv: regionInfo.tv }} /></p>\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('cancel')}\n onClick={props.onClickCancel}\n variant='link'\n />\n <FormButtons<RequestProgramRequest> variant='dark' submitText={getPhrase('request')}/>\n </PopupButtons>\n </Form>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, TvDescriptor, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useVerifiedEmailRequiredErrorHandler } from 'libs/shared/hooks/useVerifiedEmailRequiredErrorHandler';\nimport { CurrentUser, Customer, PopupViewProps } from 'libs/shared/interfaces';\n\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { RequestProgramModel } from 'apps/tv/interfaces/models/RequestProgram';\nimport { PayTvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { ProgramRequestType, RequestProgramRequest, RequestProgramUkRequest } from 'apps/tv/interfaces/requests/RequestProgramRequest';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\nimport { TvUtils } from 'apps/tv/utils/TvUtils';\nimport { RequestProgramValidation } from 'apps/tv/utils/validation/RequestProgramValidation';\nimport { TvRequestProgramForm } from 'apps/tv/views/tv-request-program/components/TvRequestProgramForm';\n\nconst INITIAL_VALUES = {\n channelId: '',\n title: '',\n broadcastDate: '',\n broadcastTime: '',\n closedCaptions: '',\n comments: ''\n};\n\nconst namespace = 'tv.requestProgram';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvRequestProgramProps extends PopupViewProps {\n region: string;\n instanceRegion: InstanceRegion;\n}\n\nexport function TvRequestProgramView(props: TvRequestProgramProps) {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const hasPayTvChannels = props.instanceRegion === InstanceRegion.AU;\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const isUK = props.instanceRegion === InstanceRegion.UK;\n const customer = Flight.useBasicFetch<Customer>(isUK && CustomerRequests.customer(currentUser.data.customerId));\n\n const channels = Flight.useBasicFetch<PayTvChannel[]>(\n hasPayTvChannels && TvRequests.payTvChannels()\n );\n\n const regionInfo = getRegionInfo(props.instanceRegion);\n\n function onClickCancel() {\n props.closePopup();\n }\n\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n function alertAndLogging(requestData: RequestProgramModel) {\n if (hasPayTvChannels) {\n const channel = channels.data?.find(channel => String(channel.id) === requestData.channelId);\n alerts.success(\n getPhrase(\n 'successChannel',\n {\n tv: regionInfo.tv,\n program: requestData.title,\n channel: channel?.name\n }\n )\n );\n AnalyticsHelper.logUserAction(\n { channel: channel.id, name: channel.name, program: requestData.title, region: props.region },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete,\n descriptor: TvDescriptor.RequestProgram\n }\n );\n } else {\n alerts.success(\n getPhrase(\n 'successNoChannel',\n {\n tv: regionInfo.tv,\n program: requestData.title\n }\n )\n );\n AnalyticsHelper.logUserAction(\n { program: requestData.title, region: props.region },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete,\n descriptor: TvDescriptor.RequestProgram\n }\n );\n }\n }\n\n function getRequestData(values: RequestProgramModel): RequestProgramRequest | RequestProgramUkRequest {\n const { broadcastDate, broadcastTime, closedCaptions, ...requestData } = values;\n\n if (isUK) {\n return {\n title: requestData.title,\n comments: requestData.comments,\n crmId: customer.data.crmId,\n customerName: customer.data.name,\n email: currentUser.data.email,\n type: ProgramRequestType.BbcRes,\n username: currentUser.data.username\n };\n }\n\n if (hasPayTvChannels) {\n return {\n ...requestData,\n closedCaptions: Boolean(closedCaptions),\n regionCode: props.region,\n programDateTime: `${broadcastDate}T${broadcastTime}`,\n userId: currentUser.data?.id,\n customerId: currentUser.data?.customerId\n };\n }\n\n return {\n ...requestData,\n regionCode: props.region,\n userId: currentUser.data?.id,\n customerId: currentUser.data?.customerId\n };\n }\n\n async function onClickRequest(\n values: RequestProgramModel,\n onDone: () => void\n ) {\n const requestData = getRequestData(values);\n const request = isUK\n ? TvRequests.requestProgramUk(requestData as RequestProgramUkRequest)\n : TvRequests.requestProgram(requestData as RequestProgramRequest);\n\n try {\n await fetchAsync(request);\n onDone();\n alertAndLogging(values);\n } catch (xhr) {\n handleGenerateReportError(xhr, getPhrase('error'), getPhrase('noEmailError'));\n }\n\n props.closePopup();\n }\n\n const hasLoaded = (currentUser.hasCompleted && ((hasPayTvChannels && channels.hasCompleted) || !hasPayTvChannels));\n\n return (\n <Popup\n title={getPhrase('title', { tv: regionInfo.tv })}\n closePopup={props.closePopup}\n showLoadingSpinner={!hasLoaded || loading}\n >\n {TvUtils.isHolidayPeriod() &&\n <div className='alert alert-warning' role='alert'>\n <h3 className='h5'>\n <Text namespace={namespace} phrase='requestAlertHeading'/>\n </h3>\n <p className='m-0'>\n <Text namespace={namespace} phrase='requestAlertBody' options={{\n tv: regionInfo.tv\n }} />\n </p>\n </div>\n }\n <p>\n <Text\n namespace={namespace}\n phrase='description'\n options={{ tv: regionInfo.tv }}\n />\n </p>\n <p>\n <Text\n namespace={namespace}\n phrase='moreInfo'\n />\n </p>\n {channels &&\n <FormWrapper<RequestProgramModel>\n initialValues={INITIAL_VALUES}\n validationSchema={RequestProgramValidation(hasPayTvChannels)}\n onSubmit={onClickRequest}\n >\n <TvRequestProgramForm\n onClickCancel={onClickCancel}\n channels={hasPayTvChannels && channels.data}\n instanceRegion={props.instanceRegion}\n />\n </FormWrapper>\n }\n </Popup>\n );\n}\n"],"names":["ProgramRequestType","namespace","getPhrase","LanguageService","RequestProgramValidation","hasChannels","object","string","TvRequestProgramForm","props","formikProps","useFormikContext","minDate","DateHelper","maxDate","regionInfo","getRegionInfo","Form","jsxs","FormField","jsx","channel","Text","PopupButtons","FormButtons","INITIAL_VALUES","TvRequestProgramView","fetchAsync","Flight.useGetFetchAsync","alerts","useAlerts","hasPayTvChannels","InstanceRegion","currentUser","Flight.useBasicFetch","UserRequests","isUK","customer","CustomerRequests","channels","TvRequests","onClickCancel","loading","handleGenerateReportError","useVerifiedEmailRequiredErrorHandler","alertAndLogging","requestData","_a","AnalyticsHelper","UserAction","EntityType","LocationContext","WorkflowPhase","TvDescriptor","getRequestData","values","broadcastDate","broadcastTime","closedCaptions","_b","_c","_d","onClickRequest","onDone","request","xhr","hasLoaded","Popup","TvUtils","FormWrapper"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a3 as f,T as o,a as p,b as c,L as E,ao as A}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{a3 as f,T as o,a as p,b as c,L as E,ao as A}from"./app-YVcc0mcr.js";import{L}from"./BwCUdl81.chunk.js";function x(a){var g,h;const{folderId:e,firstItem:r,lastItem:u,getAppLink:m}=a,l=f(e&&L.folderParentTree(e));if(!((h=(g=l.data)==null?void 0:g.children)!=null&&h.length))return[];const s=l.data.children.map(t=>({node:t,path:[t]}));let n=[];for(;s.length;){const{node:t,path:d}=s.pop();t.data.id.toString()===e.toString()&&(n=d.map(i=>({name:i.data.name,appLink:m(i)}))),t.children&&s.push(...t.children.map(i=>({node:i,path:[...d,i]})))}return r&&n.unshift(r),u&&n.push(u),a.setLastActive!==!1&&(n[n.length-1].active=!0),n}const S="exchange.exchangeUtils",k=E.encloseNamespace(S);function y(a){return{application:c.EXCHANGE,action:p.Exchange.PREVIEW,args:[a.id,o.slugify(a.name)]}}function C(a,e){return a!=null&&a.id?{application:c.EXCHANGE,action:p.Exchange.SERIES,args:[a.id,o.slugify(a.name)],params:{sort:e??A.Series}}:null}function I(a,e){return a?{application:c.EXCHANGE,action:p.Exchange.FOLDER,args:[a.id,o.slugify(a.name)],params:{sort:e}}:null}function G(a,e){return x({folderId:a,getAppLink:r=>I(r.data,e),firstItem:{name:k("exchangeArchive"),appLink:{application:c.EXCHANGE,action:p.Exchange.INDEX}}})}export{y as a,C as b,I as g,G as u};
|
|
2
|
+
//# sourceMappingURL=C8wzS3f9.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"C8wzS3f9.chunk.js","sources":["../../../../libs/shared/src/hooks/useBuildBreadcrumbs.ts","../../src/apps/exchange/utils/ExchangeUtils.ts"],"sourcesContent":["import { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { Folder, MasterNestedObject } from 'libs/shared/interfaces';\n\ninterface BuildOptions {\n folderId: string;\n firstItem?: Breadcrumb;\n lastItem?: Breadcrumb;\n getAppLink: (folder: MasterNestedObject<Folder>) => Core.AppLink;\n setLastActive?: boolean;\n}\n\nexport function useBuildBreadcrumbs(options: BuildOptions): Breadcrumb[] {\n const { folderId, firstItem, lastItem, getAppLink } = options;\n\n const parentTree = Flight.useBasicFetch<MasterNestedObject<Folder>>(\n folderId && LibraryRequests.folderParentTree(folderId)\n );\n\n if (!parentTree.data?.children?.length)\n return [];\n\n const searchStack: {\n node: MasterNestedObject<Folder>,\n path: MasterNestedObject<Folder>[]\n }[] = parentTree.data.children.map(c => ({ node: c, path: [c]}));\n\n let breadcrumbs: Breadcrumb[] = [];\n\n while (searchStack.length) {\n const { node, path } = searchStack.pop();\n \n if (node.data.id.toString() === folderId.toString())\n breadcrumbs = path.map(object => ({\n name: object.data.name,\n appLink: getAppLink(object)\n }));\n\n if (node.children)\n searchStack.push(...node.children.map(c => ({ node: c, path: [ ...path, c ]})));\n }\n\n if (firstItem) breadcrumbs.unshift(firstItem);\n if (lastItem) breadcrumbs.push(lastItem);\n\n if (options.setLastActive !== false)\n breadcrumbs[breadcrumbs.length - 1].active = true;\n\n return breadcrumbs;\n}\n ","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { useBuildBreadcrumbs } from 'libs/shared/hooks/useBuildBreadcrumbs';\nimport { Folder, Library, Series, Video } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nconst namespace = 'exchange.exchangeUtils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function getVideoAppLink(video: Video): Core.AppLink {\n return {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.PREVIEW,\n args: [ video.id, TextHelper.slugify(video.name) ]\n };\n}\n\nexport function getSeriesAppLink(series: Series, sort?: string): Core.AppLink {\n if (!series?.id)\n return null;\n\n return {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.SERIES,\n args: [ series.id, TextHelper.slugify(series.name) ],\n params: {\n sort: sort ?? VideoSortType.Series\n }\n };\n}\n\nexport function getFolderAppLink(folder: Folder, sort?: string): Core.AppLink {\n if (!folder)\n return null;\n\n return {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.FOLDER,\n args: [ folder.id, TextHelper.slugify(folder.name) ],\n params: {\n sort\n }\n };\n}\n\nexport function getFolderBgColourClass(folder: Folder | Library): string {\n let charCode = 0;\n\n for (let i = 0; i < (folder.name?.length ?? 0); i++) {\n charCode += folder.name.charCodeAt(i);\n }\n\n return BG_COLOUR_CLASS_NAMES[charCode % BG_COLOUR_CLASS_NAMES.length];\n}\n\nexport function useGetFolderBreadcrumbs(folderId: string, sort: VideoSortType): Breadcrumb[] {\n return useBuildBreadcrumbs({\n folderId,\n getAppLink: object => getFolderAppLink(object.data, sort),\n firstItem: {\n name: getPhrase('exchangeArchive'),\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n }\n }\n });\n}"],"names":["useBuildBreadcrumbs","options","folderId","firstItem","lastItem","getAppLink","parentTree","Flight.useBasicFetch","LibraryRequests","_b","_a","searchStack","c","breadcrumbs","node","path","object","namespace","getPhrase","LanguageService","getVideoAppLink","video","AppChannels","Actions","TextHelper","getSeriesAppLink","series","sort","VideoSortType","getFolderAppLink","folder","useGetFolderBreadcrumbs"],"mappings":"8GAeO,SAASA,EAAoBC,EAAqC,SACvE,KAAM,CAAE,SAAAC,EAAU,UAAAC,EAAW,SAAAC,EAAU,WAAAC,GAAeJ,EAEhDK,EAAaC,EACjBL,GAAYM,EAAgB,iBAAiBN,CAAQ,CAAA,EAGvD,GAAI,GAACO,GAAAC,EAAAJ,EAAW,OAAX,YAAAI,EAAiB,WAAjB,MAAAD,EAA2B,QAC9B,MAAO,CAAA,EAET,MAAME,EAGAL,EAAW,KAAK,SAAS,IAAIM,IAAM,CAAE,KAAMA,EAAG,KAAM,CAACA,CAAC,GAAG,EAE/D,IAAIC,EAA4B,CAAA,EAEhC,KAAOF,EAAY,QAAQ,CACzB,KAAM,CAAE,KAAAG,EAAM,KAAAC,GAASJ,EAAY,IAAA,EAE/BG,EAAK,KAAK,GAAG,SAAA,IAAeZ,EAAS,SAAA,IACvCW,EAAcE,EAAK,IAAIC,IAAW,CAChC,KAAMA,EAAO,KAAK,KAClB,QAASX,EAAWW,CAAM,CAAA,EAC1B,GAEAF,EAAK,UACPH,EAAY,KAAK,GAAGG,EAAK,SAAS,QAAU,CAAE,KAAMF,EAAG,KAAM,CAAE,GAAGG,EAAMH,CAAE,CAAA,EAAG,CAAC,CAClF,CAEA,OAAIT,GAAWU,EAAY,QAAQV,CAAS,EACxCC,GAAUS,EAAY,KAAKT,CAAQ,EAEnCH,EAAQ,gBAAkB,KAC5BY,EAAYA,EAAY,OAAS,CAAC,EAAE,OAAS,IAExCA,CACT,CCvCA,MAAMI,EAAY,yBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,EAAgBC,EAA4B,CAC1D,MAAO,CACL,YAAaC,EAAY,SACzB,OAAQC,EAAQ,SAAS,QACzB,KAAM,CAAEF,EAAM,GAAIG,EAAW,QAAQH,EAAM,IAAI,CAAE,CAAA,CAErD,CAEO,SAASI,EAAiBC,EAAgBC,EAA6B,CAC5E,OAAKD,GAAA,MAAAA,EAAQ,GAGN,CACL,YAAaJ,EAAY,SACzB,OAAQC,EAAQ,SAAS,OACzB,KAAM,CAAEG,EAAO,GAAIF,EAAW,QAAQE,EAAO,IAAI,CAAE,EACnD,OAAQ,CACN,KAAMC,GAAQC,EAAc,MAAA,CAC9B,EARO,IAUX,CAEO,SAASC,EAAiBC,EAAgBH,EAA6B,CAC5E,OAAKG,EAGE,CACL,YAAaR,EAAY,SACzB,OAAQC,EAAQ,SAAS,OACzB,KAAM,CAAEO,EAAO,GAAIN,EAAW,QAAQM,EAAO,IAAI,CAAE,EACnD,OAAQ,CACN,KAAAH,CAAA,CACF,EARO,IAUX,CAYO,SAASI,EAAwB7B,EAAkByB,EAAmC,CAC3F,OAAO3B,EAAoB,CACzB,SAAAE,EACA,WAAYc,GAAUa,EAAiBb,EAAO,KAAMW,CAAI,EACxD,UAAW,CACT,KAAMT,EAAU,iBAAiB,EACjC,QAAS,CACP,YAAaI,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,CAC3B,CACF,CACD,CACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as u,d as w,b0 as $,b1 as E,j as n,f as M,F as _,b2 as k,N as D,G as H,V as y,at as P,ax as N,a0 as h}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{r as u,d as w,b0 as $,b1 as E,j as n,f as M,F as _,b2 as k,N as D,G as H,V as y,at as P,ax as N,a0 as h}from"./app-YVcc0mcr.js";import{u as X}from"./BtXeOaIU.chunk.js";import{a as T}from"./CI-iVFxS.chunk.js";import{C as V}from"./BtCxZZ5N.chunk.js";import{M as l}from"./_sYSSSUN.chunk.js";const j=u.forwardRef(({bsPrefix:e,className:s,as:a="div",...i},o)=>{const m=w(e,"row"),c=$(),g=E(),x=`${m}-cols`,C=[];return c.forEach(t=>{const f=i[t];delete i[t];let r;f!=null&&typeof f=="object"?{cols:r}=f:r=f;const d=t!==g?`-${t}`:"";r!=null&&C.push(`${x}${d}-${r}`)}),n.jsx(a,{ref:o,...i,className:M(s,m,...C)})});j.displayName="Row";const L=400;function z(e){const s=()=>{if(!e.isFetching){if(e.scrollContainer){const{scrollContainer:a}=e,i=a.getBoundingClientRect().height+a.scrollTop,o=a.scrollHeight-L;if(i<o)return}else{const a=window.innerHeight+document.documentElement.scrollTop,i=document.documentElement.scrollHeight-L;if(a<i)return}e.fetchNextPage()}};u.useEffect(()=>{const a=_.throttle(s,200),i=e.scrollContainer||window;return e.hasMore&&i.addEventListener("scroll",a),()=>i.removeEventListener("scroll",a)},[e.hasMore,e.fetchNextPage,e.scrollContainer])}function ee(e,s,a,i,o,m){const[c,g]=u.useState(0),x=s;function C(r){if(!e)return null;const d=e(r);return d?d.key:null}const t=X(C,i,o);function f(){if(!(!s||!e||!t))return g(r=>r+1),x(t.nextCursor)}return z({fetchNextPage:f,hasMore:!!(t!=null&&t.nextCursor),isFetching:t==null?void 0:t.isFetching,scrollContainer:m}),u.useEffect(()=>{t&&t.shouldInitialFetch&&s&&(x(),g(r=>r+1))},[t==null?void 0:t.shouldInitialFetch,s]),u.useEffect(()=>{var d,v;if(!(t!=null&&t.statusCode)||!_.isFunction(a))return;const r=+((v=(d=t.statusCode)==null?void 0:d.toString())==null?void 0:v.substr(0,1));r!==k.ClientError&&r!==k.ServerError||a(c,t.statusCode)},[t==null?void 0:t.statusCode]),{items:t==null?void 0:t.items,hasMore:!!(t!=null&&t.nextCursor),nextCursor:t==null?void 0:t.nextCursor,isFetching:t==null?void 0:t.isFetching,totalItems:t==null?void 0:t.totalItems,hasFirstPageCompleted:t==null?void 0:t.hasFirstPageCompleted}}const B="_container_1kfhe_1",I="_spinner_1kfhe_4",F={container:B,spinner:I};G.defaultProps={fetchOnScroll:!1};function G(e){const[s,a]=T();return u.useEffect(()=>{var i;e.fetchOnScroll&&(!a||e.isFetching||(i=e.fetchNext)==null||i.call(e,e.nextCursor))},[a,e.isFetching]),n.jsx("div",{className:`p-3 text-center ${F.container}`,children:e.isFetching?n.jsx(D,{as:"span",animation:"border",role:"status",className:F.spinner}):n.jsx("div",{ref:s,children:n.jsx(H,{svg:V,className:"svg-container cursor-pointer",size:y.Large,onClick:()=>{var i;return(i=e.fetchNext)==null?void 0:i.call(e,e.nextCursor)}})})})}const S={getThumbnailColumns(){return{xs:12,sm:5,lg:3}},getDetailsColumns(){return{xs:12,sm:7,lg:9}},getSize(e,s){return e.sm?"sm":s||"md"},getThumbnailColSize(e){return e?10:12}},R="_partialName_157xw_4",A="_partialDescription_157xw_8",O="_partialThumbnail_157xw_12",Q="_partialDragHandle_157xw_15",b={partialName:R,partialDescription:A,partialThumbnail:O,partialDragHandle:Q};K.defaultProps={numVideos:15};function K(e){return n.jsx(n.Fragment,{children:Array(e.numVideos).fill(null).map((s,a)=>n.jsxs("div",{className:"d-flex",children:[e.allowBulkActions&&n.jsx("div",{className:"form-check pe-3 pe-sm-2 mx-0 mx-md-2"}),n.jsx(J,{...e})]},a))})}function J(e){const s=P(),i=S.getSize(s,"md")==="sm",o=e.withReordering&&!s.xs;return n.jsxs(j,{className:`${i?"":"py-2"} flex-grow-1`,children:[n.jsx(N,{...S.getThumbnailColumns(),className:`flex-column align-items-flex-start ${i?"pb-2 pe-1":"mb-1 pe-3 pe-md-2"}`,children:n.jsxs(j,{children:[!!o&&n.jsx("div",{className:"d-flex align-items-center justify-content-center col-2",children:n.jsx("div",{className:`partial-loading-background ${b.partialDragHandle}`})}),n.jsx(N,{xs:S.getThumbnailColSize(o),children:n.jsx("div",{className:`partial-loading-background ${i?"rounded":"rounded-3"} ${b.partialThumbnail}`})})]})}),n.jsxs(N,{...S.getDetailsColumns(),className:i?"pb-2":"px-2",children:[n.jsx("div",{className:`partial-loading-background mb-1 ${b.partialName}`}),n.jsx("div",{className:`partial-loading-background ${b.partialDescription}`})]})]})}U.defaultProps={checked:!1,label:"",className:""};function U(e){const{isLabelEllipsis:s}=e,a=u.useRef(null);return u.useEffect(()=>{if(a.current){if(e.checked){a.current.indeterminate&&(a.current.indeterminate=!1);return}if(e.indeterminate&&!a.current.indeterminate){a.current.indeterminate=!0;return}!e.indeterminate&&a.current.indeterminate&&(a.current.indeterminate=!1)}},[a.current,e.indeterminate,e.checked]),n.jsxs("div",{className:`form-check pe-2 ${e.className}`,children:[n.jsx("input",{ref:a,type:"checkbox",className:`${e.inputClassName} form-check-input`,id:e.id,name:e.name,checked:e.checked,onChange:e.onChange,disabled:e.disabled,"aria-checked":e.checked,"aria-label":e.ariaLabel}),e.label&&n.jsx("label",{className:"form-check-label cursor-pointer align-top",htmlFor:e.id,children:n.jsx("span",{className:`${s?"clamp-1":""}`,children:e.label})})]})}function te(e){return n.jsx("svg",{...e,children:n.jsx("path",{fill:"currentColor",d:"M16.863 20c-.662 0-1.21-.567-1.21-1.252s.548-1.252 1.21-1.252c.663 0 1.21.567 1.21 1.252S17.527 20 16.864 20m0-1.441a.183.183 0 0 0-.182.189c0 .118.068.189.182.189.115 0 .183-.071.183-.19a.183.183 0 0 0-.183-.188m0-.118a.516.516 0 0 1-.502-.52v-6.19L11.75 9.158a.53.53 0 0 1-.205-.71c.137-.26.456-.354.685-.212l4.886 2.717a.57.57 0 0 1 .274.473v6.496a.52.52 0 0 1-.526.52m-4.908-4.205a.8.8 0 0 1-.229-.048L2.296 9.51A.55.55 0 0 1 2 9.014c0-.212.114-.401.297-.472l9.52-4.489a.47.47 0 0 1 .434 0l9.452 4.489a.55.55 0 0 1 .297.472.49.49 0 0 1-.297.473l-9.52 4.701a.8.8 0 0 1-.228.048m-8.22-5.198 8.22 4.087 8.288-4.087-8.22-3.898zm8.151 8.41c-4.749 0-6.644-2.905-6.712-3.047a.7.7 0 0 1-.092-.284V10.81c0-.283.229-.52.503-.52s.502.237.502.52v3.142c.388.496 2.077 2.434 5.776 2.434 3.653 0 5.548-1.938 6.005-2.457v-2.93c0-.284.228-.52.502-.52s.502.236.502.52v3.118a.6.6 0 0 1-.091.307c-.046.142-2.192 3.024-6.895 3.024"})})}function ae(){const e=h(l.XS),s=h(l.SM),a=h(l.MD),i=h(l.LG),o=h(l.XL),m=h(l.XXL);let c=l.LG;return e&&(c=l.XS),s&&(c=l.SM),a&&(c=l.MD),i&&(c=l.LG),o&&(c=l.XL),m&&(c=l.XXL),c}export{U as C,te as G,G as I,K as P,j as R,S as V,ae as a,ee as u};
|
|
2
|
+
//# sourceMappingURL=CBjqJQeP.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D-4Cgpy-.chunk.js","sources":["../../../../../node_modules/react-bootstrap/esm/Row.js","../../../../libs/shared/src/hooks/UseInfiniteScroll.ts","../../../../libs/shared/src/hooks/UseInfiniteList.ts","../../../../libs/shared/src/components/infinite-scroll-footer/InfiniteScrollFooter.tsx","../../../../libs/shared/src/components/video-list/VideoListHelper.tsx","../../../../libs/shared/src/components/video-list/partial-loading/PartialVideoList.tsx","../../../../libs/shared/src/components/forms/form-checkbox/Checkbox.tsx","../../../../libs/shared/src/images/svg/objects/GraduationCapSvg.tsx","../../../../libs/shared/src/hooks/UseGetMediaQueryString.ts"],"sourcesContent":["\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Row = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const sizePrefix = `${decoratedBsPrefix}-cols`;\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let cols;\n if (propValue != null && typeof propValue === 'object') {\n ({\n cols\n } = propValue);\n } else {\n cols = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n });\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, ...classes)\n });\n});\nRow.displayName = 'Row';\nexport default Row;","import { useEffect } from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nconst SCROLL_TOLERANCE = 400; // value in px\n\ninterface UseInfiniteScrollOptions {\n fetchNextPage: () => void;\n hasMore: boolean;\n isFetching: boolean;\n scrollContainer?: HTMLElement;\n}\n\nexport function useInfiniteScroll(options: UseInfiniteScrollOptions): void {\n const handleScroll = (): void => {\n if (options.isFetching)\n return;\n\n if (!options.scrollContainer) {\n const currentScrollHeight = window.innerHeight + document.documentElement.scrollTop;\n \n const totalHeight = document.documentElement.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n } else {\n const { scrollContainer } = options;\n const currentScrollHeight = scrollContainer.getBoundingClientRect().height + scrollContainer.scrollTop;\n \n const totalHeight = scrollContainer.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n }\n\n options.fetchNextPage();\n };\n\n useEffect(() => {\n const onScroll = FunctionHelper.throttle(handleScroll, 200);\n\n const scrollContainer = options.scrollContainer || window;\n\n if (options.hasMore)\n scrollContainer.addEventListener('scroll', onScroll);\n\n return () => scrollContainer.removeEventListener('scroll', onScroll);\n }, [ options.hasMore, options.fetchNextPage, options.scrollContainer ]);\n}","import { useEffect, useState } from 'react';\n\nimport { HttpStatus, HttpStatusClass } from 'libs/common/backbone/enums/HttpStatus';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { BaseObject, BasePaginatedCollection } from 'libs/shared/interfaces';\n\nimport { useInfiniteScroll } from './UseInfiniteScroll';\nimport { useSelectAllPages } from './UseSelectAllPages';\n\nexport interface UseInfiniteListResult<T extends BaseObject> {\n items: T[];\n hasMore: boolean;\n isFetching: boolean;\n nextCursor: string;\n totalItems?: number;\n hasFirstPageCompleted: boolean;\n}\n\n/**\n * Hook to extract an infinite list from the application state,\n * save it locally in state and only update when new data\n * is fetched.\n * \n * @param getRequest - callback function to get the request for each page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n * \n * @param fetchNext - callback function to fetch a page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useInfiniteList<TObject = BaseObject, TResponse = BasePaginatedCollection<TObject>>(\n getRequest: ((cursor?: string) => Flight.Request) | false,\n fetchNext: ((cursor?: string) => void) | false,\n onError?: (pageNumber: number, statusCode: HttpStatus) => void,\n getItems?: (responseData: TResponse) => TObject[],\n getCursor?: (responseData: TResponse) => string,\n scrollContainer?: HTMLElement\n): UseInfiniteListResult<TObject> {\n const [ pagesFetched, setPagesFetched ] = useState(0);\n\n const fetchNextFn = fetchNext as (cursor?: string) => void;\n\n function getKey(cursor?: string): string {\n if (!getRequest)\n return null;\n\n const request = getRequest(cursor);\n\n if (!request)\n return null;\n\n return request.key;\n }\n\n const response = useSelectAllPages<TObject, TResponse>(\n getKey,\n getItems,\n getCursor\n );\n\n function fetchNextPage(): void {\n if (!fetchNext || !getRequest || !response)\n return;\n\n setPagesFetched(currentVal => currentVal + 1);\n return fetchNextFn(response.nextCursor);\n }\n\n useInfiniteScroll({\n fetchNextPage,\n hasMore: !!response?.nextCursor,\n isFetching: response?.isFetching,\n scrollContainer\n });\n\n useEffect(() => {\n if (!response)\n return;\n\n if (response.shouldInitialFetch && fetchNext) {\n fetchNextFn();\n setPagesFetched(currentVal => currentVal + 1);\n }\n }, [ response?.shouldInitialFetch, fetchNext ]);\n\n useEffect(() => {\n if (!response?.statusCode || !FunctionHelper.isFunction(onError))\n return;\n\n const httpStatusClass: HttpStatusClass = +(response.statusCode?.toString()?.substr(0, 1));\n\n if (httpStatusClass !== HttpStatusClass.ClientError && httpStatusClass !== HttpStatusClass.ServerError)\n return;\n\n onError(pagesFetched, response.statusCode);\n }, [response?.statusCode]);\n\n return {\n items: response?.items,\n hasMore: !!response?.nextCursor,\n nextCursor: response?.nextCursor,\n isFetching: response?.isFetching,\n totalItems: response?.totalItems,\n hasFirstPageCompleted: response?.hasFirstPageCompleted\n };\n}","import * as React from 'react';\nimport { Spinner } from 'react-bootstrap';\nimport { useInView } from 'react-intersection-observer';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { ChevronDownSvg } from 'libs/shared/images/svg/arrows/ChevronDownSvg';\n\nimport styles from './infinite-scroll-footer.module.scss';\n\ninterface InfiniteScrollFooterProps {\n isFetching: boolean;\n fetchNext?: (nextCursor: string) => void;\n nextCursor?: string;\n fetchOnScroll?: boolean;\n}\n\nInfiniteScrollFooter.defaultProps = {\n fetchOnScroll: false\n};\n\nexport function InfiniteScrollFooter(props: InfiniteScrollFooterProps): React.ReactElement {\n const [ ref, inView ] = useInView();\n\n React.useEffect(() => {\n if (!props.fetchOnScroll)\n return;\n\n if (!inView || props.isFetching)\n return;\n\n props.fetchNext?.(props.nextCursor);\n }, [ inView, props.isFetching ]);\n\n return (\n <div className={`p-3 text-center ${styles.container}`}>\n {props.isFetching\n ? <Spinner as='span' animation='border' role='status' className={styles.spinner} />\n : (\n <div ref={ref}>\n <SvgContainer\n svg={ChevronDownSvg}\n className='svg-container cursor-pointer'\n size={SvgContainerSize.Large}\n onClick={() => props.fetchNext?.(props.nextCursor)}\n />\n </div>\n )\n }\n </div>\n );\n}","import { ColProps } from 'react-bootstrap';\n\nimport { VideoItemSize } from 'libs/shared/components/video-list/BaseVideoItemProps';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nexport const VideoListHelper = {\n getThumbnailColumns(): ColProps {\n return {\n xs: 12,\n sm: 5,\n lg: 3\n };\n },\n\n getDetailsColumns(): ColProps {\n return {\n xs: 12,\n sm: 7,\n lg: 9\n };\n },\n\n getSize(breakpoints: Breakpoints, size: VideoItemSize): VideoItemSize {\n if (breakpoints.sm)\n return 'sm';\n \n return size || 'md';\n },\n\n getThumbnailColSize(hasDragHandle: boolean): number {\n return hasDragHandle ? 10 : 12;\n }\n};","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { VideoListHelper } from 'libs/shared/components/video-list/VideoListHelper';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nimport styles from './partial-video-list.module.scss';\n\ninterface PartialVideoListProps {\n withReordering?: boolean;\n numVideos?: number;\n allowBulkActions?: boolean;\n}\n\nPartialVideoList.defaultProps = {\n numVideos: 15\n};\n\nexport function PartialVideoList(props: PartialVideoListProps): JSX.Element {\n return (\n <>\n {Array(props.numVideos).fill(null).map((_, i) => (\n <div className='d-flex' key={i}>\n {props.allowBulkActions && <div className='form-check pe-3 pe-sm-2 mx-0 mx-md-2' />}\n <PartialVideoItem {...props} />\n </div>\n ))}\n </>\n );\n}\n\nexport function PartialVideoItem(props: PartialVideoListProps): JSX.Element {\n const breakpoints = useBreakpoints();\n\n const size = VideoListHelper.getSize(breakpoints, 'md');\n const isSmall = size === 'sm';\n\n const withDragHandle = props.withReordering && !breakpoints.xs;\n\n return (\n <Row className={`${isSmall ? '' : 'py-2'} flex-grow-1`}>\n <Col {...VideoListHelper.getThumbnailColumns()} className={`flex-column align-items-flex-start ${isSmall ? `pb-2 pe-1` : 'mb-1 pe-3 pe-md-2'}`}>\n <Row>\n {!!withDragHandle && (\n <div className='d-flex align-items-center justify-content-center col-2'>\n <div className={`partial-loading-background ${styles.partialDragHandle}`} />\n </div>\n )}\n <Col xs={VideoListHelper.getThumbnailColSize(withDragHandle)}>\n <div className={`partial-loading-background ${isSmall ? 'rounded' : 'rounded-3'} ${styles.partialThumbnail}`} />\n </Col>\n </Row>\n </Col>\n <Col {...VideoListHelper.getDetailsColumns()} className={isSmall ? 'pb-2' : 'px-2'}>\n <div className={`partial-loading-background mb-1 ${styles.partialName}`} />\n <div className={`partial-loading-background ${styles.partialDescription}`} />\n </Col>\n </Row>\n );\n}\n\n","import * as React from 'react';\n\ninterface CheckboxProps {\n id: string;\n checked: boolean;\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n label?: string;\n ariaLabel?: string;\n name?: string;\n className?: string;\n inputClassName?: string;\n disabled?: boolean;\n indeterminate?: boolean;\n isLabelEllipsis?: boolean;\n}\n\nCheckbox.defaultProps = {\n checked: false,\n label: '',\n className: ''\n};\n\n/**\n * Use this checkbox outside of Formik contexts\n */\nexport function Checkbox(props: CheckboxProps): JSX.Element {\n const { isLabelEllipsis } = props;\n const ref = React.useRef<HTMLInputElement>(null);\n\n React.useEffect(() => {\n if (!ref.current)\n return;\n\n if (props.checked) {\n if (ref.current.indeterminate)\n ref.current.indeterminate = false;\n\n return;\n }\n\n if (props.indeterminate && !ref.current.indeterminate) {\n ref.current.indeterminate = true;\n return;\n }\n\n if (!props.indeterminate && ref.current.indeterminate)\n ref.current.indeterminate = false;\n }, [ ref.current, props.indeterminate, props.checked ]);\n\n return (\n <div className={`form-check pe-2 ${props.className}`}>\n <input\n ref={ref}\n type='checkbox'\n className={`${props.inputClassName} form-check-input`}\n id={props.id}\n name={props.name}\n checked={props.checked}\n onChange={props.onChange}\n disabled={props.disabled}\n aria-checked={props.checked}\n aria-label={props.ariaLabel}\n />\n {props.label && (\n <label className='form-check-label cursor-pointer align-top' htmlFor={props.id}>\n <span className={`${isLabelEllipsis ? 'clamp-1' : ''}`}>{props.label}</span>\n </label>\n )}\n </div>\n );\n}\n","import React from 'react';\n\nexport function GraduationCapSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M16.863 20c-.662 0-1.21-.567-1.21-1.252s.548-1.252 1.21-1.252c.663 0 1.21.567 1.21 1.252S17.527 20 16.864 20m0-1.441a.183.183 0 0 0-.182.189c0 .118.068.189.182.189.115 0 .183-.071.183-.19a.183.183 0 0 0-.183-.188m0-.118a.516.516 0 0 1-.502-.52v-6.19L11.75 9.158a.53.53 0 0 1-.205-.71c.137-.26.456-.354.685-.212l4.886 2.717a.57.57 0 0 1 .274.473v6.496a.52.52 0 0 1-.526.52m-4.908-4.205a.8.8 0 0 1-.229-.048L2.296 9.51A.55.55 0 0 1 2 9.014c0-.212.114-.401.297-.472l9.52-4.489a.47.47 0 0 1 .434 0l9.452 4.489a.55.55 0 0 1 .297.472.49.49 0 0 1-.297.473l-9.52 4.701a.8.8 0 0 1-.228.048m-8.22-5.198 8.22 4.087 8.288-4.087-8.22-3.898zm8.151 8.41c-4.749 0-6.644-2.905-6.712-3.047a.7.7 0 0 1-.092-.284V10.81c0-.283.229-.52.503-.52s.502.237.502.52v3.142c.388.496 2.077 2.434 5.776 2.434 3.653 0 5.548-1.938 6.005-2.457v-2.93c0-.284.228-.52.502-.52s.502.236.502.52v3.118a.6.6 0 0 1-.091.307c-.046.142-2.192 3.024-6.895 3.024'\n />\n </svg>\n );\n}\n","import { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\n\nimport { useMediaQuery } from './UseMediaQuery';\n\n/**\n * @deprecated Please use useBreakpoints() instead\n */\nexport function useGetMediaQueryString(): MediaQueryStrings {\n const isXS = useMediaQuery(MediaQueryStrings.XS);\n const isSM = useMediaQuery(MediaQueryStrings.SM);\n const isMD = useMediaQuery(MediaQueryStrings.MD);\n const isLG = useMediaQuery(MediaQueryStrings.LG);\n const isXL = useMediaQuery(MediaQueryStrings.XL);\n const isXXL = useMediaQuery(MediaQueryStrings.XXL);\n\n let currentString = MediaQueryStrings.LG; // default\n if (isXS) currentString = MediaQueryStrings.XS;\n if (isSM) currentString = MediaQueryStrings.SM;\n if (isMD) currentString = MediaQueryStrings.MD;\n if (isLG) currentString = MediaQueryStrings.LG;\n if (isXL) currentString = MediaQueryStrings.XL;\n if (isXXL) currentString = MediaQueryStrings.XXL;\n\n return currentString;\n}"],"names":["Row","React.forwardRef","bsPrefix","className","Component","props","ref","decoratedBsPrefix","useBootstrapPrefix","breakpoints","useBootstrapBreakpoints","minBreakpoint","useBootstrapMinBreakpoint","sizePrefix","classes","brkPoint","propValue","cols","infix","_jsx","classNames","SCROLL_TOLERANCE","useInfiniteScroll","options","handleScroll","scrollContainer","currentScrollHeight","totalHeight","useEffect","onScroll","FunctionHelper","useInfiniteList","getRequest","fetchNext","onError","getItems","getCursor","pagesFetched","setPagesFetched","useState","fetchNextFn","getKey","cursor","request","response","useSelectAllPages","fetchNextPage","currentVal","httpStatusClass","_b","_a","HttpStatusClass","InfiniteScrollFooter","inView","useInView","React.useEffect","jsx","styles","Spinner","SvgContainer","ChevronDownSvg","SvgContainerSize","VideoListHelper","size","hasDragHandle","PartialVideoList","Fragment","_","i","jsxs","PartialVideoItem","useBreakpoints","isSmall","withDragHandle","Col","Checkbox","isLabelEllipsis","React.useRef","GraduationCapSvg","useGetMediaQueryString","isXS","useMediaQuery","MediaQueryStrings","isSM","isMD","isLG","isXL","isXXL","currentString"],"mappings":"uSAMK,MAACA,EAAmBC,EAAAA,WAAiB,CAAC,CACzC,SAAAC,EACA,UAAAC,EAEA,GAAIC,EAAY,MAChB,GAAGC,CACL,EAAGC,IAAQ,CACT,MAAMC,EAAoBC,EAAmBN,EAAU,KAAK,EACtDO,EAAcC,EAAuB,EACrCC,EAAgBC,EAAyB,EACzCC,EAAa,GAAGN,CAAiB,QACjCO,EAAU,CAAA,EAChB,OAAAL,EAAY,QAAQM,GAAY,CAC9B,MAAMC,EAAYX,EAAMU,CAAQ,EAChC,OAAOV,EAAMU,CAAQ,EACrB,IAAIE,EACAD,GAAa,MAAQ,OAAOA,GAAc,SAC3C,CACC,KAAAC,CACR,EAAUD,EAEJC,EAAOD,EAET,MAAME,EAAQH,IAAaJ,EAAgB,IAAII,CAAQ,GAAK,GACxDE,GAAQ,MAAMH,EAAQ,KAAK,GAAGD,CAAU,GAAGK,CAAK,IAAID,CAAI,EAAE,CAChE,CAAC,EACmBE,EAAAA,IAAKf,EAAW,CAClC,IAAKE,EACL,GAAGD,EACH,UAAWe,EAAWjB,EAAWI,EAAmB,GAAGO,CAAO,CAClE,CAAG,CACH,CAAC,EACDd,EAAI,YAAc,MClClB,MAAMqB,EAAmB,IASlB,SAASC,EAAkBC,EAAyC,CACzE,MAAMC,EAAe,IAAY,CAC/B,GAAI,CAAAD,EAAQ,WAGZ,IAAKA,EAAQ,gBAON,CACL,KAAM,CAAE,gBAAAE,GAAoBF,EACtBG,EAAsBD,EAAgB,sBAAA,EAAwB,OAASA,EAAgB,UAEvFE,EAAcF,EAAgB,aAAeJ,EAEnD,GAAIK,EAAsBC,EACxB,MACJ,KAf8B,CAC5B,MAAMD,EAAsB,OAAO,YAAc,SAAS,gBAAgB,UAEpEC,EAAc,SAAS,gBAAgB,aAAeN,EAE5D,GAAIK,EAAsBC,EACxB,MACJ,CAUAJ,EAAQ,cAAA,EACV,EAEAK,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAWC,EAAe,SAASN,EAAc,GAAG,EAEpDC,EAAkBF,EAAQ,iBAAmB,OAEnD,OAAIA,EAAQ,SACVE,EAAgB,iBAAiB,SAAUI,CAAQ,EAE9C,IAAMJ,EAAgB,oBAAoB,SAAUI,CAAQ,CACrE,EAAG,CAAEN,EAAQ,QAASA,EAAQ,cAAeA,EAAQ,eAAgB,CAAC,CACxE,CCjBO,SAASQ,GACdC,EACAC,EACAC,EACAC,EACAC,EACAX,EACgC,CAChC,KAAM,CAAEY,EAAcC,CAAgB,EAAIC,EAAAA,SAAS,CAAC,EAE9CC,EAAcP,EAEpB,SAASQ,EAAOC,EAAyB,CACvC,GAAI,CAACV,EACH,OAAO,KAET,MAAMW,EAAUX,EAAWU,CAAM,EAEjC,OAAKC,EAGEA,EAAQ,IAFN,IAGX,CAEA,MAAMC,EAAWC,EACfJ,EACAN,EACAC,CAAA,EAGF,SAASU,GAAsB,CAC7B,GAAI,GAACb,GAAa,CAACD,GAAc,CAACY,GAGlC,OAAAN,EAAgBS,GAAcA,EAAa,CAAC,EACrCP,EAAYI,EAAS,UAAU,CACxC,CAEA,OAAAtB,EAAkB,CAChB,cAAAwB,EACA,QAAS,CAAC,EAACF,GAAA,MAAAA,EAAU,YACrB,WAAYA,GAAA,YAAAA,EAAU,WACtB,gBAAAnB,CAAA,CACD,EAEDG,EAAAA,UAAU,IAAM,CACTgB,GAGDA,EAAS,oBAAsBX,IACjCO,EAAA,EACAF,EAAgBS,GAAcA,EAAa,CAAC,EAEhD,EAAG,CAAEH,GAAA,YAAAA,EAAU,mBAAoBX,CAAU,CAAC,EAE9CL,EAAAA,UAAU,IAAM,SACd,GAAI,EAACgB,GAAA,MAAAA,EAAU,aAAc,CAACd,EAAe,WAAWI,CAAO,EAC7D,OAEF,MAAMc,EAAmC,GAAEC,GAAAC,EAAAN,EAAS,aAAT,YAAAM,EAAqB,aAArB,YAAAD,EAAiC,OAAO,EAAG,IAElFD,IAAoBG,EAAgB,aAAeH,IAAoBG,EAAgB,aAG3FjB,EAAQG,EAAcO,EAAS,UAAU,CAC3C,EAAG,CAACA,GAAA,YAAAA,EAAU,UAAU,CAAC,EAElB,CACL,MAAOA,GAAA,YAAAA,EAAU,MACjB,QAAS,CAAC,EAACA,GAAA,MAAAA,EAAU,YACrB,WAAYA,GAAA,YAAAA,EAAU,WACtB,WAAYA,GAAA,YAAAA,EAAU,WACtB,WAAYA,GAAA,YAAAA,EAAU,WACtB,sBAAuBA,GAAA,YAAAA,EAAU,qBAAA,CAErC,6EC1FAQ,EAAqB,aAAe,CAClC,cAAe,EACjB,EAEO,SAASA,EAAqB/C,EAAsD,CACzF,KAAM,CAAEC,EAAK+C,CAAO,EAAIC,EAAA,EAExBC,OAAAA,EAAAA,UAAgB,IAAM,OACflD,EAAM,gBAGP,CAACgD,GAAUhD,EAAM,aAGrB6C,EAAA7C,EAAM,YAAN,MAAA6C,EAAA,KAAA7C,EAAkBA,EAAM,YAC1B,EAAG,CAAEgD,EAAQhD,EAAM,UAAW,CAAC,EAG7BmD,EAAAA,IAAC,OAAI,UAAW,mBAAmBC,EAAO,SAAS,GAChD,SAAApD,EAAM,WACHmD,EAAAA,IAACE,EAAA,CAAQ,GAAG,OAAO,UAAU,SAAS,KAAK,SAAS,UAAWD,EAAO,OAAA,CAAS,EAE/ED,EAAAA,IAAC,MAAA,CAAI,IAAAlD,EACH,SAAAkD,EAAAA,IAACG,EAAA,CACC,IAAKC,EACL,UAAU,+BACV,KAAMC,EAAiB,MACvB,QAAS,IAAA,OAAM,OAAAX,EAAA7C,EAAM,YAAN,YAAA6C,EAAA,KAAA7C,EAAkBA,EAAM,YAAU,CAAA,EAErD,CAAA,CAGN,CAEJ,CC7CO,MAAMyD,EAAkB,CAC7B,qBAAgC,CAC9B,MAAO,CACL,GAAI,GACJ,GAAI,EACJ,GAAI,CAAA,CAER,EAEA,mBAA8B,CAC5B,MAAO,CACL,GAAI,GACJ,GAAI,EACJ,GAAI,CAAA,CAER,EAEA,QAAQrD,EAA0BsD,EAAoC,CACpE,OAAItD,EAAY,GACP,KAEFsD,GAAQ,IACjB,EAEA,oBAAoBC,EAAgC,CAClD,OAAOA,EAAgB,GAAK,EAC9B,CACF,wMClBAC,EAAiB,aAAe,CAC9B,UAAW,EACb,EAEO,SAASA,EAAiB5D,EAA2C,CAC1E,OACEmD,EAAAA,IAAAU,EAAAA,SAAA,CACG,SAAA,MAAM7D,EAAM,SAAS,EAAE,KAAK,IAAI,EAAE,IAAI,CAAC8D,EAAGC,IACzCC,EAAAA,KAAC,MAAA,CAAI,UAAU,SACZ,SAAA,CAAAhE,EAAM,kBAAoBmD,EAAAA,IAAC,MAAA,CAAI,UAAU,uCAAuC,EACjFA,MAACc,EAAA,CAAkB,GAAGjE,CAAA,CAAO,CAAA,GAFF+D,CAG7B,CACD,EACH,CAEJ,CAEO,SAASE,EAAiBjE,EAA2C,CAC1E,MAAMI,EAAc8D,EAAA,EAGdC,EADOV,EAAgB,QAAQrD,EAAa,IAAI,IAC7B,KAEnBgE,EAAiBpE,EAAM,gBAAkB,CAACI,EAAY,GAE5D,cACGT,EAAA,CAAI,UAAW,GAAGwE,EAAU,GAAK,MAAM,eACtC,SAAA,CAAAhB,EAAAA,IAACkB,EAAA,CAAK,GAAGZ,EAAgB,sBAAuB,UAAW,sCAAsCU,EAAU,YAAc,mBAAmB,GAC1I,SAAAH,OAACrE,EAAA,CACE,SAAA,CAAA,CAAC,CAACyE,GACDjB,MAAC,MAAA,CAAI,UAAU,yDACb,SAAAA,EAAAA,IAAC,MAAA,CAAI,UAAW,8BAA8BC,EAAO,iBAAiB,GAAI,EAC5E,QAEDiB,EAAA,CAAI,GAAIZ,EAAgB,oBAAoBW,CAAc,EACzD,SAAAjB,EAAAA,IAAC,MAAA,CAAI,UAAW,8BAA8BgB,EAAU,UAAY,WAAW,IAAIf,EAAO,gBAAgB,GAAI,CAAA,CAChH,CAAA,CAAA,CACF,CAAA,CACF,EACAY,EAAAA,KAACK,GAAK,GAAGZ,EAAgB,oBAAqB,UAAWU,EAAU,OAAS,OAC1E,SAAA,CAAAhB,MAAC,MAAA,CAAI,UAAW,mCAAmCC,EAAO,WAAW,GAAI,QACxE,MAAA,CAAI,UAAW,8BAA8BA,EAAO,kBAAkB,EAAA,CAAI,CAAA,CAAA,CAC7E,CAAA,EACF,CAEJ,CC3CAkB,EAAS,aAAe,CACtB,QAAS,GACT,MAAO,GACP,UAAW,EACb,EAKO,SAASA,EAAStE,EAAmC,CAC1D,KAAM,CAAE,gBAAAuE,GAAoBvE,EACtBC,EAAMuE,EAAAA,OAA+B,IAAI,EAE/CtB,OAAAA,EAAAA,UAAgB,IAAM,CACpB,GAAKjD,EAAI,QAGT,IAAID,EAAM,QAAS,CACbC,EAAI,QAAQ,gBACdA,EAAI,QAAQ,cAAgB,IAE9B,MACF,CAEA,GAAID,EAAM,eAAiB,CAACC,EAAI,QAAQ,cAAe,CACrDA,EAAI,QAAQ,cAAgB,GAC5B,MACF,CAEI,CAACD,EAAM,eAAiBC,EAAI,QAAQ,gBACtCA,EAAI,QAAQ,cAAgB,IAChC,EAAG,CAAEA,EAAI,QAASD,EAAM,cAAeA,EAAM,OAAQ,CAAC,SAGnD,MAAA,CAAI,UAAW,mBAAmBA,EAAM,SAAS,GAChD,SAAA,CAAAmD,EAAAA,IAAC,QAAA,CACC,IAAAlD,EACA,KAAK,WACL,UAAW,GAAGD,EAAM,cAAc,oBAClC,GAAIA,EAAM,GACV,KAAMA,EAAM,KACZ,QAASA,EAAM,QACf,SAAUA,EAAM,SAChB,SAAUA,EAAM,SAChB,eAAcA,EAAM,QACpB,aAAYA,EAAM,SAAA,CAAA,EAEnBA,EAAM,OACLmD,MAAC,SAAM,UAAU,4CAA4C,QAASnD,EAAM,GAC1E,eAAC,OAAA,CAAK,UAAW,GAAGuE,EAAkB,UAAY,EAAE,GAAK,SAAAvE,EAAM,MAAM,CAAA,CACvE,CAAA,EAEJ,CAEJ,CCpEO,SAASyE,GAAiBzE,EAAsC,CACrE,OACEmD,EAAAA,IAAC,MAAA,CAAK,GAAGnD,EACP,SAAAmD,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,EAAE,m5BAAA,CAAA,EAEN,CAEJ,CCJO,SAASuB,IAA4C,CAC1D,MAAMC,EAAOC,EAAcC,EAAkB,EAAE,EACzCC,EAAOF,EAAcC,EAAkB,EAAE,EACzCE,EAAOH,EAAcC,EAAkB,EAAE,EACzCG,EAAOJ,EAAcC,EAAkB,EAAE,EACzCI,EAAOL,EAAcC,EAAkB,EAAE,EACzCK,EAAQN,EAAcC,EAAkB,GAAG,EAEjD,IAAIM,EAAgBN,EAAkB,GACtC,OAAIF,MAAsBE,EAAkB,IACxCC,MAAsBD,EAAkB,IACxCE,MAAsBF,EAAkB,IACxCG,MAAsBH,EAAkB,IACxCI,MAAsBJ,EAAkB,IACxCK,MAAuBL,EAAkB,KAEtCM,CACT","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"CBjqJQeP.chunk.js","sources":["../../../../../node_modules/react-bootstrap/esm/Row.js","../../../../libs/shared/src/hooks/UseInfiniteScroll.ts","../../../../libs/shared/src/hooks/UseInfiniteList.ts","../../../../libs/shared/src/components/infinite-scroll-footer/InfiniteScrollFooter.tsx","../../../../libs/shared/src/components/video-list/VideoListHelper.tsx","../../../../libs/shared/src/components/video-list/partial-loading/PartialVideoList.tsx","../../../../libs/shared/src/components/forms/form-checkbox/Checkbox.tsx","../../../../libs/shared/src/images/svg/objects/GraduationCapSvg.tsx","../../../../libs/shared/src/hooks/UseGetMediaQueryString.ts"],"sourcesContent":["\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Row = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const sizePrefix = `${decoratedBsPrefix}-cols`;\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let cols;\n if (propValue != null && typeof propValue === 'object') {\n ({\n cols\n } = propValue);\n } else {\n cols = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n });\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, ...classes)\n });\n});\nRow.displayName = 'Row';\nexport default Row;","import { useEffect } from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nconst SCROLL_TOLERANCE = 400; // value in px\n\ninterface UseInfiniteScrollOptions {\n fetchNextPage: () => void;\n hasMore: boolean;\n isFetching: boolean;\n scrollContainer?: HTMLElement;\n}\n\nexport function useInfiniteScroll(options: UseInfiniteScrollOptions): void {\n const handleScroll = (): void => {\n if (options.isFetching)\n return;\n\n if (!options.scrollContainer) {\n const currentScrollHeight = window.innerHeight + document.documentElement.scrollTop;\n \n const totalHeight = document.documentElement.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n } else {\n const { scrollContainer } = options;\n const currentScrollHeight = scrollContainer.getBoundingClientRect().height + scrollContainer.scrollTop;\n \n const totalHeight = scrollContainer.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n }\n\n options.fetchNextPage();\n };\n\n useEffect(() => {\n const onScroll = FunctionHelper.throttle(handleScroll, 200);\n\n const scrollContainer = options.scrollContainer || window;\n\n if (options.hasMore)\n scrollContainer.addEventListener('scroll', onScroll);\n\n return () => scrollContainer.removeEventListener('scroll', onScroll);\n }, [ options.hasMore, options.fetchNextPage, options.scrollContainer ]);\n}","import { useEffect, useState } from 'react';\n\nimport { HttpStatus, HttpStatusClass } from 'libs/common/backbone/enums/HttpStatus';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { BaseObject, BasePaginatedCollection } from 'libs/shared/interfaces';\n\nimport { useInfiniteScroll } from './UseInfiniteScroll';\nimport { useSelectAllPages } from './UseSelectAllPages';\n\nexport interface UseInfiniteListResult<T extends BaseObject> {\n items: T[];\n hasMore: boolean;\n isFetching: boolean;\n nextCursor: string;\n totalItems?: number;\n hasFirstPageCompleted: boolean;\n}\n\n/**\n * Hook to extract an infinite list from the application state,\n * save it locally in state and only update when new data\n * is fetched.\n * \n * @param getRequest - callback function to get the request for each page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n * \n * @param fetchNext - callback function to fetch a page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useInfiniteList<TObject = BaseObject, TResponse = BasePaginatedCollection<TObject>>(\n getRequest: ((cursor?: string) => Flight.Request) | false,\n fetchNext: ((cursor?: string) => void) | false,\n onError?: (pageNumber: number, statusCode: HttpStatus) => void,\n getItems?: (responseData: TResponse) => TObject[],\n getCursor?: (responseData: TResponse) => string,\n scrollContainer?: HTMLElement\n): UseInfiniteListResult<TObject> {\n const [ pagesFetched, setPagesFetched ] = useState(0);\n\n const fetchNextFn = fetchNext as (cursor?: string) => void;\n\n function getKey(cursor?: string): string {\n if (!getRequest)\n return null;\n\n const request = getRequest(cursor);\n\n if (!request)\n return null;\n\n return request.key;\n }\n\n const response = useSelectAllPages<TObject, TResponse>(\n getKey,\n getItems,\n getCursor\n );\n\n function fetchNextPage(): void {\n if (!fetchNext || !getRequest || !response)\n return;\n\n setPagesFetched(currentVal => currentVal + 1);\n return fetchNextFn(response.nextCursor);\n }\n\n useInfiniteScroll({\n fetchNextPage,\n hasMore: !!response?.nextCursor,\n isFetching: response?.isFetching,\n scrollContainer\n });\n\n useEffect(() => {\n if (!response)\n return;\n\n if (response.shouldInitialFetch && fetchNext) {\n fetchNextFn();\n setPagesFetched(currentVal => currentVal + 1);\n }\n }, [ response?.shouldInitialFetch, fetchNext ]);\n\n useEffect(() => {\n if (!response?.statusCode || !FunctionHelper.isFunction(onError))\n return;\n\n const httpStatusClass: HttpStatusClass = +(response.statusCode?.toString()?.substr(0, 1));\n\n if (httpStatusClass !== HttpStatusClass.ClientError && httpStatusClass !== HttpStatusClass.ServerError)\n return;\n\n onError(pagesFetched, response.statusCode);\n }, [response?.statusCode]);\n\n return {\n items: response?.items,\n hasMore: !!response?.nextCursor,\n nextCursor: response?.nextCursor,\n isFetching: response?.isFetching,\n totalItems: response?.totalItems,\n hasFirstPageCompleted: response?.hasFirstPageCompleted\n };\n}","import * as React from 'react';\nimport { Spinner } from 'react-bootstrap';\nimport { useInView } from 'react-intersection-observer';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { ChevronDownSvg } from 'libs/shared/images/svg/arrows/ChevronDownSvg';\n\nimport styles from './infinite-scroll-footer.module.scss';\n\ninterface InfiniteScrollFooterProps {\n isFetching: boolean;\n fetchNext?: (nextCursor: string) => void;\n nextCursor?: string;\n fetchOnScroll?: boolean;\n}\n\nInfiniteScrollFooter.defaultProps = {\n fetchOnScroll: false\n};\n\nexport function InfiniteScrollFooter(props: InfiniteScrollFooterProps): React.ReactElement {\n const [ ref, inView ] = useInView();\n\n React.useEffect(() => {\n if (!props.fetchOnScroll)\n return;\n\n if (!inView || props.isFetching)\n return;\n\n props.fetchNext?.(props.nextCursor);\n }, [ inView, props.isFetching ]);\n\n return (\n <div className={`p-3 text-center ${styles.container}`}>\n {props.isFetching\n ? <Spinner as='span' animation='border' role='status' className={styles.spinner} />\n : (\n <div ref={ref}>\n <SvgContainer\n svg={ChevronDownSvg}\n className='svg-container cursor-pointer'\n size={SvgContainerSize.Large}\n onClick={() => props.fetchNext?.(props.nextCursor)}\n />\n </div>\n )\n }\n </div>\n );\n}","import { ColProps } from 'react-bootstrap';\n\nimport { VideoItemSize } from 'libs/shared/components/video-list/BaseVideoItemProps';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nexport const VideoListHelper = {\n getThumbnailColumns(): ColProps {\n return {\n xs: 12,\n sm: 5,\n lg: 3\n };\n },\n\n getDetailsColumns(): ColProps {\n return {\n xs: 12,\n sm: 7,\n lg: 9\n };\n },\n\n getSize(breakpoints: Breakpoints, size: VideoItemSize): VideoItemSize {\n if (breakpoints.sm)\n return 'sm';\n \n return size || 'md';\n },\n\n getThumbnailColSize(hasDragHandle: boolean): number {\n return hasDragHandle ? 10 : 12;\n }\n};","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { VideoListHelper } from 'libs/shared/components/video-list/VideoListHelper';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nimport styles from './partial-video-list.module.scss';\n\ninterface PartialVideoListProps {\n withReordering?: boolean;\n numVideos?: number;\n allowBulkActions?: boolean;\n}\n\nPartialVideoList.defaultProps = {\n numVideos: 15\n};\n\nexport function PartialVideoList(props: PartialVideoListProps): JSX.Element {\n return (\n <>\n {Array(props.numVideos).fill(null).map((_, i) => (\n <div className='d-flex' key={i}>\n {props.allowBulkActions && <div className='form-check pe-3 pe-sm-2 mx-0 mx-md-2' />}\n <PartialVideoItem {...props} />\n </div>\n ))}\n </>\n );\n}\n\nexport function PartialVideoItem(props: PartialVideoListProps): JSX.Element {\n const breakpoints = useBreakpoints();\n\n const size = VideoListHelper.getSize(breakpoints, 'md');\n const isSmall = size === 'sm';\n\n const withDragHandle = props.withReordering && !breakpoints.xs;\n\n return (\n <Row className={`${isSmall ? '' : 'py-2'} flex-grow-1`}>\n <Col {...VideoListHelper.getThumbnailColumns()} className={`flex-column align-items-flex-start ${isSmall ? `pb-2 pe-1` : 'mb-1 pe-3 pe-md-2'}`}>\n <Row>\n {!!withDragHandle && (\n <div className='d-flex align-items-center justify-content-center col-2'>\n <div className={`partial-loading-background ${styles.partialDragHandle}`} />\n </div>\n )}\n <Col xs={VideoListHelper.getThumbnailColSize(withDragHandle)}>\n <div className={`partial-loading-background ${isSmall ? 'rounded' : 'rounded-3'} ${styles.partialThumbnail}`} />\n </Col>\n </Row>\n </Col>\n <Col {...VideoListHelper.getDetailsColumns()} className={isSmall ? 'pb-2' : 'px-2'}>\n <div className={`partial-loading-background mb-1 ${styles.partialName}`} />\n <div className={`partial-loading-background ${styles.partialDescription}`} />\n </Col>\n </Row>\n );\n}\n\n","import * as React from 'react';\n\ninterface CheckboxProps {\n id: string;\n checked: boolean;\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n label?: string;\n ariaLabel?: string;\n name?: string;\n className?: string;\n inputClassName?: string;\n disabled?: boolean;\n indeterminate?: boolean;\n isLabelEllipsis?: boolean;\n}\n\nCheckbox.defaultProps = {\n checked: false,\n label: '',\n className: ''\n};\n\n/**\n * Use this checkbox outside of Formik contexts\n */\nexport function Checkbox(props: CheckboxProps): JSX.Element {\n const { isLabelEllipsis } = props;\n const ref = React.useRef<HTMLInputElement>(null);\n\n React.useEffect(() => {\n if (!ref.current)\n return;\n\n if (props.checked) {\n if (ref.current.indeterminate)\n ref.current.indeterminate = false;\n\n return;\n }\n\n if (props.indeterminate && !ref.current.indeterminate) {\n ref.current.indeterminate = true;\n return;\n }\n\n if (!props.indeterminate && ref.current.indeterminate)\n ref.current.indeterminate = false;\n }, [ ref.current, props.indeterminate, props.checked ]);\n\n return (\n <div className={`form-check pe-2 ${props.className}`}>\n <input\n ref={ref}\n type='checkbox'\n className={`${props.inputClassName} form-check-input`}\n id={props.id}\n name={props.name}\n checked={props.checked}\n onChange={props.onChange}\n disabled={props.disabled}\n aria-checked={props.checked}\n aria-label={props.ariaLabel}\n />\n {props.label && (\n <label className='form-check-label cursor-pointer align-top' htmlFor={props.id}>\n <span className={`${isLabelEllipsis ? 'clamp-1' : ''}`}>{props.label}</span>\n </label>\n )}\n </div>\n );\n}\n","import React from 'react';\n\nexport function GraduationCapSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M16.863 20c-.662 0-1.21-.567-1.21-1.252s.548-1.252 1.21-1.252c.663 0 1.21.567 1.21 1.252S17.527 20 16.864 20m0-1.441a.183.183 0 0 0-.182.189c0 .118.068.189.182.189.115 0 .183-.071.183-.19a.183.183 0 0 0-.183-.188m0-.118a.516.516 0 0 1-.502-.52v-6.19L11.75 9.158a.53.53 0 0 1-.205-.71c.137-.26.456-.354.685-.212l4.886 2.717a.57.57 0 0 1 .274.473v6.496a.52.52 0 0 1-.526.52m-4.908-4.205a.8.8 0 0 1-.229-.048L2.296 9.51A.55.55 0 0 1 2 9.014c0-.212.114-.401.297-.472l9.52-4.489a.47.47 0 0 1 .434 0l9.452 4.489a.55.55 0 0 1 .297.472.49.49 0 0 1-.297.473l-9.52 4.701a.8.8 0 0 1-.228.048m-8.22-5.198 8.22 4.087 8.288-4.087-8.22-3.898zm8.151 8.41c-4.749 0-6.644-2.905-6.712-3.047a.7.7 0 0 1-.092-.284V10.81c0-.283.229-.52.503-.52s.502.237.502.52v3.142c.388.496 2.077 2.434 5.776 2.434 3.653 0 5.548-1.938 6.005-2.457v-2.93c0-.284.228-.52.502-.52s.502.236.502.52v3.118a.6.6 0 0 1-.091.307c-.046.142-2.192 3.024-6.895 3.024'\n />\n </svg>\n );\n}\n","import { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\n\nimport { useMediaQuery } from './UseMediaQuery';\n\n/**\n * @deprecated Please use useBreakpoints() instead\n */\nexport function useGetMediaQueryString(): MediaQueryStrings {\n const isXS = useMediaQuery(MediaQueryStrings.XS);\n const isSM = useMediaQuery(MediaQueryStrings.SM);\n const isMD = useMediaQuery(MediaQueryStrings.MD);\n const isLG = useMediaQuery(MediaQueryStrings.LG);\n const isXL = useMediaQuery(MediaQueryStrings.XL);\n const isXXL = useMediaQuery(MediaQueryStrings.XXL);\n\n let currentString = MediaQueryStrings.LG; // default\n if (isXS) currentString = MediaQueryStrings.XS;\n if (isSM) currentString = MediaQueryStrings.SM;\n if (isMD) currentString = MediaQueryStrings.MD;\n if (isLG) currentString = MediaQueryStrings.LG;\n if (isXL) currentString = MediaQueryStrings.XL;\n if (isXXL) currentString = MediaQueryStrings.XXL;\n\n return currentString;\n}"],"names":["Row","React.forwardRef","bsPrefix","className","Component","props","ref","decoratedBsPrefix","useBootstrapPrefix","breakpoints","useBootstrapBreakpoints","minBreakpoint","useBootstrapMinBreakpoint","sizePrefix","classes","brkPoint","propValue","cols","infix","_jsx","classNames","SCROLL_TOLERANCE","useInfiniteScroll","options","handleScroll","scrollContainer","currentScrollHeight","totalHeight","useEffect","onScroll","FunctionHelper","useInfiniteList","getRequest","fetchNext","onError","getItems","getCursor","pagesFetched","setPagesFetched","useState","fetchNextFn","getKey","cursor","request","response","useSelectAllPages","fetchNextPage","currentVal","httpStatusClass","_b","_a","HttpStatusClass","InfiniteScrollFooter","inView","useInView","React.useEffect","jsx","styles","Spinner","SvgContainer","ChevronDownSvg","SvgContainerSize","VideoListHelper","size","hasDragHandle","PartialVideoList","Fragment","_","i","jsxs","PartialVideoItem","useBreakpoints","isSmall","withDragHandle","Col","Checkbox","isLabelEllipsis","React.useRef","GraduationCapSvg","useGetMediaQueryString","isXS","useMediaQuery","MediaQueryStrings","isSM","isMD","isLG","isXL","isXXL","currentString"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as d,j as h}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{r as d,j as h}from"./app-YVcc0mcr.js";var I=new Map,R=new WeakMap,y=0,L=void 0;function O(e){return e?(R.has(e)||(y+=1,R.set(e,y.toString())),R.get(e)):"0"}function _(e){return Object.keys(e).sort().filter(r=>e[r]!==void 0).map(r=>`${r}_${r==="root"?O(e.root):e[r]}`).toString()}function $(e){const r=_(e);let s=I.get(r);if(!s){const n=new Map;let a;const i=new IntersectionObserver(o=>{o.forEach(t=>{var c;const g=t.isIntersecting&&a.some(u=>t.intersectionRatio>=u);e.trackVisibility&&typeof t.isVisible>"u"&&(t.isVisible=g),(c=n.get(t.target))==null||c.forEach(u=>{u(g,t)})})},e);a=i.thresholds||(Array.isArray(e.threshold)?e.threshold:[e.threshold||0]),s={id:r,observer:i,elements:n},I.set(r,s)}return s}function j(e,r,s={},n=L){if(typeof window.IntersectionObserver>"u"&&n!==void 0){const c=e.getBoundingClientRect();return r(n,{isIntersecting:n,target:e,intersectionRatio:typeof s.threshold=="number"?s.threshold:0,time:0,boundingClientRect:c,intersectionRect:c,rootBounds:c}),()=>{}}const{id:a,observer:i,elements:o}=$(s),t=o.get(e)||[];return o.has(e)||o.set(e,t),t.push(r),i.observe(e),function(){t.splice(t.indexOf(r),1),t.length===0&&(o.delete(e),i.unobserve(e)),o.size===0&&(i.disconnect(),I.delete(a))}}function D({threshold:e,delay:r,trackVisibility:s,rootMargin:n,root:a,triggerOnce:i,skip:o,initialInView:t,fallbackInView:c,onChange:g}={}){var u;const[f,p]=d.useState(null),m=d.useRef(),[A,l]=d.useState({inView:!!t,entry:void 0});m.current=g,d.useEffect(()=>{if(o||!f)return;let b;return b=j(f,(x,E)=>{l({inView:x,entry:E}),m.current&&m.current(x,E),E.isIntersecting&&i&&b&&(b(),b=void 0)},{root:a,rootMargin:n,threshold:e,trackVisibility:s,delay:r},c),()=>{b&&b()}},[Array.isArray(e)?e.toString():e,f,a,n,i,o,s,c,r]);const w=(u=A.entry)==null?void 0:u.target,S=d.useRef();!f&&w&&!i&&!o&&S.current!==w&&(S.current=w,l({inView:!!t,entry:void 0}));const v=[p,A.inView,A.entry];return v.ref=v[0],v.inView=v[1],v.entry=v[2],v}function V(e={}){const{prevent:r,rootMargin:s,triggerOnce:n=!0}=e;let[a,i,o]=D({triggerOnce:n,rootMargin:s});return(r===!0||typeof window.IntersectionObserver>"u")&&(i=!0,a=null),{ref:a,inView:i,initialized:!!o}}const M="_image_pp6me_1",C={image:M},z="500px",B="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",T=d.memo(function(e){const{forceLoad:r,extraClasses:s="",errorFallbackImageSrc:n,preventLoad:a=!1,errorFallbackImageClassName:i,src:o,alt:t,...c}=e,{ref:g,inView:u}=V({rootMargin:z}),[f,p]=d.useState(!1);d.useEffect(()=>{if(!r&&!u||a)return;const l=new Image;return l.onerror=()=>{p(!0),n&&(l.src=n)},l.src=o,()=>l.onerror=null},[u,a]);function m(){return f&&n?n:e.src}if(f&&!n)return h.jsx(h.Fragment,{});if(!g)return h.jsx("img",{className:`${C.image} ${s} ${f&&i||""}`,alt:t,src:m(),...c});const A={alt:t,...c,...(u||r)&&!a?{src:m()}:{src:B}};return r||(A.ref=g),h.jsx("img",{className:`${C.image} ${s} ${f&&i||""}`,...A})});export{T as L,D as a,V as u};
|
|
2
|
+
//# sourceMappingURL=CI-iVFxS.chunk.js.map
|