@clickview/reports 0.69.0-rc.0 → 0.69.1-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/bundles.json +2 -3
- package/dist/css/1VpVng8x.chunk.css +1 -0
- package/dist/css/BBwBgFf_.chunk.css +1 -0
- package/dist/css/BDijM1kt.chunk.css +1 -0
- package/dist/css/BMPwvOki.chunk.css +1 -0
- package/dist/css/BNt45Kgy.chunk.css +1 -0
- package/dist/css/BSGhUWzl.chunk.css +1 -0
- package/dist/css/BZ3_uhDP.chunk.css +1 -0
- package/dist/css/BaadNO4A.chunk.css +1 -0
- package/dist/css/BdUNjJqp.chunk.css +1 -0
- package/dist/css/BdeI0FAV.chunk.css +1 -0
- package/dist/css/BxcMGr8Y.chunk.css +1 -0
- package/dist/css/ByuL_xKJ.chunk.css +1 -0
- package/dist/css/C-A0Pj_7.chunk.css +1 -0
- package/dist/css/C4jMfPWU.chunk.css +1 -0
- package/dist/css/C7XoyEPr.chunk.css +1 -0
- package/dist/css/C8sxda3R.chunk.css +1 -0
- package/dist/css/CD1qrI1T.chunk.css +1 -0
- package/dist/css/CFO--d_R.chunk.css +1 -0
- package/dist/css/CX9nw8t8.chunk.css +1 -0
- package/dist/css/C_qGRdC2.chunk.css +1 -0
- package/dist/css/CdC6ugQR.chunk.css +1 -0
- package/dist/css/ClRRGXPb.chunk.css +1 -0
- package/dist/css/Cr1bwtZG.chunk.css +1 -0
- package/dist/css/DBlPz5Fw.chunk.css +1 -0
- package/dist/css/DDnpOnVB.chunk.css +1 -0
- package/dist/css/DFZQCLLg.chunk.css +1 -0
- package/dist/css/DJwAbl6l.chunk.css +1 -0
- package/dist/css/DWjg_0sz.chunk.css +1 -0
- package/dist/css/DYV9jjVn.chunk.css +1 -0
- package/dist/css/Dgeh4AqU.chunk.css +9 -0
- package/dist/css/DlOtoSz0.chunk.css +1 -0
- package/dist/css/DlxOgKUu.chunk.css +1 -0
- package/dist/css/DwgaDUzz.chunk.css +1 -0
- package/dist/css/FPQ_LmXH.chunk.css +1 -0
- package/dist/css/H09rC9gw.chunk.css +1 -0
- package/dist/css/LAFr2dPT.chunk.css +1 -0
- package/dist/css/Pg1TlYG6.chunk.css +1 -0
- package/dist/css/PsQn3-kb.chunk.css +1 -0
- package/dist/css/alkEuPrr.chunk.css +1 -0
- package/dist/css/k4DgCj_g.chunk.css +1 -0
- package/dist/en.json +1 -0
- package/dist/scripts/-b_h0A4y.chunk.js +2 -0
- package/dist/scripts/-b_h0A4y.chunk.js.map +1 -0
- package/dist/scripts/0UfVJrf5.chunk.js +2 -0
- package/dist/scripts/0UfVJrf5.chunk.js.map +1 -0
- package/dist/scripts/2cd-ulth.chunk.js +2 -0
- package/dist/scripts/2cd-ulth.chunk.js.map +1 -0
- package/dist/scripts/5O9SdVRZ.chunk.js +2 -0
- package/dist/scripts/5O9SdVRZ.chunk.js.map +1 -0
- package/dist/scripts/72EXv822.chunk.js +2 -0
- package/dist/scripts/72EXv822.chunk.js.map +1 -0
- package/dist/scripts/8CNwntVY.chunk.js +2 -0
- package/dist/scripts/8CNwntVY.chunk.js.map +1 -0
- package/dist/scripts/9pagDMWN.chunk.js +2 -0
- package/dist/scripts/9pagDMWN.chunk.js.map +1 -0
- package/dist/scripts/AKgZQGT0.chunk.js +2 -0
- package/dist/scripts/AKgZQGT0.chunk.js.map +1 -0
- package/dist/scripts/ASoPpgM4.chunk.js +2 -0
- package/dist/scripts/ASoPpgM4.chunk.js.map +1 -0
- package/dist/scripts/B0ZIDriY.chunk.js +6 -0
- package/dist/scripts/B0ZIDriY.chunk.js.map +1 -0
- package/dist/scripts/B3PA8QNB.chunk.js +2 -0
- package/dist/scripts/B3PA8QNB.chunk.js.map +1 -0
- package/dist/scripts/B6QS1MPy.chunk.js +4 -0
- package/dist/scripts/B6QS1MPy.chunk.js.map +1 -0
- package/dist/scripts/B9I2jvNY.chunk.js +2 -0
- package/dist/scripts/B9I2jvNY.chunk.js.map +1 -0
- package/dist/scripts/B9IzwFHp.chunk.js +2 -0
- package/dist/scripts/B9IzwFHp.chunk.js.map +1 -0
- package/dist/scripts/BBGDjrt-.chunk.js +2 -0
- package/dist/scripts/BBGDjrt-.chunk.js.map +1 -0
- package/dist/scripts/BHZ8VWq7.chunk.js +2 -0
- package/dist/scripts/BHZ8VWq7.chunk.js.map +1 -0
- package/dist/scripts/BIIsc-MA.chunk.js +2 -0
- package/dist/scripts/BIIsc-MA.chunk.js.map +1 -0
- package/dist/scripts/BLEXuU9u.chunk.js +2 -0
- package/dist/scripts/BLEXuU9u.chunk.js.map +1 -0
- package/dist/scripts/BLIHpHXi.chunk.js +2 -0
- package/dist/scripts/BLIHpHXi.chunk.js.map +1 -0
- package/dist/scripts/BLSeaGtL.chunk.js +2 -0
- package/dist/scripts/BLSeaGtL.chunk.js.map +1 -0
- package/dist/scripts/BLuY6AYO.chunk.js +2 -0
- package/dist/scripts/BLuY6AYO.chunk.js.map +1 -0
- package/dist/scripts/BSe8MmUc.chunk.js +2 -0
- package/dist/scripts/BSe8MmUc.chunk.js.map +1 -0
- package/dist/scripts/BZf-mjTJ.chunk.js +380 -0
- package/dist/scripts/BZf-mjTJ.chunk.js.map +1 -0
- package/dist/scripts/BbvzsNLZ.chunk.js +2 -0
- package/dist/scripts/BbvzsNLZ.chunk.js.map +1 -0
- package/dist/scripts/BdX0pSRt.chunk.js +2 -0
- package/dist/scripts/BdX0pSRt.chunk.js.map +1 -0
- package/dist/scripts/Bgidb-to.chunk.js +2 -0
- package/dist/scripts/Bgidb-to.chunk.js.map +1 -0
- package/dist/scripts/BhPjzT2a.chunk.js +2 -0
- package/dist/scripts/BhPjzT2a.chunk.js.map +1 -0
- package/dist/scripts/BihcsiRl.chunk.js +2 -0
- package/dist/scripts/BihcsiRl.chunk.js.map +1 -0
- package/dist/scripts/BlUKEHqx.chunk.js +2 -0
- package/dist/scripts/BlUKEHqx.chunk.js.map +1 -0
- package/dist/scripts/BpWIcknK.chunk.js +2 -0
- package/dist/scripts/BpWIcknK.chunk.js.map +1 -0
- package/dist/scripts/BqY3bZyH.chunk.js +2 -0
- package/dist/scripts/BqY3bZyH.chunk.js.map +1 -0
- package/dist/scripts/BrXmRwXi.chunk.js +2 -0
- package/dist/scripts/BrXmRwXi.chunk.js.map +1 -0
- package/dist/scripts/BsOLqypJ.chunk.js +2 -0
- package/dist/scripts/BsOLqypJ.chunk.js.map +1 -0
- package/dist/scripts/BvArNs1K.chunk.js +2 -0
- package/dist/scripts/BvArNs1K.chunk.js.map +1 -0
- package/dist/scripts/BxBPX67V.chunk.js +2 -0
- package/dist/scripts/BxBPX67V.chunk.js.map +1 -0
- package/dist/scripts/C0Ak1kpS.chunk.js +3 -0
- package/dist/scripts/C0Ak1kpS.chunk.js.map +1 -0
- package/dist/scripts/C0GFlX65.chunk.js +2 -0
- package/dist/scripts/C0GFlX65.chunk.js.map +1 -0
- package/dist/scripts/C0nQ0Xnx.chunk.js +6 -0
- package/dist/scripts/C0nQ0Xnx.chunk.js.map +1 -0
- package/dist/scripts/C6UUJ8P5.chunk.js +2 -0
- package/dist/scripts/C6UUJ8P5.chunk.js.map +1 -0
- package/dist/scripts/C8oA7_zY.chunk.js +2 -0
- package/dist/scripts/C8oA7_zY.chunk.js.map +1 -0
- package/dist/scripts/CEy1YX0b.chunk.js +2 -0
- package/dist/scripts/CEy1YX0b.chunk.js.map +1 -0
- package/dist/scripts/CNfESBlK.chunk.js +2 -0
- package/dist/scripts/CNfESBlK.chunk.js.map +1 -0
- package/dist/scripts/CNgTzzan.chunk.js +42 -0
- package/dist/scripts/CNgTzzan.chunk.js.map +1 -0
- package/dist/scripts/CP2i5uhZ.chunk.js +2 -0
- package/dist/scripts/CP2i5uhZ.chunk.js.map +1 -0
- package/dist/scripts/CSmXZuTZ.chunk.js +2 -0
- package/dist/scripts/CSmXZuTZ.chunk.js.map +1 -0
- package/dist/scripts/CTMVj7AR.chunk.js +2 -0
- package/dist/scripts/CTMVj7AR.chunk.js.map +1 -0
- package/dist/scripts/CW7x8M-z.chunk.js +2 -0
- package/dist/scripts/CW7x8M-z.chunk.js.map +1 -0
- package/dist/scripts/CWEUVMEm.chunk.js +2 -0
- package/dist/scripts/CWEUVMEm.chunk.js.map +1 -0
- package/dist/scripts/CWViZWyh.chunk.js +34 -0
- package/dist/scripts/CWViZWyh.chunk.js.map +1 -0
- package/dist/scripts/CX5q-0jT.chunk.js +2 -0
- package/dist/scripts/CX5q-0jT.chunk.js.map +1 -0
- package/dist/scripts/CbBaa9Aj.chunk.js +2 -0
- package/dist/scripts/CbBaa9Aj.chunk.js.map +1 -0
- package/dist/scripts/Ce_zROQ3.chunk.js +2 -0
- package/dist/scripts/Ce_zROQ3.chunk.js.map +1 -0
- package/dist/scripts/CfTCpF5i.chunk.js +4 -0
- package/dist/scripts/CfTCpF5i.chunk.js.map +1 -0
- package/dist/scripts/Cl1c9Acb.chunk.js +2 -0
- package/dist/scripts/Cl1c9Acb.chunk.js.map +1 -0
- package/dist/scripts/Cmu1J2M7.chunk.js +262 -0
- package/dist/scripts/Cmu1J2M7.chunk.js.map +1 -0
- package/dist/scripts/Cn0ghy_D.chunk.js +2 -0
- package/dist/scripts/Cn0ghy_D.chunk.js.map +1 -0
- package/dist/scripts/Cs1UnwSi.chunk.js +2 -0
- package/dist/scripts/Cs1UnwSi.chunk.js.map +1 -0
- package/dist/scripts/CsP3Lruv.chunk.js +3 -0
- package/dist/scripts/CsP3Lruv.chunk.js.map +1 -0
- package/dist/scripts/CsROrwVV.chunk.js +2 -0
- package/dist/scripts/CsROrwVV.chunk.js.map +1 -0
- package/dist/scripts/Ctu1A4hw.chunk.js +2 -0
- package/dist/scripts/Ctu1A4hw.chunk.js.map +1 -0
- package/dist/scripts/D1UdZdfs.chunk.js +2 -0
- package/dist/scripts/D1UdZdfs.chunk.js.map +1 -0
- package/dist/scripts/D2pFW6EB.chunk.js +2 -0
- package/dist/scripts/D2pFW6EB.chunk.js.map +1 -0
- package/dist/scripts/D9oCeDYw.chunk.js +10 -0
- package/dist/scripts/D9oCeDYw.chunk.js.map +1 -0
- package/dist/scripts/DAajosqn.chunk.js +2 -0
- package/dist/scripts/DAajosqn.chunk.js.map +1 -0
- package/dist/scripts/DDGxV4ns.chunk.js +2 -0
- package/dist/scripts/DDGxV4ns.chunk.js.map +1 -0
- package/dist/scripts/DFlfmBPU.chunk.js +2 -0
- package/dist/scripts/DFlfmBPU.chunk.js.map +1 -0
- package/dist/scripts/DHZefNDC.chunk.js +2 -0
- package/dist/scripts/DHZefNDC.chunk.js.map +1 -0
- package/dist/scripts/DJzpw8qX.chunk.js +2 -0
- package/dist/scripts/DJzpw8qX.chunk.js.map +1 -0
- package/dist/scripts/DKEdZyAE.chunk.js +2 -0
- package/dist/scripts/DKEdZyAE.chunk.js.map +1 -0
- package/dist/scripts/DKu8iTnz.chunk.js +2 -0
- package/dist/scripts/DKu8iTnz.chunk.js.map +1 -0
- package/dist/scripts/DMd0fZar.chunk.js +2 -0
- package/dist/scripts/DMd0fZar.chunk.js.map +1 -0
- package/dist/scripts/DNDksLLJ.chunk.js +2 -0
- package/dist/scripts/DNDksLLJ.chunk.js.map +1 -0
- package/dist/scripts/DNP9cLqQ.chunk.js +2 -0
- package/dist/scripts/DNP9cLqQ.chunk.js.map +1 -0
- package/dist/scripts/DO-V6YKu.chunk.js +2 -0
- package/dist/scripts/DO-V6YKu.chunk.js.map +1 -0
- package/dist/scripts/DQA8MZy3.chunk.js +2 -0
- package/dist/scripts/DQA8MZy3.chunk.js.map +1 -0
- package/dist/scripts/DT1lPNaD.chunk.js +2 -0
- package/dist/scripts/DT1lPNaD.chunk.js.map +1 -0
- package/dist/scripts/DTL-Rceb.chunk.js +2 -0
- package/dist/scripts/DTL-Rceb.chunk.js.map +1 -0
- package/dist/scripts/DTotSVIi.chunk.js +2 -0
- package/dist/scripts/DTotSVIi.chunk.js.map +1 -0
- package/dist/scripts/DWkaXclo.chunk.js +10 -0
- package/dist/scripts/DWkaXclo.chunk.js.map +1 -0
- package/dist/scripts/DXFcNENa.chunk.js +2 -0
- package/dist/scripts/DXFcNENa.chunk.js.map +1 -0
- package/dist/scripts/Ddy6mQmA.chunk.js +2 -0
- package/dist/scripts/Ddy6mQmA.chunk.js.map +1 -0
- package/dist/scripts/DlxDC-9E.chunk.js +2 -0
- package/dist/scripts/DlxDC-9E.chunk.js.map +1 -0
- package/dist/scripts/Dn5-Zvws.chunk.js +2 -0
- package/dist/scripts/Dn5-Zvws.chunk.js.map +1 -0
- package/dist/scripts/DnhffgUu.chunk.js +2 -0
- package/dist/scripts/DnhffgUu.chunk.js.map +1 -0
- package/dist/scripts/Dv9OgzKw.chunk.js +2 -0
- package/dist/scripts/Dv9OgzKw.chunk.js.map +1 -0
- package/dist/scripts/DvV9e2O3.chunk.js +3 -0
- package/dist/scripts/DvV9e2O3.chunk.js.map +1 -0
- package/dist/scripts/Dvf_hOR3.chunk.js +2 -0
- package/dist/scripts/Dvf_hOR3.chunk.js.map +1 -0
- package/dist/scripts/DxOc33K6.chunk.js +3 -0
- package/dist/scripts/DxOc33K6.chunk.js.map +1 -0
- package/dist/scripts/DxbQzyJg.chunk.js +2 -0
- package/dist/scripts/DxbQzyJg.chunk.js.map +1 -0
- package/dist/scripts/DyaAoFDP.chunk.js +2 -0
- package/dist/scripts/DyaAoFDP.chunk.js.map +1 -0
- package/dist/scripts/EBNeK_uD.chunk.js +2 -0
- package/dist/scripts/EBNeK_uD.chunk.js.map +1 -0
- package/dist/scripts/HBvGjr-A.chunk.js +2 -0
- package/dist/scripts/HBvGjr-A.chunk.js.map +1 -0
- package/dist/scripts/IC6KSiqE.chunk.js +2 -0
- package/dist/scripts/IC6KSiqE.chunk.js.map +1 -0
- package/dist/scripts/LT6WE6TB.chunk.js +2 -0
- package/dist/scripts/LT6WE6TB.chunk.js.map +1 -0
- package/dist/scripts/P0RdEZGz.chunk.js +2 -0
- package/dist/scripts/P0RdEZGz.chunk.js.map +1 -0
- package/dist/scripts/P3PkkK_o.chunk.js +2 -0
- package/dist/scripts/P3PkkK_o.chunk.js.map +1 -0
- package/dist/scripts/SA1hxE7y.chunk.js +15 -0
- package/dist/scripts/SA1hxE7y.chunk.js.map +1 -0
- package/dist/scripts/YHL8PX91.chunk.js +2 -0
- package/dist/scripts/YHL8PX91.chunk.js.map +1 -0
- package/dist/scripts/app-5iiM5qQY.js +224 -0
- package/dist/scripts/app-5iiM5qQY.js.map +1 -0
- package/dist/scripts/fORcC1yd.chunk.js +2 -0
- package/dist/scripts/fORcC1yd.chunk.js.map +1 -0
- package/dist/scripts/hU1zzvt8.chunk.js +2 -0
- package/dist/scripts/hU1zzvt8.chunk.js.map +1 -0
- package/dist/scripts/kFXLewpU.chunk.js +2 -0
- package/dist/scripts/kFXLewpU.chunk.js.map +1 -0
- package/dist/scripts/k_p1R4KR.chunk.js +2 -0
- package/dist/scripts/k_p1R4KR.chunk.js.map +1 -0
- package/dist/scripts/mqFCEyYv.chunk.js +2 -0
- package/dist/scripts/mqFCEyYv.chunk.js.map +1 -0
- package/dist/scripts/qwzILhQ0.chunk.js +8 -0
- package/dist/scripts/qwzILhQ0.chunk.js.map +1 -0
- package/dist/scripts/sFV5nxD4.chunk.js +2 -0
- package/dist/scripts/sFV5nxD4.chunk.js.map +1 -0
- package/dist/scripts/uBcZoYae.chunk.js +2 -0
- package/dist/scripts/uBcZoYae.chunk.js.map +1 -0
- package/dist/scripts/yaRKidLW.chunk.js +2 -0
- package/dist/scripts/yaRKidLW.chunk.js.map +1 -0
- package/dist/scripts/ysP6mL-L.chunk.js +2 -0
- package/dist/scripts/ysP6mL-L.chunk.js.map +1 -0
- package/package.json +5 -3
- package/typings/utils/imports.d.ts +1 -1
- package/vite.config.ts +6 -0
- package/dist/css/1103-reports-d3d5cc00db.chunk.css +0 -31
- package/dist/css/1456-reports-4a5871a275.chunk.css +0 -9
- package/dist/css/1648-reports-012456ba48.chunk.css +0 -2
- package/dist/css/209-reports-cdae99d0ee.chunk.css +0 -11
- package/dist/css/2150-reports-84ec0e9770.chunk.css +0 -4
- package/dist/css/2217-reports-74dec0a3fe.chunk.css +0 -32
- package/dist/css/2997-reports-e08318f14b.chunk.css +0 -9
- package/dist/css/4582-reports-d3d5cc00db.chunk.css +0 -31
- package/dist/css/5304-reports-22c2d8d635.chunk.css +0 -9
- package/dist/css/6007-reports-5ba77c55a3.chunk.css +0 -8
- package/dist/css/6031-reports-d558076846.chunk.css +0 -6
- package/dist/css/6356-reports-8c5b220bf6.chunk.css +0 -1
- package/dist/css/6546-reports-f190450b10.chunk.css +0 -60
- package/dist/css/6811-reports-baf2e97e71.chunk.css +0 -35
- package/dist/css/7723-reports-8c6d3c414b.chunk.css +0 -4
- package/dist/css/7747-reports-2d9e191b5a.chunk.css +0 -12
- package/dist/css/8087-reports-cfe23ba648.chunk.css +0 -10
- package/dist/css/8294-reports-c797263ac2.chunk.css +0 -1
- package/dist/css/8418-reports-0ada3f3ce2.chunk.css +0 -29
- package/dist/css/8450-reports-06493dfde5.chunk.css +0 -9
- package/dist/css/8622-reports-9e8970cc7f.chunk.css +0 -8
- package/dist/css/8839-reports-8e46644943.chunk.css +0 -1
- package/dist/css/8989-reports-92b4f1dde8.chunk.css +0 -8
- package/dist/css/9059-reports-a2ac630ebc.chunk.css +0 -35
- package/dist/css/9285-reports-5b9af8380f.chunk.css +0 -13
- package/dist/css/9661-reports-7435e94a85.chunk.css +0 -4
- package/dist/css/9822-reports-a1db1900c7.chunk.css +0 -8
- package/dist/css/9949-reports-f22fa2b407.chunk.css +0 -15
- package/dist/css/reports-app-b4c4ec5632.css +0 -32
- package/dist/languages/en.json +0 -1
- package/dist/scripts/1103-d77d388f5b-reports.chunk.js +0 -1
- package/dist/scripts/1177-7cf7817e74-reports.chunk.js +0 -1
- package/dist/scripts/1456-019d93e620-reports.chunk.js +0 -1
- package/dist/scripts/1648-e892604f5a-reports.chunk.js +0 -1
- package/dist/scripts/1934-ca8497c768-reports.chunk.js +0 -2
- package/dist/scripts/1934-ca8497c768-reports.chunk.js.LICENSE.txt +0 -9
- package/dist/scripts/2087-e0ef668e1f-reports.chunk.js +0 -1
- package/dist/scripts/209-d769572af9-reports.chunk.js +0 -1
- package/dist/scripts/2150-2cbadacf12-reports.chunk.js +0 -1
- package/dist/scripts/2217-eb2f8619c9-reports.chunk.js +0 -1
- package/dist/scripts/2476-a700f69dc4-reports.chunk.js +0 -1
- package/dist/scripts/2539-04dfb4f4f1-reports.chunk.js +0 -1
- package/dist/scripts/2997-62d81c3442-reports.chunk.js +0 -1
- package/dist/scripts/312-8b006e92ff-reports.chunk.js +0 -1
- package/dist/scripts/4234-e3c04f41eb-reports.chunk.js +0 -1
- package/dist/scripts/4372-26474a3318-reports.chunk.js +0 -1
- package/dist/scripts/438-b444dfb8c6-reports.chunk.js +0 -1
- package/dist/scripts/4582-230f130f41-reports.chunk.js +0 -1
- package/dist/scripts/4752-db4247883d-reports.chunk.js +0 -2
- package/dist/scripts/4752-db4247883d-reports.chunk.js.LICENSE.txt +0 -118
- package/dist/scripts/4979-7e14b09f33-reports.chunk.js +0 -1
- package/dist/scripts/5051-72c53737e2-reports.chunk.js +0 -1
- package/dist/scripts/5091-ddd6f61b55-reports.chunk.js +0 -1
- package/dist/scripts/5173-cce3b37672-reports.chunk.js +0 -1
- package/dist/scripts/5177-a7372e7b8d-reports.chunk.js +0 -1
- package/dist/scripts/5304-d5674b32b4-reports.chunk.js +0 -1
- package/dist/scripts/5802-2125536755-reports.chunk.js +0 -1
- package/dist/scripts/6007-346d08e3ae-reports.chunk.js +0 -1
- package/dist/scripts/6031-b1c60cc409-reports.chunk.js +0 -1
- package/dist/scripts/6081-2bbda6cac3-reports.chunk.js +0 -1
- package/dist/scripts/6180-bdb237ffbe-reports.chunk.js +0 -2
- package/dist/scripts/6180-bdb237ffbe-reports.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/6198-189ddde870-reports.chunk.js +0 -1
- package/dist/scripts/6356-a1b313c73e-reports.chunk.js +0 -1
- package/dist/scripts/645-e72b3d845e-reports.chunk.js +0 -1
- package/dist/scripts/6545-f07bcd318a-reports.chunk.js +0 -1
- package/dist/scripts/6546-72384574e1-reports.chunk.js +0 -2
- package/dist/scripts/6546-72384574e1-reports.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/6811-add7c7c1a2-reports.chunk.js +0 -1
- package/dist/scripts/7238-de5ef0ebfb-reports.chunk.js +0 -1
- package/dist/scripts/7562-748e60c3fc-reports.chunk.js +0 -1
- package/dist/scripts/7709-82750ee317-reports.chunk.js +0 -1
- package/dist/scripts/7723-1799f5aa26-reports.chunk.js +0 -1
- package/dist/scripts/7747-a4fcf6b02f-reports.chunk.js +0 -2
- package/dist/scripts/7747-a4fcf6b02f-reports.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/7925-c6c532c9c4-reports.chunk.js +0 -1
- package/dist/scripts/8087-1d9e9701e5-reports.chunk.js +0 -1
- package/dist/scripts/8393-686a7866e1-reports.chunk.js +0 -1
- package/dist/scripts/8418-9f96caf039-reports.chunk.js +0 -1
- package/dist/scripts/8450-f2d5d99614-reports.chunk.js +0 -1
- package/dist/scripts/8591-4811082ab0-reports.chunk.js +0 -1
- package/dist/scripts/8622-ca384ec4b0-reports.chunk.js +0 -1
- package/dist/scripts/8839-711793a97f-reports.chunk.js +0 -1
- package/dist/scripts/8989-ca5cab7f45-reports.chunk.js +0 -1
- package/dist/scripts/9059-b2dcf3cdb2-reports.chunk.js +0 -1
- package/dist/scripts/9162-7ffc692736-reports.chunk.js +0 -1
- package/dist/scripts/9285-ecddd01efb-reports.chunk.js +0 -1
- package/dist/scripts/9590-41bb23ae71-reports.chunk.js +0 -1
- package/dist/scripts/9647-f0c111d3f0-reports.chunk.js +0 -1
- package/dist/scripts/9661-2dee4c3417-reports.chunk.js +0 -1
- package/dist/scripts/9822-379ea90dd3-reports.chunk.js +0 -1
- package/dist/scripts/9895-3b3feb12b9-reports.chunk.js +0 -1
- package/dist/scripts/9949-6b1d1f4d32-reports.chunk.js +0 -1
- package/dist/scripts/bundle-17c29f9bf9.min.js +0 -2
- package/dist/scripts/bundle-17c29f9bf9.min.js.LICENSE.txt +0 -108
- package/dist/scripts/polyfills-3db3f009d4.min.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"-b_h0A4y.chunk.js","sources":["../../../../libs/shared/src/utils/RecentItemHelper.ts","../../../../libs/shared/src/apps/share/utils/RecentShareHelper.ts","../../../../libs/common/src/backbone/interfaces/BaseCollectionIdentifier.ts","../../../../libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistVideoCollectionIdentifier.ts","../../../../libs/shared/src/apps/playlists/utils/PlaylistStateUpdateHelper.ts","../../../../libs/shared/src/utils/ReorderHelper.ts","../../../../libs/shared/src/flight-requests/PlaylistRequests.ts","../../../../libs/shared/src/flight-requests/SeriesRequests.ts","../../../../libs/shared/src/apps/share/views/share/ShareViewHelper.ts","../../../../libs/shared/src/enums/ShareLinkStatus.ts","../../../../libs/shared/src/apps/share/utils/ShareLinkHelper.ts"],"sourcesContent":["import { StorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\n\nconst DEFAULT_STORAGE_LIMIT = 5;\n\ninterface AddRecentItemOptions {\n id: string;\n limit?: number;\n expire?: boolean;\n}\n\nexport const RecentItemHelper = {\n getRecentItem(cacheKey: string, dataSource: StorageHelper, expire: boolean = true): string[] {\n let recentItems = expire ? dataSource.cacheGet(cacheKey) : dataSource.get(cacheKey);\n\n if (!Array.isArray(recentItems))\n recentItems = [];\n\n return recentItems;\n },\n\n setRecentItem(cacheKey: string, ids: string[], dataSource: StorageHelper, expire?: boolean): void {\n if (!Array.isArray(ids))\n return;\n\n if (expire) {\n dataSource.cacheSet(cacheKey, ids);\n return;\n }\n\n dataSource.set(cacheKey, ids);\n },\n\n addRecentItem(cacheKey: string, dataSource: StorageHelper, options: AddRecentItemOptions): string[] {\n const { id, limit = DEFAULT_STORAGE_LIMIT, expire = true } = options;\n\n let recentItems = RecentItemHelper.getRecentItem(cacheKey, dataSource, expire);\n\n const idIndex = recentItems.indexOf(id);\n\n /**\n * If the item is already in the stored list, \n * remove it so that it will be inserted at the first position.\n */\n if (idIndex > -1)\n recentItems.splice(idIndex, 1);\n\n recentItems.unshift(id);\n\n if (recentItems.length > limit)\n recentItems = recentItems.slice(0, limit);\n\n RecentItemHelper.setRecentItem(cacheKey, recentItems, dataSource, expire);\n\n return recentItems;\n },\n\n removeRecentItem(cacheKey: string, id: string, dataSource: StorageHelper): void {\n const items = RecentItemHelper.getRecentItem(cacheKey, dataSource);\n const omitted = items.filter(i => i !== id.toString());\n RecentItemHelper.setRecentItem(cacheKey, omitted, dataSource);\n }\n};","import { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\n\nimport { RecentItemHelper } from 'libs/shared/utils/RecentItemHelper';\n\nconst getCacheKey = (userId: string) => `recently:shared:to:${userId}`;\n\ninterface AddRecentShareOptions {\n id: string;\n limit?: number;\n}\n\nexport const RecentShareHelper = {\n /**\n * Get a list of ids of recipients recently shared to.\n */\n getRecentlySharedTo(userId: string): string[] {\n return RecentItemHelper.getRecentItem(getCacheKey(userId), LocalStorageHelper);\n },\n \n addRecentlySharedTo(userId: string, options: AddRecentShareOptions): string[] {\n return RecentItemHelper.addRecentItem(getCacheKey(userId), LocalStorageHelper, options);\n }\n};","import { ObjectHash } from 'backbone';\n\nimport { ErrorHelper } from 'libs/common/backbone/core/BaseError';\nimport { DevError } from 'libs/common/backbone/errors/DevError';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nexport interface BaseCollectionIdentifierOptions<T> {\n collectionPrefix?: string;\n id?: string;\n sort?: T;\n cursor?: string;\n}\n\nexport class BaseCollectionIdentifier<T = HashObject> {\n public id: string;\n public sort: T;\n public cursor: string;\n public collectionPrefix: string;\n\n constructor(options: BaseCollectionIdentifierOptions<T>) {\n this.setData(options);\n }\n\n protected setData(options: BaseCollectionIdentifierOptions<T>): void {\n const { collectionPrefix, id, sort, cursor } = options;\n\n if (id)\n this.id = id;\n\n if (sort)\n this.sort = sort;\n\n if (cursor)\n this.cursor = cursor;\n\n if (collectionPrefix)\n this.collectionPrefix = collectionPrefix;\n }\n\n public toString(): string {\n const params = [\n this.collectionPrefix,\n this.id,\n this.sort,\n this.cursor\n ];\n\n return params.filter(Boolean).join(':');\n }\n\n public toParams(): ObjectHash {\n const params: ObjectHash = {};\n\n if (this.sort)\n params.sort = this.getSortTypeParam().toLowerCase();\n\n if (this.cursor)\n params.cursor = this.cursor;\n\n return params;\n }\n\n protected getSortTypeParam(): string {\n ErrorHelper.throw(new DevError('getSortTypeParam must be implemented when extending BaseCollectionIdentifier'));\n\n return '';\n }\n}","import { BaseCollectionIdentifier } from 'libs/common/backbone/interfaces';\n\nexport class PlaylistVideoCollectionIdentifier extends BaseCollectionIdentifier {\n constructor(id: string, cursor: string = '') {\n super({ collectionPrefix: 'playlist:videos', id, cursor });\n }\n}","import { HashObject } from 'libs/common/react/interfaces/HashObject';\n\ntype StateMap = { [key: string]: HashObject };\n\nexport const PlaylistStateUpdateHelper = {\n deletePlaylist(key: string): (state: StateMap) => StateMap {\n return (state: StateMap) => {\n const updatedState = { ...state };\n\n if (updatedState.hasOwnProperty(key))\n delete updatedState[key];\n\n return updatedState;\n };\n },\n\n incrementVideoCount(key: string, count: number): (state: StateMap) => StateMap {\n return (state: StateMap) => {\n const updatedState = { ...state };\n\n if (!updatedState.hasOwnProperty(key))\n return state;\n\n if (!updatedState[key].videos)\n updatedState[key].videos = {};\n\n updatedState[key].videos.count = updatedState[key].videos.count\n ? updatedState[key].videos.count + count\n : count;\n\n return updatedState;\n };\n }\n};","import { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { BaseObject, ReorderRequest } from 'libs/shared/interfaces';\n\ninterface ReorderResult<T extends BaseObject> {\n reorderRequest: ReorderRequest;\n reorderedItems: T[];\n}\n\nexport const ReorderHelper = {\n reorder<T extends BaseObject>(items: T[], oldIdx: number, newIdx: number): ReorderResult<T> {\n if (oldIdx === newIdx)\n return { reorderedItems: items, reorderRequest: null };\n\n const reorderedItems: T[] = ArrayHelper.moveItem(items, oldIdx, newIdx);\n\n /**\n * If newIdx is the last idx then we set\n * destinationMemberId to null.\n */\n const destinationMemberId = newIdx < items.length - 1\n ? reorderedItems[newIdx + 1].id\n : null;\n\n const reorderRequest: ReorderRequest = {\n sourceMemberId: reorderedItems[newIdx].id,\n destinationMemberId\n };\n\n return { reorderedItems, reorderRequest };\n },\n\n updateState(\n dataPrefix: string,\n reorderRequest: ReorderRequest,\n data: { [key: string]: HashObject }\n ): { [key: string]: HashObject } {\n const items: BaseObject[] = [];\n const updatedData = ObjectHelper.deepClone(data);\n\n const keys = [dataPrefix]; // Maintain an ordered list of keys.\n let page = data[dataPrefix];\n const pageSize = !!page && !!page.data && page.data.length;\n\n /**\n * Flatten items\n */\n while (page) {\n if (!Array.isArray(page.data))\n break;\n\n items.push(...page.data as BaseObject[]);\n\n const nextCursor = page.pagination\n && page.pagination.cursors\n && page.pagination.cursors.next;\n\n const nextKey = !!nextCursor && `${dataPrefix}:${nextCursor}`;\n\n page = nextCursor && data[nextKey];\n\n if (page)\n keys.push(nextKey);\n }\n\n if (!items.length)\n return data;\n\n /**\n * Reorder items\n */\n const removeIdx = ArrayHelper.findIndex(items, i => i.id === reorderRequest.sourceMemberId);\n\n let reorderedItems = [...items];\n\n const itemToMove = reorderedItems.splice(removeIdx, 1);\n\n const insertIdx = reorderRequest.destinationMemberId\n ? ArrayHelper.findIndex(reorderedItems, r => r.id === reorderRequest.destinationMemberId)\n : reorderedItems.length;\n\n reorderedItems.splice(insertIdx, 0, itemToMove[0]);\n\n reorderedItems = reorderedItems.map(v => ({ id: v.id }));\n\n /**\n * Paginate reordered items\n */\n keys.forEach(key => {\n const itemsToInsert = reorderedItems.splice(0, pageSize);\n updatedData[key].data = itemsToInsert;\n });\n\n return updatedData;\n }\n};","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { CreateOrUpdatePlaylistRequest, PlaylistCollectionIdentifier, PlaylistVideoCollectionIdentifier } from 'libs/shared/apps/playlists/interfaces';\nimport { PlaylistStateUpdateHelper } from 'libs/shared/apps/playlists/utils/PlaylistStateUpdateHelper';\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { Following, ReorderRequest, UserCollection, VideoTypes } from 'libs/shared/interfaces';\nimport { ObjectApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\nimport { ReorderHelper } from 'libs/shared/utils/ReorderHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nexport const PlaylistRequests = {\n // TODO: Get working with objects api (playlist count needs to include clips and ints too)\n getUserPlaylists(collectionIdentifier: PlaylistCollectionIdentifier): Flight.Request {\n const { sort, type } = collectionIdentifier;\n\n const params: HashObject = {\n sort: sort,\n query: `{limit:100}${SharedWithStatements.PLAYLIST_COLLECTION},_isClickViewCurated,_liteOwner`\n };\n\n if (collectionIdentifier.cursor)\n params.cursor = collectionIdentifier.cursor;\n\n return {\n url: UrlHelper.urlBuilder(`/api/domain/v2/me/playlists/${type}`, params),\n key: collectionIdentifier.toString()\n };\n },\n\n getPlaylist(id: string, success?: (data: any) => void, error?: (data: any) => void): Flight.PublicRequest {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: `${SharedWithStatements.PLAYLIST},_isClickViewCurated,_liteOwner`\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n query: `${SharedWithStatements.PLAYLIST},_isClickViewCurated`\n }),\n key: `playlist:${id}`,\n success,\n error\n };\n },\n\n getSharedPlaylist(\n id: string,\n shareId: string,\n success?: (data: any) => void,\n error?: (data: any) => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n query: `${SharedWithStatements.PLAYLIST},_isClickViewCurated,_liteOwner`,\n shareId\n }),\n key: `shared:playlist:${id}:${shareId}`,\n success,\n error\n };\n },\n\n playlistWithThumbnailAndCount(id: string): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: `${SharedWithStatements.PLAYLIST},_isClickViewCurated,_liteOwner,videos[count()]{limit:1},interactives[count()]{limit:1},clips[count()]{limit:1}`\n }),\n key: `playlist:${id}:thumbnail:count`\n };\n },\n\n getPlaylistVideos(id: string, cursor?: string): Flight.PublicRequest {\n const { VIDEO_COLLECTION, CLIP_COLLECTION, INTERACTIVE } = SharedWithStatements;\n\n const params: HashObject = {\n query: `(videos[${VIDEO_COLLECTION}]{status:[${CurationStatus.Published},${CurationStatus.Archived}]}|clips[${CLIP_COLLECTION}]{status:[${CurationStatus.Published},${CurationStatus.Archived}]}|interactives[${INTERACTIVE}]){orderBy:orderindex,limit:100}`,\n permissionFilterOption: PermissionFilterOption.StripMetadata\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}/members`, params),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${id}/members`, params),\n key: `playlist:${id}:videos${cursor ? `:${cursor}` : ''}`\n };\n },\n\n getSharedPlaylistVideos(id: string, shareId: string, cursor?: string): Flight.Request {\n const { VIDEO_COLLECTION, CLIP_COLLECTION, INTERACTIVE } = SharedWithStatements;\n\n const params: HashObject = {\n query: `(videos[${VIDEO_COLLECTION}]{status:[${CurationStatus.Published},${CurationStatus.Archived}]}|clips[${CLIP_COLLECTION}]{status:[${CurationStatus.Published},${CurationStatus.Archived}]}|interactives[${INTERACTIVE}]){orderBy:orderindex,limit:100}`,\n permissionFilterOption: PermissionFilterOption.StripMetadata,\n shareId\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`/api/objects/${id}/members`, params),\n key: `shared:playlist:${id}:${shareId}:videos:${cursor}`\n };\n },\n\n getPlaylistVideosCount(id: string): Flight.PublicRequest {\n const filter = `{limit:0,status:[${CurationStatus.Published},${CurationStatus.Archived}]}`;\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: `videos[count()]${filter},clips[count()]${filter},interactives[count()]${filter}`\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n query: `videos[count()]${filter},clips[count()]${filter},interactives[count()]${filter}`\n }),\n key: `playlist:count:${id}`,\n normalize: false\n };\n },\n\n getSharedPlaylistVideosCount(\n id: string,\n shareId: string\n ): Flight.Request {\n const filter = `{limit:0,status:[${CurationStatus.Published},${CurationStatus.Archived}]}`;\n return {\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n query: `videos[count()]${filter},clips[count()]${filter},interactives[count()]${filter}`,\n shareId\n }),\n key: `shared:playlist:count:${id}:${shareId}`,\n normalize: false\n };\n },\n\n getVideoPlaylists(videoId: string, userId: string, cursor?: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${videoId}/playlists?query={limit:100,owner.id:[${userId}]}`,\n key: `video:playlists:${videoId}${cursor ? ':cursor' : ''}`\n };\n },\n\n createPlaylist(\n userId: string,\n data: CreateOrUpdatePlaylistRequest,\n success?: (data: any) => void,\n error?: (data: any) => void,\n always?: () => void\n ): Flight.Request {\n return {\n key: 'create:playlist',\n url: `{gateway}/v1/objects/${userId}/playlists`,\n data,\n type: HttpVerbs.POST,\n success,\n error,\n always,\n invalidationKeys: 'user:playlists'\n };\n },\n\n updatePlaylist(\n id: string,\n data: CreateOrUpdatePlaylistRequest,\n success?: (data: any) => void,\n error?: (data: any) => void,\n always?: () => void\n ): Flight.Request {\n return {\n key: 'update:playlist',\n url: `{gateway}/v1/objects/${id}`,\n data,\n type: HttpVerbs.PUT,\n success,\n error,\n always\n };\n },\n\n deletePlaylist(\n id: string,\n success?: (data: any) => void,\n error?: (data: any) => void,\n always?: () => void\n ): Flight.Request {\n return {\n key: 'delete:playlist',\n url: `{gateway}/v1/objects/${id}`,\n type: HttpVerbs.DELETE,\n success,\n error,\n always,\n invalidationKeys: 'user:playlists',\n updateState: {\n keys: `playlist:${id}`,\n updateData: PlaylistStateUpdateHelper.deletePlaylist(`playlist:${id}`)\n }\n };\n },\n\n copyPlaylist(\n id: string,\n success?: (data: any) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/playlists/copy',\n key: 'copy:playlist',\n data: { playlistId: id },\n type: HttpVerbs.POST,\n invalidationKeys: 'user:playlists',\n success,\n error,\n always\n };\n },\n\n addToPlaylist(\n playlistId: string,\n videos: VideoTypes[],\n success?: (data: any) => void,\n error?: (data: ObjectApiXhr) => void\n ): Flight.Request {\n /**\n * Invalidate:\n * - Playlists as they are fetched with first video.\n * - Playlist video collection.\n * - Playlists for each video.\n */\n const invalidationKeys = [\n 'user:playlists',\n (new PlaylistVideoCollectionIdentifier(playlistId)).toString(),\n `playlist:${playlistId}:videos`\n ];\n\n videos.forEach(video => {\n invalidationKeys.push(`video:playlists:${video.id}`);\n });\n\n const body = videos.reduce((acc: HashObject, video: VideoTypes) => {\n if (VideoHelper.isClip(video)) {\n if (Array.isArray(acc.clips))\n acc.clips.push({ id: video.id });\n else\n acc.clips = [{ id: video.id }];\n }\n\n if (VideoHelper.isInteractive(video)) {\n if (Array.isArray(acc.interactives))\n acc.interactives.push({ id: video.id });\n else\n acc.interactives = [{ id: video.id }];\n }\n\n if (VideoHelper.isVideo(video)) {\n if (Array.isArray(acc.videos))\n acc.videos.push({ id: video.id });\n else\n acc.videos = [{ id: video.id }];\n }\n\n return acc;\n }, {});\n\n return {\n key: `add:to:playlist:${playlistId}:${videos.map(v => v.id).join(':')}`,\n url: `{gateway}/v1/objects/${playlistId}`,\n data: body,\n type: HttpVerbs.PUT,\n success,\n error,\n invalidationKeys,\n updateState: {\n keys: `playlist:${playlistId}`,\n updateData: PlaylistStateUpdateHelper.incrementVideoCount(`playlist:${playlistId}`, videos.length)\n },\n normalize: false\n };\n },\n\n removePlaylistVideo(\n playlistId: string,\n videoId: string,\n typeId: MasterType,\n success?: (data: any) => void,\n error?: (data: any) => void\n ): Flight.Request {\n let baseUrl = `{gateway}/v1/objects/${playlistId}`;\n\n if (typeId === MasterType.Clip)\n baseUrl += '/clips';\n else if (typeId === MasterType.Interactive)\n baseUrl += '/interactives';\n else\n baseUrl += '/videos';\n\n return {\n key: 'remove:playlist:video',\n url: UrlHelper.urlBuilder(baseUrl, { memberId: videoId }),\n type: HttpVerbs.DELETE,\n success,\n error,\n // Invalidate playlists as they are fetched with the first video.\n invalidationKeys: [\n 'user:playlists',\n `playlist:${playlistId}:videos`,\n `video:playlists:${videoId}`,\n `playlist:${playlistId}`\n ]\n };\n },\n\n getIsFollowingPlaylist(playlistId: string, userId: string): Flight.Request {\n const formatData: ((data: UserCollection) => Following) = (data: UserCollection) => (\n { objectId: playlistId, isFollowing: !!data?.data?.length }\n );\n\n return {\n url: `{gateway}/v1/objects/${userId}/followedPlaylists?query={id:${playlistId}}`,\n key: `playlist:${playlistId}:following:${userId}`,\n formatData,\n normalize: false\n };\n },\n\n followPlaylist(\n playlistId: string,\n userId: string,\n success?: (data: any) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${userId}`,\n key: `follow:playlist:${playlistId}`,\n data: { followedPlaylists: playlistId },\n type: HttpVerbs.PUT,\n invalidationKeys: [ 'user:playlists', `playlist:${playlistId}`, 'shared:playlist' ],\n success,\n error,\n always\n };\n },\n\n unfollowPlaylist(\n playlistId: string,\n userId: string,\n success?: (data: any) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${userId}/followedPlaylists?memberId=${playlistId}`,\n key: `unfollow:playlist:${playlistId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [ 'user:playlists', `playlist:${playlistId}`, 'shared:playlist' ],\n success,\n error,\n always\n };\n },\n\n // TODO: Use objects api and get working with clips + ints\n reorderVideos(\n id: string,\n reorderRequest: ReorderRequest,\n success?: (data: any) => void,\n error?: (data: any) => void\n ): Flight.Request {\n return {\n key: `reorder:playlist`,\n url: `{gateway}/v1/playlists/${id}/reorder`,\n data: reorderRequest,\n type: HttpVerbs.PUT,\n success,\n error,\n // Invalidate playlists as they are fetched with the first video.\n invalidationKeys: 'user:playlists',\n updateState: {\n keys: `playlist:${id}:videos`,\n updateData: (data: { [key: string]: HashObject }) =>\n ReorderHelper.updateState(`playlist:${id}:videos`, reorderRequest, data)\n }\n };\n },\n\n getVideoCandidate(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=_restrictions`,\n key: `add:to:playlist:candidate:${id}`\n };\n }\n};\n","import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { PublicWithStatement, SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nconst endpoints = {\n sharedSeries: (id: string, shareId: string) => UrlHelper.urlBuilder(`/api/objects/${id}`, {\n query: SharedWithStatements.SERIES,\n shareId\n }),\n seriesWithVideos: (id: string, videoCount: number = 3) => {\n return `{gateway}/v1/objects/${id}?query=banner,videos[season,thumbnail,_canBeConsumed]{limit:${videoCount}}`;\n }\n};\n\nexport const SeriesRequests = {\n series(id: string): Flight.PublicRequest {\n const queryStringObj = { query: SharedWithStatements.SERIES };\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, queryStringObj),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${id}`, queryStringObj),\n key: `series:${id}`\n };\n },\n sharedSeries(id: string, shareId: string): Flight.Request {\n return {\n url: endpoints.sharedSeries(id, shareId),\n key: `shared:series:${id}:${shareId}`\n };\n },\n seriesWithVideos(id: string, videoCount: number = 3): Flight.Request {\n return {\n url: endpoints.seriesWithVideos(id, videoCount),\n key: `series:${id}:with:videos:${videoCount}`\n };\n },\n seriesWithThumbnailAndCount(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=videos[season,thumbnail,_canBeConsumed,count()]{limit:1}`,\n key: `series:${id}:thumbnail:count`\n };\n },\n seriesVideos(id: string, userId?: string, sort?: VideoSortType, cursor?: string): Flight.PublicRequest {\n const sortFilter = VideoSortHelper.getVideoSortParam(sort);\n\n const key = [ 'series', id, 'videos', cursor, sort ].filter(k => !!k).join(':');\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/collections/${id}/videos`, {\n query: `{${sortFilter}}${SharedWithStatements.VIDEO_COLLECTION}`,\n cursor\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/collections/${id}/videos`, {\n query: `{${sortFilter}}${PublicWithStatement.VIDEO_COLLECTION}`,\n cursor\n }),\n key\n };\n }\n};","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport {\n AnalyticsOptions, EntityType, EventVersion, LocationContext, ShareDescriptors, UserAction, WorkflowPhase\n} from 'libs/analytics/interfaces/AnalyticsTypes';\n\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { CreateDirectShareRequest } from 'libs/shared/apps/share/interfaces/requests/CreateDirectShareRequest';\nimport { CreateShareLinkRequest } from 'libs/shared/apps/share/interfaces/requests/CreateShareLinkRequest';\nimport { EditDirectShareRequest } from 'libs/shared/apps/share/interfaces/requests/EditDirectShareRequest';\nimport { EditShareLinkRequest } from 'libs/shared/apps/share/interfaces/requests/EditShareLinkRequest';\nimport { RecentShareHelper } from 'libs/shared/apps/share/utils/RecentShareHelper';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { Alerts } from 'libs/shared/hooks/UseAlerts';\nimport { BaseObject, Classification, Classroom, ClassroomGroup, Clip, CurrentUser, DirectShare, InteractiveMetadata, Playlist, Series, ShareLink, ShareRecipient, Subject, User, Video } from 'libs/shared/interfaces';\n\nexport type SharableEntityType = 'video' | 'playlist' | 'subject' | 'series' | 'interactive' | 'clip';\nexport type SharableEntity = Video | Playlist | Subject | Series | InteractiveMetadata | Clip;\nexport type SharableRecipient = User | Classroom | ClassroomGroup;\n\nconst namespace = 'shared.share';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const ShareViewHelper = {\n getObjectTypeId(type: SharableEntityType): MasterType {\n switch (type) {\n case 'video':\n return MasterType.Video;\n\n case 'playlist':\n return MasterType.Playlist;\n\n case 'subject':\n return MasterType.Subject;\n\n case 'series':\n return MasterType.Series;\n\n case 'interactive':\n return MasterType.Interactive;\n\n case 'clip':\n return MasterType.Clip;\n }\n },\n\n createLink(options: {\n dispatch: Flight.Dispatch;\n entity: SharableEntity;\n entityType: SharableEntityType;\n alerts: Alerts;\n password?: string;\n linkExpireDate?: string;\n success?: (shareLink: ShareLink) => void;\n }): void {\n const success = (newShareLink: ShareLink) => {\n AnalyticsHelper.logUserAction(\n { ...newShareLink, objectName: options.entity.name },\n AnalyticsHelper.mergeOptions(ShareViewHelper.getAnalyticsOptions(options.entityType), {\n actionType: UserAction.Create,\n entity: EntityType.ShareLink,\n eventVersion: EventVersion.V3\n })\n );\n\n if (options.success)\n options.success(newShareLink);\n };\n\n const error = () => {\n options.alerts.error(getPhrase('createLinkError', { name: options.entity.name }));\n };\n\n const data: CreateShareLinkRequest = {\n resourceId: options.entity.id,\n overrideRestrictions: false\n };\n\n if (options.password)\n data.password = options.password;\n\n if (options.linkExpireDate)\n data.linkExpireDate = options.linkExpireDate;\n\n\n Flight.fetch(options.dispatch, ShareRequests.createShareLink(data, success, error));\n },\n\n updateLink(\n dispatch: Flight.Dispatch,\n entity: SharableEntity,\n entityType: SharableEntityType,\n shareLink: ShareLink,\n data: EditShareLinkRequest,\n alerts: Alerts,\n onSuccess?: (data?: ShareLink) => void,\n onError?: () => void\n ): void {\n const success = (updatedShareLink: ShareLink) => {\n AnalyticsHelper.logUserAction(\n { ...updatedShareLink, objectName: entity.name },\n AnalyticsHelper.mergeOptions(ShareViewHelper.getAnalyticsOptions(entityType), {\n actionType: UserAction.Edit,\n entity: EntityType.ShareLink,\n eventVersion: EventVersion.V3\n })\n );\n\n if (onSuccess)\n onSuccess(updatedShareLink);\n\n alerts.success(getPhrase('editSuccess', { name: entity.name, escapeText: true }));\n };\n\n const error = () => {\n if (onError)\n onError();\n\n alerts.error(getPhrase('editError', { name: entity.name, escapeText: true }));\n };\n\n Flight.fetch(dispatch, ShareRequests.editShareLink(shareLink, data, success, error));\n },\n\n deleteLink(\n dispatch: Flight.Dispatch,\n entity: SharableEntity,\n entityType: SharableEntityType,\n shareLink: ShareLink,\n alerts: Alerts,\n onSuccess?: () => void,\n onDone?: () => void\n ): void {\n const success = () => {\n AnalyticsHelper.logUserAction(\n { ...shareLink, objectName: entity.name },\n AnalyticsHelper.mergeOptions(ShareViewHelper.getAnalyticsOptions(entityType), {\n actionType: UserAction.Delete,\n entity: EntityType.ShareLink\n })\n );\n\n if (onSuccess)\n onSuccess();\n\n alerts.success(getPhrase('deleteSuccess', { name: entity.name, escapeText: true }));\n };\n\n const error = () => {\n alerts.error(getPhrase('deleteError', { name: entity.name, escapeText: true }));\n };\n\n const always = () => {\n if (onDone)\n onDone();\n };\n\n Flight.fetch(dispatch, ShareRequests.deleteShareLink(shareLink, success, error, always));\n },\n\n createOrUpdateDirectShare(options: {\n dispatch: Flight.Dispatch;\n entity: SharableEntity;\n entityType: SharableEntityType;\n currentUser: CurrentUser;\n recipients: ShareRecipient[];\n sentDirectShare?: DirectShare;\n message: string;\n onSuccess?: (updatedDirectShare: DirectShare) => void;\n onError?: () => void;\n onDone?: () => void;\n }): void {\n const {\n dispatch, entity, entityType, currentUser, recipients, sentDirectShare, message,\n onSuccess, onError, onDone\n } = options;\n\n const success = (updatedDirectShare: DirectShare) => {\n if (onSuccess)\n onSuccess(updatedDirectShare);\n\n AnalyticsHelper.logUserAction(\n {\n id: entity.id,\n name: entity.name,\n shareCount: recipients.length\n },\n AnalyticsHelper.mergeOptions(ShareViewHelper.getAnalyticsOptions(entityType), {\n actionType: UserAction.Share,\n descriptor: ShareDescriptors.DirectShare,\n eventVersion: EventVersion.V3\n })\n );\n\n recipients.map(recipient => {\n RecentShareHelper.addRecentlySharedTo(currentUser.id, { id: recipient.id });\n });\n };\n\n const createData: CreateDirectShareRequest = {\n objectId: entity.id,\n objectTypeId: ShareViewHelper.getObjectTypeId(entityType),\n recipients,\n message\n };\n\n const updateData: EditDirectShareRequest = {\n recipients,\n message\n };\n\n const request = sentDirectShare\n ? ShareRequests.updateDirectShareRecipients(sentDirectShare.id, updateData, success, onError, onDone)\n : ShareRequests.createDirectShare(createData, success, onError, onDone);\n\n Flight.fetch(dispatch, request);\n },\n\n removeDirectShareRecipient(\n dispatch: Flight.Dispatch,\n recipientId: string,\n entityType: SharableEntityType,\n sentDirectShare?: DirectShare,\n onSuccess?: (updatedDirectShare: DirectShare) => void,\n onError?: () => void\n ): void {\n const success = (updatedDirectShare: DirectShare) => {\n if (onSuccess)\n onSuccess(updatedDirectShare);\n\n AnalyticsHelper.logUserAction(\n { shareCount: 1 },\n AnalyticsHelper.mergeOptions(ShareViewHelper.getAnalyticsOptions(entityType), {\n actionType: UserAction.Unshare\n })\n );\n };\n\n Flight.fetch(\n dispatch,\n ShareRequests.removeDirectShareRecipient(\n sentDirectShare.id,\n recipientId,\n success,\n onError\n )\n );\n },\n\n getDirectShareRecipientsRequest(customerId: string, directShare?: DirectShare): Flight.Request {\n const hasRecipients = !!directShare?.recipients?.length;\n\n return hasRecipients &&\n ShareRequests.getDirectShareRecipientsById(directShare.id, directShare.recipients, customerId);\n },\n\n getAnalyticsEntity(entityType: string): EntityType {\n switch (entityType) {\n case 'playlist':\n return EntityType.Playlist;\n case 'subject':\n return EntityType.Classification;\n case 'video':\n return EntityType.Video;\n case 'series':\n return EntityType.Series;\n case 'interactive':\n return EntityType.Interactive;\n case 'clip':\n return EntityType.Clip;\n }\n },\n\n getAnalyticsOptions(entityType: SharableEntityType): AnalyticsOptions {\n return {\n entity: ShareViewHelper.getAnalyticsEntity(entityType),\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete\n };\n },\n\n getFetchFunctionByType: (type: SharableEntityType) => {\n switch (type) {\n case 'video': {\n return (id: string) => Flight.useBasicFetch<Video>(VideoRequests.video(id));\n }\n\n case 'playlist': {\n return (id: string) => Flight.useBasicFetch<Playlist>(PlaylistRequests.getPlaylist(id));\n }\n\n case 'subject': {\n return (id: string, userId: string) => {\n return Flight.useBasicFetch<Classification>(ClassificationRequests.classification(id, userId));\n };\n }\n\n case 'series': {\n return (id: string) => Flight.useBasicFetch<Series>(SeriesRequests.series(id));\n }\n\n case 'interactive': {\n return (id: string) =>\n Flight.useBasicFetch<InteractiveMetadata>(InteractiveRequests.interactiveMetadata(id));\n }\n\n case 'clip': {\n return (id: string) =>\n Flight.useBasicFetch<Clip>(ClipRequests.clip(id));\n }\n }\n },\n\n getImageUrl(sharedResource: SharableEntity): string {\n // Videos and potentially interactives + clips\n if ('thumbnail' in sharedResource && !!sharedResource.thumbnail)\n return sharedResource.thumbnail?.url;\n\n if ('_thumbnail' in sharedResource && !!sharedResource._thumbnail)\n return sharedResource._thumbnail?.url;\n\n // Topics and playlists\n if ('cover' in sharedResource)\n return sharedResource.cover?.url;\n\n // Series\n if ('tallPoster' in sharedResource)\n return sharedResource.tallPoster?.url;\n\n return '';\n },\n\n getShareRecipientsPhrase(selections: BaseObject[]) {\n if (!selections.length)\n return;\n\n let recipients: { [type: string]: BaseObject[] } = {};\n\n if (selections.length === 1) {\n return ArrayHelper.first(selections).name;\n }\n \n selections.forEach(s => {\n let paramKey;\n \n switch (s.typeId) {\n case MasterType.User:\n paramKey = 'users';\n break;\n \n case MasterType.Classroom:\n paramKey = 'classrooms';\n break;\n \n case MasterType.ClassroomGroup:\n paramKey = 'classroomGroups';\n break;\n }\n\n const recipientType = recipients[paramKey] ?? [];\n\n recipientType.push(s);\n\n recipients = {\n ...recipients,\n [paramKey]: ArrayHelper.uniq(recipientType)\n };\n });\n\n const onlyClassroomsSelected = recipients.classrooms &&\n !recipients.classroomGroups &&\n !recipients.users;\n const onlyGroupsSelected = recipients.classroomGroups &&\n !recipients.classrooms &&\n !recipients.users;\n const onlyUsersSelected = recipients.users &&\n !recipients.classrooms &&\n !recipients.classroomGroups;\n \n if (onlyClassroomsSelected)\n return getPhrase('classrooms', { smartCount: recipients.classrooms.length });\n \n if (onlyGroupsSelected)\n return getPhrase('groups', { smartCount: recipients.classroomGroups.length });\n \n if (onlyUsersSelected)\n return getPhrase('users', { smartCount: recipients.users.length });\n \n const mixedSelections = [];\n \n if (recipients.classrooms?.length)\n mixedSelections.push(getPhrase('classrooms', { smartCount: recipients.classrooms.length }));\n \n if (recipients.classroomGroups?.length)\n mixedSelections.push(getPhrase('groups', { smartCount: recipients.classroomGroups.length }));\n \n if (recipients.users?.length)\n mixedSelections.push(getPhrase('users', { smartCount: recipients.users.length }));\n \n const lastSelection = mixedSelections.pop();\n \n return `${mixedSelections.join(', ')} ${getPhrase('and')} ${lastSelection}`;\n }\n};","export enum ShareLinkStatus {\n Expired = 'Expired',\n Active = 'Active'\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { SharePrivacyResponse } from 'libs/shared/apps/share/interfaces/responses/SharePrivacyResponse';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ShareLinkStatus } from 'libs/shared/enums/ShareLinkStatus';\nimport { VisibleOnSvg } from 'libs/shared/images/svg/actions/VisibleOnSvg';\nimport { LockSvg } from 'libs/shared/images/svg/status/LockSvg';\nimport { TimerSvg } from 'libs/shared/images/svg/status/TimerSvg';\nimport { BaseObject, YearGroup } from 'libs/shared/interfaces';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nconst namespace = 'share.shareLinkInfo';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface GetIconAndTextOptions {\n linkExpireDate: string;\n isPasswordProtected: boolean;\n privacy: SharePrivacyResponse;\n status: ShareLinkStatus;\n entityTypeId: MasterType;\n hasStudentExp: boolean;\n entity: BaseObject;\n yearGroups: YearGroup[];\n}\n\n\nexport const ShareLinkHelper = {\n getPrivateIconAndText: (options: GetIconAndTextOptions) => {\n const { entityTypeId, privacy, hasStudentExp, entity, yearGroups } = options;\n \n if (entityTypeId === MasterType.Topic || entityTypeId === MasterType.Series)\n return { icon: VisibleOnSvg, text: getPhrase(hasStudentExp ? 'justMySchoolTeachers' : 'justMySchoolDescription') };\n \n /**\n * This is mainly for typescript, privacy will be an array for playlists\n * but that is handled above\n */\n if (Array.isArray(privacy))\n return;\n \n switch (privacy.privacy) {\n case 'public':\n return { icon: VisibleOnSvg, text: getPhrase('publicDescription') };\n case 'protected':\n if (privacy.overrideRestrictions)\n return { icon: VisibleOnSvg, text: getPhrase('clickViewOnly') };\n return {\n icon: LockSvg,\n text: ShareLinkHelper.getRespectRatingText(entity, yearGroups, hasStudentExp)\n };\n case 'just_my_customer':\n if (privacy.overrideRestrictions)\n return { icon: LockSvg, text: getPhrase(hasStudentExp ? 'justMySchoolTeachers' : 'justMySchoolDescription') };\n return {\n icon: LockSvg,\n text: ShareLinkHelper.getRespectRatingText(entity, yearGroups, hasStudentExp)\n };\n /**\n * Because we plan to add restricted management later \n * for the time being we treat is the same as private \n */\n case 'restricted':\n case 'private':\n return { icon: LockSvg, text: getPhrase('privateDescription') };\n default:\n return {};\n }\n },\n\n getIconAndText: (options: GetIconAndTextOptions) => {\n const { linkExpireDate, isPasswordProtected, status } = options;\n if (!linkExpireDate && !isPasswordProtected)\n return ShareLinkHelper.getPrivateIconAndText(options);\n \n if (!linkExpireDate)\n return { icon: LockSvg, text: getPhrase('password') };\n \n const isToday = DateHelper.isToday(linkExpireDate);\n const dayDifference = DateHelper.diffBetween(linkExpireDate, new Date(), 'day');\n \n if (!isPasswordProtected) {\n let text = isToday\n ? getPhrase('expiryToday')\n : getPhrase('expiry', { days: dayDifference });\n \n if (status === ShareLinkStatus.Expired)\n text = getPhrase('expired');\n \n return { icon: TimerSvg, text };\n }\n \n let text = isToday\n ? getPhrase('passwordExpiryToday')\n : getPhrase('passwordExpiry', { days: dayDifference });\n \n if (status === ShareLinkStatus.Expired)\n text = getPhrase('passwordExpired');\n \n return { icon: LockSvg, text };\n },\n\n getRespectRatingText(video: BaseObject, yearGroups: YearGroup[], hasStudentExp: boolean) {\n if (!video || !yearGroups)\n return null;\n \n if (hasStudentExp)\n return getPhrase('justMySchoolTeachers');\n \n if (!VideoHelper.isVideoType(video))\n return getPhrase('collectionRating');\n \n const restriction = RestrictionHelper.getWeightedRestriction(video._restrictions?.value);\n \n /**\n * Restrictions without a year level are teacher restricitons, which means only admins can see it.\n */\n if (restriction && !restriction.yearGroup)\n return getPhrase('onlyAdmins');\n \n const rating = VideoHelper.getRating(video);\n \n let maxYearGroup: YearGroup;\n let minAllowedYearGroup: YearGroup;\n \n for (const yearGroup of yearGroups) {\n /**\n * If our year level is our new highest so far, save it\n */\n if (!maxYearGroup || yearGroup.value > maxYearGroup.value)\n maxYearGroup = yearGroup;\n \n /**\n * If the restriction is higher than this year level, skip it.\n */\n if (restriction && yearGroup.value <= restriction.yearGroup)\n continue;\n \n /**\n * If therating is higher than this year level's rating value, skip it.\n */\n if (rating && yearGroup.rating.value < rating.value)\n continue;\n \n /**\n * If our year level is the new lowest so far, save it\n */\n if (!minAllowedYearGroup || yearGroup.value < minAllowedYearGroup.value)\n minAllowedYearGroup = yearGroup;\n }\n \n /**\n * If no year levels are allowed, then it's staff only.\n */\n if (!minAllowedYearGroup)\n return getPhrase('onlyStaff');\n \n \n /**\n * If there's only one year level, and it's allowed, then we can just\n * say that everyone in your school can access it.\n */\n if (yearGroups.length === 1)\n return getPhrase('clickViewOnly');\n \n /**\n * We differentiate the copy if it's the highest year level or not. \n * Basically if we need to say \"X and above\" or not.\n */\n if (minAllowedYearGroup.value === maxYearGroup.value)\n return getPhrase('maxYearGroup', { yearGroup: maxYearGroup.name });\n \n return getPhrase('yearGroupRange', { yearGroup: minAllowedYearGroup.name });\n }\n};"],"names":["DEFAULT_STORAGE_LIMIT","RecentItemHelper","cacheKey","dataSource","expire","recentItems","ids","options","id","limit","idIndex","omitted","i","getCacheKey","userId","RecentShareHelper","LocalStorageHelper","BaseCollectionIdentifier","collectionPrefix","sort","cursor","params","ErrorHelper","DevError","PlaylistVideoCollectionIdentifier","PlaylistStateUpdateHelper","key","state","updatedState","count","ReorderHelper","items","oldIdx","newIdx","reorderedItems","ArrayHelper","destinationMemberId","reorderRequest","dataPrefix","data","updatedData","ObjectHelper","keys","page","pageSize","nextCursor","nextKey","removeIdx","itemToMove","insertIdx","r","v","itemsToInsert","PlaylistRequests","collectionIdentifier","type","SharedWithStatements","UrlHelper","success","error","shareId","VIDEO_COLLECTION","CLIP_COLLECTION","INTERACTIVE","CurationStatus","PermissionFilterOption","filter","videoId","always","HttpVerbs","playlistId","videos","invalidationKeys","video","body","acc","VideoHelper","typeId","baseUrl","MasterType","formatData","_a","endpoints","videoCount","SeriesRequests","queryStringObj","sortFilter","VideoSortHelper","k","PublicWithStatement","namespace","getPhrase","LanguageService","ShareViewHelper","newShareLink","AnalyticsHelper","UserAction","EntityType","EventVersion","Flight.fetch","ShareRequests","dispatch","entity","entityType","shareLink","alerts","onSuccess","onError","updatedShareLink","onDone","currentUser","recipients","sentDirectShare","message","updatedDirectShare","ShareDescriptors","recipient","createData","updateData","request","recipientId","customerId","directShare","LocationContext","WorkflowPhase","Flight.useBasicFetch","VideoRequests","ClassificationRequests","InteractiveRequests","ClipRequests","sharedResource","_b","_c","_d","selections","s","paramKey","recipientType","onlyClassroomsSelected","onlyGroupsSelected","onlyUsersSelected","mixedSelections","lastSelection","ShareLinkStatus","ShareLinkHelper","entityTypeId","privacy","hasStudentExp","yearGroups","VisibleOnSvg","LockSvg","linkExpireDate","isPasswordProtected","status","isToday","DateHelper","dayDifference","text","TimerSvg","restriction","RestrictionHelper","rating","maxYearGroup","minAllowedYearGroup","yearGroup"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0UfVJrf5.chunk.js","sources":["../../src/apps/default/views/not-found/ReportsNotFoundView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ErrorPageError } from 'libs/shared/errors/primitives/ErrorPageError';\n\nimport { ErrorView } from 'apps/default/views/error/ReportsErrorView';\n\ninterface NotFoundViewProps {\n error: ErrorPageError;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function NotFoundView({ error }: NotFoundViewProps): React.ReactElement {\n return <ErrorView error={error} />;\n}"],"names":["NotFoundView","error","jsx","ErrorView"],"mappings":"wCAWO,SAASA,EAAa,CAAE,MAAAC,GAAgD,CAC7E,OAAOC,MAACC,GAAU,MAAAF,EAAc,CAClC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e,L as a,j as o}from"./app-5iiM5qQY.js";import{u as t}from"./BxBPX67V.chunk.js";import{V as i}from"./DAajosqn.chunk.js";import{T as m,b as c,a as p}from"./DnhffgUu.chunk.js";import"./C0Ak1kpS.chunk.js";import"./sFV5nxD4.chunk.js";import"./DNP9cLqQ.chunk.js";import"./DMd0fZar.chunk.js";import"./C6UUJ8P5.chunk.js";import"./BvArNs1K.chunk.js";import"./B9I2jvNY.chunk.js";import"./DvV9e2O3.chunk.js";import"./k_p1R4KR.chunk.js";import"./uBcZoYae.chunk.js";import"./BIIsc-MA.chunk.js";import"./CEy1YX0b.chunk.js";import"./C8oA7_zY.chunk.js";import"./BlUKEHqx.chunk.js";import"./EBNeK_uD.chunk.js";import"./D9oCeDYw.chunk.js";import"./BqY3bZyH.chunk.js";import"./Cs1UnwSi.chunk.js";import"./DO-V6YKu.chunk.js";import"./BLuY6AYO.chunk.js";import"./CP2i5uhZ.chunk.js";import"./Cn0ghy_D.chunk.js";import"./LT6WE6TB.chunk.js";import"./Cl1c9Acb.chunk.js";import"./CbBaa9Aj.chunk.js";import"./CTMVj7AR.chunk.js";const l="_column1_1xf0u_1",n="_column2_1xf0u_4",d="_column3_1xf0u_7",u="_topSearches_1xf0u_11",x="_topTopics_1xf0u_14",h="_barChart_1xf0u_17",r={column1:l,column2:n,column3:d,topSearches:u,topTopics:x,barChart:h},_="reportsDashboard.teacherOverviewDashboard",s=a.encloseNamespace(_);function K(){return e({title:s("dashboard")}),t(s("dashboard")),o.jsx("div",{children:o.jsxs("div",{className:"d-flex",children:[o.jsxs("div",{className:`d-flex flex-column ${r.column1}`,children:[o.jsx("div",{className:"pb-3",children:o.jsx(m,{className:r.topSearches})}),o.jsx(c,{className:r.topTopics})]}),o.jsx("div",{className:`${r.column2} px-3`,children:o.jsx(p,{})}),o.jsx("div",{className:`d-flex flex-column ${r.column3}`,children:o.jsx(i,{className:r.barChart})})]})})}export{K as TeacherOverviewDashboardView};
|
|
2
|
+
//# sourceMappingURL=2cd-ulth.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2cd-ulth.chunk.js","sources":["../../src/apps/dashboard/views/teacher-overview-dashboard/TeacherOverviewDashboardView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\n\nimport { useSetHeaderTitle } from 'shared/hooks/UseSetHeaderTitle';\nimport { ViewCountBarChartCardView } from 'shared/views/overview-cards/view-count-bar-chart-card/ViewCountBarChartCardView';\n\nimport { TopSearchesCardView } from 'apps/dashboard/views/overview-cards/top-searches/TopSearchesCardView';\nimport { TopTopicsCardView } from 'apps/dashboard/views/overview-cards/top-topics/TopTopicsCardView';\nimport { TopVideosCardView } from 'apps/dashboard/views/overview-cards/top-videos/TopVideosCardView';\n\nimport styles from './teacher-overview-dashboard.module.scss';\n\nconst namespace = 'reportsDashboard.teacherOverviewDashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function TeacherOverviewDashboardView(): JSX.Element {\n useSetPageMetadata({ title: getPhrase('dashboard') });\n useSetHeaderTitle(getPhrase('dashboard'));\n\n return (\n <div>\n <div className='d-flex'>\n <div className={`d-flex flex-column ${styles.column1}`}>\n <div className='pb-3'>\n <TopSearchesCardView className={styles.topSearches} />\n </div>\n <TopTopicsCardView className={styles.topTopics} />\n </div>\n <div className={`${styles.column2} px-3`}>\n <TopVideosCardView />\n </div>\n <div className={`d-flex flex-column ${styles.column3}`}>\n <ViewCountBarChartCardView className={styles.barChart} />\n </div>\n </div>\n </div>\n );\n}"],"names":["namespace","getPhrase","LanguageService","TeacherOverviewDashboardView","useSetPageMetadata","useSetHeaderTitle","jsx","jsxs","styles","TopSearchesCardView","TopTopicsCardView","TopVideosCardView","ViewCountBarChartCardView"],"mappings":"umCAeMA,EAAY,4CACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,GAA4C,CAC1D,OAAAC,EAAmB,CAAE,MAAOH,EAAU,WAAW,EAAG,EACpDI,EAAkBJ,EAAU,WAAW,CAAC,EAGtCK,EAAAA,IAAC,MAAA,CACC,SAAAC,EAAAA,KAAC,MAAA,CAAI,UAAU,SACb,SAAA,CAAAA,OAAC,MAAA,CAAI,UAAW,sBAAsBC,EAAO,OAAO,GAClD,SAAA,CAAAF,EAAAA,IAAC,MAAA,CAAI,UAAU,OACb,SAAAA,EAAAA,IAACG,GAAoB,UAAWD,EAAO,YAAa,CAAA,CACtD,EACAF,EAAAA,IAACI,EAAA,CAAkB,UAAWF,EAAO,SAAA,CAAW,CAAA,EAClD,EACAF,EAAAA,IAAC,OAAI,UAAW,GAAGE,EAAO,OAAO,QAC/B,SAAAF,EAAAA,IAACK,EAAA,CAAA,CAAkB,CAAA,CACrB,EACAL,EAAAA,IAAC,MAAA,CAAI,UAAW,sBAAsBE,EAAO,OAAO,GAClD,SAAAF,EAAAA,IAACM,EAAA,CAA0B,UAAWJ,EAAO,QAAA,CAAU,CAAA,CACzD,CAAA,CAAA,CACF,CAAA,CACF,CAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"5O9SdVRZ.chunk.js","sources":["../../../../libs/shared/src/constants/ScoreThresholds.ts"],"sourcesContent":["export interface ScoreThresholds {\n HIGH: number;\n MODERATE: number;\n}\n\nexport const ScoreThresholdDefaults: ScoreThresholds = {\n HIGH: 0.75,\n MODERATE: 0.5\n};\n\nexport const ScoreThresholdInsights: ScoreThresholds = {\n HIGH: 0.7,\n MODERATE: 0.7\n};"],"names":["ScoreThresholdDefaults"],"mappings":"AAKO,MAAMA,EAA0C,CACrD,KAAM,IACN,SAAU,EACZ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as g,y as j,c6 as N,c7 as v,j as e,B as T,c5 as t}from"./app-5iiM5qQY.js";const n=g.forwardRef(({bsPrefix:s,className:c,as:o="div",...d},p)=>{const x=j(s,"row"),h=N(),u=v(),b=`${x}-cols`,m=[];return h.forEach(r=>{const i=d[r];delete d[r];let l;i!=null&&typeof i=="object"?{cols:l}=i:l=i;const _=r!==u?`-${r}`:"";l!=null&&m.push(`${b}${_}-${l}`)}),e.jsx(o,{ref:p,...d,className:T(c,x,...m)})});n.displayName="Row";const f="_videoTable_14eqw_1",w="_interactiveTable_14eqw_4",$="_userTable_14eqw_7",C="_header_14eqw_10",k="_videoItemContainer_14eqw_16",S="_interactiveItemContainer_14eqw_19",y="_userItemContainer_14eqw_22",q="_heatMapItemContainer_14eqw_25",I="_partialAvatar_14eqw_28",M="_partialNumber_14eqw_33",B="_partialLongText_14eqw_37",H="_partialMediumText_14eqw_41",R="_partialShortText_14eqw_45",E="_partialThumbnail_14eqw_49",V="_partialHeatMap_14eqw_53",a={videoTable:f,interactiveTable:w,userTable:$,header:C,videoItemContainer:k,interactiveItemContainer:S,userItemContainer:y,heatMapItemContainer:q,partialAvatar:I,partialNumber:M,partialLongText:B,partialMediumText:H,partialShortText:R,partialThumbnail:E,partialHeatMap:V},A=e.jsxs(n,{className:"py-3",children:[e.jsx(t,{xs:1,className:"d-flex align-items-center justify-content-center",children:e.jsx("div",{className:`partial-loading-background ${a.partialNumber}`})}),e.jsx(t,{xs:5,className:"d-flex align-items-center",children:e.jsx("div",{className:`partial-loading-background ${a.partialShortText}`})}),e.jsx(t,{xs:2,className:"d-flex align-items-center",children:e.jsx("div",{className:`d-block partial-loading-background mx-4 ${a.partialShortText}`})}),e.jsx(t,{xs:4,className:"d-flex align-items-center",children:e.jsx("div",{className:`d-block partial-loading-background mx-4 ${a.partialShortText}`})})]}),L=e.jsxs(n,{className:"py-3",children:[e.jsx(t,{xs:5,className:"d-flex align-items-center",children:e.jsx("div",{className:`partial-loading-background mx-4 ${a.partialShortText}`})}),e.jsx(t,{xs:2,className:"d-flex align-items-center",children:e.jsx("div",{className:`d-block partial-loading-background mx-4 ${a.partialShortText}`})}),e.jsx(t,{xs:2,className:"d-flex align-items-center",children:e.jsx("div",{className:`d-block partial-loading-background mx-4 ${a.partialShortText}`})}),e.jsx(t,{xs:3,className:"d-flex align-items-center",children:e.jsx("div",{className:`d-block partial-loading-background mx-4 ${a.partialShortText}`})})]}),P=e.jsxs(n,{className:"py-3",children:[e.jsx(t,{xs:2,className:"d-flex",children:e.jsx("div",{className:`partial-loading-background mx-3 ${a.partialShortText}`})}),e.jsx(t,{xs:2,className:"d-flex justify-content-center",children:e.jsx("div",{className:`partial-loading-background mx-2 ${a.partialShortText}`})}),e.jsx(t,{xs:2,className:"d-flex justify-content-center",children:e.jsx("div",{className:`partial-loading-background ${a.partialShortText}`})}),e.jsx(t,{xs:6,className:"d-flex justify-content-between",children:e.jsx("div",{className:`d-block partial-loading-background ${a.heatMapItemContainer} ${a.partialShortText}`})})]});function z(s){switch(s){case"video-views":return{headerComponent:A,tableStyle:a.videoTable};case"interactives":return{headerComponent:L,tableStyle:a.interactiveTable};case"engagement-users":return{headerComponent:P,tableStyle:a.userTable};default:return{headerComponent:e.jsx(e.Fragment,{}),tableStyle:""}}}function U(s){const{headerComponent:c,tableStyle:o}=z(s.variant);return e.jsxs("div",{className:`bg-white rounded ${o} ${s.className??""}`,children:[e.jsx("div",{className:`border-bottom ${a.header} ${s.headerClassName??""}`,children:c}),s.children]})}export{U as P,n as R,a as s};
|
|
2
|
+
//# sourceMappingURL=72EXv822.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"72EXv822.chunk.js","sources":["../../../../../node_modules/react-bootstrap/esm/Row.js","../../src/shared/components/partial-loading/PartialTable.tsx"],"sourcesContent":["\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Row = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const sizePrefix = `${decoratedBsPrefix}-cols`;\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let cols;\n if (propValue != null && typeof propValue === 'object') {\n ({\n cols\n } = propValue);\n } else {\n cols = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n });\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, ...classes)\n });\n});\nRow.displayName = 'Row';\nexport default Row;","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport styles from './partial-loading.module.scss';\n\nconst VideoViewsHeader = (\n <Row className='py-3'>\n <Col xs={1} className='d-flex align-items-center justify-content-center'>\n <div className={`partial-loading-background ${styles.partialNumber}`} />\n </Col>\n <Col xs={5} className='d-flex align-items-center'>\n <div className={`partial-loading-background ${styles.partialShortText}`} />\n </Col>\n <Col xs={2} className='d-flex align-items-center' >\n <div className={`d-block partial-loading-background mx-4 ${styles.partialShortText}`} />\n </Col>\n <Col xs={4} className='d-flex align-items-center'>\n <div className={`d-block partial-loading-background mx-4 ${styles.partialShortText}`} />\n </Col>\n </Row>\n);\n\nconst InteractivesHeader = (\n <Row className='py-3'>\n <Col xs={5} className='d-flex align-items-center'>\n <div className={`partial-loading-background mx-4 ${styles.partialShortText}`} />\n </Col>\n <Col xs={2} className='d-flex align-items-center' >\n <div className={`d-block partial-loading-background mx-4 ${styles.partialShortText}`} />\n </Col>\n <Col xs={2} className='d-flex align-items-center'>\n <div className={`d-block partial-loading-background mx-4 ${styles.partialShortText}`} />\n </Col>\n <Col xs={3} className='d-flex align-items-center'>\n <div className={`d-block partial-loading-background mx-4 ${styles.partialShortText}`} />\n </Col>\n </Row>\n);\n\nconst EngagementUsersHeader = (\n <Row className='py-3'>\n <Col xs={2} className='d-flex'>\n <div className={`partial-loading-background mx-3 ${styles.partialShortText}`} />\n </Col>\n <Col xs={2} className='d-flex justify-content-center'>\n <div className={`partial-loading-background mx-2 ${styles.partialShortText}`} />\n </Col>\n <Col xs={2} className='d-flex justify-content-center'>\n <div className={`partial-loading-background ${styles.partialShortText}`} />\n </Col>\n <Col xs={6} className='d-flex justify-content-between'>\n <div className={`d-block partial-loading-background ${styles.heatMapItemContainer} ${styles.partialShortText}`} />\n </Col>\n </Row>\n);\n\nfunction getTableVariant(type: TableVariant) {\n switch (type) {\n case 'video-views':\n return {\n headerComponent: VideoViewsHeader,\n tableStyle: styles.videoTable\n };\n\n case 'interactives':\n return {\n headerComponent: InteractivesHeader,\n tableStyle: styles.interactiveTable\n };\n\n case 'engagement-users':\n return {\n headerComponent: EngagementUsersHeader,\n tableStyle: styles.userTable\n };\n\n default:\n return {\n headerComponent: <></>,\n tableStyle: ''\n };\n }\n}\n\nexport type TableVariant = 'video-views' | 'interactives' | 'engagement-users';\n\ninterface PartialTableProps {\n variant?: TableVariant;\n className?: string;\n headerClassName?: string;\n}\n\nexport function PartialTable(props: React.PropsWithChildren<PartialTableProps>): JSX.Element {\n const { headerComponent, tableStyle } = getTableVariant(props.variant);\n\n return (\n <div className={`bg-white rounded ${tableStyle} ${props.className ?? ''}`}>\n <div className={`border-bottom ${styles.header} ${props.headerClassName ?? ''}`}>\n {headerComponent}\n </div>\n {props.children}\n </div>\n );\n}"],"names":["Row","React.forwardRef","bsPrefix","className","Component","props","ref","decoratedBsPrefix","useBootstrapPrefix","breakpoints","useBootstrapBreakpoints","minBreakpoint","useBootstrapMinBreakpoint","sizePrefix","classes","brkPoint","propValue","cols","infix","_jsx","classNames","VideoViewsHeader","jsxs","jsx","Col","styles","InteractivesHeader","EngagementUsersHeader","getTableVariant","type","Fragment","PartialTable","headerComponent","tableStyle"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as e,O as o,bE as C,L as j,e as x,u as l,o as g,a5 as w,U as f}from"./app-5iiM5qQY.js";import{M as v,V as d}from"./C0Ak1kpS.chunk.js";import{u as T}from"./BvArNs1K.chunk.js";import{U as N,V as u,E as S,P as b}from"./Bgidb-to.chunk.js";import{a as V,T as c}from"./BlUKEHqx.chunk.js";import{u as I}from"./uBcZoYae.chunk.js";const E="reportsShared.viewCountPieChartEmptyState",m=j.encloseNamespace(E);function y(t){return e.jsxs(o,{className:"flex-grow-1 justify-content-center",children:[e.jsx(o.Image,{src:C.EmptyStates.Shared.ViewCount,className:"w-75 h-auto pb-0"}),e.jsx(o.Heading,{children:m("heading")}),e.jsx(o.Info,{className:"w-100",children:m(t.singular?"descriptionSingular":"descriptionMultiple")})]})}const P="_topicColumn_yyw9h_1",p={topicColumn:P},R="reportsShared.viewCountByTopicCard",n=j.encloseNamespace(R);function h(t){const a=x(),i=l(!!a&&V.viewsByTopic(a,t.type));return i.data?i.data.length?e.jsx("div",{className:"h-100 me-n2",children:e.jsxs(g.Scrollbars,{height:"100%",className:"mt-2",children:[e.jsxs("div",{className:"d-flex align-items-center pe-1",children:[e.jsxs("div",{className:`d-flex flex-wrap pe-2 ${p.topicColumn}`,children:[e.jsx("strong",{className:"me-1",children:n(t.type===c.RootTopic?"subject":"topic")}),e.jsx("span",{className:"text-secondary",children:n(t.type===c.RootTopic?"multipleSubjects":"multipleTopics")})]}),e.jsx("strong",{children:n("views")})]}),e.jsx("ul",{className:"list-unstyled",children:i.data.map((s,r)=>e.jsx("li",{children:e.jsxs(w,{title:s.collection.name,spanHack:!0,spanHackClassName:"d-flex align-items-center pe-1",children:[e.jsx("div",{className:`py-2 pe-2 ${p.topicColumn}`,children:e.jsx(v,{data:s.collection})}),e.jsx("strong",{children:n("viewCount",{smartCount:s.count})})]})},r))})]})}):e.jsx(y,{}):e.jsx(e.Fragment,{})}function H(t){const a=x(),i=l(!!t.useSharerId&&f.currentUser()),s=l(!!a&&(t.useSharerId?i.hasCompleted&&d.views(a,t.objectId,i.data.id):d.views(a,t.objectId)));T(s),I(s);const r=!t.objectId;return e.jsx("div",{className:`bg-white rounded p-3 position-relative d-flex flex-column ${t.className??""}`,children:s.data?e.jsx(N,{eventType:S.VideoView,events:s.data,objectId:t.objectId,emptyStateComponent:e.jsx(y,{singular:!!t.objectId}),customGroupBy:r?[{type:u.Subject,getComponent:()=>e.jsx(h,{type:c.RootTopic})},{type:u.Topic,getComponent:()=>e.jsx(h,{type:c.ChildTopic})}]:null}):e.jsx(b,{})})}export{H as V};
|
|
2
|
+
//# sourceMappingURL=8CNwntVY.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"8CNwntVY.chunk.js","sources":["../../src/shared/views/overview-cards/view-count-pie-chart-card/components/view-count-pie-chart-empty-state/ViewCountPieChartEmptyState.tsx","../../src/shared/views/overview-cards/view-count-pie-chart-card/components/view-count-by-topic/ViewCountByTopicCard.tsx","../../src/shared/views/overview-cards/view-count-pie-chart-card/ViewCountPieChartCardView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\n\nimport { ImageUrls } from 'shared/constants/ReportsImageUrls';\n\nconst namespace = 'reportsShared.viewCountPieChartEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ViewCountPieChartEmptyStateProps {\n singular?: boolean;\n}\n\nexport function ViewCountPieChartEmptyState(props: ViewCountPieChartEmptyStateProps): JSX.Element {\n return (\n <EmptyState className='flex-grow-1 justify-content-center'>\n <EmptyState.Image\n src={ImageUrls.EmptyStates.Shared.ViewCount}\n className='w-75 h-auto pb-0'\n />\n <EmptyState.Heading>\n {getPhrase('heading')}\n </EmptyState.Heading>\n <EmptyState.Info className='w-100'>\n {getPhrase(props.singular ? 'descriptionSingular' : 'descriptionMultiple')}\n </EmptyState.Info>\n </EmptyState>\n );\n}","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { SubjectWidgetItem } from 'libs/shared/components/widgets/items/subject-widget-item/SubjectWidgetItem';\nimport { Classification } from 'libs/shared/interfaces';\n\nimport { TopicAnalyticsType } from 'shared/enums/TopicAnalyticsType';\nimport { TopicRequests } from 'shared/flight-requests/TopicRequests';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { CollectionViewEvent } from 'shared/interfaces';\nimport {\n ViewCountPieChartEmptyState\n} from 'shared/views/overview-cards/view-count-pie-chart-card/components/view-count-pie-chart-empty-state/ViewCountPieChartEmptyState';\n\nimport styles from './view-count-by-topic-card.module.scss';\n\nconst namespace = 'reportsShared.viewCountByTopicCard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ViewCountByTopicCardProps {\n type: TopicAnalyticsType;\n}\n\nexport function ViewCountByTopicCard(props: ViewCountByTopicCardProps): JSX.Element {\n const requestFilter = useGetRequestFilter();\n\n const viewsByTopic = Flight.useBasicFetch<CollectionViewEvent<Classification>[]>(!!requestFilter &&\n TopicRequests.viewsByTopic(requestFilter, props.type));\n\n if (!viewsByTopic.data)\n return <></>;\n\n if (!viewsByTopic.data.length)\n return <ViewCountPieChartEmptyState />;\n\n return (\n <div className='h-100 me-n2'>\n <Scrollbars height='100%' className='mt-2'>\n <div className='d-flex align-items-center pe-1'>\n <div className={`d-flex flex-wrap pe-2 ${styles.topicColumn}`}>\n <strong className='me-1'>\n {getPhrase(props.type === TopicAnalyticsType.RootTopic ? 'subject' : 'topic')}\n </strong>\n <span className='text-secondary'>\n {getPhrase(props.type === TopicAnalyticsType.RootTopic ? 'multipleSubjects' : 'multipleTopics')}\n </span>\n </div>\n <strong>{getPhrase('views')}</strong>\n </div>\n <ul className='list-unstyled'>\n {viewsByTopic.data.map((v, idx) => (\n <li key={idx}>\n <Tooltip\n title={v.collection.name}\n spanHack\n spanHackClassName='d-flex align-items-center pe-1'\n >\n <div className={`py-2 pe-2 ${styles.topicColumn}`}>\n <SubjectWidgetItem data={v.collection} />\n </div>\n <strong>\n {getPhrase('viewCount', { smartCount: v.count })}\n </strong>\n </Tooltip>\n </li>\n ))}\n </ul>\n </Scrollbars>\n </div>\n );\n}","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { VideoViewEventResponse } from 'libs/shared/apps/analytics/interfaces/VideoViewEvent';\nimport { UserRequests as SharedUserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoViewRequests } from 'libs/shared/flight-requests/VideoViewRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { PartialUserActivityPieChart } from 'shared/components/user-activity-pie-chart/partial-loading/PartialUserActivityPieChart';\nimport { UserActivityPieChart } from 'shared/components/user-activity-pie-chart/UserActivityPieChart';\nimport { VideoViewGroupBy } from 'shared/components/user-activity-pie-chart/utils/UserActivityPieChartTypes';\nimport { EventType } from 'shared/enums/EventType';\nimport { TopicAnalyticsType } from 'shared/enums/TopicAnalyticsType';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { useSetAudienceFilterCount } from 'shared/hooks/UseSetAudienceFilterCount';\n\nimport { ViewCountByTopicCard } from './components/view-count-by-topic/ViewCountByTopicCard';\nimport { ViewCountPieChartEmptyState } from './components/view-count-pie-chart-empty-state/ViewCountPieChartEmptyState';\n\ninterface ViewCountPieChartCardViewProps {\n /**\n * className is required as a height must be specified.\n */\n className: string;\n objectId?: string;\n useSharerId?: boolean;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function ViewCountPieChartCardView(props: ViewCountPieChartCardViewProps): JSX.Element {\n const requestFilter = useGetRequestFilter();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(!!props.useSharerId && SharedUserRequests.currentUser());\n\n const views = Flight.useBasicFetch<VideoViewEventResponse>(!!requestFilter && (props.useSharerId\n ? currentUser.hasCompleted &&\n VideoViewRequests.views(requestFilter, props.objectId, currentUser.data.id)\n : VideoViewRequests.views(requestFilter, props.objectId)\n ));\n\n useHandleObjectError(views);\n useSetAudienceFilterCount(views);\n\n const displayTopicFilters = !props.objectId;\n\n return (\n <div className={`bg-white rounded p-3 position-relative d-flex flex-column ${props.className ?? ''}`}>\n {views.data\n ? <UserActivityPieChart\n eventType={EventType.VideoView}\n events={views.data}\n objectId={props.objectId}\n emptyStateComponent={<ViewCountPieChartEmptyState singular={!!props.objectId} />}\n customGroupBy={displayTopicFilters ? [\n {\n type: VideoViewGroupBy.Subject,\n getComponent: () => <ViewCountByTopicCard type={TopicAnalyticsType.RootTopic} />\n },\n {\n type: VideoViewGroupBy.Topic,\n getComponent: () => <ViewCountByTopicCard type={TopicAnalyticsType.ChildTopic} />\n }\n ] : null}\n />\n : <PartialUserActivityPieChart />\n }\n </div>\n );\n}"],"names":["namespace","getPhrase","LanguageService","ViewCountPieChartEmptyState","props","jsxs","EmptyState","jsx","ImageUrls","ViewCountByTopicCard","requestFilter","useGetRequestFilter","viewsByTopic","Flight.useBasicFetch","TopicRequests","Scrollbars","styles","TopicAnalyticsType","v","idx","Tooltip","SubjectWidgetItem","Fragment","ViewCountPieChartCardView","currentUser","SharedUserRequests","views","VideoViewRequests","useHandleObjectError","useSetAudienceFilterCount","displayTopicFilters","UserActivityPieChart","EventType","VideoViewGroupBy","PartialUserActivityPieChart"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as e,T as o,e as g,u as v,S as b,h as f,N as S,E as w,d as y,L as N,i as j,A as m,g as p,k as V,I as k,l as T,m as C,n as _,a as I}from"./app-5iiM5qQY.js";import{T as L}from"./BlUKEHqx.chunk.js";import{u as A}from"./BxBPX67V.chunk.js";import{S as E,a as F}from"./DlxDC-9E.chunk.js";import{T as O}from"./DKEdZyAE.chunk.js";import{S as D}from"./CEy1YX0b.chunk.js";import{u as P}from"./C8oA7_zY.chunk.js";import{V as q,T as $,a as R}from"./D9oCeDYw.chunk.js";import{u as M}from"./DKu8iTnz.chunk.js";import{V as H}from"./BLSeaGtL.chunk.js";import"./sFV5nxD4.chunk.js";import"./BihcsiRl.chunk.js";import"./DvV9e2O3.chunk.js";import"./CP2i5uhZ.chunk.js";import"./Cn0ghy_D.chunk.js";import"./DNP9cLqQ.chunk.js";import"./DMd0fZar.chunk.js";import"./BqY3bZyH.chunk.js";import"./Cs1UnwSi.chunk.js";import"./DO-V6YKu.chunk.js";import"./BLuY6AYO.chunk.js";import"./LT6WE6TB.chunk.js";import"./Cl1c9Acb.chunk.js";import"./CbBaa9Aj.chunk.js";import"./CTMVj7AR.chunk.js";const z="reportsDashboard.topSearchesCardEmptyStateV2";function B(){return e.jsx("div",{className:"d-flex align-items-center justify-content-center text-center h-100",children:e.jsx(o,{namespace:z,phrase:"message"})})}function G(){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"partial-loading-background w-50 mb-3",children:" "}),e.jsx("div",{className:"partial-loading-background mb-3 w-25",children:" "}),e.jsx("div",{className:"partial-loading-background mb-3 w-33",children:" "}),e.jsx("div",{className:"partial-loading-background mb-3 w-33",children:" "}),e.jsx("div",{className:"partial-loading-background mb-3 w-50",children:" "}),e.jsx("div",{className:"partial-loading-background mb-3 w-25",children:" "}),e.jsx("div",{className:"partial-loading-background mb-3 w-100",children:" "}),e.jsx("div",{className:"partial-loading-background mb-3 w-25",children:" "}),e.jsx("div",{className:"partial-loading-background mb-3 w-75",children:" "}),e.jsx("div",{className:"partial-loading-background mb-3 w-33",children:" "}),e.jsx("div",{className:"partial-loading-background mb-3 w-100",children:" "})]})}const U="reportsDashboard.topSearchesCardV2";function Q(){const i=g(),s=v(D.topSearches(i)),n=P(w.getPrimarySearchUrl);return e.jsx("div",{className:"d-flex flex-column h-100 bg-white overflow-hidden rounded pt-3 px-3",children:s.data?e.jsxs(e.Fragment,{children:[e.jsx("h2",{className:"h6 mb-3",children:e.jsx(o,{namespace:U,phrase:"topSearches"})}),s.data.length?e.jsx(e.Fragment,{children:e.jsx(b,{className:"position-relative",children:e.jsx("ol",{className:"position-absolute w-100 ps-4",children:s.data.map((t,d)=>e.jsx("li",{className:"mb-3",children:e.jsxs("a",{href:n(t.query),target:"_blank",className:"position-relative d-flex justify-content-between align-items-center pe-5",children:[e.jsx("span",{children:t.query}),e.jsx("div",{className:"position-absolute w-100 text-end opacity-0 opacity-100-hover pe-3",children:e.jsx(f,{svg:S})})]})},d))})})}):e.jsx(B,{})]}):e.jsx(G,{})})}const W="reportsDashboard.topStreamsCardEmptyState";function J(){return e.jsx("div",{className:"d-flex align-items-center justify-content-center text-center h-100",children:e.jsx(o,{namespace:W,phrase:"message"})})}function K(){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"partial-loading-background w-50 mb-3",children:" "}),e.jsx("div",{className:"position-relative",children:e.jsx("ul",{className:"list-unstyled position-absolute top-0 start-0 w-100 h-100",children:Array(10).fill(null).map((i,s)=>e.jsx("li",{className:"mb-3",children:e.jsxs("div",{className:"row g-0",children:[e.jsx("div",{className:"col-5",children:e.jsx("div",{className:"ratio ratio-16x9 rounded partial-loading-background"})}),e.jsx("div",{className:"col-7 d-flex align-items-center",children:e.jsxs("div",{className:"mx-2 w-100",children:[e.jsx("div",{className:"w-100 partial-loading-background mb-1",children:" "}),e.jsx("div",{className:"w-75 partial-loading-background",children:" "})]})})]})},s))})})]})}const h="reportsDashboard.topStreamsCard",X=N.encloseNamespace(h),Y=10;function Z(){var x,u;const i=y(),s=g(),n=v(H.topStreams(Y,s)),t=M(((x=n.data)==null?void 0:x.map(c=>c.objectId))??[],C.videos),d=n.hasCompleted&&!t.isFetching;return e.jsx("div",{className:"d-flex flex-column h-100 bg-white overflow-hidden px-3 rounded pt-3",children:d?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"d-flex justify-content-between",children:[e.jsx("h2",{className:"h6 mb-3",children:X("topVideos")}),e.jsx(j,{appLink:{application:p.VIDEOS,action:m.Videos.TOP_VIDEOS},className:"text-info",children:e.jsx(o,{namespace:h,phrase:"seeAll"})})]}),(u=t.itemsArr)!=null&&u.length?e.jsx(b,{className:"position-relative",children:e.jsx("div",{className:"position-absolute w-100",children:e.jsx("ul",{className:"list-unstyled",children:n.data.map(c=>{const a=t.items[c.objectId];if(a)return e.jsx("li",{className:"mb-3",children:e.jsx(j,{appLink:V(a,i),children:e.jsxs("div",{className:"row g-0",children:[e.jsx("div",{className:"col-5",children:e.jsx(q,{video:a,imageOptions:{size:k.Small},textPosition:$.Independent,type:"cosmetic",hideMask:!0,size:"sm"})}),e.jsx("div",{className:"col-7",children:e.jsxs("div",{className:"d-flex flex-column mx-2",children:[T.isVideoType(a)&&e.jsx(R,{type:"series",video:a,analyticsOptions:null,className:"d-inline clamp-1"}),e.jsx("span",{className:"clamp-2 fw-medium",children:a.name}),e.jsx(o,{namespace:h,phrase:"views",options:{smartCount:c.count}})]})})]})})},a.id)})})})}):e.jsx(J,{})]}):e.jsx(K,{})})}const ee="_column1_1303k_1",se="_column2_1303k_4",ae="_column3_1303k_7",ie="_videoViews_1303k_14",te="_topClassifications_1303k_20",l={column1:ee,column2:se,column3:ae,videoViews:ie,topClassifications:te},re=10,ne="reportsDashboard.schoolAnalyticsDashboard",r=N.encloseNamespace(ne);function Ae(){const i=_(),s=r(i?"tertiaryDashboard":"dashboard");return I({title:s}),A(s),e.jsxs("div",{className:"d-flex",children:[e.jsxs("div",{className:`d-flex flex-column gap-3 ${l.column1}`,children:[e.jsx("div",{className:"h-50",children:e.jsx(E,{type:"year_group",appLink:{application:p.VIDEOS,action:m.Videos.HOME},appLinkText:r("seeOverview")})}),e.jsx("div",{className:"h-50",children:e.jsx(Q,{})})]}),e.jsx("div",{className:`${l.column2} px-3`,children:e.jsx(Z,{})}),e.jsxs("div",{className:`d-flex flex-column gap-3 ${l.column3}`,children:[e.jsx("div",{className:l.videoViews,children:e.jsx(F,{type:"user_type"})}),e.jsx("div",{className:l.topClassifications,children:e.jsx(O,{type:L.RootTopic,heading:r("subjects"),appLink:{application:p.VIDEOS,action:m.Videos.HOME},appLinkText:r("seeOverview"),emptyStateText:r("emptySubjects"),limit:re})})]})]})}export{Ae as SchoolAnalyticsDashboardView};
|
|
2
|
+
//# sourceMappingURL=9pagDMWN.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"9pagDMWN.chunk.js","sources":["../../src/apps/dashboard/views/overview-cards/top-searches-v2/empty-state/TopSearchesCardEmptyStateV2.tsx","../../src/apps/dashboard/views/overview-cards/top-searches-v2/partial-loading/PartialTopSearchesCardV2.tsx","../../src/apps/dashboard/views/overview-cards/top-searches-v2/TopSearchesCardV2View.tsx","../../src/apps/dashboard/views/overview-cards/top-streams/empty-state/TopStreamsCardEmptyState.tsx","../../src/apps/dashboard/views/overview-cards/top-streams/partial-loading/PartialTopStreamsCard.tsx","../../src/apps/dashboard/views/overview-cards/top-streams/TopStreamsCardView.tsx","../../src/apps/dashboard/views/school-analytics-dashboard/SchoolAnalyticsDashboardView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'reportsDashboard.topSearchesCardEmptyStateV2';\n\nexport function TopSearchesCardEmptyStateV2() {\n return (\n <div className='d-flex align-items-center justify-content-center text-center h-100'>\n <Text namespace={namespace} phrase='message' />\n </div>\n );\n}","import React from 'react';\n\nexport function PartialTopSearchesCardV2() {\n return (\n <>\n <div className='partial-loading-background w-50 mb-3'> </div>\n\n <div className='partial-loading-background mb-3 w-25'> </div>\n <div className='partial-loading-background mb-3 w-33'> </div>\n <div className='partial-loading-background mb-3 w-33'> </div>\n <div className='partial-loading-background mb-3 w-50'> </div>\n <div className='partial-loading-background mb-3 w-25'> </div>\n <div className='partial-loading-background mb-3 w-100'> </div>\n <div className='partial-loading-background mb-3 w-25'> </div>\n <div className='partial-loading-background mb-3 w-75'> </div>\n <div className='partial-loading-background mb-3 w-33'> </div>\n <div className='partial-loading-background mb-3 w-100'> </div>\n </>\n );\n}","import React from 'react';\nimport Scrollbars from 'react-custom-scrollbars-2';\n\nimport { Flight } from 'libs/common/react/index';\n\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\n\nimport { SearchRequests } from 'shared/flight-requests/SearchRequests';\nimport { useGetExternalUrl } from 'shared/hooks/UseGetExternalUrl';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { TopSearch } from 'shared/interfaces';\nimport { ExternalRouteHelper } from 'shared/utils/ExternalRouteHelper';\n\nimport { TopSearchesCardEmptyStateV2 } from 'apps/dashboard/views/overview-cards/top-searches-v2/empty-state/TopSearchesCardEmptyStateV2';\nimport { PartialTopSearchesCardV2 } from 'apps/dashboard/views/overview-cards/top-searches-v2/partial-loading/PartialTopSearchesCardV2';\n\nconst namespace = 'reportsDashboard.topSearchesCardV2';\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function TopSearchesCardV2View() {\n const requestFilter = useGetRequestFilter();\n\n const searches = Flight.useBasicFetch<TopSearch[]>(SearchRequests.topSearches(requestFilter));\n\n const getSearchUrl = useGetExternalUrl(ExternalRouteHelper.getPrimarySearchUrl);\n\n return (\n <div className='d-flex flex-column h-100 bg-white overflow-hidden rounded pt-3 px-3'>\n {searches.data ? (\n <>\n <h2 className='h6 mb-3'><Text namespace={namespace} phrase='topSearches' /></h2>\n\n {searches.data.length ?\n <>\n <Scrollbars className='position-relative'>\n <ol className='position-absolute w-100 ps-4'>\n {searches.data.map((s, idx) => {\n return (\n <li\n key={idx}\n className='mb-3'\n >\n <a\n href={getSearchUrl(s.query)}\n target='_blank'\n className='position-relative d-flex justify-content-between align-items-center pe-5'\n >\n <span>\n {s.query}\n </span>\n <div className='position-absolute w-100 text-end opacity-0 opacity-100-hover pe-3'>\n <SvgContainer svg={NewWindowSvg} />\n </div>\n </a>\n </li>\n );\n })}\n </ol>\n </Scrollbars>\n </>\n : <TopSearchesCardEmptyStateV2 />\n }\n </>\n ) : <PartialTopSearchesCardV2 />}\n </div>\n );\n}","import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'reportsDashboard.topStreamsCardEmptyState';\n\nexport function TopStreamsCardEmptyState() {\n return (\n <div className='d-flex align-items-center justify-content-center text-center h-100'>\n <Text namespace={namespace} phrase='message' />\n </div>\n );\n}","import React from 'react';\n\nexport function PartialTopStreamsCard(): JSX.Element {\n return (\n <>\n <div className='partial-loading-background w-50 mb-3'> </div>\n\n <div className='position-relative'>\n <ul className='list-unstyled position-absolute top-0 start-0 w-100 h-100'>\n {Array(10).fill(null).map((_, i) => (\n <li key={i} className='mb-3'>\n <div className='row g-0'>\n <div className='col-5'>\n <div className='ratio ratio-16x9 rounded partial-loading-background' />\n </div>\n <div className='col-7 d-flex align-items-center'>\n <div className='mx-2 w-100'>\n <div className='w-100 partial-loading-background mb-1'> </div>\n <div className='w-75 partial-loading-background'> </div>\n </div>\n </div>\n </div>\n </li>\n ))}\n </ul>\n </div>\n </>\n );\n}","import React from 'react';\nimport Scrollbars from 'react-custom-scrollbars-2';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { VideoSubText } from 'libs/shared/components/video-sub-text/VideoSubText';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useBatchFetch } from 'libs/shared/hooks/UseBatchFetch';\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/ReportsActions';\nimport { AppChannels } from 'shared/constants/ReportsRadioChannels';\nimport { VideoViewsV2Requests } from 'shared/flight-requests/VideoViewsV2Requests';\nimport { useGetAppLinkFilterParams, useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { TopVideoV2 } from 'shared/interfaces';\nimport { getSchoolVideoAppLink } from 'shared/utils/ReportsAppLinkUtils';\n\nimport { TopStreamsCardEmptyState } from 'apps/dashboard/views/overview-cards/top-streams/empty-state/TopStreamsCardEmptyState';\nimport { PartialTopStreamsCard } from 'apps/dashboard/views/overview-cards/top-streams/partial-loading/PartialTopStreamsCard';\n\nconst namespace = 'reportsDashboard.topStreamsCard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst LIMIT = 10;\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function TopStreamsCardView() {\n const filterQueryParams = useGetAppLinkFilterParams();\n const requestFilter = useGetRequestFilter();\n\n const topStreams = Flight.useBasicFetch<TopVideoV2[]>(VideoViewsV2Requests.topStreams(LIMIT, requestFilter));\n\n const videos = useBatchFetch<VideoTypes>(\n topStreams.data?.map(v => v.objectId) ?? [],\n VideoRequests.videos\n );\n\n const hasLoaded = (\n topStreams.hasCompleted &&\n !videos.isFetching\n );\n\n return (\n <div className='d-flex flex-column h-100 bg-white overflow-hidden px-3 rounded pt-3'>\n {hasLoaded ?\n <>\n <div className='d-flex justify-content-between'>\n <h2 className='h6 mb-3'>{getPhrase('topVideos')}</h2>\n <AppLink\n appLink={{ application: AppChannels.VIDEOS, action: Actions.Videos.TOP_VIDEOS }}\n className='text-info'\n >\n <Text namespace={namespace} phrase='seeAll' />\n </AppLink>\n </div>\n\n {videos.itemsArr?.length ?\n <Scrollbars className='position-relative'>\n <div className='position-absolute w-100'>\n <ul className='list-unstyled'>\n {topStreams.data.map(stream => {\n const video = videos.items[stream.objectId];\n\n if (!video)\n return;\n\n return (\n <li key={video.id} className='mb-3'>\n <AppLink appLink={getSchoolVideoAppLink(video, filterQueryParams)}>\n <div className='row g-0'>\n <div className='col-5'>\n <VideoThumbnail\n video={video}\n imageOptions={{ size: ImageSize.Small }}\n textPosition={ThumbnailTextPosition.Independent}\n type='cosmetic'\n hideMask\n size='sm'\n />\n </div>\n <div className='col-7'>\n <div className='d-flex flex-column mx-2'>\n {VideoHelper.isVideoType(video) && (\n <VideoSubText\n type='series'\n video={video}\n analyticsOptions={null}\n className='d-inline clamp-1'\n />\n )}\n <span className='clamp-2 fw-medium'>\n {video.name}\n </span>\n <Text namespace={namespace} phrase='views' options={{ smartCount: stream.count }} />\n </div>\n </div>\n </div>\n </AppLink>\n </li>\n );\n })}\n </ul>\n </div>\n </Scrollbars>\n : <TopStreamsCardEmptyState />\n }\n </>\n : <PartialTopStreamsCard />\n }\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\n\nimport { Actions } from 'shared/constants/ReportsActions';\nimport { AppChannels } from 'shared/constants/ReportsRadioChannels';\nimport { TopicAnalyticsType } from 'shared/enums/TopicAnalyticsType';\nimport { useIsTertiary } from 'shared/hooks/useIsTertiary';\nimport { useSetHeaderTitle } from 'shared/hooks/UseSetHeaderTitle';\nimport { StreamsBarChartCardView } from 'shared/views/overview-cards/streams-bar-chart-card/StreamsBarChartCardView';\nimport { StreamsChartCardView } from 'shared/views/overview-cards/streams-chart-card/StreamsChartCardView';\nimport { TopClassificationsCardView } from 'shared/views/overview-cards/top-classifications-card/TopClassificationsCardView';\n\nimport { TopSearchesCardV2View } from 'apps/dashboard/views/overview-cards/top-searches-v2/TopSearchesCardV2View';\nimport { TopStreamsCardView } from 'apps/dashboard/views/overview-cards/top-streams/TopStreamsCardView';\n\nimport styles from './school-analytics-dashboard.module.scss';\n\nconst TOP_CLASSIFICATIONS_LIMIT = 10;\n\nconst namespace = 'reportsDashboard.schoolAnalyticsDashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SchoolAnalyticsDashboardView(): JSX.Element {\n const isTertiary = useIsTertiary();\n\n const header = isTertiary ? getPhrase('tertiaryDashboard') : getPhrase('dashboard');\n\n useSetPageMetadata({ title: header });\n useSetHeaderTitle(header);\n\n return (\n <div className='d-flex'>\n <div className={`d-flex flex-column gap-3 ${styles.column1}`}>\n <div className='h-50'>\n <StreamsBarChartCardView\n type='year_group'\n appLink={{ application: AppChannels.VIDEOS, action: Actions.Videos.HOME }}\n appLinkText={getPhrase('seeOverview')}\n />\n </div>\n <div className='h-50'>\n <TopSearchesCardV2View />\n </div>\n </div>\n <div className={`${styles.column2} px-3`}>\n <TopStreamsCardView />\n </div>\n <div className={`d-flex flex-column gap-3 ${styles.column3}`}>\n <div className={styles.videoViews}>\n <StreamsChartCardView type='user_type' />\n </div>\n <div className={styles.topClassifications}>\n <TopClassificationsCardView\n type={TopicAnalyticsType.RootTopic}\n heading={getPhrase('subjects')}\n appLink={{ application: AppChannels.VIDEOS, action: Actions.Videos.HOME }}\n appLinkText={getPhrase('seeOverview')}\n emptyStateText={getPhrase('emptySubjects')}\n limit={TOP_CLASSIFICATIONS_LIMIT}\n />\n </div>\n </div>\n </div>\n );\n}"],"names":["namespace","TopSearchesCardEmptyStateV2","jsx","Text","PartialTopSearchesCardV2","jsxs","Fragment","TopSearchesCardV2View","requestFilter","useGetRequestFilter","searches","Flight.useBasicFetch","SearchRequests","getSearchUrl","useGetExternalUrl","ExternalRouteHelper","Scrollbars","s","idx","SvgContainer","NewWindowSvg","TopStreamsCardEmptyState","PartialTopStreamsCard","_","i","getPhrase","LanguageService","LIMIT","TopStreamsCardView","filterQueryParams","useGetAppLinkFilterParams","topStreams","VideoViewsV2Requests","videos","useBatchFetch","_a","v","VideoRequests","hasLoaded","AppLink","AppChannels","Actions","_b","stream","video","getSchoolVideoAppLink","VideoThumbnail","ImageSize","ThumbnailTextPosition","VideoHelper","VideoSubText","TOP_CLASSIFICATIONS_LIMIT","SchoolAnalyticsDashboardView","isTertiary","useIsTertiary","header","useSetPageMetadata","useSetHeaderTitle","styles","StreamsBarChartCardView","StreamsChartCardView","TopClassificationsCardView","TopicAnalyticsType"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as t,O as L,L as N,a5 as j,h as A,a3 as O,bw as Te,i as B,a0 as z,T as _,aV as h,v as $,av as J,p as Ne,l as w,bx as Ie,by as V,I as Ae,bz as Le,aT as _e,aU as $e,aP as ee,aS as De,aQ as He,aR as Fe,r as te,F as Pe,bA as ze,a7 as Me,bB as Oe,at as U,bC as ae,d as ue,A as he,g as ge,e as Be,E as Ee,bD as Ve,a as Ue,u as ne,bE as Re,C as Ge,U as qe}from"./app-5iiM5qQY.js";import{T as Ke}from"./qwzILhQ0.chunk.js";import{b as M,S as W,a as Qe}from"./-b_h0A4y.chunk.js";import{B as We}from"./CP2i5uhZ.chunk.js";import{P as se,S as Xe,I as R,a as G,g as Ze,B as Ye}from"./DNP9cLqQ.chunk.js";import{V as xe,T as ve,b as fe,C as I,a as Je}from"./D9oCeDYw.chunk.js";import{M as ie}from"./C6UUJ8P5.chunk.js";import{L as et}from"./DyaAoFDP.chunk.js";import{S as X}from"./DTotSVIi.chunk.js";import{u as tt,I as at}from"./BSe8MmUc.chunk.js";import{a as re}from"./DKu8iTnz.chunk.js";import{P as nt}from"./72EXv822.chunk.js";import{P as st}from"./DQA8MZy3.chunk.js";import{u as it}from"./BxBPX67V.chunk.js";import{g as rt}from"./CX5q-0jT.chunk.js";import{u as ct}from"./C8oA7_zY.chunk.js";import"./Cn0ghy_D.chunk.js";import"./DMd0fZar.chunk.js";import"./BqY3bZyH.chunk.js";import"./Cs1UnwSi.chunk.js";import"./DO-V6YKu.chunk.js";import"./BLuY6AYO.chunk.js";import"./LT6WE6TB.chunk.js";import"./Cl1c9Acb.chunk.js";import"./CbBaa9Aj.chunk.js";import"./CTMVj7AR.chunk.js";import"./CsROrwVV.chunk.js";const ot="share.sharedByMeEmptyState",q=N.encloseNamespace(ot);function lt(e){return t.jsxs(L,{children:[t.jsx(L.Image,{src:e.imageUrl,size:"small"}),t.jsx(L.Heading,{children:q(e.useInteractiveCopy?"interactivesHeading":"genericHeading")}),t.jsx(L.Info,{children:q(e.useInteractiveCopy?"interactivesInfo":"genericInfo")}),!!e.appLink&&t.jsx(L.Cta,{appLink:e.appLink,text:q("cta")})]})}const dt={table:"striped-list no-full-width pb-3",header:"fw-semibold pb-1",headerCell:"py-2 ps-2 text-nowrap",row:"striped-row rounded",cell:"d-flex align-items-center p-2"};var mt=["second","minute","hour","day","week","month","year"];function ut(e,a){if(a===0)return["just now","right now"];var s=mt[Math.floor(a/2)];return e>1&&(s+="s"),[e+" "+s+" ago","in "+e+" "+s]}var ht=["秒","分钟","小时","天","周","个月","年"];function gt(e,a){if(a===0)return["刚刚","片刻后"];var s=ht[~~(a/2)];return[e+" "+s+"前",e+" "+s+"后"]}var Z={},be=function(e,a){Z[e]=a},xt=function(e){return Z[e]||Z.en_US},K=[60,60,24,7,365/7/12,12];function vt(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}function ft(e,a){var s=e<0?1:0;e=Math.abs(e);for(var i=e,r=0;e>=K[r]&&r<K.length;r++)e/=K[r];return e=Math.floor(e),r*=2,e>(r===0?9:1)&&(r+=1),a(e,r,i)[s].replace("%s",e.toString())}function bt(e,a){var s=new Date;return(+s-+vt(e))/1e3}var ye=function(e,a,s){var i=bt(e);return ft(i,xt(a))};be("en_US",ut);be("zh_CN",gt);var p=(e=>(e.DirectShare="DirectShare",e.ShareLink="ShareLink",e))(p||{});const yt="_indicatorContainer_1jf11_1",Ct="_indicator_1jf11_1",ce={indicatorContainer:yt,indicator:Ct},jt="share.shareStatusIndicator",F=N.encloseNamespace(jt);function pt(e){if(e.type===p.DirectShare)return F("active");switch(e.status){case M.Active:return F("active");case M.Expired:return F("expired")}}function St(e){if(e.type===p.DirectShare)return"bg-success";switch(e.status){case M.Active:return"bg-success";case M.Expired:return"bg-gray-500"}}function kt(e){var a;return e.share.type===p.DirectShare&&!((a=e.share.recipients)!=null&&a.length)?t.jsx(t.Fragment,{}):e.share.type===p.ShareLink&&e.share.isPasswordProtected?t.jsx(j,{title:F("passwordProtected"),spanHack:!0,children:t.jsx(A,{svg:Te,size:O.Small})}):t.jsx(j,{title:pt(e.share),spanHack:!0,spanHackClassName:ce.indicatorContainer,children:t.jsx("div",{className:`${ce.indicator} ${St(e.share)}`})})}const wt="_thumbnailTitle_14phd_1",Tt={thumbnailTitle:wt};function oe(e){return t.jsx("h3",{title:e.title,className:"h6",children:e.title})}function Nt(e){return e.appLink?t.jsx(B,{appLink:e.appLink,className:`${Tt.thumbnailTitle}`,children:t.jsx(oe,{...e})}):t.jsx(oe,{...e})}const It="_badge_o3vz9_1",At="_mask_o3vz9_4",Lt="_thumbnailContainer_o3vz9_7",D={badge:It,mask:At,thumbnailContainer:Lt},le="shared.collectionThumbnail";function _t(e){var m,v,y;function a(){var f;let u=(f=e.collection)==null?void 0:f.videos;if(u){if(!u.count&&e.collection.typeId===h.Playlist){const c=e.collection;c.clips.count&&(u=c.clips),c.interactives.count&&(u=c.interactives)}return $.first(u.data)}}function s(){var f,c;let u=0;if(e.collection.videos&&e.collection.videos.count&&(u+=e.collection.videos.count),e.collection.typeId===h.Playlist){const g=e.collection;(f=g.interactives)!=null&&f.count&&(u+=g.interactives.count),(c=g.clips)!=null&&c.count&&(u+=g.clips.count)}return u}function i(u){if(ie.isType(u,h.Playlist))return J.Playlist;if(ie.isType(u,h.Series))return J.Series}const r=a(),n=s(),l=((m=e.title)==null?void 0:m.length)||((v=e.subText)==null?void 0:v.length),d={id:e.collection.id.toString(),name:e.collection.name,...e.analyticsData},o={actionType:z.Click,entity:i(e.collection),...e.analyticsOptions};return t.jsxs("div",{children:[t.jsx("div",{className:`position-relative ${D.thumbnailContainer} z-1`,children:t.jsxs(B,{appLink:e.appLink,analyticsData:d,analyticsOptions:o,preventFocus:!0,children:[e.showMask&&t.jsx("div",{className:`${D.mask} position-absolute w-100 h-100 rounded-3 bg-dark bg-gradient z-1 bg-opacity-50 pointer-events-none`,children:t.jsxs("div",{className:`${D.badge} d-flex align-items-center w-fit flex-grow-0 bg-dark rounded-pill ps-1 m-2`,children:[t.jsx(A,{svg:se,className:"svg-container text-white"}),t.jsx("p",{className:"d-inline fw-medium text-white mb-0",children:(y=e.hoverText)!=null&&y.length?t.jsx("span",{children:e.hoverText}):t.jsx(_,{namespace:le,phrase:"playAll"})})]})}),r&&t.jsx(xe,{video:r,imageOptions:e.imageOptions,textPosition:ve.Independent,type:"cosmetic",hideMask:!0,hideRating:!0,hideDuration:!0,hideVideoTypeBadge:!0}),!r&&t.jsx("div",{className:"ratio ratio-16x9 bg-light rounded-3",children:t.jsx("div",{className:"d-flex justify-content-center align-items-center",children:t.jsx(A,{svg:se,className:"w-33 opacity-25 text-gray-400"})})}),e.showVideoCount&&t.jsxs("div",{className:`${D.badge} d-flex align-items-center w-fit bg-dark bg-opacity-75 rounded-pill position-absolute bottom-0 end-0 ps-1 m-2`,children:[t.jsx(A,{svg:Xe,className:"svg-container text-white me-1"}),t.jsx("p",{className:"d-inline fw-semibold text-white mb-0",children:e.onlyCount?t.jsx("span",{children:n}):t.jsx(_,{namespace:le,phrase:"videos",options:{count:n,smartCount:n}})})]})]})}),l&&t.jsxs("div",{className:"mt-2 d-flex flex-column",children:[e.subText&&t.jsx(fe,{title:e.subText,appLink:e.subTextAppLink,children:e.subText}),e.title&&t.jsx(Nt,{title:e.collection.name,appLink:e.titleAppLink})]})]})}const $t="_posterFallbackSvg_1239k_4",Dt="_coverFallbackSvg_1239k_7",Ht="_thumbnailContainer_1239k_10",Ft="_requireMarking_1239k_13",Pt="_badge_1239k_19",zt="_bar_1239k_22",Mt="_a_1239k_27",Ot="_b_1239k_19",Bt="_c_1239k_7",b={posterFallbackSvg:$t,coverFallbackSvg:Dt,thumbnailContainer:Ht,requireMarking:Ft,badge:Pt,bar:zt,a:Mt,b:Ot,c:Bt},Et="shared.sharedObjectImage",H="rounded overflow-hidden";function Vt(e){const a=Ie.getDisplayImageFromObject(e);if(w.isVideoType(e))return{image:a,imageType:V.Thumbnails,imageClassName:H,imageFallbackComponent:t.jsx(R,{type:G.Video})};switch(e.typeId){case h.Series:return{image:a,imageType:V.TallPosters,imageClassName:H,imageFallbackComponent:t.jsx(R,{type:G.Series,svgContainerClassName:b.posterFallbackSvg})};case h.Playlist:return{image:a,imageType:V.Covers,imageClassName:a!=null&&a.url?H:`${H} ${Ze(e.name,Ye)}`,imageFallbackComponent:t.jsx(R,{type:G.Playlist,svgContainerClassName:a!=null&&a.url?b.coverFallbackSvg:"d-none",extraClasses:!(a!=null&&a.url)&&"bg-transparent"})}}}function Ut(){return t.jsxs("div",{className:"d-flex pointer-events-none position-absolute bottom-0 start-0 h-100 w-100 z-1 justify-content-center align-items-center",children:[t.jsx("div",{className:"position-absolute bg-dark bg-gradient opacity-50 w-100 h-100 z-0 rounded-3"}),t.jsxs("div",{className:"d-flex align-items-end gap-2 h-50 z-1",children:[t.jsx("div",{className:"d-flex align-items-end h-50",children:t.jsx("div",{className:`${b.bar} ${b.a} rounded shadow`})}),t.jsx("div",{className:"d-flex align-items-end h-75",children:t.jsx("div",{className:`${b.bar} ${b.b} rounded shadow`})}),t.jsx("div",{className:"d-flex align-items-end h-100",children:t.jsx("div",{className:`${b.bar} ${b.c} rounded shadow`})})]})]})}function Rt(e){if(w.isVideoType(e))return 16/9;if(e.typeId===h.Playlist)return 1;if(e.typeId===h.Series)return 9/16}Ce.defaultProps={imageOptions:{size:Ae.Small}};function Ce(e){const a=Ne.useCallback(o=>{!o||!e.fixedHeight||(o.style.width=`${o.offsetHeight*Rt(e.object)}px`)},[]),s=w.isVideoType(e.object),{image:i,imageType:r,imageClassName:n,imageFallbackComponent:l}=Vt(e.object),d=e.showVideoMetadata?{hideBottomBar:e.hideBottomBar}:{hideDuration:!0,hideMask:!0,hideRating:!0,hideVideoBadgeType:!0,hideBottomBar:!0};return t.jsx("div",{className:"d-flex align-items-center justify-content-center w-100 h-100",children:t.jsxs("div",{ref:a,className:e.fixedHeight?"h-100":"w-100",children:[s&&t.jsxs("div",{className:`${b.thumbnailContainer} position-relative`,children:[e.showInsightsMask&&t.jsx(Ut,{}),t.jsx(B,{appLink:e.appLink,children:t.jsx(xe,{video:e.object,size:e.thumbnailSize,imageOptions:e.imageOptions,textPosition:ve.Independent,type:"cosmetic",imageClassName:e.imageClassName,...d})}),!!e.requireMarking&&t.jsx("div",{className:`${e.showInsightsMask&&b.requireMarking} position-absolute bottom-0 end-0 z-1 m-2`,children:t.jsx("div",{className:`${b.badge} d-flex align-items-center bg-light-ultramarine text-ultramarine fw-semibold rounded-pill w-fit mt-1 px-2`,children:t.jsx(_,{namespace:Et,phrase:"requireMarking",options:{smartCount:e.requireMarking}})})})]}),!s&&t.jsx(t.Fragment,{children:"videos"in e.object?t.jsx(_t,{collection:e.object,imageOptions:e.imageOptions,appLink:e.appLink,analyticsData:{id:e.object.id,name:e.object.name},analyticsOptions:{entity:W.getAnalyticsEntity(e.object.type),actionType:z.Click,location:e.locationContext},showMask:e.showCollectionMask,showVideoCount:e.showVideoCount,onlyCount:e.onlyCount}):t.jsx(We,{data:i==null?void 0:i.url,imageType:r,imageOptions:e.imageOptions,appLink:e.appLink,className:n,analyticsData:{id:e.object.id,name:e.object.name},analyticsOptions:{entity:W.getAnalyticsEntity(e.object.type),actionType:z.Click,location:e.locationContext},children:l})})]})})}const Gt="shared.avatarList",de=N.encloseNamespace(Gt);je.defaultProps={maxAvatars:5};function je(e){const a=e.items.length>e.maxAvatars?e.items.slice(0,e.maxAvatars-1):e.items,s=e.items.length>a.length?e.items.slice(e.maxAvatars-1):[],i=e.avatarItem,r=s.length,n=e.avatarSize==="sm"?4:8;function l(){return e.getHiddenTooltip?e.getHiddenTooltip(s):e.roleToDisplay?de(e.roleToDisplay==="staff"?"staff":"student",{count:r,smartCount:r}):de("users",{count:r,smartCount:r})}function d(){return{marginRight:`-${(a.length-1+(s.length?1:0)+(e.hasShareLink?1:0))*n}px`}}function o(m){return{transform:`translateX(${(e.hasShareLink?m+1:m)*-n}px)`,zIndex:e.maxAvatars-m}}return a.length===0&&s.length===0?t.jsx(t.Fragment,{}):t.jsxs("div",{className:"d-flex",style:d(),children:[e.hasShareLink&&t.jsx("div",{style:{zIndex:e.maxAvatars+1},children:t.jsx(pe,{text:e.shareLinkText,avatarSize:e.avatarSize,className:"bg-dark text-white"})}),a.map((m,v)=>t.jsx("div",{className:`${e.avatarContainerClassname||""}`,style:o(v),children:t.jsx(i,{item:m,imageCdnUrl:e.imageCdnUrl,index:v,maxAvatars:e.maxAvatars})},m.id)),!!s.length&&t.jsx("div",{className:`${e.avatarContainerClassname||""} bg-white rounded-circle`,style:{transform:`translateX(${a.length*-n}px)`,zIndex:e.maxAvatars-a.length},children:t.jsx(j,{title:l(),spanHack:!0,spanHackClassName:"h-100 w-100",children:t.jsx("div",{className:`d-flex justify-content-center align-items-center border border-dark rounded-circle h-100 w-100 ${e.numberClassname||""}`,children:`+${s.length}`})})})]})}const qt="_avatarContainer_p1zht_1",Kt="_sm_p1zht_5",Qt="_sharedAvatar_p1zht_10",T={avatarContainer:qt,sm:Kt,sharedAvatar:Qt},Wt="reportsShare.sharedToAvatarList",C=N.encloseNamespace(Wt);function Xt(e){const a=$.countBy(e,"typeId"),s=a[h.User],i=a[h.Classroom],r=a[h.ClassroomGroup];if(s&&i&&r)return C("classroomsGroupsAndUsers",{userCount:s,classroomCount:i,groupCount:r});if(s&&i)return C("classroomsAndUsers",{userCount:s,classroomCount:i});if(s&&r)return C("groupsAndUsers",{userCount:s,groupCount:r});if(i&&r)return C("classroomsAndGroups",{classroomCount:i,groupCount:r});if(s)return C("users",{userCount:s});if(i)return C("classrooms",{classroomCount:i});if(r)return C("groups",{groupCount:r})}function Zt(e){var n,l,d,o,m;const a=((n=e.item)==null?void 0:n.typeId)===h.User&&e.item,s=((l=e.item)==null?void 0:l.typeId)===h.Classroom&&e.item,i=((d=e.item)==null?void 0:d.typeId)===h.ClassroomGroup&&e.item,r="d-flex justify-content-center align-items-center text-white rounded-circle h-100 w-100";return t.jsxs(t.Fragment,{children:[!!a&&t.jsx(j,{title:`${a.name} ${a.surname}`,spanHack:!0,spanHackClassName:"h-100 w-100",children:t.jsx(_e,{imageUrl:(o=a.avatar)==null?void 0:o.url,imageCdnUrl:e.imageCdnUrl,initials:$e.getInitials(a.name,a.surname),extraClasses:T.sharedAvatar})}),!!s&&t.jsx(j,{title:s.name,spanHack:!0,spanHackClassName:"h-100 w-100",children:t.jsx("div",{className:r,children:t.jsx(ee,{svg:De,svgSize:O.Large,variant:"teal"})})}),!!i&&t.jsx(j,{title:i.name,spanHack:!0,spanHackClassName:"h-100 w-100",children:t.jsx("div",{className:r,children:t.jsx(ee,{svg:Fe,variant:He((m=i.metadata)==null?void 0:m.colour)})})})]})}function Yt(e){return t.jsx("div",{className:`${T.avatarContainer} ${e.avatarSize==="sm"?T.sm:""}`,children:t.jsx(j,{title:C("anonymous"),spanHack:!0,spanHackClassName:"bg-light text-dark d-flex justify-content-center align-items-center rounded-circle h-100 w-100",children:t.jsx(A,{svg:Le,size:e.avatarSize==="sm"?O.Small:null})})})}function pe(e){return t.jsx("div",{className:`${T.avatarContainer} ${e.avatarSize==="sm"?T.sm:""}`,children:t.jsx(j,{title:e.text||C("sharedLink"),spanHack:!0,spanHackClassName:`bg-light text-dark d-flex justify-content-center align-items-center rounded-circle h-100 w-100 ${e.className||""}`,children:t.jsx(A,{svg:et,size:e.avatarSize==="sm"?O.Small:null})})})}Se.defaultProps={maxAvatars:5};function Se(e){return t.jsx(je,{...e,items:e.recipients,avatarItem:Zt,avatarContainerClassname:`${T.avatarContainer} ${e.avatarSize==="sm"?T.sm:""}`,getHiddenTooltip:Xt,hasShareLink:e.hasShareLink,shareLinkText:e.shareLinkText})}var k=(e=>(e.None="None",e.Complete="Complete",e.Incomplete="Incomplete",e))(k||{});const Jt={groupByDateShared(e){const a=$.groupBy(e,"dateShared");return Object.keys(a).sort().reverse().reduce((i,r)=>{const n=ye(r);return i[n]||(i[n]=[]),i[n]=i[n].concat(a[r]),i},{})},mapActivityStatusToCheckMarkStatus(e){switch(e){case k.Complete:return I.Complete;case k.Incomplete:return I.Incomplete;case k.None:return I.None}},mapCheckMarkStatusToActivityStatus(e){switch(e){case I.Complete:return k.Complete;case I.Incomplete:return k.Incomplete;case I.None:return k.None}}};function ea(e){const a=te.useMemo(()=>e.actions.sort((n,l)=>n.order-l.order),[e.actions]),s=[],i=[];a.forEach(n=>{n.button?s.push(n):i.push(n)});let r="d-flex";return e.className&&(r+=` ${e.className}`),!s.length&&!i.length?t.jsx(t.Fragment,{}):t.jsxs("div",{className:r,children:[s.length?s.map((n,l)=>t.jsx(te.Fragment,{children:(()=>{if(n.label){const o=Pe.isFunction(n.label)?n.label():t.jsx(t.Fragment,{children:n.label});return t.jsx(ze,{appLink:n.appLink,href:n.href,onClick:n.onClick,svg:n.svg,svgSize:e.dropdownToggleSvgSize,className:n.className,tooltip:n.tooltip,showSpinner:n.showSpinner,analyticsData:n.analyticsData,analyticsOptions:n.analyticsOptions,openInNewTab:n.openInNewTab,disabled:n.disabled,children:o})}const d=t.jsx(Me,{appLink:n.appLink,href:n.href,onClick:n.onClick,svg:n.svg,className:n.className,analyticsData:n.analyticsData,analyticsOptions:n.analyticsOptions,openInNewTab:n.openInNewTab,disabled:n.disabled,showBorder:n.showBorder,customSize:e.customSize,ariaLabel:n.tooltip});return n.tooltip?t.jsx(j,{title:n.tooltip,spanHack:!0,children:d}):d})()},l)):t.jsx(t.Fragment,{}),e.sortComponent&&e.sortComponent,i.length?t.jsx(Oe,{actions:i,dropdownToggleClassName:e.actionsDropdownClassName,dropdownToggleSvgSize:e.dropdownToggleSvgSize,fetchMore:e.fetchMore}):t.jsx(t.Fragment,{})]})}const Y="share.sharedByMeTable",P=N.encloseNamespace(Y);function ta(e){var s;if(e.type===p.ShareLink||!((s=e==null?void 0:e.recipients)!=null&&s.length))return e.dateCreated;const a=e.recipients.map(i=>i.dateShared);return a.sort((i,r)=>ae.isSame(i,r)?0:ae.isAfter(i,r)?1:-2),a.length?$.last(a):""}function aa(e){const{index:a,dateHeading:s,getObjectAppLink:i,getObjectActions:r,imageCdnUrl:n,showStatus:l,showViewCount:d,breakpoints:o,yearGroups:m}=e,v=o&&(o.xs||o.sm),y=[{Header:l?"":s,accessor:"sharedObject",id:"image",Cell:({value:c})=>t.jsx("div",{className:"w-100",children:t.jsx(Ce,{object:c,appLink:i(c),showVideoMetadata:!0,locationContext:U.SharedByMe})}),minWidth:140,maxWidth:30},{accessor:"sharedObject",id:"name",Cell:({value:c})=>{var S;function g(){switch(c.typeId){case h.Series:return"series";case h.Playlist:return"playlist"}}if(c.name){if(w.isVideoType(c)&&!((S=w.getCanBeConsumed(c))!=null&&S.canNavigate))return t.jsx("span",{className:"clamp-2",children:c.name});const x=g();return t.jsxs("div",{className:"clamp-2",children:[x&&t.jsx(fe,{children:t.jsx(_,{namespace:Y,phrase:x})}),w.isVideoType(c)&&t.jsx(Je,{type:"series",video:c,appLink:"series"in c&&c.series?i(c.series):null,analyticsOptions:{location:U.Insights}}),t.jsx(B,{appLink:i(c),analyticsData:{id:c.id,name:c.name},analyticsOptions:{entity:W.getAnalyticsEntity(c.type),actionType:z.Click,location:U.SharedByMe},children:c.name})]})}return t.jsx("span",{children:t.jsx(_,{namespace:Y,phrase:"videoUnavailable"})})},width:60},{Header:a===0?P("sharedTo"):"",accessor:"sharedToData",Cell:({value:c})=>{const{share:g,sharedObject:S,recipients:x}=c;if(!x){const E=g.type===p.ShareLink&&Qe.getIconAndText({entity:S,entityTypeId:S.typeId,hasStudentExp:!1,isPasswordProtected:g.isPasswordProtected,linkExpireDate:g.linkExpireDate,privacy:{privacy:g.privacy,overrideRestrictions:g.overrideRestrictions},status:g.status,yearGroups:m??[]});return t.jsx(pe,{text:E==null?void 0:E.text})}return x!=null&&x.length?t.jsx(Se,{recipients:x,imageCdnUrl:n,maxAvatars:v?1:2}):t.jsx(Yt,{})},width:40},!v&&{Header:a===0?P("shared"):"",id:"dateShared",accessor:c=>ye(c.dateShared),width:40},{accessor:"sharedObject",id:"actions",Cell:({value:c})=>t.jsx(ea,{actions:r(c),className:"w-100 justify-content-end pe-2"}),width:20}],u={Header:s,accessor:"share",id:"status",Cell:({value:c})=>t.jsx(kt,{share:c}),width:5},f={Header:P("views"),accessor:"viewCount",width:30};return l&&y.splice(0,0,u),d&&y.splice(y.length-1,0,f),y.filter(Boolean)}function na(e,a,s,i){const r=[];return e.forEach(n=>{var o;const l=a==null?void 0:a[n.objectId];let d=null;n.type===p.DirectShare&&(d=[],(o=n.recipients)==null||o.forEach(m=>{const v=s==null?void 0:s[m.id];v&&d.push(v)})),l&&r.push({share:n,sharedObject:l,sharedToData:{share:n,sharedObject:l,recipients:d},dateShared:ta(n),viewCount:n.viewCount??0})}),i?Jt.groupByDateShared(r):{[P("title")]:r}}function sa(e){const a=na(e.sentShares,e.sharedObjects,e.shareRecipients,!!e.groupByDateShared);return t.jsx(t.Fragment,{children:Object.keys(a).map((s,i)=>t.jsx(Ke,{columns:aa({index:i,dateHeading:s,getObjectAppLink:e.getObjectAppLink,getObjectActions:e.getObjectActions,imageCdnUrl:e.imageCdnUrl,showStatus:e.showStatus,showViewCount:e.showViewCount,breakpoints:e.breakpoints,yearGroups:e.yearGroups}),data:a[s],theme:dt},i))})}const ke={getDirectShares(e){return(e==null?void 0:e.filter(a=>a.type===p.DirectShare))??[]},getRecipients(e){return $.flatten(ke.getDirectShares(e).map(a=>a.recipients??[]))}};function ia(e){return t.jsx("svg",{...e,children:t.jsx("path",{fill:"currentColor",d:"M17.5 5h1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 .5-.5m-1.5.5v13a1.5 1.5 0 0 0 1.5 1.5h1a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 18.5 4h-1A1.5 1.5 0 0 0 16 5.5m-4.5 3.638a.5.5 0 0 0-.5.5V18.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V9.638a.5.5 0 0 0-.5-.5zm-1.5.5a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5V18.5a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5zM4 12.74a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5V18.5A1.5 1.5 0 0 1 6.5 20h-1A1.5 1.5 0 0 1 4 18.5zm1.5-.5a.5.5 0 0 0-.5.5V18.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-5.759a.5.5 0 0 0-.5-.5z"})})}const ra="reportsInteractives.sharedInteractives",Q=N.encloseNamespace(ra);function ca(){const e=Be();return e?a=>{const{start:s,end:i,userId:r,groupId:n}=e;return X.sentShare({start:s,end:i,recipientUserId:r,recipientGroupId:n,objectTypeId:h.Interactive,cursor:a})}:!1}function oa(){const e=we(),a=ct(Ee.getPrimaryObjectUrl);return s=>{const{canConsume:i}=w.getCanBeConsumed(s);if(!i)return[];const r=[{tooltip:Q("viewResults"),svg:ia,appLink:e(s),className:"me-2",button:!0},{label:Q("editShareSettings"),appLink:{application:ge.DEFAULT,action:he.Default.SHARE,args:[s.id],params:{entityType:"interactive"}}}];return a&&r.push({label:Q("viewOriginal"),href:a(s),openInNewTab:!0}),r}}function we(){const e=ue();return a=>({application:ge.INTERACTIVES,action:he.Interactives.OVERVIEW,args:[a.id],params:e})}function la(){const e=ue();return`shared:interactives:table:${rt(e)}`}const da="reportsInteractives.sharedInteractives",me=N.encloseNamespace(da);function Ma(){var S;const e=Ve();Ue({title:me("interactives")}),it(me("interactives"));const a=ne(qe.currentUser()),s=ne(Ge.config()),i=la(),r=we(),n=oa(),l=ca();function d(x){l&&e(l(x))}const{items:o,hasMore:m,isFetching:v,nextCursor:y,hasFirstPageCompleted:u}=tt(l,d),f=re(o==null?void 0:o.map(x=>x.objectId),X.sharedObjectsById),c=re(ke.getRecipients(o).map(x=>x.id),x=>X.getRecipientsById(x,a.data.customerId)),g=v||f.isFetching||c.isFetching;return!u||o!=null&&o.length&&!f.hasFirstRequestCompleted?t.jsx(nt,{variant:"interactives",children:t.jsx(st,{variant:"interactives"})}):o.length?t.jsxs(t.Fragment,{children:[t.jsx(sa,{sentShares:o,sharedObjects:f.items,shareRecipients:c.items,getObjectAppLink:r,getObjectActions:n,showStatus:!0,showViewCount:!0,imageCdnUrl:(S=s.data)==null?void 0:S.imageCdnUrl},i),(m||g)&&t.jsx(at,{isFetching:g,fetchNext:d,nextCursor:y})]}):t.jsx("div",{className:"bg-white rounded my-3 py-5",children:t.jsx("div",{className:"pb-5",children:t.jsx(lt,{imageUrl:Re.EmptyStates.Interactives.SharedInteractives,useInteractiveCopy:!0})})})}export{Ma as SharedInteractivesView};
|
|
2
|
+
//# sourceMappingURL=AKgZQGT0.chunk.js.map
|