@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 +1 @@
1
- {"version":3,"file":"C5INFWaM2.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/components/curated-topics-warning/CuratedTopicsWarning.tsx","../../../../../src/apps/assembly-line/components/table/AssemblyLineDashboardTable.tsx","../../../../../src/apps/assembly-line/views/tables/AssemblyLineDashboardStageView.tsx"],"sourcesContent":["import React from 'react';\n\nexport function CuratedTopicsWarning(): JSX.Element {\n return (\n <>\n <p className='mb-2'>Are you sure this topic has completed Curation?</p>\n <ul className='mb-3'>\n <li>\n Moving this topic forward will prompt teams downstream to\n create thumbnails and resources for all of the videos on the topic page.\n </li>\n <li>\n The graphic design team will also be prompted to create the required topic artwork.\n </li>\n </ul>\n <div className='alert alert-danger'>\n Please ensure curation of the topic dashboard has been finalised <strong>before</strong> moving\n it to Assets to avoid unnecessary workload for your colleagues.\n </div>\n </>\n );\n}\n","import React from 'react';\nimport { VisibilityState } from '@tanstack/react-table';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { BulkSelectionSummary } from 'libs/shared/components/bulk-selection-summary/BulkSelectionSummary';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { TableV2 } from 'libs/shared/components/table-v2/TableV2';\nimport { useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { Presentation } from 'libs/shared/interfaces';\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nimport { Actions, AppChannels } from 'shared/constants';\nimport { ViewModelKeys } from 'shared/constants/CuratorViewModels';\n\nimport { AssemblyLineEmptyState } from 'apps/assembly-line/components/empty-state/AssemblyLineEmptyState';\nimport { AssemblyLineSpinner } from 'apps/assembly-line/components/spinner/AssemblyLineSpinner';\nimport { AssemblyLineTableSizeSelector } from 'apps/assembly-line/components/table-size-selector/AssemblyLineTableSizeSelector';\nimport { ASSEMBLY_LINE_CLASSIFICATION_TABLE_THEME } from 'apps/assembly-line/constants/AssemblyLineClassificationTableTheme';\nimport { ASSEMBLY_LINE_COLUMN_SIZE_SETTINGS, ASSEMBLY_LINE_PINNED_COLUMN_SETTINGS } from 'apps/assembly-line/constants/AssemblyLineTableColumnsSettingString';\nimport { ContentPipelineIdContext } from 'apps/assembly-line/contexts/AssemblyLineStageContext';\nimport { AssemblyLineBulkActionsQueryParams } from 'apps/assembly-line/interfaces/AssemblyLineBulkActionsQueryParams';\nimport { AssemblyLineBulkActionViewModel } from 'apps/assembly-line/interfaces/AssemblyLineBulkActionViewModel';\nimport { AssemblyLineDashboardTableData } from 'apps/assembly-line/interfaces/AssemblyLineCellProps';\nimport { AssemblyLineDashboardCollection } from 'apps/assembly-line/interfaces/AssemblyLineDashboard';\nimport { AssemblyLineObjectType } from 'apps/assembly-line/interfaces/AssemblyLineObjectType';\nimport { AssemblyLineQueryParams } from 'apps/assembly-line/interfaces/AssemblyLineQueryParams';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\nimport { AssemblyLineHelper } from 'apps/assembly-line/utils/AssemblyLineHelper';\n\nimport { EntityColumnArgs } from '../columns/AssemblyLineAllTableColumns';\n\ninterface AssemblyLineDashboardTableProps {\n dashboards: AssemblyLineDashboardCollection;\n columnVisibility: VisibilityState;\n queryParams: AssemblyLineQueryParams;\n onClickMoveToNextStage: (id: string) => Promise<Core.AppLink>;\n stage: AssemblyLineStage;\n updatePriority: (dashboardId: string, priority: number) => Promise<void>;\n presentations: Presentation[];\n}\n\nexport function AssemblyLineDashboardTable(props: AssemblyLineDashboardTableProps): JSX.Element {\n const [ , setBulkActionViewModel ] = useViewModel<AssemblyLineBulkActionViewModel>(\n ViewModelKeys.ASSEMBLY_LINE\n );\n\n const pipelineId = React.useContext(ContentPipelineIdContext);\n const CheckboxHelper = useBulkCheckboxManager(props.dashboards?.data, {\n persistNamespace: props.stage\n });\n\n function onToggleCheckbox(id: string): void {\n if (id === 'bulk') {\n CheckboxHelper.onToggleBulk();\n return;\n }\n\n CheckboxHelper.onToggleItem(id);\n }\n\n function getData(): AssemblyLineDashboardTableData[] {\n return props.dashboards.data.map(dashboard => {\n return {\n ...dashboard,\n checked: CheckboxHelper.isChecked(dashboard.id)\n };\n });\n }\n\n function onClickSelectBulkAction(): void {\n setBulkActionViewModel({\n ownerType: 'dashboard',\n ownerIdMap: CheckboxHelper.getMap(),\n removedIds: [],\n resetSelection: CheckboxHelper.deselectAll\n });\n\n const params: AssemblyLineBulkActionsQueryParams = {\n stage: props.stage,\n queryParams: props.queryParams,\n pipelineId\n };\n\n if (props.queryParams.presentationId)\n params.presentationId = props.queryParams.presentationId;\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.ASSEMBLY_LINE,\n action: Actions.AssemblyLine.WIZARD,\n params\n });\n }\n\n const options: EntityColumnArgs = {\n pipelineId,\n onToggleCheckbox,\n onClickMoveToNextStage: props.onClickMoveToNextStage,\n isBulkChecked: CheckboxHelper.bulkChecked,\n isBulkIndeterminate: CheckboxHelper.hasSomeSelections(),\n objectType: 'dashboard' as AssemblyLineObjectType,\n presentationId: props.queryParams.presentationId,\n updatePriority: props.updatePriority,\n stage: props.stage,\n presentations: props.presentations\n };\n\n const columns = AssemblyLineHelper.getColumns(options, props.stage, 'dashboard', null);\n\n return (\n <>\n <div className='px-5'>\n <BulkSelectionSummary\n selectedCount={CheckboxHelper.getSelectedCount()}\n onClickDeselectAll={CheckboxHelper.reset}\n onClickSelectBulk={onClickSelectBulkAction}\n getTypeText={count => count === 1 ? 'topic' : 'topics'}\n />\n </div>\n\n {!props.dashboards && <AssemblyLineSpinner />}\n\n {props.dashboards?.data && !props.dashboards.data.length && (\n <AssemblyLineEmptyState queryParams={props.queryParams} pipelineId={pipelineId} />\n )}\n\n {props.dashboards?.data && !!props.dashboards.data.length && (\n <>\n <TableV2<any>\n columns={columns}\n data={getData()}\n defaultPinnedColumns={props.columnVisibility}\n columnPinning={{\n left: AssemblyLineHelper.getPinnedTopicColumnIds()\n }}\n pinnedColumnsKey={ASSEMBLY_LINE_PINNED_COLUMN_SETTINGS}\n columnResizerKey={`${ASSEMBLY_LINE_COLUMN_SIZE_SETTINGS}:dashboard`}\n scrollable\n resizable\n virtualiser={{\n on: true,\n rowHeight: 90,\n containerHeight: '66vh'\n }}\n theme={ASSEMBLY_LINE_CLASSIFICATION_TABLE_THEME}\n />\n\n <div className='d-flex flex-row justify-content-end'>\n <Pagination\n cursors={props.dashboards.pagination}\n appLink={ContextService.getCurrentRoute().appLink}\n buttonVariant='outline-dark'\n className='text-end pe-1 mt-2'\n />\n <AssemblyLineTableSizeSelector queryParams={props.queryParams} />\n </div>\n </>\n )}\n </>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { DialogHelper } from 'libs/shared/utils/DialogHelper';\n\nimport { AppChannels } from 'shared/constants';\n\nimport { CuratedTopicsWarning } from 'apps/assembly-line/components/curated-topics-warning/CuratedTopicsWarning';\nimport { AssemblyLineLayoutView } from 'apps/assembly-line/components/layout/AssemblyLineLayout';\nimport { AssemblyLineDashboardTable } from 'apps/assembly-line/components/table/AssemblyLineDashboardTable';\nimport { AssemblyLineStageContext } from 'apps/assembly-line/contexts/AssemblyLineStageContext';\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { useAssemblyLineFilters } from 'apps/assembly-line/hooks/useAssemblyLineFilters';\nimport { usePresentationFilter } from 'apps/assembly-line/hooks/usePresentationFilter';\nimport { AssemblyLineDashboardCollection } from 'apps/assembly-line/interfaces/AssemblyLineDashboard';\nimport { AssemblyLineViewProps } from 'apps/assembly-line/interfaces/AssemblyLineViewProps';\nimport { AssemblyLineFilterHelper } from 'apps/assembly-line/utils/AssemblyLineFilterHelper';\nimport { AssemblyLineHelper } from 'apps/assembly-line/utils/AssemblyLineHelper';\n\nimport { useAssemblyLineColumns } from '../../hooks/useAssemblyLineColumns';\n\nexport function AssemblyLineDashboardStageView(props: AssemblyLineViewProps): JSX.Element {\n const fetchAsync = Flight.useGetFetchAsync();\n\n const { presentations } = usePresentationFilter(\n props.queryParams,\n 'dashboard',\n props.subStage,\n props.pipelineId\n );\n\n const filters = useAssemblyLineFilters(props.queryParams, props.subStage);\n const columnVisibility = useAssemblyLineColumns(props.queryParams, props.subStage, 'dashboard');\n\n const dashboards = Flight.useBasicFetch<AssemblyLineDashboardCollection>(\n AssemblyLineRequests.getDashboards({\n stage: props.subStage,\n presentationId: props.queryParams.presentationId,\n filters: AssemblyLineFilterHelper.serializeFilterRequestBody(filters),\n searchQuery: props.queryParams.query,\n cursor: props.queryParams.cursor,\n sort: props.queryParams.sort,\n limit: +props.queryParams.limit\n })\n );\n\n const nextStage = AssemblyLineHelper.getNextStage(props.subStage);\n\n async function onClickMoveToNextStage(id: string): Promise<Core.AppLink> {\n const action = AssemblyLineHelper.mapStageToAction(nextStage);\n\n /**\n * When moving a curated topic to resourcing, we display a warning to make sure they know what they're doing\n */\n if (props.subStage === 'curated_topic') {\n return new Promise((resolve, reject) => {\n DialogHelper.render(\n <CuratedTopicsWarning />,\n {\n title: 'Move topic to Assets',\n submitButtonProps: {\n variant: 'dark',\n text: 'Move to Assets',\n onClick: () => {\n fetchAsync(AssemblyLineRequests.updateDashboardStage(id, props.subStage, nextStage))\n .then(() => {\n if (!action)\n resolve(null);\n\n resolve({\n application: props.pipelineId === 'clickview' ? AppChannels.ASSEMBLY_LINE : AppChannels.CV_LIVE_PIPELINE,\n action,\n params: props.queryParams\n });\n })\n .catch(reject);\n }\n },\n cancelButtonProps: {\n onClick: () => reject({ cancelled: true })\n }\n }\n );\n });\n }\n\n await fetchAsync(AssemblyLineRequests.updateDashboardStage(id, props.subStage, nextStage));\n\n if (!action)\n return;\n\n return {\n application: props.pipelineId === 'clickview' ? AppChannels.ASSEMBLY_LINE : AppChannels.CV_LIVE_PIPELINE,\n action,\n params: props.queryParams\n };\n }\n\n function updatePriority(ids: string, priority: number | null): Promise<void> {\n return fetchAsync(AssemblyLineRequests.updateDashboardPriority(\n ids,\n priority,\n props.subStage,\n props.queryParams.presentationId,\n props.queryParams.sort\n ));\n }\n\n return (\n <AssemblyLineStageContext subStage={props.subStage} pipelineId={props.pipelineId}>\n <AssemblyLineLayoutView\n stage={props.stage}\n subStage={props.subStage}\n objectType='dashboard'\n pipelineId={props.pipelineId}\n queryParams={props.queryParams}\n columnVisibility={columnVisibility}\n filters={filters}\n counts={{\n showing: dashboards.data?.data?.length ?? 0,\n total: dashboards.data?.count ?? 0\n }}\n >\n <AssemblyLineDashboardTable\n presentations={presentations}\n stage={props.subStage}\n onClickMoveToNextStage={onClickMoveToNextStage}\n dashboards={dashboards.data}\n columnVisibility={columnVisibility}\n queryParams={props.queryParams}\n updatePriority={updatePriority}\n />\n </AssemblyLineLayoutView>\n </AssemblyLineStageContext>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"BaOAOuSc2.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/components/curated-topics-warning/CuratedTopicsWarning.tsx","../../../../../src/apps/assembly-line/components/table/AssemblyLineDashboardTable.tsx","../../../../../src/apps/assembly-line/views/tables/AssemblyLineDashboardStageView.tsx"],"sourcesContent":["import React from 'react';\n\nexport function CuratedTopicsWarning(): JSX.Element {\n return (\n <>\n <p className='mb-2'>Are you sure this topic has completed Curation?</p>\n <ul className='mb-3'>\n <li>\n Moving this topic forward will prompt teams downstream to\n create thumbnails and resources for all of the videos on the topic page.\n </li>\n <li>\n The graphic design team will also be prompted to create the required topic artwork.\n </li>\n </ul>\n <div className='alert alert-danger'>\n Please ensure curation of the topic dashboard has been finalised <strong>before</strong> moving\n it to Assets to avoid unnecessary workload for your colleagues.\n </div>\n </>\n );\n}\n","import React from 'react';\nimport { VisibilityState } from '@tanstack/react-table';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { BulkSelectionSummary } from 'libs/shared/components/bulk-selection-summary/BulkSelectionSummary';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { TableV2 } from 'libs/shared/components/table-v2/TableV2';\nimport { useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { Presentation } from 'libs/shared/interfaces';\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nimport { Actions, AppChannels } from 'shared/constants';\nimport { ViewModelKeys } from 'shared/constants/CuratorViewModels';\n\nimport { AssemblyLineEmptyState } from 'apps/assembly-line/components/empty-state/AssemblyLineEmptyState';\nimport { AssemblyLineSpinner } from 'apps/assembly-line/components/spinner/AssemblyLineSpinner';\nimport { AssemblyLineTableSizeSelector } from 'apps/assembly-line/components/table-size-selector/AssemblyLineTableSizeSelector';\nimport { ASSEMBLY_LINE_CLASSIFICATION_TABLE_THEME } from 'apps/assembly-line/constants/AssemblyLineClassificationTableTheme';\nimport { ASSEMBLY_LINE_COLUMN_SIZE_SETTINGS, ASSEMBLY_LINE_PINNED_COLUMN_SETTINGS } from 'apps/assembly-line/constants/AssemblyLineTableColumnsSettingString';\nimport { ContentPipelineIdContext } from 'apps/assembly-line/contexts/AssemblyLineStageContext';\nimport { AssemblyLineBulkActionsQueryParams } from 'apps/assembly-line/interfaces/AssemblyLineBulkActionsQueryParams';\nimport { AssemblyLineBulkActionViewModel } from 'apps/assembly-line/interfaces/AssemblyLineBulkActionViewModel';\nimport { AssemblyLineDashboardTableData } from 'apps/assembly-line/interfaces/AssemblyLineCellProps';\nimport { AssemblyLineDashboardCollection } from 'apps/assembly-line/interfaces/AssemblyLineDashboard';\nimport { AssemblyLineObjectType } from 'apps/assembly-line/interfaces/AssemblyLineObjectType';\nimport { AssemblyLineQueryParams } from 'apps/assembly-line/interfaces/AssemblyLineQueryParams';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\nimport { AssemblyLineHelper } from 'apps/assembly-line/utils/AssemblyLineHelper';\n\nimport { EntityColumnArgs } from '../columns/AssemblyLineAllTableColumns';\n\ninterface AssemblyLineDashboardTableProps {\n dashboards: AssemblyLineDashboardCollection;\n columnVisibility: VisibilityState;\n queryParams: AssemblyLineQueryParams;\n onClickMoveToNextStage: (id: string) => Promise<Core.AppLink>;\n stage: AssemblyLineStage;\n updatePriority: (dashboardId: string, priority: number) => Promise<void>;\n presentations: Presentation[];\n}\n\nexport function AssemblyLineDashboardTable(props: AssemblyLineDashboardTableProps): JSX.Element {\n const [ , setBulkActionViewModel ] = useViewModel<AssemblyLineBulkActionViewModel>(\n ViewModelKeys.ASSEMBLY_LINE\n );\n\n const pipelineId = React.useContext(ContentPipelineIdContext);\n const CheckboxHelper = useBulkCheckboxManager(props.dashboards?.data, {\n persistNamespace: props.stage\n });\n\n function onToggleCheckbox(id: string): void {\n if (id === 'bulk') {\n CheckboxHelper.onToggleBulk();\n return;\n }\n\n CheckboxHelper.onToggleItem(id);\n }\n\n function getData(): AssemblyLineDashboardTableData[] {\n return props.dashboards.data.map(dashboard => {\n return {\n ...dashboard,\n checked: CheckboxHelper.isChecked(dashboard.id)\n };\n });\n }\n\n function onClickSelectBulkAction(): void {\n setBulkActionViewModel({\n ownerType: 'dashboard',\n ownerIdMap: CheckboxHelper.getMap(),\n removedIds: [],\n resetSelection: CheckboxHelper.deselectAll\n });\n\n const params: AssemblyLineBulkActionsQueryParams = {\n stage: props.stage,\n queryParams: props.queryParams,\n pipelineId\n };\n\n if (props.queryParams.presentationId)\n params.presentationId = props.queryParams.presentationId;\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.ASSEMBLY_LINE,\n action: Actions.AssemblyLine.WIZARD,\n params\n });\n }\n\n const options: EntityColumnArgs = {\n pipelineId,\n onToggleCheckbox,\n onClickMoveToNextStage: props.onClickMoveToNextStage,\n isBulkChecked: CheckboxHelper.bulkChecked,\n isBulkIndeterminate: CheckboxHelper.hasSomeSelections(),\n objectType: 'dashboard' as AssemblyLineObjectType,\n presentationId: props.queryParams.presentationId,\n updatePriority: props.updatePriority,\n stage: props.stage,\n presentations: props.presentations\n };\n\n const columns = AssemblyLineHelper.getColumns(options, props.stage, 'dashboard', null);\n\n return (\n <>\n <div className='px-5'>\n <BulkSelectionSummary\n selectedCount={CheckboxHelper.getSelectedCount()}\n onClickDeselectAll={CheckboxHelper.reset}\n onClickSelectBulk={onClickSelectBulkAction}\n getTypeText={count => count === 1 ? 'topic' : 'topics'}\n />\n </div>\n\n {!props.dashboards && <AssemblyLineSpinner />}\n\n {props.dashboards?.data && !props.dashboards.data.length && (\n <AssemblyLineEmptyState queryParams={props.queryParams} pipelineId={pipelineId} />\n )}\n\n {props.dashboards?.data && !!props.dashboards.data.length && (\n <>\n <TableV2<any>\n columns={columns}\n data={getData()}\n defaultPinnedColumns={props.columnVisibility}\n columnPinning={{\n left: AssemblyLineHelper.getPinnedTopicColumnIds()\n }}\n pinnedColumnsKey={ASSEMBLY_LINE_PINNED_COLUMN_SETTINGS}\n columnResizerKey={`${ASSEMBLY_LINE_COLUMN_SIZE_SETTINGS}:dashboard`}\n scrollable\n resizable\n virtualiser={{\n on: true,\n rowHeight: 90,\n containerHeight: '66vh'\n }}\n theme={ASSEMBLY_LINE_CLASSIFICATION_TABLE_THEME}\n />\n\n <div className='d-flex flex-row justify-content-end'>\n <Pagination\n cursors={props.dashboards.pagination}\n appLink={ContextService.getCurrentRoute().appLink}\n buttonVariant='outline-dark'\n className='text-end pe-1 mt-2'\n />\n <AssemblyLineTableSizeSelector queryParams={props.queryParams} />\n </div>\n </>\n )}\n </>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { DialogHelper } from 'libs/shared/utils/DialogHelper';\n\nimport { AppChannels } from 'shared/constants';\n\nimport { CuratedTopicsWarning } from 'apps/assembly-line/components/curated-topics-warning/CuratedTopicsWarning';\nimport { AssemblyLineLayoutView } from 'apps/assembly-line/components/layout/AssemblyLineLayout';\nimport { AssemblyLineDashboardTable } from 'apps/assembly-line/components/table/AssemblyLineDashboardTable';\nimport { AssemblyLineStageContext } from 'apps/assembly-line/contexts/AssemblyLineStageContext';\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { useAssemblyLineFilters } from 'apps/assembly-line/hooks/useAssemblyLineFilters';\nimport { usePresentationFilter } from 'apps/assembly-line/hooks/usePresentationFilter';\nimport { AssemblyLineDashboardCollection } from 'apps/assembly-line/interfaces/AssemblyLineDashboard';\nimport { AssemblyLineViewProps } from 'apps/assembly-line/interfaces/AssemblyLineViewProps';\nimport { AssemblyLineFilterHelper } from 'apps/assembly-line/utils/AssemblyLineFilterHelper';\nimport { AssemblyLineHelper } from 'apps/assembly-line/utils/AssemblyLineHelper';\n\nimport { useAssemblyLineColumns } from '../../hooks/useAssemblyLineColumns';\n\nexport function AssemblyLineDashboardStageView(props: AssemblyLineViewProps): JSX.Element {\n const fetchAsync = Flight.useGetFetchAsync();\n\n const { presentations } = usePresentationFilter(\n props.queryParams,\n 'dashboard',\n props.subStage,\n props.pipelineId\n );\n\n const filters = useAssemblyLineFilters(props.queryParams, props.subStage);\n const columnVisibility = useAssemblyLineColumns(props.queryParams, props.subStage, 'dashboard');\n\n const dashboards = Flight.useBasicFetch<AssemblyLineDashboardCollection>(\n AssemblyLineRequests.getDashboards({\n stage: props.subStage,\n presentationId: props.queryParams.presentationId,\n filters: AssemblyLineFilterHelper.serializeFilterRequestBody(filters),\n searchQuery: props.queryParams.query,\n cursor: props.queryParams.cursor,\n sort: props.queryParams.sort,\n limit: +props.queryParams.limit\n })\n );\n\n const nextStage = AssemblyLineHelper.getNextStage(props.subStage);\n\n async function onClickMoveToNextStage(id: string): Promise<Core.AppLink> {\n const action = AssemblyLineHelper.mapStageToAction(nextStage);\n\n /**\n * When moving a curated topic to resourcing, we display a warning to make sure they know what they're doing\n */\n if (props.subStage === 'curated_topic') {\n return new Promise((resolve, reject) => {\n DialogHelper.render(\n <CuratedTopicsWarning />,\n {\n title: 'Move topic to Assets',\n submitButtonProps: {\n variant: 'dark',\n text: 'Move to Assets',\n onClick: () => {\n fetchAsync(AssemblyLineRequests.updateDashboardStage(id, props.subStage, nextStage))\n .then(() => {\n if (!action)\n resolve(null);\n\n resolve({\n application: props.pipelineId === 'clickview' ? AppChannels.ASSEMBLY_LINE : AppChannels.CV_LIVE_PIPELINE,\n action,\n params: props.queryParams\n });\n })\n .catch(reject);\n }\n },\n cancelButtonProps: {\n onClick: () => reject({ cancelled: true })\n }\n }\n );\n });\n }\n\n await fetchAsync(AssemblyLineRequests.updateDashboardStage(id, props.subStage, nextStage));\n\n if (!action)\n return;\n\n return {\n application: props.pipelineId === 'clickview' ? AppChannels.ASSEMBLY_LINE : AppChannels.CV_LIVE_PIPELINE,\n action,\n params: props.queryParams\n };\n }\n\n function updatePriority(ids: string, priority: number | null): Promise<void> {\n return fetchAsync(AssemblyLineRequests.updateDashboardPriority(\n ids,\n priority,\n props.subStage,\n props.queryParams.presentationId,\n props.queryParams.sort\n ));\n }\n\n return (\n <AssemblyLineStageContext subStage={props.subStage} pipelineId={props.pipelineId}>\n <AssemblyLineLayoutView\n stage={props.stage}\n subStage={props.subStage}\n objectType='dashboard'\n pipelineId={props.pipelineId}\n queryParams={props.queryParams}\n columnVisibility={columnVisibility}\n filters={filters}\n counts={{\n showing: dashboards.data?.data?.length ?? 0,\n total: dashboards.data?.count ?? 0\n }}\n >\n <AssemblyLineDashboardTable\n presentations={presentations}\n stage={props.subStage}\n onClickMoveToNextStage={onClickMoveToNextStage}\n dashboards={dashboards.data}\n columnVisibility={columnVisibility}\n queryParams={props.queryParams}\n updatePriority={updatePriority}\n />\n </AssemblyLineLayoutView>\n </AssemblyLineStageContext>\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}from"./rp704-Pm.chunk.js";import{t as i}from"./Di_u2uix.chunk.js";import{t as a}from"./BvMTtGLi.chunk.js";import"./CfCYHRuo.chunk.js";import{t as o}from"./CLCeObem2.chunk.js";import{b as s}from"./BhKv6dKl2.chunk.js";import{r as c,s as l}from"./Dgk5cBBe.chunk.js";import{t as u}from"./Bw7dP6jB.chunk.js";import"./Oh4_zGIH.chunk.js";import{c as d,i as f}from"./DA0I3jYA.chunk.js";import{t as p}from"./dKyhMawf.chunk.js";import{n as m}from"./C4Ey4nzb2.chunk.js";import{t as h}from"./GWw4zEXk2.chunk.js";import{t as g}from"./Bfw0P1qU2.chunk.js";import{t as _}from"./BUtlulMl.chunk.js";t();var v=r(o(),1),y=v.object().shape({name:v.string().trim().max(255,`Name is too long`).required(`Name is required`).default(``)}).noUnknown(),b=n();function x(e){return(0,b.jsxs)(f,{children:[(0,b.jsx)(m,{label:`Name`,name:`name`,id:`name`,value:d().values.name,placeholder:`Enter a name for this person`,autoFocus:!0}),(0,b.jsx)(_,{isNew:e.isNew})]})}function S(e){return(0,b.jsx)(p,{initialValues:e.person,validationSchema:y,onSubmit:e.savePerson,children:(0,b.jsx)(x,{isNew:!(e.person&&e.person.id)})})}function C(e){let t=u(),n=l(g.getPerson(e.id));return(0,b.jsx)(b.Fragment,{children:!!n.data&&(0,b.jsx)(S,{person:n.data,savePerson:(n,r)=>c(t,g.updatePerson(e.id,n,r))})})}function w(){let t=u();return(0,b.jsx)(S,{savePerson:(n,r)=>{c(t,g.createPerson(n,t=>{r(),e.trigger({application:a.PEOPLE,action:i.People.EDIT_PERSON,args:[t.id]})},r))}})}var T=a.PEOPLE,E=`/api/domain/v1/search/people/instant/raw`,D=e=>({application:T,action:i.People.EDIT_PERSON,args:[e.id]}),O=t=>e.trigger(D(t));function k(e){let t=l(g.getPeople(e.cursor));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`div`,{className:`pb-3 w-50`,children:(0,b.jsx)(h,{placeholder:`Search for a person`,onSuggestionSelected:O,getRemoteUrl:e=>`${E}?q=${e}`,activationLength:2})}),(0,b.jsx)(s,{collection:t&&t.data,columns:[{accessor:`name`,header:`Name`,appLink:D}],collectionAppLink:{application:T,action:i.People.PEOPLE},newObjectAppLink:{application:T,action:i.People.NEW_PERSON},objectName:`Person`})]})}export{C as EditPersonView,w as NewPersonView,k as PeopleView};
2
- //# sourceMappingURL=wAWlO6hc.chunk.js.map
1
+ import{C as e,a as t,i as n,ln as r}from"./rp704-Pm.chunk.js";import{t as i}from"./Di_u2uix.chunk.js";import{t as a}from"./BvMTtGLi.chunk.js";import"./CfCYHRuo.chunk.js";import{t as o}from"./CLCeObem2.chunk.js";import{b as s}from"./GpDEun8c2.chunk.js";import{r as c,s as l}from"./Dgk5cBBe.chunk.js";import{t as u}from"./Bw7dP6jB.chunk.js";import"./Oh4_zGIH.chunk.js";import{c as d,i as f}from"./DA0I3jYA.chunk.js";import{t as p}from"./dKyhMawf.chunk.js";import{n as m}from"./C4Ey4nzb2.chunk.js";import{t as h}from"./GWw4zEXk2.chunk.js";import{t as g}from"./Bfw0P1qU2.chunk.js";import{t as _}from"./BUtlulMl.chunk.js";t();var v=r(o(),1),y=v.object().shape({name:v.string().trim().max(255,`Name is too long`).required(`Name is required`).default(``)}).noUnknown(),b=n();function x(e){return(0,b.jsxs)(f,{children:[(0,b.jsx)(m,{label:`Name`,name:`name`,id:`name`,value:d().values.name,placeholder:`Enter a name for this person`,autoFocus:!0}),(0,b.jsx)(_,{isNew:e.isNew})]})}function S(e){return(0,b.jsx)(p,{initialValues:e.person,validationSchema:y,onSubmit:e.savePerson,children:(0,b.jsx)(x,{isNew:!(e.person&&e.person.id)})})}function C(e){let t=u(),n=l(g.getPerson(e.id));return(0,b.jsx)(b.Fragment,{children:!!n.data&&(0,b.jsx)(S,{person:n.data,savePerson:(n,r)=>c(t,g.updatePerson(e.id,n,r))})})}function w(){let t=u();return(0,b.jsx)(S,{savePerson:(n,r)=>{c(t,g.createPerson(n,t=>{r(),e.trigger({application:a.PEOPLE,action:i.People.EDIT_PERSON,args:[t.id]})},r))}})}var T=a.PEOPLE,E=`/api/domain/v1/search/people/instant/raw`,D=e=>({application:T,action:i.People.EDIT_PERSON,args:[e.id]}),O=t=>e.trigger(D(t));function k(e){let t=l(g.getPeople(e.cursor));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`div`,{className:`pb-3 w-50`,children:(0,b.jsx)(h,{placeholder:`Search for a person`,onSuggestionSelected:O,getRemoteUrl:e=>`${E}?q=${e}`,activationLength:2})}),(0,b.jsx)(s,{collection:t&&t.data,columns:[{accessor:`name`,header:`Name`,appLink:D}],collectionAppLink:{application:T,action:i.People.PEOPLE},newObjectAppLink:{application:T,action:i.People.NEW_PERSON},objectName:`Person`})]})}export{C as EditPersonView,w as NewPersonView,k as PeopleView};
2
+ //# sourceMappingURL=Bb_f3Lku.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wAWlO6hc.chunk.js","names":[],"sources":["../../../../../src/apps/people/utils/PersonValidation.ts","../../../../../src/apps/people/components/edit-person/EditPersonForm.tsx","../../../../../src/apps/people/components/edit-person/EditPerson.tsx","../../../../../src/apps/people/views/edit-person/EditPersonView.tsx","../../../../../src/apps/people/views/new-person/NewPersonView.tsx","../../../../../src/apps/people/views/people/PeopleView.tsx"],"sourcesContent":["import * as Yup from 'yup';\n\nimport { CreateOrUpdatePersonRequest } from 'apps/people/interfaces';\n\nexport const PersonValidationSchema = Yup.object().shape<CreateOrUpdatePersonRequest>({\n name: Yup.string()\n .trim()\n .max(255, 'Name is too long')\n .required('Name is required')\n .default('')\n\n}).noUnknown();\n","import * as React from 'react';\nimport { Form, useFormikContext } from 'formik';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\n\nimport { CreateOrUpdatePersonRequest } from 'apps/people/interfaces';\n\ninterface EditPersonFormProps {\n isNew: boolean;\n}\n\nexport function EditPersonForm(props: EditPersonFormProps): JSX.Element {\n const formikProps = useFormikContext<CreateOrUpdatePersonRequest>();\n\n return (\n <Form>\n <FormField<CreateOrUpdatePersonRequest>\n label='Name'\n name='name'\n id='name'\n value={formikProps.values.name}\n placeholder='Enter a name for this person'\n autoFocus\n />\n <FormButtons isNew={props.isNew} />\n </Form>\n );\n}\n","import * as React from 'react';\n\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Person } from 'libs/shared/interfaces';\n\nimport { CreateOrUpdatePersonRequest } from 'apps/people/interfaces';\nimport { PersonValidationSchema } from 'apps/people/utils';\n\nimport { EditPersonForm } from './EditPersonForm';\n\ninterface EditPersonProps {\n savePerson: (data: CreateOrUpdatePersonRequest, onDone: () => void) => void;\n person?: Person;\n}\n\nexport function EditPerson(props: EditPersonProps): JSX.Element {\n return (\n <FormWrapper<CreateOrUpdatePersonRequest, Person>\n initialValues={props.person}\n validationSchema={PersonValidationSchema}\n onSubmit={props.savePerson}\n >\n <EditPersonForm isNew={!(props.person && props.person.id)} />\n </FormWrapper>\n );\n}\n","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { Person } from 'libs/shared/interfaces';\n\nimport { EditPerson } from 'apps/people/components';\nimport { PersonRequests } from 'apps/people/flight-requests';\nimport { CreateOrUpdatePersonRequest } from 'apps/people/interfaces';\n\ninterface EditPersonViewProps {\n id: string;\n}\n\nexport function EditPersonView(props: EditPersonViewProps): JSX.Element {\n const dispatch = useDispatch();\n\n const personResponse = Flight.useBasicFetch<Person>(PersonRequests.getPerson(props.id));\n\n const savePerson = (data: CreateOrUpdatePersonRequest, onDone: () => void): void =>\n Flight.fetch(dispatch, PersonRequests.updatePerson(props.id, data, onDone));\n\n return (\n <>\n {!!personResponse.data &&\n <EditPerson person={personResponse.data} savePerson={savePerson} />\n }\n </>\n );\n}\n","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { Person } from 'libs/shared/interfaces';\n\nimport { Actions, AppChannels } from 'shared/constants';\n\nimport { EditPerson } from 'apps/people/components';\nimport { PersonRequests } from 'apps/people/flight-requests';\nimport { CreateOrUpdatePersonRequest } from 'apps/people/interfaces';\n\nexport function NewPersonView(): JSX.Element {\n const dispatch = useDispatch();\n\n const createPerson = (data: CreateOrUpdatePersonRequest, onDone: () => void): void => {\n const onSuccess = (newPerson: Person) => {\n onDone();\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.PEOPLE,\n action: Actions.People.EDIT_PERSON,\n args: [newPerson.id]\n });\n };\n\n Flight.fetch(dispatch, PersonRequests.createPerson(data, onSuccess, onDone));\n };\n\n return (\n <EditPerson savePerson={createPerson} />\n );\n}\n","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { SearchBar } from 'libs/shared/components/search-bar/SearchBar';\nimport { Person, PersonCollection } from 'libs/shared/interfaces';\n\nimport { ObjectCollection } from 'shared/components';\nimport { Actions, AppChannels } from 'shared/constants';\n\nimport { PersonRequests } from 'apps/people/flight-requests';\n\nconst application = AppChannels.PEOPLE;\n\nconst SEARCH_URL = '/api/domain/v1/search/people/instant/raw';\n\nconst getPersonAppLink = (person: Person) => ({ application, action: Actions.People.EDIT_PERSON, args: [person.id]});\n\nconst goToPerson = (person: Person) => Core.AppLinkHelper.trigger(getPersonAppLink(person));\n\ninterface PeopleViewProps {\n cursor?: string;\n}\n\nexport function PeopleView(props: PeopleViewProps): JSX.Element {\n const peopleResponse = Flight.useBasicFetch<PersonCollection>(PersonRequests.getPeople(props.cursor));\n\n return (\n <>\n <div className='pb-3 w-50'>\n <SearchBar\n placeholder='Search for a person'\n onSuggestionSelected={goToPerson}\n getRemoteUrl={(q: string) => `${SEARCH_URL}?q=${q}`}\n activationLength={2}\n />\n </div>\n <ObjectCollection\n collection={peopleResponse && peopleResponse.data}\n columns={[{ accessor: 'name', header: 'Name', appLink: getPersonAppLink }]}\n collectionAppLink={{ application, action: Actions.People.PEOPLE }}\n newObjectAppLink={{ application, action: Actions.People.NEW_PERSON }}\n objectName='Person'\n />\n </>\n );\n}\n"],"mappings":"4nBAIa,EAAA,EAA6B,OAAO,CAAC,CAAC,MAAmC,CACpF,KAAA,EAAU,OAAO,CAAC,CACf,KAAK,CAAC,CACN,IAAI,IAAK,kBAAkB,CAAC,CAC5B,SAAS,kBAAkB,CAAC,CAC5B,QAAQ,EAAE,CAEf,CAAC,CAAC,CAAC,UAAU,QCCb,SAAgB,EAAe,EAAyC,CAGtE,OACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,MAAM,OACN,KAAK,OACL,GAAG,OACH,MARc,EAQP,CAAA,CAAY,OAAO,KAC1B,YAAY,+BACZ,UAAA,EACD,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,EAAD,CAAa,MAAO,EAAM,KAAQ,CAAA,CAC9B,CAAA,CAAA,CAEV,CCbA,SAAgB,EAAW,EAAqC,CAC9D,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,cAAe,EAAM,OACrB,iBAAkB,EAClB,SAAU,EAAM,qBAEhB,EAAA,EAAA,IAAA,CAAC,EAAD,CAAgB,MAAO,EAAE,EAAM,QAAU,EAAM,OAAO,GAAM,CAAA,CACjD,CAAA,CAEjB,CCVA,SAAgB,EAAe,EAAyC,CACtE,IAAM,EAAW,EAAY,EAEvB,EAAiB,EAA6B,EAAe,UAAU,EAAM,EAAE,CAAC,EAKtF,OACE,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAA,SACG,CAAC,CAAC,EAAe,OAChB,EAAA,EAAA,IAAA,CAAC,EAAD,CAAY,OAAQ,EAAe,KAAkB,YANvC,EAAmC,IACrD,EAAa,EAAU,EAAe,aAAa,EAAM,GAAI,EAAM,CAAM,CAAC,CAKJ,CAAA,CAEpE,CAAA,CAEN,CChBA,SAAgB,GAA6B,CAC3C,IAAM,EAAW,EAAY,EAgB7B,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAY,YAfQ,EAAmC,IAA6B,CAWpF,EAAa,EAAU,EAAe,aAAa,EAVhC,GAAsB,CACvC,EAAO,EAEP,EAAmB,QAAQ,CACzB,YAAa,EAAY,OACzB,OAAQ,EAAQ,OAAO,YACvB,KAAM,CAAC,EAAU,EAAE,CACrB,CAAC,CACH,EAEoE,CAAM,CAAC,CAC7E,CAGyC,CAAA,CAE3C,CCrBA,IAAM,EAAc,EAAY,OAE1B,EAAa,2CAEb,EAAoB,IAAoB,CAAE,cAAa,OAAQ,EAAQ,OAAO,YAAa,KAAM,CAAC,EAAO,EAAE,CAAC,GAE5G,EAAc,GAAA,EAAsC,QAAQ,EAAiB,CAAM,CAAC,EAM1F,SAAgB,EAAW,EAAqC,CAC9D,IAAM,EAAiB,EAAuC,EAAe,UAAU,EAAM,MAAM,CAAC,EAEpG,OACE,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,sBACb,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,YAAY,sBACZ,qBAAsB,EACtB,aAAe,GAAc,GAAG,EAAW,KAAK,IAChD,iBAAkB,CACnB,CAAA,CACE,CAAA,GACL,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,WAAY,GAAkB,EAAe,KAC7C,QAAS,CAAC,CAAE,SAAU,OAAQ,OAAQ,OAAQ,QAAS,CAAiB,CAAC,EACzE,kBAAmB,CAAE,cAAa,OAAQ,EAAQ,OAAO,MAAO,EAChE,iBAAkB,CAAE,cAAa,OAAQ,EAAQ,OAAO,UAAW,EACnE,WAAW,QACZ,CAAA,CACD,CAAA,CAAA,CAEN"}
1
+ {"version":3,"file":"Bb_f3Lku.chunk.js","names":[],"sources":["../../../../../src/apps/people/utils/PersonValidation.ts","../../../../../src/apps/people/components/edit-person/EditPersonForm.tsx","../../../../../src/apps/people/components/edit-person/EditPerson.tsx","../../../../../src/apps/people/views/edit-person/EditPersonView.tsx","../../../../../src/apps/people/views/new-person/NewPersonView.tsx","../../../../../src/apps/people/views/people/PeopleView.tsx"],"sourcesContent":["import * as Yup from 'yup';\n\nimport { CreateOrUpdatePersonRequest } from 'apps/people/interfaces';\n\nexport const PersonValidationSchema = Yup.object().shape<CreateOrUpdatePersonRequest>({\n name: Yup.string()\n .trim()\n .max(255, 'Name is too long')\n .required('Name is required')\n .default('')\n\n}).noUnknown();\n","import * as React from 'react';\nimport { Form, useFormikContext } from 'formik';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\n\nimport { CreateOrUpdatePersonRequest } from 'apps/people/interfaces';\n\ninterface EditPersonFormProps {\n isNew: boolean;\n}\n\nexport function EditPersonForm(props: EditPersonFormProps): JSX.Element {\n const formikProps = useFormikContext<CreateOrUpdatePersonRequest>();\n\n return (\n <Form>\n <FormField<CreateOrUpdatePersonRequest>\n label='Name'\n name='name'\n id='name'\n value={formikProps.values.name}\n placeholder='Enter a name for this person'\n autoFocus\n />\n <FormButtons isNew={props.isNew} />\n </Form>\n );\n}\n","import * as React from 'react';\n\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Person } from 'libs/shared/interfaces';\n\nimport { CreateOrUpdatePersonRequest } from 'apps/people/interfaces';\nimport { PersonValidationSchema } from 'apps/people/utils';\n\nimport { EditPersonForm } from './EditPersonForm';\n\ninterface EditPersonProps {\n savePerson: (data: CreateOrUpdatePersonRequest, onDone: () => void) => void;\n person?: Person;\n}\n\nexport function EditPerson(props: EditPersonProps): JSX.Element {\n return (\n <FormWrapper<CreateOrUpdatePersonRequest, Person>\n initialValues={props.person}\n validationSchema={PersonValidationSchema}\n onSubmit={props.savePerson}\n >\n <EditPersonForm isNew={!(props.person && props.person.id)} />\n </FormWrapper>\n );\n}\n","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { Person } from 'libs/shared/interfaces';\n\nimport { EditPerson } from 'apps/people/components';\nimport { PersonRequests } from 'apps/people/flight-requests';\nimport { CreateOrUpdatePersonRequest } from 'apps/people/interfaces';\n\ninterface EditPersonViewProps {\n id: string;\n}\n\nexport function EditPersonView(props: EditPersonViewProps): JSX.Element {\n const dispatch = useDispatch();\n\n const personResponse = Flight.useBasicFetch<Person>(PersonRequests.getPerson(props.id));\n\n const savePerson = (data: CreateOrUpdatePersonRequest, onDone: () => void): void =>\n Flight.fetch(dispatch, PersonRequests.updatePerson(props.id, data, onDone));\n\n return (\n <>\n {!!personResponse.data &&\n <EditPerson person={personResponse.data} savePerson={savePerson} />\n }\n </>\n );\n}\n","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { Person } from 'libs/shared/interfaces';\n\nimport { Actions, AppChannels } from 'shared/constants';\n\nimport { EditPerson } from 'apps/people/components';\nimport { PersonRequests } from 'apps/people/flight-requests';\nimport { CreateOrUpdatePersonRequest } from 'apps/people/interfaces';\n\nexport function NewPersonView(): JSX.Element {\n const dispatch = useDispatch();\n\n const createPerson = (data: CreateOrUpdatePersonRequest, onDone: () => void): void => {\n const onSuccess = (newPerson: Person) => {\n onDone();\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.PEOPLE,\n action: Actions.People.EDIT_PERSON,\n args: [newPerson.id]\n });\n };\n\n Flight.fetch(dispatch, PersonRequests.createPerson(data, onSuccess, onDone));\n };\n\n return (\n <EditPerson savePerson={createPerson} />\n );\n}\n","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { SearchBar } from 'libs/shared/components/search-bar/SearchBar';\nimport { Person, PersonCollection } from 'libs/shared/interfaces';\n\nimport { ObjectCollection } from 'shared/components';\nimport { Actions, AppChannels } from 'shared/constants';\n\nimport { PersonRequests } from 'apps/people/flight-requests';\n\nconst application = AppChannels.PEOPLE;\n\nconst SEARCH_URL = '/api/domain/v1/search/people/instant/raw';\n\nconst getPersonAppLink = (person: Person) => ({ application, action: Actions.People.EDIT_PERSON, args: [person.id]});\n\nconst goToPerson = (person: Person) => Core.AppLinkHelper.trigger(getPersonAppLink(person));\n\ninterface PeopleViewProps {\n cursor?: string;\n}\n\nexport function PeopleView(props: PeopleViewProps): JSX.Element {\n const peopleResponse = Flight.useBasicFetch<PersonCollection>(PersonRequests.getPeople(props.cursor));\n\n return (\n <>\n <div className='pb-3 w-50'>\n <SearchBar\n placeholder='Search for a person'\n onSuggestionSelected={goToPerson}\n getRemoteUrl={(q: string) => `${SEARCH_URL}?q=${q}`}\n activationLength={2}\n />\n </div>\n <ObjectCollection\n collection={peopleResponse && peopleResponse.data}\n columns={[{ accessor: 'name', header: 'Name', appLink: getPersonAppLink }]}\n collectionAppLink={{ application, action: Actions.People.PEOPLE }}\n newObjectAppLink={{ application, action: Actions.People.NEW_PERSON }}\n objectName='Person'\n />\n </>\n );\n}\n"],"mappings":"4nBAIa,EAAA,EAA6B,OAAO,CAAC,CAAC,MAAmC,CACpF,KAAA,EAAU,OAAO,CAAC,CACf,KAAK,CAAC,CACN,IAAI,IAAK,kBAAkB,CAAC,CAC5B,SAAS,kBAAkB,CAAC,CAC5B,QAAQ,EAAE,CAEf,CAAC,CAAC,CAAC,UAAU,QCCb,SAAgB,EAAe,EAAyC,CAGtE,OACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,MAAM,OACN,KAAK,OACL,GAAG,OACH,MARc,EAQP,CAAA,CAAY,OAAO,KAC1B,YAAY,+BACZ,UAAA,EACD,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,EAAD,CAAa,MAAO,EAAM,KAAQ,CAAA,CAC9B,CAAA,CAAA,CAEV,CCbA,SAAgB,EAAW,EAAqC,CAC9D,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,cAAe,EAAM,OACrB,iBAAkB,EAClB,SAAU,EAAM,qBAEhB,EAAA,EAAA,IAAA,CAAC,EAAD,CAAgB,MAAO,EAAE,EAAM,QAAU,EAAM,OAAO,GAAM,CAAA,CACjD,CAAA,CAEjB,CCVA,SAAgB,EAAe,EAAyC,CACtE,IAAM,EAAW,EAAY,EAEvB,EAAiB,EAA6B,EAAe,UAAU,EAAM,EAAE,CAAC,EAKtF,OACE,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAA,SACG,CAAC,CAAC,EAAe,OAChB,EAAA,EAAA,IAAA,CAAC,EAAD,CAAY,OAAQ,EAAe,KAAkB,YANvC,EAAmC,IACrD,EAAa,EAAU,EAAe,aAAa,EAAM,GAAI,EAAM,CAAM,CAAC,CAKJ,CAAA,CAEpE,CAAA,CAEN,CChBA,SAAgB,GAA6B,CAC3C,IAAM,EAAW,EAAY,EAgB7B,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAY,YAfQ,EAAmC,IAA6B,CAWpF,EAAa,EAAU,EAAe,aAAa,EAVhC,GAAsB,CACvC,EAAO,EAEP,EAAmB,QAAQ,CACzB,YAAa,EAAY,OACzB,OAAQ,EAAQ,OAAO,YACvB,KAAM,CAAC,EAAU,EAAE,CACrB,CAAC,CACH,EAEoE,CAAM,CAAC,CAC7E,CAGyC,CAAA,CAE3C,CCrBA,IAAM,EAAc,EAAY,OAE1B,EAAa,2CAEb,EAAoB,IAAoB,CAAE,cAAa,OAAQ,EAAQ,OAAO,YAAa,KAAM,CAAC,EAAO,EAAE,CAAC,GAE5G,EAAc,GAAA,EAAsC,QAAQ,EAAiB,CAAM,CAAC,EAM1F,SAAgB,EAAW,EAAqC,CAC9D,IAAM,EAAiB,EAAuC,EAAe,UAAU,EAAM,MAAM,CAAC,EAEpG,OACE,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,sBACb,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,YAAY,sBACZ,qBAAsB,EACtB,aAAe,GAAc,GAAG,EAAW,KAAK,IAChD,iBAAkB,CACnB,CAAA,CACE,CAAA,GACL,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,WAAY,GAAkB,EAAe,KAC7C,QAAS,CAAC,CAAE,SAAU,OAAQ,OAAQ,OAAQ,QAAS,CAAiB,CAAC,EACzE,kBAAmB,CAAE,cAAa,OAAQ,EAAQ,OAAO,MAAO,EAChE,iBAAkB,CAAE,cAAa,OAAQ,EAAQ,OAAO,UAAW,EACnE,WAAW,QACZ,CAAA,CACD,CAAA,CAAA,CAEN"}
@@ -1,2 +1,2 @@
1
- import{C as e,a as t,i as n}from"./rp704-Pm.chunk.js";import{t as r}from"./C1kx8Ra5.chunk.js";import{G as i,K as a}from"./C7Gmh7eY.chunk.js";import{t as o}from"./D-JsEiDq2.chunk.js";import{t as s}from"./DmpWpl-3.chunk.js";import{u as c}from"./Dgk5cBBe.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as l}from"./Bwpvc7Th2.chunk.js";import{i as u}from"./DA0I3jYA.chunk.js";import{t as d}from"./dKyhMawf.chunk.js";import{t as f}from"./D0JviwKV2.chunk.js";import{n as p}from"./C4Ey4nzb2.chunk.js";import{t as m}from"./8Gpy2Hdm2.chunk.js";import{t as h}from"./Dy4nscVE2.chunk.js";t();var g=n();function _(e){return(0,g.jsxs)(u,{children:[(0,g.jsx)(p,{name:`name`,id:`name`,placeholder:`e.g. Steven's Fave Ingestion Filter`,label:`Name`,showRequiredStar:!0}),(0,g.jsxs)(`p`,{children:[(0,g.jsx)(`strong`,{children:`Note:`}),` Views can be accessed by other staff with access to Curation Studio.`]}),(0,g.jsxs)(f,{children:[(0,g.jsx)(f.Cancel,{onClick:e.closePopup}),(0,g.jsx)(f.Submit,{variant:`dark`,text:`Save view`})]})]})}function v(t){let n=c(),u=l(),f=h(t.queryParams,t.stage),{appLink:p}=s.getCurrentRoute();function v({name:o}){n(i.createQuickFilter(o,t.stage,a.serializeFilterRequestBody(f))).then(t=>{u.success(`Successfully created quick filter: ${t.name}`),e.trigger({...p,params:{...r.pick(p.params,[`presentationId`,`limit`,`query`,`cursor`]),quickFilter:t.id}})}).catch(()=>u.error(`Failed to create quick filter: ${o}. Please try again.`)).finally(t.closePopup)}return(0,g.jsx)(o,{title:`Save view`,closePopup:t.closePopup,backdrop:`static`,children:(0,g.jsx)(d,{initialValues:{name:``},validationSchema:m,onSubmit:v,children:(0,g.jsx)(_,{closePopup:t.closePopup})})})}export{v as SaveQuickFilterView};
2
- //# sourceMappingURL=BLJO44vl.chunk.js.map
1
+ import{C as e,a as t,i as n}from"./rp704-Pm.chunk.js";import{t as r}from"./C1kx8Ra5.chunk.js";import{G as i,K as a}from"./DWHKdmdQ.chunk.js";import{t as o}from"./D-JsEiDq2.chunk.js";import{t as s}from"./DmpWpl-3.chunk.js";import{u as c}from"./Dgk5cBBe.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as l}from"./Bwpvc7Th2.chunk.js";import{i as u}from"./DA0I3jYA.chunk.js";import{t as d}from"./dKyhMawf.chunk.js";import{t as f}from"./D0JviwKV2.chunk.js";import{n as p}from"./C4Ey4nzb2.chunk.js";import{t as m}from"./8Gpy2Hdm2.chunk.js";import{t as h}from"./T3BageSw2.chunk.js";t();var g=n();function _(e){return(0,g.jsxs)(u,{children:[(0,g.jsx)(p,{name:`name`,id:`name`,placeholder:`e.g. Steven's Fave Ingestion Filter`,label:`Name`,showRequiredStar:!0}),(0,g.jsxs)(`p`,{children:[(0,g.jsx)(`strong`,{children:`Note:`}),` Views can be accessed by other staff with access to Curation Studio.`]}),(0,g.jsxs)(f,{children:[(0,g.jsx)(f.Cancel,{onClick:e.closePopup}),(0,g.jsx)(f.Submit,{variant:`dark`,text:`Save view`})]})]})}function v(t){let n=c(),u=l(),f=h(t.queryParams,t.stage),{appLink:p}=s.getCurrentRoute();function v({name:o}){n(i.createQuickFilter(o,t.stage,a.serializeFilterRequestBody(f))).then(t=>{u.success(`Successfully created quick filter: ${t.name}`),e.trigger({...p,params:{...r.pick(p.params,[`presentationId`,`limit`,`query`,`cursor`]),quickFilter:t.id}})}).catch(()=>u.error(`Failed to create quick filter: ${o}. Please try again.`)).finally(t.closePopup)}return(0,g.jsx)(o,{title:`Save view`,closePopup:t.closePopup,backdrop:`static`,children:(0,g.jsx)(d,{initialValues:{name:``},validationSchema:m,onSubmit:v,children:(0,g.jsx)(_,{closePopup:t.closePopup})})})}export{v as SaveQuickFilterView};
2
+ //# sourceMappingURL=BdJYoUIO.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BLJO44vl.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/views/save-quick-filter/SaveQuickFilterView.tsx"],"sourcesContent":["import React from 'react';\nimport { Form } from 'formik';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\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';\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { useAssemblyLineFilters } from 'apps/assembly-line/hooks/useAssemblyLineFilters';\nimport { AssemblyLineQueryParams } from 'apps/assembly-line/interfaces/AssemblyLineQueryParams';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\nimport { QuickFilter } from 'apps/assembly-line/interfaces/responses/QuickFilter';\nimport { AssemblyLineFilterHelper } from 'apps/assembly-line/utils/AssemblyLineFilterHelper';\nimport { QuickFilterValidationSchema } from 'apps/assembly-line/validation/QuickFilterValidationSchema';\n\nfunction SaveQuickFilterForm(props: PopupViewProps): JSX.Element {\n return (\n <Form>\n <FormField\n name='name'\n id='name'\n placeholder=\"e.g. Steven's Fave Ingestion Filter\"\n label='Name'\n showRequiredStar\n />\n\n <p>\n <strong>Note:</strong> Views can be accessed by other staff with access to Curation Studio.\n </p>\n\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit variant='dark' text='Save view' />\n </PopupButtons>\n </Form>\n );\n}\n\ninterface SaveQuickFilterProps extends PopupViewProps {\n stage: AssemblyLineStage;\n queryParams: AssemblyLineQueryParams;\n}\n\nexport function SaveQuickFilterView(props: SaveQuickFilterProps): JSX.Element {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const filters = useAssemblyLineFilters(props.queryParams, props.stage);\n\n const { appLink } = ContextService.getCurrentRoute();\n \n function onSubmit({ name }: any): void {\n fetchAsync(AssemblyLineRequests.createQuickFilter(\n name,\n props.stage,\n AssemblyLineFilterHelper.serializeFilterRequestBody(filters)\n ))\n .then((quickFilter: QuickFilter) => {\n alerts.success(`Successfully created quick filter: ${quickFilter.name}`);\n Core.AppLinkHelper.trigger({\n ...appLink,\n params: {\n ...ObjectHelper.pick(appLink.params, [ 'presentationId', 'limit', 'query', 'cursor' ]),\n quickFilter: quickFilter.id\n }\n });\n })\n .catch(() => alerts.error(`Failed to create quick filter: ${name}. Please try again.`))\n .finally(props.closePopup);\n }\n\n return (\n <Popup title='Save view' closePopup={props.closePopup} backdrop='static'>\n <FormWrapper\n initialValues={{ name: '' }}\n validationSchema={QuickFilterValidationSchema}\n onSubmit={onSubmit}\n >\n <SaveQuickFilterForm closePopup={props.closePopup} />\n </FormWrapper>\n </Popup>\n );\n}\n"],"mappings":"6kBAuBA,SAAS,EAAoB,EAAoC,CAC/D,OACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAK,OACL,GAAG,OACH,YAAY,sCACZ,MAAM,OACN,iBAAA,EACD,CAAA,GAED,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,SAAD,CAAA,SAAQ,OAAa,CAAA,EAAC,uEACrB,CAAA,CAAA,GAEH,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAa,OAAd,CAAqB,QAAS,EAAM,UAAa,CAAA,GACjD,EAAA,EAAA,IAAA,CAAC,EAAa,OAAd,CAAqB,QAAQ,OAAO,KAAK,WAAa,CAAA,CAC1C,CAAA,CAAA,CACV,CAAA,CAAA,CAEV,CAOA,SAAgB,EAAoB,EAA0C,CAC5E,IAAM,EAAa,EAAwB,EACrC,EAAS,EAAU,EAEnB,EAAU,EAAuB,EAAM,YAAa,EAAM,KAAK,EAE/D,CAAE,WAAY,EAAe,gBAAgB,EAEnD,SAAS,EAAS,CAAE,QAAmB,CACrC,EAAW,EAAqB,kBAC9B,EACA,EAAM,MACN,EAAyB,2BAA2B,CAAO,CAC7D,CAAC,CAAC,CACC,KAAM,GAA6B,CAClC,EAAO,QAAQ,sCAAsC,EAAY,MAAM,EACvE,EAAmB,QAAQ,CACzB,GAAG,EACH,OAAQ,CACN,GAAG,EAAa,KAAK,EAAQ,OAAQ,CAAE,iBAAkB,QAAS,QAAS,QAAS,CAAC,EACrF,YAAa,EAAY,EAC3B,CACF,CAAC,CACH,CAAC,CAAC,CACD,UAAY,EAAO,MAAM,kCAAkC,EAAK,oBAAoB,CAAC,CAAC,CACtF,QAAQ,EAAM,UAAU,CAC7B,CAEA,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAO,MAAM,YAAY,WAAY,EAAM,WAAY,SAAS,mBAC9D,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,cAAe,CAAE,KAAM,EAAG,EAC1B,iBAAkB,EACR,qBAEV,EAAA,EAAA,IAAA,CAAC,EAAD,CAAqB,WAAY,EAAM,UAAa,CAAA,CACzC,CAAA,CACR,CAAA,CAEX"}
1
+ {"version":3,"file":"BdJYoUIO.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/views/save-quick-filter/SaveQuickFilterView.tsx"],"sourcesContent":["import React from 'react';\nimport { Form } from 'formik';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\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';\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { useAssemblyLineFilters } from 'apps/assembly-line/hooks/useAssemblyLineFilters';\nimport { AssemblyLineQueryParams } from 'apps/assembly-line/interfaces/AssemblyLineQueryParams';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\nimport { QuickFilter } from 'apps/assembly-line/interfaces/responses/QuickFilter';\nimport { AssemblyLineFilterHelper } from 'apps/assembly-line/utils/AssemblyLineFilterHelper';\nimport { QuickFilterValidationSchema } from 'apps/assembly-line/validation/QuickFilterValidationSchema';\n\nfunction SaveQuickFilterForm(props: PopupViewProps): JSX.Element {\n return (\n <Form>\n <FormField\n name='name'\n id='name'\n placeholder=\"e.g. Steven's Fave Ingestion Filter\"\n label='Name'\n showRequiredStar\n />\n\n <p>\n <strong>Note:</strong> Views can be accessed by other staff with access to Curation Studio.\n </p>\n\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit variant='dark' text='Save view' />\n </PopupButtons>\n </Form>\n );\n}\n\ninterface SaveQuickFilterProps extends PopupViewProps {\n stage: AssemblyLineStage;\n queryParams: AssemblyLineQueryParams;\n}\n\nexport function SaveQuickFilterView(props: SaveQuickFilterProps): JSX.Element {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const filters = useAssemblyLineFilters(props.queryParams, props.stage);\n\n const { appLink } = ContextService.getCurrentRoute();\n \n function onSubmit({ name }: any): void {\n fetchAsync(AssemblyLineRequests.createQuickFilter(\n name,\n props.stage,\n AssemblyLineFilterHelper.serializeFilterRequestBody(filters)\n ))\n .then((quickFilter: QuickFilter) => {\n alerts.success(`Successfully created quick filter: ${quickFilter.name}`);\n Core.AppLinkHelper.trigger({\n ...appLink,\n params: {\n ...ObjectHelper.pick(appLink.params, [ 'presentationId', 'limit', 'query', 'cursor' ]),\n quickFilter: quickFilter.id\n }\n });\n })\n .catch(() => alerts.error(`Failed to create quick filter: ${name}. Please try again.`))\n .finally(props.closePopup);\n }\n\n return (\n <Popup title='Save view' closePopup={props.closePopup} backdrop='static'>\n <FormWrapper\n initialValues={{ name: '' }}\n validationSchema={QuickFilterValidationSchema}\n onSubmit={onSubmit}\n >\n <SaveQuickFilterForm closePopup={props.closePopup} />\n </FormWrapper>\n </Popup>\n );\n}\n"],"mappings":"6kBAuBA,SAAS,EAAoB,EAAoC,CAC/D,OACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAK,OACL,GAAG,OACH,YAAY,sCACZ,MAAM,OACN,iBAAA,EACD,CAAA,GAED,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,SAAD,CAAA,SAAQ,OAAa,CAAA,EAAC,uEACrB,CAAA,CAAA,GAEH,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAa,OAAd,CAAqB,QAAS,EAAM,UAAa,CAAA,GACjD,EAAA,EAAA,IAAA,CAAC,EAAa,OAAd,CAAqB,QAAQ,OAAO,KAAK,WAAa,CAAA,CAC1C,CAAA,CAAA,CACV,CAAA,CAAA,CAEV,CAOA,SAAgB,EAAoB,EAA0C,CAC5E,IAAM,EAAa,EAAwB,EACrC,EAAS,EAAU,EAEnB,EAAU,EAAuB,EAAM,YAAa,EAAM,KAAK,EAE/D,CAAE,WAAY,EAAe,gBAAgB,EAEnD,SAAS,EAAS,CAAE,QAAmB,CACrC,EAAW,EAAqB,kBAC9B,EACA,EAAM,MACN,EAAyB,2BAA2B,CAAO,CAC7D,CAAC,CAAC,CACC,KAAM,GAA6B,CAClC,EAAO,QAAQ,sCAAsC,EAAY,MAAM,EACvE,EAAmB,QAAQ,CACzB,GAAG,EACH,OAAQ,CACN,GAAG,EAAa,KAAK,EAAQ,OAAQ,CAAE,iBAAkB,QAAS,QAAS,QAAS,CAAC,EACrF,YAAa,EAAY,EAC3B,CACF,CAAC,CACH,CAAC,CAAC,CACD,UAAY,EAAO,MAAM,kCAAkC,EAAK,oBAAoB,CAAC,CAAC,CACtF,QAAQ,EAAM,UAAU,CAC7B,CAEA,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAO,MAAM,YAAY,WAAY,EAAM,WAAY,SAAS,mBAC9D,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,cAAe,CAAE,KAAM,EAAG,EAC1B,iBAAkB,EACR,qBAEV,EAAA,EAAA,IAAA,CAAC,EAAD,CAAqB,WAAY,EAAM,UAAa,CAAA,CACzC,CAAA,CACR,CAAA,CAEX"}
@@ -1,2 +1,2 @@
1
- import{a as e,i as t,ln as n}from"./rp704-Pm.chunk.js";import{t as r}from"./cwPDEI372.chunk.js";import"./BhKv6dKl2.chunk.js";import{t as i}from"./BT15PHGF.chunk.js";import{n as a}from"./BN_7c5Xk.chunk.js";import{s as o}from"./Dgk5cBBe.chunk.js";import{t as s}from"./DpqbC5uX.chunk.js";import{t as c}from"./CVHQXNzi.chunk.js";import{t as l}from"./CZyPFSXo.chunk.js";import{t as u}from"./DkLlaBp-.chunk.js";import{t as d}from"./DXH18G3-.chunk.js";import{t as f}from"./CZWFEBqS.chunk.js";import{t as p}from"./D9sJnM8l.chunk.js";import{a as m,i as h,n as g,t as _}from"./DHkpEmxN.chunk.js";import{t as v}from"./-IjyNdVw2.chunk.js";var y=n(e()),b=t(),x=`workbench.addToBackboneClassifications`;function S(e){let{workingList:t}=p(e.listId),[n,r]=u(e.viewModelKey),{setDisableNext:o}=y.useContext(f),c=e=>{let t=s.addOrRemove(n.assocIds.map(e=>e.toString()),e.id.toString());r(`assocIds`,t)};y.useEffect(()=>{r(`subAction`,`addToBackboneClassifications`),n?.assocIds?.length?r(`assocIds`,n.assocIds):r(`assocIds`,[])},[]),y.useEffect(()=>{o(!n?.assocIds?.length)},[n?.assocIds]);let l=!n?.assocIds?.length;return e.loaded?(0,b.jsxs)(`div`,{className:`pb-3`,children:[(0,b.jsx)(`h2`,{className:`h4`,children:(0,b.jsx)(a,{namespace:x,phrase:`heading`})}),(0,b.jsx)(`p`,{className:`fw-semibold`,children:(0,b.jsx)(a,{namespace:x,phrase:`contextVideo`,options:{smartCount:t?.length}})}),(0,b.jsx)(`div`,{className:`form-control h-auto py-2`,children:(0,b.jsx)(d,{label:i.getPhrase(x,`treeTitle`),tree:e.subjectTree,selectedIds:n?.assocIds,hideCollapseBtn:l,onSelect:c,getSelectedItemAppLink:m.getBackboneClassificationAppLink,openSelectionsInNewTab:!0,multiSelect:!0})})]}):(0,b.jsx)(v,{})}function C(e){let t=_(e.listId),n=o(l.getSubjectTree(r.Subject));return(0,b.jsx)(h,{listId:e.listId,appLinks:t,currentStep:`action-details`,viewModelKey:g.VIDEO_VIEW_MODEL_KEY,type:c.Video,loaded:!!n.data,children:(0,b.jsx)(S,{appLinks:t,listId:e.listId,viewModelKey:g.VIDEO_VIEW_MODEL_KEY,subjectTree:n.data,loaded:!!n.data})})}export{C as WorkbenchVideoActionsAddToBackboneClassificationsDetailsView};
2
- //# sourceMappingURL=CW2k5Ut-2.chunk.js.map
1
+ import{a as e,i as t,ln as n}from"./rp704-Pm.chunk.js";import{t as r}from"./cwPDEI372.chunk.js";import"./GpDEun8c2.chunk.js";import{t as i}from"./BT15PHGF.chunk.js";import{n as a}from"./BN_7c5Xk.chunk.js";import{s as o}from"./Dgk5cBBe.chunk.js";import{t as s}from"./DpqbC5uX.chunk.js";import{t as c}from"./CVHQXNzi.chunk.js";import{t as l}from"./CZyPFSXo.chunk.js";import{t as u}from"./DkLlaBp-.chunk.js";import{t as d}from"./DXH18G3-.chunk.js";import{t as f}from"./CZWFEBqS.chunk.js";import{t as p}from"./D9sJnM8l.chunk.js";import{a as m,i as h,n as g,t as _}from"./DHkpEmxN.chunk.js";import{t as v}from"./-IjyNdVw2.chunk.js";var y=n(e()),b=t(),x=`workbench.addToBackboneClassifications`;function S(e){let{workingList:t}=p(e.listId),[n,r]=u(e.viewModelKey),{setDisableNext:o}=y.useContext(f),c=e=>{let t=s.addOrRemove(n.assocIds.map(e=>e.toString()),e.id.toString());r(`assocIds`,t)};y.useEffect(()=>{r(`subAction`,`addToBackboneClassifications`),n?.assocIds?.length?r(`assocIds`,n.assocIds):r(`assocIds`,[])},[]),y.useEffect(()=>{o(!n?.assocIds?.length)},[n?.assocIds]);let l=!n?.assocIds?.length;return e.loaded?(0,b.jsxs)(`div`,{className:`pb-3`,children:[(0,b.jsx)(`h2`,{className:`h4`,children:(0,b.jsx)(a,{namespace:x,phrase:`heading`})}),(0,b.jsx)(`p`,{className:`fw-semibold`,children:(0,b.jsx)(a,{namespace:x,phrase:`contextVideo`,options:{smartCount:t?.length}})}),(0,b.jsx)(`div`,{className:`form-control h-auto py-2`,children:(0,b.jsx)(d,{label:i.getPhrase(x,`treeTitle`),tree:e.subjectTree,selectedIds:n?.assocIds,hideCollapseBtn:l,onSelect:c,getSelectedItemAppLink:m.getBackboneClassificationAppLink,openSelectionsInNewTab:!0,multiSelect:!0})})]}):(0,b.jsx)(v,{})}function C(e){let t=_(e.listId),n=o(l.getSubjectTree(r.Subject));return(0,b.jsx)(h,{listId:e.listId,appLinks:t,currentStep:`action-details`,viewModelKey:g.VIDEO_VIEW_MODEL_KEY,type:c.Video,loaded:!!n.data,children:(0,b.jsx)(S,{appLinks:t,listId:e.listId,viewModelKey:g.VIDEO_VIEW_MODEL_KEY,subjectTree:n.data,loaded:!!n.data})})}export{C as WorkbenchVideoActionsAddToBackboneClassificationsDetailsView};
2
+ //# sourceMappingURL=Bf-6iyfX2.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CW2k5Ut-2.chunk.js","names":[],"sources":["../../../../../src/apps/workbench/components/workbench-wizard-action-details/add-to-backbone-classifications/WorkbenchWizardActionsAddToBackboneClassificationsDetails.tsx","../../../../../src/apps/workbench/views/videos/action-details/add-to-backbone-classifications/WorkbenchVideoActionsAddToBackboneClassificationsDetailsView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { WizardLayoutContext } from 'libs/shared/context/WizardLayoutContext';\n\nimport { TreeSelect } from 'shared/components';\nimport { SubjectTree } from 'shared/interfaces';\n\nimport { SubjectTreePartialLoading } from 'apps/workbench/components/workbench-wizard-action-details/add-to-backbone-classifications/SubjectTreePartialLoading';\nimport { useWorkingList } from 'apps/workbench/hooks/useWorkingList';\nimport { WorkbenchWizardAppLinks } from 'apps/workbench/interfaces/WorkbenchWizardAppLinks';\nimport { WorkbenchWizardViewModel } from 'apps/workbench/interfaces/WorkbenchWizardViewModel';\nimport { WorkbenchHelper } from 'apps/workbench/utils/WorkbenchHelper';\n\ninterface WorkbenchWizardActionsAddToBackboneClassificationsDetailsProps {\n listId: string;\n appLinks: WorkbenchWizardAppLinks;\n viewModelKey: string;\n subjectTree: SubjectTree;\n loaded: boolean;\n}\n\nconst namespace = 'workbench.addToBackboneClassifications';\n\nexport function WorkbenchWizardActionsAddToBackboneClassificationsDetails(\n props: WorkbenchWizardActionsAddToBackboneClassificationsDetailsProps\n): JSX.Element {\n const { workingList } = useWorkingList(props.listId);\n const [ viewModel, setViewModel ] = useViewModel<WorkbenchWizardViewModel>(props.viewModelKey);\n const { setDisableNext } = React.useContext(WizardLayoutContext);\n\n const handleSelect = (item: SubjectTree) => {\n const assocIds = ArrayHelper.addOrRemove(\n viewModel.assocIds.map(id => id.toString()),\n item.id.toString()\n );\n \n setViewModel('assocIds', assocIds);\n };\n\n React.useEffect(() => {\n setViewModel('subAction', 'addToBackboneClassifications');\n if (viewModel?.assocIds?.length) {\n setViewModel('assocIds', viewModel.assocIds);\n } else {\n setViewModel('assocIds', []);\n }\n }, []);\n\n React.useEffect(() => {\n setDisableNext(!viewModel?.assocIds?.length);\n }, [viewModel?.assocIds]);\n\n const hideCollapseBtn = !viewModel?.assocIds?.length;\n\n if (!props.loaded)\n return <SubjectTreePartialLoading />;\n\n return (\n <div className='pb-3'>\n <h2 className='h4'>\n <Text\n namespace={namespace}\n phrase='heading'\n />\n </h2>\n <p className='fw-semibold'>\n <Text\n namespace={namespace}\n phrase='contextVideo'\n options={{ smartCount: workingList?.length }}\n />\n </p>\n <div className='form-control h-auto py-2'>\n <TreeSelect<SubjectTree>\n label={LanguageService.getPhrase(namespace, 'treeTitle')}\n tree={props.subjectTree}\n selectedIds={viewModel?.assocIds}\n hideCollapseBtn={hideCollapseBtn}\n onSelect={handleSelect}\n getSelectedItemAppLink={WorkbenchHelper.getBackboneClassificationAppLink}\n openSelectionsInNewTab\n multiSelect\n />\n </div>\n </div>\n );\n}\n","import React from 'react';\n\nimport { useBasicFetch } from 'libs/common/react/flight';\n\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\n\nimport { SubjectRequests } from 'shared/flight-requests/SubjectRequests';\nimport { SubjectTree } from 'shared/interfaces';\n\nimport { WorkbenchWizardActionsAddToBackboneClassificationsDetails } from 'apps/workbench/components/workbench-wizard-action-details/add-to-backbone-classifications/WorkbenchWizardActionsAddToBackboneClassificationsDetails';\nimport { WorkbenchWizardLayout } from 'apps/workbench/components/workbench-wizard-layout/WorkbenchWizardLayout';\nimport { WorkbenchViewModel } from 'apps/workbench/constants/WorkbenchViewModel';\nimport { WorkbenchWizardProps } from 'apps/workbench/interfaces/WorkbenchWizardProps';\nimport { getWorkbenchVideoAppLinks } from 'apps/workbench/utils/WorkbenchAppLinks';\n\nexport function WorkbenchVideoActionsAddToBackboneClassificationsDetailsView(props: WorkbenchWizardProps): JSX.Element {\n const appLinks = getWorkbenchVideoAppLinks(props.listId);\n const subjectTree = useBasicFetch<SubjectTree>(\n SubjectRequests.getSubjectTree(PresentationType.Subject)\n );\n\n return (\n <WorkbenchWizardLayout\n listId={props.listId}\n appLinks={appLinks}\n currentStep='action-details'\n viewModelKey={WorkbenchViewModel.VIDEO_VIEW_MODEL_KEY}\n type={MasterType.Video}\n loaded={!!subjectTree.data}\n >\n <WorkbenchWizardActionsAddToBackboneClassificationsDetails\n appLinks={appLinks}\n listId={props.listId}\n viewModelKey={WorkbenchViewModel.VIDEO_VIEW_MODEL_KEY}\n subjectTree={subjectTree.data}\n loaded={!!subjectTree.data}\n />\n </WorkbenchWizardLayout>\n );\n}\n"],"mappings":"soBA0BM,EAAY,yCAElB,SAAgB,EACd,EACa,CACb,GAAM,CAAE,eAAgB,EAAe,EAAM,MAAM,EAC7C,CAAE,EAAW,GAAiB,EAAuC,EAAM,YAAY,EACvF,CAAE,kBAAA,EAAyB,WAAW,CAAmB,EAEzD,EAAgB,GAAsB,CAC1C,IAAM,EAAW,EAAY,YAC3B,EAAU,SAAS,IAAI,GAAM,EAAG,SAAS,CAAC,EAC1C,EAAK,GAAG,SAAS,CACnB,EAEA,EAAa,WAAY,CAAQ,CACnC,EAEA,EAAM,cAAgB,CACpB,EAAa,YAAa,8BAA8B,EACpD,GAAW,UAAU,OACvB,EAAa,WAAY,EAAU,QAAQ,EAE3C,EAAa,WAAY,CAAC,CAAC,CAE/B,EAAG,CAAC,CAAC,EAEL,EAAM,cAAgB,CACpB,EAAe,CAAC,GAAW,UAAU,MAAM,CAC7C,EAAG,CAAC,GAAW,QAAQ,CAAC,EAExB,IAAM,EAAkB,CAAC,GAAW,UAAU,OAK9C,OAHK,EAAM,QAIT,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,gBAAf,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,eACZ,EAAA,EAAA,IAAA,CAAC,EAAD,CACa,YACX,OAAO,SACR,CAAA,CACC,CAAA,GACJ,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,wBACX,EAAA,EAAA,IAAA,CAAC,EAAD,CACa,YACX,OAAO,eACP,QAAS,CAAE,WAAY,GAAa,MAAO,CAC5C,CAAA,CACA,CAAA,GACH,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,qCACb,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,MAAO,EAAgB,UAAU,EAAW,WAAW,EACvD,KAAM,EAAM,YACZ,YAAa,GAAW,SACP,kBACjB,SAAU,EACV,uBAAwB,EAAgB,iCACxC,uBAAA,GACA,YAAA,EACD,CAAA,CACE,CAAA,CACF,KA7BE,EAAA,EAAA,IAAA,CAAC,EAAD,CAA4B,CAAA,CA+BvC,CC3EA,SAAgB,EAA6D,EAA0C,CACrH,IAAM,EAAW,EAA0B,EAAM,MAAM,EACjD,EAAc,EAClB,EAAgB,eAAe,EAAiB,OAAO,CACzD,EAEA,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,OAAQ,EAAM,OACJ,WACV,YAAY,iBACZ,aAAc,EAAmB,qBACjC,KAAM,EAAW,MACjB,OAAQ,CAAC,CAAC,EAAY,eAEtB,EAAA,EAAA,IAAA,CAAC,EAAD,CACY,WACV,OAAQ,EAAM,OACd,aAAc,EAAmB,qBACjC,YAAa,EAAY,KACzB,OAAQ,CAAC,CAAC,EAAY,IACvB,CAAA,CACoB,CAAA,CAE3B"}
1
+ {"version":3,"file":"Bf-6iyfX2.chunk.js","names":[],"sources":["../../../../../src/apps/workbench/components/workbench-wizard-action-details/add-to-backbone-classifications/WorkbenchWizardActionsAddToBackboneClassificationsDetails.tsx","../../../../../src/apps/workbench/views/videos/action-details/add-to-backbone-classifications/WorkbenchVideoActionsAddToBackboneClassificationsDetailsView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { WizardLayoutContext } from 'libs/shared/context/WizardLayoutContext';\n\nimport { TreeSelect } from 'shared/components';\nimport { SubjectTree } from 'shared/interfaces';\n\nimport { SubjectTreePartialLoading } from 'apps/workbench/components/workbench-wizard-action-details/add-to-backbone-classifications/SubjectTreePartialLoading';\nimport { useWorkingList } from 'apps/workbench/hooks/useWorkingList';\nimport { WorkbenchWizardAppLinks } from 'apps/workbench/interfaces/WorkbenchWizardAppLinks';\nimport { WorkbenchWizardViewModel } from 'apps/workbench/interfaces/WorkbenchWizardViewModel';\nimport { WorkbenchHelper } from 'apps/workbench/utils/WorkbenchHelper';\n\ninterface WorkbenchWizardActionsAddToBackboneClassificationsDetailsProps {\n listId: string;\n appLinks: WorkbenchWizardAppLinks;\n viewModelKey: string;\n subjectTree: SubjectTree;\n loaded: boolean;\n}\n\nconst namespace = 'workbench.addToBackboneClassifications';\n\nexport function WorkbenchWizardActionsAddToBackboneClassificationsDetails(\n props: WorkbenchWizardActionsAddToBackboneClassificationsDetailsProps\n): JSX.Element {\n const { workingList } = useWorkingList(props.listId);\n const [ viewModel, setViewModel ] = useViewModel<WorkbenchWizardViewModel>(props.viewModelKey);\n const { setDisableNext } = React.useContext(WizardLayoutContext);\n\n const handleSelect = (item: SubjectTree) => {\n const assocIds = ArrayHelper.addOrRemove(\n viewModel.assocIds.map(id => id.toString()),\n item.id.toString()\n );\n \n setViewModel('assocIds', assocIds);\n };\n\n React.useEffect(() => {\n setViewModel('subAction', 'addToBackboneClassifications');\n if (viewModel?.assocIds?.length) {\n setViewModel('assocIds', viewModel.assocIds);\n } else {\n setViewModel('assocIds', []);\n }\n }, []);\n\n React.useEffect(() => {\n setDisableNext(!viewModel?.assocIds?.length);\n }, [viewModel?.assocIds]);\n\n const hideCollapseBtn = !viewModel?.assocIds?.length;\n\n if (!props.loaded)\n return <SubjectTreePartialLoading />;\n\n return (\n <div className='pb-3'>\n <h2 className='h4'>\n <Text\n namespace={namespace}\n phrase='heading'\n />\n </h2>\n <p className='fw-semibold'>\n <Text\n namespace={namespace}\n phrase='contextVideo'\n options={{ smartCount: workingList?.length }}\n />\n </p>\n <div className='form-control h-auto py-2'>\n <TreeSelect<SubjectTree>\n label={LanguageService.getPhrase(namespace, 'treeTitle')}\n tree={props.subjectTree}\n selectedIds={viewModel?.assocIds}\n hideCollapseBtn={hideCollapseBtn}\n onSelect={handleSelect}\n getSelectedItemAppLink={WorkbenchHelper.getBackboneClassificationAppLink}\n openSelectionsInNewTab\n multiSelect\n />\n </div>\n </div>\n );\n}\n","import React from 'react';\n\nimport { useBasicFetch } from 'libs/common/react/flight';\n\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\n\nimport { SubjectRequests } from 'shared/flight-requests/SubjectRequests';\nimport { SubjectTree } from 'shared/interfaces';\n\nimport { WorkbenchWizardActionsAddToBackboneClassificationsDetails } from 'apps/workbench/components/workbench-wizard-action-details/add-to-backbone-classifications/WorkbenchWizardActionsAddToBackboneClassificationsDetails';\nimport { WorkbenchWizardLayout } from 'apps/workbench/components/workbench-wizard-layout/WorkbenchWizardLayout';\nimport { WorkbenchViewModel } from 'apps/workbench/constants/WorkbenchViewModel';\nimport { WorkbenchWizardProps } from 'apps/workbench/interfaces/WorkbenchWizardProps';\nimport { getWorkbenchVideoAppLinks } from 'apps/workbench/utils/WorkbenchAppLinks';\n\nexport function WorkbenchVideoActionsAddToBackboneClassificationsDetailsView(props: WorkbenchWizardProps): JSX.Element {\n const appLinks = getWorkbenchVideoAppLinks(props.listId);\n const subjectTree = useBasicFetch<SubjectTree>(\n SubjectRequests.getSubjectTree(PresentationType.Subject)\n );\n\n return (\n <WorkbenchWizardLayout\n listId={props.listId}\n appLinks={appLinks}\n currentStep='action-details'\n viewModelKey={WorkbenchViewModel.VIDEO_VIEW_MODEL_KEY}\n type={MasterType.Video}\n loaded={!!subjectTree.data}\n >\n <WorkbenchWizardActionsAddToBackboneClassificationsDetails\n appLinks={appLinks}\n listId={props.listId}\n viewModelKey={WorkbenchViewModel.VIDEO_VIEW_MODEL_KEY}\n subjectTree={subjectTree.data}\n loaded={!!subjectTree.data}\n />\n </WorkbenchWizardLayout>\n );\n}\n"],"mappings":"soBA0BM,EAAY,yCAElB,SAAgB,EACd,EACa,CACb,GAAM,CAAE,eAAgB,EAAe,EAAM,MAAM,EAC7C,CAAE,EAAW,GAAiB,EAAuC,EAAM,YAAY,EACvF,CAAE,kBAAA,EAAyB,WAAW,CAAmB,EAEzD,EAAgB,GAAsB,CAC1C,IAAM,EAAW,EAAY,YAC3B,EAAU,SAAS,IAAI,GAAM,EAAG,SAAS,CAAC,EAC1C,EAAK,GAAG,SAAS,CACnB,EAEA,EAAa,WAAY,CAAQ,CACnC,EAEA,EAAM,cAAgB,CACpB,EAAa,YAAa,8BAA8B,EACpD,GAAW,UAAU,OACvB,EAAa,WAAY,EAAU,QAAQ,EAE3C,EAAa,WAAY,CAAC,CAAC,CAE/B,EAAG,CAAC,CAAC,EAEL,EAAM,cAAgB,CACpB,EAAe,CAAC,GAAW,UAAU,MAAM,CAC7C,EAAG,CAAC,GAAW,QAAQ,CAAC,EAExB,IAAM,EAAkB,CAAC,GAAW,UAAU,OAK9C,OAHK,EAAM,QAIT,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,gBAAf,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,eACZ,EAAA,EAAA,IAAA,CAAC,EAAD,CACa,YACX,OAAO,SACR,CAAA,CACC,CAAA,GACJ,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,wBACX,EAAA,EAAA,IAAA,CAAC,EAAD,CACa,YACX,OAAO,eACP,QAAS,CAAE,WAAY,GAAa,MAAO,CAC5C,CAAA,CACA,CAAA,GACH,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,qCACb,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,MAAO,EAAgB,UAAU,EAAW,WAAW,EACvD,KAAM,EAAM,YACZ,YAAa,GAAW,SACP,kBACjB,SAAU,EACV,uBAAwB,EAAgB,iCACxC,uBAAA,GACA,YAAA,EACD,CAAA,CACE,CAAA,CACF,KA7BE,EAAA,EAAA,IAAA,CAAC,EAAD,CAA4B,CAAA,CA+BvC,CC3EA,SAAgB,EAA6D,EAA0C,CACrH,IAAM,EAAW,EAA0B,EAAM,MAAM,EACjD,EAAc,EAClB,EAAgB,eAAe,EAAiB,OAAO,CACzD,EAEA,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,OAAQ,EAAM,OACJ,WACV,YAAY,iBACZ,aAAc,EAAmB,qBACjC,KAAM,EAAW,MACjB,OAAQ,CAAC,CAAC,EAAY,eAEtB,EAAA,EAAA,IAAA,CAAC,EAAD,CACY,WACV,OAAQ,EAAM,OACd,aAAc,EAAmB,qBACjC,YAAa,EAAY,KACzB,OAAQ,CAAC,CAAC,EAAY,IACvB,CAAA,CACoB,CAAA,CAE3B"}
@@ -1,2 +1,2 @@
1
- import{a as e,ln as t}from"./rp704-Pm.chunk.js";import{G as n,W as r}from"./C7Gmh7eY.chunk.js";import{t as i}from"./EkUBWhps2.chunk.js";import{s as a}from"./Dgk5cBBe.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as o}from"./y1L3G7XA2.chunk.js";var s=`assembly_line_columns_settings`,c=`assembly_line_column_size_settings`,l=t(e());function u(e,t,s,c){let u=a(n.getQuickFilters(t)),d=i.get(o),f=c||!d?.[t]?{added:[],removed:[]}:d[t];return l.useMemo(()=>{function n(){let{quickFilter:n}=e,i=u.data?.find(e=>e.id===n);return i?i.columns:[...r.getDefaultColumnFilterOptions(t,c).map(e=>e.id),...f.added].filter(e=>!f.removed.includes(e))}let i=new Set(n());if(!i.size){let e=new Set(r.getDefaultColumnFilterOptions(t).map(e=>e.id));return r.getAllColumnFilterOptions(s).reduce((t,n)=>({...t,[n.id]:e.has(n.id)}),{})}return r.getAllColumnFilterOptions(s).reduce((e,t)=>({...e,[t.id]:i.has(t.id)}),{})},[u.data,e,f.added.join(`,`),f.removed.join(`,`)])}export{c as n,s as r,u as t};
2
- //# sourceMappingURL=DxL0ZEcN2.chunk.js.map
1
+ import{a as e,ln as t}from"./rp704-Pm.chunk.js";import{G as n,W as r}from"./DWHKdmdQ.chunk.js";import{t as i}from"./EkUBWhps2.chunk.js";import{s as a}from"./Dgk5cBBe.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as o}from"./4Tx2JSvk2.chunk.js";var s=`assembly_line_columns_settings`,c=`assembly_line_column_size_settings`,l=t(e());function u(e,t,s,c){let u=a(n.getQuickFilters(t)),d=i.get(o),f=c||!d?.[t]?{added:[],removed:[]}:d[t];return l.useMemo(()=>{function n(){let{quickFilter:n}=e,i=u.data?.find(e=>e.id===n);return i?i.columns:[...r.getDefaultColumnFilterOptions(t,c).map(e=>e.id),...f.added].filter(e=>!f.removed.includes(e))}let i=new Set(n());if(!i.size){let e=new Set(r.getDefaultColumnFilterOptions(t).map(e=>e.id));return r.getAllColumnFilterOptions(s).reduce((t,n)=>({...t,[n.id]:e.has(n.id)}),{})}return r.getAllColumnFilterOptions(s).reduce((e,t)=>({...e,[t.id]:i.has(t.id)}),{})},[u.data,e,f.added.join(`,`),f.removed.join(`,`)])}export{c as n,s as r,u as t};
2
+ //# sourceMappingURL=BiPUuGEE2.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DxL0ZEcN2.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/constants/AssemblyLineTableColumnsSettingString.ts","../../../../../src/apps/assembly-line/hooks/useAssemblyLineColumns.ts"],"sourcesContent":["export const ASSEMBLY_LINE_PINNED_COLUMN_SETTINGS = 'assembly_line_columns_settings';\nexport const ASSEMBLY_LINE_COLUMN_SIZE_SETTINGS = 'assembly_line_column_size_settings';\n","import React from 'react';\nimport { VisibilityState } from '@tanstack/react-table';\n\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Flight } from 'libs/common/react/index';\n\nimport { CONTENT_PIPELINE_COLUMNS } from 'apps/assembly-line/components/column-filters/ColumnFilters';\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { AssemblyLineObjectType } from 'apps/assembly-line/interfaces/AssemblyLineObjectType';\nimport { AssemblyLineQueryParams } from 'apps/assembly-line/interfaces/AssemblyLineQueryParams';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\nimport { QuickFilter } from 'apps/assembly-line/interfaces/responses/QuickFilter';\n\nimport { AssemblyLineView } from '../interfaces/AssemblyLineView';\nimport { AssemblyLineHelper } from '../utils/AssemblyLineHelper';\n\ninterface StageColumns {\n // Non-default columns that have been included\n added: string[];\n // Default columns that have been removed\n removed: string[];\n}\n\nexport type SavedAssemblyLineColumns = Record<AssemblyLineStage, StageColumns>;\n\nexport function useAssemblyLineColumns(\n queryParams: AssemblyLineQueryParams,\n stage: AssemblyLineStage,\n objectType: AssemblyLineObjectType,\n view?: AssemblyLineView\n): VisibilityState {\n const quickFilters = Flight.useBasicFetch<QuickFilter[]>(AssemblyLineRequests.getQuickFilters(stage));\n const savedColumns = LocalStorageHelper.get<SavedAssemblyLineColumns>(CONTENT_PIPELINE_COLUMNS);\n const columns = (view || !savedColumns?.[stage]) ? { added: [], removed: []} : savedColumns[stage];\n\n return React.useMemo(() => {\n function getSelectedColumnIds(): string[] {\n const { quickFilter: quickFilterId } = queryParams;\n \n const quickFilter = quickFilters.data?.find(qf => qf.id === quickFilterId);\n \n if (quickFilter)\n return quickFilter.columns;\n\n const defaultColumns = AssemblyLineHelper.getDefaultColumnFilterOptions(stage, view).map(o => o.id);\n\n return [ ...defaultColumns, ...columns.added ].filter(col => !columns.removed.includes(col));\n }\n \n const selectedColumnIds = new Set(getSelectedColumnIds());\n \n if (!selectedColumnIds.size) {\n const defaultColumns = new Set(AssemblyLineHelper.getDefaultColumnFilterOptions(stage).map(o => o.id));\n\n return AssemblyLineHelper.getAllColumnFilterOptions(objectType).reduce<VisibilityState>((state, column) => {\n return {\n ...state,\n [column.id]: defaultColumns.has(column.id)\n };\n }, {});\n }\n\n return AssemblyLineHelper.getAllColumnFilterOptions(objectType).reduce<VisibilityState>((state, column) => {\n return {\n ...state,\n [column.id]: selectedColumnIds.has(column.id)\n };\n }, {});\n }, [ quickFilters.data, queryParams, columns.added.join(','), columns.removed.join(',') ]);\n}\n"],"mappings":"qPAAA,IAAa,EAAuC,iCACvC,EAAqC,8CCwBlD,SAAgB,EACd,EACA,EACA,EACA,EACiB,CACjB,IAAM,EAAe,EAAoC,EAAqB,gBAAgB,CAAK,CAAC,EAC9F,EAAe,EAAmB,IAA8B,CAAwB,EACxF,EAAW,GAAQ,CAAC,IAAe,GAAU,CAAE,MAAO,CAAC,EAAG,QAAS,CAAC,CAAC,EAAI,EAAa,GAE5F,OAAA,EAAa,YAAc,CACzB,SAAS,GAAiC,CACxC,GAAM,CAAE,YAAa,GAAkB,EAEjC,EAAc,EAAa,MAAM,KAAK,GAAM,EAAG,KAAO,CAAa,EAOzE,OALI,EACK,EAAY,QAId,CAAE,GAFc,EAAmB,8BAA8B,EAAO,CAAI,CAAC,CAAC,IAAI,GAAK,EAAE,EAEpF,EAAgB,GAAG,EAAQ,KAAM,CAAC,CAAC,OAAO,GAAO,CAAC,EAAQ,QAAQ,SAAS,CAAG,CAAC,CAC7F,CAEA,IAAM,EAAoB,IAAI,IAAI,EAAqB,CAAC,EAExD,GAAI,CAAC,EAAkB,KAAM,CAC3B,IAAM,EAAiB,IAAI,IAAI,EAAmB,8BAA8B,CAAK,CAAC,CAAC,IAAI,GAAK,EAAE,EAAE,CAAC,EAErG,OAAO,EAAmB,0BAA0B,CAAU,CAAC,CAAC,QAAyB,EAAO,KACvF,CACL,GAAG,GACF,EAAO,IAAK,EAAe,IAAI,EAAO,EAAE,CAC3C,GACC,CAAC,CAAC,CACP,CAEA,OAAO,EAAmB,0BAA0B,CAAU,CAAC,CAAC,QAAyB,EAAO,KACvF,CACL,GAAG,GACF,EAAO,IAAK,EAAkB,IAAI,EAAO,EAAE,CAC9C,GACC,CAAC,CAAC,CACP,EAAG,CAAE,EAAa,KAAM,EAAa,EAAQ,MAAM,KAAK,GAAG,EAAG,EAAQ,QAAQ,KAAK,GAAG,CAAE,CAAC,CAC3F"}
1
+ {"version":3,"file":"BiPUuGEE2.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/constants/AssemblyLineTableColumnsSettingString.ts","../../../../../src/apps/assembly-line/hooks/useAssemblyLineColumns.ts"],"sourcesContent":["export const ASSEMBLY_LINE_PINNED_COLUMN_SETTINGS = 'assembly_line_columns_settings';\nexport const ASSEMBLY_LINE_COLUMN_SIZE_SETTINGS = 'assembly_line_column_size_settings';\n","import React from 'react';\nimport { VisibilityState } from '@tanstack/react-table';\n\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Flight } from 'libs/common/react/index';\n\nimport { CONTENT_PIPELINE_COLUMNS } from 'apps/assembly-line/components/column-filters/ColumnFilters';\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { AssemblyLineObjectType } from 'apps/assembly-line/interfaces/AssemblyLineObjectType';\nimport { AssemblyLineQueryParams } from 'apps/assembly-line/interfaces/AssemblyLineQueryParams';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\nimport { QuickFilter } from 'apps/assembly-line/interfaces/responses/QuickFilter';\n\nimport { AssemblyLineView } from '../interfaces/AssemblyLineView';\nimport { AssemblyLineHelper } from '../utils/AssemblyLineHelper';\n\ninterface StageColumns {\n // Non-default columns that have been included\n added: string[];\n // Default columns that have been removed\n removed: string[];\n}\n\nexport type SavedAssemblyLineColumns = Record<AssemblyLineStage, StageColumns>;\n\nexport function useAssemblyLineColumns(\n queryParams: AssemblyLineQueryParams,\n stage: AssemblyLineStage,\n objectType: AssemblyLineObjectType,\n view?: AssemblyLineView\n): VisibilityState {\n const quickFilters = Flight.useBasicFetch<QuickFilter[]>(AssemblyLineRequests.getQuickFilters(stage));\n const savedColumns = LocalStorageHelper.get<SavedAssemblyLineColumns>(CONTENT_PIPELINE_COLUMNS);\n const columns = (view || !savedColumns?.[stage]) ? { added: [], removed: []} : savedColumns[stage];\n\n return React.useMemo(() => {\n function getSelectedColumnIds(): string[] {\n const { quickFilter: quickFilterId } = queryParams;\n \n const quickFilter = quickFilters.data?.find(qf => qf.id === quickFilterId);\n \n if (quickFilter)\n return quickFilter.columns;\n\n const defaultColumns = AssemblyLineHelper.getDefaultColumnFilterOptions(stage, view).map(o => o.id);\n\n return [ ...defaultColumns, ...columns.added ].filter(col => !columns.removed.includes(col));\n }\n \n const selectedColumnIds = new Set(getSelectedColumnIds());\n \n if (!selectedColumnIds.size) {\n const defaultColumns = new Set(AssemblyLineHelper.getDefaultColumnFilterOptions(stage).map(o => o.id));\n\n return AssemblyLineHelper.getAllColumnFilterOptions(objectType).reduce<VisibilityState>((state, column) => {\n return {\n ...state,\n [column.id]: defaultColumns.has(column.id)\n };\n }, {});\n }\n\n return AssemblyLineHelper.getAllColumnFilterOptions(objectType).reduce<VisibilityState>((state, column) => {\n return {\n ...state,\n [column.id]: selectedColumnIds.has(column.id)\n };\n }, {});\n }, [ quickFilters.data, queryParams, columns.added.join(','), columns.removed.join(',') ]);\n}\n"],"mappings":"qPAAA,IAAa,EAAuC,iCACvC,EAAqC,8CCwBlD,SAAgB,EACd,EACA,EACA,EACA,EACiB,CACjB,IAAM,EAAe,EAAoC,EAAqB,gBAAgB,CAAK,CAAC,EAC9F,EAAe,EAAmB,IAA8B,CAAwB,EACxF,EAAW,GAAQ,CAAC,IAAe,GAAU,CAAE,MAAO,CAAC,EAAG,QAAS,CAAC,CAAC,EAAI,EAAa,GAE5F,OAAA,EAAa,YAAc,CACzB,SAAS,GAAiC,CACxC,GAAM,CAAE,YAAa,GAAkB,EAEjC,EAAc,EAAa,MAAM,KAAK,GAAM,EAAG,KAAO,CAAa,EAOzE,OALI,EACK,EAAY,QAId,CAAE,GAFc,EAAmB,8BAA8B,EAAO,CAAI,CAAC,CAAC,IAAI,GAAK,EAAE,EAEpF,EAAgB,GAAG,EAAQ,KAAM,CAAC,CAAC,OAAO,GAAO,CAAC,EAAQ,QAAQ,SAAS,CAAG,CAAC,CAC7F,CAEA,IAAM,EAAoB,IAAI,IAAI,EAAqB,CAAC,EAExD,GAAI,CAAC,EAAkB,KAAM,CAC3B,IAAM,EAAiB,IAAI,IAAI,EAAmB,8BAA8B,CAAK,CAAC,CAAC,IAAI,GAAK,EAAE,EAAE,CAAC,EAErG,OAAO,EAAmB,0BAA0B,CAAU,CAAC,CAAC,QAAyB,EAAO,KACvF,CACL,GAAG,GACF,EAAO,IAAK,EAAe,IAAI,EAAO,EAAE,CAC3C,GACC,CAAC,CAAC,CACP,CAEA,OAAO,EAAmB,0BAA0B,CAAU,CAAC,CAAC,QAAyB,EAAO,KACvF,CACL,GAAG,GACF,EAAO,IAAK,EAAkB,IAAI,EAAO,EAAE,CAC9C,GACC,CAAC,CAAC,CACP,EAAG,CAAE,EAAa,KAAM,EAAa,EAAQ,MAAM,KAAK,GAAG,EAAG,EAAQ,QAAQ,KAAK,GAAG,CAAE,CAAC,CAC3F"}
@@ -1,2 +1,2 @@
1
- import{a as e,i as t,t as n}from"./rp704-Pm.chunk.js";import{t as r}from"./Crs6pJ2h.chunk.js";import{t as i}from"./DZX1tZ-D.chunk.js";import{n as a}from"./CFoexGFe.chunk.js";import{n as o}from"./BVbA6fE6.chunk.js";import{a as s,n as c,t as l}from"./DBUreHJA.chunk.js";import{t as u}from"./Da4lNxpT2.chunk.js";import{d}from"./BhKv6dKl2.chunk.js";import{n as f}from"./CbiGs3Tn.chunk.js";import{t as p}from"./B6uYrrzJ2.chunk.js";import{t as m}from"./Duk0omCc2.chunk.js";import{t as h}from"./CJnHr1ww2.chunk.js";function g(e,t){let r=``;switch(t){case a.Videos:r=`/videos/${e.id}/${n.slugify(e.name)}`;break;case a.Playlists:r=`/playlists/${e.id}/${n.slugify(e.name)}`;break;case a.Series:r=`/series/${e.id}/${n.slugify(e.name)}`;break;case a.Clips:r=`/clips/${e.id}/${n.slugify(e.name)}`;break;case a.Interactives:r=`/interactive/${e.id}/${n.slugify(e.name)}`;break}return i.safeUrlConcat(ClickView.Config.Urls.LiteUrl,r)}function _(e){return e.series?.id?i.safeUrlConcat(ClickView.Config.Urls.LiteUrl,`/series/${e.series.id}/${n.slugify(e.series.name)}`):``}function v(e){return e?.replace(/[,#]/g,``)??``}var y={exportMembers(e,t,n){let r=o.singularizeMemberType(t),i=[`${r} id`,`${r} name`,`${r} link`];t===a.Videos&&i.push(`Series link`);let s=[i];e.forEach(e=>{let n=[];n.push(e.id),n.push(v(e.name)),n.push(g(e,t)),t===a.Videos&&n.push(_(e)),s.push(n)}),h.downloadCsvArray(s,`${n}_${t}.csv`)}};e();var b=t();function x(e){if(e===a.Videos)return l.ClassificationVideos;if(e===a.Series)return l.ClassificationSeries;if(e===a.Playlists)return l.ClassificationPlaylists;if(e===a.Clips)return l.ClassificationClips;if(e===a.Interactives)return l.ClassificationInteractives}function S(e){return e===a.Videos?[s.Video,s.Series]:[]}function C(e){let{classificationId:t,memberType:n,presentation:i,classification:o,audiences:s,visibleVideos:l,items:h,isFetching:g,hasMore:_,nextCursor:v,fetchNext:y,columnActions:C,appLinks:w,getTabs:T,onExport:E,bulkRemoveAppLink:D}=e,O=m(h||[]),k=c.getColumnSet(x(n)),A={actions:C,appLinks:w,extraData:{allAudiences:s,visibleVideos:l,pinnedVideoId:o?.pinnedVideoMasterId,checkboxManager:O}},j=n===a.Videos?!!h&&!!l:!!h,M=!!D&&O.hasSomeSelections();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d,{memberType:n,presentation:i,classificationId:t,getTabs:T}),j?(0,b.jsx)(p,{members:h,columns:k,columnData:A,columnGroups:S(n),emptyStateText:`No ${n} in this topic.`,isFetching:g,fetchNext:y,nextCursor:v,hasMoreMembers:_,children:(0,b.jsxs)(`div`,{className:`ms-auto`,children:[D&&(0,b.jsx)(r,{className:`btn btn-outline-danger me-3 ${M?``:`disabled`}`,appLink:D(t,n,O.getSelected()),disabled:!M,children:`Bulk remove videos`}),E&&(0,b.jsx)(u,{variant:`outline-dark`,onClick:()=>E(h),children:`Export table`})]})}):(0,b.jsx)(`div`,{className:`text-center p-5`,children:(0,b.jsx)(f,{as:`div`,animation:`border`,role:`status`})})]})}export{y as n,C as t};
2
- //# sourceMappingURL=2XS-c0Xo.chunk.js.map
1
+ import{a as e,i as t,t as n}from"./rp704-Pm.chunk.js";import{t as r}from"./Crs6pJ2h.chunk.js";import{t as i}from"./DZX1tZ-D.chunk.js";import{n as a}from"./CFoexGFe.chunk.js";import{n as o}from"./BVbA6fE6.chunk.js";import{a as s,n as c,t as l}from"./C-M2om56.chunk.js";import{t as u}from"./Da4lNxpT2.chunk.js";import{d}from"./GpDEun8c2.chunk.js";import{n as f}from"./CbiGs3Tn.chunk.js";import{t as p}from"./DB-51xws2.chunk.js";import{t as m}from"./Duk0omCc2.chunk.js";import{t as h}from"./CJnHr1ww2.chunk.js";function g(e,t){let r=``;switch(t){case a.Videos:r=`/videos/${e.id}/${n.slugify(e.name)}`;break;case a.Playlists:r=`/playlists/${e.id}/${n.slugify(e.name)}`;break;case a.Series:r=`/series/${e.id}/${n.slugify(e.name)}`;break;case a.Clips:r=`/clips/${e.id}/${n.slugify(e.name)}`;break;case a.Interactives:r=`/interactive/${e.id}/${n.slugify(e.name)}`;break}return i.safeUrlConcat(ClickView.Config.Urls.LiteUrl,r)}function _(e){return e.series?.id?i.safeUrlConcat(ClickView.Config.Urls.LiteUrl,`/series/${e.series.id}/${n.slugify(e.series.name)}`):``}function v(e){return e?.replace(/[,#]/g,``)??``}var y={exportMembers(e,t,n){let r=o.singularizeMemberType(t),i=[`${r} id`,`${r} name`,`${r} link`];t===a.Videos&&i.push(`Series link`);let s=[i];e.forEach(e=>{let n=[];n.push(e.id),n.push(v(e.name)),n.push(g(e,t)),t===a.Videos&&n.push(_(e)),s.push(n)}),h.downloadCsvArray(s,`${n}_${t}.csv`)}};e();var b=t();function x(e){if(e===a.Videos)return l.ClassificationVideos;if(e===a.Series)return l.ClassificationSeries;if(e===a.Playlists)return l.ClassificationPlaylists;if(e===a.Clips)return l.ClassificationClips;if(e===a.Interactives)return l.ClassificationInteractives}function S(e){return e===a.Videos?[s.Video,s.Series]:[]}function C(e){let{classificationId:t,memberType:n,presentation:i,classification:o,audiences:s,visibleVideos:l,items:h,isFetching:g,hasMore:_,nextCursor:v,fetchNext:y,columnActions:C,appLinks:w,getTabs:T,onExport:E,bulkRemoveAppLink:D}=e,O=m(h||[]),k=c.getColumnSet(x(n)),A={actions:C,appLinks:w,extraData:{allAudiences:s,visibleVideos:l,pinnedVideoId:o?.pinnedVideoMasterId,checkboxManager:O}},j=n===a.Videos?!!h&&!!l:!!h,M=!!D&&O.hasSomeSelections();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d,{memberType:n,presentation:i,classificationId:t,getTabs:T}),j?(0,b.jsx)(p,{members:h,columns:k,columnData:A,columnGroups:S(n),emptyStateText:`No ${n} in this topic.`,isFetching:g,fetchNext:y,nextCursor:v,hasMoreMembers:_,children:(0,b.jsxs)(`div`,{className:`ms-auto`,children:[D&&(0,b.jsx)(r,{className:`btn btn-outline-danger me-3 ${M?``:`disabled`}`,appLink:D(t,n,O.getSelected()),disabled:!M,children:`Bulk remove videos`}),E&&(0,b.jsx)(u,{variant:`outline-dark`,onClick:()=>E(h),children:`Export table`})]})}):(0,b.jsx)(`div`,{className:`text-center p-5`,children:(0,b.jsx)(f,{as:`div`,animation:`border`,role:`status`})})]})}export{y as n,C as t};
2
+ //# sourceMappingURL=Bj4-NRWf.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"2XS-c0Xo.chunk.js","names":[],"sources":["../../../../../src/shared/utils/ClassificationMemberExporter.ts","../../../../../src/apps/subjects/views/classifications/edit-classification-members/EditClassificationMembers.tsx"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Video } from 'libs/shared/interfaces';\nimport { FileHelper } from 'libs/shared/utils/FileHelper';\n\nimport { MatrixMember } from 'shared/components';\nimport { SubjectMemberType } from 'shared/enums';\n\nimport { ClassificationMemberHelper } from './ClassificationMemberHelper';\n\nfunction getMemberUrl(member: MatrixMember, memberType: SubjectMemberType): string {\n let path = '';\n\n switch (memberType) {\n case SubjectMemberType.Videos:\n path = `/videos/${member.id}/${TextHelper.slugify(member.name)}`;\n break;\n case SubjectMemberType.Playlists:\n path = `/playlists/${member.id}/${TextHelper.slugify(member.name)}`;\n break;\n case SubjectMemberType.Series:\n path = `/series/${member.id}/${TextHelper.slugify(member.name)}`;\n break;\n case SubjectMemberType.Clips:\n path = `/clips/${member.id}/${TextHelper.slugify(member.name)}`;\n break;\n case SubjectMemberType.Interactives:\n path = `/interactive/${member.id}/${TextHelper.slugify(member.name)}`;\n break;\n }\n\n return UrlHelper.safeUrlConcat(ClickView.Config.Urls.LiteUrl, path);\n}\n\nfunction getMemberSeriesUrl(member: Video): string {\n if (!member.series?.id)\n return '';\n\n return UrlHelper.safeUrlConcat(\n ClickView.Config.Urls.LiteUrl,\n `/series/${member.series.id}/${TextHelper.slugify(member.series.name)}`\n );\n}\n\nfunction replaceSpecialChars(str: string): string {\n return str?.replace(/[,#]/g, '') ?? '';\n}\n\nexport const ClassificationMemberExporter = {\n exportMembers(items: MatrixMember[], memberType: SubjectMemberType, classificationName: string): void {\n const memberName = ClassificationMemberHelper.singularizeMemberType(memberType);\n\n const header = [ `${memberName} id`, `${memberName} name`, `${memberName} link` ];\n\n if (memberType === SubjectMemberType.Videos)\n header.push('Series link');\n\n const rows = [header];\n\n items.forEach(member => {\n const row = [];\n\n row.push(member.id);\n row.push(replaceSpecialChars(member.name));\n row.push(getMemberUrl(member, memberType));\n\n if (memberType === SubjectMemberType.Videos)\n row.push(getMemberSeriesUrl(member as Video));\n\n rows.push(row);\n });\n\n FileHelper.downloadCsvArray(rows, `${classificationName}_${memberType}.csv`);\n }\n};\n","import React from 'react';\nimport { Button, Spinner } from 'react-bootstrap';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { BaseObject, Classification, Presentation, PresentationAudience } from 'libs/shared/interfaces';\n\nimport { ColumnData, MatrixMember, MemberMatrix } from 'shared/components';\nimport { EditClassificationNav } from 'shared/components/classifications';\nimport { MatrixObjectType, SubjectMemberType } from 'shared/enums';\nimport { HasCuratorPermissionsFunc } from 'shared/hooks';\nimport { NavItem } from 'shared/interfaces';\nimport { DefinedColumnSet, MemberMatrixHelper } from 'shared/utils/MemberMatrixHelper';\n\nfunction getClassificationColumnSet(memberType: SubjectMemberType): DefinedColumnSet {\n if (memberType === SubjectMemberType.Videos)\n return DefinedColumnSet.ClassificationVideos;\n\n if (memberType === SubjectMemberType.Series)\n return DefinedColumnSet.ClassificationSeries;\n\n if (memberType === SubjectMemberType.Playlists)\n return DefinedColumnSet.ClassificationPlaylists;\n\n if (memberType === SubjectMemberType.Clips)\n return DefinedColumnSet.ClassificationClips;\n\n if (memberType === SubjectMemberType.Interactives)\n return DefinedColumnSet.ClassificationInteractives;\n}\n\nfunction getMemberColumnGroups(memberType: SubjectMemberType): MatrixObjectType[] {\n if (memberType === SubjectMemberType.Videos)\n return [ MatrixObjectType.Video, MatrixObjectType.Series ];\n\n return [];\n}\n\nexport interface EditClassificationMembersViewProps {\n classificationId: string;\n memberType: SubjectMemberType;\n\n presentation: Presentation;\n classification: Classification;\n audiences?: PresentationAudience[];\n visibleVideos?: HashObject<BaseObject>;\n\n items: MatrixMember[];\n isFetching: boolean;\n hasMore: boolean;\n nextCursor: string;\n fetchNext: (cursor?: string) => void;\n\n columnActions: (data: Classification | MatrixMember) => ActionOptions[];\n appLinks: HashObject<(...args: any[]) => Core.AppLink>;\n getTabs: (presentationId: string, classificationId: string, hasPermissions: HasCuratorPermissionsFunc) => NavItem[];\n\n // Optional features\n onExport?: (items: MatrixMember[]) => void;\n bulkRemoveAppLink?: (classificationId: string, memberType: SubjectMemberType, selectedIds: string[]) => Core.AppLink;\n}\n\nexport function EditClassificationMembers(props: EditClassificationMembersViewProps): React.ReactElement {\n const {\n classificationId,\n memberType,\n presentation,\n classification,\n audiences,\n visibleVideos,\n items,\n isFetching,\n hasMore,\n nextCursor,\n fetchNext,\n columnActions,\n appLinks,\n getTabs,\n onExport,\n bulkRemoveAppLink\n } = props;\n\n const checkboxManager = useBulkCheckboxManager(items || []);\n\n const columns = MemberMatrixHelper.getColumnSet(getClassificationColumnSet(memberType));\n\n const columnData: ColumnData = {\n actions: columnActions,\n appLinks,\n extraData: {\n allAudiences: audiences,\n visibleVideos: visibleVideos,\n pinnedVideoId: classification?.pinnedVideoMasterId,\n checkboxManager: checkboxManager\n }\n };\n\n const dataLoaded = memberType === SubjectMemberType.Videos ? !!items && !!visibleVideos : !!items;\n const bulkRemoveEnabled = !!bulkRemoveAppLink && checkboxManager.hasSomeSelections();\n\n return (\n <>\n <EditClassificationNav\n memberType={memberType}\n presentation={presentation}\n classificationId={classificationId}\n getTabs={getTabs}\n />\n {(() => {\n if (!dataLoaded)\n return (\n <div className='text-center p-5'>\n <Spinner as='div' animation='border' role='status' />\n </div>\n );\n\n return (\n <MemberMatrix\n members={items}\n columns={columns}\n columnData={columnData}\n columnGroups={getMemberColumnGroups(memberType)}\n emptyStateText={`No ${memberType} in this topic.`}\n isFetching={isFetching}\n fetchNext={fetchNext}\n nextCursor={nextCursor}\n hasMoreMembers={hasMore}\n >\n <div className='ms-auto'>\n {bulkRemoveAppLink && (\n <AppLink\n className={`btn btn-outline-danger me-3 ${!bulkRemoveEnabled ? 'disabled' : ''}`}\n appLink={bulkRemoveAppLink(classificationId, memberType, checkboxManager.getSelected())}\n disabled={!bulkRemoveEnabled}\n >\n Bulk remove videos\n </AppLink>\n )}\n\n {onExport && (\n <Button\n variant='outline-dark'\n onClick={() => onExport(items)}\n >\n Export table\n </Button>\n )}\n </div>\n </MemberMatrix>\n );\n })()}\n </>\n );\n}\n"],"mappings":"4fAWA,SAAS,EAAa,EAAsB,EAAuC,CACjF,IAAI,EAAO,GAEX,OAAQ,EAAR,CACE,KAAK,EAAkB,OACrB,EAAO,WAAW,EAAO,GAAG,GAAG,EAAW,QAAQ,EAAO,IAAI,IAC7D,MACF,KAAK,EAAkB,UACrB,EAAO,cAAc,EAAO,GAAG,GAAG,EAAW,QAAQ,EAAO,IAAI,IAChE,MACF,KAAK,EAAkB,OACrB,EAAO,WAAW,EAAO,GAAG,GAAG,EAAW,QAAQ,EAAO,IAAI,IAC7D,MACF,KAAK,EAAkB,MACrB,EAAO,UAAU,EAAO,GAAG,GAAG,EAAW,QAAQ,EAAO,IAAI,IAC5D,MACF,KAAK,EAAkB,aACrB,EAAO,gBAAgB,EAAO,GAAG,GAAG,EAAW,QAAQ,EAAO,IAAI,IAClE,KACJ,CAEA,OAAO,EAAU,cAAc,UAAU,OAAO,KAAK,QAAS,CAAI,CACpE,CAEA,SAAS,EAAmB,EAAuB,CAIjD,OAHK,EAAO,QAAQ,GAGb,EAAU,cACf,UAAU,OAAO,KAAK,QACtB,WAAW,EAAO,OAAO,GAAG,GAAG,EAAW,QAAQ,EAAO,OAAO,IAAI,GACtE,EALS,EAMX,CAEA,SAAS,EAAoB,EAAqB,CAChD,OAAO,GAAK,QAAQ,QAAS,EAAE,GAAK,EACtC,CAEA,IAAa,EAA+B,CAC1C,cAAc,EAAuB,EAA+B,EAAkC,CACpG,IAAM,EAAa,EAA2B,sBAAsB,CAAU,EAExE,EAAS,CAAE,GAAG,EAAW,KAAM,GAAG,EAAW,OAAQ,GAAG,EAAW,MAAO,EAE5E,IAAe,EAAkB,QACnC,EAAO,KAAK,aAAa,EAE3B,IAAM,EAAO,CAAC,CAAM,EAEpB,EAAM,QAAQ,GAAU,CACtB,IAAM,EAAM,CAAC,EAEb,EAAI,KAAK,EAAO,EAAE,EAClB,EAAI,KAAK,EAAoB,EAAO,IAAI,CAAC,EACzC,EAAI,KAAK,EAAa,EAAQ,CAAU,CAAC,EAErC,IAAe,EAAkB,QACnC,EAAI,KAAK,EAAmB,CAAe,CAAC,EAE9C,EAAK,KAAK,CAAG,CACf,CAAC,EAED,EAAW,iBAAiB,EAAM,GAAG,EAAmB,GAAG,EAAW,KAAK,CAC7E,CACF,gBCzDA,SAAS,EAA2B,EAAiD,CACnF,GAAI,IAAe,EAAkB,OACnC,OAAO,EAAiB,qBAE1B,GAAI,IAAe,EAAkB,OACnC,OAAO,EAAiB,qBAE1B,GAAI,IAAe,EAAkB,UACnC,OAAO,EAAiB,wBAE1B,GAAI,IAAe,EAAkB,MACnC,OAAO,EAAiB,oBAE1B,GAAI,IAAe,EAAkB,aACnC,OAAO,EAAiB,0BAC5B,CAEA,SAAS,EAAsB,EAAmD,CAIhF,OAHI,IAAe,EAAkB,OAC5B,CAAE,EAAiB,MAAO,EAAiB,MAAO,EAEpD,CAAC,CACV,CA0BA,SAAgB,EAA0B,EAA+D,CACvG,GAAM,CACJ,mBACA,aACA,eACA,iBACA,YACA,gBACA,QACA,aACA,UACA,aACA,YACA,gBACA,WACA,UACA,WACA,qBACE,EAEE,EAAkB,EAAuB,GAAS,CAAC,CAAC,EAEpD,EAAU,EAAmB,aAAa,EAA2B,CAAU,CAAC,EAEhF,EAAyB,CAC7B,QAAS,EACT,WACA,UAAW,CACT,aAAc,EACC,gBACf,cAAe,GAAgB,oBACd,iBACnB,CACF,EAEM,EAAa,IAAe,EAAkB,OAAS,CAAC,CAAC,GAAS,CAAC,CAAC,EAAgB,CAAC,CAAC,EACtF,EAAoB,CAAC,CAAC,GAAqB,EAAgB,kBAAkB,EAEnF,OACE,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACc,aACE,eACI,mBACT,SACV,CAAA,EAEM,GAQH,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,QAAS,EACA,UACG,aACZ,aAAc,EAAsB,CAAU,EAC9C,eAAgB,MAAM,EAAW,iBACrB,aACD,YACC,aACZ,eAAgB,YAEhB,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,mBAAf,CACG,IACC,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,UAAW,+BAAgC,EAAiC,GAAb,aAC/D,QAAS,EAAkB,EAAkB,EAAY,EAAgB,YAAY,CAAC,EACtF,SAAU,CAAC,WACZ,oBAEQ,CAAA,EAGV,IACC,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,QAAQ,eACR,YAAe,EAAS,CAAK,WAC9B,cAEO,CAAA,CAEP,GACO,CAAA,GArCZ,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,4BACb,EAAA,EAAA,IAAA,CAAC,EAAD,CAAS,GAAG,MAAM,UAAU,SAAS,KAAK,QAAU,CAAA,CACjD,CAAA,CAsCX,CAAA,CAAA,CAEN"}
1
+ {"version":3,"file":"Bj4-NRWf.chunk.js","names":[],"sources":["../../../../../src/shared/utils/ClassificationMemberExporter.ts","../../../../../src/apps/subjects/views/classifications/edit-classification-members/EditClassificationMembers.tsx"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Video } from 'libs/shared/interfaces';\nimport { FileHelper } from 'libs/shared/utils/FileHelper';\n\nimport { MatrixMember } from 'shared/components';\nimport { SubjectMemberType } from 'shared/enums';\n\nimport { ClassificationMemberHelper } from './ClassificationMemberHelper';\n\nfunction getMemberUrl(member: MatrixMember, memberType: SubjectMemberType): string {\n let path = '';\n\n switch (memberType) {\n case SubjectMemberType.Videos:\n path = `/videos/${member.id}/${TextHelper.slugify(member.name)}`;\n break;\n case SubjectMemberType.Playlists:\n path = `/playlists/${member.id}/${TextHelper.slugify(member.name)}`;\n break;\n case SubjectMemberType.Series:\n path = `/series/${member.id}/${TextHelper.slugify(member.name)}`;\n break;\n case SubjectMemberType.Clips:\n path = `/clips/${member.id}/${TextHelper.slugify(member.name)}`;\n break;\n case SubjectMemberType.Interactives:\n path = `/interactive/${member.id}/${TextHelper.slugify(member.name)}`;\n break;\n }\n\n return UrlHelper.safeUrlConcat(ClickView.Config.Urls.LiteUrl, path);\n}\n\nfunction getMemberSeriesUrl(member: Video): string {\n if (!member.series?.id)\n return '';\n\n return UrlHelper.safeUrlConcat(\n ClickView.Config.Urls.LiteUrl,\n `/series/${member.series.id}/${TextHelper.slugify(member.series.name)}`\n );\n}\n\nfunction replaceSpecialChars(str: string): string {\n return str?.replace(/[,#]/g, '') ?? '';\n}\n\nexport const ClassificationMemberExporter = {\n exportMembers(items: MatrixMember[], memberType: SubjectMemberType, classificationName: string): void {\n const memberName = ClassificationMemberHelper.singularizeMemberType(memberType);\n\n const header = [ `${memberName} id`, `${memberName} name`, `${memberName} link` ];\n\n if (memberType === SubjectMemberType.Videos)\n header.push('Series link');\n\n const rows = [header];\n\n items.forEach(member => {\n const row = [];\n\n row.push(member.id);\n row.push(replaceSpecialChars(member.name));\n row.push(getMemberUrl(member, memberType));\n\n if (memberType === SubjectMemberType.Videos)\n row.push(getMemberSeriesUrl(member as Video));\n\n rows.push(row);\n });\n\n FileHelper.downloadCsvArray(rows, `${classificationName}_${memberType}.csv`);\n }\n};\n","import React from 'react';\nimport { Button, Spinner } from 'react-bootstrap';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { BaseObject, Classification, Presentation, PresentationAudience } from 'libs/shared/interfaces';\n\nimport { ColumnData, MatrixMember, MemberMatrix } from 'shared/components';\nimport { EditClassificationNav } from 'shared/components/classifications';\nimport { MatrixObjectType, SubjectMemberType } from 'shared/enums';\nimport { HasCuratorPermissionsFunc } from 'shared/hooks';\nimport { NavItem } from 'shared/interfaces';\nimport { DefinedColumnSet, MemberMatrixHelper } from 'shared/utils/MemberMatrixHelper';\n\nfunction getClassificationColumnSet(memberType: SubjectMemberType): DefinedColumnSet {\n if (memberType === SubjectMemberType.Videos)\n return DefinedColumnSet.ClassificationVideos;\n\n if (memberType === SubjectMemberType.Series)\n return DefinedColumnSet.ClassificationSeries;\n\n if (memberType === SubjectMemberType.Playlists)\n return DefinedColumnSet.ClassificationPlaylists;\n\n if (memberType === SubjectMemberType.Clips)\n return DefinedColumnSet.ClassificationClips;\n\n if (memberType === SubjectMemberType.Interactives)\n return DefinedColumnSet.ClassificationInteractives;\n}\n\nfunction getMemberColumnGroups(memberType: SubjectMemberType): MatrixObjectType[] {\n if (memberType === SubjectMemberType.Videos)\n return [ MatrixObjectType.Video, MatrixObjectType.Series ];\n\n return [];\n}\n\nexport interface EditClassificationMembersViewProps {\n classificationId: string;\n memberType: SubjectMemberType;\n\n presentation: Presentation;\n classification: Classification;\n audiences?: PresentationAudience[];\n visibleVideos?: HashObject<BaseObject>;\n\n items: MatrixMember[];\n isFetching: boolean;\n hasMore: boolean;\n nextCursor: string;\n fetchNext: (cursor?: string) => void;\n\n columnActions: (data: Classification | MatrixMember) => ActionOptions[];\n appLinks: HashObject<(...args: any[]) => Core.AppLink>;\n getTabs: (presentationId: string, classificationId: string, hasPermissions: HasCuratorPermissionsFunc) => NavItem[];\n\n // Optional features\n onExport?: (items: MatrixMember[]) => void;\n bulkRemoveAppLink?: (classificationId: string, memberType: SubjectMemberType, selectedIds: string[]) => Core.AppLink;\n}\n\nexport function EditClassificationMembers(props: EditClassificationMembersViewProps): React.ReactElement {\n const {\n classificationId,\n memberType,\n presentation,\n classification,\n audiences,\n visibleVideos,\n items,\n isFetching,\n hasMore,\n nextCursor,\n fetchNext,\n columnActions,\n appLinks,\n getTabs,\n onExport,\n bulkRemoveAppLink\n } = props;\n\n const checkboxManager = useBulkCheckboxManager(items || []);\n\n const columns = MemberMatrixHelper.getColumnSet(getClassificationColumnSet(memberType));\n\n const columnData: ColumnData = {\n actions: columnActions,\n appLinks,\n extraData: {\n allAudiences: audiences,\n visibleVideos: visibleVideos,\n pinnedVideoId: classification?.pinnedVideoMasterId,\n checkboxManager: checkboxManager\n }\n };\n\n const dataLoaded = memberType === SubjectMemberType.Videos ? !!items && !!visibleVideos : !!items;\n const bulkRemoveEnabled = !!bulkRemoveAppLink && checkboxManager.hasSomeSelections();\n\n return (\n <>\n <EditClassificationNav\n memberType={memberType}\n presentation={presentation}\n classificationId={classificationId}\n getTabs={getTabs}\n />\n {(() => {\n if (!dataLoaded)\n return (\n <div className='text-center p-5'>\n <Spinner as='div' animation='border' role='status' />\n </div>\n );\n\n return (\n <MemberMatrix\n members={items}\n columns={columns}\n columnData={columnData}\n columnGroups={getMemberColumnGroups(memberType)}\n emptyStateText={`No ${memberType} in this topic.`}\n isFetching={isFetching}\n fetchNext={fetchNext}\n nextCursor={nextCursor}\n hasMoreMembers={hasMore}\n >\n <div className='ms-auto'>\n {bulkRemoveAppLink && (\n <AppLink\n className={`btn btn-outline-danger me-3 ${!bulkRemoveEnabled ? 'disabled' : ''}`}\n appLink={bulkRemoveAppLink(classificationId, memberType, checkboxManager.getSelected())}\n disabled={!bulkRemoveEnabled}\n >\n Bulk remove videos\n </AppLink>\n )}\n\n {onExport && (\n <Button\n variant='outline-dark'\n onClick={() => onExport(items)}\n >\n Export table\n </Button>\n )}\n </div>\n </MemberMatrix>\n );\n })()}\n </>\n );\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{a as e,i as t,ln as n}from"./rp704-Pm.chunk.js";import{G as r}from"./C7Gmh7eY.chunk.js";import{t as i}from"./D-JsEiDq2.chunk.js";import{s as a,u as o}from"./Dgk5cBBe.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as s}from"./BDwjs8qz.chunk.js";import{t as c}from"./Bwpvc7Th2.chunk.js";import{t as l}from"./D0JviwKV2.chunk.js";var u=n(e()),d=t();function f(e){let[t,n]=u.useState(!1),f=a(r.getMasterVideo(e.id)),p=c(),m=o();async function h(){n(!0);let t=()=>p.error(`Something went wrong while deleting <strong>${f.data.name}</strong>. Please try again.`),i=f.data.status===s.Published;try{i&&await m(r.updateVideoStatus(e.id,s.Archived,e.stage));try{await m(r.deleteVideo(e.id,e.stage)),p.success(`Successfully deleted <strong>${f.data.name}</strong>.`),e.closePopup()}catch{t(),i&&await m(r.updateVideoStatus(e.id,s.Published,e.stage)),e.closePopup()}}catch{t(),e.closePopup()}}return(0,d.jsx)(i,{title:`Delete video`,closePopup:e.closePopup,showLoadingSpinner:!f.data,children:!!f.data&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`p`,{children:[`Are you sure you want to delete `,(0,d.jsx)(`strong`,{children:f.data.name}),`?`]}),(0,d.jsxs)(`p`,{children:[`This will `,(0,d.jsx)(`strong`,{children:`permanently`}),` delete the video from ClickView and cannot be undone.`]}),(0,d.jsxs)(l,{children:[(0,d.jsx)(l.Cancel,{onClick:e.closePopup}),(0,d.jsx)(l.Submit,{showSpinner:t,onClick:h,variant:`danger`,text:`Delete video`})]})]})})}export{f as DeleteVideoView};
2
- //# sourceMappingURL=D13ViJt82.chunk.js.map
1
+ import{a as e,i as t,ln as n}from"./rp704-Pm.chunk.js";import{G as r}from"./DWHKdmdQ.chunk.js";import{t as i}from"./D-JsEiDq2.chunk.js";import{s as a,u as o}from"./Dgk5cBBe.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as s}from"./BDwjs8qz.chunk.js";import{t as c}from"./Bwpvc7Th2.chunk.js";import{t as l}from"./D0JviwKV2.chunk.js";var u=n(e()),d=t();function f(e){let[t,n]=u.useState(!1),f=a(r.getMasterVideo(e.id)),p=c(),m=o();async function h(){n(!0);let t=()=>p.error(`Something went wrong while deleting <strong>${f.data.name}</strong>. Please try again.`),i=f.data.status===s.Published;try{i&&await m(r.updateVideoStatus(e.id,s.Archived,e.stage));try{await m(r.deleteVideo(e.id,e.stage)),p.success(`Successfully deleted <strong>${f.data.name}</strong>.`),e.closePopup()}catch{t(),i&&await m(r.updateVideoStatus(e.id,s.Published,e.stage)),e.closePopup()}}catch{t(),e.closePopup()}}return(0,d.jsx)(i,{title:`Delete video`,closePopup:e.closePopup,showLoadingSpinner:!f.data,children:!!f.data&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`p`,{children:[`Are you sure you want to delete `,(0,d.jsx)(`strong`,{children:f.data.name}),`?`]}),(0,d.jsxs)(`p`,{children:[`This will `,(0,d.jsx)(`strong`,{children:`permanently`}),` delete the video from ClickView and cannot be undone.`]}),(0,d.jsxs)(l,{children:[(0,d.jsx)(l.Cancel,{onClick:e.closePopup}),(0,d.jsx)(l.Submit,{showSpinner:t,onClick:h,variant:`danger`,text:`Delete video`})]})]})})}export{f as DeleteVideoView};
2
+ //# sourceMappingURL=BkVcraos2.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"D13ViJt82.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/views/delete-video/DeleteVideoView.tsx"],"sourcesContent":["import React from 'react';\n\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 { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\n\ninterface DeleteVideoViewProps extends PopupViewProps {\n id: string;\n stage: AssemblyLineStage;\n}\n\nexport function DeleteVideoView(props: DeleteVideoViewProps): JSX.Element {\n const [ showSpinner, setShowSpinner ] = React.useState(false);\n\n const video = Flight.useBasicFetch<Video>(AssemblyLineRequests.getMasterVideo(props.id));\n\n const alerts = useAlerts();\n const fetchAsync = Flight.useGetFetchAsync();\n\n async function onClickDelete(): Promise<void> {\n setShowSpinner(true);\n\n const logErrorAlert = () => alerts.error(`Something went wrong while deleting <strong>${video.data.name}</strong>. Please try again.`);\n\n const isPublished = video.data.status === CurationStatus.Published;\n\n try {\n // If the video is published, it needs to be archived first\n if (isPublished)\n await fetchAsync(AssemblyLineRequests.updateVideoStatus(props.id, CurationStatus.Archived, props.stage));\n\n try {\n // Then the video can be deleted\n await fetchAsync(AssemblyLineRequests.deleteVideo(props.id, props.stage));\n \n alerts.success(`Successfully deleted <strong>${video.data.name}</strong>.`);\n props.closePopup();\n } catch {\n logErrorAlert();\n\n // If deleting fails, we revert the status back to published if it was published\n if (isPublished)\n await fetchAsync(AssemblyLineRequests.updateVideoStatus(props.id, CurationStatus.Published, props.stage));\n\n props.closePopup();\n }\n } catch {\n logErrorAlert();\n props.closePopup();\n }\n }\n\n return (\n <Popup title='Delete video' closePopup={props.closePopup} showLoadingSpinner={!video.data}>\n {!!video.data && (\n <>\n <p>\n Are you sure you want to delete <strong>{video.data.name}</strong>?\n </p>\n\n <p>\n This will <strong>permanently</strong> delete the video from ClickView and cannot be undone.\n </p>\n\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit\n showSpinner={showSpinner}\n onClick={onClickDelete}\n variant='danger'\n text='Delete video'\n />\n </PopupButtons>\n </>\n )}\n </Popup>\n );\n}\n"],"mappings":"gWAkBA,SAAgB,EAAgB,EAA0C,CACxE,GAAM,CAAE,EAAa,GAAA,EAAyB,SAAS,EAAK,EAEtD,EAAQ,EAA4B,EAAqB,eAAe,EAAM,EAAE,CAAC,EAEjF,EAAS,EAAU,EACnB,EAAa,EAAwB,EAE3C,eAAe,GAA+B,CAC5C,EAAe,EAAI,EAEnB,IAAM,MAAsB,EAAO,MAAM,+CAA+C,EAAM,KAAK,KAAK,6BAA6B,EAE/H,EAAc,EAAM,KAAK,SAAW,EAAe,UAEzD,GAAI,CAEE,GACF,MAAM,EAAW,EAAqB,kBAAkB,EAAM,GAAI,EAAe,SAAU,EAAM,KAAK,CAAC,EAEzG,GAAI,CAEF,MAAM,EAAW,EAAqB,YAAY,EAAM,GAAI,EAAM,KAAK,CAAC,EAExE,EAAO,QAAQ,gCAAgC,EAAM,KAAK,KAAK,WAAW,EAC1E,EAAM,WAAW,CACnB,MAAQ,CACN,EAAc,EAGV,GACF,MAAM,EAAW,EAAqB,kBAAkB,EAAM,GAAI,EAAe,UAAW,EAAM,KAAK,CAAC,EAE1G,EAAM,WAAW,CACnB,CACF,MAAQ,CACN,EAAc,EACd,EAAM,WAAW,CACnB,CACF,CAEA,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAO,MAAM,eAAe,WAAY,EAAM,WAAY,mBAAoB,CAAC,EAAM,cAClF,CAAC,CAAC,EAAM,OACP,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CAAG,oCAC+B,EAAA,EAAA,IAAA,CAAC,SAAD,CAAA,SAAS,EAAM,KAAK,IAAa,CAAA,EAAC,GACjE,CAAA,CAAA,GAEH,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CAAG,cACS,EAAA,EAAA,IAAA,CAAC,SAAD,CAAA,SAAQ,aAAmB,CAAA,EAAC,wDACrC,CAAA,CAAA,GAEH,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAa,OAAd,CAAqB,QAAS,EAAM,UAAa,CAAA,GACjD,EAAA,EAAA,IAAA,CAAC,EAAa,OAAd,CACe,cACb,QAAS,EACT,QAAQ,SACR,KAAK,cACN,CAAA,CACW,CAAA,CAAA,CACd,CAAA,CAAA,CAEC,CAAA,CAEX"}
1
+ {"version":3,"file":"BkVcraos2.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/views/delete-video/DeleteVideoView.tsx"],"sourcesContent":["import React from 'react';\n\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 { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\n\ninterface DeleteVideoViewProps extends PopupViewProps {\n id: string;\n stage: AssemblyLineStage;\n}\n\nexport function DeleteVideoView(props: DeleteVideoViewProps): JSX.Element {\n const [ showSpinner, setShowSpinner ] = React.useState(false);\n\n const video = Flight.useBasicFetch<Video>(AssemblyLineRequests.getMasterVideo(props.id));\n\n const alerts = useAlerts();\n const fetchAsync = Flight.useGetFetchAsync();\n\n async function onClickDelete(): Promise<void> {\n setShowSpinner(true);\n\n const logErrorAlert = () => alerts.error(`Something went wrong while deleting <strong>${video.data.name}</strong>. Please try again.`);\n\n const isPublished = video.data.status === CurationStatus.Published;\n\n try {\n // If the video is published, it needs to be archived first\n if (isPublished)\n await fetchAsync(AssemblyLineRequests.updateVideoStatus(props.id, CurationStatus.Archived, props.stage));\n\n try {\n // Then the video can be deleted\n await fetchAsync(AssemblyLineRequests.deleteVideo(props.id, props.stage));\n \n alerts.success(`Successfully deleted <strong>${video.data.name}</strong>.`);\n props.closePopup();\n } catch {\n logErrorAlert();\n\n // If deleting fails, we revert the status back to published if it was published\n if (isPublished)\n await fetchAsync(AssemblyLineRequests.updateVideoStatus(props.id, CurationStatus.Published, props.stage));\n\n props.closePopup();\n }\n } catch {\n logErrorAlert();\n props.closePopup();\n }\n }\n\n return (\n <Popup title='Delete video' closePopup={props.closePopup} showLoadingSpinner={!video.data}>\n {!!video.data && (\n <>\n <p>\n Are you sure you want to delete <strong>{video.data.name}</strong>?\n </p>\n\n <p>\n This will <strong>permanently</strong> delete the video from ClickView and cannot be undone.\n </p>\n\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit\n showSpinner={showSpinner}\n onClick={onClickDelete}\n variant='danger'\n text='Delete video'\n />\n </PopupButtons>\n </>\n )}\n </Popup>\n );\n}\n"],"mappings":"gWAkBA,SAAgB,EAAgB,EAA0C,CACxE,GAAM,CAAE,EAAa,GAAA,EAAyB,SAAS,EAAK,EAEtD,EAAQ,EAA4B,EAAqB,eAAe,EAAM,EAAE,CAAC,EAEjF,EAAS,EAAU,EACnB,EAAa,EAAwB,EAE3C,eAAe,GAA+B,CAC5C,EAAe,EAAI,EAEnB,IAAM,MAAsB,EAAO,MAAM,+CAA+C,EAAM,KAAK,KAAK,6BAA6B,EAE/H,EAAc,EAAM,KAAK,SAAW,EAAe,UAEzD,GAAI,CAEE,GACF,MAAM,EAAW,EAAqB,kBAAkB,EAAM,GAAI,EAAe,SAAU,EAAM,KAAK,CAAC,EAEzG,GAAI,CAEF,MAAM,EAAW,EAAqB,YAAY,EAAM,GAAI,EAAM,KAAK,CAAC,EAExE,EAAO,QAAQ,gCAAgC,EAAM,KAAK,KAAK,WAAW,EAC1E,EAAM,WAAW,CACnB,MAAQ,CACN,EAAc,EAGV,GACF,MAAM,EAAW,EAAqB,kBAAkB,EAAM,GAAI,EAAe,UAAW,EAAM,KAAK,CAAC,EAE1G,EAAM,WAAW,CACnB,CACF,MAAQ,CACN,EAAc,EACd,EAAM,WAAW,CACnB,CACF,CAEA,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAO,MAAM,eAAe,WAAY,EAAM,WAAY,mBAAoB,CAAC,EAAM,cAClF,CAAC,CAAC,EAAM,OACP,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CAAG,oCAC+B,EAAA,EAAA,IAAA,CAAC,SAAD,CAAA,SAAS,EAAM,KAAK,IAAa,CAAA,EAAC,GACjE,CAAA,CAAA,GAEH,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CAAG,cACS,EAAA,EAAA,IAAA,CAAC,SAAD,CAAA,SAAQ,aAAmB,CAAA,EAAC,wDACrC,CAAA,CAAA,GAEH,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAa,OAAd,CAAqB,QAAS,EAAM,UAAa,CAAA,GACjD,EAAA,EAAA,IAAA,CAAC,EAAa,OAAd,CACe,cACb,QAAS,EACT,QAAQ,SACR,KAAK,cACN,CAAA,CACW,CAAA,CAAA,CACd,CAAA,CAAA,CAEC,CAAA,CAEX"}
@@ -1,2 +1,2 @@
1
- import{a as e,i as t,ln as n}from"./rp704-Pm.chunk.js";import{r}from"./BKtR2N4K.chunk.js";import{G as i}from"./C7Gmh7eY.chunk.js";import{t as a}from"./DbAhNsCO2.chunk.js";import{t as o}from"./D-JsEiDq2.chunk.js";import{s,u as c}from"./Dgk5cBBe.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as l}from"./DFZ_IQ1H.chunk.js";import{t as u}from"./Bwpvc7Th2.chunk.js";import{t as d}from"./CZyPFSXo.chunk.js";import{t as f}from"./D0JviwKV2.chunk.js";var p=n(e()),m=t();function h(e){let t=s(i.getDashboard(e.dashboardId)),n=e.byPassValidation,h=l.getDashboardTargetInfo(t.data),g=l.isContentPartnerDashboard(h),_=s(t.data&&!g&&d.presentation(t.data.presentationId)),[v,y]=p.useState(!1),[b,x]=p.useState(),S=l.isType(t.data,r.Classification),C=S&&!t.data?.isCurated&&typeof b!=`boolean`,w=c(),T=u();function E(){C||(y(!0),w(i.publishTopicDashboard(t.data,b,n)).then(()=>{T.success(`Successfully published ${t.data.name}.`)}).catch(()=>{T.error(`Something went wrong while publishing ${t.data.name}. Please try again.`)}).finally(()=>{e.closePopup(),y(!1)}))}let D=t.hasCompleted&&(g||_.hasCompleted);return(0,m.jsxs)(o,{title:`Publish topic`,closePopup:e.closePopup,showLoadingSpinner:!D,children:[(0,m.jsxs)(`div`,{children:[n?(0,m.jsxs)(`p`,{children:[`The topic `,(0,m.jsx)(`strong`,{children:t.data?.name}),` `,(0,m.jsx)(`span`,{className:`text-danger`,children:`has some validation issues, but you are bypassing these checks and publishing anyway`}),`. Please ensure the content is ready for students and staff.`]}):(0,m.jsxs)(`p`,{children:[`The topic `,(0,m.jsx)(`strong`,{children:t.data?.name}),` has passed the check and includes all required information to be published.`]}),!g&&(0,m.jsxs)(`p`,{children:[`This will appear live on ClickView for staff and students in `,(0,m.jsx)(`strong`,{children:_.data?.description}),`.`]}),S&&!t.data?.isCurated&&(0,m.jsxs)(`div`,{className:`pb-3`,children:[(0,m.jsx)(`p`,{children:`Previously, this topic was not curated. Should this be released as a curated topic?`}),(0,m.jsx)(a.Check,{type:`radio`,label:`Yes, this is a curated topic`,name:`is-curated`,id:`is-curated`,value:`is-curated`,onChange:()=>x(!0),checked:b===!0,className:`mb-1`}),(0,m.jsx)(a.Check,{type:`radio`,label:`No, this is NOT a curated topic yet`,name:`is-not-curated`,id:`is-not-curated`,value:`is-not-curated`,onChange:()=>x(!1),checked:b===!1})]})]}),(0,m.jsxs)(f,{children:[(0,m.jsx)(f.Cancel,{onClick:e.closePopup}),(0,m.jsx)(f.Submit,{text:`Publish topic`,variant:`dark`,onClick:E,showSpinner:v,type:`button`,disabled:C})]})]})}export{h as AssemblyLinePublishTopicView};
2
- //# sourceMappingURL=U1L4Dfoc.chunk.js.map
1
+ import{a as e,i as t,ln as n}from"./rp704-Pm.chunk.js";import{r}from"./BKtR2N4K.chunk.js";import{G as i}from"./DWHKdmdQ.chunk.js";import{t as a}from"./DbAhNsCO2.chunk.js";import{t as o}from"./D-JsEiDq2.chunk.js";import{s,u as c}from"./Dgk5cBBe.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as l}from"./DFZ_IQ1H.chunk.js";import{t as u}from"./Bwpvc7Th2.chunk.js";import{t as d}from"./CZyPFSXo.chunk.js";import{t as f}from"./D0JviwKV2.chunk.js";var p=n(e()),m=t();function h(e){let t=s(i.getDashboard(e.dashboardId)),n=e.byPassValidation,h=l.getDashboardTargetInfo(t.data),g=l.isContentPartnerDashboard(h),_=s(t.data&&!g&&d.presentation(t.data.presentationId)),[v,y]=p.useState(!1),[b,x]=p.useState(),S=l.isType(t.data,r.Classification),C=S&&!t.data?.isCurated&&typeof b!=`boolean`,w=c(),T=u();function E(){C||(y(!0),w(i.publishTopicDashboard(t.data,b,n)).then(()=>{T.success(`Successfully published ${t.data.name}.`)}).catch(()=>{T.error(`Something went wrong while publishing ${t.data.name}. Please try again.`)}).finally(()=>{e.closePopup(),y(!1)}))}let D=t.hasCompleted&&(g||_.hasCompleted);return(0,m.jsxs)(o,{title:`Publish topic`,closePopup:e.closePopup,showLoadingSpinner:!D,children:[(0,m.jsxs)(`div`,{children:[n?(0,m.jsxs)(`p`,{children:[`The topic `,(0,m.jsx)(`strong`,{children:t.data?.name}),` `,(0,m.jsx)(`span`,{className:`text-danger`,children:`has some validation issues, but you are bypassing these checks and publishing anyway`}),`. Please ensure the content is ready for students and staff.`]}):(0,m.jsxs)(`p`,{children:[`The topic `,(0,m.jsx)(`strong`,{children:t.data?.name}),` has passed the check and includes all required information to be published.`]}),!g&&(0,m.jsxs)(`p`,{children:[`This will appear live on ClickView for staff and students in `,(0,m.jsx)(`strong`,{children:_.data?.description}),`.`]}),S&&!t.data?.isCurated&&(0,m.jsxs)(`div`,{className:`pb-3`,children:[(0,m.jsx)(`p`,{children:`Previously, this topic was not curated. Should this be released as a curated topic?`}),(0,m.jsx)(a.Check,{type:`radio`,label:`Yes, this is a curated topic`,name:`is-curated`,id:`is-curated`,value:`is-curated`,onChange:()=>x(!0),checked:b===!0,className:`mb-1`}),(0,m.jsx)(a.Check,{type:`radio`,label:`No, this is NOT a curated topic yet`,name:`is-not-curated`,id:`is-not-curated`,value:`is-not-curated`,onChange:()=>x(!1),checked:b===!1})]})]}),(0,m.jsxs)(f,{children:[(0,m.jsx)(f.Cancel,{onClick:e.closePopup}),(0,m.jsx)(f.Submit,{text:`Publish topic`,variant:`dark`,onClick:E,showSpinner:v,type:`button`,disabled:C})]})]})}export{h as AssemblyLinePublishTopicView};
2
+ //# sourceMappingURL=BkZ7WS_H.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"U1L4Dfoc.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/views/publish-topic/AssemblyLinePublishTopicView.tsx"],"sourcesContent":["import React from 'react';\nimport { Form } from 'react-bootstrap';\n\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 { DashboardTargetType, Presentation } from 'libs/shared/interfaces';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\n\nimport { SubjectRequests } from 'shared/flight-requests/SubjectRequests';\n\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { AssemblyLineDashboard } from 'apps/assembly-line/interfaces/AssemblyLineDashboard';\n\ninterface AssemblyLinePublishTopicProps {\n dashboardId: string;\n closePopup: () => void;\n byPassValidation?: boolean;\n}\n\nexport function AssemblyLinePublishTopicView(props: AssemblyLinePublishTopicProps): JSX.Element {\n const dashboard = Flight.useBasicFetch<AssemblyLineDashboard>(AssemblyLineRequests.getDashboard(props.dashboardId));\n\n const isByPass = props.byPassValidation;\n\n const targetInfo = CuratedDashboardHelper.getDashboardTargetInfo(dashboard.data);\n const isContentPartnerDashboard = CuratedDashboardHelper.isContentPartnerDashboard(targetInfo);\n const presentation = Flight.useBasicFetch<Presentation>(\n dashboard.data && !isContentPartnerDashboard && SubjectRequests.presentation(dashboard.data.presentationId)\n );\n\n const [ showSpinner, setShowSpinner ] = React.useState(false);\n const [ isCurated, setIsCurated ] = React.useState<boolean>();\n\n const canBeCurated = CuratedDashboardHelper.isType(dashboard.data, DashboardTargetType.Classification);\n\n const disablePublish = canBeCurated && !dashboard.data?.isCurated && typeof isCurated !== 'boolean';\n\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n function onPublish(): void {\n if (disablePublish)\n return;\n\n setShowSpinner(true);\n\n fetchAsync(AssemblyLineRequests.publishTopicDashboard(dashboard.data, isCurated, isByPass))\n .then(() => {\n alerts.success(`Successfully published ${dashboard.data.name}.`);\n })\n .catch(() => {\n alerts.error(`Something went wrong while publishing ${dashboard.data.name}. Please try again.`);\n })\n .finally(() => {\n props.closePopup();\n setShowSpinner(false);\n });\n }\n\n const isLoaded = dashboard.hasCompleted && (isContentPartnerDashboard || presentation.hasCompleted);\n\n return (\n <Popup\n title='Publish topic'\n closePopup={props.closePopup}\n showLoadingSpinner={!isLoaded}\n >\n <div>\n {!isByPass ? (\n <p>\n The topic <strong>{dashboard.data?.name}</strong> has passed the check and includes all required\n information to be published.\n </p>\n ) : (\n <p>\n The topic <strong>{dashboard.data?.name}</strong> <span className='text-danger'>has some validation issues, but you are bypassing\n these checks and publishing anyway</span>. Please ensure the content is ready for students and staff.\n </p>\n )}\n {!isContentPartnerDashboard && (\n <p>\n This will appear live on ClickView for staff and\n students in <strong>{presentation.data?.description}</strong>.\n </p>\n )}\n\n {(canBeCurated && !dashboard.data?.isCurated) && (\n <div className='pb-3'>\n <p>\n Previously, this topic was not curated. Should this be released as a curated topic?\n </p>\n\n <Form.Check\n type='radio'\n label='Yes, this is a curated topic'\n name='is-curated'\n id='is-curated'\n value='is-curated'\n onChange={() => setIsCurated(true)}\n checked={isCurated === true}\n className='mb-1'\n />\n\n <Form.Check\n type='radio'\n label='No, this is NOT a curated topic yet'\n name='is-not-curated'\n id='is-not-curated'\n value='is-not-curated'\n onChange={() => setIsCurated(false)}\n checked={isCurated === false}\n />\n </div>\n )}\n </div>\n \n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit\n text='Publish topic'\n variant='dark'\n onClick={onPublish}\n showSpinner={showSpinner}\n type='button'\n disabled={disablePublish}\n />\n </PopupButtons>\n </Popup>\n );\n}\n"],"mappings":"+cAsBA,SAAgB,EAA6B,EAAmD,CAC9F,IAAM,EAAY,EAA4C,EAAqB,aAAa,EAAM,WAAW,CAAC,EAE5G,EAAW,EAAM,iBAEjB,EAAa,EAAuB,uBAAuB,EAAU,IAAI,EACzE,EAA4B,EAAuB,0BAA0B,CAAU,EACvF,EAAe,EACnB,EAAU,MAAQ,CAAC,GAA6B,EAAgB,aAAa,EAAU,KAAK,cAAc,CAC5G,EAEM,CAAE,EAAa,GAAA,EAAyB,SAAS,EAAK,EACtD,CAAE,EAAW,GAAA,EAAuB,SAAkB,EAEtD,EAAe,EAAuB,OAAO,EAAU,KAAM,EAAoB,cAAc,EAE/F,EAAiB,GAAgB,CAAC,EAAU,MAAM,WAAa,OAAO,GAAc,UAEpF,EAAa,EAAwB,EACrC,EAAS,EAAU,EAEzB,SAAS,GAAkB,CACrB,IAGJ,EAAe,EAAI,EAEnB,EAAW,EAAqB,sBAAsB,EAAU,KAAM,EAAW,CAAQ,CAAC,CAAC,CACxF,SAAW,CACV,EAAO,QAAQ,0BAA0B,EAAU,KAAK,KAAK,EAAE,CACjE,CAAC,CAAC,CACD,UAAY,CACX,EAAO,MAAM,yCAAyC,EAAU,KAAK,KAAK,oBAAoB,CAChG,CAAC,CAAC,CACD,YAAc,CACb,EAAM,WAAW,EACjB,EAAe,EAAK,CACtB,CAAC,EACL,CAEA,IAAM,EAAW,EAAU,eAAiB,GAA6B,EAAa,cAEtF,OACE,EAAA,EAAA,KAAA,CAAC,EAAD,CACE,MAAM,gBACN,WAAY,EAAM,WAClB,mBAAoB,CAAC,WAHvB,EAKE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAA,SAAA,CACI,GAMA,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CAAG,cACS,EAAA,EAAA,IAAA,CAAC,SAAD,CAAA,SAAS,EAAU,MAAM,IAAa,CAAA,EAAC,KAAC,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,uBAAc,sFACtC,CAAA,EAAC,8DAC1C,CAAA,CAAA,GARH,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CAAG,cACS,EAAA,EAAA,IAAA,CAAC,SAAD,CAAA,SAAS,EAAU,MAAM,IAAa,CAAA,EAAC,8EAEhD,CAAA,CAAA,EAOJ,CAAC,IACA,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CAAG,iEAEW,EAAA,EAAA,IAAA,CAAC,SAAD,CAAA,SAAS,EAAa,MAAM,WAAoB,CAAA,EAAC,GAC5D,CAAA,CAAA,EAGH,GAAgB,CAAC,EAAU,MAAM,YACjC,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,gBAAf,EACE,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SAAG,qFAEA,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,EAAK,MAAN,CACE,KAAK,QACL,MAAM,+BACN,KAAK,aACL,GAAG,aACH,MAAM,aACN,aAAgB,EAAa,EAAI,EACjC,QAAS,IAAc,GACvB,UAAU,MACX,CAAA,GAED,EAAA,EAAA,IAAA,CAAC,EAAK,MAAN,CACE,KAAK,QACL,MAAM,sCACN,KAAK,iBACL,GAAG,iBACH,MAAM,iBACN,aAAgB,EAAa,EAAK,EAClC,QAAS,IAAc,EACxB,CAAA,CACE,GAEJ,CAAA,CAAA,GAEL,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAa,OAAd,CAAqB,QAAS,EAAM,UAAa,CAAA,GACjD,EAAA,EAAA,IAAA,CAAC,EAAa,OAAd,CACE,KAAK,gBACL,QAAQ,OACR,QAAS,EACI,cACb,KAAK,SACL,SAAU,CACX,CAAA,CACW,CAAA,CAAA,CACT,GAEX"}
1
+ {"version":3,"file":"BkZ7WS_H.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/views/publish-topic/AssemblyLinePublishTopicView.tsx"],"sourcesContent":["import React from 'react';\nimport { Form } from 'react-bootstrap';\n\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 { DashboardTargetType, Presentation } from 'libs/shared/interfaces';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\n\nimport { SubjectRequests } from 'shared/flight-requests/SubjectRequests';\n\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { AssemblyLineDashboard } from 'apps/assembly-line/interfaces/AssemblyLineDashboard';\n\ninterface AssemblyLinePublishTopicProps {\n dashboardId: string;\n closePopup: () => void;\n byPassValidation?: boolean;\n}\n\nexport function AssemblyLinePublishTopicView(props: AssemblyLinePublishTopicProps): JSX.Element {\n const dashboard = Flight.useBasicFetch<AssemblyLineDashboard>(AssemblyLineRequests.getDashboard(props.dashboardId));\n\n const isByPass = props.byPassValidation;\n\n const targetInfo = CuratedDashboardHelper.getDashboardTargetInfo(dashboard.data);\n const isContentPartnerDashboard = CuratedDashboardHelper.isContentPartnerDashboard(targetInfo);\n const presentation = Flight.useBasicFetch<Presentation>(\n dashboard.data && !isContentPartnerDashboard && SubjectRequests.presentation(dashboard.data.presentationId)\n );\n\n const [ showSpinner, setShowSpinner ] = React.useState(false);\n const [ isCurated, setIsCurated ] = React.useState<boolean>();\n\n const canBeCurated = CuratedDashboardHelper.isType(dashboard.data, DashboardTargetType.Classification);\n\n const disablePublish = canBeCurated && !dashboard.data?.isCurated && typeof isCurated !== 'boolean';\n\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n function onPublish(): void {\n if (disablePublish)\n return;\n\n setShowSpinner(true);\n\n fetchAsync(AssemblyLineRequests.publishTopicDashboard(dashboard.data, isCurated, isByPass))\n .then(() => {\n alerts.success(`Successfully published ${dashboard.data.name}.`);\n })\n .catch(() => {\n alerts.error(`Something went wrong while publishing ${dashboard.data.name}. Please try again.`);\n })\n .finally(() => {\n props.closePopup();\n setShowSpinner(false);\n });\n }\n\n const isLoaded = dashboard.hasCompleted && (isContentPartnerDashboard || presentation.hasCompleted);\n\n return (\n <Popup\n title='Publish topic'\n closePopup={props.closePopup}\n showLoadingSpinner={!isLoaded}\n >\n <div>\n {!isByPass ? (\n <p>\n The topic <strong>{dashboard.data?.name}</strong> has passed the check and includes all required\n information to be published.\n </p>\n ) : (\n <p>\n The topic <strong>{dashboard.data?.name}</strong> <span className='text-danger'>has some validation issues, but you are bypassing\n these checks and publishing anyway</span>. Please ensure the content is ready for students and staff.\n </p>\n )}\n {!isContentPartnerDashboard && (\n <p>\n This will appear live on ClickView for staff and\n students in <strong>{presentation.data?.description}</strong>.\n </p>\n )}\n\n {(canBeCurated && !dashboard.data?.isCurated) && (\n <div className='pb-3'>\n <p>\n Previously, this topic was not curated. Should this be released as a curated topic?\n </p>\n\n <Form.Check\n type='radio'\n label='Yes, this is a curated topic'\n name='is-curated'\n id='is-curated'\n value='is-curated'\n onChange={() => setIsCurated(true)}\n checked={isCurated === true}\n className='mb-1'\n />\n\n <Form.Check\n type='radio'\n label='No, this is NOT a curated topic yet'\n name='is-not-curated'\n id='is-not-curated'\n value='is-not-curated'\n onChange={() => setIsCurated(false)}\n checked={isCurated === false}\n />\n </div>\n )}\n </div>\n \n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit\n text='Publish topic'\n variant='dark'\n onClick={onPublish}\n showSpinner={showSpinner}\n type='button'\n disabled={disablePublish}\n />\n </PopupButtons>\n </Popup>\n );\n}\n"],"mappings":"+cAsBA,SAAgB,EAA6B,EAAmD,CAC9F,IAAM,EAAY,EAA4C,EAAqB,aAAa,EAAM,WAAW,CAAC,EAE5G,EAAW,EAAM,iBAEjB,EAAa,EAAuB,uBAAuB,EAAU,IAAI,EACzE,EAA4B,EAAuB,0BAA0B,CAAU,EACvF,EAAe,EACnB,EAAU,MAAQ,CAAC,GAA6B,EAAgB,aAAa,EAAU,KAAK,cAAc,CAC5G,EAEM,CAAE,EAAa,GAAA,EAAyB,SAAS,EAAK,EACtD,CAAE,EAAW,GAAA,EAAuB,SAAkB,EAEtD,EAAe,EAAuB,OAAO,EAAU,KAAM,EAAoB,cAAc,EAE/F,EAAiB,GAAgB,CAAC,EAAU,MAAM,WAAa,OAAO,GAAc,UAEpF,EAAa,EAAwB,EACrC,EAAS,EAAU,EAEzB,SAAS,GAAkB,CACrB,IAGJ,EAAe,EAAI,EAEnB,EAAW,EAAqB,sBAAsB,EAAU,KAAM,EAAW,CAAQ,CAAC,CAAC,CACxF,SAAW,CACV,EAAO,QAAQ,0BAA0B,EAAU,KAAK,KAAK,EAAE,CACjE,CAAC,CAAC,CACD,UAAY,CACX,EAAO,MAAM,yCAAyC,EAAU,KAAK,KAAK,oBAAoB,CAChG,CAAC,CAAC,CACD,YAAc,CACb,EAAM,WAAW,EACjB,EAAe,EAAK,CACtB,CAAC,EACL,CAEA,IAAM,EAAW,EAAU,eAAiB,GAA6B,EAAa,cAEtF,OACE,EAAA,EAAA,KAAA,CAAC,EAAD,CACE,MAAM,gBACN,WAAY,EAAM,WAClB,mBAAoB,CAAC,WAHvB,EAKE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAA,SAAA,CACI,GAMA,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CAAG,cACS,EAAA,EAAA,IAAA,CAAC,SAAD,CAAA,SAAS,EAAU,MAAM,IAAa,CAAA,EAAC,KAAC,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,uBAAc,sFACtC,CAAA,EAAC,8DAC1C,CAAA,CAAA,GARH,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CAAG,cACS,EAAA,EAAA,IAAA,CAAC,SAAD,CAAA,SAAS,EAAU,MAAM,IAAa,CAAA,EAAC,8EAEhD,CAAA,CAAA,EAOJ,CAAC,IACA,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CAAG,iEAEW,EAAA,EAAA,IAAA,CAAC,SAAD,CAAA,SAAS,EAAa,MAAM,WAAoB,CAAA,EAAC,GAC5D,CAAA,CAAA,EAGH,GAAgB,CAAC,EAAU,MAAM,YACjC,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,gBAAf,EACE,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SAAG,qFAEA,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,EAAK,MAAN,CACE,KAAK,QACL,MAAM,+BACN,KAAK,aACL,GAAG,aACH,MAAM,aACN,aAAgB,EAAa,EAAI,EACjC,QAAS,IAAc,GACvB,UAAU,MACX,CAAA,GAED,EAAA,EAAA,IAAA,CAAC,EAAK,MAAN,CACE,KAAK,QACL,MAAM,sCACN,KAAK,iBACL,GAAG,iBACH,MAAM,iBACN,aAAgB,EAAa,EAAK,EAClC,QAAS,IAAc,EACxB,CAAA,CACE,GAEJ,CAAA,CAAA,GAEL,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAa,OAAd,CAAqB,QAAS,EAAM,UAAa,CAAA,GACjD,EAAA,EAAA,IAAA,CAAC,EAAa,OAAd,CACE,KAAK,gBACL,QAAQ,OACR,QAAS,EACI,cACb,KAAK,SACL,SAAU,CACX,CAAA,CACW,CAAA,CAAA,CACT,GAEX"}
@@ -1,2 +1,2 @@
1
- import{C as e,a as t,i as n}from"./rp704-Pm.chunk.js";import{t as r}from"./UCDGupVs.chunk.js";import{t as i}from"./cwPDEI372.chunk.js";import"./BhKv6dKl2.chunk.js";import{t as a}from"./BT15PHGF.chunk.js";import{n as o,t as s}from"./BN_7c5Xk.chunk.js";import{r as c,s as l}from"./Dgk5cBBe.chunk.js";import{t as u}from"./Bw7dP6jB.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as d}from"./CVHQXNzi.chunk.js";import{t as f}from"./CZyPFSXo.chunk.js";import{t as p}from"./DkLlaBp-.chunk.js";import{t as m}from"./DXH18G3-.chunk.js";import{t as h}from"./BCDw1Rw-2.chunk.js";import{t as g}from"./D9sJnM8l.chunk.js";import{t as _}from"./EzG046l4.chunk.js";import{a as v,i as y,n as b,t as x}from"./DHkpEmxN.chunk.js";import{t as S}from"./cJDsWzu_2.chunk.js";t();var C=n(),w=`workbench.addToBackboneClassificationsConfirmation`,T={[d.Video]:`videoChanges`};function E(e){let[t]=p(e.viewModelKey);return v.useSetWorkbenchConfirmationCallback(e.onConfirmClick,e.viewModelKey),(0,C.jsxs)(s.Provider,{value:w,children:[(0,C.jsx)(`h2`,{className:`h4`,children:(0,C.jsx)(o,{phrase:`heading`})}),(0,C.jsxs)(`div`,{className:`mb-3`,children:[(0,C.jsx)(`h3`,{className:`h6`,children:(0,C.jsx)(o,{phrase:`description`})}),(0,C.jsx)(`div`,{className:`form-control h-auto py-2`,children:(0,C.jsx)(m,{label:a.getPhrase(w,`treeLabel`),tree:e.subjectTree,selectedIds:t?.assocIds,getSelectedItemAppLink:v.getBackboneClassificationAppLink,collapse:!0,hideCollapseBtn:!0,openSelectionsInNewTab:!0})})]}),(0,C.jsxs)(`div`,{className:`mb-3`,children:[(0,C.jsx)(`h3`,{className:`h6 mt-2`,children:(0,C.jsx)(o,{phrase:T[e.type],options:{smartCount:e.objects.length}})}),(0,C.jsx)(h,{items:e.objects,rowHeight:54,getComponent:t=>v.getItemComponent(t,e.type)})]})]})}function D(t){let n=l(r.currentUser()),{workingList:a}=g(t.listId),[o]=p(b.VIDEO_VIEW_MODEL_KEY),s=l(f.getSubjectTree(i.Subject)),m=u(),h=x(t.listId),w=l(_.videosById(a)),T=!!(s.hasCompleted&&s?.data),D=v.useCreateJobErrorAlert();function O(t){e.trigger({...h.wizardActionStatus.polling,params:{jobId:t.id}})}function k(){if(!o)return;let e=v.getCreateJobRequestData(o,a,n.data.id);c(m,S.createJob(e,O,D))}let A=!!n.data&&!!w.data;return(0,C.jsx)(y,{listId:t.listId,appLinks:h,currentStep:`confirmation`,viewModelKey:b.VIDEO_VIEW_MODEL_KEY,type:d.Video,loaded:A,children:(0,C.jsx)(E,{type:d.Video,objects:w.data,appLinks:h,viewModelKey:b.VIDEO_VIEW_MODEL_KEY,subjectTree:s?.data,loaded:T,onConfirmClick:k})})}export{D as WorkbenchVideoAddToBackboneClassificationsConfirmationView};
2
- //# sourceMappingURL=DoQiTqRX2.chunk.js.map
1
+ import{C as e,a as t,i as n}from"./rp704-Pm.chunk.js";import{t as r}from"./UCDGupVs.chunk.js";import{t as i}from"./cwPDEI372.chunk.js";import"./GpDEun8c2.chunk.js";import{t as a}from"./BT15PHGF.chunk.js";import{n as o,t as s}from"./BN_7c5Xk.chunk.js";import{r as c,s as l}from"./Dgk5cBBe.chunk.js";import{t as u}from"./Bw7dP6jB.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as d}from"./CVHQXNzi.chunk.js";import{t as f}from"./CZyPFSXo.chunk.js";import{t as p}from"./DkLlaBp-.chunk.js";import{t as m}from"./DXH18G3-.chunk.js";import{t as h}from"./BCDw1Rw-2.chunk.js";import{t as g}from"./D9sJnM8l.chunk.js";import{t as _}from"./EzG046l4.chunk.js";import{a as v,i as y,n as b,t as x}from"./DHkpEmxN.chunk.js";import{t as S}from"./cJDsWzu_2.chunk.js";t();var C=n(),w=`workbench.addToBackboneClassificationsConfirmation`,T={[d.Video]:`videoChanges`};function E(e){let[t]=p(e.viewModelKey);return v.useSetWorkbenchConfirmationCallback(e.onConfirmClick,e.viewModelKey),(0,C.jsxs)(s.Provider,{value:w,children:[(0,C.jsx)(`h2`,{className:`h4`,children:(0,C.jsx)(o,{phrase:`heading`})}),(0,C.jsxs)(`div`,{className:`mb-3`,children:[(0,C.jsx)(`h3`,{className:`h6`,children:(0,C.jsx)(o,{phrase:`description`})}),(0,C.jsx)(`div`,{className:`form-control h-auto py-2`,children:(0,C.jsx)(m,{label:a.getPhrase(w,`treeLabel`),tree:e.subjectTree,selectedIds:t?.assocIds,getSelectedItemAppLink:v.getBackboneClassificationAppLink,collapse:!0,hideCollapseBtn:!0,openSelectionsInNewTab:!0})})]}),(0,C.jsxs)(`div`,{className:`mb-3`,children:[(0,C.jsx)(`h3`,{className:`h6 mt-2`,children:(0,C.jsx)(o,{phrase:T[e.type],options:{smartCount:e.objects.length}})}),(0,C.jsx)(h,{items:e.objects,rowHeight:54,getComponent:t=>v.getItemComponent(t,e.type)})]})]})}function D(t){let n=l(r.currentUser()),{workingList:a}=g(t.listId),[o]=p(b.VIDEO_VIEW_MODEL_KEY),s=l(f.getSubjectTree(i.Subject)),m=u(),h=x(t.listId),w=l(_.videosById(a)),T=!!(s.hasCompleted&&s?.data),D=v.useCreateJobErrorAlert();function O(t){e.trigger({...h.wizardActionStatus.polling,params:{jobId:t.id}})}function k(){if(!o)return;let e=v.getCreateJobRequestData(o,a,n.data.id);c(m,S.createJob(e,O,D))}let A=!!n.data&&!!w.data;return(0,C.jsx)(y,{listId:t.listId,appLinks:h,currentStep:`confirmation`,viewModelKey:b.VIDEO_VIEW_MODEL_KEY,type:d.Video,loaded:A,children:(0,C.jsx)(E,{type:d.Video,objects:w.data,appLinks:h,viewModelKey:b.VIDEO_VIEW_MODEL_KEY,subjectTree:s?.data,loaded:T,onConfirmClick:k})})}export{D as WorkbenchVideoAddToBackboneClassificationsConfirmationView};
2
+ //# sourceMappingURL=BoMt5mMW2.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DoQiTqRX2.chunk.js","names":[],"sources":["../../../../../src/apps/workbench/components/workbench-wizard-confirmation/add-to-backbone-classifications/WorkbenchWizardActionsAddToBackboneClassificationsConfirmation.tsx","../../../../../src/apps/workbench/views/videos/confirmation/add-to-backbone-classifications/WorkbenchVideoAddToBackboneClassificationsConfirmationView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { WindowedList } from 'libs/shared/components/windowed-list/WindowedList';\nimport { MasterType } from 'libs/shared/enums/MasterType';\n\nimport { TreeSelect } from 'shared/components';\nimport { SubjectTree } from 'shared/interfaces';\n\nimport { WORKBENCH_ITEM_HEIGHT } from 'apps/workbench/components/workbench-wizard-item/WorkbenchWizardItem';\nimport { ValidObjects, ValidTypes } from 'apps/workbench/components/workbench-wizard-layout/WorkbenchWizardLayout';\nimport { WorkbenchWizardAppLinks } from 'apps/workbench/interfaces/WorkbenchWizardAppLinks';\nimport { WorkbenchWizardViewModel } from 'apps/workbench/interfaces/WorkbenchWizardViewModel';\nimport { WorkbenchHelper } from 'apps/workbench/utils/WorkbenchHelper';\n\ninterface WorkbenchWizardActionsAddToBackboneClassificationConfirmationProps<T extends ValidObjects> {\n objects: T[];\n appLinks: WorkbenchWizardAppLinks;\n viewModelKey: string;\n type: ValidTypes;\n subjectTree: SubjectTree;\n loaded: boolean;\n \n onConfirmClick: () => void;\n}\n\nconst namespace = 'workbench.addToBackboneClassificationsConfirmation';\n\nconst ChangeTextPhrase: {[Key in ValidTypes]?: string } = {\n [MasterType.Video]: 'videoChanges'\n};\n\nexport function WorkbenchWizardActionsAddToBackboneClassificationsConfirmation<T extends ValidObjects>(\n props: WorkbenchWizardActionsAddToBackboneClassificationConfirmationProps<T>\n): JSX.Element {\n const [viewModel] = useViewModel<WorkbenchWizardViewModel>(props.viewModelKey);\n\n WorkbenchHelper.useSetWorkbenchConfirmationCallback(props.onConfirmClick, props.viewModelKey);\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <h2 className='h4'>\n <Text phrase='heading' />\n </h2>\n <div className='mb-3'>\n <h3 className='h6'>\n <Text phrase='description' />\n </h3>\n <div className='form-control h-auto py-2'>\n <TreeSelect<SubjectTree>\n label={LanguageService.getPhrase(namespace, 'treeLabel')}\n tree={props.subjectTree}\n selectedIds={viewModel?.assocIds}\n getSelectedItemAppLink={WorkbenchHelper.getBackboneClassificationAppLink}\n collapse\n hideCollapseBtn\n openSelectionsInNewTab\n />\n </div>\n </div>\n <div className='mb-3'>\n <h3 className='h6 mt-2'>\n <Text phrase={ChangeTextPhrase[props.type]} options={{ smartCount: props.objects.length }} />\n </h3>\n <WindowedList\n items={props.objects}\n rowHeight={WORKBENCH_ITEM_HEIGHT}\n getComponent={item => WorkbenchHelper.getItemComponent(item, props.type)}\n />\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}\n","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { useBasicFetch } from 'libs/common/react/flight';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { BatchJob, CuratorUser, Video } from 'libs/shared/interfaces';\n\nimport { SubjectRequests } from 'shared/flight-requests/SubjectRequests';\nimport { SubjectTree } from 'shared/interfaces';\n\nimport { WorkbenchWizardActionsAddToBackboneClassificationsConfirmation } from 'apps/workbench/components/workbench-wizard-confirmation/add-to-backbone-classifications/WorkbenchWizardActionsAddToBackboneClassificationsConfirmation';\nimport { WorkbenchWizardLayout } from 'apps/workbench/components/workbench-wizard-layout/WorkbenchWizardLayout';\nimport { WorkbenchViewModel } from 'apps/workbench/constants/WorkbenchViewModel';\nimport { WorkbenchJobRequests } from 'apps/workbench/flight-requests/WorkbenchJobRequests';\nimport { WorkbenchRequests } from 'apps/workbench/flight-requests/WorkbenchRequests';\nimport { useWorkingList } from 'apps/workbench/hooks/useWorkingList';\nimport { WorkbenchWizardProps } from 'apps/workbench/interfaces/WorkbenchWizardProps';\nimport { WorkbenchWizardViewModel } from 'apps/workbench/interfaces/WorkbenchWizardViewModel';\nimport { getWorkbenchVideoAppLinks } from 'apps/workbench/utils/WorkbenchAppLinks';\nimport { WorkbenchHelper } from 'apps/workbench/utils/WorkbenchHelper';\n\nexport function WorkbenchVideoAddToBackboneClassificationsConfirmationView(props: WorkbenchWizardProps): JSX.Element {\n const currentUser = useBasicFetch<CuratorUser>(UserRequests.currentUser());\n const { workingList } = useWorkingList(props.listId);\n const [viewModel] = useViewModel<WorkbenchWizardViewModel>(WorkbenchViewModel.VIDEO_VIEW_MODEL_KEY);\n const subjectTree = useBasicFetch<SubjectTree>(\n SubjectRequests.getSubjectTree(PresentationType.Subject)\n );\n\n const dispatch = useDispatch();\n const appLinks = getWorkbenchVideoAppLinks(props.listId);\n const videos = Flight.useBasicFetch<Video[]>(WorkbenchRequests.videosById(workingList));\n \n const subjectTreeLoaded = !!(subjectTree.hasCompleted && subjectTree?.data);\n\n const onCreateJobError = WorkbenchHelper.useCreateJobErrorAlert();\n\n function onCreateJob(job: BatchJob): void {\n Core.AppLinkHelper.trigger({\n ...appLinks.wizardActionStatus.polling,\n params: {\n jobId: job.id\n }\n });\n }\n\n function startBulkAction(): void {\n if (!viewModel)\n return;\n\n const data = WorkbenchHelper.getCreateJobRequestData(\n viewModel,\n workingList,\n currentUser.data.id\n );\n\n Flight.fetch(dispatch, WorkbenchJobRequests.createJob(data, onCreateJob, onCreateJobError));\n }\n\n const dataLoaded = !!currentUser.data && !!videos.data;\n\n return (\n <WorkbenchWizardLayout\n listId={props.listId}\n appLinks={appLinks}\n currentStep='confirmation'\n viewModelKey={WorkbenchViewModel.VIDEO_VIEW_MODEL_KEY}\n type={MasterType.Video}\n loaded={dataLoaded}\n >\n <WorkbenchWizardActionsAddToBackboneClassificationsConfirmation<Video>\n type={MasterType.Video}\n objects={videos.data}\n appLinks={appLinks}\n viewModelKey={WorkbenchViewModel.VIDEO_VIEW_MODEL_KEY}\n subjectTree={subjectTree?.data}\n loaded={subjectTreeLoaded}\n onConfirmClick={startBulkAction}\n />\n </WorkbenchWizardLayout>\n );\n}\n"],"mappings":"2vBA6BM,EAAY,qDAEZ,EAAoD,EACvD,EAAW,OAAQ,cACtB,EAEA,SAAgB,EACd,EACa,CACb,GAAM,CAAC,GAAa,EAAuC,EAAM,YAAY,EAI7E,OAFA,EAAgB,oCAAoC,EAAM,eAAgB,EAAM,YAAY,GAG1F,EAAA,EAAA,KAAA,CAAC,EAAyB,SAA1B,CAAmC,MAAO,WAA1C,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,eACZ,EAAA,EAAA,IAAA,CAAC,EAAD,CAAM,OAAO,SAAW,CAAA,CACtB,CAAA,GACJ,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,gBAAf,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,eACZ,EAAA,EAAA,IAAA,CAAC,EAAD,CAAM,OAAO,aAAe,CAAA,CAC1B,CAAA,GACJ,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,qCACb,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,MAAO,EAAgB,UAAU,EAAW,WAAW,EACvD,KAAM,EAAM,YACZ,YAAa,GAAW,SACxB,uBAAwB,EAAgB,iCACxC,SAAA,GACA,gBAAA,GACA,uBAAA,EACD,CAAA,CACE,CAAA,CACF,KACL,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,gBAAf,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,oBACZ,EAAA,EAAA,IAAA,CAAC,EAAD,CAAM,OAAQ,EAAiB,EAAM,MAAO,QAAS,CAAE,WAAY,EAAM,QAAQ,MAAO,CAAI,CAAA,CAC1F,CAAA,GACJ,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,MAAO,EAAM,QACb,UAAA,GACA,aAAc,GAAQ,EAAgB,iBAAiB,EAAM,EAAM,IAAI,CACxE,CAAA,CACE,GAC4B,GAEvC,CChDA,SAAgB,EAA2D,EAA0C,CACnH,IAAM,EAAc,EAA2B,EAAa,YAAY,CAAC,EACnE,CAAE,eAAgB,EAAe,EAAM,MAAM,EAC7C,CAAC,GAAa,EAAuC,EAAmB,oBAAoB,EAC5F,EAAc,EAClB,EAAgB,eAAe,EAAiB,OAAO,CACzD,EAEM,EAAW,EAAY,EACvB,EAAW,EAA0B,EAAM,MAAM,EACjD,EAAS,EAA8B,EAAkB,WAAW,CAAW,CAAC,EAEhF,EAAoB,CAAC,EAAE,EAAY,cAAgB,GAAa,MAEhE,EAAmB,EAAgB,uBAAuB,EAEhE,SAAS,EAAY,EAAqB,CACxC,EAAmB,QAAQ,CACzB,GAAG,EAAS,mBAAmB,QAC/B,OAAQ,CACN,MAAO,EAAI,EACb,CACF,CAAC,CACH,CAEA,SAAS,GAAwB,CAC/B,GAAI,CAAC,EACH,OAEF,IAAM,EAAO,EAAgB,wBAC3B,EACA,EACA,EAAY,KAAK,EACnB,EAEA,EAAa,EAAU,EAAqB,UAAU,EAAM,EAAa,CAAgB,CAAC,CAC5F,CAEA,IAAM,EAAa,CAAC,CAAC,EAAY,MAAQ,CAAC,CAAC,EAAO,KAElD,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,OAAQ,EAAM,OACJ,WACV,YAAY,eACZ,aAAc,EAAmB,qBACjC,KAAM,EAAW,MACjB,OAAQ,YAER,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAM,EAAW,MACjB,QAAS,EAAO,KACN,WACV,aAAc,EAAmB,qBACjC,YAAa,GAAa,KAC1B,OAAQ,EACR,eAAgB,CACjB,CAAA,CACoB,CAAA,CAE3B"}
1
+ {"version":3,"file":"BoMt5mMW2.chunk.js","names":[],"sources":["../../../../../src/apps/workbench/components/workbench-wizard-confirmation/add-to-backbone-classifications/WorkbenchWizardActionsAddToBackboneClassificationsConfirmation.tsx","../../../../../src/apps/workbench/views/videos/confirmation/add-to-backbone-classifications/WorkbenchVideoAddToBackboneClassificationsConfirmationView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { WindowedList } from 'libs/shared/components/windowed-list/WindowedList';\nimport { MasterType } from 'libs/shared/enums/MasterType';\n\nimport { TreeSelect } from 'shared/components';\nimport { SubjectTree } from 'shared/interfaces';\n\nimport { WORKBENCH_ITEM_HEIGHT } from 'apps/workbench/components/workbench-wizard-item/WorkbenchWizardItem';\nimport { ValidObjects, ValidTypes } from 'apps/workbench/components/workbench-wizard-layout/WorkbenchWizardLayout';\nimport { WorkbenchWizardAppLinks } from 'apps/workbench/interfaces/WorkbenchWizardAppLinks';\nimport { WorkbenchWizardViewModel } from 'apps/workbench/interfaces/WorkbenchWizardViewModel';\nimport { WorkbenchHelper } from 'apps/workbench/utils/WorkbenchHelper';\n\ninterface WorkbenchWizardActionsAddToBackboneClassificationConfirmationProps<T extends ValidObjects> {\n objects: T[];\n appLinks: WorkbenchWizardAppLinks;\n viewModelKey: string;\n type: ValidTypes;\n subjectTree: SubjectTree;\n loaded: boolean;\n \n onConfirmClick: () => void;\n}\n\nconst namespace = 'workbench.addToBackboneClassificationsConfirmation';\n\nconst ChangeTextPhrase: {[Key in ValidTypes]?: string } = {\n [MasterType.Video]: 'videoChanges'\n};\n\nexport function WorkbenchWizardActionsAddToBackboneClassificationsConfirmation<T extends ValidObjects>(\n props: WorkbenchWizardActionsAddToBackboneClassificationConfirmationProps<T>\n): JSX.Element {\n const [viewModel] = useViewModel<WorkbenchWizardViewModel>(props.viewModelKey);\n\n WorkbenchHelper.useSetWorkbenchConfirmationCallback(props.onConfirmClick, props.viewModelKey);\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <h2 className='h4'>\n <Text phrase='heading' />\n </h2>\n <div className='mb-3'>\n <h3 className='h6'>\n <Text phrase='description' />\n </h3>\n <div className='form-control h-auto py-2'>\n <TreeSelect<SubjectTree>\n label={LanguageService.getPhrase(namespace, 'treeLabel')}\n tree={props.subjectTree}\n selectedIds={viewModel?.assocIds}\n getSelectedItemAppLink={WorkbenchHelper.getBackboneClassificationAppLink}\n collapse\n hideCollapseBtn\n openSelectionsInNewTab\n />\n </div>\n </div>\n <div className='mb-3'>\n <h3 className='h6 mt-2'>\n <Text phrase={ChangeTextPhrase[props.type]} options={{ smartCount: props.objects.length }} />\n </h3>\n <WindowedList\n items={props.objects}\n rowHeight={WORKBENCH_ITEM_HEIGHT}\n getComponent={item => WorkbenchHelper.getItemComponent(item, props.type)}\n />\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}\n","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { useBasicFetch } from 'libs/common/react/flight';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { BatchJob, CuratorUser, Video } from 'libs/shared/interfaces';\n\nimport { SubjectRequests } from 'shared/flight-requests/SubjectRequests';\nimport { SubjectTree } from 'shared/interfaces';\n\nimport { WorkbenchWizardActionsAddToBackboneClassificationsConfirmation } from 'apps/workbench/components/workbench-wizard-confirmation/add-to-backbone-classifications/WorkbenchWizardActionsAddToBackboneClassificationsConfirmation';\nimport { WorkbenchWizardLayout } from 'apps/workbench/components/workbench-wizard-layout/WorkbenchWizardLayout';\nimport { WorkbenchViewModel } from 'apps/workbench/constants/WorkbenchViewModel';\nimport { WorkbenchJobRequests } from 'apps/workbench/flight-requests/WorkbenchJobRequests';\nimport { WorkbenchRequests } from 'apps/workbench/flight-requests/WorkbenchRequests';\nimport { useWorkingList } from 'apps/workbench/hooks/useWorkingList';\nimport { WorkbenchWizardProps } from 'apps/workbench/interfaces/WorkbenchWizardProps';\nimport { WorkbenchWizardViewModel } from 'apps/workbench/interfaces/WorkbenchWizardViewModel';\nimport { getWorkbenchVideoAppLinks } from 'apps/workbench/utils/WorkbenchAppLinks';\nimport { WorkbenchHelper } from 'apps/workbench/utils/WorkbenchHelper';\n\nexport function WorkbenchVideoAddToBackboneClassificationsConfirmationView(props: WorkbenchWizardProps): JSX.Element {\n const currentUser = useBasicFetch<CuratorUser>(UserRequests.currentUser());\n const { workingList } = useWorkingList(props.listId);\n const [viewModel] = useViewModel<WorkbenchWizardViewModel>(WorkbenchViewModel.VIDEO_VIEW_MODEL_KEY);\n const subjectTree = useBasicFetch<SubjectTree>(\n SubjectRequests.getSubjectTree(PresentationType.Subject)\n );\n\n const dispatch = useDispatch();\n const appLinks = getWorkbenchVideoAppLinks(props.listId);\n const videos = Flight.useBasicFetch<Video[]>(WorkbenchRequests.videosById(workingList));\n \n const subjectTreeLoaded = !!(subjectTree.hasCompleted && subjectTree?.data);\n\n const onCreateJobError = WorkbenchHelper.useCreateJobErrorAlert();\n\n function onCreateJob(job: BatchJob): void {\n Core.AppLinkHelper.trigger({\n ...appLinks.wizardActionStatus.polling,\n params: {\n jobId: job.id\n }\n });\n }\n\n function startBulkAction(): void {\n if (!viewModel)\n return;\n\n const data = WorkbenchHelper.getCreateJobRequestData(\n viewModel,\n workingList,\n currentUser.data.id\n );\n\n Flight.fetch(dispatch, WorkbenchJobRequests.createJob(data, onCreateJob, onCreateJobError));\n }\n\n const dataLoaded = !!currentUser.data && !!videos.data;\n\n return (\n <WorkbenchWizardLayout\n listId={props.listId}\n appLinks={appLinks}\n currentStep='confirmation'\n viewModelKey={WorkbenchViewModel.VIDEO_VIEW_MODEL_KEY}\n type={MasterType.Video}\n loaded={dataLoaded}\n >\n <WorkbenchWizardActionsAddToBackboneClassificationsConfirmation<Video>\n type={MasterType.Video}\n objects={videos.data}\n appLinks={appLinks}\n viewModelKey={WorkbenchViewModel.VIDEO_VIEW_MODEL_KEY}\n subjectTree={subjectTree?.data}\n loaded={subjectTreeLoaded}\n onConfirmClick={startBulkAction}\n />\n </WorkbenchWizardLayout>\n );\n}\n"],"mappings":"2vBA6BM,EAAY,qDAEZ,EAAoD,EACvD,EAAW,OAAQ,cACtB,EAEA,SAAgB,EACd,EACa,CACb,GAAM,CAAC,GAAa,EAAuC,EAAM,YAAY,EAI7E,OAFA,EAAgB,oCAAoC,EAAM,eAAgB,EAAM,YAAY,GAG1F,EAAA,EAAA,KAAA,CAAC,EAAyB,SAA1B,CAAmC,MAAO,WAA1C,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,eACZ,EAAA,EAAA,IAAA,CAAC,EAAD,CAAM,OAAO,SAAW,CAAA,CACtB,CAAA,GACJ,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,gBAAf,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,eACZ,EAAA,EAAA,IAAA,CAAC,EAAD,CAAM,OAAO,aAAe,CAAA,CAC1B,CAAA,GACJ,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,qCACb,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,MAAO,EAAgB,UAAU,EAAW,WAAW,EACvD,KAAM,EAAM,YACZ,YAAa,GAAW,SACxB,uBAAwB,EAAgB,iCACxC,SAAA,GACA,gBAAA,GACA,uBAAA,EACD,CAAA,CACE,CAAA,CACF,KACL,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,gBAAf,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,oBACZ,EAAA,EAAA,IAAA,CAAC,EAAD,CAAM,OAAQ,EAAiB,EAAM,MAAO,QAAS,CAAE,WAAY,EAAM,QAAQ,MAAO,CAAI,CAAA,CAC1F,CAAA,GACJ,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,MAAO,EAAM,QACb,UAAA,GACA,aAAc,GAAQ,EAAgB,iBAAiB,EAAM,EAAM,IAAI,CACxE,CAAA,CACE,GAC4B,GAEvC,CChDA,SAAgB,EAA2D,EAA0C,CACnH,IAAM,EAAc,EAA2B,EAAa,YAAY,CAAC,EACnE,CAAE,eAAgB,EAAe,EAAM,MAAM,EAC7C,CAAC,GAAa,EAAuC,EAAmB,oBAAoB,EAC5F,EAAc,EAClB,EAAgB,eAAe,EAAiB,OAAO,CACzD,EAEM,EAAW,EAAY,EACvB,EAAW,EAA0B,EAAM,MAAM,EACjD,EAAS,EAA8B,EAAkB,WAAW,CAAW,CAAC,EAEhF,EAAoB,CAAC,EAAE,EAAY,cAAgB,GAAa,MAEhE,EAAmB,EAAgB,uBAAuB,EAEhE,SAAS,EAAY,EAAqB,CACxC,EAAmB,QAAQ,CACzB,GAAG,EAAS,mBAAmB,QAC/B,OAAQ,CACN,MAAO,EAAI,EACb,CACF,CAAC,CACH,CAEA,SAAS,GAAwB,CAC/B,GAAI,CAAC,EACH,OAEF,IAAM,EAAO,EAAgB,wBAC3B,EACA,EACA,EAAY,KAAK,EACnB,EAEA,EAAa,EAAU,EAAqB,UAAU,EAAM,EAAa,CAAgB,CAAC,CAC5F,CAEA,IAAM,EAAa,CAAC,CAAC,EAAY,MAAQ,CAAC,CAAC,EAAO,KAElD,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,OAAQ,EAAM,OACJ,WACV,YAAY,eACZ,aAAc,EAAmB,qBACjC,KAAM,EAAW,MACjB,OAAQ,YAER,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAM,EAAW,MACjB,QAAS,EAAO,KACN,WACV,aAAc,EAAmB,qBACjC,YAAa,GAAa,KAC1B,OAAQ,EACR,eAAgB,CACjB,CAAA,CACoB,CAAA,CAE3B"}