@clickview/exchange 0.54.0 → 0.54.1-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/en.json +1 -1
  3. package/dist/scripts/-rc15O6e.chunk.js +2 -0
  4. package/dist/scripts/{RR_Npo-u.chunk.js.map → -rc15O6e.chunk.js.map} +1 -1
  5. package/dist/scripts/{BMV1koDe.chunk.js → 8cN0DOAw.chunk.js} +2 -2
  6. package/dist/scripts/{BMV1koDe.chunk.js.map → 8cN0DOAw.chunk.js.map} +1 -1
  7. package/dist/scripts/{B4-7nU0g.chunk.js → 93Mytmux.chunk.js} +2 -2
  8. package/dist/scripts/{B4-7nU0g.chunk.js.map → 93Mytmux.chunk.js.map} +1 -1
  9. package/dist/scripts/{DH2yRBmA.chunk.js → 9YLXxYYH.chunk.js} +2 -2
  10. package/dist/scripts/{DH2yRBmA.chunk.js.map → 9YLXxYYH.chunk.js.map} +1 -1
  11. package/dist/scripts/{S8s7mgrG.chunk.js → B77TOWer.chunk.js} +2 -2
  12. package/dist/scripts/{S8s7mgrG.chunk.js.map → B77TOWer.chunk.js.map} +1 -1
  13. package/dist/scripts/{D5fWDfWb.chunk.js → BB_Ud-Dl.chunk.js} +2 -2
  14. package/dist/scripts/{D5fWDfWb.chunk.js.map → BB_Ud-Dl.chunk.js.map} +1 -1
  15. package/dist/scripts/{C7s6znQN.chunk.js → BCGCl500.chunk.js} +2 -2
  16. package/dist/scripts/{C7s6znQN.chunk.js.map → BCGCl500.chunk.js.map} +1 -1
  17. package/dist/scripts/{CZ0_WZo1.chunk.js → BEonThYO.chunk.js} +2 -2
  18. package/dist/scripts/{CZ0_WZo1.chunk.js.map → BEonThYO.chunk.js.map} +1 -1
  19. package/dist/scripts/{DfkRK80r.chunk.js → BFAbrH3V.chunk.js} +2 -2
  20. package/dist/scripts/{DfkRK80r.chunk.js.map → BFAbrH3V.chunk.js.map} +1 -1
  21. package/dist/scripts/{fG3bu7tL.chunk.js → BIciRJHg.chunk.js} +2 -2
  22. package/dist/scripts/{fG3bu7tL.chunk.js.map → BIciRJHg.chunk.js.map} +1 -1
  23. package/dist/scripts/{CDuLjvaV.chunk.js → BJX7CePa.chunk.js} +2 -2
  24. package/dist/scripts/{CDuLjvaV.chunk.js.map → BJX7CePa.chunk.js.map} +1 -1
  25. package/dist/scripts/{wE4X9qJj.chunk.js → BL0xk5Hs.chunk.js} +2 -2
  26. package/dist/scripts/{wE4X9qJj.chunk.js.map → BL0xk5Hs.chunk.js.map} +1 -1
  27. package/dist/scripts/{DKvNIqD3.chunk.js → BN_hH3oW.chunk.js} +2 -2
  28. package/dist/scripts/{DKvNIqD3.chunk.js.map → BN_hH3oW.chunk.js.map} +1 -1
  29. package/dist/scripts/{mj_NgNWo.chunk.js → BWmMHnFV.chunk.js} +2 -2
  30. package/dist/scripts/{mj_NgNWo.chunk.js.map → BWmMHnFV.chunk.js.map} +1 -1
  31. package/dist/scripts/{BHTzCeKb.chunk.js → BapvLPQ5.chunk.js} +2 -2
  32. package/dist/scripts/{BHTzCeKb.chunk.js.map → BapvLPQ5.chunk.js.map} +1 -1
  33. package/dist/scripts/{vQs65oQi.chunk.js → Bbc1-POn.chunk.js} +2 -2
  34. package/dist/scripts/{vQs65oQi.chunk.js.map → Bbc1-POn.chunk.js.map} +1 -1
  35. package/dist/scripts/{CSuv1QVm.chunk.js → Bel5ImAj.chunk.js} +2 -2
  36. package/dist/scripts/{CSuv1QVm.chunk.js.map → Bel5ImAj.chunk.js.map} +1 -1
  37. package/dist/scripts/{CiTtDJue.chunk.js → BfWmIKU0.chunk.js} +2 -2
  38. package/dist/scripts/{CiTtDJue.chunk.js.map → BfWmIKU0.chunk.js.map} +1 -1
  39. package/dist/scripts/{BO7wPiFy.chunk.js → BhJEiLr0.chunk.js} +2 -2
  40. package/dist/scripts/{BO7wPiFy.chunk.js.map → BhJEiLr0.chunk.js.map} +1 -1
  41. package/dist/scripts/{DHx8qw7h.chunk.js → Bi_rU-SG.chunk.js} +2 -2
  42. package/dist/scripts/{DHx8qw7h.chunk.js.map → Bi_rU-SG.chunk.js.map} +1 -1
  43. package/dist/scripts/BldjpTLL.chunk.js +2 -0
  44. package/dist/scripts/{BMOkpx9W.chunk.js.map → BldjpTLL.chunk.js.map} +1 -1
  45. package/dist/scripts/Bm0DywXr.chunk.js +2 -0
  46. package/dist/scripts/{kjcQ0DHK.chunk.js.map → Bm0DywXr.chunk.js.map} +1 -1
  47. package/dist/scripts/BpFMqrCw.chunk.js +2 -0
  48. package/dist/scripts/{D1kNrE2G.chunk.js.map → BpFMqrCw.chunk.js.map} +1 -1
  49. package/dist/scripts/{B2psHTnp.chunk.js → Bw042tZ_.chunk.js} +2 -2
  50. package/dist/scripts/{B2psHTnp.chunk.js.map → Bw042tZ_.chunk.js.map} +1 -1
  51. package/dist/scripts/{DMCTlX1N.chunk.js → ByCaE7oT.chunk.js} +2 -2
  52. package/dist/scripts/{DMCTlX1N.chunk.js.map → ByCaE7oT.chunk.js.map} +1 -1
  53. package/dist/scripts/{BTGAV-7R.chunk.js → BzJeV-bU.chunk.js} +2 -2
  54. package/dist/scripts/{BTGAV-7R.chunk.js.map → BzJeV-bU.chunk.js.map} +1 -1
  55. package/dist/scripts/{Ca7s6d3a.chunk.js → BzOUcl19.chunk.js} +2 -2
  56. package/dist/scripts/{Ca7s6d3a.chunk.js.map → BzOUcl19.chunk.js.map} +1 -1
  57. package/dist/scripts/{C_b02Pfv.chunk.js → C7x-ikz8.chunk.js} +2 -2
  58. package/dist/scripts/{C_b02Pfv.chunk.js.map → C7x-ikz8.chunk.js.map} +1 -1
  59. package/dist/scripts/{Bk6B0Pga.chunk.js → C8gLKdt2.chunk.js} +2 -2
  60. package/dist/scripts/{Bk6B0Pga.chunk.js.map → C8gLKdt2.chunk.js.map} +1 -1
  61. package/dist/scripts/{BNdvuAqI.chunk.js → CA1kXo4c.chunk.js} +2 -2
  62. package/dist/scripts/{BNdvuAqI.chunk.js.map → CA1kXo4c.chunk.js.map} +1 -1
  63. package/dist/scripts/{2RtgJciS.chunk.js → CBpplRfy.chunk.js} +2 -2
  64. package/dist/scripts/{2RtgJciS.chunk.js.map → CBpplRfy.chunk.js.map} +1 -1
  65. package/dist/scripts/{CwGJynkF.chunk.js → CFHfdzmN.chunk.js} +2 -2
  66. package/dist/scripts/{CwGJynkF.chunk.js.map → CFHfdzmN.chunk.js.map} +1 -1
  67. package/dist/scripts/{DtIAQEde.chunk.js → CI1-zjtc.chunk.js} +2 -2
  68. package/dist/scripts/{DtIAQEde.chunk.js.map → CI1-zjtc.chunk.js.map} +1 -1
  69. package/dist/scripts/{CaXurNVJ.chunk.js → CLeOFM0_.chunk.js} +2 -2
  70. package/dist/scripts/{CaXurNVJ.chunk.js.map → CLeOFM0_.chunk.js.map} +1 -1
  71. package/dist/scripts/{CfG52a2J.chunk.js → CLzmMPfE.chunk.js} +2 -2
  72. package/dist/scripts/{CfG52a2J.chunk.js.map → CLzmMPfE.chunk.js.map} +1 -1
  73. package/dist/scripts/{BeYBU_45.chunk.js → CMVCOZiH.chunk.js} +2 -2
  74. package/dist/scripts/{BeYBU_45.chunk.js.map → CMVCOZiH.chunk.js.map} +1 -1
  75. package/dist/scripts/{-IJi77po.chunk.js → CRiSdltq.chunk.js} +2 -2
  76. package/dist/scripts/{-IJi77po.chunk.js.map → CRiSdltq.chunk.js.map} +1 -1
  77. package/dist/scripts/{C6Lm5-pG.chunk.js → CUcESh7x.chunk.js} +2 -2
  78. package/dist/scripts/{C6Lm5-pG.chunk.js.map → CUcESh7x.chunk.js.map} +1 -1
  79. package/dist/scripts/{BVtgkXbb.chunk.js → CWEHmLar.chunk.js} +2 -2
  80. package/dist/scripts/{BVtgkXbb.chunk.js.map → CWEHmLar.chunk.js.map} +1 -1
  81. package/dist/scripts/{BknFbNFb.chunk.js → CYnIJ9Yj.chunk.js} +2 -2
  82. package/dist/scripts/{BknFbNFb.chunk.js.map → CYnIJ9Yj.chunk.js.map} +1 -1
  83. package/dist/scripts/{BM1pKS1x.chunk.js → CeNnu9Uy.chunk.js} +2 -2
  84. package/dist/scripts/{BM1pKS1x.chunk.js.map → CeNnu9Uy.chunk.js.map} +1 -1
  85. package/dist/scripts/{C_N8YDNG.chunk.js → CeWNxrfN.chunk.js} +2 -2
  86. package/dist/scripts/{C_N8YDNG.chunk.js.map → CeWNxrfN.chunk.js.map} +1 -1
  87. package/dist/scripts/{CIC6c94H.chunk.js → Cf7gumlK.chunk.js} +2 -2
  88. package/dist/scripts/{CIC6c94H.chunk.js.map → Cf7gumlK.chunk.js.map} +1 -1
  89. package/dist/scripts/{BeUtct-n.chunk.js → CgYXk-MC.chunk.js} +2 -2
  90. package/dist/scripts/{BeUtct-n.chunk.js.map → CgYXk-MC.chunk.js.map} +1 -1
  91. package/dist/scripts/{CZWyo3vU.chunk.js → ChQd3LFA.chunk.js} +2 -2
  92. package/dist/scripts/{CZWyo3vU.chunk.js.map → ChQd3LFA.chunk.js.map} +1 -1
  93. package/dist/scripts/{Cvh5d6g-.chunk.js → CidOInHw.chunk.js} +2 -2
  94. package/dist/scripts/{Cvh5d6g-.chunk.js.map → CidOInHw.chunk.js.map} +1 -1
  95. package/dist/scripts/{KD76wo2O.chunk.js → CjZVCWS_.chunk.js} +2 -2
  96. package/dist/scripts/{KD76wo2O.chunk.js.map → CjZVCWS_.chunk.js.map} +1 -1
  97. package/dist/scripts/{DllPblbJ.chunk.js → CmFgCSCA.chunk.js} +2 -2
  98. package/dist/scripts/{DllPblbJ.chunk.js.map → CmFgCSCA.chunk.js.map} +1 -1
  99. package/dist/scripts/{D2hwqbbK.chunk.js → CzgpQODl.chunk.js} +2 -2
  100. package/dist/scripts/{D2hwqbbK.chunk.js.map → CzgpQODl.chunk.js.map} +1 -1
  101. package/dist/scripts/{BZDBKDNB.chunk.js → D1uOyG2F.chunk.js} +2 -2
  102. package/dist/scripts/{BZDBKDNB.chunk.js.map → D1uOyG2F.chunk.js.map} +1 -1
  103. package/dist/scripts/D2Qdtc-z.chunk.js +2 -0
  104. package/dist/scripts/{Nx5VrW1O.chunk.js.map → D2Qdtc-z.chunk.js.map} +1 -1
  105. package/dist/scripts/{CvC-3rY8.chunk.js → D6Y1z38S.chunk.js} +2 -2
  106. package/dist/scripts/{CvC-3rY8.chunk.js.map → D6Y1z38S.chunk.js.map} +1 -1
  107. package/dist/scripts/{DVGSZWvj.chunk.js → DAYsHx3K.chunk.js} +2 -2
  108. package/dist/scripts/{DVGSZWvj.chunk.js.map → DAYsHx3K.chunk.js.map} +1 -1
  109. package/dist/scripts/DAlXOlyw.chunk.js +2 -0
  110. package/dist/scripts/{PTNYkU4e.chunk.js.map → DAlXOlyw.chunk.js.map} +1 -1
  111. package/dist/scripts/{C6jzSlOK.chunk.js → DBXgmgfs.chunk.js} +2 -2
  112. package/dist/scripts/{C6jzSlOK.chunk.js.map → DBXgmgfs.chunk.js.map} +1 -1
  113. package/dist/scripts/{DNv0G8YQ.chunk.js → DFV1HGGE.chunk.js} +2 -2
  114. package/dist/scripts/{DNv0G8YQ.chunk.js.map → DFV1HGGE.chunk.js.map} +1 -1
  115. package/dist/scripts/{BaII1chU.chunk.js → DKgBjNhk.chunk.js} +2 -2
  116. package/dist/scripts/{BaII1chU.chunk.js.map → DKgBjNhk.chunk.js.map} +1 -1
  117. package/dist/scripts/{6nLsdj_T.chunk.js → DNamqvBL.chunk.js} +2 -2
  118. package/dist/scripts/{6nLsdj_T.chunk.js.map → DNamqvBL.chunk.js.map} +1 -1
  119. package/dist/scripts/{BoCJPJD9.chunk.js → DS9FoZYs.chunk.js} +2 -2
  120. package/dist/scripts/{BoCJPJD9.chunk.js.map → DS9FoZYs.chunk.js.map} +1 -1
  121. package/dist/scripts/{BARMSVib.chunk.js → DU7fsRWl.chunk.js} +2 -2
  122. package/dist/scripts/{BARMSVib.chunk.js.map → DU7fsRWl.chunk.js.map} +1 -1
  123. package/dist/scripts/{yAkKLflS.chunk.js → DXukh64m.chunk.js} +2 -2
  124. package/dist/scripts/{yAkKLflS.chunk.js.map → DXukh64m.chunk.js.map} +1 -1
  125. package/dist/scripts/{QBPzgKy4.chunk.js → D_UfRtxO.chunk.js} +2 -2
  126. package/dist/scripts/{QBPzgKy4.chunk.js.map → D_UfRtxO.chunk.js.map} +1 -1
  127. package/dist/scripts/{DPzpHWBx.chunk.js → Da4lOHud.chunk.js} +2 -2
  128. package/dist/scripts/{DPzpHWBx.chunk.js.map → Da4lOHud.chunk.js.map} +1 -1
  129. package/dist/scripts/{RFnuS4NM.chunk.js → DbQAirTe.chunk.js} +2 -2
  130. package/dist/scripts/{RFnuS4NM.chunk.js.map → DbQAirTe.chunk.js.map} +1 -1
  131. package/dist/scripts/{wrxKHqa_.chunk.js → DbjqMrGm.chunk.js} +2 -2
  132. package/dist/scripts/{wrxKHqa_.chunk.js.map → DbjqMrGm.chunk.js.map} +1 -1
  133. package/dist/scripts/{DW6Dbl7f.chunk.js → DiYMwIEW.chunk.js} +2 -2
  134. package/dist/scripts/{DW6Dbl7f.chunk.js.map → DiYMwIEW.chunk.js.map} +1 -1
  135. package/dist/scripts/{ZQ2N8RIM.chunk.js → DjZMDa7F.chunk.js} +2 -2
  136. package/dist/scripts/{ZQ2N8RIM.chunk.js.map → DjZMDa7F.chunk.js.map} +1 -1
  137. package/dist/scripts/{D0g725Qb.chunk.js → DmsvtP5R.chunk.js} +2 -2
  138. package/dist/scripts/{D0g725Qb.chunk.js.map → DmsvtP5R.chunk.js.map} +1 -1
  139. package/dist/scripts/{BVFJa4eN.chunk.js → Du1vfrL1.chunk.js} +2 -2
  140. package/dist/scripts/{BVFJa4eN.chunk.js.map → Du1vfrL1.chunk.js.map} +1 -1
  141. package/dist/scripts/{BIM7E_uq.chunk.js → HgZI7ZJw.chunk.js} +2 -2
  142. package/dist/scripts/{BIM7E_uq.chunk.js.map → HgZI7ZJw.chunk.js.map} +1 -1
  143. package/dist/scripts/{De6u_51f.chunk.js → Idf_wk4z.chunk.js} +2 -2
  144. package/dist/scripts/{De6u_51f.chunk.js.map → Idf_wk4z.chunk.js.map} +1 -1
  145. package/dist/scripts/{BzWiry9B.chunk.js → IoMSsrGB.chunk.js} +2 -2
  146. package/dist/scripts/{BzWiry9B.chunk.js.map → IoMSsrGB.chunk.js.map} +1 -1
  147. package/dist/scripts/{BOgut51m.chunk.js → JVtTNBu8.chunk.js} +2 -2
  148. package/dist/scripts/{BOgut51m.chunk.js.map → JVtTNBu8.chunk.js.map} +1 -1
  149. package/dist/scripts/{B6MzAKwF.chunk.js → Jh9dsBNz.chunk.js} +2 -2
  150. package/dist/scripts/{B6MzAKwF.chunk.js.map → Jh9dsBNz.chunk.js.map} +1 -1
  151. package/dist/scripts/{C3DMM71j.chunk.js → L4fynSOH.chunk.js} +2 -2
  152. package/dist/scripts/{C3DMM71j.chunk.js.map → L4fynSOH.chunk.js.map} +1 -1
  153. package/dist/scripts/{DcNBkQk2.chunk.js → L8c9vJSE.chunk.js} +2 -2
  154. package/dist/scripts/{DcNBkQk2.chunk.js.map → L8c9vJSE.chunk.js.map} +1 -1
  155. package/dist/scripts/{RkGsyr47.chunk.js → LSG3wJaJ.chunk.js} +2 -2
  156. package/dist/scripts/{RkGsyr47.chunk.js.map → LSG3wJaJ.chunk.js.map} +1 -1
  157. package/dist/scripts/{BBGrb01P.chunk.js → Nb05HQ70.chunk.js} +2 -2
  158. package/dist/scripts/{BBGrb01P.chunk.js.map → Nb05HQ70.chunk.js.map} +1 -1
  159. package/dist/scripts/{D7ex9pZI.chunk.js → NnLpFayg.chunk.js} +2 -2
  160. package/dist/scripts/{D7ex9pZI.chunk.js.map → NnLpFayg.chunk.js.map} +1 -1
  161. package/dist/scripts/{BObzbMyv.chunk.js → TBgyZjiu.chunk.js} +2 -2
  162. package/dist/scripts/{BObzbMyv.chunk.js.map → TBgyZjiu.chunk.js.map} +1 -1
  163. package/dist/scripts/UAhbVZA6.chunk.js +2 -0
  164. package/dist/scripts/{Cusf4uQr.chunk.js.map → UAhbVZA6.chunk.js.map} +1 -1
  165. package/dist/scripts/{EP_6ctCd.chunk.js → UPyh9hOq.chunk.js} +2 -2
  166. package/dist/scripts/{EP_6ctCd.chunk.js.map → UPyh9hOq.chunk.js.map} +1 -1
  167. package/dist/scripts/{5ulU64GY.chunk.js → aUcmweZz.chunk.js} +2 -2
  168. package/dist/scripts/{5ulU64GY.chunk.js.map → aUcmweZz.chunk.js.map} +1 -1
  169. package/dist/scripts/{BIqgfuNp.chunk.js → afx3pyqK.chunk.js} +2 -2
  170. package/dist/scripts/{BIqgfuNp.chunk.js.map → afx3pyqK.chunk.js.map} +1 -1
  171. package/dist/scripts/{app-BeXfSt3Z.js → app-DQUfzK7M.js} +3 -3
  172. package/dist/scripts/{app-BeXfSt3Z.js.map → app-DQUfzK7M.js.map} +1 -1
  173. package/dist/scripts/{DGZafYHS.chunk.js → ebPScdjM.chunk.js} +2 -2
  174. package/dist/scripts/{DGZafYHS.chunk.js.map → ebPScdjM.chunk.js.map} +1 -1
  175. package/dist/scripts/{kIpQ7ATK.chunk.js → exCRX_FQ.chunk.js} +2 -2
  176. package/dist/scripts/{kIpQ7ATK.chunk.js.map → exCRX_FQ.chunk.js.map} +1 -1
  177. package/dist/scripts/{B_RnEy2g.chunk.js → g-ukO43h.chunk.js} +2 -2
  178. package/dist/scripts/{B_RnEy2g.chunk.js.map → g-ukO43h.chunk.js.map} +1 -1
  179. package/dist/scripts/{DSjj9Urk.chunk.js → rV0ZG7Fa.chunk.js} +2 -2
  180. package/dist/scripts/{DSjj9Urk.chunk.js.map → rV0ZG7Fa.chunk.js.map} +1 -1
  181. package/dist/scripts/{CuymzQcn.chunk.js → rY6Lh6jX.chunk.js} +2 -2
  182. package/dist/scripts/{CuymzQcn.chunk.js.map → rY6Lh6jX.chunk.js.map} +1 -1
  183. package/dist/scripts/{DyEyo6rX.chunk.js → uJkDFf2N.chunk.js} +2 -2
  184. package/dist/scripts/{DyEyo6rX.chunk.js.map → uJkDFf2N.chunk.js.map} +1 -1
  185. package/package.json +1 -1
  186. package/dist/scripts/BMOkpx9W.chunk.js +0 -2
  187. package/dist/scripts/Cusf4uQr.chunk.js +0 -2
  188. package/dist/scripts/D1kNrE2G.chunk.js +0 -2
  189. package/dist/scripts/Nx5VrW1O.chunk.js +0 -2
  190. package/dist/scripts/PTNYkU4e.chunk.js +0 -2
  191. package/dist/scripts/RR_Npo-u.chunk.js +0 -2
  192. package/dist/scripts/kjcQ0DHK.chunk.js +0 -2
@@ -0,0 +1,2 @@
1
+ import{aj as m,a3 as c,l as n,L as p,j as e}from"./app-DQUfzK7M.js";import{u as h,P as x,F as g}from"./DNamqvBL.chunk.js";import{L as l}from"./DKgBjNhk.chunk.js";import{u as d}from"./BldjpTLL.chunk.js";import{E as u}from"./BEonThYO.chunk.js";import{E as f}from"./DFV1HGGE.chunk.js";import{E as j}from"./D_UfRtxO.chunk.js";import{g as F}from"./LSG3wJaJ.chunk.js";import"./B77TOWer.chunk.js";import"./CYnIJ9Yj.chunk.js";import"./Da4lOHud.chunk.js";import"./UPyh9hOq.chunk.js";import"./BapvLPQ5.chunk.js";import"./Du1vfrL1.chunk.js";import"./ebPScdjM.chunk.js";import"./BIciRJHg.chunk.js";import"./DS9FoZYs.chunk.js";import"./BL0xk5Hs.chunk.js";import"./CLeOFM0_.chunk.js";import"./BlDVEZsX.chunk.js";import"./BCGCl500.chunk.js";import"./DAYsHx3K.chunk.js";import"./pkzD5BEm.chunk.js";const E="exchange.exchange",L=p.encloseNamespace(E);function K(){const i=m(),r=c(j.exchange()),a=s=>l.childFolders(r.data.categoryTree.id,s),o=s=>i(a(s)),t=h(r.data&&a,o);return d(r),n({title:L("exchangeArchive")}),e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-3",children:[e.jsx(u,{}),e.jsx(f,{active:"categories"})]}),t!=null&&t.items?t.items.length?e.jsx("div",{className:"mx-n2",children:e.jsx(g,{folders:t.items,getAppLink:s=>F(s),expandFolders:!0,showHeading:!1})}):e.jsx(e.Fragment,{}):e.jsx("div",{className:"mt-3",children:e.jsx(x,{count:22})})]})}export{K as ExchangeView};
2
+ //# sourceMappingURL=D2Qdtc-z.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Nx5VrW1O.chunk.js","sources":["../../src/apps/exchange/views/exchange/ExchangeView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { useFetchAll } from 'libs/shared/hooks/UseFetchAll';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Folder, Library } from 'libs/shared/interfaces';\n\nimport { ExchangeSearchBar } from 'apps/exchange/components/exchange-search-bar/ExchangeSearchBar';\nimport { ExchangeTabs } from 'apps/exchange/components/exchange-tabs/ExchangeTabs';\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { getFolderAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nconst namespace = 'exchange.exchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function ExchangeView(): JSX.Element {\n const fetch = Flight.useGetFetch();\n\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n const getRequest = (cursor: string) => LibraryRequests.childFolders(exchange.data.categoryTree.id, cursor);\n const fetchNext = (cursor: string) => fetch(getRequest(cursor));\n const libraryFolders = useFetchAll(exchange.data && getRequest, fetchNext);\n\n useHandleObjectError(exchange);\n\n useSetPageMetadata({ title: getPhrase('exchangeArchive') });\n\n return (\n <>\n <div className='mb-3'>\n <ExchangeSearchBar />\n <ExchangeTabs active='categories' />\n </div>\n \n {(() => {\n if (!libraryFolders?.items)\n return <div className='mt-3'><PartialFolderList count={22} /></div>;\n\n if (!libraryFolders.items.length)\n return <></>;\n\n return (\n <div className='mx-n2'>\n <FolderList\n folders={libraryFolders.items}\n getAppLink={(f: Folder) => getFolderAppLink(f)}\n expandFolders\n showHeading={false}\n />\n </div>\n );\n })()}\n </>\n );\n}"],"names":["namespace","getPhrase","LanguageService","ExchangeView","fetch","Flight.useGetFetch","exchange","Flight.useBasicFetch","ExchangeRequests","getRequest","cursor","LibraryRequests","fetchNext","libraryFolders","useFetchAll","useHandleObjectError","useSetPageMetadata","jsxs","Fragment","jsx","ExchangeSearchBar","ExchangeTabs","FolderList","f","getFolderAppLink","PartialFolderList"],"mappings":"8wBAkBA,MAAMA,EAAY,oBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,GAA4B,CAC1C,MAAMC,EAAQC,EAAO,EAEfC,EAAWC,EAA8BC,EAAiB,UAAU,EACpEC,EAAcC,GAAmBC,EAAgB,aAAaL,EAAS,KAAK,aAAa,GAAII,CAAM,EACnGE,EAAaF,GAAmBN,EAAMK,EAAWC,CAAM,CAAC,EACxDG,EAAiBC,EAAYR,EAAS,MAAQG,EAAYG,CAAS,EAEzE,OAAAG,EAAqBT,CAAQ,EAE7BU,EAAmB,CAAE,MAAOf,EAAU,iBAAiB,EAAG,EAGxDgB,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAD,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAE,EAAAA,IAACC,EAAA,EAAkB,EACnBD,EAAAA,IAACE,EAAA,CAAa,OAAO,YAAA,CAAa,CAAA,EACpC,EAGOR,GAAA,MAAAA,EAAgB,MAGhBA,EAAe,MAAM,OAIxBM,EAAAA,IAAC,MAAA,CAAI,UAAU,QACb,SAAAA,EAAAA,IAACG,EAAA,CACC,QAAST,EAAe,MACxB,WAAaU,GAAcC,EAAiBD,CAAC,EAC7C,cAAa,GACb,YAAa,EAAA,CAAA,EAEjB,EAVOJ,EAAAA,IAAAD,EAAAA,SAAA,EAAE,EAHFC,MAAC,OAAI,UAAU,OAAO,eAACM,EAAA,CAAkB,MAAO,GAAI,CAAA,CAAE,CAe9D,EACL,CAEJ"}
1
+ {"version":3,"file":"D2Qdtc-z.chunk.js","sources":["../../src/apps/exchange/views/exchange/ExchangeView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { useFetchAll } from 'libs/shared/hooks/UseFetchAll';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Folder, Library } from 'libs/shared/interfaces';\n\nimport { ExchangeSearchBar } from 'apps/exchange/components/exchange-search-bar/ExchangeSearchBar';\nimport { ExchangeTabs } from 'apps/exchange/components/exchange-tabs/ExchangeTabs';\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { getFolderAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nconst namespace = 'exchange.exchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function ExchangeView(): JSX.Element {\n const fetch = Flight.useGetFetch();\n\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n const getRequest = (cursor: string) => LibraryRequests.childFolders(exchange.data.categoryTree.id, cursor);\n const fetchNext = (cursor: string) => fetch(getRequest(cursor));\n const libraryFolders = useFetchAll(exchange.data && getRequest, fetchNext);\n\n useHandleObjectError(exchange);\n\n useSetPageMetadata({ title: getPhrase('exchangeArchive') });\n\n return (\n <>\n <div className='mb-3'>\n <ExchangeSearchBar />\n <ExchangeTabs active='categories' />\n </div>\n \n {(() => {\n if (!libraryFolders?.items)\n return <div className='mt-3'><PartialFolderList count={22} /></div>;\n\n if (!libraryFolders.items.length)\n return <></>;\n\n return (\n <div className='mx-n2'>\n <FolderList\n folders={libraryFolders.items}\n getAppLink={(f: Folder) => getFolderAppLink(f)}\n expandFolders\n showHeading={false}\n />\n </div>\n );\n })()}\n </>\n );\n}"],"names":["namespace","getPhrase","LanguageService","ExchangeView","fetch","Flight.useGetFetch","exchange","Flight.useBasicFetch","ExchangeRequests","getRequest","cursor","LibraryRequests","fetchNext","libraryFolders","useFetchAll","useHandleObjectError","useSetPageMetadata","jsxs","Fragment","jsx","ExchangeSearchBar","ExchangeTabs","FolderList","f","getFolderAppLink","PartialFolderList"],"mappings":"8wBAkBA,MAAMA,EAAY,oBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,GAA4B,CAC1C,MAAMC,EAAQC,EAAO,EAEfC,EAAWC,EAA8BC,EAAiB,UAAU,EACpEC,EAAcC,GAAmBC,EAAgB,aAAaL,EAAS,KAAK,aAAa,GAAII,CAAM,EACnGE,EAAaF,GAAmBN,EAAMK,EAAWC,CAAM,CAAC,EACxDG,EAAiBC,EAAYR,EAAS,MAAQG,EAAYG,CAAS,EAEzE,OAAAG,EAAqBT,CAAQ,EAE7BU,EAAmB,CAAE,MAAOf,EAAU,iBAAiB,EAAG,EAGxDgB,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAD,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAE,EAAAA,IAACC,EAAA,EAAkB,EACnBD,EAAAA,IAACE,EAAA,CAAa,OAAO,YAAA,CAAa,CAAA,EACpC,EAGOR,GAAA,MAAAA,EAAgB,MAGhBA,EAAe,MAAM,OAIxBM,EAAAA,IAAC,MAAA,CAAI,UAAU,QACb,SAAAA,EAAAA,IAACG,EAAA,CACC,QAAST,EAAe,MACxB,WAAaU,GAAcC,EAAiBD,CAAC,EAC7C,cAAa,GACb,YAAa,EAAA,CAAA,EAEjB,EAVOJ,EAAAA,IAAAD,EAAAA,SAAA,EAAE,EAHFC,MAAC,OAAI,UAAU,OAAO,eAACM,EAAA,CAAkB,MAAO,GAAI,CAAA,CAAE,CAe9D,EACL,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{a2 as S,a3 as n,R as i,ab as w,ae as k,ad as E,aI as L,af as T,L as C,j as e,P as R,am as I,B as p,x as m,A as F,aD as U}from"./app-BeXfSt3Z.js";import{S as q}from"./RR_Npo-u.chunk.js";import{V as B}from"./Cvh5d6g-.chunk.js";import{u as H}from"./BOgut51m.chunk.js";import{E as u}from"./QBPzgKy4.chunk.js";import{u as D}from"./D7ex9pZI.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./DVGSZWvj.chunk.js";const c="exchange.add",o=C.encloseNamespace(c);function X(s){var l;const x=H(),f=S(),g=n(U.config()),h=n(u.exchange()),a=n(B.video(s.id)),[r,j]=i.useState(!1),[A,P]=i.useState(!1),[V,b]=i.useState(null),{previewContext:t,clearPreviewContext:v}=D(s.id,!1);i.useEffect(()=>{!a.data||A||y()},[(l=a.data)==null?void 0:l.id]);async function y(){P(!0);try{const N=await f(u.addVideo(h.data.id,a.data.id));j(!0),b(N.id),w.logUserAction({id:a.data.id,name:a.data.name},{actionType:T.Submit,descriptor:L.AddToWorkspace,location:E.Popup,entity:k.Video})}catch{x.error(o("error")),s.closePopup()}}function d(){s.closePopup(),t!=null&&t.appLink&&(q.preventScrollTop(),F.trigger(t.appLink),v())}return e.jsx(R,{title:o("title"),closePopup:d,showLoadingSpinner:!r,children:r&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mx-auto w-75 mt-1 mb-2",children:e.jsx("img",{src:I.General.CONFETTI,className:"img-fluid",draggable:!1})}),e.jsx("div",{className:"text-center pb-3",children:e.jsx("h4",{className:"mb-2",children:e.jsx(p,{namespace:c,phrase:"added"})})}),e.jsxs(m,{children:[e.jsx(m.Cancel,{text:o("close"),onClick:d,variant:"link"}),e.jsx("a",{href:`${g.data.liteUrl}/videos/${V}`,className:"btn btn-dark",children:e.jsx("span",{className:"align-text-bottom me-1",children:e.jsx(p,{namespace:c,phrase:"open"})})})]})]})})}export{X as ExchangeAddView};
2
- //# sourceMappingURL=CvC-3rY8.chunk.js.map
1
+ import{a2 as S,a3 as n,R as i,ab as w,ae as k,ad as E,aI as L,af as T,L as C,j as e,P as R,am as I,B as p,x as m,A as F,aD as U}from"./app-DQUfzK7M.js";import{S as q}from"./-rc15O6e.chunk.js";import{V as B}from"./CidOInHw.chunk.js";import{u as H}from"./JVtTNBu8.chunk.js";import{E as u}from"./D_UfRtxO.chunk.js";import{u as D}from"./NnLpFayg.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./DAYsHx3K.chunk.js";const c="exchange.add",o=C.encloseNamespace(c);function X(s){var l;const x=H(),f=S(),g=n(U.config()),h=n(u.exchange()),a=n(B.video(s.id)),[r,j]=i.useState(!1),[A,P]=i.useState(!1),[V,b]=i.useState(null),{previewContext:t,clearPreviewContext:v}=D(s.id,!1);i.useEffect(()=>{!a.data||A||y()},[(l=a.data)==null?void 0:l.id]);async function y(){P(!0);try{const N=await f(u.addVideo(h.data.id,a.data.id));j(!0),b(N.id),w.logUserAction({id:a.data.id,name:a.data.name},{actionType:T.Submit,descriptor:L.AddToWorkspace,location:E.Popup,entity:k.Video})}catch{x.error(o("error")),s.closePopup()}}function d(){s.closePopup(),t!=null&&t.appLink&&(q.preventScrollTop(),F.trigger(t.appLink),v())}return e.jsx(R,{title:o("title"),closePopup:d,showLoadingSpinner:!r,children:r&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mx-auto w-75 mt-1 mb-2",children:e.jsx("img",{src:I.General.CONFETTI,className:"img-fluid",draggable:!1})}),e.jsx("div",{className:"text-center pb-3",children:e.jsx("h4",{className:"mb-2",children:e.jsx(p,{namespace:c,phrase:"added"})})}),e.jsxs(m,{children:[e.jsx(m.Cancel,{text:o("close"),onClick:d,variant:"link"}),e.jsx("a",{href:`${g.data.liteUrl}/videos/${V}`,className:"btn btn-dark",children:e.jsx("span",{className:"align-text-bottom me-1",children:e.jsx(p,{namespace:c,phrase:"open"})})})]})]})})}export{X as ExchangeAddView};
2
+ //# sourceMappingURL=D6Y1z38S.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CvC-3rY8.chunk.js","sources":["../../src/apps/exchange/views/exchange-add/ExchangeAddView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor } from 'libs/analytics/interfaces';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { Config, Library, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\n\nconst namespace = 'exchange.add';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeAddViewProps extends PopupViewProps {\n id: string;\n}\n\nexport function ExchangeAddView(props: ExchangeAddViewProps): JSX.Element {\n const alerts = useAlerts();\n const fetchAsync = Flight.useGetFetchAsync();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\n\n const [ added, setAdded ] = React.useState<boolean>(false);\n const [ adding, setAdding ] = React.useState<boolean>(false);\n const [ newVideoId, setNewVideoId ] = React.useState<string>(null);\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.id, false);\n\n React.useEffect(() => {\n if (!video.data || adding)\n return;\n\n addVideo();\n }, [video.data?.id]);\n\n async function addVideo() {\n setAdding(true);\n\n try {\n const newVideo = await fetchAsync<Video>(ExchangeRequests.addVideo(\n exchange.data.id,\n video.data.id\n ));\n\n setAdded(true);\n setNewVideoId(newVideo.id);\n\n AnalyticsHelper.logUserAction(\n { id: video.data.id, name: video.data.name },\n {\n actionType: UserAction.Submit,\n descriptor: VideoActionDescriptor.AddToWorkspace,\n location: LocationContext.Popup,\n entity: EntityType.Video\n }\n );\n } catch {\n alerts.error(getPhrase('error'));\n props.closePopup();\n }\n }\n\n /**\n * Because the add view can be navigated to from the ExchangePreviewView\n * which is an addressable popup, we need to navigate back to the \n * original route when this popup is closed - Sha\n */\n function closePopup(): void {\n props.closePopup();\n\n if (!previewContext?.appLink)\n return;\n\n ScrollHelper.preventScrollTop();\n Core.AppLinkHelper.trigger(previewContext.appLink);\n clearPreviewContext();\n }\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={closePopup}\n showLoadingSpinner={!added}\n >\n {added &&\n <>\n <div className='mx-auto w-75 mt-1 mb-2'>\n <img src={ImageUrls.General.CONFETTI} className='img-fluid' draggable={false} />\n </div>\n\n <div className='text-center pb-3'>\n <h4 className='mb-2'>\n <Text namespace={namespace} phrase={'added'} />\n </h4>\n </div>\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('close')}\n onClick={closePopup}\n variant='link'\n />\n <a href={`${config.data.liteUrl}/videos/${newVideoId}`} className={'btn btn-dark'}>\n <span className='align-text-bottom me-1'>\n <Text namespace={namespace} phrase={'open'} />\n </span>\n </a>\n </PopupButtons>\n </>\n }\n </Popup>\n );\n}"],"names":["namespace","getPhrase","LanguageService","ExchangeAddView","props","alerts","useAlerts","fetchAsync","Flight.useGetFetchAsync","config","Flight.useBasicFetch","ConfigRequests","exchange","ExchangeRequests","video","VideoRequests","added","setAdded","React","adding","setAdding","newVideoId","setNewVideoId","previewContext","clearPreviewContext","usePreviewContext","addVideo","_a","newVideo","AnalyticsHelper","UserAction","VideoActionDescriptor","LocationContext","EntityType","closePopup","ScrollHelper","Core.AppLinkHelper","jsx","Popup","jsxs","Fragment","ImageUrls","Text","PopupButtons"],"mappings":"obAuBA,MAAMA,EAAY,eACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAMrD,SAASG,EAAgBC,EAA0C,OACxE,MAAMC,EAASC,EAAA,EACTC,EAAaC,EAAO,EAEpBC,EAASC,EAA6BC,EAAe,QAAQ,EAC7DC,EAAWF,EAA8BG,EAAiB,UAAU,EACpEC,EAAQJ,EAA4BK,EAAc,MAAMX,EAAM,EAAE,CAAC,EAEjE,CAAEY,EAAOC,CAAS,EAAIC,EAAM,SAAkB,EAAK,EACnD,CAAEC,EAAQC,CAAU,EAAIF,EAAM,SAAkB,EAAK,EACrD,CAAEG,EAAYC,CAAc,EAAIJ,EAAM,SAAiB,IAAI,EAE3D,CAAE,eAAAK,EAAgB,oBAAAC,CAAA,EAAwBC,EAAkBrB,EAAM,GAAI,EAAK,EAEjFc,EAAM,UAAU,IAAM,CAChB,CAACJ,EAAM,MAAQK,GAGnBO,EAAA,CACF,EAAG,EAACC,EAAAb,EAAM,OAAN,YAAAa,EAAY,EAAE,CAAC,EAEnB,eAAeD,GAAW,CACxBN,EAAU,EAAI,EAEd,GAAI,CACF,MAAMQ,EAAW,MAAMrB,EAAkBM,EAAiB,SACxDD,EAAS,KAAK,GACdE,EAAM,KAAK,EAAA,CACZ,EAEDG,EAAS,EAAI,EACbK,EAAcM,EAAS,EAAE,EAEzBC,EAAgB,cACd,CAAE,GAAIf,EAAM,KAAK,GAAI,KAAMA,EAAM,KAAK,IAAA,EACtC,CACE,WAAYgB,EAAW,OACvB,WAAYC,EAAsB,eAClC,SAAUC,EAAgB,MAC1B,OAAQC,EAAW,KAAA,CACrB,CAEJ,MAAQ,CACN5B,EAAO,MAAMJ,EAAU,OAAO,CAAC,EAC/BG,EAAM,WAAA,CACR,CACF,CAOA,SAAS8B,GAAmB,CAC1B9B,EAAM,WAAA,EAEDmB,GAAA,MAAAA,EAAgB,UAGrBY,EAAa,iBAAA,EACbC,EAAmB,QAAQb,EAAe,OAAO,EACjDC,EAAA,EACF,CAEA,OACEa,EAAAA,IAACC,EAAA,CACC,MAAOrC,EAAU,OAAO,EACxB,WAAAiC,EACA,mBAAoB,CAAClB,EAEpB,YACCuB,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAH,EAAAA,IAAC,MAAA,CAAI,UAAU,yBACb,SAAAA,EAAAA,IAAC,MAAA,CAAI,IAAKI,EAAU,QAAQ,SAAU,UAAU,YAAY,UAAW,GAAO,EAChF,EAEAJ,MAAC,MAAA,CAAI,UAAU,mBACb,eAAC,KAAA,CAAG,UAAU,OACZ,SAAAA,EAAAA,IAACK,EAAA,CAAK,UAAA1C,EAAsB,OAAQ,OAAA,CAAS,EAC/C,EACF,SAEC2C,EAAA,CACC,SAAA,CAAAN,EAAAA,IAACM,EAAa,OAAb,CACC,KAAM1C,EAAU,OAAO,EACvB,QAASiC,EACT,QAAQ,MAAA,CAAA,EAEVG,EAAAA,IAAC,KAAE,KAAM,GAAG5B,EAAO,KAAK,OAAO,WAAWY,CAAU,GAAI,UAAW,eACjE,SAAAgB,EAAAA,IAAC,OAAA,CAAK,UAAU,yBACd,SAAAA,EAAAA,IAACK,GAAK,UAAA1C,EAAsB,OAAQ,MAAA,CAAQ,CAAA,CAC9C,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAIR"}
1
+ {"version":3,"file":"D6Y1z38S.chunk.js","sources":["../../src/apps/exchange/views/exchange-add/ExchangeAddView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor } from 'libs/analytics/interfaces';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { Config, Library, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\n\nconst namespace = 'exchange.add';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeAddViewProps extends PopupViewProps {\n id: string;\n}\n\nexport function ExchangeAddView(props: ExchangeAddViewProps): JSX.Element {\n const alerts = useAlerts();\n const fetchAsync = Flight.useGetFetchAsync();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\n\n const [ added, setAdded ] = React.useState<boolean>(false);\n const [ adding, setAdding ] = React.useState<boolean>(false);\n const [ newVideoId, setNewVideoId ] = React.useState<string>(null);\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.id, false);\n\n React.useEffect(() => {\n if (!video.data || adding)\n return;\n\n addVideo();\n }, [video.data?.id]);\n\n async function addVideo() {\n setAdding(true);\n\n try {\n const newVideo = await fetchAsync<Video>(ExchangeRequests.addVideo(\n exchange.data.id,\n video.data.id\n ));\n\n setAdded(true);\n setNewVideoId(newVideo.id);\n\n AnalyticsHelper.logUserAction(\n { id: video.data.id, name: video.data.name },\n {\n actionType: UserAction.Submit,\n descriptor: VideoActionDescriptor.AddToWorkspace,\n location: LocationContext.Popup,\n entity: EntityType.Video\n }\n );\n } catch {\n alerts.error(getPhrase('error'));\n props.closePopup();\n }\n }\n\n /**\n * Because the add view can be navigated to from the ExchangePreviewView\n * which is an addressable popup, we need to navigate back to the \n * original route when this popup is closed - Sha\n */\n function closePopup(): void {\n props.closePopup();\n\n if (!previewContext?.appLink)\n return;\n\n ScrollHelper.preventScrollTop();\n Core.AppLinkHelper.trigger(previewContext.appLink);\n clearPreviewContext();\n }\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={closePopup}\n showLoadingSpinner={!added}\n >\n {added &&\n <>\n <div className='mx-auto w-75 mt-1 mb-2'>\n <img src={ImageUrls.General.CONFETTI} className='img-fluid' draggable={false} />\n </div>\n\n <div className='text-center pb-3'>\n <h4 className='mb-2'>\n <Text namespace={namespace} phrase={'added'} />\n </h4>\n </div>\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('close')}\n onClick={closePopup}\n variant='link'\n />\n <a href={`${config.data.liteUrl}/videos/${newVideoId}`} className={'btn btn-dark'}>\n <span className='align-text-bottom me-1'>\n <Text namespace={namespace} phrase={'open'} />\n </span>\n </a>\n </PopupButtons>\n </>\n }\n </Popup>\n );\n}"],"names":["namespace","getPhrase","LanguageService","ExchangeAddView","props","alerts","useAlerts","fetchAsync","Flight.useGetFetchAsync","config","Flight.useBasicFetch","ConfigRequests","exchange","ExchangeRequests","video","VideoRequests","added","setAdded","React","adding","setAdding","newVideoId","setNewVideoId","previewContext","clearPreviewContext","usePreviewContext","addVideo","_a","newVideo","AnalyticsHelper","UserAction","VideoActionDescriptor","LocationContext","EntityType","closePopup","ScrollHelper","Core.AppLinkHelper","jsx","Popup","jsxs","Fragment","ImageUrls","Text","PopupButtons"],"mappings":"obAuBA,MAAMA,EAAY,eACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAMrD,SAASG,EAAgBC,EAA0C,OACxE,MAAMC,EAASC,EAAA,EACTC,EAAaC,EAAO,EAEpBC,EAASC,EAA6BC,EAAe,QAAQ,EAC7DC,EAAWF,EAA8BG,EAAiB,UAAU,EACpEC,EAAQJ,EAA4BK,EAAc,MAAMX,EAAM,EAAE,CAAC,EAEjE,CAAEY,EAAOC,CAAS,EAAIC,EAAM,SAAkB,EAAK,EACnD,CAAEC,EAAQC,CAAU,EAAIF,EAAM,SAAkB,EAAK,EACrD,CAAEG,EAAYC,CAAc,EAAIJ,EAAM,SAAiB,IAAI,EAE3D,CAAE,eAAAK,EAAgB,oBAAAC,CAAA,EAAwBC,EAAkBrB,EAAM,GAAI,EAAK,EAEjFc,EAAM,UAAU,IAAM,CAChB,CAACJ,EAAM,MAAQK,GAGnBO,EAAA,CACF,EAAG,EAACC,EAAAb,EAAM,OAAN,YAAAa,EAAY,EAAE,CAAC,EAEnB,eAAeD,GAAW,CACxBN,EAAU,EAAI,EAEd,GAAI,CACF,MAAMQ,EAAW,MAAMrB,EAAkBM,EAAiB,SACxDD,EAAS,KAAK,GACdE,EAAM,KAAK,EAAA,CACZ,EAEDG,EAAS,EAAI,EACbK,EAAcM,EAAS,EAAE,EAEzBC,EAAgB,cACd,CAAE,GAAIf,EAAM,KAAK,GAAI,KAAMA,EAAM,KAAK,IAAA,EACtC,CACE,WAAYgB,EAAW,OACvB,WAAYC,EAAsB,eAClC,SAAUC,EAAgB,MAC1B,OAAQC,EAAW,KAAA,CACrB,CAEJ,MAAQ,CACN5B,EAAO,MAAMJ,EAAU,OAAO,CAAC,EAC/BG,EAAM,WAAA,CACR,CACF,CAOA,SAAS8B,GAAmB,CAC1B9B,EAAM,WAAA,EAEDmB,GAAA,MAAAA,EAAgB,UAGrBY,EAAa,iBAAA,EACbC,EAAmB,QAAQb,EAAe,OAAO,EACjDC,EAAA,EACF,CAEA,OACEa,EAAAA,IAACC,EAAA,CACC,MAAOrC,EAAU,OAAO,EACxB,WAAAiC,EACA,mBAAoB,CAAClB,EAEpB,YACCuB,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAH,EAAAA,IAAC,MAAA,CAAI,UAAU,yBACb,SAAAA,EAAAA,IAAC,MAAA,CAAI,IAAKI,EAAU,QAAQ,SAAU,UAAU,YAAY,UAAW,GAAO,EAChF,EAEAJ,MAAC,MAAA,CAAI,UAAU,mBACb,eAAC,KAAA,CAAG,UAAU,OACZ,SAAAA,EAAAA,IAACK,EAAA,CAAK,UAAA1C,EAAsB,OAAQ,OAAA,CAAS,EAC/C,EACF,SAEC2C,EAAA,CACC,SAAA,CAAAN,EAAAA,IAACM,EAAa,OAAb,CACC,KAAM1C,EAAU,OAAO,EACvB,QAASiC,EACT,QAAQ,MAAA,CAAA,EAEVG,EAAAA,IAAC,KAAE,KAAM,GAAG5B,EAAO,KAAK,OAAO,WAAWY,CAAU,GAAI,UAAW,eACjE,SAAAgB,EAAAA,IAAC,OAAA,CAAK,UAAU,yBACd,SAAAA,EAAAA,IAACK,GAAK,UAAA1C,EAAsB,OAAQ,MAAA,CAAQ,CAAA,CAC9C,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAIR"}
@@ -1,2 +1,2 @@
1
- import{c as _,L as g,Z as T}from"./app-BeXfSt3Z.js";const O="sharedSearch.utils",m={"featured-result":1,"topic-list":8,company:8,"playlist-with-videos":1,"series-with-videos":1,"series-thumbnail":1,"playlist-thumbnail":1,"video-item":1,"companies-and-topics":16},E="curriculumCode",A={flattenResults(e){return e?e.results?{...e,results:_.flatten(e.results)}:{...e,results:[]}:null},getContextualSearchQueryParams(e){if(!e||!e.get("filterParam"))return{};const t=e.get("filterParam"),r=e.get("filterValue");return{[t]:r}},mapMaxScoreToSearchResults(e,t){return e.map(r=>t?{...r,_maxScore:t}:r)},groupResults(e,t,r,f,a){var c,p;if(!(e!=null&&e.length)&&!((c=t==null?void 0:t.results)!=null&&c.length)&&!((p=r==null?void 0:r.results)!=null&&p.length))return[];const[u,...s]=e,i=a.xs||a.sm,l=P(u,t,r,f,i);return s!=null&&s.length?S(s,l,i):l}};function v(e,t){var r;if(e._index==="video"||e._index==="interactive"||e._index==="clip")return"video-item";if(e._index==="series")return(r=e.tallPoster)!=null&&r.id&&!t?"series-with-videos":"series-thumbnail";if(e._index==="classification")return"topic-list";if(e._index==="playlist")return t?"playlist-thumbnail":"playlist-with-videos"}function P(e,t,r,f,a){var c,p,y;const u=a?"playlist-thumbnail":"playlist-with-videos",s=a?"series-thumbnail":"series-with-videos",i=[{type:"companies-and-topics",items:[...((c=r==null?void 0:r.results)==null?void 0:c.slice(0,m.company))??[],...((p=t==null?void 0:t.results)==null?void 0:p.slice(0,m["topic-list"]))??[]]},{type:"featured-result",items:T.isEmpty(f)?[]:[f]},{type:"video-item",items:[]},{type:"video-item",items:[]},{type:"video-item",items:[]},{type:u,items:[]},{type:s,items:[]},{heading:g.getPhrase(O,"relatedTopics"),type:"topic-list",items:((y=t==null?void 0:t.results)==null?void 0:y.slice(m["topic-list"],m["topic-list"]*2))??[]}];let l=!1;return e==null||e.forEach(n=>{const h=v(n,a);if(n._featured&&!l&&n._index==="video"){l=!0;return}if(i[2].items.length<m["video-item"]&&h==="video-item"){i[2].items.push(n);return}if(i[3].items.length<m["video-item"]&&h==="video-item"){i[3].items.push(n);return}if(i[4].items.length<m["video-item"]&&h==="video-item"){i[4].items.push(n);return}if(i[5].items.length<m[u]&&h===u){i[5].items.push(n);return}if(i[6].items.length<m[s]&&h===s){i[6].items.push(n);return}const d=i[i.length-1];if((d==null?void 0:d.type)===h){const o=m[h];d.items.length>=o?i.push({type:h,items:[n]}):d.items.push(n)}else i.push({type:h,items:[n]})}),i.filter(n=>{var h;return(h=n.items)==null?void 0:h.length})}function S(e,t,r){return e&&e.forEach(f=>{const a=t[t.length-1];let u=!0;f.forEach(s=>{const i=v(s,r);if(u&&a.type===i)a.items.length>=m[i]?(u=!1,t.push({type:i,items:[s]})):a.items.push(s);else{const l=t[t.length-1];(l==null?void 0:l.type)===i?l.items.length>=m[i]?t.push({type:i,items:[s]}):l.items.push(s):t.push({type:i,items:[s]})}})}),t}export{A as S,E as a};
2
- //# sourceMappingURL=DVGSZWvj.chunk.js.map
1
+ import{c as _,L as g,Z as T}from"./app-DQUfzK7M.js";const O="sharedSearch.utils",m={"featured-result":1,"topic-list":8,company:8,"playlist-with-videos":1,"series-with-videos":1,"series-thumbnail":1,"playlist-thumbnail":1,"video-item":1,"companies-and-topics":16},E="curriculumCode",A={flattenResults(e){return e?e.results?{...e,results:_.flatten(e.results)}:{...e,results:[]}:null},getContextualSearchQueryParams(e){if(!e||!e.get("filterParam"))return{};const t=e.get("filterParam"),r=e.get("filterValue");return{[t]:r}},mapMaxScoreToSearchResults(e,t){return e.map(r=>t?{...r,_maxScore:t}:r)},groupResults(e,t,r,f,a){var c,p;if(!(e!=null&&e.length)&&!((c=t==null?void 0:t.results)!=null&&c.length)&&!((p=r==null?void 0:r.results)!=null&&p.length))return[];const[u,...s]=e,i=a.xs||a.sm,l=P(u,t,r,f,i);return s!=null&&s.length?S(s,l,i):l}};function v(e,t){var r;if(e._index==="video"||e._index==="interactive"||e._index==="clip")return"video-item";if(e._index==="series")return(r=e.tallPoster)!=null&&r.id&&!t?"series-with-videos":"series-thumbnail";if(e._index==="classification")return"topic-list";if(e._index==="playlist")return t?"playlist-thumbnail":"playlist-with-videos"}function P(e,t,r,f,a){var c,p,y;const u=a?"playlist-thumbnail":"playlist-with-videos",s=a?"series-thumbnail":"series-with-videos",i=[{type:"companies-and-topics",items:[...((c=r==null?void 0:r.results)==null?void 0:c.slice(0,m.company))??[],...((p=t==null?void 0:t.results)==null?void 0:p.slice(0,m["topic-list"]))??[]]},{type:"featured-result",items:T.isEmpty(f)?[]:[f]},{type:"video-item",items:[]},{type:"video-item",items:[]},{type:"video-item",items:[]},{type:u,items:[]},{type:s,items:[]},{heading:g.getPhrase(O,"relatedTopics"),type:"topic-list",items:((y=t==null?void 0:t.results)==null?void 0:y.slice(m["topic-list"],m["topic-list"]*2))??[]}];let l=!1;return e==null||e.forEach(n=>{const h=v(n,a);if(n._featured&&!l&&n._index==="video"){l=!0;return}if(i[2].items.length<m["video-item"]&&h==="video-item"){i[2].items.push(n);return}if(i[3].items.length<m["video-item"]&&h==="video-item"){i[3].items.push(n);return}if(i[4].items.length<m["video-item"]&&h==="video-item"){i[4].items.push(n);return}if(i[5].items.length<m[u]&&h===u){i[5].items.push(n);return}if(i[6].items.length<m[s]&&h===s){i[6].items.push(n);return}const d=i[i.length-1];if((d==null?void 0:d.type)===h){const o=m[h];d.items.length>=o?i.push({type:h,items:[n]}):d.items.push(n)}else i.push({type:h,items:[n]})}),i.filter(n=>{var h;return(h=n.items)==null?void 0:h.length})}function S(e,t,r){return e&&e.forEach(f=>{const a=t[t.length-1];let u=!0;f.forEach(s=>{const i=v(s,r);if(u&&a.type===i)a.items.length>=m[i]?(u=!1,t.push({type:i,items:[s]})):a.items.push(s);else{const l=t[t.length-1];(l==null?void 0:l.type)===i?l.items.length>=m[i]?t.push({type:i,items:[s]}):l.items.push(s):t.push({type:i,items:[s]})}})}),t}export{A as S,E as a};
2
+ //# sourceMappingURL=DAYsHx3K.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DVGSZWvj.chunk.js","sources":["../../../../libs/shared/src/apps/search/utils/SharedSearchHelper.ts"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { SearchResultObjectTypes, SearchResults, TabulatedSearchResults } from 'libs/shared/apps/search/interfaces';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Series } from 'libs/shared/interfaces';\n\nconst namespace = 'sharedSearch.utils';\n\nconst ObjectTypeCapacities = {\n 'featured-result': 1,\n 'topic-list': 8,\n 'company': 8,\n 'playlist-with-videos': 1,\n 'series-with-videos': 1,\n 'series-thumbnail': 1,\n 'playlist-thumbnail': 1,\n 'video-item': 1,\n 'companies-and-topics': 16\n};\n\nexport const SEARCH_CURRICULUM_CODE_PARAM = 'curriculumCode';\n\nexport type SearchComponentTypes = 'featured-result' | 'topic-list' | 'playlist-with-videos' | 'playlist-thumbnail' | 'series-with-videos' | 'series-thumbnail' | 'video-item' | 'companies-and-topics';\n\nexport interface ResultGrouping {\n heading?: string;\n type: SearchComponentTypes;\n items: SearchResultObjectTypes[];\n}\n\ntype ResultGroupings = ResultGrouping[];\n\nexport const SharedSearchHelper = {\n flattenResults(tabulatedResults: TabulatedSearchResults): SearchResults {\n if (!tabulatedResults)\n return null;\n\n if (!tabulatedResults.results)\n return {\n ...tabulatedResults,\n results: []\n };\n\n return {\n ...tabulatedResults,\n results: ArrayHelper.flatten(tabulatedResults.results)\n };\n },\n getContextualSearchQueryParams(context: Core.Model): HashObject {\n if (!context || !context.get('filterParam'))\n return {};\n\n const param = context.get('filterParam');\n const value = context.get('filterValue');\n\n return {\n [param]: value\n };\n },\n\n /**\n * In order to better analyse which search results our users are selecting, we'll track both the\n * video's individual search score relative to the result which had the highest score or was considered to be\n * the \"best\" match.\n */\n mapMaxScoreToSearchResults<T extends SearchResultObjectTypes>(results: T[], resultsMaxScore: number): T[] {\n return results.map(r => {\n if (resultsMaxScore)\n return { ...r, _maxScore: resultsMaxScore };\n return r;\n });\n },\n\n groupResults(\n results: TabulatedSearchResults['results'],\n topicResults: SearchResults,\n companyResults: SearchResults,\n featuredResult: SearchResultObjectTypes,\n breakpoints: Breakpoints\n ): ResultGroupings {\n if (!results?.length && !topicResults?.results?.length && !companyResults?.results?.length)\n return [];\n\n const [ firstPageResults, ...otherPagesResults ] = results;\n const useSmallComponent = breakpoints.xs || breakpoints.sm;\n\n // The first page of results has a very specific structure\n const firstPage = structureFirstPage(\n firstPageResults,\n topicResults,\n companyResults,\n featuredResult,\n useSmallComponent\n );\n\n if (!otherPagesResults?.length)\n return firstPage;\n\n // All pages other than the first page have a less-defined structure\n return structureOtherPages(otherPagesResults, firstPage, useSmallComponent);\n }\n};\n\nfunction getObjectGrouping(\n obj: SearchResultObjectTypes,\n isUsingSmallComponent: boolean\n): SearchComponentTypes {\n if (obj._index === 'video' || obj._index === 'interactive' || obj._index === 'clip') {\n return 'video-item';\n }\n\n if (obj._index === 'series') {\n // Use series item when getting small\n if ((obj as Series).tallPoster?.id && !isUsingSmallComponent) {\n return 'series-with-videos';\n }\n\n return 'series-thumbnail';\n }\n\n if (obj._index === 'classification') {\n return 'topic-list';\n }\n\n if (obj._index === 'playlist') {\n if (isUsingSmallComponent) {\n return 'playlist-thumbnail';\n }\n \n return 'playlist-with-videos';\n }\n}\n\nfunction structureFirstPage(\n firstPage: SearchResultObjectTypes[],\n topicResults: SearchResults,\n companyResults: SearchResults,\n featuredResult: SearchResultObjectTypes,\n isUsingSmallComponent: boolean\n): ResultGroupings {\n /**\n * The very top of our search results has a defined structure of:\n * - 8 topics\n * - 1 featured video result (if there is one)\n * - 3 videos\n * - 1 playlist\n * - 1 series\n * - 8 topics\n * \n * We do our best from the first page of results to build this out. From then on, the results\n * render in order of relevancy.\n */\n const playlistType: SearchComponentTypes = isUsingSmallComponent ? 'playlist-thumbnail' : 'playlist-with-videos';\n const seriesType: SearchComponentTypes = isUsingSmallComponent ? 'series-thumbnail' : 'series-with-videos';\n const groupings: ResultGroupings = [\n {\n type: 'companies-and-topics',\n items: [\n ...(companyResults?.results?.slice(0, ObjectTypeCapacities['company']) ?? []),\n ...(topicResults?.results?.slice(0, ObjectTypeCapacities['topic-list']) ?? [])\n ]\n },\n {\n type: 'featured-result',\n items: !ObjectHelper.isEmpty(featuredResult) ? [featuredResult] : []\n },\n {\n type: 'video-item',\n items: []\n },\n {\n type: 'video-item',\n items: []\n },\n {\n type: 'video-item',\n items: []\n },\n {\n type: playlistType,\n items: []\n },\n {\n type: seriesType,\n items: []\n },\n {\n heading: LanguageService.getPhrase(namespace, 'relatedTopics'),\n type: 'topic-list',\n items: topicResults?.results?.slice(ObjectTypeCapacities['topic-list'], ObjectTypeCapacities['topic-list'] * 2) ?? []\n }\n ];\n\n let featuredResultFound = false;\n\n firstPage?.forEach(obj => {\n const currentObjectType = getObjectGrouping(obj, isUsingSmallComponent);\n\n // Identify the featured result, and leave it out of the main groupings\n if (obj._featured && !featuredResultFound && (obj._index === 'video')) {\n featuredResultFound = true;\n return;\n }\n\n if (groupings[2].items.length < ObjectTypeCapacities['video-item'] && currentObjectType === 'video-item') {\n groupings[2].items.push(obj);\n return;\n }\n\n if (groupings[3].items.length < ObjectTypeCapacities['video-item'] && currentObjectType === 'video-item') {\n groupings[3].items.push(obj);\n return;\n }\n\n if (groupings[4].items.length < ObjectTypeCapacities['video-item'] && currentObjectType === 'video-item') {\n groupings[4].items.push(obj);\n return;\n }\n\n if (groupings[5].items.length < ObjectTypeCapacities[playlistType] && currentObjectType === playlistType) {\n groupings[5].items.push(obj);\n return;\n }\n\n if (groupings[6].items.length < ObjectTypeCapacities[seriesType] && currentObjectType === seriesType) {\n groupings[6].items.push(obj);\n return;\n }\n\n const latestGrouping = groupings[groupings.length - 1];\n\n if (latestGrouping?.type === currentObjectType) {\n const capacity = ObjectTypeCapacities[currentObjectType];\n\n if (latestGrouping.items.length >= capacity) {\n groupings.push({ type: currentObjectType, items: [obj]});\n } else {\n latestGrouping.items.push(obj);\n }\n } else {\n groupings.push({ type: currentObjectType, items: [obj]});\n }\n });\n\n return groupings.filter(grouping => grouping.items?.length);\n}\n\nfunction structureOtherPages(\n otherPages: SearchResultObjectTypes[][],\n existingGroupings: ResultGroupings,\n isUsingSmallComponent: boolean\n): ResultGroupings {\n if (!otherPages)\n return existingGroupings;\n\n otherPages.forEach(page => {\n const lastGroupingFromPreviousPage = existingGroupings[existingGroupings.length - 1];\n\n let shouldAppendToPreviousGrouping = true;\n\n page.forEach(obj => {\n const currentObjectType = getObjectGrouping(obj, isUsingSmallComponent);\n\n if (shouldAppendToPreviousGrouping && lastGroupingFromPreviousPage.type === currentObjectType) {\n if (lastGroupingFromPreviousPage.items.length >= ObjectTypeCapacities[currentObjectType]) {\n shouldAppendToPreviousGrouping = false;\n existingGroupings.push({ type: currentObjectType, items: [obj]});\n } else {\n lastGroupingFromPreviousPage.items.push(obj);\n }\n } else {\n const latestGrouping = existingGroupings[existingGroupings.length - 1];\n\n if (latestGrouping?.type === currentObjectType) {\n if (latestGrouping.items.length >= ObjectTypeCapacities[currentObjectType]) {\n existingGroupings.push({ type: currentObjectType, items: [obj]});\n } else {\n latestGrouping.items.push(obj);\n }\n } else {\n existingGroupings.push({ type: currentObjectType, items: [obj]});\n }\n }\n });\n });\n\n return existingGroupings;\n}"],"names":["namespace","ObjectTypeCapacities","SEARCH_CURRICULUM_CODE_PARAM","SharedSearchHelper","tabulatedResults","ArrayHelper","context","param","value","results","resultsMaxScore","topicResults","companyResults","featuredResult","breakpoints","_a","_b","firstPageResults","otherPagesResults","useSmallComponent","firstPage","structureFirstPage","structureOtherPages","getObjectGrouping","obj","isUsingSmallComponent","playlistType","seriesType","groupings","ObjectHelper","LanguageService","_c","featuredResultFound","currentObjectType","latestGrouping","capacity","grouping","otherPages","existingGroupings","page","lastGroupingFromPreviousPage","shouldAppendToPreviousGrouping"],"mappings":"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"}
1
+ {"version":3,"file":"DAYsHx3K.chunk.js","sources":["../../../../libs/shared/src/apps/search/utils/SharedSearchHelper.ts"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { SearchResultObjectTypes, SearchResults, TabulatedSearchResults } from 'libs/shared/apps/search/interfaces';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Series } from 'libs/shared/interfaces';\n\nconst namespace = 'sharedSearch.utils';\n\nconst ObjectTypeCapacities = {\n 'featured-result': 1,\n 'topic-list': 8,\n 'company': 8,\n 'playlist-with-videos': 1,\n 'series-with-videos': 1,\n 'series-thumbnail': 1,\n 'playlist-thumbnail': 1,\n 'video-item': 1,\n 'companies-and-topics': 16\n};\n\nexport const SEARCH_CURRICULUM_CODE_PARAM = 'curriculumCode';\n\nexport type SearchComponentTypes = 'featured-result' | 'topic-list' | 'playlist-with-videos' | 'playlist-thumbnail' | 'series-with-videos' | 'series-thumbnail' | 'video-item' | 'companies-and-topics';\n\nexport interface ResultGrouping {\n heading?: string;\n type: SearchComponentTypes;\n items: SearchResultObjectTypes[];\n}\n\ntype ResultGroupings = ResultGrouping[];\n\nexport const SharedSearchHelper = {\n flattenResults(tabulatedResults: TabulatedSearchResults): SearchResults {\n if (!tabulatedResults)\n return null;\n\n if (!tabulatedResults.results)\n return {\n ...tabulatedResults,\n results: []\n };\n\n return {\n ...tabulatedResults,\n results: ArrayHelper.flatten(tabulatedResults.results)\n };\n },\n getContextualSearchQueryParams(context: Core.Model): HashObject {\n if (!context || !context.get('filterParam'))\n return {};\n\n const param = context.get('filterParam');\n const value = context.get('filterValue');\n\n return {\n [param]: value\n };\n },\n\n /**\n * In order to better analyse which search results our users are selecting, we'll track both the\n * video's individual search score relative to the result which had the highest score or was considered to be\n * the \"best\" match.\n */\n mapMaxScoreToSearchResults<T extends SearchResultObjectTypes>(results: T[], resultsMaxScore: number): T[] {\n return results.map(r => {\n if (resultsMaxScore)\n return { ...r, _maxScore: resultsMaxScore };\n return r;\n });\n },\n\n groupResults(\n results: TabulatedSearchResults['results'],\n topicResults: SearchResults,\n companyResults: SearchResults,\n featuredResult: SearchResultObjectTypes,\n breakpoints: Breakpoints\n ): ResultGroupings {\n if (!results?.length && !topicResults?.results?.length && !companyResults?.results?.length)\n return [];\n\n const [ firstPageResults, ...otherPagesResults ] = results;\n const useSmallComponent = breakpoints.xs || breakpoints.sm;\n\n // The first page of results has a very specific structure\n const firstPage = structureFirstPage(\n firstPageResults,\n topicResults,\n companyResults,\n featuredResult,\n useSmallComponent\n );\n\n if (!otherPagesResults?.length)\n return firstPage;\n\n // All pages other than the first page have a less-defined structure\n return structureOtherPages(otherPagesResults, firstPage, useSmallComponent);\n }\n};\n\nfunction getObjectGrouping(\n obj: SearchResultObjectTypes,\n isUsingSmallComponent: boolean\n): SearchComponentTypes {\n if (obj._index === 'video' || obj._index === 'interactive' || obj._index === 'clip') {\n return 'video-item';\n }\n\n if (obj._index === 'series') {\n // Use series item when getting small\n if ((obj as Series).tallPoster?.id && !isUsingSmallComponent) {\n return 'series-with-videos';\n }\n\n return 'series-thumbnail';\n }\n\n if (obj._index === 'classification') {\n return 'topic-list';\n }\n\n if (obj._index === 'playlist') {\n if (isUsingSmallComponent) {\n return 'playlist-thumbnail';\n }\n \n return 'playlist-with-videos';\n }\n}\n\nfunction structureFirstPage(\n firstPage: SearchResultObjectTypes[],\n topicResults: SearchResults,\n companyResults: SearchResults,\n featuredResult: SearchResultObjectTypes,\n isUsingSmallComponent: boolean\n): ResultGroupings {\n /**\n * The very top of our search results has a defined structure of:\n * - 8 topics\n * - 1 featured video result (if there is one)\n * - 3 videos\n * - 1 playlist\n * - 1 series\n * - 8 topics\n * \n * We do our best from the first page of results to build this out. From then on, the results\n * render in order of relevancy.\n */\n const playlistType: SearchComponentTypes = isUsingSmallComponent ? 'playlist-thumbnail' : 'playlist-with-videos';\n const seriesType: SearchComponentTypes = isUsingSmallComponent ? 'series-thumbnail' : 'series-with-videos';\n const groupings: ResultGroupings = [\n {\n type: 'companies-and-topics',\n items: [\n ...(companyResults?.results?.slice(0, ObjectTypeCapacities['company']) ?? []),\n ...(topicResults?.results?.slice(0, ObjectTypeCapacities['topic-list']) ?? [])\n ]\n },\n {\n type: 'featured-result',\n items: !ObjectHelper.isEmpty(featuredResult) ? [featuredResult] : []\n },\n {\n type: 'video-item',\n items: []\n },\n {\n type: 'video-item',\n items: []\n },\n {\n type: 'video-item',\n items: []\n },\n {\n type: playlistType,\n items: []\n },\n {\n type: seriesType,\n items: []\n },\n {\n heading: LanguageService.getPhrase(namespace, 'relatedTopics'),\n type: 'topic-list',\n items: topicResults?.results?.slice(ObjectTypeCapacities['topic-list'], ObjectTypeCapacities['topic-list'] * 2) ?? []\n }\n ];\n\n let featuredResultFound = false;\n\n firstPage?.forEach(obj => {\n const currentObjectType = getObjectGrouping(obj, isUsingSmallComponent);\n\n // Identify the featured result, and leave it out of the main groupings\n if (obj._featured && !featuredResultFound && (obj._index === 'video')) {\n featuredResultFound = true;\n return;\n }\n\n if (groupings[2].items.length < ObjectTypeCapacities['video-item'] && currentObjectType === 'video-item') {\n groupings[2].items.push(obj);\n return;\n }\n\n if (groupings[3].items.length < ObjectTypeCapacities['video-item'] && currentObjectType === 'video-item') {\n groupings[3].items.push(obj);\n return;\n }\n\n if (groupings[4].items.length < ObjectTypeCapacities['video-item'] && currentObjectType === 'video-item') {\n groupings[4].items.push(obj);\n return;\n }\n\n if (groupings[5].items.length < ObjectTypeCapacities[playlistType] && currentObjectType === playlistType) {\n groupings[5].items.push(obj);\n return;\n }\n\n if (groupings[6].items.length < ObjectTypeCapacities[seriesType] && currentObjectType === seriesType) {\n groupings[6].items.push(obj);\n return;\n }\n\n const latestGrouping = groupings[groupings.length - 1];\n\n if (latestGrouping?.type === currentObjectType) {\n const capacity = ObjectTypeCapacities[currentObjectType];\n\n if (latestGrouping.items.length >= capacity) {\n groupings.push({ type: currentObjectType, items: [obj]});\n } else {\n latestGrouping.items.push(obj);\n }\n } else {\n groupings.push({ type: currentObjectType, items: [obj]});\n }\n });\n\n return groupings.filter(grouping => grouping.items?.length);\n}\n\nfunction structureOtherPages(\n otherPages: SearchResultObjectTypes[][],\n existingGroupings: ResultGroupings,\n isUsingSmallComponent: boolean\n): ResultGroupings {\n if (!otherPages)\n return existingGroupings;\n\n otherPages.forEach(page => {\n const lastGroupingFromPreviousPage = existingGroupings[existingGroupings.length - 1];\n\n let shouldAppendToPreviousGrouping = true;\n\n page.forEach(obj => {\n const currentObjectType = getObjectGrouping(obj, isUsingSmallComponent);\n\n if (shouldAppendToPreviousGrouping && lastGroupingFromPreviousPage.type === currentObjectType) {\n if (lastGroupingFromPreviousPage.items.length >= ObjectTypeCapacities[currentObjectType]) {\n shouldAppendToPreviousGrouping = false;\n existingGroupings.push({ type: currentObjectType, items: [obj]});\n } else {\n lastGroupingFromPreviousPage.items.push(obj);\n }\n } else {\n const latestGrouping = existingGroupings[existingGroupings.length - 1];\n\n if (latestGrouping?.type === currentObjectType) {\n if (latestGrouping.items.length >= ObjectTypeCapacities[currentObjectType]) {\n existingGroupings.push({ type: currentObjectType, items: [obj]});\n } else {\n latestGrouping.items.push(obj);\n }\n } else {\n existingGroupings.push({ type: currentObjectType, items: [obj]});\n }\n }\n });\n });\n\n return existingGroupings;\n}"],"names":["namespace","ObjectTypeCapacities","SEARCH_CURRICULUM_CODE_PARAM","SharedSearchHelper","tabulatedResults","ArrayHelper","context","param","value","results","resultsMaxScore","topicResults","companyResults","featuredResult","breakpoints","_a","_b","firstPageResults","otherPagesResults","useSmallComponent","firstPage","structureFirstPage","structureOtherPages","getObjectGrouping","obj","isUsingSmallComponent","playlistType","seriesType","groupings","ObjectHelper","LanguageService","_c","featuredResultFound","currentObjectType","latestGrouping","capacity","grouping","otherPages","existingGroupings","page","lastGroupingFromPreviousPage","shouldAppendToPreviousGrouping"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{aj as g,a3 as V,l as j,L as E,j as e}from"./app-DQUfzK7M.js";import{u as v,P,I as A}from"./CA1kXo4c.chunk.js";import{u as L,a as R,V as N}from"./L4fynSOH.chunk.js";import{h as F}from"./BIciRJHg.chunk.js";import{u as S}from"./JVtTNBu8.chunk.js";import{E as C}from"./BEonThYO.chunk.js";import{E as G}from"./DFV1HGGE.chunk.js";import{E as n}from"./D_UfRtxO.chunk.js";import{a as I}from"./DbjqMrGm.chunk.js";import{a as M}from"./LSG3wJaJ.chunk.js";import"./Du1vfrL1.chunk.js";import"./ebPScdjM.chunk.js";import"./BapvLPQ5.chunk.js";import"./Cf7gumlK.chunk.js";import"./_sYSSSUN.chunk.js";import"./Da4lOHud.chunk.js";import"./-rc15O6e.chunk.js";import"./CLzmMPfE.chunk.js";import"./BlDVEZsX.chunk.js";import"./BCGCl500.chunk.js";import"./pkzD5BEm.chunk.js";import"./CidOInHw.chunk.js";import"./CLeOFM0_.chunk.js";import"./CWEHmLar.chunk.js";import"./UPyh9hOq.chunk.js";import"./afx3pyqK.chunk.js";import"./Bel5ImAj.chunk.js";import"./BFAbrH3V.chunk.js";import"./CYnIJ9Yj.chunk.js";import"./Kj832An8.chunk.js";import"./DS9FoZYs.chunk.js";import"./BL0xk5Hs.chunk.js";import"./DAYsHx3K.chunk.js";import"./DKgBjNhk.chunk.js";const b="exchange.mostRecent",m=E.encloseNamespace(b);function xe(){const c=g(),p=S(),o=V(n.exchange()),u=I("video-list"),{commonVideoProps:d}=L();j({title:m("title")});const{items:i,hasMore:h,isFetching:r,nextCursor:x}=v(o.data&&s,a,l);function s(t){return n.mostRecentVideos(o.data.id,t)}function a(t){return c(s(t))}function l(t,f){if(t===1)return F(f);p.error(m("error"))}return e.jsxs(R.Provider,{value:u,children:[e.jsxs("div",{className:"mb-2",children:[e.jsx(C,{}),e.jsx(G,{active:"most-recent"})]}),i?e.jsx(N,{videos:i,getVideoAppLink:M,presentationAudiences:null,getPreviewQuestionsAppLink:()=>null,hasPermissions:()=>!1,hideVideoGuidance:!0,commonVideoProps:d}):e.jsx("div",{className:"mx-n2",children:e.jsx(P,{})}),(h||r)&&e.jsx(A,{isFetching:r,fetchNext:a,nextCursor:x})]})}export{xe as ExchangeMostRecentView};
2
+ //# sourceMappingURL=DAlXOlyw.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PTNYkU4e.chunk.js","sources":["../../src/apps/exchange/views/exchange-most-recent/ExchangeMostRecentView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Library, Video } from 'libs/shared/interfaces';\n\nimport { ExchangeSearchBar } from 'apps/exchange/components/exchange-search-bar/ExchangeSearchBar';\nimport { ExchangeTabs } from 'apps/exchange/components/exchange-tabs/ExchangeTabs';\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { useCommonVideoProps } from 'apps/exchange/hooks/useCommonVideoProps';\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { getVideoAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nconst namespace = 'exchange.mostRecent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function ExchangeMostRecentView() {\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n \n const videoActions = useGetExchangeActions('video-list');\n\n const { commonVideoProps } = useCommonVideoProps();\n\n useSetPageMetadata({ title: getPhrase('title') });\n\n const {\n items: videos,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(exchange.data && getVideosRequest, fetchNextVideos, onError);\n\n function getVideosRequest(cursor?: string): Flight.Request {\n return ExchangeRequests.mostRecentVideos(exchange.data.id, cursor);\n }\n\n function fetchNextVideos(cursor?: string): void {\n return fetch(getVideosRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='mb-2'>\n <ExchangeSearchBar />\n <ExchangeTabs active='most-recent' />\n </div>\n\n {videos ? (\n <VideoList\n videos={videos}\n getVideoAppLink={getVideoAppLink}\n presentationAudiences={null}\n getPreviewQuestionsAppLink={() => null}\n hasPermissions={() => false}\n hideVideoGuidance\n commonVideoProps={commonVideoProps}\n />\n ) : (\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n )}\n\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNextVideos}\n nextCursor={nextCursor}\n />\n )}\n </VideoActionsContext.Provider>\n );\n}\n"],"names":["namespace","getPhrase","LanguageService","ExchangeMostRecentView","fetch","Flight.useGetFetch","alerts","useAlerts","exchange","Flight.useBasicFetch","ExchangeRequests","videoActions","useGetExchangeActions","commonVideoProps","useCommonVideoProps","useSetPageMetadata","videos","hasMore","isFetching","nextCursor","useInfiniteList","getVideosRequest","fetchNextVideos","onError","cursor","pageNumber","httpStatus","handleHttpError","jsxs","VideoActionsContext","jsx","ExchangeSearchBar","ExchangeTabs","VideoList","getVideoAppLink","PartialVideoList","InfiniteScrollFooter"],"mappings":"mmCAuBA,MAAMA,EAAY,sBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,IAAyB,CACvC,MAAMC,EAAQC,EAAO,EACfC,EAASC,EAAA,EAETC,EAAWC,EAA8BC,EAAiB,UAAU,EAEpEC,EAAeC,EAAsB,YAAY,EAEjD,CAAE,iBAAAC,CAAA,EAAqBC,EAAA,EAE7BC,EAAmB,CAAE,MAAOd,EAAU,OAAO,EAAG,EAEhD,KAAM,CACJ,MAAOe,EACP,QAAAC,EACA,WAAAC,EACA,WAAAC,CAAA,EACEC,EAAuBZ,EAAS,MAAQa,EAAkBC,EAAiBC,CAAO,EAEtF,SAASF,EAAiBG,EAAiC,CACzD,OAAOd,EAAiB,iBAAiBF,EAAS,KAAK,GAAIgB,CAAM,CACnE,CAEA,SAASF,EAAgBE,EAAuB,CAC9C,OAAOpB,EAAMiB,EAAiBG,CAAM,CAAC,CACvC,CAEA,SAASD,EAAQE,EAAoBC,EAA8B,CACjE,GAAID,IAAe,EACjB,OAAOE,EAAgBD,CAAU,EAEnCpB,EAAO,MAAML,EAAU,OAAO,CAAC,CACjC,CAEA,OACE2B,EAAAA,KAACC,EAAoB,SAApB,CAA6B,MAAOlB,EACnC,SAAA,CAAAiB,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAE,EAAAA,IAACC,EAAA,EAAkB,EACnBD,EAAAA,IAACE,EAAA,CAAa,OAAO,aAAA,CAAc,CAAA,EACrC,EAEChB,EACCc,EAAAA,IAACG,EAAA,CACC,OAAAjB,EACA,gBAAAkB,EACA,sBAAuB,KACvB,2BAA4B,IAAM,KAClC,eAAgB,IAAM,GACtB,kBAAiB,GACjB,iBAAArB,CAAA,CAAA,EAGFiB,EAAAA,IAAC,MAAA,CAAI,UAAU,QACb,SAAAA,MAACK,IAAiB,EACpB,GAGAlB,GAAWC,IACXY,EAAAA,IAACM,EAAA,CACC,WAAAlB,EACA,UAAWI,EACX,WAAAH,CAAA,CAAA,CACF,EAEJ,CAEJ"}
1
+ {"version":3,"file":"DAlXOlyw.chunk.js","sources":["../../src/apps/exchange/views/exchange-most-recent/ExchangeMostRecentView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Library, Video } from 'libs/shared/interfaces';\n\nimport { ExchangeSearchBar } from 'apps/exchange/components/exchange-search-bar/ExchangeSearchBar';\nimport { ExchangeTabs } from 'apps/exchange/components/exchange-tabs/ExchangeTabs';\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { useCommonVideoProps } from 'apps/exchange/hooks/useCommonVideoProps';\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { getVideoAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nconst namespace = 'exchange.mostRecent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function ExchangeMostRecentView() {\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n \n const videoActions = useGetExchangeActions('video-list');\n\n const { commonVideoProps } = useCommonVideoProps();\n\n useSetPageMetadata({ title: getPhrase('title') });\n\n const {\n items: videos,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(exchange.data && getVideosRequest, fetchNextVideos, onError);\n\n function getVideosRequest(cursor?: string): Flight.Request {\n return ExchangeRequests.mostRecentVideos(exchange.data.id, cursor);\n }\n\n function fetchNextVideos(cursor?: string): void {\n return fetch(getVideosRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='mb-2'>\n <ExchangeSearchBar />\n <ExchangeTabs active='most-recent' />\n </div>\n\n {videos ? (\n <VideoList\n videos={videos}\n getVideoAppLink={getVideoAppLink}\n presentationAudiences={null}\n getPreviewQuestionsAppLink={() => null}\n hasPermissions={() => false}\n hideVideoGuidance\n commonVideoProps={commonVideoProps}\n />\n ) : (\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n )}\n\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNextVideos}\n nextCursor={nextCursor}\n />\n )}\n </VideoActionsContext.Provider>\n );\n}\n"],"names":["namespace","getPhrase","LanguageService","ExchangeMostRecentView","fetch","Flight.useGetFetch","alerts","useAlerts","exchange","Flight.useBasicFetch","ExchangeRequests","videoActions","useGetExchangeActions","commonVideoProps","useCommonVideoProps","useSetPageMetadata","videos","hasMore","isFetching","nextCursor","useInfiniteList","getVideosRequest","fetchNextVideos","onError","cursor","pageNumber","httpStatus","handleHttpError","jsxs","VideoActionsContext","jsx","ExchangeSearchBar","ExchangeTabs","VideoList","getVideoAppLink","PartialVideoList","InfiniteScrollFooter"],"mappings":"mmCAuBA,MAAMA,EAAY,sBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,IAAyB,CACvC,MAAMC,EAAQC,EAAO,EACfC,EAASC,EAAA,EAETC,EAAWC,EAA8BC,EAAiB,UAAU,EAEpEC,EAAeC,EAAsB,YAAY,EAEjD,CAAE,iBAAAC,CAAA,EAAqBC,EAAA,EAE7BC,EAAmB,CAAE,MAAOd,EAAU,OAAO,EAAG,EAEhD,KAAM,CACJ,MAAOe,EACP,QAAAC,EACA,WAAAC,EACA,WAAAC,CAAA,EACEC,EAAuBZ,EAAS,MAAQa,EAAkBC,EAAiBC,CAAO,EAEtF,SAASF,EAAiBG,EAAiC,CACzD,OAAOd,EAAiB,iBAAiBF,EAAS,KAAK,GAAIgB,CAAM,CACnE,CAEA,SAASF,EAAgBE,EAAuB,CAC9C,OAAOpB,EAAMiB,EAAiBG,CAAM,CAAC,CACvC,CAEA,SAASD,EAAQE,EAAoBC,EAA8B,CACjE,GAAID,IAAe,EACjB,OAAOE,EAAgBD,CAAU,EAEnCpB,EAAO,MAAML,EAAU,OAAO,CAAC,CACjC,CAEA,OACE2B,EAAAA,KAACC,EAAoB,SAApB,CAA6B,MAAOlB,EACnC,SAAA,CAAAiB,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAE,EAAAA,IAACC,EAAA,EAAkB,EACnBD,EAAAA,IAACE,EAAA,CAAa,OAAO,aAAA,CAAc,CAAA,EACrC,EAEChB,EACCc,EAAAA,IAACG,EAAA,CACC,OAAAjB,EACA,gBAAAkB,EACA,sBAAuB,KACvB,2BAA4B,IAAM,KAClC,eAAgB,IAAM,GACtB,kBAAiB,GACjB,iBAAArB,CAAA,CAAA,EAGFiB,EAAAA,IAAC,MAAA,CAAI,UAAU,QACb,SAAAA,MAACK,IAAiB,EACpB,GAGAlB,GAAWC,IACXY,EAAAA,IAACM,EAAA,CACC,WAAAlB,EACA,UAAWI,EACX,WAAAH,CAAA,CAAA,CACF,EAEJ,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{j as e,aq as f,B as y,aS as L,ad as $,ae as w,af as S,a3 as r,aT as A,l as U,L as E,a as o,b as c,a5 as F}from"./app-BeXfSt3Z.js";import{u as P}from"./BMOkpx9W.chunk.js";import{T as q,a as H}from"./2RtgJciS.chunk.js";import{T as M,a as V}from"./BBGrb01P.chunk.js";import{T as d}from"./BM1pKS1x.chunk.js";import{u as I}from"./Cusf4uQr.chunk.js";import{u as B}from"./CZWyo3vU.chunk.js";import{g as N}from"./BO7wPiFy.chunk.js";import"./fG3bu7tL.chunk.js";import"./D5fWDfWb.chunk.js";import"./wE4X9qJj.chunk.js";import"./CaXurNVJ.chunk.js";import"./BlDVEZsX.chunk.js";import"./C7s6znQN.chunk.js";import"./DGZafYHS.chunk.js";import"./CIC6c94H.chunk.js";import"./BoCJPJD9.chunk.js";const O="_cardContainer_p5jjm_1",z="_image_p5jjm_4",j={cardContainer:O,image:z};function h(a){return e.jsx("div",{className:`${j.cardContainer} px-2 mb-3`,children:e.jsxs(f,{className:`${a.className} border rounded-3 py-3 px-4 d-block text-center`,appLink:a.appLink,children:[e.jsx("div",{className:`${j.image} d-flex align-items-center justify-content-center`,children:e.jsx("img",{className:"mh-100",src:a.logoUrl})}),e.jsx("p",{className:"fw-semibold text-dark text-truncate mb-0",children:a.name})]})})}const D="_cardContainer_1s4mp_1",G="_image_1s4mp_4",v={cardContainer:D,image:G};function Q(){return e.jsx("div",{className:`${v.cardContainer} px-2 mb-3`,children:e.jsxs("div",{className:"partial-loading-background border rounded-3 py-3 px-4",children:[e.jsx("div",{className:`${v.image}`}),e.jsx("p",{className:"mb-0",children:" "})]})})}function T(a){return e.jsx(e.Fragment,{children:e.jsx("div",{className:"row mb-2",children:[...Array(a.cards)].map((n,t)=>e.jsx(Q,{},t))})})}const J="_cardContainer_7wzee_1",K="_image_7wzee_4",C={cardContainer:J,image:K},W="tv.tvRegionSelectMap",X=a=>{const n=N(a.instanceRegion);return!a.regions||!a.currentRegion?e.jsx(T,{cards:5}):a.regions.length<=1?e.jsx(e.Fragment,{}):e.jsxs(e.Fragment,{children:[e.jsx("h2",{className:"h4",children:e.jsx(y,{namespace:W,phrase:"regions",options:{country:n.country}})}),e.jsx("div",{className:"row",children:a.regions.map((t,s)=>{if(t.id!==a.currentRegion.id)return e.jsx("div",{className:`${C.cardContainer} px-2 mb-3`,children:e.jsxs(f,{className:"border rounded-3 py-3 px-4 d-block text-center",appLink:{...a.appLink,args:[t.code]},analyticsData:{region:a.currentRegion.code},analyticsOptions:{actionType:S.Click,entity:w.Region,location:$.RegionMap,descriptor:L.RegionSelect},onClick:()=>a.onClick(t),children:[e.jsx("div",{className:`${C.image} d-flex align-items-center justify-content-center`,children:e.jsx("img",{src:`https://tv.clickview.com.au/content/images/${t.code}.png`})}),e.jsx("p",{className:"fw-semibold text-dark mb-0",children:t.stateFull})]})},s)})})]})},Y="tv.channels",R=E.encloseNamespace(Y);function je(a){var u;const n=r(d.region(a.region)),t=r(d.dateRange(a.region)),s=r(d.regions()),l=r(n.data&&d.channels(n.data.code)),g=r(F.currentUser()),p=(u=g.data)==null?void 0:u.instanceRegion,{setRegion:x}=B(),{showTvGuide:b}=A();I(n),P([s,l]),U({title:R("title")});const k=n.hasCompleted&&s.hasCompleted&&t.hasCompleted&&l.hasCompleted&&g.hasCompleted,m=N(p);return e.jsxs(e.Fragment,{children:[e.jsx(M,{region:n.data}),e.jsxs("div",{className:"d-flex justify-content-between",children:[e.jsx(q,{active:"channels",currentRegion:n.data,showTvGuide:b}),e.jsx(V,{currentRegion:n.data,regions:s.data,appLink:{application:c.TV,action:o.Tv.CHANNELS},onClick:x})]}),e.jsx(H,{dateRange:t.data,region:n.data}),k?e.jsx(e.Fragment,{children:e.jsxs("div",{className:"row mb-2",children:[!!m.requestProgram&&e.jsx(h,{appLink:{application:c.TV,action:o.Tv.REQUEST_PROGRAM,args:[a.region]},logoUrl:m.logo,name:R("requestProgram"),className:m.bgColor}),l.data.map((i,_)=>e.jsx(h,{appLink:{application:c.TV,action:o.Tv.CHANNEL,args:[i.region,i.id],params:{region:i.region!==a.region?a.region:null}},logoUrl:i.logoUrl,name:i.displayName},_))]})}):e.jsx(T,{cards:20}),e.jsx(X,{instanceRegion:p,currentRegion:n.data,regions:s.data,appLink:{application:c.TV,action:o.Tv.CHANNELS},onClick:x})]})}export{je as TvChannelsView};
2
- //# sourceMappingURL=C6jzSlOK.chunk.js.map
1
+ import{j as e,aq as f,B as y,aS as L,ad as $,ae as w,af as S,a3 as r,aT as A,l as U,L as E,a as o,b as c,a5 as F}from"./app-DQUfzK7M.js";import{u as P}from"./BldjpTLL.chunk.js";import{T as q,a as H}from"./CBpplRfy.chunk.js";import{T as M,a as V}from"./Nb05HQ70.chunk.js";import{T as d}from"./CeNnu9Uy.chunk.js";import{u as I}from"./UAhbVZA6.chunk.js";import{u as B}from"./ChQd3LFA.chunk.js";import{g as N}from"./BhJEiLr0.chunk.js";import"./BIciRJHg.chunk.js";import"./BB_Ud-Dl.chunk.js";import"./BL0xk5Hs.chunk.js";import"./CLeOFM0_.chunk.js";import"./BlDVEZsX.chunk.js";import"./BCGCl500.chunk.js";import"./ebPScdjM.chunk.js";import"./Cf7gumlK.chunk.js";import"./DS9FoZYs.chunk.js";const O="_cardContainer_p5jjm_1",z="_image_p5jjm_4",j={cardContainer:O,image:z};function h(a){return e.jsx("div",{className:`${j.cardContainer} px-2 mb-3`,children:e.jsxs(f,{className:`${a.className} border rounded-3 py-3 px-4 d-block text-center`,appLink:a.appLink,children:[e.jsx("div",{className:`${j.image} d-flex align-items-center justify-content-center`,children:e.jsx("img",{className:"mh-100",src:a.logoUrl})}),e.jsx("p",{className:"fw-semibold text-dark text-truncate mb-0",children:a.name})]})})}const D="_cardContainer_1s4mp_1",G="_image_1s4mp_4",v={cardContainer:D,image:G};function Q(){return e.jsx("div",{className:`${v.cardContainer} px-2 mb-3`,children:e.jsxs("div",{className:"partial-loading-background border rounded-3 py-3 px-4",children:[e.jsx("div",{className:`${v.image}`}),e.jsx("p",{className:"mb-0",children:" "})]})})}function T(a){return e.jsx(e.Fragment,{children:e.jsx("div",{className:"row mb-2",children:[...Array(a.cards)].map((n,t)=>e.jsx(Q,{},t))})})}const J="_cardContainer_7wzee_1",K="_image_7wzee_4",C={cardContainer:J,image:K},W="tv.tvRegionSelectMap",X=a=>{const n=N(a.instanceRegion);return!a.regions||!a.currentRegion?e.jsx(T,{cards:5}):a.regions.length<=1?e.jsx(e.Fragment,{}):e.jsxs(e.Fragment,{children:[e.jsx("h2",{className:"h4",children:e.jsx(y,{namespace:W,phrase:"regions",options:{country:n.country}})}),e.jsx("div",{className:"row",children:a.regions.map((t,s)=>{if(t.id!==a.currentRegion.id)return e.jsx("div",{className:`${C.cardContainer} px-2 mb-3`,children:e.jsxs(f,{className:"border rounded-3 py-3 px-4 d-block text-center",appLink:{...a.appLink,args:[t.code]},analyticsData:{region:a.currentRegion.code},analyticsOptions:{actionType:S.Click,entity:w.Region,location:$.RegionMap,descriptor:L.RegionSelect},onClick:()=>a.onClick(t),children:[e.jsx("div",{className:`${C.image} d-flex align-items-center justify-content-center`,children:e.jsx("img",{src:`https://tv.clickview.com.au/content/images/${t.code}.png`})}),e.jsx("p",{className:"fw-semibold text-dark mb-0",children:t.stateFull})]})},s)})})]})},Y="tv.channels",R=E.encloseNamespace(Y);function je(a){var u;const n=r(d.region(a.region)),t=r(d.dateRange(a.region)),s=r(d.regions()),l=r(n.data&&d.channels(n.data.code)),g=r(F.currentUser()),p=(u=g.data)==null?void 0:u.instanceRegion,{setRegion:x}=B(),{showTvGuide:b}=A();I(n),P([s,l]),U({title:R("title")});const k=n.hasCompleted&&s.hasCompleted&&t.hasCompleted&&l.hasCompleted&&g.hasCompleted,m=N(p);return e.jsxs(e.Fragment,{children:[e.jsx(M,{region:n.data}),e.jsxs("div",{className:"d-flex justify-content-between",children:[e.jsx(q,{active:"channels",currentRegion:n.data,showTvGuide:b}),e.jsx(V,{currentRegion:n.data,regions:s.data,appLink:{application:c.TV,action:o.Tv.CHANNELS},onClick:x})]}),e.jsx(H,{dateRange:t.data,region:n.data}),k?e.jsx(e.Fragment,{children:e.jsxs("div",{className:"row mb-2",children:[!!m.requestProgram&&e.jsx(h,{appLink:{application:c.TV,action:o.Tv.REQUEST_PROGRAM,args:[a.region]},logoUrl:m.logo,name:R("requestProgram"),className:m.bgColor}),l.data.map((i,_)=>e.jsx(h,{appLink:{application:c.TV,action:o.Tv.CHANNEL,args:[i.region,i.id],params:{region:i.region!==a.region?a.region:null}},logoUrl:i.logoUrl,name:i.displayName},_))]})}):e.jsx(T,{cards:20}),e.jsx(X,{instanceRegion:p,currentRegion:n.data,regions:s.data,appLink:{application:c.TV,action:o.Tv.CHANNELS},onClick:x})]})}export{je as TvChannelsView};
2
+ //# sourceMappingURL=DBXgmgfs.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"C6jzSlOK.chunk.js","sources":["../../src/apps/tv/views/tv-channels/components/tv-channel-card/TvChannelCard.tsx","../../src/apps/tv/views/tv-channels/partial-loading/PartialCardRow.tsx","../../src/apps/tv/views/tv-channels/components/tv-region-select-map/TvRegionSelectMap.tsx","../../src/apps/tv/views/tv-channels/TvChannelsView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './tv-channel-card.module.scss';\n\ninterface TvChannelCardProps {\n appLink: Core.AppLink;\n logoUrl: string;\n name: string;\n className?: string;\n}\n\nexport function TvChannelCard(props: TvChannelCardProps): JSX.Element {\n return (\n <div className={`${styles.cardContainer} px-2 mb-3`}>\n <AppLink\n className={`${props.className} border rounded-3 py-3 px-4 d-block text-center`}\n appLink={props.appLink}\n >\n <div className={`${styles.image} d-flex align-items-center justify-content-center`}>\n <img\n className='mh-100'\n src={props.logoUrl}\n />\n </div>\n <p className='fw-semibold text-dark text-truncate mb-0'>\n {props.name}\n </p>\n </AppLink>\n </div>\n );\n}","import React from 'react';\n\nimport styles from './partial-card-row.module.scss';\n\nfunction PartialRow() {\n return (\n <div className={`${styles.cardContainer} px-2 mb-3`}>\n <div className='partial-loading-background border rounded-3 py-3 px-4'>\n <div className={`${styles.image}`}></div>\n <p className='mb-0'>&nbsp;</p>\n </div>\n </div>\n );\n}\n\ninterface PartialCardRowProps {\n cards: number;\n}\n\nexport function PartialCardRow(props: PartialCardRowProps) {\n return (\n <>\n <div className='row mb-2'>\n {[...Array(props.cards)].map((_, index) => <PartialRow key={index} />)}\n </div>\n </>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { EntityType, LocationContext, TvDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\nimport { PartialCardRow } from 'apps/tv/views/tv-channels/partial-loading/PartialCardRow';\n\nimport styles from './tv-region-select-map.module.scss';\n\nconst namespace = 'tv.tvRegionSelectMap';\n\ninterface TvRegionSelectMapProps {\n instanceRegion: InstanceRegion;\n currentRegion: TvRegion;\n regions: TvRegion[];\n appLink: Core.AppLink;\n onClick: (region: TvRegion) => void;\n}\n\nconst TvRegionSelectMap = (props: TvRegionSelectMapProps) => {\n const regionInfo = getRegionInfo(props.instanceRegion);\n\n if (!props.regions || !props.currentRegion)\n return <PartialCardRow cards={5} />;\n\n if (props.regions.length <= 1)\n return <></>;\n \n return (\n <>\n <h2 className='h4'>\n <Text\n namespace={namespace}\n phrase='regions'\n options={{ country: regionInfo.country }}\n />\n </h2>\n <div className='row'>\n {props.regions.map((region, index) => {\n if (region.id !== props.currentRegion.id)\n return (\n <div key={index} className={`${styles.cardContainer} px-2 mb-3`}>\n <AppLink\n className='border rounded-3 py-3 px-4 d-block text-center'\n appLink={{\n ...props.appLink,\n args: [region.code]\n }}\n analyticsData={{ region: props.currentRegion.code }}\n analyticsOptions={{\n actionType: UserAction.Click,\n entity: EntityType.Region,\n location: LocationContext.RegionMap,\n descriptor: TvDescriptor.RegionSelect\n }}\n onClick={() => props.onClick(region)}\n >\n <div className={`${styles.image} d-flex align-items-center justify-content-center`}>\n <img\n src={`https://tv.clickview.com.au/content/images/${region.code}.png`}\n />\n </div>\n <p className='fw-semibold text-dark mb-0'>\n {region.stateFull}\n </p>\n </AppLink>\n </div>\n );\n })}\n </div>\n </>\n );\n};\n\nexport default TvRegionSelectMap;","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useLiteUpgrade } from 'libs/shared/hooks/UseLiteUpgrade';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvInfoAlert } from 'apps/tv/components/tv-info-alert/TvInfoAlert';\nimport { TvRegionSelect } from 'apps/tv/components/tv-region-select/TvRegionSelect';\nimport { TvSearchBar } from 'apps/tv/components/tv-search-bar/TvSearchBar';\nimport { TvTabs } from 'apps/tv/components/tv-tabs/TvTabs';\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useHandleRegionError } from 'apps/tv/hooks/useHandleRegionError';\nimport { useSelectedRegion } from 'apps/tv/hooks/useSelectedRegion';\nimport { TvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { TvDateRange, TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\nimport { TvChannelCard } from 'apps/tv/views/tv-channels/components/tv-channel-card/TvChannelCard';\nimport TvRegionSelectMap from 'apps/tv/views/tv-channels/components/tv-region-select-map/TvRegionSelectMap';\n\nimport { PartialCardRow } from './partial-loading/PartialCardRow';\n\n\nconst namespace = 'tv.channels';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvChannelsViewProps {\n region: string;\n}\n\nexport function TvChannelsView(props: TvChannelsViewProps): JSX.Element {\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(props.region));\n const dateRange = Flight.useBasicFetch<TvDateRange>(TvRequests.dateRange(props.region));\n const regions = Flight.useBasicFetch<TvRegion[]>(TvRequests.regions());\n const channels = Flight.useBasicFetch<TvChannel[]>(\n region.data && TvRequests.channels(region.data.code)\n );\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const instanceRegion = currentUser.data?.instanceRegion;\n\n const { setRegion } = useSelectedRegion();\n const { showTvGuide } = useLiteUpgrade();\n\n useHandleRegionError(region);\n useHandleObjectError([ regions, channels ]);\n\n useSetPageMetadata({ title: getPhrase('title') });\n\n const dataLoaded = (\n region.hasCompleted &&\n regions.hasCompleted &&\n dateRange.hasCompleted &&\n channels.hasCompleted &&\n currentUser.hasCompleted\n );\n\n const regionInfo = getRegionInfo(instanceRegion);\n\n return (\n <>\n <TvSearchBar region={region.data} />\n\n\n <div className='d-flex justify-content-between'>\n <TvTabs\n active='channels'\n currentRegion={region.data}\n showTvGuide={showTvGuide}\n />\n\n <TvRegionSelect\n currentRegion={region.data}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS\n }}\n onClick={setRegion}\n />\n </div>\n\n <TvInfoAlert dateRange={dateRange.data} region={region.data} />\n\n {dataLoaded ? (\n <>\n <div className='row mb-2'>\n {!!regionInfo.requestProgram &&\n <TvChannelCard\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.REQUEST_PROGRAM,\n args: [props.region]\n }}\n logoUrl={regionInfo.logo}\n name={getPhrase('requestProgram')}\n className={regionInfo.bgColor}\n />\n }\n {channels.data.map((channel, index) => {\n return (\n <TvChannelCard\n key={index}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNEL,\n args: [ channel.region, channel.id ],\n params: {\n region: channel.region !== props.region ? props.region : null\n }\n }}\n logoUrl={channel.logoUrl}\n name={channel.displayName}\n />\n );\n })}\n </div>\n </>\n ) : <PartialCardRow cards={20} />}\n \n\n <TvRegionSelectMap\n instanceRegion={instanceRegion}\n currentRegion={region.data}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS\n }}\n onClick={setRegion}\n />\n </>\n );\n}"],"names":["TvChannelCard","props","styles","jsxs","AppLink","jsx","PartialRow","PartialCardRow","Fragment","_","index","namespace","TvRegionSelectMap","regionInfo","getRegionInfo","Text","region","UserAction","EntityType","LocationContext","TvDescriptor","getPhrase","LanguageService","TvChannelsView","Flight.useBasicFetch","TvRequests","dateRange","regions","channels","currentUser","UserRequests","instanceRegion","_a","setRegion","useSelectedRegion","showTvGuide","useLiteUpgrade","useHandleRegionError","useHandleObjectError","useSetPageMetadata","dataLoaded","TvSearchBar","TvTabs","TvRegionSelect","AppChannels","Actions","TvInfoAlert","channel"],"mappings":"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"}
1
+ {"version":3,"file":"DBXgmgfs.chunk.js","sources":["../../src/apps/tv/views/tv-channels/components/tv-channel-card/TvChannelCard.tsx","../../src/apps/tv/views/tv-channels/partial-loading/PartialCardRow.tsx","../../src/apps/tv/views/tv-channels/components/tv-region-select-map/TvRegionSelectMap.tsx","../../src/apps/tv/views/tv-channels/TvChannelsView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './tv-channel-card.module.scss';\n\ninterface TvChannelCardProps {\n appLink: Core.AppLink;\n logoUrl: string;\n name: string;\n className?: string;\n}\n\nexport function TvChannelCard(props: TvChannelCardProps): JSX.Element {\n return (\n <div className={`${styles.cardContainer} px-2 mb-3`}>\n <AppLink\n className={`${props.className} border rounded-3 py-3 px-4 d-block text-center`}\n appLink={props.appLink}\n >\n <div className={`${styles.image} d-flex align-items-center justify-content-center`}>\n <img\n className='mh-100'\n src={props.logoUrl}\n />\n </div>\n <p className='fw-semibold text-dark text-truncate mb-0'>\n {props.name}\n </p>\n </AppLink>\n </div>\n );\n}","import React from 'react';\n\nimport styles from './partial-card-row.module.scss';\n\nfunction PartialRow() {\n return (\n <div className={`${styles.cardContainer} px-2 mb-3`}>\n <div className='partial-loading-background border rounded-3 py-3 px-4'>\n <div className={`${styles.image}`}></div>\n <p className='mb-0'>&nbsp;</p>\n </div>\n </div>\n );\n}\n\ninterface PartialCardRowProps {\n cards: number;\n}\n\nexport function PartialCardRow(props: PartialCardRowProps) {\n return (\n <>\n <div className='row mb-2'>\n {[...Array(props.cards)].map((_, index) => <PartialRow key={index} />)}\n </div>\n </>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { EntityType, LocationContext, TvDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\nimport { PartialCardRow } from 'apps/tv/views/tv-channels/partial-loading/PartialCardRow';\n\nimport styles from './tv-region-select-map.module.scss';\n\nconst namespace = 'tv.tvRegionSelectMap';\n\ninterface TvRegionSelectMapProps {\n instanceRegion: InstanceRegion;\n currentRegion: TvRegion;\n regions: TvRegion[];\n appLink: Core.AppLink;\n onClick: (region: TvRegion) => void;\n}\n\nconst TvRegionSelectMap = (props: TvRegionSelectMapProps) => {\n const regionInfo = getRegionInfo(props.instanceRegion);\n\n if (!props.regions || !props.currentRegion)\n return <PartialCardRow cards={5} />;\n\n if (props.regions.length <= 1)\n return <></>;\n \n return (\n <>\n <h2 className='h4'>\n <Text\n namespace={namespace}\n phrase='regions'\n options={{ country: regionInfo.country }}\n />\n </h2>\n <div className='row'>\n {props.regions.map((region, index) => {\n if (region.id !== props.currentRegion.id)\n return (\n <div key={index} className={`${styles.cardContainer} px-2 mb-3`}>\n <AppLink\n className='border rounded-3 py-3 px-4 d-block text-center'\n appLink={{\n ...props.appLink,\n args: [region.code]\n }}\n analyticsData={{ region: props.currentRegion.code }}\n analyticsOptions={{\n actionType: UserAction.Click,\n entity: EntityType.Region,\n location: LocationContext.RegionMap,\n descriptor: TvDescriptor.RegionSelect\n }}\n onClick={() => props.onClick(region)}\n >\n <div className={`${styles.image} d-flex align-items-center justify-content-center`}>\n <img\n src={`https://tv.clickview.com.au/content/images/${region.code}.png`}\n />\n </div>\n <p className='fw-semibold text-dark mb-0'>\n {region.stateFull}\n </p>\n </AppLink>\n </div>\n );\n })}\n </div>\n </>\n );\n};\n\nexport default TvRegionSelectMap;","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useLiteUpgrade } from 'libs/shared/hooks/UseLiteUpgrade';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvInfoAlert } from 'apps/tv/components/tv-info-alert/TvInfoAlert';\nimport { TvRegionSelect } from 'apps/tv/components/tv-region-select/TvRegionSelect';\nimport { TvSearchBar } from 'apps/tv/components/tv-search-bar/TvSearchBar';\nimport { TvTabs } from 'apps/tv/components/tv-tabs/TvTabs';\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useHandleRegionError } from 'apps/tv/hooks/useHandleRegionError';\nimport { useSelectedRegion } from 'apps/tv/hooks/useSelectedRegion';\nimport { TvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { TvDateRange, TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\nimport { TvChannelCard } from 'apps/tv/views/tv-channels/components/tv-channel-card/TvChannelCard';\nimport TvRegionSelectMap from 'apps/tv/views/tv-channels/components/tv-region-select-map/TvRegionSelectMap';\n\nimport { PartialCardRow } from './partial-loading/PartialCardRow';\n\n\nconst namespace = 'tv.channels';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvChannelsViewProps {\n region: string;\n}\n\nexport function TvChannelsView(props: TvChannelsViewProps): JSX.Element {\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(props.region));\n const dateRange = Flight.useBasicFetch<TvDateRange>(TvRequests.dateRange(props.region));\n const regions = Flight.useBasicFetch<TvRegion[]>(TvRequests.regions());\n const channels = Flight.useBasicFetch<TvChannel[]>(\n region.data && TvRequests.channels(region.data.code)\n );\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const instanceRegion = currentUser.data?.instanceRegion;\n\n const { setRegion } = useSelectedRegion();\n const { showTvGuide } = useLiteUpgrade();\n\n useHandleRegionError(region);\n useHandleObjectError([ regions, channels ]);\n\n useSetPageMetadata({ title: getPhrase('title') });\n\n const dataLoaded = (\n region.hasCompleted &&\n regions.hasCompleted &&\n dateRange.hasCompleted &&\n channels.hasCompleted &&\n currentUser.hasCompleted\n );\n\n const regionInfo = getRegionInfo(instanceRegion);\n\n return (\n <>\n <TvSearchBar region={region.data} />\n\n\n <div className='d-flex justify-content-between'>\n <TvTabs\n active='channels'\n currentRegion={region.data}\n showTvGuide={showTvGuide}\n />\n\n <TvRegionSelect\n currentRegion={region.data}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS\n }}\n onClick={setRegion}\n />\n </div>\n\n <TvInfoAlert dateRange={dateRange.data} region={region.data} />\n\n {dataLoaded ? (\n <>\n <div className='row mb-2'>\n {!!regionInfo.requestProgram &&\n <TvChannelCard\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.REQUEST_PROGRAM,\n args: [props.region]\n }}\n logoUrl={regionInfo.logo}\n name={getPhrase('requestProgram')}\n className={regionInfo.bgColor}\n />\n }\n {channels.data.map((channel, index) => {\n return (\n <TvChannelCard\n key={index}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNEL,\n args: [ channel.region, channel.id ],\n params: {\n region: channel.region !== props.region ? props.region : null\n }\n }}\n logoUrl={channel.logoUrl}\n name={channel.displayName}\n />\n );\n })}\n </div>\n </>\n ) : <PartialCardRow cards={20} />}\n \n\n <TvRegionSelectMap\n instanceRegion={instanceRegion}\n currentRegion={region.data}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS\n }}\n onClick={setRegion}\n />\n </>\n );\n}"],"names":["TvChannelCard","props","styles","jsxs","AppLink","jsx","PartialRow","PartialCardRow","Fragment","_","index","namespace","TvRegionSelectMap","regionInfo","getRegionInfo","Text","region","UserAction","EntityType","LocationContext","TvDescriptor","getPhrase","LanguageService","TvChannelsView","Flight.useBasicFetch","TvRequests","dateRange","regions","channels","currentUser","UserRequests","instanceRegion","_a","setRegion","useSelectedRegion","showTvGuide","useLiteUpgrade","useHandleRegionError","useHandleObjectError","useSetPageMetadata","dataLoaded","TvSearchBar","TvTabs","TvRegionSelect","AppChannels","Actions","TvInfoAlert","channel"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as g,ad as l,ae as m,af as E,A as n,L as i,a as s,b as c}from"./app-BeXfSt3Z.js";import{P as x}from"./wE4X9qJj.chunk.js";const r="exchange.exchangeTabs",e=i.encloseNamespace(r),a={categories:{application:c.EXCHANGE,action:s.Exchange.INDEX},mostRecent:{application:c.EXCHANGE,action:s.Exchange.MOST_RECENT}},o={actionType:E.Click,entity:m.Url,location:l.MagicTabs};function h(p){const{active:t}=p;return g.jsx(x,{tabs:[{name:e("categories"),appLink:a.categories,active:t==="categories",analyticsData:{name:e("categories"),url:n.getHref(a.categories)},analyticsOptions:o},{name:e("mostRecent"),appLink:a.mostRecent,active:t==="most-recent",analyticsData:{name:i.getPhrase(r,"mostRecent"),url:n.getHref(a.mostRecent)},analyticsOptions:o}]})}export{h as E};
2
- //# sourceMappingURL=DNv0G8YQ.chunk.js.map
1
+ import{j as g,ad as l,ae as m,af as E,A as n,L as i,a as s,b as c}from"./app-DQUfzK7M.js";import{P as x}from"./BL0xk5Hs.chunk.js";const r="exchange.exchangeTabs",e=i.encloseNamespace(r),a={categories:{application:c.EXCHANGE,action:s.Exchange.INDEX},mostRecent:{application:c.EXCHANGE,action:s.Exchange.MOST_RECENT}},o={actionType:E.Click,entity:m.Url,location:l.MagicTabs};function h(p){const{active:t}=p;return g.jsx(x,{tabs:[{name:e("categories"),appLink:a.categories,active:t==="categories",analyticsData:{name:e("categories"),url:n.getHref(a.categories)},analyticsOptions:o},{name:e("mostRecent"),appLink:a.mostRecent,active:t==="most-recent",analyticsData:{name:i.getPhrase(r,"mostRecent"),url:n.getHref(a.mostRecent)},analyticsOptions:o}]})}export{h as E};
2
+ //# sourceMappingURL=DFV1HGGE.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DNv0G8YQ.chunk.js","sources":["../../src/apps/exchange/components/exchange-tabs/ExchangeTabs.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nconst namespace = 'exchange.exchangeTabs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst APP_LINKS = {\n categories: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n },\n mostRecent: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.MOST_RECENT\n }\n};\n\nconst ANALYTICS_OPTIONS = {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n};\n\ninterface ExchangeTabs {\n active: 'categories' | 'most-recent' | 'featured-channels';\n}\n\nexport function ExchangeTabs(props: ExchangeTabs): JSX.Element {\n const { active } = props;\n\n return (\n <PillTabSelector\n tabs={[{\n name: getPhrase('categories'),\n appLink: APP_LINKS.categories,\n active: active === 'categories',\n analyticsData: {\n name: getPhrase('categories'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.categories)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }, {\n name: getPhrase('mostRecent'),\n appLink: APP_LINKS.mostRecent,\n active: active === 'most-recent',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'mostRecent'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.mostRecent)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }]}\n />\n );\n}"],"names":["namespace","getPhrase","LanguageService","APP_LINKS","AppChannels","Actions","ANALYTICS_OPTIONS","UserAction","EntityType","LocationContext","ExchangeTabs","props","active","jsx","PillTabSelector","Core.AppLinkHelper"],"mappings":"kIAYA,MAAMA,EAAY,wBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAEtDG,EAAY,CAChB,WAAY,CACV,YAAaC,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,EAE3B,WAAY,CACV,YAAaD,EAAY,SACzB,OAAQC,EAAQ,SAAS,WAAA,CAE7B,EAEMC,EAAoB,CACxB,WAAYC,EAAW,MACvB,OAAQC,EAAW,IACnB,SAAUC,EAAgB,SAC5B,EAMO,SAASC,EAAaC,EAAkC,CAC7D,KAAM,CAAE,OAAAC,GAAWD,EAEnB,OACEE,EAAAA,IAACC,EAAA,CACC,KAAM,CAAC,CACL,KAAMb,EAAU,YAAY,EAC5B,QAASE,EAAU,WACnB,OAAQS,IAAW,aACnB,cAAe,CACb,KAAMX,EAAU,YAAY,EAC5B,IAAKc,EAAmB,QAAQZ,EAAU,UAAU,CAAA,EAEtD,iBAAkBG,CAAA,EACjB,CACD,KAAML,EAAU,YAAY,EAC5B,QAASE,EAAU,WACnB,OAAQS,IAAW,cACnB,cAAe,CACb,KAAMV,EAAgB,UAAUF,EAAW,YAAY,EACvD,IAAKe,EAAmB,QAAQZ,EAAU,UAAU,CAAA,EAEtD,iBAAkBG,CAAA,CACnB,CAAA,CAAA,CAGP"}
1
+ {"version":3,"file":"DFV1HGGE.chunk.js","sources":["../../src/apps/exchange/components/exchange-tabs/ExchangeTabs.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nconst namespace = 'exchange.exchangeTabs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst APP_LINKS = {\n categories: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n },\n mostRecent: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.MOST_RECENT\n }\n};\n\nconst ANALYTICS_OPTIONS = {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n};\n\ninterface ExchangeTabs {\n active: 'categories' | 'most-recent' | 'featured-channels';\n}\n\nexport function ExchangeTabs(props: ExchangeTabs): JSX.Element {\n const { active } = props;\n\n return (\n <PillTabSelector\n tabs={[{\n name: getPhrase('categories'),\n appLink: APP_LINKS.categories,\n active: active === 'categories',\n analyticsData: {\n name: getPhrase('categories'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.categories)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }, {\n name: getPhrase('mostRecent'),\n appLink: APP_LINKS.mostRecent,\n active: active === 'most-recent',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'mostRecent'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.mostRecent)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }]}\n />\n );\n}"],"names":["namespace","getPhrase","LanguageService","APP_LINKS","AppChannels","Actions","ANALYTICS_OPTIONS","UserAction","EntityType","LocationContext","ExchangeTabs","props","active","jsx","PillTabSelector","Core.AppLinkHelper"],"mappings":"kIAYA,MAAMA,EAAY,wBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAEtDG,EAAY,CAChB,WAAY,CACV,YAAaC,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,EAE3B,WAAY,CACV,YAAaD,EAAY,SACzB,OAAQC,EAAQ,SAAS,WAAA,CAE7B,EAEMC,EAAoB,CACxB,WAAYC,EAAW,MACvB,OAAQC,EAAW,IACnB,SAAUC,EAAgB,SAC5B,EAMO,SAASC,EAAaC,EAAkC,CAC7D,KAAM,CAAE,OAAAC,GAAWD,EAEnB,OACEE,EAAAA,IAACC,EAAA,CACC,KAAM,CAAC,CACL,KAAMb,EAAU,YAAY,EAC5B,QAASE,EAAU,WACnB,OAAQS,IAAW,aACnB,cAAe,CACb,KAAMX,EAAU,YAAY,EAC5B,IAAKc,EAAmB,QAAQZ,EAAU,UAAU,CAAA,EAEtD,iBAAkBG,CAAA,EACjB,CACD,KAAML,EAAU,YAAY,EAC5B,QAASE,EAAU,WACnB,OAAQS,IAAW,cACnB,cAAe,CACb,KAAMV,EAAgB,UAAUF,EAAW,YAAY,EACvD,IAAKe,EAAmB,QAAQZ,EAAU,UAAU,CAAA,EAEtD,iBAAkBG,CAAA,CACnB,CAAA,CAAA,CAGP"}
@@ -1,2 +1,2 @@
1
- import{H as l,c,U as i,S as n}from"./app-BeXfSt3Z.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=BaII1chU.chunk.js.map
1
+ import{H as l,c,U as i,S as n}from"./app-DQUfzK7M.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=DKgBjNhk.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaII1chU.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":"DKgBjNhk.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,2 +1,2 @@
1
- import{U as j,ap as y,ae as L,af as S,j as a,aq as v,ar as w,R as C,as as _,w as m,B as u,at as p,r as N}from"./app-BeXfSt3Z.js";import{C as A}from"./S8s7mgrG.chunk.js";import{A as T}from"./BknFbNFb.chunk.js";import{D as E}from"./DPzpHWBx.chunk.js";import{B as D}from"./EP_6ctCd.chunk.js";import{I as B,a as H,u as I}from"./BVFJa4eN.chunk.js";const $="_actions_1psxq_1",q="_actionsContainer_1psxq_14",z="_ownerLogo_1psxq_24",P="_dropStyle_1psxq_33",O="_dragStyle_1psxq_38",d={actions:$,actionsContainer:q,ownerLogo:z,dropStyle:P,dragStyle:O};function U(e){var i,r,f,h,b,F;const s=e.folder.thumbnail?j.urlBuilder(e.folder.thumbnail.url,{size:y.Small}):null,t=(h=(f=(r=(i=e.folder)==null?void 0:i.libraries)==null?void 0:r.data)==null?void 0:f[0])==null?void 0:h.owner,n=e.showOwnerLogo&&((b=t==null?void 0:t.logo)!=null&&b.url)?j.urlBuilder(t.logo.url,{size:y.Small}):null,l=(F=e.getFolderActions)==null?void 0:F.call(e,e.folder),o=e.analyticsData?{id:e.folder.id.toString(),name:e.folder.name,...e.analyticsData}:void 0,c=e.analyticsOptions?{actionType:S.Click,entity:L.Folder,...e.analyticsOptions}:void 0;return a.jsx(E,{draggable:e.drag&&{id:e.folder.id,data:e.folder},droppable:e.drop&&{id:e.folder.id,data:e.folder},dropStye:d.dropStyle,dragStyle:d.dragStyle,children:a.jsxs("div",{className:"position-relative",children:[a.jsxs(v,{className:"rounded-3 d-block text-decoration-none",appLink:e.getAppLink(e.folder),title:e.folder.name,analyticsData:o,analyticsOptions:c,children:[a.jsx(D,{data:s,imageType:w.Thumbnails,imageClassName:"rounded-top-lg",children:a.jsx(B,{name:e.folder.name,type:H.Folder,extraClasses:"rounded-top-lg"})}),a.jsx("h3",{className:"bg-white border-start border-end border-bottom rounded-bottom-lg font-size-normal fw-semibold mb-0 p-2",children:a.jsx("span",{className:"text-truncate d-block",children:e.folder.name})})]}),(l==null?void 0:l.length)&&a.jsx(T,{actions:l,className:d.actionsContainer,actionsDropdownClassName:d.actions,dropdownToggleSvgSize:null}),!!n&&a.jsx("img",{src:n,className:`rounded-circle ${d.ownerLogo}`,alt:`${t==null?void 0:t.name} logo`,title:(t==null?void 0:t.name)||""})]})})}const g="libraries.folderList",k="has:expanded:library:folders";function R(){const e=p();return e.xxl||e.xl||e.lg?6:e.md?4:3}G.defaultProps={showHeading:!0};function G(e){const[s,t]=C.useState(_.get(k)||!1),n=e.expandFolders||s,l=R();function o(){t(!n),_.set(k,!n)}const c=n?e.folders:e.folders.slice(0,l),i=e.folders.length>l&&!e.expandFolders;return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"d-flex justify-content-between align-items-center",children:[e.showHeading&&a.jsxs(m,{className:`d-inline-flex align-items-center mb-2 px-2 ${i?"":"cursor-default"}`,onClick:o,children:[i&&a.jsx(A,{direction:n?"down":"right"}),a.jsx("h2",{className:"h4 mb-0",children:a.jsx(u,{namespace:g,phrase:"folders",options:{count:e.folders.length}})})]}),!!(!n&&i)&&a.jsx("div",{className:"d-flex justify-content-end justify-self-end px-2",children:a.jsx(m,{onClick:o,className:"text-dark hover-text-underline d-inline-block",children:a.jsx(u,{namespace:g,phrase:"seeAll",options:{count:e.folders.length}})})}),!!(n&&i)&&a.jsx("div",{className:"d-flex justify-content-end justify-self-end px-2",children:a.jsx(m,{onClick:o,className:"text-dark hover-text-underline d-inline-block",children:a.jsx(u,{namespace:g,phrase:"seeLess"})})}),e.extraButtons?e.extraButtons:a.jsx(a.Fragment,{})]}),a.jsx("div",{className:"row mx-1",children:c.map(r=>a.jsx("div",{className:"col-4 col-md-3 col-lg-2 px-1 pb-3",children:a.jsx(U,{folder:r,getAppLink:e.getAppLink,getFolderActions:e.getFolderActions,drag:e.drag,drop:e.drop})},r.id))})]})}const K="_partialFolderHeading_1surw_1",M="_partialFolderThumbnail_1surw_4",V="_partialFolderName_1surw_7",x={partialFolderHeading:K,partialFolderThumbnail:M,partialFolderName:V},W=()=>a.jsxs("div",{className:"col-4 col-md-3 col-lg-2 px-1 pb-3",children:[a.jsx("div",{className:`${x.partialFolderThumbnail} partial-loading-background rounded-top-lg`}),a.jsx("div",{className:`${x.partialFolderName} partial-loading-background border-bottom rounded-bottom-lg font-size-normal mb-0 p-2`,children:" "})]});function ae({count:e=3}){return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:`${x.partialFolderHeading} h4 mb-2 partial-loading-background`,children:" "}),a.jsx("div",{className:"row mx-n1",children:Array(e).fill(null).map((s,t)=>a.jsx(W,{},t))})]})}function le(e,s){const t=e,n=s,l=I(e&&(o=>t(o).key));return N.useEffect(()=>{l&&l.shouldInitialFetch&&s&&n()},[l==null?void 0:l.shouldInitialFetch,s]),N.useEffect(()=>{!l||!l.nextCursor||l.isFetching||!s||n(l.nextCursor)},[l==null?void 0:l.nextCursor,l==null?void 0:l.isFetching,s]),l}export{G as F,ae as P,le as u};
2
- //# sourceMappingURL=6nLsdj_T.chunk.js.map
1
+ import{U as j,ap as y,ae as L,af as S,j as a,aq as v,ar as w,R as C,as as _,w as m,B as u,at as p,r as N}from"./app-DQUfzK7M.js";import{C as A}from"./B77TOWer.chunk.js";import{A as T}from"./CYnIJ9Yj.chunk.js";import{D as E}from"./Da4lOHud.chunk.js";import{B as D}from"./UPyh9hOq.chunk.js";import{I as B,a as H,u as I}from"./Du1vfrL1.chunk.js";const $="_actions_1psxq_1",q="_actionsContainer_1psxq_14",z="_ownerLogo_1psxq_24",P="_dropStyle_1psxq_33",O="_dragStyle_1psxq_38",d={actions:$,actionsContainer:q,ownerLogo:z,dropStyle:P,dragStyle:O};function U(e){var i,r,f,h,b,F;const s=e.folder.thumbnail?j.urlBuilder(e.folder.thumbnail.url,{size:y.Small}):null,t=(h=(f=(r=(i=e.folder)==null?void 0:i.libraries)==null?void 0:r.data)==null?void 0:f[0])==null?void 0:h.owner,n=e.showOwnerLogo&&((b=t==null?void 0:t.logo)!=null&&b.url)?j.urlBuilder(t.logo.url,{size:y.Small}):null,l=(F=e.getFolderActions)==null?void 0:F.call(e,e.folder),o=e.analyticsData?{id:e.folder.id.toString(),name:e.folder.name,...e.analyticsData}:void 0,c=e.analyticsOptions?{actionType:S.Click,entity:L.Folder,...e.analyticsOptions}:void 0;return a.jsx(E,{draggable:e.drag&&{id:e.folder.id,data:e.folder},droppable:e.drop&&{id:e.folder.id,data:e.folder},dropStye:d.dropStyle,dragStyle:d.dragStyle,children:a.jsxs("div",{className:"position-relative",children:[a.jsxs(v,{className:"rounded-3 d-block text-decoration-none",appLink:e.getAppLink(e.folder),title:e.folder.name,analyticsData:o,analyticsOptions:c,children:[a.jsx(D,{data:s,imageType:w.Thumbnails,imageClassName:"rounded-top-lg",children:a.jsx(B,{name:e.folder.name,type:H.Folder,extraClasses:"rounded-top-lg"})}),a.jsx("h3",{className:"bg-white border-start border-end border-bottom rounded-bottom-lg font-size-normal fw-semibold mb-0 p-2",children:a.jsx("span",{className:"text-truncate d-block",children:e.folder.name})})]}),(l==null?void 0:l.length)&&a.jsx(T,{actions:l,className:d.actionsContainer,actionsDropdownClassName:d.actions,dropdownToggleSvgSize:null}),!!n&&a.jsx("img",{src:n,className:`rounded-circle ${d.ownerLogo}`,alt:`${t==null?void 0:t.name} logo`,title:(t==null?void 0:t.name)||""})]})})}const g="libraries.folderList",k="has:expanded:library:folders";function R(){const e=p();return e.xxl||e.xl||e.lg?6:e.md?4:3}G.defaultProps={showHeading:!0};function G(e){const[s,t]=C.useState(_.get(k)||!1),n=e.expandFolders||s,l=R();function o(){t(!n),_.set(k,!n)}const c=n?e.folders:e.folders.slice(0,l),i=e.folders.length>l&&!e.expandFolders;return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"d-flex justify-content-between align-items-center",children:[e.showHeading&&a.jsxs(m,{className:`d-inline-flex align-items-center mb-2 px-2 ${i?"":"cursor-default"}`,onClick:o,children:[i&&a.jsx(A,{direction:n?"down":"right"}),a.jsx("h2",{className:"h4 mb-0",children:a.jsx(u,{namespace:g,phrase:"folders",options:{count:e.folders.length}})})]}),!!(!n&&i)&&a.jsx("div",{className:"d-flex justify-content-end justify-self-end px-2",children:a.jsx(m,{onClick:o,className:"text-dark hover-text-underline d-inline-block",children:a.jsx(u,{namespace:g,phrase:"seeAll",options:{count:e.folders.length}})})}),!!(n&&i)&&a.jsx("div",{className:"d-flex justify-content-end justify-self-end px-2",children:a.jsx(m,{onClick:o,className:"text-dark hover-text-underline d-inline-block",children:a.jsx(u,{namespace:g,phrase:"seeLess"})})}),e.extraButtons?e.extraButtons:a.jsx(a.Fragment,{})]}),a.jsx("div",{className:"row mx-1",children:c.map(r=>a.jsx("div",{className:"col-4 col-md-3 col-lg-2 px-1 pb-3",children:a.jsx(U,{folder:r,getAppLink:e.getAppLink,getFolderActions:e.getFolderActions,drag:e.drag,drop:e.drop})},r.id))})]})}const K="_partialFolderHeading_1surw_1",M="_partialFolderThumbnail_1surw_4",V="_partialFolderName_1surw_7",x={partialFolderHeading:K,partialFolderThumbnail:M,partialFolderName:V},W=()=>a.jsxs("div",{className:"col-4 col-md-3 col-lg-2 px-1 pb-3",children:[a.jsx("div",{className:`${x.partialFolderThumbnail} partial-loading-background rounded-top-lg`}),a.jsx("div",{className:`${x.partialFolderName} partial-loading-background border-bottom rounded-bottom-lg font-size-normal mb-0 p-2`,children:" "})]});function ae({count:e=3}){return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:`${x.partialFolderHeading} h4 mb-2 partial-loading-background`,children:" "}),a.jsx("div",{className:"row mx-n1",children:Array(e).fill(null).map((s,t)=>a.jsx(W,{},t))})]})}function le(e,s){const t=e,n=s,l=I(e&&(o=>t(o).key));return N.useEffect(()=>{l&&l.shouldInitialFetch&&s&&n()},[l==null?void 0:l.shouldInitialFetch,s]),N.useEffect(()=>{!l||!l.nextCursor||l.isFetching||!s||n(l.nextCursor)},[l==null?void 0:l.nextCursor,l==null?void 0:l.isFetching,s]),l}export{G as F,ae as P,le as u};
2
+ //# sourceMappingURL=DNamqvBL.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"6nLsdj_T.chunk.js","sources":["../../../../libs/shared/src/components/library-folder/LibraryFolder.tsx","../../../../libs/shared/src/components/folder-list/FolderList.tsx","../../../../libs/shared/src/components/folder-list/partial-loading/PartialFolderList.tsx","../../../../libs/shared/src/hooks/UseFetchAll.ts"],"sourcesContent":["import React from 'react';\n\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsOptions, EntityType, HashObject, UserAction } from 'libs/analytics/interfaces';\n\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { DragDropMoveWrapper } from 'libs/shared/components/drag-drop-move/DragDropMoveWrapper';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { ImageSize, ImageType } from 'libs/shared/enums/Images';\nimport { Folder } from 'libs/shared/interfaces';\n\nimport styles from './library-folder.module.scss';\n\ninterface LibraryFolderProps {\n folder: Folder;\n showOwnerLogo?: boolean;\n drag?: boolean;\n drop?: boolean;\n getAppLink: (f: Folder) => Core.AppLink;\n getFolderActions?: (f: Folder) => ActionOptions[];\n analyticsOptions?: AnalyticsOptions;\n analyticsData?: HashObject;\n}\n\nexport function LibraryFolder(props: LibraryFolderProps): JSX.Element {\n const thumbnailUrl = props.folder.thumbnail\n ? UrlHelper.urlBuilder(props.folder.thumbnail.url, { size: ImageSize.Small })\n : null;\n\n const owner = props.folder?.libraries?.data?.[0]?.owner;\n const ownerLogoUrl = props.showOwnerLogo && !!owner?.logo?.url\n ? UrlHelper.urlBuilder(owner.logo.url, { size: ImageSize.Small })\n : null;\n\n const actions = props.getFolderActions?.(props.folder);\n\n const analyticsData = props.analyticsData ? {\n id: props.folder.id.toString(),\n name: props.folder.name,\n ...props.analyticsData\n } : undefined;\n\n const analyticsOptions = props.analyticsOptions ? {\n actionType: UserAction.Click,\n entity: EntityType.Folder,\n\n ...props.analyticsOptions\n } : undefined;\n\n return (\n <DragDropMoveWrapper\n draggable={props.drag && { id: props.folder.id, data: props.folder }}\n droppable={props.drop && { id: props.folder.id, data: props.folder }}\n dropStye={styles.dropStyle}\n dragStyle={styles.dragStyle}\n >\n <div className='position-relative'>\n <AppLink\n className='rounded-3 d-block text-decoration-none'\n appLink={props.getAppLink(props.folder)}\n title={props.folder.name}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n >\n <BaseImage\n data={thumbnailUrl}\n imageType={ImageType.Thumbnails}\n imageClassName='rounded-top-lg'\n >\n <ImageFallback\n name={props.folder.name}\n type={ImageFallbackType.Folder}\n extraClasses='rounded-top-lg'\n />\n </BaseImage>\n <h3 className='bg-white border-start border-end border-bottom rounded-bottom-lg font-size-normal fw-semibold mb-0 p-2'>\n <span className='text-truncate d-block'>{props.folder.name}</span>\n </h3>\n </AppLink>\n {actions?.length &&\n <Actions\n actions={actions}\n className={styles.actionsContainer}\n actionsDropdownClassName={styles.actions}\n // Intentionally setting to the default SVG size\n dropdownToggleSvgSize={null}\n />\n }\n {!!ownerLogoUrl &&\n <img src={ownerLogoUrl} className={`rounded-circle ${styles.ownerLogo}`} alt={`${owner?.name} logo`} title={owner?.name || ''} />\n }\n </div>\n </DragDropMoveWrapper>\n );\n}","import React from 'react';\n\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Core } from 'libs/common/core';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Caret } from 'libs/shared/components/caret/Caret';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { LibraryFolder } from 'libs/shared/components/library-folder/LibraryFolder';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Folder } from 'libs/shared/interfaces';\n\nconst namespace = 'libraries.folderList';\n\nconst EXPANDED_FOLDERS_KEY = 'has:expanded:library:folders';\n\nfunction useGetFolderLimit(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xxl || breakpoints.xl || breakpoints.lg)\n return 6;\n\n if (breakpoints.md)\n return 4;\n\n return 3;\n}\n\ninterface FolderListProps {\n folders: Folder[];\n getAppLink: (folder: Folder) => Core.AppLink;\n expandFolders?: boolean;\n showHeading?: boolean;\n getFolderActions?: (f: Folder) => ActionOptions[];\n drag?: boolean;\n drop?: boolean;\n extraButtons?: JSX.Element;\n}\n\nFolderList.defaultProps = {\n showHeading: true\n};\n\nexport function FolderList(props: FolderListProps): JSX.Element {\n const [ _hasExpandedFolders, setHasExpandedFolders ] = React.useState(\n LocalStorageHelper.get(EXPANDED_FOLDERS_KEY) || false\n );\n\n const hasExpandedFolders = props.expandFolders || _hasExpandedFolders;\n\n const folderLimit = useGetFolderLimit();\n\n function onToggleFolder(): void {\n setHasExpandedFolders(!hasExpandedFolders);\n LocalStorageHelper.set(EXPANDED_FOLDERS_KEY, !hasExpandedFolders);\n }\n\n const displayableFolders = hasExpandedFolders ? props.folders : props.folders.slice(0, folderLimit);\n\n const canToggleCollapsedView = props.folders.length > folderLimit && !props.expandFolders;\n\n return (\n <>\n <div className='d-flex justify-content-between align-items-center'>\n {props.showHeading &&\n <DivButton\n className={`d-inline-flex align-items-center mb-2 px-2 ${!canToggleCollapsedView ? 'cursor-default' : ''}`}\n onClick={onToggleFolder}\n >\n {canToggleCollapsedView && (\n <Caret direction={hasExpandedFolders ? 'down' : 'right'} />\n )}\n <h2 className='h4 mb-0'>\n <Text namespace={namespace} phrase='folders' options={{ count: props.folders.length }} />\n </h2>\n </DivButton>\n }\n\n {!!(!hasExpandedFolders && canToggleCollapsedView) && (\n <div className='d-flex justify-content-end justify-self-end px-2'>\n <DivButton onClick={onToggleFolder} className='text-dark hover-text-underline d-inline-block'>\n <Text namespace={namespace} phrase='seeAll' options={{ count: props.folders.length }} />\n </DivButton>\n </div>\n )}\n {!!(hasExpandedFolders && canToggleCollapsedView) && (\n <div className='d-flex justify-content-end justify-self-end px-2'>\n <DivButton onClick={onToggleFolder} className='text-dark hover-text-underline d-inline-block'>\n <Text namespace={namespace} phrase='seeLess' />\n </DivButton>\n </div>\n )}\n\n {props.extraButtons ? props.extraButtons : <></>}\n </div>\n\n <div className='row mx-1'>\n {displayableFolders.map(f => (\n <div key={f.id} className='col-4 col-md-3 col-lg-2 px-1 pb-3'>\n <LibraryFolder\n folder={f}\n getAppLink={props.getAppLink}\n getFolderActions={props.getFolderActions}\n drag={props.drag}\n drop={props.drop}\n />\n </div>\n ))}\n </div>\n </>\n );\n}","import React from 'react';\n\nimport styles from './partial-folder-list.module.scss';\n\nconst PartialFolder = () => (\n <div className='col-4 col-md-3 col-lg-2 px-1 pb-3'>\n <div className={`${styles.partialFolderThumbnail} partial-loading-background rounded-top-lg`} />\n <div className={`${styles.partialFolderName} partial-loading-background border-bottom rounded-bottom-lg font-size-normal mb-0 p-2`}>\n &nbsp;\n </div>\n </div>\n);\n\nexport function PartialFolderList({ count = 3 }: { count?: number; }): JSX.Element {\n return (\n <>\n <div className={`${styles.partialFolderHeading} h4 mb-2 partial-loading-background`}>&nbsp;</div>\n <div className='row mx-n1'>\n {Array(count).fill(null).map((_, i) => <PartialFolder key={i} />)}\n </div>\n </>\n );\n}","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { BaseObject } from 'libs/shared/interfaces';\n\nimport { SelectAllPagesResult, useSelectAllPages } from './UseSelectAllPages';\n\n/**\n * Hook to fetch all pages of a collection.\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 useFetchAll<T = BaseObject>(\n getRequest: ((cursor?: string) => Flight.Request) | false,\n fetchNext: ((cursor?: string) => void) | false\n): SelectAllPagesResult<T> {\n const getRequestFn = getRequest as (cursor?: string) => Flight.Request;\n const fetchNextFn = fetchNext as (cursor?: string) => void;\n\n const response = useSelectAllPages<T>(getRequest && ((cursor?: string) => getRequestFn(cursor).key));\n\n useEffect(() => {\n if (!response)\n return;\n\n if (response.shouldInitialFetch && fetchNext)\n fetchNextFn();\n }, [ response?.shouldInitialFetch, fetchNext ]);\n\n useEffect(() => {\n if (!response || !response.nextCursor || response.isFetching || !fetchNext)\n return;\n\n fetchNextFn(response.nextCursor);\n }, [ response?.nextCursor, response?.isFetching, fetchNext ]);\n\n return response;\n}"],"names":["LibraryFolder","props","thumbnailUrl","UrlHelper","ImageSize","owner","_d","_c","_b","_a","ownerLogoUrl","_e","actions","_f","analyticsData","analyticsOptions","UserAction","EntityType","jsx","DragDropMoveWrapper","styles","jsxs","AppLink","BaseImage","ImageType","ImageFallback","ImageFallbackType","Actions","namespace","EXPANDED_FOLDERS_KEY","useGetFolderLimit","breakpoints","useBreakpoints","FolderList","_hasExpandedFolders","setHasExpandedFolders","React","LocalStorageHelper","hasExpandedFolders","folderLimit","onToggleFolder","displayableFolders","canToggleCollapsedView","Fragment","DivButton","Caret","Text","f","PartialFolder","PartialFolderList","count","_","i","useFetchAll","getRequest","fetchNext","getRequestFn","fetchNextFn","response","useSelectAllPages","cursor","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"DNamqvBL.chunk.js","sources":["../../../../libs/shared/src/components/library-folder/LibraryFolder.tsx","../../../../libs/shared/src/components/folder-list/FolderList.tsx","../../../../libs/shared/src/components/folder-list/partial-loading/PartialFolderList.tsx","../../../../libs/shared/src/hooks/UseFetchAll.ts"],"sourcesContent":["import React from 'react';\n\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsOptions, EntityType, HashObject, UserAction } from 'libs/analytics/interfaces';\n\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { DragDropMoveWrapper } from 'libs/shared/components/drag-drop-move/DragDropMoveWrapper';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { ImageSize, ImageType } from 'libs/shared/enums/Images';\nimport { Folder } from 'libs/shared/interfaces';\n\nimport styles from './library-folder.module.scss';\n\ninterface LibraryFolderProps {\n folder: Folder;\n showOwnerLogo?: boolean;\n drag?: boolean;\n drop?: boolean;\n getAppLink: (f: Folder) => Core.AppLink;\n getFolderActions?: (f: Folder) => ActionOptions[];\n analyticsOptions?: AnalyticsOptions;\n analyticsData?: HashObject;\n}\n\nexport function LibraryFolder(props: LibraryFolderProps): JSX.Element {\n const thumbnailUrl = props.folder.thumbnail\n ? UrlHelper.urlBuilder(props.folder.thumbnail.url, { size: ImageSize.Small })\n : null;\n\n const owner = props.folder?.libraries?.data?.[0]?.owner;\n const ownerLogoUrl = props.showOwnerLogo && !!owner?.logo?.url\n ? UrlHelper.urlBuilder(owner.logo.url, { size: ImageSize.Small })\n : null;\n\n const actions = props.getFolderActions?.(props.folder);\n\n const analyticsData = props.analyticsData ? {\n id: props.folder.id.toString(),\n name: props.folder.name,\n ...props.analyticsData\n } : undefined;\n\n const analyticsOptions = props.analyticsOptions ? {\n actionType: UserAction.Click,\n entity: EntityType.Folder,\n\n ...props.analyticsOptions\n } : undefined;\n\n return (\n <DragDropMoveWrapper\n draggable={props.drag && { id: props.folder.id, data: props.folder }}\n droppable={props.drop && { id: props.folder.id, data: props.folder }}\n dropStye={styles.dropStyle}\n dragStyle={styles.dragStyle}\n >\n <div className='position-relative'>\n <AppLink\n className='rounded-3 d-block text-decoration-none'\n appLink={props.getAppLink(props.folder)}\n title={props.folder.name}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n >\n <BaseImage\n data={thumbnailUrl}\n imageType={ImageType.Thumbnails}\n imageClassName='rounded-top-lg'\n >\n <ImageFallback\n name={props.folder.name}\n type={ImageFallbackType.Folder}\n extraClasses='rounded-top-lg'\n />\n </BaseImage>\n <h3 className='bg-white border-start border-end border-bottom rounded-bottom-lg font-size-normal fw-semibold mb-0 p-2'>\n <span className='text-truncate d-block'>{props.folder.name}</span>\n </h3>\n </AppLink>\n {actions?.length &&\n <Actions\n actions={actions}\n className={styles.actionsContainer}\n actionsDropdownClassName={styles.actions}\n // Intentionally setting to the default SVG size\n dropdownToggleSvgSize={null}\n />\n }\n {!!ownerLogoUrl &&\n <img src={ownerLogoUrl} className={`rounded-circle ${styles.ownerLogo}`} alt={`${owner?.name} logo`} title={owner?.name || ''} />\n }\n </div>\n </DragDropMoveWrapper>\n );\n}","import React from 'react';\n\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Core } from 'libs/common/core';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Caret } from 'libs/shared/components/caret/Caret';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { LibraryFolder } from 'libs/shared/components/library-folder/LibraryFolder';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Folder } from 'libs/shared/interfaces';\n\nconst namespace = 'libraries.folderList';\n\nconst EXPANDED_FOLDERS_KEY = 'has:expanded:library:folders';\n\nfunction useGetFolderLimit(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xxl || breakpoints.xl || breakpoints.lg)\n return 6;\n\n if (breakpoints.md)\n return 4;\n\n return 3;\n}\n\ninterface FolderListProps {\n folders: Folder[];\n getAppLink: (folder: Folder) => Core.AppLink;\n expandFolders?: boolean;\n showHeading?: boolean;\n getFolderActions?: (f: Folder) => ActionOptions[];\n drag?: boolean;\n drop?: boolean;\n extraButtons?: JSX.Element;\n}\n\nFolderList.defaultProps = {\n showHeading: true\n};\n\nexport function FolderList(props: FolderListProps): JSX.Element {\n const [ _hasExpandedFolders, setHasExpandedFolders ] = React.useState(\n LocalStorageHelper.get(EXPANDED_FOLDERS_KEY) || false\n );\n\n const hasExpandedFolders = props.expandFolders || _hasExpandedFolders;\n\n const folderLimit = useGetFolderLimit();\n\n function onToggleFolder(): void {\n setHasExpandedFolders(!hasExpandedFolders);\n LocalStorageHelper.set(EXPANDED_FOLDERS_KEY, !hasExpandedFolders);\n }\n\n const displayableFolders = hasExpandedFolders ? props.folders : props.folders.slice(0, folderLimit);\n\n const canToggleCollapsedView = props.folders.length > folderLimit && !props.expandFolders;\n\n return (\n <>\n <div className='d-flex justify-content-between align-items-center'>\n {props.showHeading &&\n <DivButton\n className={`d-inline-flex align-items-center mb-2 px-2 ${!canToggleCollapsedView ? 'cursor-default' : ''}`}\n onClick={onToggleFolder}\n >\n {canToggleCollapsedView && (\n <Caret direction={hasExpandedFolders ? 'down' : 'right'} />\n )}\n <h2 className='h4 mb-0'>\n <Text namespace={namespace} phrase='folders' options={{ count: props.folders.length }} />\n </h2>\n </DivButton>\n }\n\n {!!(!hasExpandedFolders && canToggleCollapsedView) && (\n <div className='d-flex justify-content-end justify-self-end px-2'>\n <DivButton onClick={onToggleFolder} className='text-dark hover-text-underline d-inline-block'>\n <Text namespace={namespace} phrase='seeAll' options={{ count: props.folders.length }} />\n </DivButton>\n </div>\n )}\n {!!(hasExpandedFolders && canToggleCollapsedView) && (\n <div className='d-flex justify-content-end justify-self-end px-2'>\n <DivButton onClick={onToggleFolder} className='text-dark hover-text-underline d-inline-block'>\n <Text namespace={namespace} phrase='seeLess' />\n </DivButton>\n </div>\n )}\n\n {props.extraButtons ? props.extraButtons : <></>}\n </div>\n\n <div className='row mx-1'>\n {displayableFolders.map(f => (\n <div key={f.id} className='col-4 col-md-3 col-lg-2 px-1 pb-3'>\n <LibraryFolder\n folder={f}\n getAppLink={props.getAppLink}\n getFolderActions={props.getFolderActions}\n drag={props.drag}\n drop={props.drop}\n />\n </div>\n ))}\n </div>\n </>\n );\n}","import React from 'react';\n\nimport styles from './partial-folder-list.module.scss';\n\nconst PartialFolder = () => (\n <div className='col-4 col-md-3 col-lg-2 px-1 pb-3'>\n <div className={`${styles.partialFolderThumbnail} partial-loading-background rounded-top-lg`} />\n <div className={`${styles.partialFolderName} partial-loading-background border-bottom rounded-bottom-lg font-size-normal mb-0 p-2`}>\n &nbsp;\n </div>\n </div>\n);\n\nexport function PartialFolderList({ count = 3 }: { count?: number; }): JSX.Element {\n return (\n <>\n <div className={`${styles.partialFolderHeading} h4 mb-2 partial-loading-background`}>&nbsp;</div>\n <div className='row mx-n1'>\n {Array(count).fill(null).map((_, i) => <PartialFolder key={i} />)}\n </div>\n </>\n );\n}","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { BaseObject } from 'libs/shared/interfaces';\n\nimport { SelectAllPagesResult, useSelectAllPages } from './UseSelectAllPages';\n\n/**\n * Hook to fetch all pages of a collection.\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 useFetchAll<T = BaseObject>(\n getRequest: ((cursor?: string) => Flight.Request) | false,\n fetchNext: ((cursor?: string) => void) | false\n): SelectAllPagesResult<T> {\n const getRequestFn = getRequest as (cursor?: string) => Flight.Request;\n const fetchNextFn = fetchNext as (cursor?: string) => void;\n\n const response = useSelectAllPages<T>(getRequest && ((cursor?: string) => getRequestFn(cursor).key));\n\n useEffect(() => {\n if (!response)\n return;\n\n if (response.shouldInitialFetch && fetchNext)\n fetchNextFn();\n }, [ response?.shouldInitialFetch, fetchNext ]);\n\n useEffect(() => {\n if (!response || !response.nextCursor || response.isFetching || !fetchNext)\n return;\n\n fetchNextFn(response.nextCursor);\n }, [ response?.nextCursor, response?.isFetching, fetchNext ]);\n\n return response;\n}"],"names":["LibraryFolder","props","thumbnailUrl","UrlHelper","ImageSize","owner","_d","_c","_b","_a","ownerLogoUrl","_e","actions","_f","analyticsData","analyticsOptions","UserAction","EntityType","jsx","DragDropMoveWrapper","styles","jsxs","AppLink","BaseImage","ImageType","ImageFallback","ImageFallbackType","Actions","namespace","EXPANDED_FOLDERS_KEY","useGetFolderLimit","breakpoints","useBreakpoints","FolderList","_hasExpandedFolders","setHasExpandedFolders","React","LocalStorageHelper","hasExpandedFolders","folderLimit","onToggleFolder","displayableFolders","canToggleCollapsedView","Fragment","DivButton","Caret","Text","f","PartialFolder","PartialFolderList","count","_","i","useFetchAll","getRequest","fetchNext","getRequestFn","fetchNextFn","response","useSelectAllPages","cursor","useEffect"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as r}from"./app-BeXfSt3Z.js";function o(s){return r.jsx("svg",{...s,children:r.jsx("path",{fill:"currentColor",d:"M14.053 14.879a6.28 6.28 0 0 1-3.834 1.294C6.784 16.173 4 13.448 4 10.086S6.784 4 10.219 4c3.434 0 6.218 2.725 6.218 6.086 0 1.59-.622 3.037-1.641 4.12l5.056 4.95a.487.487 0 0 1 0 .699.513.513 0 0 1-.715 0zm1.384-4.793C15.437 7.297 13.121 5 10.22 5S5 7.297 5 10.086s2.316 5.087 5.219 5.087c2.902 0 5.218-2.298 5.218-5.087"})})}export{o as S};
2
- //# sourceMappingURL=BoCJPJD9.chunk.js.map
1
+ import{j as r}from"./app-DQUfzK7M.js";function o(s){return r.jsx("svg",{...s,children:r.jsx("path",{fill:"currentColor",d:"M14.053 14.879a6.28 6.28 0 0 1-3.834 1.294C6.784 16.173 4 13.448 4 10.086S6.784 4 10.219 4c3.434 0 6.218 2.725 6.218 6.086 0 1.59-.622 3.037-1.641 4.12l5.056 4.95a.487.487 0 0 1 0 .699.513.513 0 0 1-.715 0zm1.384-4.793C15.437 7.297 13.121 5 10.22 5S5 7.297 5 10.086s2.316 5.087 5.219 5.087c2.902 0 5.218-2.298 5.218-5.087"})})}export{o as S};
2
+ //# sourceMappingURL=DS9FoZYs.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BoCJPJD9.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/SearchSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function SearchSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M14.053 14.879a6.28 6.28 0 0 1-3.834 1.294C6.784 16.173 4 13.448 4 10.086S6.784 4 10.219 4c3.434 0 6.218 2.725 6.218 6.086 0 1.59-.622 3.037-1.641 4.12l5.056 4.95a.487.487 0 0 1 0 .699.513.513 0 0 1-.715 0zm1.384-4.793C15.437 7.297 13.121 5 10.22 5S5 7.297 5 10.086s2.316 5.087 5.219 5.087c2.902 0 5.218-2.298 5.218-5.087'\n />\n </svg>\n );\n}\n"],"names":["SearchSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAAUC,EAAsC,CAC9D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,EAAE,mUAAA,CAAA,EAEN,CAEJ"}
1
+ {"version":3,"file":"DS9FoZYs.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/SearchSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function SearchSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M14.053 14.879a6.28 6.28 0 0 1-3.834 1.294C6.784 16.173 4 13.448 4 10.086S6.784 4 10.219 4c3.434 0 6.218 2.725 6.218 6.086 0 1.59-.622 3.037-1.641 4.12l5.056 4.95a.487.487 0 0 1 0 .699.513.513 0 0 1-.715 0zm1.384-4.793C15.437 7.297 13.121 5 10.22 5S5 7.297 5 10.086s2.316 5.087 5.219 5.087c2.902 0 5.218-2.298 5.218-5.087'\n />\n </svg>\n );\n}\n"],"names":["SearchSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAAUC,EAAsC,CAC9D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,EAAE,mUAAA,CAAA,EAEN,CAEJ"}