@clickview/curator 1.100.0-rc.1 → 1.100.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 (321) hide show
  1. package/dist/.vite/manifest.json +1779 -1779
  2. package/dist/Assets/js/dist/scripts/{CYhNyVj0.chunk.js → -6zuD8lo.chunk.js} +2 -2
  3. package/dist/Assets/js/dist/scripts/{CYhNyVj0.chunk.js.map → -6zuD8lo.chunk.js.map} +1 -1
  4. package/dist/Assets/js/dist/scripts/{D28bEsam.chunk.js → 0A42jU2r.chunk.js} +2 -2
  5. package/dist/Assets/js/dist/scripts/{D28bEsam.chunk.js.map → 0A42jU2r.chunk.js.map} +1 -1
  6. package/dist/Assets/js/dist/scripts/{oYHUjbwb2.chunk.js → 0ogjGD4J2.chunk.js} +2 -2
  7. package/dist/Assets/js/dist/scripts/{oYHUjbwb2.chunk.js.map → 0ogjGD4J2.chunk.js.map} +1 -1
  8. package/dist/Assets/js/dist/scripts/{PeuFojmJ2.chunk.js → 2aCj1HHJ2.chunk.js} +2 -2
  9. package/dist/Assets/js/dist/scripts/{PeuFojmJ2.chunk.js.map → 2aCj1HHJ2.chunk.js.map} +1 -1
  10. package/dist/Assets/js/dist/scripts/{q7pjZoNd.chunk.js → 2zbtFQka.chunk.js} +2 -2
  11. package/dist/Assets/js/dist/scripts/{q7pjZoNd.chunk.js.map → 2zbtFQka.chunk.js.map} +1 -1
  12. package/dist/Assets/js/dist/scripts/{0S5J0xX22.chunk.js → 3IQ_8AZP2.chunk.js} +2 -2
  13. package/dist/Assets/js/dist/scripts/{0S5J0xX22.chunk.js.map → 3IQ_8AZP2.chunk.js.map} +1 -1
  14. package/dist/Assets/js/dist/scripts/{DvP7S5Uq.chunk.js → 3eMwLZ5D.chunk.js} +2 -2
  15. package/dist/Assets/js/dist/scripts/{DvP7S5Uq.chunk.js.map → 3eMwLZ5D.chunk.js.map} +1 -1
  16. package/dist/Assets/js/dist/scripts/{y1L3G7XA2.chunk.js → 4Tx2JSvk2.chunk.js} +2 -2
  17. package/dist/Assets/js/dist/scripts/{y1L3G7XA2.chunk.js.map → 4Tx2JSvk2.chunk.js.map} +1 -1
  18. package/dist/Assets/js/dist/scripts/{BbR7yW4A2.chunk.js → 5uVJfyDx2.chunk.js} +2 -2
  19. package/dist/Assets/js/dist/scripts/{BbR7yW4A2.chunk.js.map → 5uVJfyDx2.chunk.js.map} +1 -1
  20. package/dist/Assets/js/dist/scripts/{B52yjTo5.chunk.js → 6l2s6d3Q.chunk.js} +2 -2
  21. package/dist/Assets/js/dist/scripts/{B52yjTo5.chunk.js.map → 6l2s6d3Q.chunk.js.map} +1 -1
  22. package/dist/Assets/js/dist/scripts/{DezIbRcB2.chunk.js → 8RAh0VA72.chunk.js} +2 -2
  23. package/dist/Assets/js/dist/scripts/{DezIbRcB2.chunk.js.map → 8RAh0VA72.chunk.js.map} +1 -1
  24. package/dist/Assets/js/dist/scripts/{CixcMUHF.chunk.js → 9nk_zFtT.chunk.js} +2 -2
  25. package/dist/Assets/js/dist/scripts/{CixcMUHF.chunk.js.map → 9nk_zFtT.chunk.js.map} +1 -1
  26. package/dist/Assets/js/dist/scripts/{Bk9vy70e2.chunk.js → Ae4rMqFm2.chunk.js} +2 -2
  27. package/dist/Assets/js/dist/scripts/{Bk9vy70e2.chunk.js.map → Ae4rMqFm2.chunk.js.map} +1 -1
  28. package/dist/Assets/js/dist/scripts/{Bzh_AwaG.chunk.js → B0mCquXn.chunk.js} +2 -2
  29. package/dist/Assets/js/dist/scripts/{Bzh_AwaG.chunk.js.map → B0mCquXn.chunk.js.map} +1 -1
  30. package/dist/Assets/js/dist/scripts/B1pBJzjh.chunk.js +1 -0
  31. package/dist/Assets/js/dist/scripts/{BswFY0mR2.chunk.js → B6IinlWw2.chunk.js} +2 -2
  32. package/dist/Assets/js/dist/scripts/{BswFY0mR2.chunk.js.map → B6IinlWw2.chunk.js.map} +1 -1
  33. package/dist/Assets/js/dist/scripts/{ClpIRgLR.chunk.js → B6NMAAhW.chunk.js} +2 -2
  34. package/dist/Assets/js/dist/scripts/{ClpIRgLR.chunk.js.map → B6NMAAhW.chunk.js.map} +1 -1
  35. package/dist/Assets/js/dist/scripts/{BCMXlwdC2.chunk.js → B8RZKQTs2.chunk.js} +2 -2
  36. package/dist/Assets/js/dist/scripts/{BCMXlwdC2.chunk.js.map → B8RZKQTs2.chunk.js.map} +1 -1
  37. package/dist/Assets/js/dist/scripts/{CymdouaN.chunk.js → B9R92bqj.chunk.js} +2 -2
  38. package/dist/Assets/js/dist/scripts/{CymdouaN.chunk.js.map → B9R92bqj.chunk.js.map} +1 -1
  39. package/dist/Assets/js/dist/scripts/{CtVYDK7g.chunk.js → BAFYJZ4c.chunk.js} +2 -2
  40. package/dist/Assets/js/dist/scripts/{CtVYDK7g.chunk.js.map → BAFYJZ4c.chunk.js.map} +1 -1
  41. package/dist/Assets/js/dist/scripts/{_wZpe632.chunk.js → BFPSIGJg.chunk.js} +2 -2
  42. package/dist/Assets/js/dist/scripts/{_wZpe632.chunk.js.map → BFPSIGJg.chunk.js.map} +1 -1
  43. package/dist/Assets/js/dist/scripts/{BNHULwJy2.chunk.js → BGiLDtc92.chunk.js} +2 -2
  44. package/dist/Assets/js/dist/scripts/{BNHULwJy2.chunk.js.map → BGiLDtc92.chunk.js.map} +1 -1
  45. package/dist/Assets/js/dist/scripts/{DA9R8atp2.chunk.js → BH6LIpwu2.chunk.js} +2 -2
  46. package/dist/Assets/js/dist/scripts/{DA9R8atp2.chunk.js.map → BH6LIpwu2.chunk.js.map} +1 -1
  47. package/dist/Assets/js/dist/scripts/{DbrVjVdn.chunk.js → BMj3pXcm.chunk.js} +2 -2
  48. package/dist/Assets/js/dist/scripts/{DbrVjVdn.chunk.js.map → BMj3pXcm.chunk.js.map} +1 -1
  49. package/dist/Assets/js/dist/scripts/{CDvLjxwS.chunk.js → BQTfNBFU.chunk.js} +2 -2
  50. package/dist/Assets/js/dist/scripts/{CDvLjxwS.chunk.js.map → BQTfNBFU.chunk.js.map} +1 -1
  51. package/dist/Assets/js/dist/scripts/{mStmtFRo.chunk.js → BT-jeT7C.chunk.js} +2 -2
  52. package/dist/Assets/js/dist/scripts/{mStmtFRo.chunk.js.map → BT-jeT7C.chunk.js.map} +1 -1
  53. package/dist/Assets/js/dist/scripts/{FlF2O19P2.chunk.js → BUD4osIg2.chunk.js} +2 -2
  54. package/dist/Assets/js/dist/scripts/{FlF2O19P2.chunk.js.map → BUD4osIg2.chunk.js.map} +1 -1
  55. package/dist/Assets/js/dist/scripts/{DWS9yr24.chunk.js → BVoG71Kc.chunk.js} +2 -2
  56. package/dist/Assets/js/dist/scripts/{DWS9yr24.chunk.js.map → BVoG71Kc.chunk.js.map} +1 -1
  57. package/dist/Assets/js/dist/scripts/{B9tf3oT62.chunk.js → BW5iVK1B2.chunk.js} +2 -2
  58. package/dist/Assets/js/dist/scripts/{B9tf3oT62.chunk.js.map → BW5iVK1B2.chunk.js.map} +1 -1
  59. package/dist/Assets/js/dist/scripts/{C2mEE4FT.chunk.js → BW9r-3iO.chunk.js} +2 -2
  60. package/dist/Assets/js/dist/scripts/{C2mEE4FT.chunk.js.map → BW9r-3iO.chunk.js.map} +1 -1
  61. package/dist/Assets/js/dist/scripts/{Dpgqkqbp.chunk.js → BX1tMzoa.chunk.js} +2 -2
  62. package/dist/Assets/js/dist/scripts/{Dpgqkqbp.chunk.js.map → BX1tMzoa.chunk.js.map} +1 -1
  63. package/dist/Assets/js/dist/scripts/{DVRzbAn6.chunk.js → BXaC-l33.chunk.js} +2 -2
  64. package/dist/Assets/js/dist/scripts/{DVRzbAn6.chunk.js.map → BXaC-l33.chunk.js.map} +1 -1
  65. package/dist/Assets/js/dist/scripts/{BaR7D4NT2.chunk.js → BY-c3M2b2.chunk.js} +2 -2
  66. package/dist/Assets/js/dist/scripts/{BaR7D4NT2.chunk.js.map → BY-c3M2b2.chunk.js.map} +1 -1
  67. package/dist/Assets/js/dist/scripts/{CJpVJtZk.chunk.js → BYMuPFbe.chunk.js} +2 -2
  68. package/dist/Assets/js/dist/scripts/{CJpVJtZk.chunk.js.map → BYMuPFbe.chunk.js.map} +1 -1
  69. package/dist/Assets/js/dist/scripts/{C5INFWaM2.chunk.js → BaOAOuSc2.chunk.js} +2 -2
  70. package/dist/Assets/js/dist/scripts/{C5INFWaM2.chunk.js.map → BaOAOuSc2.chunk.js.map} +1 -1
  71. package/dist/Assets/js/dist/scripts/{wAWlO6hc.chunk.js → Bb_f3Lku.chunk.js} +2 -2
  72. package/dist/Assets/js/dist/scripts/{wAWlO6hc.chunk.js.map → Bb_f3Lku.chunk.js.map} +1 -1
  73. package/dist/Assets/js/dist/scripts/{BLJO44vl.chunk.js → BdJYoUIO.chunk.js} +2 -2
  74. package/dist/Assets/js/dist/scripts/{BLJO44vl.chunk.js.map → BdJYoUIO.chunk.js.map} +1 -1
  75. package/dist/Assets/js/dist/scripts/{CW2k5Ut-2.chunk.js → Bf-6iyfX2.chunk.js} +2 -2
  76. package/dist/Assets/js/dist/scripts/{CW2k5Ut-2.chunk.js.map → Bf-6iyfX2.chunk.js.map} +1 -1
  77. package/dist/Assets/js/dist/scripts/{DxL0ZEcN2.chunk.js → BiPUuGEE2.chunk.js} +2 -2
  78. package/dist/Assets/js/dist/scripts/{DxL0ZEcN2.chunk.js.map → BiPUuGEE2.chunk.js.map} +1 -1
  79. package/dist/Assets/js/dist/scripts/{2XS-c0Xo.chunk.js → Bj4-NRWf.chunk.js} +2 -2
  80. package/dist/Assets/js/dist/scripts/{2XS-c0Xo.chunk.js.map → Bj4-NRWf.chunk.js.map} +1 -1
  81. package/dist/Assets/js/dist/scripts/{D13ViJt82.chunk.js → BkVcraos2.chunk.js} +2 -2
  82. package/dist/Assets/js/dist/scripts/{D13ViJt82.chunk.js.map → BkVcraos2.chunk.js.map} +1 -1
  83. package/dist/Assets/js/dist/scripts/{U1L4Dfoc.chunk.js → BkZ7WS_H.chunk.js} +2 -2
  84. package/dist/Assets/js/dist/scripts/{U1L4Dfoc.chunk.js.map → BkZ7WS_H.chunk.js.map} +1 -1
  85. package/dist/Assets/js/dist/scripts/{DoQiTqRX2.chunk.js → BoMt5mMW2.chunk.js} +2 -2
  86. package/dist/Assets/js/dist/scripts/{DoQiTqRX2.chunk.js.map → BoMt5mMW2.chunk.js.map} +1 -1
  87. package/dist/Assets/js/dist/scripts/{Da_9BBKD2.chunk.js → Bo_WsHZq2.chunk.js} +2 -2
  88. package/dist/Assets/js/dist/scripts/{Da_9BBKD2.chunk.js.map → Bo_WsHZq2.chunk.js.map} +1 -1
  89. package/dist/Assets/js/dist/scripts/{CnyrKBG0.chunk.js → BpV5ErII.chunk.js} +2 -2
  90. package/dist/Assets/js/dist/scripts/{CnyrKBG0.chunk.js.map → BpV5ErII.chunk.js.map} +1 -1
  91. package/dist/Assets/js/dist/scripts/{Dfhl7nI62.chunk.js → BrBPGjLi2.chunk.js} +2 -2
  92. package/dist/Assets/js/dist/scripts/{Dfhl7nI62.chunk.js.map → BrBPGjLi2.chunk.js.map} +1 -1
  93. package/dist/Assets/js/dist/scripts/{DcxGcCkR.chunk.js → BrHyZG_m.chunk.js} +2 -2
  94. package/dist/Assets/js/dist/scripts/{DcxGcCkR.chunk.js.map → BrHyZG_m.chunk.js.map} +1 -1
  95. package/dist/Assets/js/dist/scripts/{FXPxauLF.chunk.js → Bu4F3uuX.chunk.js} +2 -2
  96. package/dist/Assets/js/dist/scripts/{FXPxauLF.chunk.js.map → Bu4F3uuX.chunk.js.map} +1 -1
  97. package/dist/Assets/js/dist/scripts/{DZdJx-7j.chunk.js → BvW9SXzy.chunk.js} +2 -2
  98. package/dist/Assets/js/dist/scripts/{DZdJx-7j.chunk.js.map → BvW9SXzy.chunk.js.map} +1 -1
  99. package/dist/Assets/js/dist/scripts/{CAU0Lbgd.chunk.js → BwKHls91.chunk.js} +2 -2
  100. package/dist/Assets/js/dist/scripts/{CAU0Lbgd.chunk.js.map → BwKHls91.chunk.js.map} +1 -1
  101. package/dist/Assets/js/dist/scripts/{BiTzUyxj2.chunk.js → BxZNJjbX2.chunk.js} +2 -2
  102. package/dist/Assets/js/dist/scripts/{BiTzUyxj2.chunk.js.map → BxZNJjbX2.chunk.js.map} +1 -1
  103. package/dist/Assets/js/dist/scripts/{cymXuIcM.chunk.js → BygVW5WL.chunk.js} +2 -2
  104. package/dist/Assets/js/dist/scripts/{cymXuIcM.chunk.js.map → BygVW5WL.chunk.js.map} +1 -1
  105. package/dist/Assets/js/dist/scripts/{Dx07A6Ct.chunk.js → ByzsHBuo.chunk.js} +2 -2
  106. package/dist/Assets/js/dist/scripts/{Dx07A6Ct.chunk.js.map → ByzsHBuo.chunk.js.map} +1 -1
  107. package/dist/Assets/js/dist/scripts/C-M2om56.chunk.js +3 -0
  108. package/dist/Assets/js/dist/scripts/C-M2om56.chunk.js.map +1 -0
  109. package/dist/Assets/js/dist/scripts/{B6dlmRQL.chunk.js → C0UYMHUe.chunk.js} +2 -2
  110. package/dist/Assets/js/dist/scripts/{B6dlmRQL.chunk.js.map → C0UYMHUe.chunk.js.map} +1 -1
  111. package/dist/Assets/js/dist/scripts/{V0N7tCBl.chunk.js → C0_pEFCD.chunk.js} +2 -2
  112. package/dist/Assets/js/dist/scripts/{V0N7tCBl.chunk.js.map → C0_pEFCD.chunk.js.map} +1 -1
  113. package/dist/Assets/js/dist/scripts/{Cpr1J8Rk2.chunk.js → C2jRLu4_2.chunk.js} +2 -2
  114. package/dist/Assets/js/dist/scripts/{Cpr1J8Rk2.chunk.js.map → C2jRLu4_2.chunk.js.map} +1 -1
  115. package/dist/Assets/js/dist/scripts/{CY56FWb9.chunk.js → C2tBl3l9.chunk.js} +2 -2
  116. package/dist/Assets/js/dist/scripts/{CY56FWb9.chunk.js.map → C2tBl3l9.chunk.js.map} +1 -1
  117. package/dist/Assets/js/dist/scripts/{C3Lx9PwR.chunk.js → C4eazpDh.chunk.js} +2 -2
  118. package/dist/Assets/js/dist/scripts/{C3Lx9PwR.chunk.js.map → C4eazpDh.chunk.js.map} +1 -1
  119. package/dist/Assets/js/dist/scripts/{puobgAYi.chunk.js → CBq4vrjT.chunk.js} +2 -2
  120. package/dist/Assets/js/dist/scripts/{puobgAYi.chunk.js.map → CBq4vrjT.chunk.js.map} +1 -1
  121. package/dist/Assets/js/dist/scripts/{Bcx1C8ae.chunk.js → CBzqRw-k.chunk.js} +2 -2
  122. package/dist/Assets/js/dist/scripts/{Bcx1C8ae.chunk.js.map → CBzqRw-k.chunk.js.map} +1 -1
  123. package/dist/Assets/js/dist/scripts/{BD6DIPGL2.chunk.js → CDAdfAL02.chunk.js} +2 -2
  124. package/dist/Assets/js/dist/scripts/{BD6DIPGL2.chunk.js.map → CDAdfAL02.chunk.js.map} +1 -1
  125. package/dist/Assets/js/dist/scripts/{Ddp1uNfH.chunk.js → CE1Dxq8p.chunk.js} +2 -2
  126. package/dist/Assets/js/dist/scripts/{Ddp1uNfH.chunk.js.map → CE1Dxq8p.chunk.js.map} +1 -1
  127. package/dist/Assets/js/dist/scripts/{C99MPG7E.chunk.js → CG2julEA.chunk.js} +2 -2
  128. package/dist/Assets/js/dist/scripts/{C99MPG7E.chunk.js.map → CG2julEA.chunk.js.map} +1 -1
  129. package/dist/Assets/js/dist/scripts/{tyY3GHEC2.chunk.js → CGcN4g0d2.chunk.js} +2 -2
  130. package/dist/Assets/js/dist/scripts/{tyY3GHEC2.chunk.js.map → CGcN4g0d2.chunk.js.map} +1 -1
  131. package/dist/Assets/js/dist/scripts/{wODD7tmB2.chunk.js → CJmV_FfR2.chunk.js} +2 -2
  132. package/dist/Assets/js/dist/scripts/{wODD7tmB2.chunk.js.map → CJmV_FfR2.chunk.js.map} +1 -1
  133. package/dist/Assets/js/dist/scripts/{DavA1dZZ.chunk.js → CKvVGIRL.chunk.js} +2 -2
  134. package/dist/Assets/js/dist/scripts/{DavA1dZZ.chunk.js.map → CKvVGIRL.chunk.js.map} +1 -1
  135. package/dist/Assets/js/dist/scripts/{CrndJnZp.chunk.js → CL1DcbTZ.chunk.js} +2 -2
  136. package/dist/Assets/js/dist/scripts/{CrndJnZp.chunk.js.map → CL1DcbTZ.chunk.js.map} +1 -1
  137. package/dist/Assets/js/dist/scripts/{DLLL2lwS.chunk.js → CNLx6_fS.chunk.js} +2 -2
  138. package/dist/Assets/js/dist/scripts/{DLLL2lwS.chunk.js.map → CNLx6_fS.chunk.js.map} +1 -1
  139. package/dist/Assets/js/dist/scripts/{w2lackHw.chunk.js → CNUVs80P.chunk.js} +2 -2
  140. package/dist/Assets/js/dist/scripts/{w2lackHw.chunk.js.map → CNUVs80P.chunk.js.map} +1 -1
  141. package/dist/Assets/js/dist/scripts/{CCzvD0H4.chunk.js → CPa__SNX.chunk.js} +2 -2
  142. package/dist/Assets/js/dist/scripts/{CCzvD0H4.chunk.js.map → CPa__SNX.chunk.js.map} +1 -1
  143. package/dist/Assets/js/dist/scripts/{DeDh-wVP.chunk.js → CSA2Tnv9.chunk.js} +2 -2
  144. package/dist/Assets/js/dist/scripts/{DeDh-wVP.chunk.js.map → CSA2Tnv9.chunk.js.map} +1 -1
  145. package/dist/Assets/js/dist/scripts/{CjZJx6-O2.chunk.js → CT-xEpNT2.chunk.js} +2 -2
  146. package/dist/Assets/js/dist/scripts/{CjZJx6-O2.chunk.js.map → CT-xEpNT2.chunk.js.map} +1 -1
  147. package/dist/Assets/js/dist/scripts/{BRPP3VZ1.chunk.js → CT0vfLa0.chunk.js} +2 -2
  148. package/dist/Assets/js/dist/scripts/{BRPP3VZ1.chunk.js.map → CT0vfLa0.chunk.js.map} +1 -1
  149. package/dist/Assets/js/dist/scripts/{DGjNB2Bz.chunk.js → CUDnXypB.chunk.js} +2 -2
  150. package/dist/Assets/js/dist/scripts/{DGjNB2Bz.chunk.js.map → CUDnXypB.chunk.js.map} +1 -1
  151. package/dist/Assets/js/dist/scripts/{cXanUGwK.chunk.js → CeMQZB5J.chunk.js} +2 -2
  152. package/dist/Assets/js/dist/scripts/{cXanUGwK.chunk.js.map → CeMQZB5J.chunk.js.map} +1 -1
  153. package/dist/Assets/js/dist/scripts/Cf5cjLzK.chunk.js +2 -0
  154. package/dist/Assets/js/dist/scripts/{D2iK_uRt.chunk.js.map → Cf5cjLzK.chunk.js.map} +1 -1
  155. package/dist/Assets/js/dist/scripts/{CRNBuqmR.chunk.js → CfGaxIgd.chunk.js} +2 -2
  156. package/dist/Assets/js/dist/scripts/{CRNBuqmR.chunk.js.map → CfGaxIgd.chunk.js.map} +1 -1
  157. package/dist/Assets/js/dist/scripts/{BNr7ZL3F2.chunk.js → Cqfub35W2.chunk.js} +2 -2
  158. package/dist/Assets/js/dist/scripts/{BNr7ZL3F2.chunk.js.map → Cqfub35W2.chunk.js.map} +1 -1
  159. package/dist/Assets/js/dist/scripts/{DRmwJ1it2.chunk.js → Cv8UpP5_2.chunk.js} +2 -2
  160. package/dist/Assets/js/dist/scripts/{DRmwJ1it2.chunk.js.map → Cv8UpP5_2.chunk.js.map} +1 -1
  161. package/dist/Assets/js/dist/scripts/{DOfeXfSj.chunk.js → CvV6jx2d.chunk.js} +2 -2
  162. package/dist/Assets/js/dist/scripts/{DOfeXfSj.chunk.js.map → CvV6jx2d.chunk.js.map} +1 -1
  163. package/dist/Assets/js/dist/scripts/{DnGnhqys.chunk.js → CxENQntH.chunk.js} +2 -2
  164. package/dist/Assets/js/dist/scripts/{DnGnhqys.chunk.js.map → CxENQntH.chunk.js.map} +1 -1
  165. package/dist/Assets/js/dist/scripts/{NMDkdR-8.chunk.js → CxIfJCSc.chunk.js} +2 -2
  166. package/dist/Assets/js/dist/scripts/{NMDkdR-8.chunk.js.map → CxIfJCSc.chunk.js.map} +1 -1
  167. package/dist/Assets/js/dist/scripts/{B9H-d-YC.chunk.js → CxggKQxV.chunk.js} +2 -2
  168. package/dist/Assets/js/dist/scripts/{B9H-d-YC.chunk.js.map → CxggKQxV.chunk.js.map} +1 -1
  169. package/dist/Assets/js/dist/scripts/{B3I44IzQ.chunk.js → CyNNZ1So.chunk.js} +2 -2
  170. package/dist/Assets/js/dist/scripts/{B3I44IzQ.chunk.js.map → CyNNZ1So.chunk.js.map} +1 -1
  171. package/dist/Assets/js/dist/scripts/{B2V1N14S.chunk.js → Cz-WSyAE.chunk.js} +2 -2
  172. package/dist/Assets/js/dist/scripts/{B2V1N14S.chunk.js.map → Cz-WSyAE.chunk.js.map} +1 -1
  173. package/dist/Assets/js/dist/scripts/{S9cTzcQc2.chunk.js → D2aQFJWt2.chunk.js} +2 -2
  174. package/dist/Assets/js/dist/scripts/{S9cTzcQc2.chunk.js.map → D2aQFJWt2.chunk.js.map} +1 -1
  175. package/dist/Assets/js/dist/scripts/{CEsXUxxo2.chunk.js → D2h9W4GA2.chunk.js} +2 -2
  176. package/dist/Assets/js/dist/scripts/{CEsXUxxo2.chunk.js.map → D2h9W4GA2.chunk.js.map} +1 -1
  177. package/dist/Assets/js/dist/scripts/{DqCsVhOS.chunk.js → D3NAhMJm.chunk.js} +2 -2
  178. package/dist/Assets/js/dist/scripts/{DqCsVhOS.chunk.js.map → D3NAhMJm.chunk.js.map} +1 -1
  179. package/dist/Assets/js/dist/scripts/{DpM1KgHy.chunk.js → D3aWaqBW.chunk.js} +2 -2
  180. package/dist/Assets/js/dist/scripts/{DpM1KgHy.chunk.js.map → D3aWaqBW.chunk.js.map} +1 -1
  181. package/dist/Assets/js/dist/scripts/{CxtxOtyF2.chunk.js → D4xcR0492.chunk.js} +2 -2
  182. package/dist/Assets/js/dist/scripts/{CxtxOtyF2.chunk.js.map → D4xcR0492.chunk.js.map} +1 -1
  183. package/dist/Assets/js/dist/scripts/{BEeh_Vbr.chunk.js → D5ek2PiI.chunk.js} +2 -2
  184. package/dist/Assets/js/dist/scripts/{BEeh_Vbr.chunk.js.map → D5ek2PiI.chunk.js.map} +1 -1
  185. package/dist/Assets/js/dist/scripts/{DjqQYm43.chunk.js → D61ei_h6.chunk.js} +2 -2
  186. package/dist/Assets/js/dist/scripts/{DjqQYm43.chunk.js.map → D61ei_h6.chunk.js.map} +1 -1
  187. package/dist/Assets/js/dist/scripts/{lgpeNdac.chunk.js → D6wyTufc.chunk.js} +2 -2
  188. package/dist/Assets/js/dist/scripts/{lgpeNdac.chunk.js.map → D6wyTufc.chunk.js.map} +1 -1
  189. package/dist/Assets/js/dist/scripts/{B8li8ced.chunk.js → D7I90XOo.chunk.js} +2 -2
  190. package/dist/Assets/js/dist/scripts/{B8li8ced.chunk.js.map → D7I90XOo.chunk.js.map} +1 -1
  191. package/dist/Assets/js/dist/scripts/{DBAwgllB.chunk.js → DArfNv9S.chunk.js} +2 -2
  192. package/dist/Assets/js/dist/scripts/{DBAwgllB.chunk.js.map → DArfNv9S.chunk.js.map} +1 -1
  193. package/dist/Assets/js/dist/scripts/{B6uYrrzJ2.chunk.js → DB-51xws2.chunk.js} +2 -2
  194. package/dist/Assets/js/dist/scripts/{B6uYrrzJ2.chunk.js.map → DB-51xws2.chunk.js.map} +1 -1
  195. package/dist/Assets/js/dist/scripts/{C-flCrUr.chunk.js → DENdEA1F.chunk.js} +2 -2
  196. package/dist/Assets/js/dist/scripts/{C-flCrUr.chunk.js.map → DENdEA1F.chunk.js.map} +1 -1
  197. package/dist/Assets/js/dist/scripts/{BuF_pg9-2.chunk.js → DFYiLmms2.chunk.js} +2 -2
  198. package/dist/Assets/js/dist/scripts/{BuF_pg9-2.chunk.js.map → DFYiLmms2.chunk.js.map} +1 -1
  199. package/dist/Assets/js/dist/scripts/{BE6LUVEo2.chunk.js → DHa-x1js2.chunk.js} +2 -2
  200. package/dist/Assets/js/dist/scripts/{BE6LUVEo2.chunk.js.map → DHa-x1js2.chunk.js.map} +1 -1
  201. package/dist/Assets/js/dist/scripts/{DDHep0UM.chunk.js → DHeA2NJS.chunk.js} +2 -2
  202. package/dist/Assets/js/dist/scripts/{DDHep0UM.chunk.js.map → DHeA2NJS.chunk.js.map} +1 -1
  203. package/dist/Assets/js/dist/scripts/{D5OaPA-v.chunk.js → DIDxfMO_.chunk.js} +2 -2
  204. package/dist/Assets/js/dist/scripts/{D5OaPA-v.chunk.js.map → DIDxfMO_.chunk.js.map} +1 -1
  205. package/dist/Assets/js/dist/scripts/{CV7UIOmh2.chunk.js → DMq1wDNm2.chunk.js} +2 -2
  206. package/dist/Assets/js/dist/scripts/{CV7UIOmh2.chunk.js.map → DMq1wDNm2.chunk.js.map} +1 -1
  207. package/dist/Assets/js/dist/scripts/{ByMU9ltp2.chunk.js → DNWM9yfh2.chunk.js} +2 -2
  208. package/dist/Assets/js/dist/scripts/{ByMU9ltp2.chunk.js.map → DNWM9yfh2.chunk.js.map} +1 -1
  209. package/dist/Assets/js/dist/scripts/{DFwtjofq2.chunk.js → DSj7VCEo2.chunk.js} +2 -2
  210. package/dist/Assets/js/dist/scripts/{DFwtjofq2.chunk.js.map → DSj7VCEo2.chunk.js.map} +1 -1
  211. package/dist/Assets/js/dist/scripts/{BSYuzR8N2.chunk.js → DSvehN9D2.chunk.js} +2 -2
  212. package/dist/Assets/js/dist/scripts/{BSYuzR8N2.chunk.js.map → DSvehN9D2.chunk.js.map} +1 -1
  213. package/dist/Assets/js/dist/scripts/{FS74_jrx.chunk.js → DTvCgZ4c.chunk.js} +2 -2
  214. package/dist/Assets/js/dist/scripts/{FS74_jrx.chunk.js.map → DTvCgZ4c.chunk.js.map} +1 -1
  215. package/dist/Assets/js/dist/scripts/{C7Gmh7eY.chunk.js → DWHKdmdQ.chunk.js} +2 -2
  216. package/dist/Assets/js/dist/scripts/{C7Gmh7eY.chunk.js.map → DWHKdmdQ.chunk.js.map} +1 -1
  217. package/dist/Assets/js/dist/scripts/{DXcaOjI_.chunk.js → DYFGF9Pe.chunk.js} +2 -2
  218. package/dist/Assets/js/dist/scripts/{DXcaOjI_.chunk.js.map → DYFGF9Pe.chunk.js.map} +1 -1
  219. package/dist/Assets/js/dist/scripts/{CIw53qNO2.chunk.js → DYOxTenc2.chunk.js} +2 -2
  220. package/dist/Assets/js/dist/scripts/{CIw53qNO2.chunk.js.map → DYOxTenc2.chunk.js.map} +1 -1
  221. package/dist/Assets/js/dist/scripts/{CignflP_2.chunk.js → DZthp5T62.chunk.js} +2 -2
  222. package/dist/Assets/js/dist/scripts/{CignflP_2.chunk.js.map → DZthp5T62.chunk.js.map} +1 -1
  223. package/dist/Assets/js/dist/scripts/{BlqDwJRY.chunk.js → Djgwr16q.chunk.js} +2 -2
  224. package/dist/Assets/js/dist/scripts/{BlqDwJRY.chunk.js.map → Djgwr16q.chunk.js.map} +1 -1
  225. package/dist/Assets/js/dist/scripts/{BwToh2X9.chunk.js → DjnvbVQs.chunk.js} +2 -2
  226. package/dist/Assets/js/dist/scripts/{BwToh2X9.chunk.js.map → DjnvbVQs.chunk.js.map} +1 -1
  227. package/dist/Assets/js/dist/scripts/{UelJUmgx2.chunk.js → DmrhyI9D2.chunk.js} +2 -2
  228. package/dist/Assets/js/dist/scripts/{UelJUmgx2.chunk.js.map → DmrhyI9D2.chunk.js.map} +1 -1
  229. package/dist/Assets/js/dist/scripts/{0KUhq7W7.chunk.js → DnZGILQc.chunk.js} +2 -2
  230. package/dist/Assets/js/dist/scripts/{0KUhq7W7.chunk.js.map → DnZGILQc.chunk.js.map} +1 -1
  231. package/dist/Assets/js/dist/scripts/{BSPrErub.chunk.js → DqnZw1cj.chunk.js} +2 -2
  232. package/dist/Assets/js/dist/scripts/{BSPrErub.chunk.js.map → DqnZw1cj.chunk.js.map} +1 -1
  233. package/dist/Assets/js/dist/scripts/{Bkx2vKcX2.chunk.js → DrAKpy8L2.chunk.js} +2 -2
  234. package/dist/Assets/js/dist/scripts/{Bkx2vKcX2.chunk.js.map → DrAKpy8L2.chunk.js.map} +1 -1
  235. package/dist/Assets/js/dist/scripts/{DX9DFxX2.chunk.js → DsM1bfoR.chunk.js} +2 -2
  236. package/dist/Assets/js/dist/scripts/{DX9DFxX2.chunk.js.map → DsM1bfoR.chunk.js.map} +1 -1
  237. package/dist/Assets/js/dist/scripts/{Dh3G-ann.chunk.js → Dt2TCPUI.chunk.js} +2 -2
  238. package/dist/Assets/js/dist/scripts/{Dh3G-ann.chunk.js.map → Dt2TCPUI.chunk.js.map} +1 -1
  239. package/dist/Assets/js/dist/scripts/{DA6Ynhan.chunk.js → DtylOK55.chunk.js} +2 -2
  240. package/dist/Assets/js/dist/scripts/{DA6Ynhan.chunk.js.map → DtylOK55.chunk.js.map} +1 -1
  241. package/dist/Assets/js/dist/scripts/{CJBiVila2.chunk.js → DuTcsFNo2.chunk.js} +2 -2
  242. package/dist/Assets/js/dist/scripts/{CJBiVila2.chunk.js.map → DuTcsFNo2.chunk.js.map} +1 -1
  243. package/dist/Assets/js/dist/scripts/{BBFS0f7w.chunk.js → Dw0mo6Cf.chunk.js} +2 -2
  244. package/dist/Assets/js/dist/scripts/{BBFS0f7w.chunk.js.map → Dw0mo6Cf.chunk.js.map} +1 -1
  245. package/dist/Assets/js/dist/scripts/{Cg5KHpRA.chunk.js → DwISzabN.chunk.js} +2 -2
  246. package/dist/Assets/js/dist/scripts/{Cg5KHpRA.chunk.js.map → DwISzabN.chunk.js.map} +1 -1
  247. package/dist/Assets/js/dist/scripts/{DMxtE2iS.chunk.js → DxW67uUT.chunk.js} +2 -2
  248. package/dist/Assets/js/dist/scripts/{DMxtE2iS.chunk.js.map → DxW67uUT.chunk.js.map} +1 -1
  249. package/dist/Assets/js/dist/scripts/{BOGS-BOS.chunk.js → Eg4zYYCO.chunk.js} +2 -2
  250. package/dist/Assets/js/dist/scripts/{BOGS-BOS.chunk.js.map → Eg4zYYCO.chunk.js.map} +1 -1
  251. package/dist/Assets/js/dist/scripts/{CSuC7le7.chunk.js → GT6nO4Jv.chunk.js} +2 -2
  252. package/dist/Assets/js/dist/scripts/{CSuC7le7.chunk.js.map → GT6nO4Jv.chunk.js.map} +1 -1
  253. package/dist/Assets/js/dist/scripts/{BhKv6dKl2.chunk.js → GpDEun8c2.chunk.js} +2 -2
  254. package/dist/Assets/js/dist/scripts/{BhKv6dKl2.chunk.js.map → GpDEun8c2.chunk.js.map} +1 -1
  255. package/dist/Assets/js/dist/scripts/{DKJC5qg0.chunk.js → OKjYL31I.chunk.js} +2 -2
  256. package/dist/Assets/js/dist/scripts/{DKJC5qg0.chunk.js.map → OKjYL31I.chunk.js.map} +1 -1
  257. package/dist/Assets/js/dist/scripts/{D8rrJ-jY2.chunk.js → OrCUhFjq2.chunk.js} +2 -2
  258. package/dist/Assets/js/dist/scripts/{D8rrJ-jY2.chunk.js.map → OrCUhFjq2.chunk.js.map} +1 -1
  259. package/dist/Assets/js/dist/scripts/{D3exV_Ay2.chunk.js → SVXAAhk02.chunk.js} +2 -2
  260. package/dist/Assets/js/dist/scripts/{D3exV_Ay2.chunk.js.map → SVXAAhk02.chunk.js.map} +1 -1
  261. package/dist/Assets/js/dist/scripts/{CcZKy7SH.chunk.js → SmmnJrec.chunk.js} +2 -2
  262. package/dist/Assets/js/dist/scripts/{CcZKy7SH.chunk.js.map → SmmnJrec.chunk.js.map} +1 -1
  263. package/dist/Assets/js/dist/scripts/{Dy4nscVE2.chunk.js → T3BageSw2.chunk.js} +2 -2
  264. package/dist/Assets/js/dist/scripts/{Dy4nscVE2.chunk.js.map → T3BageSw2.chunk.js.map} +1 -1
  265. package/dist/Assets/js/dist/scripts/{B8PM5Ji3.chunk.js → T6xxjp_W.chunk.js} +2 -2
  266. package/dist/Assets/js/dist/scripts/{B8PM5Ji3.chunk.js.map → T6xxjp_W.chunk.js.map} +1 -1
  267. package/dist/Assets/js/dist/scripts/{Cp6Af16p.chunk.js → Uc2eW092.chunk.js} +2 -2
  268. package/dist/Assets/js/dist/scripts/{Cp6Af16p.chunk.js.map → Uc2eW092.chunk.js.map} +1 -1
  269. package/dist/Assets/js/dist/scripts/{DmKyGgLu.chunk.js → XHoEdG1q.chunk.js} +2 -2
  270. package/dist/Assets/js/dist/scripts/{DmKyGgLu.chunk.js.map → XHoEdG1q.chunk.js.map} +1 -1
  271. package/dist/Assets/js/dist/scripts/{BdVoyBI02.chunk.js → Y14NYZ692.chunk.js} +2 -2
  272. package/dist/Assets/js/dist/scripts/{BdVoyBI02.chunk.js.map → Y14NYZ692.chunk.js.map} +1 -1
  273. package/dist/Assets/js/dist/scripts/{DrszevCi.chunk.js → Y_IcNhI9.chunk.js} +2 -2
  274. package/dist/Assets/js/dist/scripts/{DrszevCi.chunk.js.map → Y_IcNhI9.chunk.js.map} +1 -1
  275. package/dist/Assets/js/dist/scripts/{CMGpVYHd.chunk.js → Yr5eNz05.chunk.js} +2 -2
  276. package/dist/Assets/js/dist/scripts/{CMGpVYHd.chunk.js.map → Yr5eNz05.chunk.js.map} +1 -1
  277. package/dist/Assets/js/dist/scripts/{QnwProbJ2.chunk.js → Yrc9o6bG2.chunk.js} +2 -2
  278. package/dist/Assets/js/dist/scripts/{QnwProbJ2.chunk.js.map → Yrc9o6bG2.chunk.js.map} +1 -1
  279. package/dist/Assets/js/dist/scripts/{app-Dl-tzfIp.js → app-RphP4Ht0.js} +4 -4
  280. package/dist/Assets/js/dist/scripts/{app-Dl-tzfIp.js.map → app-RphP4Ht0.js.map} +1 -1
  281. package/dist/Assets/js/dist/scripts/{B96Bwi2D.chunk.js → cUgHqo-u.chunk.js} +2 -2
  282. package/dist/Assets/js/dist/scripts/{B96Bwi2D.chunk.js.map → cUgHqo-u.chunk.js.map} +1 -1
  283. package/dist/Assets/js/dist/scripts/{oGkpmMft2.chunk.js → dmUfJoJz2.chunk.js} +2 -2
  284. package/dist/Assets/js/dist/scripts/{oGkpmMft2.chunk.js.map → dmUfJoJz2.chunk.js.map} +1 -1
  285. package/dist/Assets/js/dist/scripts/{DjlPflaG.chunk.js → fapHSEex.chunk.js} +2 -2
  286. package/dist/Assets/js/dist/scripts/{DjlPflaG.chunk.js.map → fapHSEex.chunk.js.map} +1 -1
  287. package/dist/Assets/js/dist/scripts/{CaEXONXp2.chunk.js → jf0e_ii92.chunk.js} +2 -2
  288. package/dist/Assets/js/dist/scripts/{CaEXONXp2.chunk.js.map → jf0e_ii92.chunk.js.map} +1 -1
  289. package/dist/Assets/js/dist/scripts/{Co7TevGA.chunk.js → kp4jXqVv.chunk.js} +2 -2
  290. package/dist/Assets/js/dist/scripts/{Co7TevGA.chunk.js.map → kp4jXqVv.chunk.js.map} +1 -1
  291. package/dist/Assets/js/dist/scripts/lAvSm0ti.chunk.js +2 -0
  292. package/dist/Assets/js/dist/scripts/lAvSm0ti.chunk.js.map +1 -0
  293. package/dist/Assets/js/dist/scripts/{Dmf5vYc42.chunk.js → n7lzp_Mc2.chunk.js} +2 -2
  294. package/dist/Assets/js/dist/scripts/{Dmf5vYc42.chunk.js.map → n7lzp_Mc2.chunk.js.map} +1 -1
  295. package/dist/Assets/js/dist/scripts/{CG9yCT4r2.chunk.js → nvtWO4PW2.chunk.js} +2 -2
  296. package/dist/Assets/js/dist/scripts/{CG9yCT4r2.chunk.js.map → nvtWO4PW2.chunk.js.map} +1 -1
  297. package/dist/Assets/js/dist/scripts/{CACu0hGi2.chunk.js → oYKM19q12.chunk.js} +2 -2
  298. package/dist/Assets/js/dist/scripts/{CACu0hGi2.chunk.js.map → oYKM19q12.chunk.js.map} +1 -1
  299. package/dist/Assets/js/dist/scripts/{B5v11U7g.chunk.js → ohTu1tHz.chunk.js} +2 -2
  300. package/dist/Assets/js/dist/scripts/{B5v11U7g.chunk.js.map → ohTu1tHz.chunk.js.map} +1 -1
  301. package/dist/Assets/js/dist/scripts/{BrT-onLe2.chunk.js → uCRnfBEw2.chunk.js} +2 -2
  302. package/dist/Assets/js/dist/scripts/{BrT-onLe2.chunk.js.map → uCRnfBEw2.chunk.js.map} +1 -1
  303. package/dist/Assets/js/dist/scripts/{3XkTogZ22.chunk.js → udVWVmrH2.chunk.js} +2 -2
  304. package/dist/Assets/js/dist/scripts/{3XkTogZ22.chunk.js.map → udVWVmrH2.chunk.js.map} +1 -1
  305. package/dist/Assets/js/dist/scripts/{DW-yUqjB2.chunk.js → v0VARBBE2.chunk.js} +2 -2
  306. package/dist/Assets/js/dist/scripts/{DW-yUqjB2.chunk.js.map → v0VARBBE2.chunk.js.map} +1 -1
  307. package/dist/Assets/js/dist/scripts/{B4lIRWK22.chunk.js → vf9_5VGa2.chunk.js} +2 -2
  308. package/dist/Assets/js/dist/scripts/{B4lIRWK22.chunk.js.map → vf9_5VGa2.chunk.js.map} +1 -1
  309. package/dist/Assets/js/dist/scripts/{pOwOak4Z2.chunk.js → wTEWtWoE2.chunk.js} +2 -2
  310. package/dist/Assets/js/dist/scripts/{pOwOak4Z2.chunk.js.map → wTEWtWoE2.chunk.js.map} +1 -1
  311. package/dist/Assets/js/dist/scripts/{DPYIBfGB.chunk.js → xj8_Pfx7.chunk.js} +2 -2
  312. package/dist/Assets/js/dist/scripts/{DPYIBfGB.chunk.js.map → xj8_Pfx7.chunk.js.map} +1 -1
  313. package/dist/bundles.json +1 -1
  314. package/dist/en.json +1 -1
  315. package/package.json +1 -1
  316. package/dist/Assets/js/dist/scripts/D2iK_uRt.chunk.js +0 -2
  317. package/dist/Assets/js/dist/scripts/DBUreHJA.chunk.js +0 -3
  318. package/dist/Assets/js/dist/scripts/DBUreHJA.chunk.js.map +0 -1
  319. package/dist/Assets/js/dist/scripts/Dh5DbdtP.chunk.js +0 -2
  320. package/dist/Assets/js/dist/scripts/Dh5DbdtP.chunk.js.map +0 -1
  321. package/dist/Assets/js/dist/scripts/DrBVabtm.chunk.js +0 -1
@@ -1,2 +1,2 @@
1
- import{C as e,a as t,i as n,w as r}from"./rp704-Pm.chunk.js";import{t as i}from"./BvMTtGLi.chunk.js";import"./CfCYHRuo.chunk.js";import{G as a,I as o,W as s}from"./C7Gmh7eY.chunk.js";import{t as c}from"./D-JsEiDq2.chunk.js";import{s as l,u}from"./Dgk5cBBe.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as d}from"./Bwpvc7Th2.chunk.js";import{t as f}from"./D0JviwKV2.chunk.js";import{n as p}from"./DvP7S5Uq.chunk.js";t();var m=n();function h(t){let n=l(a.getDashboard(t.dashboardId)),h=o(t.videoId,!0),{presentations:g,isLoading:_}=p({},`video`,`review_dashboard`,`clickview`),v=u(),y=d(),b=s.getReviewItemErrorCode(h.data);function x(){let t=h.data.stage;if(b===`incorrect-stage`&&(t=h.data.stageValidation.stage),[`published_video`,`review_video`].includes(t)){y.success(`Video issues have been resolved! Reloading the page...`),window.setTimeout(()=>{r.Reload()},500);return}let a={query:h.data.id.toString()};n.data.presentationId&&(a.presentationId=n.data.presentationId.toString());let o=e.getHref({application:i.ASSEMBLY_LINE,action:s.mapStageToAction(t),params:a});r.PageLoad(o,!0)}async function S(){if(b===`incorrect-stage`){v(a.updateVideoStage(t.videoId,h.data.stage,h.data.stageValidation.stage)).then(x).catch(()=>{y.error(`Something went wrong while trying to resolve ${h.data.name}. Please try again.`)}).finally(t.closePopup);return}x(),t.closePopup()}return(0,m.jsxs)(c,{title:`Resolve issue`,closePopup:t.closePopup,showLoadingSpinner:!h.data||!n.data||_,children:[h.data&&n.data?(0,m.jsxs)(m.Fragment,{children:[b===`previous-stage-valid`?(0,m.jsxs)(`p`,{children:[`The video `,(0,m.jsx)(`strong`,{children:h.data.name}),` hasn't passed all stages yet.`]}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(`p`,{children:[`The video `,(0,m.jsx)(`strong`,{children:h.data.name}),` has the following issues:`]}),(0,m.jsx)(`ul`,{children:h.data.stageValidation.columnValidationResults.map(e=>(0,m.jsx)(`li`,{children:s.mapValidationErrorToLabel(e,g)},`${e.column}:${e.errorCode}`))})]}),b===`incorrect-stage`&&(0,m.jsxs)(`p`,{children:[`It will automatically be moved to the`,(0,m.jsx)(`strong`,{children:` ${s.formatStageName(h.data?.stageValidation?.stage)} `}),`stage where all issues will need to be resolved.`]}),b===`previous-stage-invalid`&&(0,m.jsxs)(`p`,{children:[`Do you want to edit the video in the `,(0,m.jsx)(`strong`,{children:s.formatStageName(h.data?.stageValidation?.stage)}),` stage?`]}),b===`previous-stage-valid`&&(0,m.jsxs)(`p`,{children:[`Do you want to edit the video in the `,(0,m.jsx)(`strong`,{children:s.formatStageName(h.data?.stageValidation?.stage)}),` stage?`]})]}):(0,m.jsx)(m.Fragment,{}),(0,m.jsx)(f,{children:(0,m.jsx)(f.Submit,{text:`Resolve issue`,variant:`dark`,onClick:S,type:`button`})})]})}export{h as ResolveVideoIssueView};
2
- //# sourceMappingURL=DKJC5qg0.chunk.js.map
1
+ import{C as e,a as t,i as n,w as r}from"./rp704-Pm.chunk.js";import{t as i}from"./BvMTtGLi.chunk.js";import"./CfCYHRuo.chunk.js";import{G as a,I as o,W as s}from"./DWHKdmdQ.chunk.js";import{t as c}from"./D-JsEiDq2.chunk.js";import{s as l,u}from"./Dgk5cBBe.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as d}from"./Bwpvc7Th2.chunk.js";import{t as f}from"./D0JviwKV2.chunk.js";import{n as p}from"./3eMwLZ5D.chunk.js";t();var m=n();function h(t){let n=l(a.getDashboard(t.dashboardId)),h=o(t.videoId,!0),{presentations:g,isLoading:_}=p({},`video`,`review_dashboard`,`clickview`),v=u(),y=d(),b=s.getReviewItemErrorCode(h.data);function x(){let t=h.data.stage;if(b===`incorrect-stage`&&(t=h.data.stageValidation.stage),[`published_video`,`review_video`].includes(t)){y.success(`Video issues have been resolved! Reloading the page...`),window.setTimeout(()=>{r.Reload()},500);return}let a={query:h.data.id.toString()};n.data.presentationId&&(a.presentationId=n.data.presentationId.toString());let o=e.getHref({application:i.ASSEMBLY_LINE,action:s.mapStageToAction(t),params:a});r.PageLoad(o,!0)}async function S(){if(b===`incorrect-stage`){v(a.updateVideoStage(t.videoId,h.data.stage,h.data.stageValidation.stage)).then(x).catch(()=>{y.error(`Something went wrong while trying to resolve ${h.data.name}. Please try again.`)}).finally(t.closePopup);return}x(),t.closePopup()}return(0,m.jsxs)(c,{title:`Resolve issue`,closePopup:t.closePopup,showLoadingSpinner:!h.data||!n.data||_,children:[h.data&&n.data?(0,m.jsxs)(m.Fragment,{children:[b===`previous-stage-valid`?(0,m.jsxs)(`p`,{children:[`The video `,(0,m.jsx)(`strong`,{children:h.data.name}),` hasn't passed all stages yet.`]}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(`p`,{children:[`The video `,(0,m.jsx)(`strong`,{children:h.data.name}),` has the following issues:`]}),(0,m.jsx)(`ul`,{children:h.data.stageValidation.columnValidationResults.map(e=>(0,m.jsx)(`li`,{children:s.mapValidationErrorToLabel(e,g)},`${e.column}:${e.errorCode}`))})]}),b===`incorrect-stage`&&(0,m.jsxs)(`p`,{children:[`It will automatically be moved to the`,(0,m.jsx)(`strong`,{children:` ${s.formatStageName(h.data?.stageValidation?.stage)} `}),`stage where all issues will need to be resolved.`]}),b===`previous-stage-invalid`&&(0,m.jsxs)(`p`,{children:[`Do you want to edit the video in the `,(0,m.jsx)(`strong`,{children:s.formatStageName(h.data?.stageValidation?.stage)}),` stage?`]}),b===`previous-stage-valid`&&(0,m.jsxs)(`p`,{children:[`Do you want to edit the video in the `,(0,m.jsx)(`strong`,{children:s.formatStageName(h.data?.stageValidation?.stage)}),` stage?`]})]}):(0,m.jsx)(m.Fragment,{}),(0,m.jsx)(f,{children:(0,m.jsx)(f.Submit,{text:`Resolve issue`,variant:`dark`,onClick:S,type:`button`})})]})}export{h as ResolveVideoIssueView};
2
+ //# sourceMappingURL=OKjYL31I.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DKJC5qg0.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/views/resolve-video-issue/ResolveVideoIssueView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { PopupViewProps } from 'libs/shared/interfaces';\n\nimport { AppChannels } from 'shared/constants';\n\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { useFetchAssemblyLineMedia } from 'apps/assembly-line/hooks/useFetchAssemblyLineMedia';\nimport { usePresentationFilter } from 'apps/assembly-line/hooks/usePresentationFilter';\nimport { AssemblyLineDashboard } from 'apps/assembly-line/interfaces/AssemblyLineDashboard';\nimport { AssemblyLineHelper } from 'apps/assembly-line/utils/AssemblyLineHelper';\n\ninterface ResolveVideoIssueViewProps extends PopupViewProps {\n dashboardId: string;\n videoId: string;\n}\n\nexport function ResolveVideoIssueView(props: ResolveVideoIssueViewProps): JSX.Element {\n const dashboard = Flight.useBasicFetch<AssemblyLineDashboard>(AssemblyLineRequests.getDashboard(props.dashboardId));\n const video = useFetchAssemblyLineMedia(props.videoId, true);\n const {\n presentations,\n isLoading: isLoadingPresentation\n } = usePresentationFilter({}, 'video', 'review_dashboard', 'clickview');\n\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const errorCode = AssemblyLineHelper.getReviewItemErrorCode(video.data);\n\n function goToStage(): void {\n let stage = video.data.stage;\n\n if (errorCode === 'incorrect-stage')\n stage = video.data.stageValidation.stage;\n\n if ([\n 'published_video',\n 'review_video'\n ].includes(stage)) {\n alerts.success('Video issues have been resolved! Reloading the page...');\n\n window.setTimeout(() => {\n Core.LocationUtils.Reload();\n }, 500);\n return;\n }\n const params: { query: string, presentationId?: string } = {\n query: video.data.id.toString()\n };\n if (dashboard.data.presentationId) {\n params.presentationId = dashboard.data.presentationId.toString();\n }\n const href = Core.AppLinkHelper.getHref({\n application: AppChannels.ASSEMBLY_LINE,\n action: AssemblyLineHelper.mapStageToAction(stage),\n params\n });\n\n Core.LocationUtils.PageLoad(href, true);\n }\n\n async function onResolve(): Promise<void> {\n if (errorCode === 'incorrect-stage') {\n fetchAsync(AssemblyLineRequests.updateVideoStage(\n props.videoId,\n video.data.stage,\n video.data.stageValidation.stage\n ))\n .then(goToStage)\n .catch(() => {\n alerts.error(`Something went wrong while trying to resolve ${video.data.name}. Please try again.`);\n })\n .finally(props.closePopup);\n\n return;\n }\n\n goToStage();\n props.closePopup();\n }\n\n return (\n <Popup\n title='Resolve issue'\n closePopup={props.closePopup}\n showLoadingSpinner={!video.data || !dashboard.data || isLoadingPresentation}\n >\n {(video.data && dashboard.data) ? (\n <>\n {errorCode === 'previous-stage-valid' ? (\n <p>\n The video <strong>{video.data.name}</strong> hasn't passed all stages yet.\n </p>\n ) : (\n <>\n <p>The video <strong>{video.data.name}</strong> has the following issues:</p>\n <ul>\n {video.data.stageValidation.columnValidationResults.map(issue => {\n return (\n <li key={`${issue.column}:${issue.errorCode}`}>\n {AssemblyLineHelper.mapValidationErrorToLabel(issue, presentations)}\n </li>\n );\n })}\n </ul>\n </>\n )}\n\n {errorCode === 'incorrect-stage' && (\n <p>\n It will automatically be moved to the\n <strong>{` ${AssemblyLineHelper.formatStageName(video.data?.stageValidation?.stage)} `}</strong>\n stage where all issues will need to be resolved.\n </p>\n )}\n\n {errorCode === 'previous-stage-invalid' && (\n <p>\n Do you want to edit the video\n in the <strong>{AssemblyLineHelper.formatStageName(video.data?.stageValidation?.stage)}</strong> stage?\n </p>\n )}\n\n {errorCode === 'previous-stage-valid' && (\n <p>\n Do you want to edit the video\n in the <strong>{AssemblyLineHelper.formatStageName(video.data?.stageValidation?.stage)}</strong> stage?\n </p>\n )}\n </>\n ) : (\n <></>\n )}\n\n <PopupButtons>\n <PopupButtons.Submit\n text='Resolve issue'\n variant='dark'\n onClick={onResolve}\n type='button'\n />\n </PopupButtons>\n </Popup>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"OKjYL31I.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/views/resolve-video-issue/ResolveVideoIssueView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { PopupViewProps } from 'libs/shared/interfaces';\n\nimport { AppChannels } from 'shared/constants';\n\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { useFetchAssemblyLineMedia } from 'apps/assembly-line/hooks/useFetchAssemblyLineMedia';\nimport { usePresentationFilter } from 'apps/assembly-line/hooks/usePresentationFilter';\nimport { AssemblyLineDashboard } from 'apps/assembly-line/interfaces/AssemblyLineDashboard';\nimport { AssemblyLineHelper } from 'apps/assembly-line/utils/AssemblyLineHelper';\n\ninterface ResolveVideoIssueViewProps extends PopupViewProps {\n dashboardId: string;\n videoId: string;\n}\n\nexport function ResolveVideoIssueView(props: ResolveVideoIssueViewProps): JSX.Element {\n const dashboard = Flight.useBasicFetch<AssemblyLineDashboard>(AssemblyLineRequests.getDashboard(props.dashboardId));\n const video = useFetchAssemblyLineMedia(props.videoId, true);\n const {\n presentations,\n isLoading: isLoadingPresentation\n } = usePresentationFilter({}, 'video', 'review_dashboard', 'clickview');\n\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const errorCode = AssemblyLineHelper.getReviewItemErrorCode(video.data);\n\n function goToStage(): void {\n let stage = video.data.stage;\n\n if (errorCode === 'incorrect-stage')\n stage = video.data.stageValidation.stage;\n\n if ([\n 'published_video',\n 'review_video'\n ].includes(stage)) {\n alerts.success('Video issues have been resolved! Reloading the page...');\n\n window.setTimeout(() => {\n Core.LocationUtils.Reload();\n }, 500);\n return;\n }\n const params: { query: string, presentationId?: string } = {\n query: video.data.id.toString()\n };\n if (dashboard.data.presentationId) {\n params.presentationId = dashboard.data.presentationId.toString();\n }\n const href = Core.AppLinkHelper.getHref({\n application: AppChannels.ASSEMBLY_LINE,\n action: AssemblyLineHelper.mapStageToAction(stage),\n params\n });\n\n Core.LocationUtils.PageLoad(href, true);\n }\n\n async function onResolve(): Promise<void> {\n if (errorCode === 'incorrect-stage') {\n fetchAsync(AssemblyLineRequests.updateVideoStage(\n props.videoId,\n video.data.stage,\n video.data.stageValidation.stage\n ))\n .then(goToStage)\n .catch(() => {\n alerts.error(`Something went wrong while trying to resolve ${video.data.name}. Please try again.`);\n })\n .finally(props.closePopup);\n\n return;\n }\n\n goToStage();\n props.closePopup();\n }\n\n return (\n <Popup\n title='Resolve issue'\n closePopup={props.closePopup}\n showLoadingSpinner={!video.data || !dashboard.data || isLoadingPresentation}\n >\n {(video.data && dashboard.data) ? (\n <>\n {errorCode === 'previous-stage-valid' ? (\n <p>\n The video <strong>{video.data.name}</strong> hasn't passed all stages yet.\n </p>\n ) : (\n <>\n <p>The video <strong>{video.data.name}</strong> has the following issues:</p>\n <ul>\n {video.data.stageValidation.columnValidationResults.map(issue => {\n return (\n <li key={`${issue.column}:${issue.errorCode}`}>\n {AssemblyLineHelper.mapValidationErrorToLabel(issue, presentations)}\n </li>\n );\n })}\n </ul>\n </>\n )}\n\n {errorCode === 'incorrect-stage' && (\n <p>\n It will automatically be moved to the\n <strong>{` ${AssemblyLineHelper.formatStageName(video.data?.stageValidation?.stage)} `}</strong>\n stage where all issues will need to be resolved.\n </p>\n )}\n\n {errorCode === 'previous-stage-invalid' && (\n <p>\n Do you want to edit the video\n in the <strong>{AssemblyLineHelper.formatStageName(video.data?.stageValidation?.stage)}</strong> stage?\n </p>\n )}\n\n {errorCode === 'previous-stage-valid' && (\n <p>\n Do you want to edit the video\n in the <strong>{AssemblyLineHelper.formatStageName(video.data?.stageValidation?.stage)}</strong> stage?\n </p>\n )}\n </>\n ) : (\n <></>\n )}\n\n <PopupButtons>\n <PopupButtons.Submit\n text='Resolve issue'\n variant='dark'\n onClick={onResolve}\n type='button'\n />\n </PopupButtons>\n </Popup>\n );\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{C as e,a as t,i as n,ln as r,v as i}from"./rp704-Pm.chunk.js";import{t as a}from"./C1kx8Ra5.chunk.js";import{t as o}from"./Di_u2uix.chunk.js";import{t as s}from"./BvMTtGLi.chunk.js";import"./CfCYHRuo.chunk.js";import{n as c}from"./B0wbqkwy.chunk.js";import{n as l,t as u}from"./C99MPG7E.chunk.js";import{r as d}from"./BKtR2N4K.chunk.js";import{t as f}from"./cwPDEI372.chunk.js";import{s as p,u as m}from"./Dgk5cBBe.chunk.js";import{t as h}from"./DpqbC5uX.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as g}from"./DyKk_C_Y.chunk.js";import{t as _}from"./DFZ_IQ1H.chunk.js";import{t as v}from"./Bwpvc7Th2.chunk.js";import{t as y}from"./CZyPFSXo.chunk.js";import{n as b,t as x}from"./dKyhMawf.chunk.js";import{t as S}from"./BNxZKt4i2.chunk.js";import{o as C}from"./BA6RWJvc.chunk.js";import{t as w}from"./BcwM0but2.chunk.js";import{n as T}from"./BJdNIGDD2.chunk.js";import{n as E}from"./Duk0omCc2.chunk.js";import{t as D}from"./D1EPU1_6.chunk.js";import{t as O}from"./CZWFEBqS.chunk.js";import{t as k}from"./Bd9vl-46.chunk.js";import{n as A,t as j}from"./BolsO2Vy.chunk.js";import{t as M}from"./ByHbVred.chunk.js";import{t as N}from"./C_pByZun.chunk.js";var P=r(t()),F=class extends S{constructor(e){super(`WidgetNotSupportedError`),this.id=e}get name(){return`WidgetNotSupportedError`}get dialogOptions(){return{title:`Widget not supported`,text:`Widget with ID <strong>${this.id}</strong> is not in the wizard. Please contact the Product team for support.`,buttons:[{text:`Okay`,className:`btn btn-dark`,success:!0}]}}},I=n(),L=`dashboard-wizard`,R=9999;function z(e){let{setOnClickConfirm:t,disableNext:n,setDisableNext:r,setShowSpinner:i}=P.useContext(O),o=b(),[s,c]=P.useState(null),l=u[e.widgetTypeId],d=p(l.canFetchPreview(o.values.data,_.getDashboardTargetInfo(e.dashboard))&&D.previewWidget(o.values.widgetId,o.values.data,_.getWidgetParams(o.values.widgetId,o.values.templateId,_.getDashboardTargetType(e.dashboard))));P.useEffect(()=>{d.isFetching||!d.data||c(d.data.content)},[d.isFetching,d.data]);let f=E(o.values);P.useEffect(()=>{r(!0)},[]),P.useEffect(()=>{!o.dirty||a.isEqual(o.values,f)||(t(()=>()=>{e.onSubmit(o.values,i)}),o.validateForm().then(e=>{let t=!Object.keys(e).length;n===t&&r(!t)}))},[o.values,n]);function m(t){if(c(t),e.widgetTypeId===g.CuratedMultimedia){let e=o.values.data,n=t.map(t=>e.multimedias.find(e=>e.objectId.toString()===t.id.toString()));o.setFieldValue(`data.multimedias`,n);return}o.setFieldValue(`data.objectIds`,t.map(e=>e.id))}let h=u[e.widgetTypeId].formView;return h?(0,I.jsx)(h,{dashboard:e.dashboard,audiences:e.audiences,presentation:e.presentation,classification:e.classification,imageCdnUrl:e.imageCdnUrl,content:s,isEditing:!!o.values.id,onReorderWidgets:m,availablePresentations:e.availablePresentations,settings:e.settings,commonVideoProps:e.commonVideoProps,customResultRequest:e.customResultRequest}):(0,I.jsx)(I.Fragment,{})}function B(t){let n=!!t.widgetId,r=k(t.dashboardId),g=_.getDashboardTargetInfo(r.data),b=_.isClassificationDashboard(g),S=_.isContentPartnerDashboard(g),E=p(S&&w.getContentPartnerBySlug(g.slug)),O=S&&w.getSeriesInContentPartner(E.data?.id),B=r.data?.widgets?.find(e=>e.id===t.widgetId),{commonVideoProps:V}=M(),H=p(b&&y.classification(g.classificationId)),U=``;g?.targetType===d.PartnerProfile&&(U=g.slug);let W=H.data?.presentationId;(g?.targetType===d.Discover||g?.targetType===d.MoviesAndTv||g?.targetType===d.Company)&&(W=g.presentationId);let G=p(W&&y.presentationAudiences(W)),K=p(W&&y.presentation(W)),q=p(A.availablePresentations(f.Subject)),J=T(),Y=v(),X=m();P.useEffect(()=>{if(!u[t.widgetTypeId].formView){i.throw(new F(t.widgetTypeId));return}J.lock({id:L,title:`Are you sure you want to leave?`,text:`All of your progress will be discarded.`,appLinkWhitelist:[{application:s.DASHBOARD_EDITOR,action:o.DashboardEditor.WIDGET_CONTENT_GUIDELINE},{application:s.DASHBOARD_EDITOR,action:o.DashboardEditor.ADD_CONTENT_IMAGE_UPLOAD}]})},[t.templateId]);function Z(r,i){let c=a.omit(r,[`content`]);c.data.presentationId||(c.data.presentationId=K.data?.id),i(!0),X(n?D.editWidget(c):D.addWidget(c)).then(()=>{Y.success(`Successfully ${n?`updated`:`created`} widget.`),J.unlock(L),e.trigger({application:s.DASHBOARD_EDITOR,action:o.DashboardEditor.EDIT_DASHBOARD,args:[t.dashboardId]})}).catch(()=>{Y.error(`Something went wrong while we were trying to ${n?`update`:`add`} your widget. Please try again.`),i(!1)})}function Q(){return n?{id:B.id,name:B.name,description:B.description,widgetId:B.widgetId,templateId:B.templateId,dashboardId:B.dashboardId,status:B.status,data:B.data,index:B.index,metadata:B.metadata,curriculumIds:B.curriculumIds}:{id:null,name:``,description:``,widgetId:t.widgetTypeId,templateId:t.templateId,dashboardId:t.dashboardId,status:c.Published,data:{presentationId:K.data?.id,slug:U,...u[t.widgetTypeId].getInitialData?.(g,t.templateId)??{}},index:(h.findLast(r.data.widgets,e=>e.index<R)?.index??-1)+1,metadata:u[t.widgetTypeId].getInitialMetadata?.(g,t.templateId)??{},curriculumIds:[]}}function $(){return!!(S&&!r.hasCompleted||!r.hasCompleted||!K.data&&!S||b&&!H.hasCompleted)}return(0,I.jsx)(C.ReferenceContainer,{children:(0,I.jsxs)(N,{dashboard:r.data,templateId:t.templateId,widgetTypeId:t.widgetTypeId,currentStep:`add-content`,isEditing:n,children:[(0,I.jsx)(`h2`,{className:`h4`,children:n?`Edit content`:`Add content`}),!$()&&(0,I.jsx)(x,{initialValues:Q(),onSubmit:null,validationSchema:l(t.widgetTypeId,t.templateId,g?.targetType),children:(0,I.jsx)(z,{widgetTypeId:t.widgetTypeId,audiences:G.data,templateId:t.templateId,onSubmit:Z,classification:H.data,presentation:K.data,dashboard:r.data,imageCdnUrl:ClickView.Config.Urls.ImageAPI,availablePresentations:q.data,settings:j,commonVideoProps:V,customResultRequest:O})})]})})}export{B as DashboardWizardAddContentContainerView};
2
- //# sourceMappingURL=D8rrJ-jY2.chunk.js.map
1
+ import{C as e,a as t,i as n,ln as r,v as i}from"./rp704-Pm.chunk.js";import{t as a}from"./C1kx8Ra5.chunk.js";import{t as o}from"./Di_u2uix.chunk.js";import{t as s}from"./BvMTtGLi.chunk.js";import"./CfCYHRuo.chunk.js";import{n as c}from"./B0wbqkwy.chunk.js";import{n as l,t as u}from"./CG2julEA.chunk.js";import{r as d}from"./BKtR2N4K.chunk.js";import{t as f}from"./cwPDEI372.chunk.js";import{s as p,u as m}from"./Dgk5cBBe.chunk.js";import{t as h}from"./DpqbC5uX.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as g}from"./DyKk_C_Y.chunk.js";import{t as _}from"./DFZ_IQ1H.chunk.js";import{t as v}from"./Bwpvc7Th2.chunk.js";import{t as y}from"./CZyPFSXo.chunk.js";import{n as b,t as x}from"./dKyhMawf.chunk.js";import{t as S}from"./BNxZKt4i2.chunk.js";import{o as C}from"./BA6RWJvc.chunk.js";import{t as w}from"./BcwM0but2.chunk.js";import{n as T}from"./BJdNIGDD2.chunk.js";import{n as E}from"./Duk0omCc2.chunk.js";import{t as D}from"./D1EPU1_6.chunk.js";import{t as O}from"./CZWFEBqS.chunk.js";import{t as k}from"./Bd9vl-46.chunk.js";import{n as A,t as j}from"./BolsO2Vy.chunk.js";import{t as M}from"./ByHbVred.chunk.js";import{t as N}from"./C_pByZun.chunk.js";var P=r(t()),F=class extends S{constructor(e){super(`WidgetNotSupportedError`),this.id=e}get name(){return`WidgetNotSupportedError`}get dialogOptions(){return{title:`Widget not supported`,text:`Widget with ID <strong>${this.id}</strong> is not in the wizard. Please contact the Product team for support.`,buttons:[{text:`Okay`,className:`btn btn-dark`,success:!0}]}}},I=n(),L=`dashboard-wizard`,R=9999;function z(e){let{setOnClickConfirm:t,disableNext:n,setDisableNext:r,setShowSpinner:i}=P.useContext(O),o=b(),[s,c]=P.useState(null),l=u[e.widgetTypeId],d=p(l.canFetchPreview(o.values.data,_.getDashboardTargetInfo(e.dashboard))&&D.previewWidget(o.values.widgetId,o.values.data,_.getWidgetParams(o.values.widgetId,o.values.templateId,_.getDashboardTargetType(e.dashboard))));P.useEffect(()=>{d.isFetching||!d.data||c(d.data.content)},[d.isFetching,d.data]);let f=E(o.values);P.useEffect(()=>{r(!0)},[]),P.useEffect(()=>{!o.dirty||a.isEqual(o.values,f)||(t(()=>()=>{e.onSubmit(o.values,i)}),o.validateForm().then(e=>{let t=!Object.keys(e).length;n===t&&r(!t)}))},[o.values,n]);function m(t){if(c(t),e.widgetTypeId===g.CuratedMultimedia){let e=o.values.data,n=t.map(t=>e.multimedias.find(e=>e.objectId.toString()===t.id.toString()));o.setFieldValue(`data.multimedias`,n);return}o.setFieldValue(`data.objectIds`,t.map(e=>e.id))}let h=u[e.widgetTypeId].formView;return h?(0,I.jsx)(h,{dashboard:e.dashboard,audiences:e.audiences,presentation:e.presentation,classification:e.classification,imageCdnUrl:e.imageCdnUrl,content:s,isEditing:!!o.values.id,onReorderWidgets:m,availablePresentations:e.availablePresentations,settings:e.settings,commonVideoProps:e.commonVideoProps,customResultRequest:e.customResultRequest}):(0,I.jsx)(I.Fragment,{})}function B(t){let n=!!t.widgetId,r=k(t.dashboardId),g=_.getDashboardTargetInfo(r.data),b=_.isClassificationDashboard(g),S=_.isContentPartnerDashboard(g),E=p(S&&w.getContentPartnerBySlug(g.slug)),O=S&&w.getSeriesInContentPartner(E.data?.id),B=r.data?.widgets?.find(e=>e.id===t.widgetId),{commonVideoProps:V}=M(),H=p(b&&y.classification(g.classificationId)),U=``;g?.targetType===d.PartnerProfile&&(U=g.slug);let W=H.data?.presentationId;(g?.targetType===d.Discover||g?.targetType===d.MoviesAndTv||g?.targetType===d.Company)&&(W=g.presentationId);let G=p(W&&y.presentationAudiences(W)),K=p(W&&y.presentation(W)),q=p(A.availablePresentations(f.Subject)),J=T(),Y=v(),X=m();P.useEffect(()=>{if(!u[t.widgetTypeId].formView){i.throw(new F(t.widgetTypeId));return}J.lock({id:L,title:`Are you sure you want to leave?`,text:`All of your progress will be discarded.`,appLinkWhitelist:[{application:s.DASHBOARD_EDITOR,action:o.DashboardEditor.WIDGET_CONTENT_GUIDELINE},{application:s.DASHBOARD_EDITOR,action:o.DashboardEditor.ADD_CONTENT_IMAGE_UPLOAD}]})},[t.templateId]);function Z(r,i){let c=a.omit(r,[`content`]);c.data.presentationId||(c.data.presentationId=K.data?.id),i(!0),X(n?D.editWidget(c):D.addWidget(c)).then(()=>{Y.success(`Successfully ${n?`updated`:`created`} widget.`),J.unlock(L),e.trigger({application:s.DASHBOARD_EDITOR,action:o.DashboardEditor.EDIT_DASHBOARD,args:[t.dashboardId]})}).catch(()=>{Y.error(`Something went wrong while we were trying to ${n?`update`:`add`} your widget. Please try again.`),i(!1)})}function Q(){return n?{id:B.id,name:B.name,description:B.description,widgetId:B.widgetId,templateId:B.templateId,dashboardId:B.dashboardId,status:B.status,data:B.data,index:B.index,metadata:B.metadata,curriculumIds:B.curriculumIds}:{id:null,name:``,description:``,widgetId:t.widgetTypeId,templateId:t.templateId,dashboardId:t.dashboardId,status:c.Published,data:{presentationId:K.data?.id,slug:U,...u[t.widgetTypeId].getInitialData?.(g,t.templateId)??{}},index:(h.findLast(r.data.widgets,e=>e.index<R)?.index??-1)+1,metadata:u[t.widgetTypeId].getInitialMetadata?.(g,t.templateId)??{},curriculumIds:[]}}function $(){return!!(S&&!r.hasCompleted||!r.hasCompleted||!K.data&&!S||b&&!H.hasCompleted)}return(0,I.jsx)(C.ReferenceContainer,{children:(0,I.jsxs)(N,{dashboard:r.data,templateId:t.templateId,widgetTypeId:t.widgetTypeId,currentStep:`add-content`,isEditing:n,children:[(0,I.jsx)(`h2`,{className:`h4`,children:n?`Edit content`:`Add content`}),!$()&&(0,I.jsx)(x,{initialValues:Q(),onSubmit:null,validationSchema:l(t.widgetTypeId,t.templateId,g?.targetType),children:(0,I.jsx)(z,{widgetTypeId:t.widgetTypeId,audiences:G.data,templateId:t.templateId,onSubmit:Z,classification:H.data,presentation:K.data,dashboard:r.data,imageCdnUrl:ClickView.Config.Urls.ImageAPI,availablePresentations:q.data,settings:j,commonVideoProps:V,customResultRequest:O})})]})})}export{B as DashboardWizardAddContentContainerView};
2
+ //# sourceMappingURL=OrCUhFjq2.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"D8rrJ-jY2.chunk.js","names":[],"sources":["../../../../../src/apps/dashboard-editor/errors/widget-not-supported-error/WidgetNotSupportedError.ts","../../../../../src/apps/dashboard-editor/views/wizard/dashboard-wizard-add-content/DashboardWizardAddContentContainerView.tsx"],"sourcesContent":["import { DialogError } from 'libs/shared/errors/primitives/DialogError';\nimport { DialogOptions } from 'libs/shared/interfaces';\n\nexport class WidgetNotSupportedError extends DialogError {\n private id: string;\n\n constructor(id: string) {\n super('WidgetNotSupportedError');\n\n this.id = id;\n }\n\n // @ts-ignore\n public get name(): string {\n return 'WidgetNotSupportedError';\n }\n\n // @ts-ignore\n public get dialogOptions(): DialogOptions {\n return {\n title: 'Widget not supported',\n text: `Widget with ID <strong>${this.id}</strong> is not in the wizard. Please contact the Product team for support.`,\n buttons: [{\n text: 'Okay',\n className: 'btn btn-dark',\n success: true\n }]\n };\n }\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { FormWrapper, useFormikContextWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { HoverToPortalContainer } from 'libs/shared/components/hover-to-portal-container/HoverToPortalContainer';\nimport { WizardLayoutContext } from 'libs/shared/context/WizardLayoutContext';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { WidgetStatus } from 'libs/shared/enums/WidgetStatus';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useNavLock } from 'libs/shared/hooks/useNavLock';\nimport { usePrevious } from 'libs/shared/hooks/usePrevious';\nimport { SettingsHash } from 'libs/shared/hooks/useSettings';\nimport { Classification, CuratedDashboard, CuratedWidget, CuratedWidgetContent, DashboardTargetType, MultimediaWidgetData, Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\n\nimport { Actions, AppChannels } from 'shared/constants';\nimport { DashboardRequests } from 'shared/flight-requests/DashboardRequests';\nimport { SubjectRequests } from 'shared/flight-requests/SubjectRequests';\nimport { useCommonVideoProps } from 'shared/hooks/UseCommonVideoProps';\nimport { ContentPartnerProfile } from 'shared/interfaces/models/ContentPartnerProfile';\n\nimport { ContentPartnerRequests } from 'apps/content-partners/flight-requests/ContentPartnerRequests';\nimport { DashboardWizardLayout } from 'apps/dashboard-editor/components/wizard/layout/DashboardWizardLayout';\nimport { CURATOR_HARD_CODED_SETTINGS } from 'apps/dashboard-editor/constants/CuratorHardCodedSettings';\nimport { CuratorWidgetTypeIdConfig } from 'apps/dashboard-editor/constants/CuratorWidgetTypeIdConfig';\nimport { WidgetNotSupportedError } from 'apps/dashboard-editor/errors/widget-not-supported-error/WidgetNotSupportedError';\nimport { useFetchDashboard } from 'apps/dashboard-editor/hooks/useFetchDashboard';\nimport { WidgetContentPreviewResponse } from 'apps/dashboard-editor/interfaces/data-requests/WidgetContentPreviewResponse';\nimport { getDashboardWizardValidationSchema } from 'apps/dashboard-editor/validation/DashboardWizardValidationSchema';\n\nconst NAV_LOCK_ID = 'dashboard-wizard';\n// backend will set the fixed widget index to number that equal or bigger than this\nconst FIXED_WIDGET_INDEX = 9999;\n\ninterface WidgetFormWrapperProps {\n templateId: WidgetTemplate;\n widgetTypeId: WidgetTypeId;\n onSubmit: (widget: CuratedWidget, setShowSpinner: (val: boolean) => void) => void;\n presentation: Presentation;\n audiences: PresentationAudience[];\n classification: Classification;\n dashboard: CuratedDashboard;\n imageCdnUrl: string;\n availablePresentations: Presentation[];\n settings: SettingsHash;\n commonVideoProps: CommonVideoProps;\n customResultRequest?: Flight.Request;\n}\n\nfunction WidgetFormWrapper(props: WidgetFormWrapperProps): JSX.Element {\n const { setOnClickConfirm, disableNext, setDisableNext, setShowSpinner } = React.useContext(WizardLayoutContext);\n const formikProps = useFormikContextWrapper<CuratedWidget>();\n\n const [ content, setContent ] = React.useState<CuratedWidgetContent>(null);\n\n const widgetConfig = CuratorWidgetTypeIdConfig[props.widgetTypeId];\n\n const contentPreview = Flight.useBasicFetch<WidgetContentPreviewResponse<CuratedWidgetContent>>(\n widgetConfig.canFetchPreview(\n formikProps.values.data,\n CuratedDashboardHelper.getDashboardTargetInfo(props.dashboard)\n ) &&\n DashboardRequests.previewWidget(\n formikProps.values.widgetId,\n formikProps.values.data,\n CuratedDashboardHelper.getWidgetParams(\n formikProps.values.widgetId,\n formikProps.values.templateId,\n CuratedDashboardHelper.getDashboardTargetType(props.dashboard)\n )\n )\n );\n\n React.useEffect(() => {\n if (contentPreview.isFetching || !contentPreview.data)\n return;\n\n setContent(contentPreview.data.content);\n }, [ contentPreview.isFetching, contentPreview.data ]);\n\n const previousValues = usePrevious(formikProps.values);\n\n React.useEffect(() => {\n setDisableNext(true);\n }, []);\n\n React.useEffect(() => {\n if (!formikProps.dirty || ObjectHelper.isEqual(formikProps.values, previousValues))\n return;\n\n setOnClickConfirm(() => () => {\n props.onSubmit(formikProps.values, setShowSpinner);\n });\n\n formikProps.validateForm().then(errors => {\n const isValid = !Object.keys(errors).length;\n\n if (disableNext === isValid)\n setDisableNext(!isValid);\n });\n }, [ formikProps.values, disableNext ]);\n\n function onReorderWidgets(content: Classification[]): void {\n setContent(content);\n\n if (props.widgetTypeId === WidgetTypeId.CuratedMultimedia) {\n const currentData = formikProps.values.data as MultimediaWidgetData;\n const newData = content.map(v => {\n return currentData.multimedias.find(m => m.objectId.toString() === v.id.toString());\n });\n formikProps.setFieldValue('data.multimedias', newData);\n\n return;\n }\n\n formikProps.setFieldValue('data.objectIds', content.map(v => v.id));\n }\n\n const WidgetFormView = CuratorWidgetTypeIdConfig[props.widgetTypeId].formView;\n\n if (!WidgetFormView)\n return <></>;\n\n return (\n <WidgetFormView\n dashboard={props.dashboard}\n audiences={props.audiences}\n presentation={props.presentation}\n classification={props.classification}\n imageCdnUrl={props.imageCdnUrl}\n content={content}\n isEditing={!!formikProps.values.id}\n onReorderWidgets={onReorderWidgets}\n availablePresentations={props.availablePresentations}\n settings={props.settings}\n commonVideoProps={props.commonVideoProps}\n customResultRequest={props.customResultRequest}\n />\n );\n}\n\ninterface DashboardWizardAddContentContainerViewProps {\n dashboardId: string;\n widgetTypeId: WidgetTypeId;\n templateId: WidgetTemplate;\n widgetId?: string;\n}\n\nexport function DashboardWizardAddContentContainerView(\n props: DashboardWizardAddContentContainerViewProps\n): JSX.Element {\n const isEditing = !!props.widgetId;\n\n const dashboard = useFetchDashboard(props.dashboardId);\n\n const targetInfo = CuratedDashboardHelper.getDashboardTargetInfo(dashboard.data);\n const isTopicDashboard = CuratedDashboardHelper.isClassificationDashboard(targetInfo);\n const isContentPartnerDashboard = CuratedDashboardHelper.isContentPartnerDashboard(targetInfo);\n const contentPartner = Flight.useBasicFetch<ContentPartnerProfile>(\n isContentPartnerDashboard &&\n ContentPartnerRequests.getContentPartnerBySlug(targetInfo.slug)\n );\n const customResultRequest = isContentPartnerDashboard\n && ContentPartnerRequests.getSeriesInContentPartner(contentPartner.data?.id);\n\n const widget = dashboard.data?.widgets?.find(w => w.id === props.widgetId);\n\n const { commonVideoProps } = useCommonVideoProps();\n \n const classification = Flight.useBasicFetch<Classification>(\n isTopicDashboard &&\n SubjectRequests.classification(targetInfo.classificationId)\n );\n\n let slug: string = '';\n if (targetInfo?.targetType === DashboardTargetType.PartnerProfile) {\n slug = targetInfo.slug;\n }\n\n let presentationId = classification.data?.presentationId;\n if (\n targetInfo?.targetType === DashboardTargetType.Discover ||\n targetInfo?.targetType === DashboardTargetType.MoviesAndTv ||\n targetInfo?.targetType === DashboardTargetType.Company\n ) {\n presentationId = targetInfo.presentationId;\n }\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n presentationId && SubjectRequests.presentationAudiences(presentationId)\n );\n const presentation = Flight.useBasicFetch<Presentation>(\n presentationId && SubjectRequests.presentation(presentationId)\n );\n const availablePresentations = Flight.useBasicFetch<Presentation[]>(\n ClassificationRequests.availablePresentations(PresentationType.Subject)\n );\n\n const navLock = useNavLock();\n const alerts = useAlerts();\n const fetchAsync = Flight.useGetFetchAsync();\n\n // If the template is invalid for some reason, redirect back a step\n React.useEffect(() => {\n if (!CuratorWidgetTypeIdConfig[props.widgetTypeId].formView) {\n Core.ErrorHelper.throw(new WidgetNotSupportedError(props.widgetTypeId));\n return;\n }\n\n navLock.lock({\n id: NAV_LOCK_ID,\n title: 'Are you sure you want to leave?',\n text: 'All of your progress will be discarded.',\n appLinkWhitelist: [\n {\n application: AppChannels.DASHBOARD_EDITOR,\n action: Actions.DashboardEditor.WIDGET_CONTENT_GUIDELINE\n },\n {\n application: AppChannels.DASHBOARD_EDITOR,\n action: Actions.DashboardEditor.ADD_CONTENT_IMAGE_UPLOAD\n }\n ]\n });\n }, [props.templateId]);\n\n function onSubmit(widget: CuratedWidget, setShowSpinner: (val: boolean) => void): void {\n const body = ObjectHelper.omit<CuratedWidget>(widget, ['content']);\n\n if (!body.data.presentationId)\n body.data.presentationId = presentation.data?.id;\n\n setShowSpinner(true);\n\n fetchAsync(isEditing ? DashboardRequests.editWidget(body) : DashboardRequests.addWidget(body))\n .then(() => {\n alerts.success(`Successfully ${isEditing ? 'updated' : 'created'} widget.`);\n\n navLock.unlock(NAV_LOCK_ID);\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.DASHBOARD_EDITOR,\n action: Actions.DashboardEditor.EDIT_DASHBOARD,\n args: [props.dashboardId]\n });\n })\n .catch(() => {\n alerts.error(`Something went wrong while we were trying to ${isEditing ? 'update' : 'add'} your widget. Please try again.`);\n setShowSpinner(false);\n });\n }\n\n function getInitialValues(): CuratedWidget {\n if (isEditing) {\n return {\n id: widget.id,\n name: widget.name,\n description: widget.description,\n widgetId: widget.widgetId,\n templateId: widget.templateId,\n dashboardId: widget.dashboardId,\n status: widget.status,\n data: widget.data,\n index: widget.index,\n metadata: widget.metadata,\n curriculumIds: widget.curriculumIds\n };\n }\n \n return {\n id: null,\n name: '',\n description: '',\n widgetId: props.widgetTypeId,\n templateId: props.templateId,\n dashboardId: props.dashboardId,\n status: WidgetStatus.Published,\n data: {\n presentationId: presentation.data?.id,\n slug,\n ...(CuratorWidgetTypeIdConfig[props.widgetTypeId].getInitialData?.(targetInfo, props.templateId) ?? {})\n },\n // find the last widget with non-fixed index\n index: (ArrayHelper.findLast(dashboard.data.widgets, w => w.index < FIXED_WIDGET_INDEX)?.index ?? -1) + 1,\n metadata: CuratorWidgetTypeIdConfig[props.widgetTypeId].getInitialMetadata?.(targetInfo, props.templateId) ?? {},\n curriculumIds: []\n };\n }\n\n function isLoading(): boolean {\n if (isContentPartnerDashboard && !dashboard.hasCompleted) {\n return true;\n }\n\n if (!dashboard.hasCompleted || (!presentation.data && !isContentPartnerDashboard))\n return true;\n\n if (isTopicDashboard && !classification.hasCompleted)\n return true;\n\n return false;\n }\n\n return (\n <HoverToPortalContainer.ReferenceContainer>\n <DashboardWizardLayout\n dashboard={dashboard.data}\n templateId={props.templateId}\n widgetTypeId={props.widgetTypeId}\n currentStep='add-content'\n isEditing={isEditing}\n >\n <h2 className='h4'>\n {isEditing ? 'Edit content' : 'Add content'}\n </h2>\n\n {!isLoading() && (\n <FormWrapper<CuratedWidget>\n initialValues={getInitialValues()}\n // The `onSubmit` handler is triggered by `DashboardWizardContinueButton` instead of through Formik\n onSubmit={null}\n validationSchema={getDashboardWizardValidationSchema(\n props.widgetTypeId,\n props.templateId,\n targetInfo?.targetType\n )}\n >\n <WidgetFormWrapper\n widgetTypeId={props.widgetTypeId}\n audiences={audiences.data}\n templateId={props.templateId}\n onSubmit={onSubmit}\n classification={classification.data}\n presentation={presentation.data}\n dashboard={dashboard.data}\n imageCdnUrl={ClickView.Config.Urls.ImageAPI}\n availablePresentations={availablePresentations.data}\n settings={CURATOR_HARD_CODED_SETTINGS}\n commonVideoProps={commonVideoProps}\n customResultRequest={customResultRequest}\n />\n </FormWrapper>\n )}\n </DashboardWizardLayout>\n </HoverToPortalContainer.ReferenceContainer>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"OrCUhFjq2.chunk.js","names":[],"sources":["../../../../../src/apps/dashboard-editor/errors/widget-not-supported-error/WidgetNotSupportedError.ts","../../../../../src/apps/dashboard-editor/views/wizard/dashboard-wizard-add-content/DashboardWizardAddContentContainerView.tsx"],"sourcesContent":["import { DialogError } from 'libs/shared/errors/primitives/DialogError';\nimport { DialogOptions } from 'libs/shared/interfaces';\n\nexport class WidgetNotSupportedError extends DialogError {\n private id: string;\n\n constructor(id: string) {\n super('WidgetNotSupportedError');\n\n this.id = id;\n }\n\n // @ts-ignore\n public get name(): string {\n return 'WidgetNotSupportedError';\n }\n\n // @ts-ignore\n public get dialogOptions(): DialogOptions {\n return {\n title: 'Widget not supported',\n text: `Widget with ID <strong>${this.id}</strong> is not in the wizard. Please contact the Product team for support.`,\n buttons: [{\n text: 'Okay',\n className: 'btn btn-dark',\n success: true\n }]\n };\n }\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { FormWrapper, useFormikContextWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { HoverToPortalContainer } from 'libs/shared/components/hover-to-portal-container/HoverToPortalContainer';\nimport { WizardLayoutContext } from 'libs/shared/context/WizardLayoutContext';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { WidgetStatus } from 'libs/shared/enums/WidgetStatus';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useNavLock } from 'libs/shared/hooks/useNavLock';\nimport { usePrevious } from 'libs/shared/hooks/usePrevious';\nimport { SettingsHash } from 'libs/shared/hooks/useSettings';\nimport { Classification, CuratedDashboard, CuratedWidget, CuratedWidgetContent, DashboardTargetType, MultimediaWidgetData, Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\n\nimport { Actions, AppChannels } from 'shared/constants';\nimport { DashboardRequests } from 'shared/flight-requests/DashboardRequests';\nimport { SubjectRequests } from 'shared/flight-requests/SubjectRequests';\nimport { useCommonVideoProps } from 'shared/hooks/UseCommonVideoProps';\nimport { ContentPartnerProfile } from 'shared/interfaces/models/ContentPartnerProfile';\n\nimport { ContentPartnerRequests } from 'apps/content-partners/flight-requests/ContentPartnerRequests';\nimport { DashboardWizardLayout } from 'apps/dashboard-editor/components/wizard/layout/DashboardWizardLayout';\nimport { CURATOR_HARD_CODED_SETTINGS } from 'apps/dashboard-editor/constants/CuratorHardCodedSettings';\nimport { CuratorWidgetTypeIdConfig } from 'apps/dashboard-editor/constants/CuratorWidgetTypeIdConfig';\nimport { WidgetNotSupportedError } from 'apps/dashboard-editor/errors/widget-not-supported-error/WidgetNotSupportedError';\nimport { useFetchDashboard } from 'apps/dashboard-editor/hooks/useFetchDashboard';\nimport { WidgetContentPreviewResponse } from 'apps/dashboard-editor/interfaces/data-requests/WidgetContentPreviewResponse';\nimport { getDashboardWizardValidationSchema } from 'apps/dashboard-editor/validation/DashboardWizardValidationSchema';\n\nconst NAV_LOCK_ID = 'dashboard-wizard';\n// backend will set the fixed widget index to number that equal or bigger than this\nconst FIXED_WIDGET_INDEX = 9999;\n\ninterface WidgetFormWrapperProps {\n templateId: WidgetTemplate;\n widgetTypeId: WidgetTypeId;\n onSubmit: (widget: CuratedWidget, setShowSpinner: (val: boolean) => void) => void;\n presentation: Presentation;\n audiences: PresentationAudience[];\n classification: Classification;\n dashboard: CuratedDashboard;\n imageCdnUrl: string;\n availablePresentations: Presentation[];\n settings: SettingsHash;\n commonVideoProps: CommonVideoProps;\n customResultRequest?: Flight.Request;\n}\n\nfunction WidgetFormWrapper(props: WidgetFormWrapperProps): JSX.Element {\n const { setOnClickConfirm, disableNext, setDisableNext, setShowSpinner } = React.useContext(WizardLayoutContext);\n const formikProps = useFormikContextWrapper<CuratedWidget>();\n\n const [ content, setContent ] = React.useState<CuratedWidgetContent>(null);\n\n const widgetConfig = CuratorWidgetTypeIdConfig[props.widgetTypeId];\n\n const contentPreview = Flight.useBasicFetch<WidgetContentPreviewResponse<CuratedWidgetContent>>(\n widgetConfig.canFetchPreview(\n formikProps.values.data,\n CuratedDashboardHelper.getDashboardTargetInfo(props.dashboard)\n ) &&\n DashboardRequests.previewWidget(\n formikProps.values.widgetId,\n formikProps.values.data,\n CuratedDashboardHelper.getWidgetParams(\n formikProps.values.widgetId,\n formikProps.values.templateId,\n CuratedDashboardHelper.getDashboardTargetType(props.dashboard)\n )\n )\n );\n\n React.useEffect(() => {\n if (contentPreview.isFetching || !contentPreview.data)\n return;\n\n setContent(contentPreview.data.content);\n }, [ contentPreview.isFetching, contentPreview.data ]);\n\n const previousValues = usePrevious(formikProps.values);\n\n React.useEffect(() => {\n setDisableNext(true);\n }, []);\n\n React.useEffect(() => {\n if (!formikProps.dirty || ObjectHelper.isEqual(formikProps.values, previousValues))\n return;\n\n setOnClickConfirm(() => () => {\n props.onSubmit(formikProps.values, setShowSpinner);\n });\n\n formikProps.validateForm().then(errors => {\n const isValid = !Object.keys(errors).length;\n\n if (disableNext === isValid)\n setDisableNext(!isValid);\n });\n }, [ formikProps.values, disableNext ]);\n\n function onReorderWidgets(content: Classification[]): void {\n setContent(content);\n\n if (props.widgetTypeId === WidgetTypeId.CuratedMultimedia) {\n const currentData = formikProps.values.data as MultimediaWidgetData;\n const newData = content.map(v => {\n return currentData.multimedias.find(m => m.objectId.toString() === v.id.toString());\n });\n formikProps.setFieldValue('data.multimedias', newData);\n\n return;\n }\n\n formikProps.setFieldValue('data.objectIds', content.map(v => v.id));\n }\n\n const WidgetFormView = CuratorWidgetTypeIdConfig[props.widgetTypeId].formView;\n\n if (!WidgetFormView)\n return <></>;\n\n return (\n <WidgetFormView\n dashboard={props.dashboard}\n audiences={props.audiences}\n presentation={props.presentation}\n classification={props.classification}\n imageCdnUrl={props.imageCdnUrl}\n content={content}\n isEditing={!!formikProps.values.id}\n onReorderWidgets={onReorderWidgets}\n availablePresentations={props.availablePresentations}\n settings={props.settings}\n commonVideoProps={props.commonVideoProps}\n customResultRequest={props.customResultRequest}\n />\n );\n}\n\ninterface DashboardWizardAddContentContainerViewProps {\n dashboardId: string;\n widgetTypeId: WidgetTypeId;\n templateId: WidgetTemplate;\n widgetId?: string;\n}\n\nexport function DashboardWizardAddContentContainerView(\n props: DashboardWizardAddContentContainerViewProps\n): JSX.Element {\n const isEditing = !!props.widgetId;\n\n const dashboard = useFetchDashboard(props.dashboardId);\n\n const targetInfo = CuratedDashboardHelper.getDashboardTargetInfo(dashboard.data);\n const isTopicDashboard = CuratedDashboardHelper.isClassificationDashboard(targetInfo);\n const isContentPartnerDashboard = CuratedDashboardHelper.isContentPartnerDashboard(targetInfo);\n const contentPartner = Flight.useBasicFetch<ContentPartnerProfile>(\n isContentPartnerDashboard &&\n ContentPartnerRequests.getContentPartnerBySlug(targetInfo.slug)\n );\n const customResultRequest = isContentPartnerDashboard\n && ContentPartnerRequests.getSeriesInContentPartner(contentPartner.data?.id);\n\n const widget = dashboard.data?.widgets?.find(w => w.id === props.widgetId);\n\n const { commonVideoProps } = useCommonVideoProps();\n \n const classification = Flight.useBasicFetch<Classification>(\n isTopicDashboard &&\n SubjectRequests.classification(targetInfo.classificationId)\n );\n\n let slug: string = '';\n if (targetInfo?.targetType === DashboardTargetType.PartnerProfile) {\n slug = targetInfo.slug;\n }\n\n let presentationId = classification.data?.presentationId;\n if (\n targetInfo?.targetType === DashboardTargetType.Discover ||\n targetInfo?.targetType === DashboardTargetType.MoviesAndTv ||\n targetInfo?.targetType === DashboardTargetType.Company\n ) {\n presentationId = targetInfo.presentationId;\n }\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n presentationId && SubjectRequests.presentationAudiences(presentationId)\n );\n const presentation = Flight.useBasicFetch<Presentation>(\n presentationId && SubjectRequests.presentation(presentationId)\n );\n const availablePresentations = Flight.useBasicFetch<Presentation[]>(\n ClassificationRequests.availablePresentations(PresentationType.Subject)\n );\n\n const navLock = useNavLock();\n const alerts = useAlerts();\n const fetchAsync = Flight.useGetFetchAsync();\n\n // If the template is invalid for some reason, redirect back a step\n React.useEffect(() => {\n if (!CuratorWidgetTypeIdConfig[props.widgetTypeId].formView) {\n Core.ErrorHelper.throw(new WidgetNotSupportedError(props.widgetTypeId));\n return;\n }\n\n navLock.lock({\n id: NAV_LOCK_ID,\n title: 'Are you sure you want to leave?',\n text: 'All of your progress will be discarded.',\n appLinkWhitelist: [\n {\n application: AppChannels.DASHBOARD_EDITOR,\n action: Actions.DashboardEditor.WIDGET_CONTENT_GUIDELINE\n },\n {\n application: AppChannels.DASHBOARD_EDITOR,\n action: Actions.DashboardEditor.ADD_CONTENT_IMAGE_UPLOAD\n }\n ]\n });\n }, [props.templateId]);\n\n function onSubmit(widget: CuratedWidget, setShowSpinner: (val: boolean) => void): void {\n const body = ObjectHelper.omit<CuratedWidget>(widget, ['content']);\n\n if (!body.data.presentationId)\n body.data.presentationId = presentation.data?.id;\n\n setShowSpinner(true);\n\n fetchAsync(isEditing ? DashboardRequests.editWidget(body) : DashboardRequests.addWidget(body))\n .then(() => {\n alerts.success(`Successfully ${isEditing ? 'updated' : 'created'} widget.`);\n\n navLock.unlock(NAV_LOCK_ID);\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.DASHBOARD_EDITOR,\n action: Actions.DashboardEditor.EDIT_DASHBOARD,\n args: [props.dashboardId]\n });\n })\n .catch(() => {\n alerts.error(`Something went wrong while we were trying to ${isEditing ? 'update' : 'add'} your widget. Please try again.`);\n setShowSpinner(false);\n });\n }\n\n function getInitialValues(): CuratedWidget {\n if (isEditing) {\n return {\n id: widget.id,\n name: widget.name,\n description: widget.description,\n widgetId: widget.widgetId,\n templateId: widget.templateId,\n dashboardId: widget.dashboardId,\n status: widget.status,\n data: widget.data,\n index: widget.index,\n metadata: widget.metadata,\n curriculumIds: widget.curriculumIds\n };\n }\n \n return {\n id: null,\n name: '',\n description: '',\n widgetId: props.widgetTypeId,\n templateId: props.templateId,\n dashboardId: props.dashboardId,\n status: WidgetStatus.Published,\n data: {\n presentationId: presentation.data?.id,\n slug,\n ...(CuratorWidgetTypeIdConfig[props.widgetTypeId].getInitialData?.(targetInfo, props.templateId) ?? {})\n },\n // find the last widget with non-fixed index\n index: (ArrayHelper.findLast(dashboard.data.widgets, w => w.index < FIXED_WIDGET_INDEX)?.index ?? -1) + 1,\n metadata: CuratorWidgetTypeIdConfig[props.widgetTypeId].getInitialMetadata?.(targetInfo, props.templateId) ?? {},\n curriculumIds: []\n };\n }\n\n function isLoading(): boolean {\n if (isContentPartnerDashboard && !dashboard.hasCompleted) {\n return true;\n }\n\n if (!dashboard.hasCompleted || (!presentation.data && !isContentPartnerDashboard))\n return true;\n\n if (isTopicDashboard && !classification.hasCompleted)\n return true;\n\n return false;\n }\n\n return (\n <HoverToPortalContainer.ReferenceContainer>\n <DashboardWizardLayout\n dashboard={dashboard.data}\n templateId={props.templateId}\n widgetTypeId={props.widgetTypeId}\n currentStep='add-content'\n isEditing={isEditing}\n >\n <h2 className='h4'>\n {isEditing ? 'Edit content' : 'Add content'}\n </h2>\n\n {!isLoading() && (\n <FormWrapper<CuratedWidget>\n initialValues={getInitialValues()}\n // The `onSubmit` handler is triggered by `DashboardWizardContinueButton` instead of through Formik\n onSubmit={null}\n validationSchema={getDashboardWizardValidationSchema(\n props.widgetTypeId,\n props.templateId,\n targetInfo?.targetType\n )}\n >\n <WidgetFormWrapper\n widgetTypeId={props.widgetTypeId}\n audiences={audiences.data}\n templateId={props.templateId}\n onSubmit={onSubmit}\n classification={classification.data}\n presentation={presentation.data}\n dashboard={dashboard.data}\n imageCdnUrl={ClickView.Config.Urls.ImageAPI}\n availablePresentations={availablePresentations.data}\n settings={CURATOR_HARD_CODED_SETTINGS}\n commonVideoProps={commonVideoProps}\n customResultRequest={customResultRequest}\n />\n </FormWrapper>\n )}\n </DashboardWizardLayout>\n </HoverToPortalContainer.ReferenceContainer>\n );\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{a as e,i as t}from"./rp704-Pm.chunk.js";import{g as n}from"./BhKv6dKl2.chunk.js";import{t as r}from"./ogE6FIPU2.chunk.js";e();var i=t(),a=e=>t=>t.appLink.action===e;function o(e){let t=r();return(0,i.jsx)(`div`,{className:`py-2`,children:(0,i.jsx)(n,{tabs:[{label:`Edit Channel Details`,appLink:t.editContentPartner(e.contentPartnerId)},{label:`Dashboards`,appLink:t.editDashboards(e.contentPartnerId)},{label:`Videos`,appLink:t.viewVideos(e.contentPartnerId)},{label:`Series`,appLink:t.viewSeries(e.contentPartnerId)},{label:`Reports`,appLink:t.viewReports(e.contentPartnerId)},{label:`Regions mapping`,appLink:t.viewRegionsMapping(e.contentPartnerId)}],isItemActive:a(e.activeAction)})})}export{o as t};
2
- //# sourceMappingURL=D3exV_Ay2.chunk.js.map
1
+ import{a as e,i as t}from"./rp704-Pm.chunk.js";import{g as n}from"./GpDEun8c2.chunk.js";import{t as r}from"./ogE6FIPU2.chunk.js";e();var i=t(),a=e=>t=>t.appLink.action===e;function o(e){let t=r();return(0,i.jsx)(`div`,{className:`py-2`,children:(0,i.jsx)(n,{tabs:[{label:`Edit Channel Details`,appLink:t.editContentPartner(e.contentPartnerId)},{label:`Dashboards`,appLink:t.editDashboards(e.contentPartnerId)},{label:`Videos`,appLink:t.viewVideos(e.contentPartnerId)},{label:`Series`,appLink:t.viewSeries(e.contentPartnerId)},{label:`Reports`,appLink:t.viewReports(e.contentPartnerId)},{label:`Regions mapping`,appLink:t.viewRegionsMapping(e.contentPartnerId)}],isItemActive:a(e.activeAction)})})}export{o as t};
2
+ //# sourceMappingURL=SVXAAhk02.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"D3exV_Ay2.chunk.js","names":[],"sources":["../../../../../src/apps/content-partners/components/edit-content-partner-nav/EditContentPartnerNav.tsx"],"sourcesContent":["import React from 'react';\n\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { Tabs } from 'shared/components';\nimport { NavItem } from 'shared/interfaces';\n\nimport { getContentPartnerAppLinks } from 'apps/content-partners/utils/getContentPartnerAppLinks';\n\nconst isItemActive = (activeAction: string) => (item: NavItem) => item.appLink.action === activeAction;\n\ninterface EditContentPartnerNavProps {\n contentPartnerId: string;\n activeAction: string;\n currentUser: CurrentUser;\n}\n\nexport function EditContentPartnerNav(props: EditContentPartnerNavProps): JSX.Element {\n const appLinks = getContentPartnerAppLinks();\n\n const tabs = [{\n label: 'Edit Channel Details',\n appLink: appLinks.editContentPartner(props.contentPartnerId)\n }, {\n label: 'Dashboards',\n appLink: appLinks.editDashboards(props.contentPartnerId)\n }, {\n label: 'Videos',\n appLink: appLinks.viewVideos(props.contentPartnerId)\n }, {\n label: 'Series',\n appLink: appLinks.viewSeries(props.contentPartnerId)\n }, {\n label: 'Reports',\n appLink: appLinks.viewReports(props.contentPartnerId)\n }, {\n label: 'Regions mapping',\n appLink: appLinks.viewRegionsMapping(props.contentPartnerId)\n }];\n\n return (\n <div className='py-2'>\n <Tabs\n tabs={tabs}\n isItemActive={isItemActive(props.activeAction)}\n />\n </div>\n );\n}\n"],"mappings":"+IASM,EAAgB,GAA0B,GAAkB,EAAK,QAAQ,SAAW,EAQ1F,SAAgB,EAAsB,EAAgD,CACpF,IAAM,EAAW,EAA0B,EAsB3C,OACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,iBACb,EAAA,EAAA,IAAA,CAAC,EAAD,CACQ,KAAA,CAvBE,CACZ,MAAO,uBACP,QAAS,EAAS,mBAAmB,EAAM,gBAAgB,CAC7D,EAAG,CACD,MAAO,aACP,QAAS,EAAS,eAAe,EAAM,gBAAgB,CACzD,EAAG,CACD,MAAO,SACP,QAAS,EAAS,WAAW,EAAM,gBAAgB,CACrD,EAAG,CACD,MAAO,SACP,QAAS,EAAS,WAAW,EAAM,gBAAgB,CACrD,EAAG,CACD,MAAO,UACP,QAAS,EAAS,YAAY,EAAM,gBAAgB,CACtD,EAAG,CACD,MAAO,kBACP,QAAS,EAAS,mBAAmB,EAAM,gBAAgB,CAC7D,CAKY,EACN,aAAc,EAAa,EAAM,YAAY,CAC9C,CAAA,CACE,CAAA,CAET"}
1
+ {"version":3,"file":"SVXAAhk02.chunk.js","names":[],"sources":["../../../../../src/apps/content-partners/components/edit-content-partner-nav/EditContentPartnerNav.tsx"],"sourcesContent":["import React from 'react';\n\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { Tabs } from 'shared/components';\nimport { NavItem } from 'shared/interfaces';\n\nimport { getContentPartnerAppLinks } from 'apps/content-partners/utils/getContentPartnerAppLinks';\n\nconst isItemActive = (activeAction: string) => (item: NavItem) => item.appLink.action === activeAction;\n\ninterface EditContentPartnerNavProps {\n contentPartnerId: string;\n activeAction: string;\n currentUser: CurrentUser;\n}\n\nexport function EditContentPartnerNav(props: EditContentPartnerNavProps): JSX.Element {\n const appLinks = getContentPartnerAppLinks();\n\n const tabs = [{\n label: 'Edit Channel Details',\n appLink: appLinks.editContentPartner(props.contentPartnerId)\n }, {\n label: 'Dashboards',\n appLink: appLinks.editDashboards(props.contentPartnerId)\n }, {\n label: 'Videos',\n appLink: appLinks.viewVideos(props.contentPartnerId)\n }, {\n label: 'Series',\n appLink: appLinks.viewSeries(props.contentPartnerId)\n }, {\n label: 'Reports',\n appLink: appLinks.viewReports(props.contentPartnerId)\n }, {\n label: 'Regions mapping',\n appLink: appLinks.viewRegionsMapping(props.contentPartnerId)\n }];\n\n return (\n <div className='py-2'>\n <Tabs\n tabs={tabs}\n isItemActive={isItemActive(props.activeAction)}\n />\n </div>\n );\n}\n"],"mappings":"+IASM,EAAgB,GAA0B,GAAkB,EAAK,QAAQ,SAAW,EAQ1F,SAAgB,EAAsB,EAAgD,CACpF,IAAM,EAAW,EAA0B,EAsB3C,OACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,iBACb,EAAA,EAAA,IAAA,CAAC,EAAD,CACQ,KAAA,CAvBE,CACZ,MAAO,uBACP,QAAS,EAAS,mBAAmB,EAAM,gBAAgB,CAC7D,EAAG,CACD,MAAO,aACP,QAAS,EAAS,eAAe,EAAM,gBAAgB,CACzD,EAAG,CACD,MAAO,SACP,QAAS,EAAS,WAAW,EAAM,gBAAgB,CACrD,EAAG,CACD,MAAO,SACP,QAAS,EAAS,WAAW,EAAM,gBAAgB,CACrD,EAAG,CACD,MAAO,UACP,QAAS,EAAS,YAAY,EAAM,gBAAgB,CACtD,EAAG,CACD,MAAO,kBACP,QAAS,EAAS,mBAAmB,EAAM,gBAAgB,CAC7D,CAKY,EACN,aAAc,EAAa,EAAM,YAAY,CAC9C,CAAA,CACE,CAAA,CAET"}
@@ -1,2 +1,2 @@
1
- import{a as e,i as t}from"./rp704-Pm.chunk.js";import{W as n}from"./C7Gmh7eY.chunk.js";e();var r={presentationFilter:`_presentationFilter_111ua_1`},i=t();function a(e){function t(t){if(!e.disabled){if(!t.target.value){e.setPresentation(null);return}e.setPresentation(e.presentations.find(e=>e.id.toString()===t.target.value).id)}}let a=e.presentations?[...e.presentations].sort((e,t)=>e.description.localeCompare(t.description)):[];return(0,i.jsxs)(`select`,{className:`form-select border border-dark ${r.presentationFilter}`,onChange:t,value:e.selectedPresentation?.id??``,disabled:e.disabled,children:[n.canViewAllPresentations(e.stage)&&(0,i.jsx)(`option`,{value:``,children:`All Presentations`}),a.map(e=>(0,i.jsx)(`option`,{value:e.id,children:e.description},e.id))]})}export{a as t};
2
- //# sourceMappingURL=CcZKy7SH.chunk.js.map
1
+ import{a as e,i as t}from"./rp704-Pm.chunk.js";import{W as n}from"./DWHKdmdQ.chunk.js";e();var r={presentationFilter:`_presentationFilter_111ua_1`},i=t();function a(e){function t(t){if(!e.disabled){if(!t.target.value){e.setPresentation(null);return}e.setPresentation(e.presentations.find(e=>e.id.toString()===t.target.value).id)}}let a=e.presentations?[...e.presentations].sort((e,t)=>e.description.localeCompare(t.description)):[];return(0,i.jsxs)(`select`,{className:`form-select border border-dark ${r.presentationFilter}`,onChange:t,value:e.selectedPresentation?.id??``,disabled:e.disabled,children:[n.canViewAllPresentations(e.stage)&&(0,i.jsx)(`option`,{value:``,children:`All Presentations`}),a.map(e=>(0,i.jsx)(`option`,{value:e.id,children:e.description},e.id))]})}export{a as t};
2
+ //# sourceMappingURL=SmmnJrec.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CcZKy7SH.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/components/presentation-filter/presentation-filter.module.scss","../../../../../src/apps/assembly-line/components/presentation-filter/PresentationFilter.tsx"],"sourcesContent":[":local {\n .presentationFilter {\n height: 2.5rem;\n }\n}","import React from 'react';\n\nimport { Presentation } from 'libs/shared/interfaces';\n\nimport { AssemblyLineObjectType } from 'apps/assembly-line/interfaces/AssemblyLineObjectType';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\nimport { AssemblyLineHelper } from 'apps/assembly-line/utils/AssemblyLineHelper';\n\nimport styles from './presentation-filter.module.scss';\n\ninterface PresentationFilterProps {\n stage: AssemblyLineStage;\n selectedPresentation: Presentation;\n setPresentation: (presentationId: string) => void;\n presentations: Presentation[];\n objectType: AssemblyLineObjectType;\n disabled?: boolean;\n}\n\nexport function PresentationFilter(props: PresentationFilterProps): JSX.Element {\n function onSelect(e: React.ChangeEvent<HTMLSelectElement>): void {\n if (props.disabled)\n return;\n\n if (!e.target.value) {\n props.setPresentation(null);\n return;\n }\n\n props.setPresentation(props.presentations.find(p => p.id.toString() === e.target.value).id);\n }\n\n const presentations = !props.presentations ? [] : [...props.presentations].sort((a, b) => {\n return a.description.localeCompare(b.description);\n });\n\n return (\n <select\n className={`form-select border border-dark ${styles.presentationFilter}`}\n onChange={onSelect}\n value={props.selectedPresentation?.id ?? ''}\n disabled={props.disabled}\n >\n {AssemblyLineHelper.canViewAllPresentations(props.stage) && (\n <option value=''>\n All Presentations\n </option>\n )}\n {presentations.map(presentation => {\n return (\n <option\n key={presentation.id}\n value={presentation.id}\n >\n {presentation.description}\n </option>\n );\n })}\n </select>\n );\n}\n"],"mappings":"0JCmBA,SAAgB,EAAmB,EAA6C,CAC9E,SAAS,EAAS,EAA+C,CAC3D,MAAM,SAGV,IAAI,CAAC,EAAE,OAAO,MAAO,CACnB,EAAM,gBAAgB,IAAI,EAC1B,MACF,CAEA,EAAM,gBAAgB,EAAM,cAAc,KAAK,GAAK,EAAE,GAAG,SAAS,IAAM,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,CAF1F,CAGF,CAEA,IAAM,EAAiB,EAAM,cAAqB,CAAC,GAAG,EAAM,aAAa,CAAC,CAAC,MAAM,EAAG,IAC3E,EAAE,YAAY,cAAc,EAAE,WAAW,CACjD,EAF4C,CAAC,EAI9C,OACE,EAAA,EAAA,KAAA,CAAC,SAAD,CACE,UAAW,kCAAkC,EAAO,qBACpD,SAAU,EACV,MAAO,EAAM,sBAAsB,IAAM,GACzC,SAAU,EAAM,kBAJlB,CAMG,EAAmB,wBAAwB,EAAM,KAAK,IACrD,EAAA,EAAA,IAAA,CAAC,SAAD,CAAQ,MAAM,YAAG,mBAET,CAAA,EAET,EAAc,IAAI,IAEf,EAAA,EAAA,IAAA,CAAC,SAAD,CAEE,MAAO,EAAa,YAEnB,EAAa,WACR,EAJD,EAAa,EAIZ,CAEX,CACK,GAEZ"}
1
+ {"version":3,"file":"SmmnJrec.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/components/presentation-filter/presentation-filter.module.scss","../../../../../src/apps/assembly-line/components/presentation-filter/PresentationFilter.tsx"],"sourcesContent":[":local {\n .presentationFilter {\n height: 2.5rem;\n }\n}","import React from 'react';\n\nimport { Presentation } from 'libs/shared/interfaces';\n\nimport { AssemblyLineObjectType } from 'apps/assembly-line/interfaces/AssemblyLineObjectType';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\nimport { AssemblyLineHelper } from 'apps/assembly-line/utils/AssemblyLineHelper';\n\nimport styles from './presentation-filter.module.scss';\n\ninterface PresentationFilterProps {\n stage: AssemblyLineStage;\n selectedPresentation: Presentation;\n setPresentation: (presentationId: string) => void;\n presentations: Presentation[];\n objectType: AssemblyLineObjectType;\n disabled?: boolean;\n}\n\nexport function PresentationFilter(props: PresentationFilterProps): JSX.Element {\n function onSelect(e: React.ChangeEvent<HTMLSelectElement>): void {\n if (props.disabled)\n return;\n\n if (!e.target.value) {\n props.setPresentation(null);\n return;\n }\n\n props.setPresentation(props.presentations.find(p => p.id.toString() === e.target.value).id);\n }\n\n const presentations = !props.presentations ? [] : [...props.presentations].sort((a, b) => {\n return a.description.localeCompare(b.description);\n });\n\n return (\n <select\n className={`form-select border border-dark ${styles.presentationFilter}`}\n onChange={onSelect}\n value={props.selectedPresentation?.id ?? ''}\n disabled={props.disabled}\n >\n {AssemblyLineHelper.canViewAllPresentations(props.stage) && (\n <option value=''>\n All Presentations\n </option>\n )}\n {presentations.map(presentation => {\n return (\n <option\n key={presentation.id}\n value={presentation.id}\n >\n {presentation.description}\n </option>\n );\n })}\n </select>\n );\n}\n"],"mappings":"0JCmBA,SAAgB,EAAmB,EAA6C,CAC9E,SAAS,EAAS,EAA+C,CAC3D,MAAM,SAGV,IAAI,CAAC,EAAE,OAAO,MAAO,CACnB,EAAM,gBAAgB,IAAI,EAC1B,MACF,CAEA,EAAM,gBAAgB,EAAM,cAAc,KAAK,GAAK,EAAE,GAAG,SAAS,IAAM,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,CAF1F,CAGF,CAEA,IAAM,EAAiB,EAAM,cAAqB,CAAC,GAAG,EAAM,aAAa,CAAC,CAAC,MAAM,EAAG,IAC3E,EAAE,YAAY,cAAc,EAAE,WAAW,CACjD,EAF4C,CAAC,EAI9C,OACE,EAAA,EAAA,KAAA,CAAC,SAAD,CACE,UAAW,kCAAkC,EAAO,qBACpD,SAAU,EACV,MAAO,EAAM,sBAAsB,IAAM,GACzC,SAAU,EAAM,kBAJlB,CAMG,EAAmB,wBAAwB,EAAM,KAAK,IACrD,EAAA,EAAA,IAAA,CAAC,SAAD,CAAQ,MAAM,YAAG,mBAET,CAAA,EAET,EAAc,IAAI,IAEf,EAAA,EAAA,IAAA,CAAC,SAAD,CAEE,MAAO,EAAa,YAEnB,EAAa,WACR,EAJD,EAAa,EAIZ,CAEX,CACK,GAEZ"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./UCDGupVs.chunk.js";import{r as t}from"./BKtR2N4K.chunk.js";import{G as n,K as r,q as i,t as a}from"./C7Gmh7eY.chunk.js";import{c as o,s}from"./Dgk5cBBe.chunk.js";import{t as c}from"./DpqbC5uX.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as l}from"./CVHQXNzi.chunk.js";import{t as u}from"./DZgZBOIh.chunk.js";import{t as d}from"./CZyPFSXo.chunk.js";import{t as f}from"./D1EPU1_6.chunk.js";function p(e){i.source().values.options.forEach(t=>e[t.value]=t.name)}function m(i,m){let h=s(e.currentUser()),g=s(n.getQuickFilters(m)),_=r.getHardcodedQuickFilters(h.data,m),v=[...g.data||[],..._].find(e=>e.id===i.quickFilter),{objectType:y}=a[m],b=r.getFilterQueryParams(i,y),x=r.deserializeFilterParams(b,y);if(v){let e=r.deserializeFilterRequestBody(v.filters);x=r.deserializeFilterParams(e,y)}let S={};p(S);let C=new Set,w=new Set,T=new Set,E=new Set,D=new Set,O=new Set;x.forEach(e=>{e.values.forEach(t=>{if(!(t.name||!t.value))switch(e.field){case`backbone_audience`:w.add(t.value);break;case`backbone_classification`:T.add(t.value);break;case`classification`:D.add(t.value);break;case`audience`:E.add(t.value);break;case`rating`:O.add(t.value.toString());break;case`normal_tag`:case`hidden_tag`:case`skill_tag`:case`pedagogy_tag`:case`curation_tag`:S[t.value]=t.value;case`thumbnail_quality`:case`production_year`:case`description`:case`date_created`:case`max_resolution`:case`dashboard_target`:case`stage_date_modified`:case`view_count`:case`duration`:case`video_count`:case`object_status`:case`curated_dashboards`:case`rights_line_id`:case`master_type`:case`region`:case`source`:case`visibility`:case`bypass_unused_stage`:case`seo_title`:case`seo_description`:case`topic_type`:case`depth`:case`is_leaf_node`:case`points_of_interest`:break;default:e.condition!==`is_not_applicable`&&e.condition!==`is_not_not_applicable`&&e.condition!==`empty`&&e.condition!==`not_empty`&&C.add(t.value)}})});let k=s(C.size&&n.getMasterObjects([...C])),A=[...w].map(e=>d.getBackboneAudience(e)),j=[...T].map(e=>d.getBackboneClassification(e)),M=[...D].map(e=>n.getTopic(e)),N=[...E].map(e=>d.getAudience(e)),P=c.flatten([...D].map(e=>[f.dashboards({targetType:t.Classification,classificationId:e},!0),f.dashboards({targetType:t.ClassificationDirectory,classificationId:e},!0)])),F=s(n.countryRatings()),I=o([...A,...j,...M,...N]),L=o(P),R=L.data?.reduce((e,t)=>(e.push(...t.data),e),[]);if(C.size&&!k.hasCompleted||O.size&&!F.hasCompleted||(w.size||T.size||D.size||E.size)&&!I.hasCompleted||D.size&&!L.hasCompleted)return x;S=[...k.data||[],...c.flatten(I.data||[]),...F.data||[]].reduce((e,t)=>`masterId`in t?(e[t.masterId]=t.name,e):(u.isType(t,l.Rating)&&(e[t.value]=t.name,e[t.code]=t.name),e[t.id]=t.name,e),S);let z=x.map(e=>({...e,values:e.values.map(e=>({value:e.value,name:S[e.value]}))}));return R.length&&z.push({id:z[z.length-1].id+1,field:`curated_dashboards`,condition:`in`,values:R.map(e=>({value:e.id,name:e.name}))}),z}export{m as t};
2
- //# sourceMappingURL=Dy4nscVE2.chunk.js.map
1
+ import{t as e}from"./UCDGupVs.chunk.js";import{r as t}from"./BKtR2N4K.chunk.js";import{G as n,K as r,q as i,t as a}from"./DWHKdmdQ.chunk.js";import{c as o,s}from"./Dgk5cBBe.chunk.js";import{t as c}from"./DpqbC5uX.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as l}from"./CVHQXNzi.chunk.js";import{t as u}from"./DZgZBOIh.chunk.js";import{t as d}from"./CZyPFSXo.chunk.js";import{t as f}from"./D1EPU1_6.chunk.js";function p(e){i.source().values.options.forEach(t=>e[t.value]=t.name)}function m(i,m){let h=s(e.currentUser()),g=s(n.getQuickFilters(m)),_=r.getHardcodedQuickFilters(h.data,m),v=[...g.data||[],..._].find(e=>e.id===i.quickFilter),{objectType:y}=a[m],b=r.getFilterQueryParams(i,y),x=r.deserializeFilterParams(b,y);if(v){let e=r.deserializeFilterRequestBody(v.filters);x=r.deserializeFilterParams(e,y)}let S={};p(S);let C=new Set,w=new Set,T=new Set,E=new Set,D=new Set,O=new Set;x.forEach(e=>{e.values.forEach(t=>{if(!(t.name||!t.value))switch(e.field){case`backbone_audience`:w.add(t.value);break;case`backbone_classification`:T.add(t.value);break;case`classification`:D.add(t.value);break;case`audience`:E.add(t.value);break;case`rating`:O.add(t.value.toString());break;case`normal_tag`:case`hidden_tag`:case`skill_tag`:case`pedagogy_tag`:case`curation_tag`:S[t.value]=t.value;case`thumbnail_quality`:case`production_year`:case`description`:case`date_created`:case`max_resolution`:case`dashboard_target`:case`stage_date_modified`:case`view_count`:case`duration`:case`video_count`:case`object_status`:case`curated_dashboards`:case`rights_line_id`:case`master_type`:case`region`:case`source`:case`visibility`:case`bypass_unused_stage`:case`seo_title`:case`seo_description`:case`topic_type`:case`depth`:case`is_leaf_node`:case`points_of_interest`:break;default:e.condition!==`is_not_applicable`&&e.condition!==`is_not_not_applicable`&&e.condition!==`empty`&&e.condition!==`not_empty`&&C.add(t.value)}})});let k=s(C.size&&n.getMasterObjects([...C])),A=[...w].map(e=>d.getBackboneAudience(e)),j=[...T].map(e=>d.getBackboneClassification(e)),M=[...D].map(e=>n.getTopic(e)),N=[...E].map(e=>d.getAudience(e)),P=c.flatten([...D].map(e=>[f.dashboards({targetType:t.Classification,classificationId:e},!0),f.dashboards({targetType:t.ClassificationDirectory,classificationId:e},!0)])),F=s(n.countryRatings()),I=o([...A,...j,...M,...N]),L=o(P),R=L.data?.reduce((e,t)=>(e.push(...t.data),e),[]);if(C.size&&!k.hasCompleted||O.size&&!F.hasCompleted||(w.size||T.size||D.size||E.size)&&!I.hasCompleted||D.size&&!L.hasCompleted)return x;S=[...k.data||[],...c.flatten(I.data||[]),...F.data||[]].reduce((e,t)=>`masterId`in t?(e[t.masterId]=t.name,e):(u.isType(t,l.Rating)&&(e[t.value]=t.name,e[t.code]=t.name),e[t.id]=t.name,e),S);let z=x.map(e=>({...e,values:e.values.map(e=>({value:e.value,name:S[e.value]}))}));return R.length&&z.push({id:z[z.length-1].id+1,field:`curated_dashboards`,condition:`in`,values:R.map(e=>({value:e.id,name:e.name}))}),z}export{m as t};
2
+ //# sourceMappingURL=T3BageSw2.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dy4nscVE2.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/hooks/useAssemblyLineFilters.ts"],"sourcesContent":["import { Flight } from 'libs/common/react/index';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { BaseObject } from 'libs/analytics/interfaces';\n\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { Audience, Classification, CuratedDashboard, CuratedDashboardCollection, CurrentUser, DashboardTargetType, PresentationAudience, Rating } from 'libs/shared/interfaces';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\n\nimport { DashboardRequests } from 'shared/flight-requests/DashboardRequests';\nimport { SubjectRequests } from 'shared/flight-requests/SubjectRequests';\n\nimport { ConditionalFilterState } from 'apps/assembly-line/components/conditional-filters/ConditionalFilters';\nimport { AssemblyLineFilterConfig } from 'apps/assembly-line/constants/AssemblyLineFilterConfig';\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { AssemblyLineQueryParams } from 'apps/assembly-line/interfaces/AssemblyLineQueryParams';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\nimport { ConditionalFilterLocalListConfig } from 'apps/assembly-line/interfaces/ConditionalFilterTypes';\nimport { AssemblyLineFilterField } from 'apps/assembly-line/interfaces/requests/AssemblyLineFilterRequest';\nimport { QuickFilter } from 'apps/assembly-line/interfaces/responses/QuickFilter';\nimport { AssemblyLineFilterHelper } from 'apps/assembly-line/utils/AssemblyLineFilterHelper';\n\nimport { AssemblyLineStageConfig } from '../constants/AssemblyLineStageConfig';\n\nfunction ingestLocalListName(nameLookup: Record<string, string>) {\n (AssemblyLineFilterConfig.source().values as ConditionalFilterLocalListConfig)\n .options.forEach(value => nameLookup[value.value] = value.name);\n}\n\n/**\n * This hook takes the query params and converts the filter params into the state format.\n * It will process any query params that explicitly define a filter, and any filters that exist\n * on the quick filter if one is applied.\n * \n * There's some data fetching required here because in the conditional filter UI, we display the names of any value that\n * has been selected for a filter.\n * On the initial page load, we don't have these names, because the query params and the quick filters\n * only store the value IDs.\n * So, this function will find every filter value that doesn't have it's name populated, fetches it,\n * then populates the name.\n */\nexport function useAssemblyLineFilters(\n queryParams: AssemblyLineQueryParams,\n stage: AssemblyLineStage\n): ConditionalFilterState<AssemblyLineFilterField>[] {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const quickFilters = Flight.useBasicFetch<QuickFilter[]>(AssemblyLineRequests.getQuickFilters(stage));\n const hardcodedQuickFilters = AssemblyLineFilterHelper.getHardcodedQuickFilters(currentUser.data, stage);\n const quickFilter = [\n ...(quickFilters.data || []),\n ...hardcodedQuickFilters\n ]?.find(qf => qf.id === queryParams.quickFilter);\n\n const { objectType } = AssemblyLineStageConfig[stage];\n\n const filterParams = AssemblyLineFilterHelper.getFilterQueryParams(queryParams, objectType);\n let filterState: ConditionalFilterState<AssemblyLineFilterField>[] =\n AssemblyLineFilterHelper.deserializeFilterParams(filterParams, objectType);\n\n if (quickFilter) {\n const quickFilterParams = AssemblyLineFilterHelper.deserializeFilterRequestBody(quickFilter.filters);\n filterState = AssemblyLineFilterHelper.deserializeFilterParams(quickFilterParams, objectType);\n }\n\n let nameLookup: Record<string, string> = {};\n ingestLocalListName(nameLookup);\n\n const masterIds = new Set<string>();\n const backboneAudienceIds = new Set<string>();\n const backboneClassificationIds = new Set<string>();\n const audienceIds = new Set<string>();\n const classificationIds = new Set<string>();\n const ratingValues = new Set<string>();\n\n // Get the ID of every filter value, so that we can fetch their names\n filterState.forEach(filter => {\n filter.values.forEach(value => {\n if (value.name || !value.value)\n return;\n\n /**\n * Some object types cannot be fetched from Master API with their IDs,\n * so special requests can be handled in this switch statement.\n */\n switch (filter.field) {\n case 'backbone_audience':\n backboneAudienceIds.add(value.value);\n break;\n case 'backbone_classification':\n backboneClassificationIds.add(value.value);\n break;\n case 'classification':\n classificationIds.add(value.value);\n break;\n case 'audience':\n audienceIds.add(value.value);\n break;\n case 'rating':\n ratingValues.add(value.value.toString());\n break;\n \n case 'normal_tag':\n case 'hidden_tag':\n case 'skill_tag':\n case 'pedagogy_tag':\n case 'curation_tag':\n nameLookup[value.value] = value.value;\n\n case 'thumbnail_quality':\n case 'production_year':\n case 'description':\n case 'date_created':\n case 'max_resolution':\n case 'dashboard_target':\n case 'stage_date_modified':\n case 'view_count':\n case 'duration':\n case 'video_count':\n case 'object_status':\n case 'curated_dashboards':\n case 'rights_line_id':\n case 'master_type':\n case 'region':\n case 'source':\n case 'visibility':\n case 'bypass_unused_stage':\n case 'seo_title':\n case 'seo_description':\n case 'topic_type':\n case 'depth':\n case 'is_leaf_node':\n case 'points_of_interest':\n break;\n\n default:\n if (filter.condition !== 'is_not_applicable'\n && filter.condition !== 'is_not_not_applicable'\n && filter.condition !== 'empty'\n && filter.condition !== 'not_empty') {\n masterIds.add(value.value);\n }\n }\n });\n });\n\n // Fetch all master object names\n const masterObjects = Flight.useBasicFetch<BaseObject[]>(\n masterIds.size &&\n AssemblyLineRequests.getMasterObjects([...masterIds])\n );\n\n const backboneSubjectRequests = [...backboneAudienceIds].map(\n id => SubjectRequests.getBackboneAudience(id)\n );\n const backboneAudienceRequests = [...backboneClassificationIds].map(\n id => SubjectRequests.getBackboneClassification(id)\n );\n const classificationRequests = [...classificationIds].map(\n id => AssemblyLineRequests.getTopic(id)\n );\n const audienceRequests = [...audienceIds].map(\n id => SubjectRequests.getAudience(id)\n );\n const curatedTopicRequests = ArrayHelper.flatten([...classificationIds].map(\n id => {\n return [\n DashboardRequests.dashboards({\n targetType: DashboardTargetType.Classification,\n classificationId: id\n }, true),\n DashboardRequests.dashboards({\n targetType: DashboardTargetType.ClassificationDirectory,\n classificationId: id\n }, true)\n ];\n }\n ));\n\n const countryRatings = Flight.useBasicFetch<Rating[]>(AssemblyLineRequests.countryRatings());\n\n const subjectsRequests = Flight.useBasicFetchAll<(Classification | Audience | PresentationAudience)[]>([\n ...backboneSubjectRequests,\n ...backboneAudienceRequests,\n ...classificationRequests,\n ...audienceRequests\n ]);\n\n const curatedTopicsResponse = Flight.useBasicFetchAll<CuratedDashboardCollection>(curatedTopicRequests);\n\n const curatedTopics = curatedTopicsResponse.data?.reduce<CuratedDashboard[]>((acc, dashboardCollection) => {\n acc.push(...dashboardCollection.data);\n return acc;\n }, []);\n\n /**\n * Wait for all objects to be fetched\n */\n if (masterIds.size && !masterObjects.hasCompleted)\n return filterState;\n\n if (ratingValues.size && !countryRatings.hasCompleted)\n return filterState;\n\n const hasAnySubjectRequests =\n backboneAudienceIds.size || backboneClassificationIds.size || classificationIds.size || audienceIds.size;\n\n if (hasAnySubjectRequests && !subjectsRequests.hasCompleted)\n return filterState;\n\n if (classificationIds.size && !curatedTopicsResponse.hasCompleted)\n return filterState;\n\n const combined = [\n ...(masterObjects.data || []),\n ...ArrayHelper.flatten(subjectsRequests.data || []),\n ...(countryRatings.data || [])\n ];\n\n nameLookup = combined.reduce((acc: Record<string, string>, obj) => {\n if ('masterId' in obj) {\n acc[obj.masterId] = obj.name;\n return acc;\n }\n\n if (MasterTypeHelper.isType<Rating>(obj, MasterType.Rating)) {\n acc[obj.value] = obj.name;\n acc[obj.code] = obj.name;\n }\n\n acc[obj.id] = obj.name;\n return acc;\n }, nameLookup);\n\n /**\n * By now we have fetched all of the names for each value, so we update the state\n * to include those.\n */\n const hydratedFilters = filterState.map(filter => ({\n ...filter,\n values: filter.values.map(val => ({\n value: val.value,\n name: nameLookup[val.value]\n }))\n }));\n\n if (curatedTopics.length) {\n hydratedFilters.push({\n id: hydratedFilters[hydratedFilters.length - 1].id + 1,\n field: 'curated_dashboards',\n condition: 'in',\n values: curatedTopics.map(topic => ({\n value: topic.id,\n name: topic.name\n }))\n });\n }\n\n return hydratedFilters;\n}\n"],"mappings":"2ZAyBA,SAAS,EAAoB,EAAoC,CAC/D,EAA0B,OAAO,CAAC,CAAC,OAChC,QAAQ,QAAQ,GAAS,EAAW,EAAM,OAAS,EAAM,IAAI,CAClE,CAcA,SAAgB,EACd,EACA,EACmD,CACnD,IAAM,EAAc,EAAkC,EAAa,YAAY,CAAC,EAE1E,EAAe,EAAoC,EAAqB,gBAAgB,CAAK,CAAC,EAC9F,EAAwB,EAAyB,yBAAyB,EAAY,KAAM,CAAK,EACjG,EAAc,CAClB,GAAI,EAAa,MAAQ,CAAC,EAC1B,GAAG,CACL,CAAC,CAAE,KAAK,GAAM,EAAG,KAAO,EAAY,WAAW,EAEzC,CAAE,cAAe,EAAwB,GAEzC,EAAe,EAAyB,qBAAqB,EAAa,CAAU,EACtF,EACF,EAAyB,wBAAwB,EAAc,CAAU,EAE3E,GAAI,EAAa,CACf,IAAM,EAAoB,EAAyB,6BAA6B,EAAY,OAAO,EACnG,EAAc,EAAyB,wBAAwB,EAAmB,CAAU,CAC9F,CAEA,IAAI,EAAqC,CAAC,EAC1C,EAAoB,CAAU,EAE9B,IAAM,EAAY,IAAI,IAChB,EAAsB,IAAI,IAC1B,EAA4B,IAAI,IAChC,EAAc,IAAI,IAClB,EAAoB,IAAI,IACxB,EAAe,IAAI,IAGzB,EAAY,QAAQ,GAAU,CAC5B,EAAO,OAAO,QAAQ,GAAS,CACzB,OAAM,MAAQ,CAAC,EAAM,OAOzB,OAAQ,EAAO,MAAf,CACE,IAAK,oBACH,EAAoB,IAAI,EAAM,KAAK,EACnC,MACF,IAAK,0BACH,EAA0B,IAAI,EAAM,KAAK,EACzC,MACF,IAAK,iBACH,EAAkB,IAAI,EAAM,KAAK,EACjC,MACF,IAAK,WACH,EAAY,IAAI,EAAM,KAAK,EAC3B,MACF,IAAK,SACH,EAAa,IAAI,EAAM,MAAM,SAAS,CAAC,EACvC,MAEF,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,eACL,IAAK,eACH,EAAW,EAAM,OAAS,EAAM,MAElC,IAAK,oBACL,IAAK,kBACL,IAAK,cACL,IAAK,eACL,IAAK,iBACL,IAAK,mBACL,IAAK,sBACL,IAAK,aACL,IAAK,WACL,IAAK,cACL,IAAK,gBACL,IAAK,qBACL,IAAK,iBACL,IAAK,cACL,IAAK,SACL,IAAK,SACL,IAAK,aACL,IAAK,sBACL,IAAK,YACL,IAAK,kBACL,IAAK,aACL,IAAK,QACL,IAAK,eACL,IAAK,qBACH,MAEF,QACM,EAAO,YAAc,qBACpB,EAAO,YAAc,yBACrB,EAAO,YAAc,SACrB,EAAO,YAAc,aACxB,EAAU,IAAI,EAAM,KAAK,CAE/B,CACF,CAAC,CACH,CAAC,EAGD,IAAM,EAAgB,EACpB,EAAU,MACV,EAAqB,iBAAiB,CAAC,GAAG,CAAS,CAAC,CACtD,EAEM,EAA0B,CAAC,GAAG,CAAmB,CAAC,CAAC,IACvD,GAAM,EAAgB,oBAAoB,CAAE,CAC9C,EACM,EAA2B,CAAC,GAAG,CAAyB,CAAC,CAAC,IAC9D,GAAM,EAAgB,0BAA0B,CAAE,CACpD,EACM,EAAyB,CAAC,GAAG,CAAiB,CAAC,CAAC,IACpD,GAAM,EAAqB,SAAS,CAAE,CACxC,EACM,EAAmB,CAAC,GAAG,CAAW,CAAC,CAAC,IACxC,GAAM,EAAgB,YAAY,CAAE,CACtC,EACM,EAAuB,EAAY,QAAQ,CAAC,GAAG,CAAiB,CAAC,CAAC,IACtE,GACS,CACL,EAAkB,WAAW,CAC3B,WAAY,EAAoB,eAChC,iBAAkB,CACpB,EAAG,EAAI,EACP,EAAkB,WAAW,CAC3B,WAAY,EAAoB,wBAChC,iBAAkB,CACpB,EAAG,EAAI,CACT,CAEJ,CAAC,EAEK,EAAiB,EAA+B,EAAqB,eAAe,CAAC,EAErF,EAAmB,EAA8E,CACrG,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACL,CAAC,EAEK,EAAwB,EAAoD,CAAoB,EAEhG,EAAgB,EAAsB,MAAM,QAA4B,EAAK,KACjF,EAAI,KAAK,GAAG,EAAoB,IAAI,EAC7B,GACN,CAAC,CAAC,EAiBL,GAZI,EAAU,MAAQ,CAAC,EAAc,cAGjC,EAAa,MAAQ,CAAC,EAAe,eAIvC,EAAoB,MAAQ,EAA0B,MAAQ,EAAkB,MAAQ,EAAY,OAEzE,CAAC,EAAiB,cAG3C,EAAkB,MAAQ,CAAC,EAAsB,aACnD,OAAO,EAQT,EAAa,CALX,GAAI,EAAc,MAAQ,CAAC,EAC3B,GAAG,EAAY,QAAQ,EAAiB,MAAQ,CAAC,CAAC,EAClD,GAAI,EAAe,MAAQ,CAAC,CAGjB,CAAA,CAAS,QAAQ,EAA6B,IACrD,aAAc,GAChB,EAAI,EAAI,UAAY,EAAI,KACjB,IAGL,EAAiB,OAAe,EAAK,EAAW,MAAM,IACxD,EAAI,EAAI,OAAS,EAAI,KACrB,EAAI,EAAI,MAAQ,EAAI,MAGtB,EAAI,EAAI,IAAM,EAAI,KACX,GACN,CAAU,EAMb,IAAM,EAAkB,EAAY,IAAI,IAAW,CACjD,GAAG,EACH,OAAQ,EAAO,OAAO,IAAI,IAAQ,CAChC,MAAO,EAAI,MACX,KAAM,EAAW,EAAI,MACvB,EAAE,CACJ,EAAE,EAcF,OAZI,EAAc,QAChB,EAAgB,KAAK,CACnB,GAAI,EAAgB,EAAgB,OAAS,EAAE,CAAC,GAAK,EACrD,MAAO,qBACP,UAAW,KACX,OAAQ,EAAc,IAAI,IAAU,CAClC,MAAO,EAAM,GACb,KAAM,EAAM,IACd,EAAE,CACJ,CAAC,EAGI,CACT"}
1
+ {"version":3,"file":"T3BageSw2.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/hooks/useAssemblyLineFilters.ts"],"sourcesContent":["import { Flight } from 'libs/common/react/index';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { BaseObject } from 'libs/analytics/interfaces';\n\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { Audience, Classification, CuratedDashboard, CuratedDashboardCollection, CurrentUser, DashboardTargetType, PresentationAudience, Rating } from 'libs/shared/interfaces';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\n\nimport { DashboardRequests } from 'shared/flight-requests/DashboardRequests';\nimport { SubjectRequests } from 'shared/flight-requests/SubjectRequests';\n\nimport { ConditionalFilterState } from 'apps/assembly-line/components/conditional-filters/ConditionalFilters';\nimport { AssemblyLineFilterConfig } from 'apps/assembly-line/constants/AssemblyLineFilterConfig';\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { AssemblyLineQueryParams } from 'apps/assembly-line/interfaces/AssemblyLineQueryParams';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\nimport { ConditionalFilterLocalListConfig } from 'apps/assembly-line/interfaces/ConditionalFilterTypes';\nimport { AssemblyLineFilterField } from 'apps/assembly-line/interfaces/requests/AssemblyLineFilterRequest';\nimport { QuickFilter } from 'apps/assembly-line/interfaces/responses/QuickFilter';\nimport { AssemblyLineFilterHelper } from 'apps/assembly-line/utils/AssemblyLineFilterHelper';\n\nimport { AssemblyLineStageConfig } from '../constants/AssemblyLineStageConfig';\n\nfunction ingestLocalListName(nameLookup: Record<string, string>) {\n (AssemblyLineFilterConfig.source().values as ConditionalFilterLocalListConfig)\n .options.forEach(value => nameLookup[value.value] = value.name);\n}\n\n/**\n * This hook takes the query params and converts the filter params into the state format.\n * It will process any query params that explicitly define a filter, and any filters that exist\n * on the quick filter if one is applied.\n * \n * There's some data fetching required here because in the conditional filter UI, we display the names of any value that\n * has been selected for a filter.\n * On the initial page load, we don't have these names, because the query params and the quick filters\n * only store the value IDs.\n * So, this function will find every filter value that doesn't have it's name populated, fetches it,\n * then populates the name.\n */\nexport function useAssemblyLineFilters(\n queryParams: AssemblyLineQueryParams,\n stage: AssemblyLineStage\n): ConditionalFilterState<AssemblyLineFilterField>[] {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const quickFilters = Flight.useBasicFetch<QuickFilter[]>(AssemblyLineRequests.getQuickFilters(stage));\n const hardcodedQuickFilters = AssemblyLineFilterHelper.getHardcodedQuickFilters(currentUser.data, stage);\n const quickFilter = [\n ...(quickFilters.data || []),\n ...hardcodedQuickFilters\n ]?.find(qf => qf.id === queryParams.quickFilter);\n\n const { objectType } = AssemblyLineStageConfig[stage];\n\n const filterParams = AssemblyLineFilterHelper.getFilterQueryParams(queryParams, objectType);\n let filterState: ConditionalFilterState<AssemblyLineFilterField>[] =\n AssemblyLineFilterHelper.deserializeFilterParams(filterParams, objectType);\n\n if (quickFilter) {\n const quickFilterParams = AssemblyLineFilterHelper.deserializeFilterRequestBody(quickFilter.filters);\n filterState = AssemblyLineFilterHelper.deserializeFilterParams(quickFilterParams, objectType);\n }\n\n let nameLookup: Record<string, string> = {};\n ingestLocalListName(nameLookup);\n\n const masterIds = new Set<string>();\n const backboneAudienceIds = new Set<string>();\n const backboneClassificationIds = new Set<string>();\n const audienceIds = new Set<string>();\n const classificationIds = new Set<string>();\n const ratingValues = new Set<string>();\n\n // Get the ID of every filter value, so that we can fetch their names\n filterState.forEach(filter => {\n filter.values.forEach(value => {\n if (value.name || !value.value)\n return;\n\n /**\n * Some object types cannot be fetched from Master API with their IDs,\n * so special requests can be handled in this switch statement.\n */\n switch (filter.field) {\n case 'backbone_audience':\n backboneAudienceIds.add(value.value);\n break;\n case 'backbone_classification':\n backboneClassificationIds.add(value.value);\n break;\n case 'classification':\n classificationIds.add(value.value);\n break;\n case 'audience':\n audienceIds.add(value.value);\n break;\n case 'rating':\n ratingValues.add(value.value.toString());\n break;\n \n case 'normal_tag':\n case 'hidden_tag':\n case 'skill_tag':\n case 'pedagogy_tag':\n case 'curation_tag':\n nameLookup[value.value] = value.value;\n\n case 'thumbnail_quality':\n case 'production_year':\n case 'description':\n case 'date_created':\n case 'max_resolution':\n case 'dashboard_target':\n case 'stage_date_modified':\n case 'view_count':\n case 'duration':\n case 'video_count':\n case 'object_status':\n case 'curated_dashboards':\n case 'rights_line_id':\n case 'master_type':\n case 'region':\n case 'source':\n case 'visibility':\n case 'bypass_unused_stage':\n case 'seo_title':\n case 'seo_description':\n case 'topic_type':\n case 'depth':\n case 'is_leaf_node':\n case 'points_of_interest':\n break;\n\n default:\n if (filter.condition !== 'is_not_applicable'\n && filter.condition !== 'is_not_not_applicable'\n && filter.condition !== 'empty'\n && filter.condition !== 'not_empty') {\n masterIds.add(value.value);\n }\n }\n });\n });\n\n // Fetch all master object names\n const masterObjects = Flight.useBasicFetch<BaseObject[]>(\n masterIds.size &&\n AssemblyLineRequests.getMasterObjects([...masterIds])\n );\n\n const backboneSubjectRequests = [...backboneAudienceIds].map(\n id => SubjectRequests.getBackboneAudience(id)\n );\n const backboneAudienceRequests = [...backboneClassificationIds].map(\n id => SubjectRequests.getBackboneClassification(id)\n );\n const classificationRequests = [...classificationIds].map(\n id => AssemblyLineRequests.getTopic(id)\n );\n const audienceRequests = [...audienceIds].map(\n id => SubjectRequests.getAudience(id)\n );\n const curatedTopicRequests = ArrayHelper.flatten([...classificationIds].map(\n id => {\n return [\n DashboardRequests.dashboards({\n targetType: DashboardTargetType.Classification,\n classificationId: id\n }, true),\n DashboardRequests.dashboards({\n targetType: DashboardTargetType.ClassificationDirectory,\n classificationId: id\n }, true)\n ];\n }\n ));\n\n const countryRatings = Flight.useBasicFetch<Rating[]>(AssemblyLineRequests.countryRatings());\n\n const subjectsRequests = Flight.useBasicFetchAll<(Classification | Audience | PresentationAudience)[]>([\n ...backboneSubjectRequests,\n ...backboneAudienceRequests,\n ...classificationRequests,\n ...audienceRequests\n ]);\n\n const curatedTopicsResponse = Flight.useBasicFetchAll<CuratedDashboardCollection>(curatedTopicRequests);\n\n const curatedTopics = curatedTopicsResponse.data?.reduce<CuratedDashboard[]>((acc, dashboardCollection) => {\n acc.push(...dashboardCollection.data);\n return acc;\n }, []);\n\n /**\n * Wait for all objects to be fetched\n */\n if (masterIds.size && !masterObjects.hasCompleted)\n return filterState;\n\n if (ratingValues.size && !countryRatings.hasCompleted)\n return filterState;\n\n const hasAnySubjectRequests =\n backboneAudienceIds.size || backboneClassificationIds.size || classificationIds.size || audienceIds.size;\n\n if (hasAnySubjectRequests && !subjectsRequests.hasCompleted)\n return filterState;\n\n if (classificationIds.size && !curatedTopicsResponse.hasCompleted)\n return filterState;\n\n const combined = [\n ...(masterObjects.data || []),\n ...ArrayHelper.flatten(subjectsRequests.data || []),\n ...(countryRatings.data || [])\n ];\n\n nameLookup = combined.reduce((acc: Record<string, string>, obj) => {\n if ('masterId' in obj) {\n acc[obj.masterId] = obj.name;\n return acc;\n }\n\n if (MasterTypeHelper.isType<Rating>(obj, MasterType.Rating)) {\n acc[obj.value] = obj.name;\n acc[obj.code] = obj.name;\n }\n\n acc[obj.id] = obj.name;\n return acc;\n }, nameLookup);\n\n /**\n * By now we have fetched all of the names for each value, so we update the state\n * to include those.\n */\n const hydratedFilters = filterState.map(filter => ({\n ...filter,\n values: filter.values.map(val => ({\n value: val.value,\n name: nameLookup[val.value]\n }))\n }));\n\n if (curatedTopics.length) {\n hydratedFilters.push({\n id: hydratedFilters[hydratedFilters.length - 1].id + 1,\n field: 'curated_dashboards',\n condition: 'in',\n values: curatedTopics.map(topic => ({\n value: topic.id,\n name: topic.name\n }))\n });\n }\n\n return hydratedFilters;\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{a as e,i as t}from"./rp704-Pm.chunk.js";import{t as n}from"./Di_u2uix.chunk.js";import"./CfCYHRuo.chunk.js";import{t as r}from"./UCDGupVs.chunk.js";import{l as i,s as a}from"./Dgk5cBBe.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as o}from"./CZyPFSXo.chunk.js";import{t as s}from"./BivItbGo.chunk.js";import{t as c}from"./0KUhq7W7.chunk.js";import{t as l}from"./DLLL2lwS.chunk.js";e();var u=t();function d(e){let t=a(r.currentUser()),d=a(o.member(e.clipId)),f=a(s.curationTags()),p=a(s.selectedCurationTags(e.clipId)),m=i();function h(t,n,r){m(s.addTag(e.clipId,t,n,r))}function g(t,n,r){m(s.removeTag(e.clipId,t,n,r))}return(0,u.jsxs)(u.Fragment,{children:[!!t.data&&(0,u.jsx)(c,{clipId:e.clipId,activeAction:n.Clips.EDIT_CLIP_CURATION,currentUser:t.data}),!!d.data&&!!f.data&&!!p.data&&(0,u.jsx)(l,{id:e.clipId,heading:d.data.name,curationTags:f.data,selectedCurationTags:p.data,addCurationTag:h,removeCurationTag:g,disableClickViewCurated:!0})]})}export{d as EditClipCurationView};
2
- //# sourceMappingURL=B8PM5Ji3.chunk.js.map
1
+ import{a as e,i as t}from"./rp704-Pm.chunk.js";import{t as n}from"./Di_u2uix.chunk.js";import"./CfCYHRuo.chunk.js";import{t as r}from"./UCDGupVs.chunk.js";import{l as i,s as a}from"./Dgk5cBBe.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as o}from"./CZyPFSXo.chunk.js";import{t as s}from"./BivItbGo.chunk.js";import{t as c}from"./DnZGILQc.chunk.js";import{t as l}from"./CNLx6_fS.chunk.js";e();var u=t();function d(e){let t=a(r.currentUser()),d=a(o.member(e.clipId)),f=a(s.curationTags()),p=a(s.selectedCurationTags(e.clipId)),m=i();function h(t,n,r){m(s.addTag(e.clipId,t,n,r))}function g(t,n,r){m(s.removeTag(e.clipId,t,n,r))}return(0,u.jsxs)(u.Fragment,{children:[!!t.data&&(0,u.jsx)(c,{clipId:e.clipId,activeAction:n.Clips.EDIT_CLIP_CURATION,currentUser:t.data}),!!d.data&&!!f.data&&!!p.data&&(0,u.jsx)(l,{id:e.clipId,heading:d.data.name,curationTags:f.data,selectedCurationTags:p.data,addCurationTag:h,removeCurationTag:g,disableClickViewCurated:!0})]})}export{d as EditClipCurationView};
2
+ //# sourceMappingURL=T6xxjp_W.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"B8PM5Ji3.chunk.js","names":[],"sources":["../../../../../src/apps/clips/views/edit-clip-curation/EditClipCurationView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useGetFetch } from 'libs/common/react/flight';\nimport { Flight } from 'libs/common/react/index';\n\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { Clip, CuratorUser, Tag } from 'libs/shared/interfaces';\n\nimport { CurationTags } from 'shared/components/curation-tags/CurationTags';\nimport { Actions } from 'shared/constants';\nimport { SubjectRequests } from 'shared/flight-requests/SubjectRequests';\nimport { TagRequests } from 'shared/flight-requests/TagRequests';\n\nimport { EditClipNav } from 'apps/clips/components/edit-clip-nav/EditClipNav';\n\ninterface EditClipCurationView {\n clipId: string;\n}\n\nexport function EditClipCurationView(props: EditClipCurationView) {\n const currentUser = Flight.useBasicFetch<CuratorUser>(UserRequests.currentUser());\n const clip = Flight.useBasicFetch<Clip>(SubjectRequests.member(props.clipId));\n\n const allCurationTags = Flight.useBasicFetch<Tag[]>(TagRequests.curationTags());\n const selectedCurationTags = Flight.useBasicFetch<Tag[]>(TagRequests.selectedCurationTags(props.clipId));\n const fetch = useGetFetch();\n\n function addCurationTag(tag: Tag, success: () => void, error: () => void) {\n fetch(TagRequests.addTag(props.clipId, tag, success, error));\n }\n\n function removeCurationTag(tag: Tag, success: () => void, error: () => void) {\n fetch(TagRequests.removeTag(props.clipId, tag, success, error));\n }\n\n return (\n <>\n {!!currentUser.data &&\n <EditClipNav\n clipId={props.clipId}\n activeAction={Actions.Clips.EDIT_CLIP_CURATION}\n currentUser={currentUser.data}\n />\n }\n {!!clip.data && !!allCurationTags.data && !!selectedCurationTags.data &&\n <CurationTags\n id={props.clipId}\n heading={clip.data.name}\n curationTags={allCurationTags.data}\n selectedCurationTags={selectedCurationTags.data}\n addCurationTag={addCurationTag}\n removeCurationTag={removeCurationTag}\n disableClickViewCurated\n />\n }\n </>\n );\n}\n"],"mappings":"oZAmBA,SAAgB,EAAqB,EAA6B,CAChE,IAAM,EAAc,EAAkC,EAAa,YAAY,CAAC,EAC1E,EAAO,EAA2B,EAAgB,OAAO,EAAM,MAAM,CAAC,EAEtE,EAAkB,EAA4B,EAAY,aAAa,CAAC,EACxE,EAAuB,EAA4B,EAAY,qBAAqB,EAAM,MAAM,CAAC,EACjG,EAAQ,EAAY,EAE1B,SAAS,EAAe,EAAU,EAAqB,EAAmB,CACxE,EAAM,EAAY,OAAO,EAAM,OAAQ,EAAK,EAAS,CAAK,CAAC,CAC7D,CAEA,SAAS,EAAkB,EAAU,EAAqB,EAAmB,CAC3E,EAAM,EAAY,UAAU,EAAM,OAAQ,EAAK,EAAS,CAAK,CAAC,CAChE,CAEA,OACE,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,CACG,CAAC,CAAC,EAAY,OACb,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,OAAQ,EAAM,OACd,aAAc,EAAQ,MAAM,mBAC5B,YAAa,EAAY,IAC1B,CAAA,EAEF,CAAC,CAAC,EAAK,MAAQ,CAAC,CAAC,EAAgB,MAAQ,CAAC,CAAC,EAAqB,OAC/D,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,GAAI,EAAM,OACV,QAAS,EAAK,KAAK,KACnB,aAAc,EAAgB,KAC9B,qBAAsB,EAAqB,KAC3B,iBACG,oBACnB,wBAAA,EACD,CAAA,CAEH,CAAA,CAAA,CAEN"}
1
+ {"version":3,"file":"T6xxjp_W.chunk.js","names":[],"sources":["../../../../../src/apps/clips/views/edit-clip-curation/EditClipCurationView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useGetFetch } from 'libs/common/react/flight';\nimport { Flight } from 'libs/common/react/index';\n\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { Clip, CuratorUser, Tag } from 'libs/shared/interfaces';\n\nimport { CurationTags } from 'shared/components/curation-tags/CurationTags';\nimport { Actions } from 'shared/constants';\nimport { SubjectRequests } from 'shared/flight-requests/SubjectRequests';\nimport { TagRequests } from 'shared/flight-requests/TagRequests';\n\nimport { EditClipNav } from 'apps/clips/components/edit-clip-nav/EditClipNav';\n\ninterface EditClipCurationView {\n clipId: string;\n}\n\nexport function EditClipCurationView(props: EditClipCurationView) {\n const currentUser = Flight.useBasicFetch<CuratorUser>(UserRequests.currentUser());\n const clip = Flight.useBasicFetch<Clip>(SubjectRequests.member(props.clipId));\n\n const allCurationTags = Flight.useBasicFetch<Tag[]>(TagRequests.curationTags());\n const selectedCurationTags = Flight.useBasicFetch<Tag[]>(TagRequests.selectedCurationTags(props.clipId));\n const fetch = useGetFetch();\n\n function addCurationTag(tag: Tag, success: () => void, error: () => void) {\n fetch(TagRequests.addTag(props.clipId, tag, success, error));\n }\n\n function removeCurationTag(tag: Tag, success: () => void, error: () => void) {\n fetch(TagRequests.removeTag(props.clipId, tag, success, error));\n }\n\n return (\n <>\n {!!currentUser.data &&\n <EditClipNav\n clipId={props.clipId}\n activeAction={Actions.Clips.EDIT_CLIP_CURATION}\n currentUser={currentUser.data}\n />\n }\n {!!clip.data && !!allCurationTags.data && !!selectedCurationTags.data &&\n <CurationTags\n id={props.clipId}\n heading={clip.data.name}\n curationTags={allCurationTags.data}\n selectedCurationTags={selectedCurationTags.data}\n addCurationTag={addCurationTag}\n removeCurationTag={removeCurationTag}\n disableClickViewCurated\n />\n }\n </>\n );\n}\n"],"mappings":"oZAmBA,SAAgB,EAAqB,EAA6B,CAChE,IAAM,EAAc,EAAkC,EAAa,YAAY,CAAC,EAC1E,EAAO,EAA2B,EAAgB,OAAO,EAAM,MAAM,CAAC,EAEtE,EAAkB,EAA4B,EAAY,aAAa,CAAC,EACxE,EAAuB,EAA4B,EAAY,qBAAqB,EAAM,MAAM,CAAC,EACjG,EAAQ,EAAY,EAE1B,SAAS,EAAe,EAAU,EAAqB,EAAmB,CACxE,EAAM,EAAY,OAAO,EAAM,OAAQ,EAAK,EAAS,CAAK,CAAC,CAC7D,CAEA,SAAS,EAAkB,EAAU,EAAqB,EAAmB,CAC3E,EAAM,EAAY,UAAU,EAAM,OAAQ,EAAK,EAAS,CAAK,CAAC,CAChE,CAEA,OACE,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,CACG,CAAC,CAAC,EAAY,OACb,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,OAAQ,EAAM,OACd,aAAc,EAAQ,MAAM,mBAC5B,YAAa,EAAY,IAC1B,CAAA,EAEF,CAAC,CAAC,EAAK,MAAQ,CAAC,CAAC,EAAgB,MAAQ,CAAC,CAAC,EAAqB,OAC/D,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,GAAI,EAAM,OACV,QAAS,EAAK,KAAK,KACnB,aAAc,EAAgB,KAC9B,qBAAsB,EAAqB,KAC3B,iBACG,oBACnB,wBAAA,EACD,CAAA,CAEH,CAAA,CAAA,CAEN"}
@@ -1,2 +1,2 @@
1
- import{C as e,a as t,i as n,ln as r}from"./rp704-Pm.chunk.js";import{a as i,i as a,t as o}from"./BAOFaFPQ.chunk.js";import{t as s}from"./Di_u2uix.chunk.js";import{t as c}from"./BvMTtGLi.chunk.js";import"./CfCYHRuo.chunk.js";import{n as l}from"./CFoexGFe.chunk.js";import{t as u}from"./UCDGupVs.chunk.js";import{t as d}from"./cwPDEI372.chunk.js";import{f,h as p,s as m,y as h}from"./BhKv6dKl2.chunk.js";import{t as g}from"./D-JsEiDq2.chunk.js";import{l as _,r as v,s as y}from"./Dgk5cBBe.chunk.js";import{t as b}from"./Bw7dP6jB.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as x}from"./BuWnKnnb.chunk.js";import{t as S}from"./BCfBk23W.chunk.js";import{t as C}from"./Lh2c_aQx2.chunk.js";import{t as w}from"./Bwpvc7Th2.chunk.js";import{t as T}from"./BivItbGo.chunk.js";import{r as E}from"./BRcHS92O.chunk.js";import{t as D}from"./DhW1fXNd.chunk.js";import{c as O,i as k}from"./DA0I3jYA.chunk.js";import{t as A}from"./dKyhMawf.chunk.js";import{t as j}from"./R3C4JT9X2.chunk.js";import{t as M}from"./D0JviwKV2.chunk.js";import{n as N}from"./C4Ey4nzb2.chunk.js";import{t as P}from"./DhqpGW1a.chunk.js";import{t as F}from"./JmL1DHFu.chunk.js";import{t as I}from"./CNfsk-2G.chunk.js";import{t as L}from"./DYVUvs3j2.chunk.js";import{t as R}from"./2LTy46yF.chunk.js";import{t as z}from"./Cwh6cLM4.chunk.js";import{c as B}from"./_wZpe632.chunk.js";import{t as V}from"./DLLL2lwS.chunk.js";import{t as H}from"./8mKI7xXn2.chunk.js";import{t as U}from"./yQWtvpiG.chunk.js";import{n as W,t as G}from"./DqCsVhOS.chunk.js";var K=r(t(),1),q=n();function J(t){let n=b(),r=w(),[i,a]=K.useState(!1),o=y(z.playlist(t.playlistId));function l(){a(!0),v(n,z.deletePlaylist(t.playlistId,()=>{r.success(`Successfully deleted playlist.`),e.trigger({application:c.PLAYLISTS,action:s.Playlists.PLAYLISTS})},()=>{a(!1),r.error(`Failed to delete playlist.`)},t.closePopup))}let u=!!o.data;return(0,q.jsx)(g,{title:`Delete Playlist`,closePopup:t.closePopup,showLoadingSpinner:!u,children:u&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`p`,{children:[`Are you sure you want to delete `,(0,q.jsx)(`strong`,{children:o.data.name}),`?`]}),(0,q.jsx)(`p`,{children:`Please ensure it is not being used in any widgets.`})]}),(0,q.jsxs)(M,{children:[(0,q.jsx)(M.Cancel,{onClick:t.closePopup}),(0,q.jsx)(M.Submit,{variant:`danger`,onClick:l,text:`Yes, delete playlist`,showSpinner:i})]})]})})}function Y(e){let t=O(),n=j(t);return(0,q.jsxs)(k,{children:[!!e.owner?.username&&(0,q.jsxs)(`p`,{className:`my-2`,children:[(0,q.jsx)(`strong`,{children:`Owner:`}),` `,e.owner.username]}),(0,q.jsx)(N,{label:`Name`,type:`text`,name:`name`,id:`name`,value:t.values.name,placeholder:`Enter a name for this playlist`,autoFocus:!0}),(0,q.jsx)(N,{label:`Description`,as:`textarea`,name:`description`,id:`description`,value:t.values.description,placeholder:`Describe this playlist here`}),(0,q.jsx)(N,{label:`Internal Description`,as:`textarea`,name:`metadata.internalDescription`,id:`metadata.internalDescription`,value:t.values.metadata?.internalDescription,placeholder:`This description will only be displayed in Curator`}),(0,q.jsx)(I,{imageType:E.Covers,fieldName:`cover`,uploadAppLink:{application:c.PLAYLISTS,action:s.Playlists.UPLOAD_IMAGE}}),(0,q.jsx)(I,{imageType:E.Banners,fieldName:`banner`,uploadAppLink:{application:c.PLAYLISTS,action:s.Playlists.UPLOAD_IMAGE}}),(0,q.jsxs)(`div`,{className:`d-flex justify-content-between align-items-center`,children:[(0,q.jsx)(D,{showSpinner:t.isSubmitting,type:`submit`,disabled:!n,children:e.id?`Save`:`Create`}),!!e.actions&&(0,q.jsx)(P,{actions:e.actions})]})]})}var X=e=>[{label:`Delete playlist`,appLink:{application:c.PLAYLISTS,action:s.Playlists.DELETE_PLAYLIST,args:[e]},className:`text-danger`}];function Z(e){let t=e.playlist?.id;return(0,q.jsx)(A,{initialValues:e.playlist,validationSchema:W,onSubmit:e.savePlaylist,children:(0,q.jsx)(Y,{id:t,owner:e.playlist?.owner,actions:!!t&&X(t)})})}function Q(e){let t=b(),n=w(),r=y(z.playlist(e.playlistId)),i=y(u.currentUser());function a(r,i){v(t,z.updatePlaylist(e.playlistId,r,()=>{n.success(`Successfully updated playlist.`)},()=>{n.error(`Failed to update playlist.`)},i))}return(0,q.jsxs)(q.Fragment,{children:[!!i.data&&(0,q.jsx)(G,{playlistId:e.playlistId,activeAction:s.Playlists.EDIT_PLAYLIST,currentUser:i.data}),!!r.data&&(0,q.jsx)(Z,{playlist:r.data,savePlaylist:a})]})}function $(e,t,n){let r=e=>x.getSetStateByKey(n,e);R([a.getObjectLevelsFetchOptions(e,l.Playlists,r(`playlistLevels`))],[e]),o(a.getObjectAudiencesFetchOptions(e,l.Playlists,r(`playlistAudiences`)),[e,t.playlistLevels]),R([a.getPresentationsFetchOptions(r(`presentations`),d.Subject),a.getLevelsFetchOptions(r(`levels`))],[]),o(!!t.currentPresentation&&a.getAudiencesFetchOptions(t.currentPresentation.id,r(`presentationAudiences`)),[t.currentPresentation],!!t.currentPresentation)}function ee(e){let t=y(z.playlist(e.playlistId)),n=y(u.currentUser()),[r,a]=K.useState({}),o=C(i.SUBJECT);$(e.playlistId,r,a),S(r,a);let c=!!r.presentations&&!!r.levels&&!!r.presentationAudiences&&!!r.playlistLevels&&!!r.playlistAudiences;return(0,q.jsxs)(q.Fragment,{children:[!!n.data&&(0,q.jsx)(G,{playlistId:e.playlistId,activeAction:s.Playlists.EDIT_PLAYLIST_AUDIENCES,currentUser:n.data}),(0,q.jsx)(h,{object:t.data}),!!c&&(0,q.jsx)(B,{objectLevels:r.playlistLevels,objectAudiences:r.playlistAudiences,presentations:r.presentations,currentPresentation:r.currentPresentation,setCurrentPresentation:x.getSetStateByKey(a,`currentPresentation`),levels:r.levels,presentationAudiences:r.presentationAudiences,memberType:l.Playlists,saveLevels:(t,n,r)=>o.updateObjectLevels(e.playlistId,t,l.Playlists,n,r,r),saveAudiences:(t,n)=>o.updateObjectAudiences(e.playlistId,r.currentPresentation.id,t,l.Playlists,n,n)})]})}function te(e,t,n){let r=e=>x.getSetStateByKey(n,e);R([a.getSubjectTreeFetchOptions(r(`subjectTree`),d.Subject),a.getPresentationsFetchOptions(r(`presentations`),d.Subject)],[]),R([a.getObjectSubjectsFetchOptions(e,l.Playlists,r(`playlistSubjects`))],[e]),o(!!t.currentPresentation&&a.getClassificationTreeFetchOptions(t.currentPresentation.id,r(`classificationTree`)),[t.currentPresentation],!!t.currentPresentation),K.useEffect(()=>r(`subjectClassifications`)([]),[t.playlistSubjects]);let i=(e,t)=>[...t.subjectClassifications||[],...e],s=t.playlistSubjects&&t.playlistSubjects.map(e=>a.getSubjectClassificationFetchOptions(e.id,x.getSetStateByKey(n,`subjectClassifications`,i)));R(s,[t.playlistSubjects],!!s),o(a.getObjectClassificationsFetchOptions(e,l.Playlists,r(`playlistClassifications`)),[e,t.playlistSubjects])}function ne(e){let t=y(z.playlist(e.playlistId)),n=y(u.currentUser()),[r,a]=K.useState({}),o=C(i.SUBJECT);te(e.playlistId,r,a),S(r,a);let c=!!r.playlistSubjects&&!!r.subjectTree&&!!r.presentations&&!!r.classificationTree&&!!r.playlistClassifications&&!!r.subjectClassifications;return(0,q.jsxs)(q.Fragment,{children:[!!n.data&&(0,q.jsx)(G,{playlistId:e.playlistId,activeAction:s.Playlists.EDIT_PLAYLIST_SUBJECTS,currentUser:n.data}),(0,q.jsx)(h,{object:t.data}),c&&(0,q.jsx)(m,{objectSubjects:r.playlistSubjects,subjectTree:r.subjectTree,memberType:l.Playlists,presentations:r.presentations,presentationType:d.Subject,currentPresentation:r.currentPresentation,setCurrentPresentation:x.getSetStateByKey(a,`currentPresentation`),objectClassifications:r.playlistClassifications,objectSubjectClassifications:r.subjectClassifications,classificationTree:r.classificationTree,saveSubjects:(t,n,r)=>o.updateObjectSubjects(e.playlistId,t,l.Playlists,n,r,r),saveClassifications:(t,n)=>o.updateObjectClassifications(e.playlistId,r.currentPresentation.id,t,l.Playlists,n,n)})]})}function re(e,t){let n=!0;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r].id!==t[r].id){n=!1;break}return n}function ie(e){let[t,n]=(0,K.useState)();return(0,K.useEffect)(()=>{t&&(e.length!==t.length||re(e,t))&&n(null)},[e]),[t,n]}var ae=e=>({application:c.VIDEOS,action:s.Videos.EDIT_VIDEO,args:[e.id]});function oe(e){let t=b(),n=w(),r=y(z.playlist(e.playlistId)),i=y(z.playlistVideos(e.playlistId)),a=y(u.currentUser()),[o,l]=ie(i.data?.data),d=e=>t=>[{label:`Add to your workbench`,appLink:{application:c.PLAYLISTS,action:s.Playlists.ADD_TO_WORKBENCH,args:[t.id]}},{label:`Remove video`,appLink:{application:c.PLAYLISTS,action:s.Playlists.REMOVE_VIDEO,args:[e.toString(),t.id.toString()]},className:`text-danger`}],f=(r,a)=>{if(r===a)return;let{reorderRequest:o,reorderedItems:s}=H.reorder(i.data.data,r,a);l(s),v(t,z.reorderVideos(e.playlistId,o,null,()=>{n.error(`Failed to update playlist order.`),l(null)}))},m=o?{data:o,pagination:null}:i.data;return(0,q.jsxs)(q.Fragment,{children:[!!a.data&&(0,q.jsx)(G,{playlistId:e.playlistId,activeAction:s.Playlists.EDIT_PLAYLIST_VIDEOS,currentUser:a.data}),(0,q.jsx)(h,{object:r.data}),!!m&&(0,q.jsx)(p,{onSortEnd:f,videos:m,getVideoAppLink:ae,getVideoActions:d(e.playlistId),emptyMessage:`There are no videos in this playlist.`})]})}function se(e){let t=b(),n=w(),r=y(L.getAliases(e.playlistId)),i=y(u.currentUser());function a(r,i){v(t,L.createAlias(e.playlistId,r,()=>{n.success(`Successfully created alias`),i()},()=>{n.error(`Something went wrong creating your alias`)}))}function o(r){v(t,L.deleteAlias(e.playlistId,r,()=>{n.success(`Successfully deleted alias`)},()=>{n.error(`Something went wrong deleting your alias`)}))}return!r.data||!i.data?(0,q.jsx)(q.Fragment,{children:`Loading...`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(G,{playlistId:e.playlistId,activeAction:s.Playlists.EDIT_PLAYLIST_ALIASES,currentUser:i.data}),(0,q.jsx)(f,{aliases:r.data.data,onSave:a,onDelete:o})]})}function ce(e){let t=y(u.currentUser()),n=y(U.getPlaylist(e.playlistId)),r=y(T.curationTags()),i=y(T.selectedCurationTags(e.playlistId)),a=_();function o(t,n,r){a(T.addTag(e.playlistId,t,n,r))}function c(t,n,r){a(T.removeTag(e.playlistId,t,n,r))}return(0,q.jsxs)(q.Fragment,{children:[!!t.data&&(0,q.jsx)(G,{playlistId:e.playlistId,activeAction:s.Playlists.EDIT_PLAYLIST_CURATION,currentUser:t.data}),!!n.data&&!!r.data&&!!i.data&&(0,q.jsx)(V,{id:e.playlistId,heading:n.data.name,curationTags:r.data,selectedCurationTags:i.data,addCurationTag:o,removeCurationTag:c,disableClickViewCurated:!0})]})}function le(t){!t||!t.id||e.trigger({application:c.PLAYLISTS,action:s.Playlists.EDIT_PLAYLIST,args:[t.id]})}function ue(){let e=b(),t=w();function n(n,r){v(e,z.createPlaylist(n,e=>{t.success(`Successfully created playlist.`),le(e)},()=>{t.error(`Failed to create playlist.`)},r))}return(0,q.jsx)(Z,{savePlaylist:n})}function de(e){let t=b(),n=w(),r=y(z.playlist(e.playlistId)),i=y(F.video(e.videoId)),[a,o]=K.useState(!1);function s(){o(!0),v(t,z.removeVideo(e.playlistId,e.videoId,()=>{n.success(`Successfully removed video from playlist`)},()=>{n.error(`Failed to remove video from playlist`)},e.closePopup))}let c=!!r.data&&!!i.data;return(0,q.jsx)(g,{title:`Remove Video`,closePopup:e.closePopup,showLoadingSpinner:!c,children:!!c&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{children:(0,q.jsxs)(`p`,{children:[`Are you sure you want to remove `,(0,q.jsx)(`strong`,{children:i.data.name}),` from `,(0,q.jsx)(`strong`,{children:r.data.name}),`?`]})}),(0,q.jsxs)(M,{children:[(0,q.jsx)(M.Cancel,{onClick:e.closePopup}),(0,q.jsx)(M.Submit,{variant:`danger`,onClick:s,text:`Yes, remove video`,showSpinner:a})]})]})})}export{J as DeletePlaylistView,se as EditPlaylistAliasesView,ee as EditPlaylistAudiencesView,ce as EditPlaylistCurationView,ne as EditPlaylistSubjectsView,oe as EditPlaylistVideosView,Q as EditPlaylistView,ue as NewPlaylistView,de as RemoveVideoView};
2
- //# sourceMappingURL=Cp6Af16p.chunk.js.map
1
+ import{C as e,a as t,i as n,ln as r}from"./rp704-Pm.chunk.js";import{a as i,i as a,t as o}from"./BAOFaFPQ.chunk.js";import{t as s}from"./Di_u2uix.chunk.js";import{t as c}from"./BvMTtGLi.chunk.js";import"./CfCYHRuo.chunk.js";import{n as l}from"./CFoexGFe.chunk.js";import{t as u}from"./UCDGupVs.chunk.js";import{t as d}from"./cwPDEI372.chunk.js";import{f,h as p,s as m,y as h}from"./GpDEun8c2.chunk.js";import{t as g}from"./D-JsEiDq2.chunk.js";import{l as _,r as v,s as y}from"./Dgk5cBBe.chunk.js";import{t as b}from"./Bw7dP6jB.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as x}from"./BuWnKnnb.chunk.js";import{t as S}from"./BCfBk23W.chunk.js";import{t as C}from"./Lh2c_aQx2.chunk.js";import{t as w}from"./Bwpvc7Th2.chunk.js";import{t as T}from"./BivItbGo.chunk.js";import{r as E}from"./BRcHS92O.chunk.js";import{t as D}from"./DhW1fXNd.chunk.js";import{c as O,i as k}from"./DA0I3jYA.chunk.js";import{t as A}from"./dKyhMawf.chunk.js";import{t as j}from"./R3C4JT9X2.chunk.js";import{t as M}from"./D0JviwKV2.chunk.js";import{n as N}from"./C4Ey4nzb2.chunk.js";import{t as P}from"./DhqpGW1a.chunk.js";import{t as F}from"./JmL1DHFu.chunk.js";import{t as I}from"./CNfsk-2G.chunk.js";import{t as L}from"./DYVUvs3j2.chunk.js";import{t as R}from"./2LTy46yF.chunk.js";import{t as z}from"./Cwh6cLM4.chunk.js";import{c as B}from"./BFPSIGJg.chunk.js";import{t as V}from"./CNLx6_fS.chunk.js";import{t as H}from"./8mKI7xXn2.chunk.js";import{t as U}from"./yQWtvpiG.chunk.js";import{n as W,t as G}from"./D3NAhMJm.chunk.js";var K=r(t(),1),q=n();function J(t){let n=b(),r=w(),[i,a]=K.useState(!1),o=y(z.playlist(t.playlistId));function l(){a(!0),v(n,z.deletePlaylist(t.playlistId,()=>{r.success(`Successfully deleted playlist.`),e.trigger({application:c.PLAYLISTS,action:s.Playlists.PLAYLISTS})},()=>{a(!1),r.error(`Failed to delete playlist.`)},t.closePopup))}let u=!!o.data;return(0,q.jsx)(g,{title:`Delete Playlist`,closePopup:t.closePopup,showLoadingSpinner:!u,children:u&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`p`,{children:[`Are you sure you want to delete `,(0,q.jsx)(`strong`,{children:o.data.name}),`?`]}),(0,q.jsx)(`p`,{children:`Please ensure it is not being used in any widgets.`})]}),(0,q.jsxs)(M,{children:[(0,q.jsx)(M.Cancel,{onClick:t.closePopup}),(0,q.jsx)(M.Submit,{variant:`danger`,onClick:l,text:`Yes, delete playlist`,showSpinner:i})]})]})})}function Y(e){let t=O(),n=j(t);return(0,q.jsxs)(k,{children:[!!e.owner?.username&&(0,q.jsxs)(`p`,{className:`my-2`,children:[(0,q.jsx)(`strong`,{children:`Owner:`}),` `,e.owner.username]}),(0,q.jsx)(N,{label:`Name`,type:`text`,name:`name`,id:`name`,value:t.values.name,placeholder:`Enter a name for this playlist`,autoFocus:!0}),(0,q.jsx)(N,{label:`Description`,as:`textarea`,name:`description`,id:`description`,value:t.values.description,placeholder:`Describe this playlist here`}),(0,q.jsx)(N,{label:`Internal Description`,as:`textarea`,name:`metadata.internalDescription`,id:`metadata.internalDescription`,value:t.values.metadata?.internalDescription,placeholder:`This description will only be displayed in Curator`}),(0,q.jsx)(I,{imageType:E.Covers,fieldName:`cover`,uploadAppLink:{application:c.PLAYLISTS,action:s.Playlists.UPLOAD_IMAGE}}),(0,q.jsx)(I,{imageType:E.Banners,fieldName:`banner`,uploadAppLink:{application:c.PLAYLISTS,action:s.Playlists.UPLOAD_IMAGE}}),(0,q.jsxs)(`div`,{className:`d-flex justify-content-between align-items-center`,children:[(0,q.jsx)(D,{showSpinner:t.isSubmitting,type:`submit`,disabled:!n,children:e.id?`Save`:`Create`}),!!e.actions&&(0,q.jsx)(P,{actions:e.actions})]})]})}var X=e=>[{label:`Delete playlist`,appLink:{application:c.PLAYLISTS,action:s.Playlists.DELETE_PLAYLIST,args:[e]},className:`text-danger`}];function Z(e){let t=e.playlist?.id;return(0,q.jsx)(A,{initialValues:e.playlist,validationSchema:W,onSubmit:e.savePlaylist,children:(0,q.jsx)(Y,{id:t,owner:e.playlist?.owner,actions:!!t&&X(t)})})}function Q(e){let t=b(),n=w(),r=y(z.playlist(e.playlistId)),i=y(u.currentUser());function a(r,i){v(t,z.updatePlaylist(e.playlistId,r,()=>{n.success(`Successfully updated playlist.`)},()=>{n.error(`Failed to update playlist.`)},i))}return(0,q.jsxs)(q.Fragment,{children:[!!i.data&&(0,q.jsx)(G,{playlistId:e.playlistId,activeAction:s.Playlists.EDIT_PLAYLIST,currentUser:i.data}),!!r.data&&(0,q.jsx)(Z,{playlist:r.data,savePlaylist:a})]})}function $(e,t,n){let r=e=>x.getSetStateByKey(n,e);R([a.getObjectLevelsFetchOptions(e,l.Playlists,r(`playlistLevels`))],[e]),o(a.getObjectAudiencesFetchOptions(e,l.Playlists,r(`playlistAudiences`)),[e,t.playlistLevels]),R([a.getPresentationsFetchOptions(r(`presentations`),d.Subject),a.getLevelsFetchOptions(r(`levels`))],[]),o(!!t.currentPresentation&&a.getAudiencesFetchOptions(t.currentPresentation.id,r(`presentationAudiences`)),[t.currentPresentation],!!t.currentPresentation)}function ee(e){let t=y(z.playlist(e.playlistId)),n=y(u.currentUser()),[r,a]=K.useState({}),o=C(i.SUBJECT);$(e.playlistId,r,a),S(r,a);let c=!!r.presentations&&!!r.levels&&!!r.presentationAudiences&&!!r.playlistLevels&&!!r.playlistAudiences;return(0,q.jsxs)(q.Fragment,{children:[!!n.data&&(0,q.jsx)(G,{playlistId:e.playlistId,activeAction:s.Playlists.EDIT_PLAYLIST_AUDIENCES,currentUser:n.data}),(0,q.jsx)(h,{object:t.data}),!!c&&(0,q.jsx)(B,{objectLevels:r.playlistLevels,objectAudiences:r.playlistAudiences,presentations:r.presentations,currentPresentation:r.currentPresentation,setCurrentPresentation:x.getSetStateByKey(a,`currentPresentation`),levels:r.levels,presentationAudiences:r.presentationAudiences,memberType:l.Playlists,saveLevels:(t,n,r)=>o.updateObjectLevels(e.playlistId,t,l.Playlists,n,r,r),saveAudiences:(t,n)=>o.updateObjectAudiences(e.playlistId,r.currentPresentation.id,t,l.Playlists,n,n)})]})}function te(e,t,n){let r=e=>x.getSetStateByKey(n,e);R([a.getSubjectTreeFetchOptions(r(`subjectTree`),d.Subject),a.getPresentationsFetchOptions(r(`presentations`),d.Subject)],[]),R([a.getObjectSubjectsFetchOptions(e,l.Playlists,r(`playlistSubjects`))],[e]),o(!!t.currentPresentation&&a.getClassificationTreeFetchOptions(t.currentPresentation.id,r(`classificationTree`)),[t.currentPresentation],!!t.currentPresentation),K.useEffect(()=>r(`subjectClassifications`)([]),[t.playlistSubjects]);let i=(e,t)=>[...t.subjectClassifications||[],...e],s=t.playlistSubjects&&t.playlistSubjects.map(e=>a.getSubjectClassificationFetchOptions(e.id,x.getSetStateByKey(n,`subjectClassifications`,i)));R(s,[t.playlistSubjects],!!s),o(a.getObjectClassificationsFetchOptions(e,l.Playlists,r(`playlistClassifications`)),[e,t.playlistSubjects])}function ne(e){let t=y(z.playlist(e.playlistId)),n=y(u.currentUser()),[r,a]=K.useState({}),o=C(i.SUBJECT);te(e.playlistId,r,a),S(r,a);let c=!!r.playlistSubjects&&!!r.subjectTree&&!!r.presentations&&!!r.classificationTree&&!!r.playlistClassifications&&!!r.subjectClassifications;return(0,q.jsxs)(q.Fragment,{children:[!!n.data&&(0,q.jsx)(G,{playlistId:e.playlistId,activeAction:s.Playlists.EDIT_PLAYLIST_SUBJECTS,currentUser:n.data}),(0,q.jsx)(h,{object:t.data}),c&&(0,q.jsx)(m,{objectSubjects:r.playlistSubjects,subjectTree:r.subjectTree,memberType:l.Playlists,presentations:r.presentations,presentationType:d.Subject,currentPresentation:r.currentPresentation,setCurrentPresentation:x.getSetStateByKey(a,`currentPresentation`),objectClassifications:r.playlistClassifications,objectSubjectClassifications:r.subjectClassifications,classificationTree:r.classificationTree,saveSubjects:(t,n,r)=>o.updateObjectSubjects(e.playlistId,t,l.Playlists,n,r,r),saveClassifications:(t,n)=>o.updateObjectClassifications(e.playlistId,r.currentPresentation.id,t,l.Playlists,n,n)})]})}function re(e,t){let n=!0;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r].id!==t[r].id){n=!1;break}return n}function ie(e){let[t,n]=(0,K.useState)();return(0,K.useEffect)(()=>{t&&(e.length!==t.length||re(e,t))&&n(null)},[e]),[t,n]}var ae=e=>({application:c.VIDEOS,action:s.Videos.EDIT_VIDEO,args:[e.id]});function oe(e){let t=b(),n=w(),r=y(z.playlist(e.playlistId)),i=y(z.playlistVideos(e.playlistId)),a=y(u.currentUser()),[o,l]=ie(i.data?.data),d=e=>t=>[{label:`Add to your workbench`,appLink:{application:c.PLAYLISTS,action:s.Playlists.ADD_TO_WORKBENCH,args:[t.id]}},{label:`Remove video`,appLink:{application:c.PLAYLISTS,action:s.Playlists.REMOVE_VIDEO,args:[e.toString(),t.id.toString()]},className:`text-danger`}],f=(r,a)=>{if(r===a)return;let{reorderRequest:o,reorderedItems:s}=H.reorder(i.data.data,r,a);l(s),v(t,z.reorderVideos(e.playlistId,o,null,()=>{n.error(`Failed to update playlist order.`),l(null)}))},m=o?{data:o,pagination:null}:i.data;return(0,q.jsxs)(q.Fragment,{children:[!!a.data&&(0,q.jsx)(G,{playlistId:e.playlistId,activeAction:s.Playlists.EDIT_PLAYLIST_VIDEOS,currentUser:a.data}),(0,q.jsx)(h,{object:r.data}),!!m&&(0,q.jsx)(p,{onSortEnd:f,videos:m,getVideoAppLink:ae,getVideoActions:d(e.playlistId),emptyMessage:`There are no videos in this playlist.`})]})}function se(e){let t=b(),n=w(),r=y(L.getAliases(e.playlistId)),i=y(u.currentUser());function a(r,i){v(t,L.createAlias(e.playlistId,r,()=>{n.success(`Successfully created alias`),i()},()=>{n.error(`Something went wrong creating your alias`)}))}function o(r){v(t,L.deleteAlias(e.playlistId,r,()=>{n.success(`Successfully deleted alias`)},()=>{n.error(`Something went wrong deleting your alias`)}))}return!r.data||!i.data?(0,q.jsx)(q.Fragment,{children:`Loading...`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(G,{playlistId:e.playlistId,activeAction:s.Playlists.EDIT_PLAYLIST_ALIASES,currentUser:i.data}),(0,q.jsx)(f,{aliases:r.data.data,onSave:a,onDelete:o})]})}function ce(e){let t=y(u.currentUser()),n=y(U.getPlaylist(e.playlistId)),r=y(T.curationTags()),i=y(T.selectedCurationTags(e.playlistId)),a=_();function o(t,n,r){a(T.addTag(e.playlistId,t,n,r))}function c(t,n,r){a(T.removeTag(e.playlistId,t,n,r))}return(0,q.jsxs)(q.Fragment,{children:[!!t.data&&(0,q.jsx)(G,{playlistId:e.playlistId,activeAction:s.Playlists.EDIT_PLAYLIST_CURATION,currentUser:t.data}),!!n.data&&!!r.data&&!!i.data&&(0,q.jsx)(V,{id:e.playlistId,heading:n.data.name,curationTags:r.data,selectedCurationTags:i.data,addCurationTag:o,removeCurationTag:c,disableClickViewCurated:!0})]})}function le(t){!t||!t.id||e.trigger({application:c.PLAYLISTS,action:s.Playlists.EDIT_PLAYLIST,args:[t.id]})}function ue(){let e=b(),t=w();function n(n,r){v(e,z.createPlaylist(n,e=>{t.success(`Successfully created playlist.`),le(e)},()=>{t.error(`Failed to create playlist.`)},r))}return(0,q.jsx)(Z,{savePlaylist:n})}function de(e){let t=b(),n=w(),r=y(z.playlist(e.playlistId)),i=y(F.video(e.videoId)),[a,o]=K.useState(!1);function s(){o(!0),v(t,z.removeVideo(e.playlistId,e.videoId,()=>{n.success(`Successfully removed video from playlist`)},()=>{n.error(`Failed to remove video from playlist`)},e.closePopup))}let c=!!r.data&&!!i.data;return(0,q.jsx)(g,{title:`Remove Video`,closePopup:e.closePopup,showLoadingSpinner:!c,children:!!c&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{children:(0,q.jsxs)(`p`,{children:[`Are you sure you want to remove `,(0,q.jsx)(`strong`,{children:i.data.name}),` from `,(0,q.jsx)(`strong`,{children:r.data.name}),`?`]})}),(0,q.jsxs)(M,{children:[(0,q.jsx)(M.Cancel,{onClick:e.closePopup}),(0,q.jsx)(M.Submit,{variant:`danger`,onClick:s,text:`Yes, remove video`,showSpinner:a})]})]})})}export{J as DeletePlaylistView,se as EditPlaylistAliasesView,ee as EditPlaylistAudiencesView,ce as EditPlaylistCurationView,ne as EditPlaylistSubjectsView,oe as EditPlaylistVideosView,Q as EditPlaylistView,ue as NewPlaylistView,de as RemoveVideoView};
2
+ //# sourceMappingURL=Uc2eW092.chunk.js.map