@clickview/exchange 0.60.0-rc.1 → 0.60.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/en.json +1 -1
- package/dist/scripts/{BKi3hrx8.chunk.js → 04pgOdRO.chunk.js} +2 -2
- package/dist/scripts/{BKi3hrx8.chunk.js.map → 04pgOdRO.chunk.js.map} +1 -1
- package/dist/scripts/{Cun6Bm0P.chunk.js → 3TcDzXoX.chunk.js} +2 -2
- package/dist/scripts/{Cun6Bm0P.chunk.js.map → 3TcDzXoX.chunk.js.map} +1 -1
- package/dist/scripts/{BtawqZ6G.chunk.js → 4J0Xi0Li.chunk.js} +2 -2
- package/dist/scripts/{BtawqZ6G.chunk.js.map → 4J0Xi0Li.chunk.js.map} +1 -1
- package/dist/scripts/{CVs6MQ2N.chunk.js → 6IXg6l1D.chunk.js} +2 -2
- package/dist/scripts/{CVs6MQ2N.chunk.js.map → 6IXg6l1D.chunk.js.map} +1 -1
- package/dist/scripts/{DL2-cCw6.chunk.js → B-owbLzH.chunk.js} +2 -2
- package/dist/scripts/{DL2-cCw6.chunk.js.map → B-owbLzH.chunk.js.map} +1 -1
- package/dist/scripts/{DRrC3MD7.chunk.js → B0F-zuCm.chunk.js} +2 -2
- package/dist/scripts/{DRrC3MD7.chunk.js.map → B0F-zuCm.chunk.js.map} +1 -1
- package/dist/scripts/{CA_kgZyj.chunk.js → B70FMVao.chunk.js} +2 -2
- package/dist/scripts/{CA_kgZyj.chunk.js.map → B70FMVao.chunk.js.map} +1 -1
- package/dist/scripts/{4fxPWB-y.chunk.js → BBHWPp1j.chunk.js} +2 -2
- package/dist/scripts/{4fxPWB-y.chunk.js.map → BBHWPp1j.chunk.js.map} +1 -1
- package/dist/scripts/{BtdA62QV.chunk.js → BDyAv0Lu.chunk.js} +2 -2
- package/dist/scripts/{BtdA62QV.chunk.js.map → BDyAv0Lu.chunk.js.map} +1 -1
- package/dist/scripts/{BifrjGRd.chunk.js → BE4-eyTT.chunk.js} +2 -2
- package/dist/scripts/{BifrjGRd.chunk.js.map → BE4-eyTT.chunk.js.map} +1 -1
- package/dist/scripts/BLzBP6Wz.chunk.js +2 -0
- package/dist/scripts/{S3AKKGaX.chunk.js.map → BLzBP6Wz.chunk.js.map} +1 -1
- package/dist/scripts/{B-uJ9QxS.chunk.js → BVLYrDIr.chunk.js} +2 -2
- package/dist/scripts/{B-uJ9QxS.chunk.js.map → BVLYrDIr.chunk.js.map} +1 -1
- package/dist/scripts/{BF-Dxna8.chunk.js → BYcoChXb.chunk.js} +2 -2
- package/dist/scripts/{BF-Dxna8.chunk.js.map → BYcoChXb.chunk.js.map} +1 -1
- package/dist/scripts/{Z9Jn5Q8R.chunk.js → Ba34yA9D.chunk.js} +2 -2
- package/dist/scripts/{Z9Jn5Q8R.chunk.js.map → Ba34yA9D.chunk.js.map} +1 -1
- package/dist/scripts/{BR315om5.chunk.js → BcMlwk5Q.chunk.js} +2 -2
- package/dist/scripts/{BR315om5.chunk.js.map → BcMlwk5Q.chunk.js.map} +1 -1
- package/dist/scripts/{CSOZNOFJ.chunk.js → Bf6VCMqm.chunk.js} +2 -2
- package/dist/scripts/{CSOZNOFJ.chunk.js.map → Bf6VCMqm.chunk.js.map} +1 -1
- package/dist/scripts/{BP4XTpZ5.chunk.js → BgJkDMpd.chunk.js} +2 -2
- package/dist/scripts/{BP4XTpZ5.chunk.js.map → BgJkDMpd.chunk.js.map} +1 -1
- package/dist/scripts/{DL6RqYme.chunk.js → Bh24QUEJ.chunk.js} +2 -2
- package/dist/scripts/{DL6RqYme.chunk.js.map → Bh24QUEJ.chunk.js.map} +1 -1
- package/dist/scripts/{CwSSqnpd.chunk.js → BlIARVZO.chunk.js} +2 -2
- package/dist/scripts/{CwSSqnpd.chunk.js.map → BlIARVZO.chunk.js.map} +1 -1
- package/dist/scripts/{ChMcPIOp.chunk.js → BljWHlhm.chunk.js} +2 -2
- package/dist/scripts/{ChMcPIOp.chunk.js.map → BljWHlhm.chunk.js.map} +1 -1
- package/dist/scripts/{cQwhiWVd.chunk.js → BmyPQ5jE.chunk.js} +2 -2
- package/dist/scripts/{cQwhiWVd.chunk.js.map → BmyPQ5jE.chunk.js.map} +1 -1
- package/dist/scripts/{D4iJdObW.chunk.js → Bnz0fDvK.chunk.js} +2 -2
- package/dist/scripts/{D4iJdObW.chunk.js.map → Bnz0fDvK.chunk.js.map} +1 -1
- package/dist/scripts/BsADH-lw.chunk.js +2 -0
- package/dist/scripts/{8FKVdaoV.chunk.js.map → BsADH-lw.chunk.js.map} +1 -1
- package/dist/scripts/{DGXKrtD9.chunk.js → BsOHikPe.chunk.js} +2 -2
- package/dist/scripts/{DGXKrtD9.chunk.js.map → BsOHikPe.chunk.js.map} +1 -1
- package/dist/scripts/{wf3__oqz.chunk.js → BtjfZQnL.chunk.js} +2 -2
- package/dist/scripts/{wf3__oqz.chunk.js.map → BtjfZQnL.chunk.js.map} +1 -1
- package/dist/scripts/{BwOCU8N2.chunk.js → BuAs5ec9.chunk.js} +2 -2
- package/dist/scripts/{BwOCU8N2.chunk.js.map → BuAs5ec9.chunk.js.map} +1 -1
- package/dist/scripts/BukJ7aUR.chunk.js +2 -0
- package/dist/scripts/{n2Lzk-vZ.chunk.js.map → BukJ7aUR.chunk.js.map} +1 -1
- package/dist/scripts/ByhKhOKU.chunk.js +2 -0
- package/dist/scripts/{C7hbvwax.chunk.js.map → ByhKhOKU.chunk.js.map} +1 -1
- package/dist/scripts/{BF5o8dSk.chunk.js → C1ZMk5wM.chunk.js} +2 -2
- package/dist/scripts/{BF5o8dSk.chunk.js.map → C1ZMk5wM.chunk.js.map} +1 -1
- package/dist/scripts/{CkssErVA.chunk.js → C3y5p8CZ.chunk.js} +2 -2
- package/dist/scripts/{CkssErVA.chunk.js.map → C3y5p8CZ.chunk.js.map} +1 -1
- package/dist/scripts/C7EM5k6B.chunk.js +2 -0
- package/dist/scripts/{BzroV7uY.chunk.js.map → C7EM5k6B.chunk.js.map} +1 -1
- package/dist/scripts/{q9Uu2NWp.chunk.js → CFk0WB2c.chunk.js} +2 -2
- package/dist/scripts/{q9Uu2NWp.chunk.js.map → CFk0WB2c.chunk.js.map} +1 -1
- package/dist/scripts/{B8OodjhB.chunk.js → CJIFCVgE.chunk.js} +2 -2
- package/dist/scripts/{B8OodjhB.chunk.js.map → CJIFCVgE.chunk.js.map} +1 -1
- package/dist/scripts/{BlSWUMP3.chunk.js → CKvSiIEq.chunk.js} +2 -2
- package/dist/scripts/{BlSWUMP3.chunk.js.map → CKvSiIEq.chunk.js.map} +1 -1
- package/dist/scripts/CMCojMYr.chunk.js +2 -0
- package/dist/scripts/{_IXItgx2.chunk.js.map → CMCojMYr.chunk.js.map} +1 -1
- package/dist/scripts/{TstEXSQN.chunk.js → CPlxz4qV.chunk.js} +2 -2
- package/dist/scripts/{TstEXSQN.chunk.js.map → CPlxz4qV.chunk.js.map} +1 -1
- package/dist/scripts/{I59Hs9Lx.chunk.js → CTVtP7l8.chunk.js} +2 -2
- package/dist/scripts/{I59Hs9Lx.chunk.js.map → CTVtP7l8.chunk.js.map} +1 -1
- package/dist/scripts/{DVWWhAdQ.chunk.js → C_4wt9AF.chunk.js} +2 -2
- package/dist/scripts/{DVWWhAdQ.chunk.js.map → C_4wt9AF.chunk.js.map} +1 -1
- package/dist/scripts/{CCRn1ABX.chunk.js → CbaYOIsv.chunk.js} +2 -2
- package/dist/scripts/{CCRn1ABX.chunk.js.map → CbaYOIsv.chunk.js.map} +1 -1
- package/dist/scripts/{Ctt5fJ1m.chunk.js → CcpXNvK8.chunk.js} +2 -2
- package/dist/scripts/{Ctt5fJ1m.chunk.js.map → CcpXNvK8.chunk.js.map} +1 -1
- package/dist/scripts/{Bn0x3bVV.chunk.js → Cd9rSWFI.chunk.js} +2 -2
- package/dist/scripts/{Bn0x3bVV.chunk.js.map → Cd9rSWFI.chunk.js.map} +1 -1
- package/dist/scripts/{D8DlnPuu.chunk.js → Cfz-NLA8.chunk.js} +2 -2
- package/dist/scripts/{D8DlnPuu.chunk.js.map → Cfz-NLA8.chunk.js.map} +1 -1
- package/dist/scripts/{DcycuoCp.chunk.js → CoH7ITiF.chunk.js} +2 -2
- package/dist/scripts/{DcycuoCp.chunk.js.map → CoH7ITiF.chunk.js.map} +1 -1
- package/dist/scripts/{6azg5FPO.chunk.js → Cp5iJov7.chunk.js} +2 -2
- package/dist/scripts/{6azg5FPO.chunk.js.map → Cp5iJov7.chunk.js.map} +1 -1
- package/dist/scripts/{CwIkFpAK.chunk.js → CqC__fxH.chunk.js} +2 -2
- package/dist/scripts/{CwIkFpAK.chunk.js.map → CqC__fxH.chunk.js.map} +1 -1
- package/dist/scripts/{BxTf0tGn.chunk.js → CtxDEXnF.chunk.js} +2 -2
- package/dist/scripts/{BxTf0tGn.chunk.js.map → CtxDEXnF.chunk.js.map} +1 -1
- package/dist/scripts/{BOA4xw3e.chunk.js → CvWjVTu3.chunk.js} +2 -2
- package/dist/scripts/{BOA4xw3e.chunk.js.map → CvWjVTu3.chunk.js.map} +1 -1
- package/dist/scripts/{rTx16rRP.chunk.js → D434QRYT.chunk.js} +2 -2
- package/dist/scripts/{rTx16rRP.chunk.js.map → D434QRYT.chunk.js.map} +1 -1
- package/dist/scripts/{CLc8za1x.chunk.js → D4Zjf8Y5.chunk.js} +2 -2
- package/dist/scripts/{CLc8za1x.chunk.js.map → D4Zjf8Y5.chunk.js.map} +1 -1
- package/dist/scripts/{BRNWJUo1.chunk.js → D6ZrWp-l.chunk.js} +2 -2
- package/dist/scripts/{BRNWJUo1.chunk.js.map → D6ZrWp-l.chunk.js.map} +1 -1
- package/dist/scripts/{CMMBNKu7.chunk.js → D8Heuhhv.chunk.js} +2 -2
- package/dist/scripts/{CMMBNKu7.chunk.js.map → D8Heuhhv.chunk.js.map} +1 -1
- package/dist/scripts/{DewN2Vb_.chunk.js → DB2D8K7H.chunk.js} +2 -2
- package/dist/scripts/{DewN2Vb_.chunk.js.map → DB2D8K7H.chunk.js.map} +1 -1
- package/dist/scripts/{D8_lXBys.chunk.js → DBVjri4c.chunk.js} +2 -2
- package/dist/scripts/{D8_lXBys.chunk.js.map → DBVjri4c.chunk.js.map} +1 -1
- package/dist/scripts/{BNuBfH8m.chunk.js → DE1BrYZL.chunk.js} +2 -2
- package/dist/scripts/{BNuBfH8m.chunk.js.map → DE1BrYZL.chunk.js.map} +1 -1
- package/dist/scripts/{wSwn3D46.chunk.js → DFEzVltS.chunk.js} +2 -2
- package/dist/scripts/{wSwn3D46.chunk.js.map → DFEzVltS.chunk.js.map} +1 -1
- package/dist/scripts/{BR_T92IH.chunk.js → DJIcjqQb.chunk.js} +2 -2
- package/dist/scripts/{BR_T92IH.chunk.js.map → DJIcjqQb.chunk.js.map} +1 -1
- package/dist/scripts/{DovRcfVM.chunk.js → DO5O1Cbr.chunk.js} +2 -2
- package/dist/scripts/{DovRcfVM.chunk.js.map → DO5O1Cbr.chunk.js.map} +1 -1
- package/dist/scripts/{DsjV9PPn.chunk.js → DRm_bkxA.chunk.js} +2 -2
- package/dist/scripts/{DsjV9PPn.chunk.js.map → DRm_bkxA.chunk.js.map} +1 -1
- package/dist/scripts/{9Rt0MZjT.chunk.js → DT4IRGxK.chunk.js} +2 -2
- package/dist/scripts/{9Rt0MZjT.chunk.js.map → DT4IRGxK.chunk.js.map} +1 -1
- package/dist/scripts/{DR4ix3Le.chunk.js → DUhtYhkt.chunk.js} +2 -2
- package/dist/scripts/{DR4ix3Le.chunk.js.map → DUhtYhkt.chunk.js.map} +1 -1
- package/dist/scripts/{C1OCfDUr.chunk.js → DWEY8djx.chunk.js} +2 -2
- package/dist/scripts/{C1OCfDUr.chunk.js.map → DWEY8djx.chunk.js.map} +1 -1
- package/dist/scripts/{DSvyU13L.chunk.js → DWvjreQC.chunk.js} +2 -2
- package/dist/scripts/{DSvyU13L.chunk.js.map → DWvjreQC.chunk.js.map} +1 -1
- package/dist/scripts/{fECuBMLR.chunk.js → D_1yBiR4.chunk.js} +2 -2
- package/dist/scripts/{fECuBMLR.chunk.js.map → D_1yBiR4.chunk.js.map} +1 -1
- package/dist/scripts/{3OkTFdK2.chunk.js → Da25i9yA.chunk.js} +2 -2
- package/dist/scripts/{3OkTFdK2.chunk.js.map → Da25i9yA.chunk.js.map} +1 -1
- package/dist/scripts/DajpMvCp.chunk.js +2 -0
- package/dist/scripts/{DkDHWI8R.chunk.js.map → DajpMvCp.chunk.js.map} +1 -1
- package/dist/scripts/{D24CCnbD.chunk.js → DazbnkYw.chunk.js} +2 -2
- package/dist/scripts/{D24CCnbD.chunk.js.map → DazbnkYw.chunk.js.map} +1 -1
- package/dist/scripts/{CT6hE7w6.chunk.js → DcxTi_y6.chunk.js} +2 -2
- package/dist/scripts/{CT6hE7w6.chunk.js.map → DcxTi_y6.chunk.js.map} +1 -1
- package/dist/scripts/{DRRhiZBL.chunk.js → Dfj7IDd2.chunk.js} +2 -2
- package/dist/scripts/{DRRhiZBL.chunk.js.map → Dfj7IDd2.chunk.js.map} +1 -1
- package/dist/scripts/{PrSoxgla.chunk.js → Dfz11JwF.chunk.js} +2 -2
- package/dist/scripts/{PrSoxgla.chunk.js.map → Dfz11JwF.chunk.js.map} +1 -1
- package/dist/scripts/{WI7FPt1a.chunk.js → DhQH7eoo.chunk.js} +2 -2
- package/dist/scripts/{WI7FPt1a.chunk.js.map → DhQH7eoo.chunk.js.map} +1 -1
- package/dist/scripts/{CNP8DTSw.chunk.js → Dk7j_X12.chunk.js} +2 -2
- package/dist/scripts/{CNP8DTSw.chunk.js.map → Dk7j_X12.chunk.js.map} +1 -1
- package/dist/scripts/{BAdNjc7A.chunk.js → Dn33djw5.chunk.js} +2 -2
- package/dist/scripts/{BAdNjc7A.chunk.js.map → Dn33djw5.chunk.js.map} +1 -1
- package/dist/scripts/{BberNguh.chunk.js → DoDHNhqQ.chunk.js} +2 -2
- package/dist/scripts/{BberNguh.chunk.js.map → DoDHNhqQ.chunk.js.map} +1 -1
- package/dist/scripts/{BUDMpJX2.chunk.js → DoKxE03f.chunk.js} +2 -2
- package/dist/scripts/{BUDMpJX2.chunk.js.map → DoKxE03f.chunk.js.map} +1 -1
- package/dist/scripts/{S5nHSRfa.chunk.js → DtHc20G9.chunk.js} +2 -2
- package/dist/scripts/{S5nHSRfa.chunk.js.map → DtHc20G9.chunk.js.map} +1 -1
- package/dist/scripts/{BLByhXZW.chunk.js → ERJS4wRT.chunk.js} +2 -2
- package/dist/scripts/{BLByhXZW.chunk.js.map → ERJS4wRT.chunk.js.map} +1 -1
- package/dist/scripts/{BQ-BKyM1.chunk.js → EvPAqFMl.chunk.js} +2 -2
- package/dist/scripts/{BQ-BKyM1.chunk.js.map → EvPAqFMl.chunk.js.map} +1 -1
- package/dist/scripts/{B1uz-Qnj.chunk.js → LW0dQJSk.chunk.js} +2 -2
- package/dist/scripts/{B1uz-Qnj.chunk.js.map → LW0dQJSk.chunk.js.map} +1 -1
- package/dist/scripts/{LDI1zHGl.chunk.js → LZIgIAoQ.chunk.js} +2 -2
- package/dist/scripts/{LDI1zHGl.chunk.js.map → LZIgIAoQ.chunk.js.map} +1 -1
- package/dist/scripts/{CUdFCpCV.chunk.js → M6sIzXk3.chunk.js} +2 -2
- package/dist/scripts/{CUdFCpCV.chunk.js.map → M6sIzXk3.chunk.js.map} +1 -1
- package/dist/scripts/{DSzyGUtv.chunk.js → NgXKdsdO.chunk.js} +2 -2
- package/dist/scripts/{DSzyGUtv.chunk.js.map → NgXKdsdO.chunk.js.map} +1 -1
- package/dist/scripts/{CnvPx00U.chunk.js → NuQ4YL4o.chunk.js} +2 -2
- package/dist/scripts/{CnvPx00U.chunk.js.map → NuQ4YL4o.chunk.js.map} +1 -1
- package/dist/scripts/{app-F40DpJf0.js → app-DIXL6Xww.js} +3 -3
- package/dist/scripts/{app-F40DpJf0.js.map → app-DIXL6Xww.js.map} +1 -1
- package/dist/scripts/{BjXCJlUR.chunk.js → h2FRNRf6.chunk.js} +2 -2
- package/dist/scripts/{BjXCJlUR.chunk.js.map → h2FRNRf6.chunk.js.map} +1 -1
- package/dist/scripts/{3wFLNakR.chunk.js → nX8j1O82.chunk.js} +2 -2
- package/dist/scripts/{3wFLNakR.chunk.js.map → nX8j1O82.chunk.js.map} +1 -1
- package/dist/scripts/{D4tR-WZQ.chunk.js → o4QgtA_X.chunk.js} +2 -2
- package/dist/scripts/{D4tR-WZQ.chunk.js.map → o4QgtA_X.chunk.js.map} +1 -1
- package/dist/scripts/{XcHkZOyF.chunk.js → qxfO3cEF.chunk.js} +2 -2
- package/dist/scripts/{XcHkZOyF.chunk.js.map → qxfO3cEF.chunk.js.map} +1 -1
- package/dist/scripts/{qlF3nlLO.chunk.js → r1PHK19X.chunk.js} +2 -2
- package/dist/scripts/{qlF3nlLO.chunk.js.map → r1PHK19X.chunk.js.map} +1 -1
- package/dist/scripts/{Bf7PNHQi.chunk.js → rOIj7KLN.chunk.js} +2 -2
- package/dist/scripts/{Bf7PNHQi.chunk.js.map → rOIj7KLN.chunk.js.map} +1 -1
- package/dist/scripts/{SIOFUPM8.chunk.js → roCgVX3B.chunk.js} +3 -3
- package/dist/scripts/{SIOFUPM8.chunk.js.map → roCgVX3B.chunk.js.map} +1 -1
- package/dist/scripts/{CMsNmlo3.chunk.js → yublbxR_.chunk.js} +2 -2
- package/dist/scripts/{CMsNmlo3.chunk.js.map → yublbxR_.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/8FKVdaoV.chunk.js +0 -2
- package/dist/scripts/BzroV7uY.chunk.js +0 -2
- package/dist/scripts/C7hbvwax.chunk.js +0 -2
- package/dist/scripts/DkDHWI8R.chunk.js +0 -2
- package/dist/scripts/S3AKKGaX.chunk.js +0 -2
- package/dist/scripts/_IXItgx2.chunk.js +0 -2
- package/dist/scripts/n2Lzk-vZ.chunk.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"6azg5FPO.chunk.js","sources":["../../../../libs/shared/src/flight-requests/SeriesRequests.ts","../../src/apps/exchange/views/exchange-series/partial-loading/PartialExchangeSeries.tsx","../../src/apps/exchange/views/exchange-series/ExchangeSeriesView.tsx"],"sourcesContent":["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 React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nexport function PartialExchangeSeries() {\n return (\n <>\n <div\n className='partial-loading-background pb-4 mb-3 w-50'\n ></div>\n\n <div className='d-flex align-items-center justify-content-between mb-2'>\n <PartialBreadcrumbs />\n </div>\n \n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n </>\n );\n}\n","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser, Series, Video } from 'libs/shared/interfaces';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { useCommonVideoProps } from 'apps/exchange/hooks/useCommonVideoProps';\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { getSeriesAppLink, getVideoAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nimport { PartialExchangeSeries } from './partial-loading/PartialExchangeSeries';\n\nconst namespace = 'exchange.exchangeSeries';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeSeriesViewProps {\n seriesId: string;\n sort: VideoSortType;\n}\n\nexport function ExchangeSeriesView(props: ExchangeSeriesViewProps): JSX.Element {\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const series = Flight.useBasicFetch<Series>(SeriesRequests.series(props.seriesId));\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n useSetPageMetadata({ title: series.data?.name });\n useHandleObjectError(series);\n\n const { commonVideoProps } = useCommonVideoProps();\n\n // Must be before the video fetching, as the getVideosRequest has a closure over the sort\n const sort = !!currentUser.data\n && VideoSortHelper.getOrSetSortType(currentUser.data.id, props.sort, VideoSortType.ProductionYear, 'series');\n\n const {\n items: videos,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(getVideosRequest, fetchNextVideos, onError);\n\n function getVideosRequest(cursor?: string): Flight.Request {\n return ExchangeRequests.seriesVideos(props.seriesId, sort, cursor);\n }\n\n function fetchNextVideos(cursor?: string): void {\n return fetch(getVideosRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n const videoActions = useGetExchangeActions('video-list');\n\n const breadcrumbs = series.data ? [{\n name: getPhrase('exchangeArchive'),\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n }\n }, {\n name: series.data.name,\n active: true\n }] : [];\n\n if (!series.data || isFetching)\n return <PartialExchangeSeries />;\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <h1 className='h2'>{series.data.name}</h1>\n\n <div className='d-flex justify-content-between align-items-center'>\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n\n <VideoSortSelect\n variant='outline-dark'\n type={sort}\n getSortAppLink={sort => getSeriesAppLink(series.data, sort)}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n includeProductionYear\n />\n </div>\n\n <div className='pb-3'>\n {videos ? (\n <VideoList\n videos={videos}\n getVideoAppLink={getVideoAppLink}\n presentationAudiences={null}\n getPreviewQuestionsAppLink={() => null}\n hasPermissions={() => false}\n hideVideoGuidance\n commonVideoProps={commonVideoProps}\n />) : (\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n )}\n\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNextVideos}\n nextCursor={nextCursor}\n />\n )}\n </div>\n </VideoActionsContext.Provider>\n );\n}"],"names":["endpoints","id","shareId","UrlHelper","SharedWithStatements","videoCount","SeriesRequests","queryStringObj","userId","sort","cursor","sortFilter","VideoSortHelper","key","k","PublicWithStatement","PartialExchangeSeries","jsxs","Fragment","jsx","PartialBreadcrumbs","PartialVideoList","namespace","getPhrase","LanguageService","ExchangeSeriesView","props","fetch","Flight.useGetFetch","alerts","useAlerts","series","Flight.useBasicFetch","currentUser","UserRequests","useSetPageMetadata","_a","useHandleObjectError","commonVideoProps","useCommonVideoProps","VideoSortType","videos","hasMore","isFetching","nextCursor","useInfiniteList","getVideosRequest","fetchNextVideos","onError","ExchangeRequests","pageNumber","httpStatus","handleHttpError","videoActions","useGetExchangeActions","breadcrumbs","AppChannels","Actions","VideoActionsContext","Breadcrumbs","VideoSortSelect","getSeriesAppLink","LocationContext","EntityType","UserAction","WorkflowPhase","VideoList","getVideoAppLink","InfiniteScrollFooter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Cp5iJov7.chunk.js","sources":["../../../../libs/shared/src/flight-requests/SeriesRequests.ts","../../src/apps/exchange/views/exchange-series/partial-loading/PartialExchangeSeries.tsx","../../src/apps/exchange/views/exchange-series/ExchangeSeriesView.tsx"],"sourcesContent":["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 React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nexport function PartialExchangeSeries() {\n return (\n <>\n <div\n className='partial-loading-background pb-4 mb-3 w-50'\n ></div>\n\n <div className='d-flex align-items-center justify-content-between mb-2'>\n <PartialBreadcrumbs />\n </div>\n \n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n </>\n );\n}\n","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser, Series, Video } from 'libs/shared/interfaces';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { useCommonVideoProps } from 'apps/exchange/hooks/useCommonVideoProps';\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { getSeriesAppLink, getVideoAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nimport { PartialExchangeSeries } from './partial-loading/PartialExchangeSeries';\n\nconst namespace = 'exchange.exchangeSeries';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeSeriesViewProps {\n seriesId: string;\n sort: VideoSortType;\n}\n\nexport function ExchangeSeriesView(props: ExchangeSeriesViewProps): JSX.Element {\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const series = Flight.useBasicFetch<Series>(SeriesRequests.series(props.seriesId));\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n useSetPageMetadata({ title: series.data?.name });\n useHandleObjectError(series);\n\n const { commonVideoProps } = useCommonVideoProps();\n\n // Must be before the video fetching, as the getVideosRequest has a closure over the sort\n const sort = !!currentUser.data\n && VideoSortHelper.getOrSetSortType(currentUser.data.id, props.sort, VideoSortType.ProductionYear, 'series');\n\n const {\n items: videos,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(getVideosRequest, fetchNextVideos, onError);\n\n function getVideosRequest(cursor?: string): Flight.Request {\n return ExchangeRequests.seriesVideos(props.seriesId, sort, cursor);\n }\n\n function fetchNextVideos(cursor?: string): void {\n return fetch(getVideosRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n const videoActions = useGetExchangeActions('video-list');\n\n const breadcrumbs = series.data ? [{\n name: getPhrase('exchangeArchive'),\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n }\n }, {\n name: series.data.name,\n active: true\n }] : [];\n\n if (!series.data || isFetching)\n return <PartialExchangeSeries />;\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <h1 className='h2'>{series.data.name}</h1>\n\n <div className='d-flex justify-content-between align-items-center'>\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n\n <VideoSortSelect\n variant='outline-dark'\n type={sort}\n getSortAppLink={sort => getSeriesAppLink(series.data, sort)}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n includeProductionYear\n />\n </div>\n\n <div className='pb-3'>\n {videos ? (\n <VideoList\n videos={videos}\n getVideoAppLink={getVideoAppLink}\n presentationAudiences={null}\n getPreviewQuestionsAppLink={() => null}\n hasPermissions={() => false}\n hideVideoGuidance\n commonVideoProps={commonVideoProps}\n />) : (\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n )}\n\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNextVideos}\n nextCursor={nextCursor}\n />\n )}\n </div>\n </VideoActionsContext.Provider>\n );\n}"],"names":["endpoints","id","shareId","UrlHelper","SharedWithStatements","videoCount","SeriesRequests","queryStringObj","userId","sort","cursor","sortFilter","VideoSortHelper","key","k","PublicWithStatement","PartialExchangeSeries","jsxs","Fragment","jsx","PartialBreadcrumbs","PartialVideoList","namespace","getPhrase","LanguageService","ExchangeSeriesView","props","fetch","Flight.useGetFetch","alerts","useAlerts","series","Flight.useBasicFetch","currentUser","UserRequests","useSetPageMetadata","_a","useHandleObjectError","commonVideoProps","useCommonVideoProps","VideoSortType","videos","hasMore","isFetching","nextCursor","useInfiniteList","getVideosRequest","fetchNextVideos","onError","ExchangeRequests","pageNumber","httpStatus","handleHttpError","videoActions","useGetExchangeActions","breadcrumbs","AppChannels","Actions","VideoActionsContext","Breadcrumbs","VideoSortSelect","getSeriesAppLink","LocationContext","EntityType","UserAction","WorkflowPhase","VideoList","getVideoAppLink","InfiniteScrollFooter"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{H as l,c,U as i,S as n}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{H as l,c,U as i,S as n}from"./app-DIXL6Xww.js";const p={domainLibraries(r,e,a,t){return{url:i.urlBuilder("/api/domain/v2/me/libraries",{type:r,maxCategoryDepth:0}),key:`libraries:${r.sort().join(":")}`,formatData:s=>s.map(o=>o.data),success:e,error:a,always:t}},libraryRequestLibraries(){return{url:"{gateway}/v1/library-requests/libraries",key:"libraries"}},librariesWithCategories(){return{url:i.urlBuilder("/api/domain/v2/me/libraries",{type:["sharedLibrary","customLibrary","unpublishedCustomLibrary"],maxCategoryDepth:5}),key:"libraries:with:categories",normalize:!1}},librariesWithOwnerLogos(r,e,a,t){return r.sort(),{url:i.urlBuilder("/api/domain/v2/objects",{query:n.LIBRARY_COLLECTION,id:r}),key:`libraries:owner:logo:${r.join(",")}`,success:e,error:a,always:t}},library(r,e,a,t){return{url:i.urlBuilder(`{gateway}/v1/objects/${r}`,{query:n.LIBRARY}),key:`library:${r}`,success:e,error:a,always:t}},exchange(r){return{url:i.urlBuilder(`{gateway}/v1/objects/${r}`,{query:"categorytree"}),key:"exchange"}},streamableLearning(){return{url:"{gateway}/v1/streamable-learning-library",key:"streamable:learning"}},librarySubscribers(r,e){const a={};return e&&(a.cursor=e),{url:i.urlBuilder(`{gateway}/v1/library-requests/libraries/${r}/subscribers`,a),key:`library:subscribers:${r}:${e}`}},libraryOwner(r){return{url:`{gateway}/v1/library-requests/libraries/${r}/subscribers?ownerOnly=true`,key:`library:owner:${r}`,formatData:e=>c.first(e.data)}},updateSubscriberPermissions(r,e,a,t,s){return{url:`{gateway}/v1/libraries/${r}/library-request-permissions`,key:`update:subscriber:permissions:${r}:${e}`,type:l.PUT,data:{customerId:e,granted:a},invalidationKeys:[`library:owner:${r}`,`library:subscribers:${r}`],success:t,error:s}},removeSubscriber(r,e,a,t){return{url:`{gateway}/v1/objects/${r}/subscribedcustomers?memberId=${e}`,key:`revoke:subscription:${r}:${e}`,type:l.DELETE,invalidationKeys:[`library:subscribers:${r}`],success:a,error:t}},folder(r,e,a,t){return{url:`{gateway}/v1/objects/${r}?query=banner,libraries`,key:`library:folder:${r}`,success:e,error:a,always:t}},videoFolders(r){return{url:`{gateway}/v1/objects/${r}/categories?query=libraries`,key:`video:folders:${r}`}},folderParentTree(r,e,a,t){return{url:`/api/domain/v2/categories/${r}/parent-tree?includeAll=false`,key:`folder:parent:tree${r}`,success:e,error:a,always:t}},childFolders(r,e,a,t,s){let o=`{gateway}/v1/objects/${r}/categories?query={limit:100}thumbnail`,u=`child:folders:${r}`;return e&&(o+=`&cursor=${e}`,u+=`:${e}`),{url:o,key:u,formatData:b=>{const y=b.data.sort((d,m)=>d.name.toLowerCase().localeCompare(m.name.toLowerCase()));return{...b,data:y}},success:a,error:t,always:s}},addToLibrary(r,e){const a=["folder","videos",r.metadata.destinationCategoryId,e].filter(t=>!!t).join(":");return{url:"{gateway}/v1/library-requests",key:`add:${r.objectId}:to:${r.destinationLibraryId}:${r.metadata.destinationCategoryId}`,type:l.POST,data:r,invalidationKeys:a}},libraries(){return{url:"{gateway}/v1/users/me/libraries",key:"objects:libraries"}},libraryExport(r){return{url:"{gateway}/v1/libraries/export",key:"library:export",type:l.POST,data:r}},libraryExportV2(r){return{url:"{gateway}/v2/libraries/export",key:"library:export:v2",type:l.POST,data:r}}};export{p as L};
|
|
2
|
+
//# sourceMappingURL=CqC__fxH.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CwIkFpAK.chunk.js","sources":["../../../../libs/shared/src/flight-requests/LibraryRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Folder, FolderCollection, Library, LibrarySubscriberCollection, MasterNestedObject } from 'libs/shared/interfaces';\nimport { AddToLibraryRequest } from 'libs/shared/interfaces/requests/AddToLibraryRequest';\nimport { LibraryExportRequest } from 'libs/shared/interfaces/requests/LibraryExportRequest';\nimport { LibraryExportRequestV2 } from 'libs/shared/interfaces/requests/LibraryExportRequestV2';\nimport { LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\n\nexport type DomainMasterCollectionType =\n 'sharedLibrary' |\n 'customLibrary' |\n 'unpublishedCustomLibrary' |\n 'exchange' |\n 'workspace' |\n 'hostedLibrary'\n\nexport const LibraryRequests = {\n domainLibraries(\n type: Array<DomainMasterCollectionType>,\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type,\n maxCategoryDepth: 0\n }),\n key: `libraries:${type.sort().join(':')}`,\n formatData: (data: MasterNestedObject<Library>[]) => data.map(d => d.data),\n success,\n error,\n always\n };\n },\n\n libraryRequestLibraries(): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries`,\n key: 'libraries'\n };\n },\n\n librariesWithCategories(): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: [ 'sharedLibrary', 'customLibrary', 'unpublishedCustomLibrary' ],\n maxCategoryDepth: 5\n }),\n key: 'libraries:with:categories',\n normalize: false\n };\n },\n\n librariesWithOwnerLogos(\n libraryIds: string[],\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n libraryIds.sort();\n\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/objects', {\n query: SharedWithStatements.LIBRARY_COLLECTION,\n id: libraryIds\n }),\n key: `libraries:owner:logo:${libraryIds.join(',')}`,\n success,\n error,\n always\n };\n },\n\n library(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.LIBRARY\n }),\n key: `library:${id}`,\n success,\n error,\n always\n };\n },\n\n exchange(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: 'categorytree'\n }),\n key: `exchange`\n };\n },\n\n streamableLearning(): Flight.Request {\n return {\n url: '{gateway}/v1/streamable-learning-library',\n key: 'streamable:learning'\n };\n },\n\n librarySubscribers(id: string, cursor?: string): Flight.Request {\n const params: HashObject = {};\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/library-requests/libraries/${id}/subscribers`, params),\n key: `library:subscribers:${id}:${cursor}`\n };\n },\n\n libraryOwner(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries/${id}/subscribers?ownerOnly=true`,\n key: `library:owner:${id}`,\n formatData: (collection: LibrarySubscriberCollection) => {\n return ArrayHelper.first(collection.data);\n }\n };\n },\n\n updateSubscriberPermissions(\n libraryId: string,\n customerId: string,\n allowLibraryRequests: boolean,\n success?: () => void,\n error?: (xhr?: LibraryApiXhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/libraries/${libraryId}/library-request-permissions`,\n key: `update:subscriber:permissions:${libraryId}:${customerId}`,\n type: HttpVerbs.PUT,\n data: {\n customerId,\n granted: allowLibraryRequests\n },\n invalidationKeys: [\n `library:owner:${libraryId}`,\n `library:subscribers:${libraryId}`\n ],\n success,\n error\n };\n },\n\n removeSubscriber(\n libraryId: string,\n customerId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${libraryId}/subscribedcustomers?memberId=${customerId}`,\n key: `revoke:subscription:${libraryId}:${customerId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [`library:subscribers:${libraryId}`],\n success,\n error\n };\n },\n\n folder(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=banner,libraries`,\n key: `library:folder:${id}`,\n success,\n error,\n always\n };\n },\n\n videoFolders(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/categories?query=libraries`,\n key: `video:folders:${id}`\n };\n },\n\n folderParentTree(\n id: string,\n success?: (data: MasterNestedObject<Folder>) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v2/categories/${id}/parent-tree?includeAll=false`,\n key: `folder:parent:tree${id}`,\n success,\n error,\n always\n };\n },\n\n childFolders(\n id: string,\n cursor?: string,\n success?: (data: Folder[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n let url = `{gateway}/v1/objects/${id}/categories?query={limit:100}thumbnail`;\n let key = `child:folders:${id}`;\n\n if (cursor) {\n url += `&cursor=${cursor}`;\n key += `:${cursor}`;\n }\n\n return {\n url,\n key,\n formatData: (folders: FolderCollection) => {\n const data = folders.data.sort((a, b) => {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n\n return {\n ...folders,\n data\n };\n },\n success,\n error,\n always\n };\n },\n\n addToLibrary(data: AddToLibraryRequest, sort: VideoSortType): Flight.Request {\n const folderVideosKey = [ 'folder', 'videos', data.metadata.destinationCategoryId, sort ].filter(k => !!k).join(':');\n \n return {\n url: `{gateway}/v1/library-requests`,\n key: `add:${data.objectId}:to:${data.destinationLibraryId}:${data.metadata.destinationCategoryId}`,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: folderVideosKey\n };\n },\n\n libraries(): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/libraries',\n key: 'objects:libraries'\n };\n },\n\n libraryExport(data: LibraryExportRequest): Flight.Request {\n return {\n url: '{gateway}/v1/libraries/export',\n key: 'library:export',\n type: HttpVerbs.POST,\n data\n };\n },\n\n libraryExportV2(data: LibraryExportRequestV2): Flight.Request {\n return {\n url: '{gateway}/v2/libraries/export',\n key: 'library:export:v2',\n type: HttpVerbs.POST,\n data\n };\n }\n};"],"names":["LibraryRequests","type","success","error","always","UrlHelper","data","d","libraryIds","SharedWithStatements","id","cursor","params","collection","ArrayHelper","libraryId","customerId","allowLibraryRequests","HttpVerbs","url","key","folders","a","b","sort","folderVideosKey","k"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CqC__fxH.chunk.js","sources":["../../../../libs/shared/src/flight-requests/LibraryRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Folder, FolderCollection, Library, LibrarySubscriberCollection, MasterNestedObject } from 'libs/shared/interfaces';\nimport { AddToLibraryRequest } from 'libs/shared/interfaces/requests/AddToLibraryRequest';\nimport { LibraryExportRequest } from 'libs/shared/interfaces/requests/LibraryExportRequest';\nimport { LibraryExportRequestV2 } from 'libs/shared/interfaces/requests/LibraryExportRequestV2';\nimport { LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\n\nexport type DomainMasterCollectionType =\n 'sharedLibrary' |\n 'customLibrary' |\n 'unpublishedCustomLibrary' |\n 'exchange' |\n 'workspace' |\n 'hostedLibrary'\n\nexport const LibraryRequests = {\n domainLibraries(\n type: Array<DomainMasterCollectionType>,\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type,\n maxCategoryDepth: 0\n }),\n key: `libraries:${type.sort().join(':')}`,\n formatData: (data: MasterNestedObject<Library>[]) => data.map(d => d.data),\n success,\n error,\n always\n };\n },\n\n libraryRequestLibraries(): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries`,\n key: 'libraries'\n };\n },\n\n librariesWithCategories(): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: [ 'sharedLibrary', 'customLibrary', 'unpublishedCustomLibrary' ],\n maxCategoryDepth: 5\n }),\n key: 'libraries:with:categories',\n normalize: false\n };\n },\n\n librariesWithOwnerLogos(\n libraryIds: string[],\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n libraryIds.sort();\n\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/objects', {\n query: SharedWithStatements.LIBRARY_COLLECTION,\n id: libraryIds\n }),\n key: `libraries:owner:logo:${libraryIds.join(',')}`,\n success,\n error,\n always\n };\n },\n\n library(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.LIBRARY\n }),\n key: `library:${id}`,\n success,\n error,\n always\n };\n },\n\n exchange(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: 'categorytree'\n }),\n key: `exchange`\n };\n },\n\n streamableLearning(): Flight.Request {\n return {\n url: '{gateway}/v1/streamable-learning-library',\n key: 'streamable:learning'\n };\n },\n\n librarySubscribers(id: string, cursor?: string): Flight.Request {\n const params: HashObject = {};\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/library-requests/libraries/${id}/subscribers`, params),\n key: `library:subscribers:${id}:${cursor}`\n };\n },\n\n libraryOwner(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries/${id}/subscribers?ownerOnly=true`,\n key: `library:owner:${id}`,\n formatData: (collection: LibrarySubscriberCollection) => {\n return ArrayHelper.first(collection.data);\n }\n };\n },\n\n updateSubscriberPermissions(\n libraryId: string,\n customerId: string,\n allowLibraryRequests: boolean,\n success?: () => void,\n error?: (xhr?: LibraryApiXhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/libraries/${libraryId}/library-request-permissions`,\n key: `update:subscriber:permissions:${libraryId}:${customerId}`,\n type: HttpVerbs.PUT,\n data: {\n customerId,\n granted: allowLibraryRequests\n },\n invalidationKeys: [\n `library:owner:${libraryId}`,\n `library:subscribers:${libraryId}`\n ],\n success,\n error\n };\n },\n\n removeSubscriber(\n libraryId: string,\n customerId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${libraryId}/subscribedcustomers?memberId=${customerId}`,\n key: `revoke:subscription:${libraryId}:${customerId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [`library:subscribers:${libraryId}`],\n success,\n error\n };\n },\n\n folder(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=banner,libraries`,\n key: `library:folder:${id}`,\n success,\n error,\n always\n };\n },\n\n videoFolders(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/categories?query=libraries`,\n key: `video:folders:${id}`\n };\n },\n\n folderParentTree(\n id: string,\n success?: (data: MasterNestedObject<Folder>) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v2/categories/${id}/parent-tree?includeAll=false`,\n key: `folder:parent:tree${id}`,\n success,\n error,\n always\n };\n },\n\n childFolders(\n id: string,\n cursor?: string,\n success?: (data: Folder[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n let url = `{gateway}/v1/objects/${id}/categories?query={limit:100}thumbnail`;\n let key = `child:folders:${id}`;\n\n if (cursor) {\n url += `&cursor=${cursor}`;\n key += `:${cursor}`;\n }\n\n return {\n url,\n key,\n formatData: (folders: FolderCollection) => {\n const data = folders.data.sort((a, b) => {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n\n return {\n ...folders,\n data\n };\n },\n success,\n error,\n always\n };\n },\n\n addToLibrary(data: AddToLibraryRequest, sort: VideoSortType): Flight.Request {\n const folderVideosKey = [ 'folder', 'videos', data.metadata.destinationCategoryId, sort ].filter(k => !!k).join(':');\n \n return {\n url: `{gateway}/v1/library-requests`,\n key: `add:${data.objectId}:to:${data.destinationLibraryId}:${data.metadata.destinationCategoryId}`,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: folderVideosKey\n };\n },\n\n libraries(): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/libraries',\n key: 'objects:libraries'\n };\n },\n\n libraryExport(data: LibraryExportRequest): Flight.Request {\n return {\n url: '{gateway}/v1/libraries/export',\n key: 'library:export',\n type: HttpVerbs.POST,\n data\n };\n },\n\n libraryExportV2(data: LibraryExportRequestV2): Flight.Request {\n return {\n url: '{gateway}/v2/libraries/export',\n key: 'library:export:v2',\n type: HttpVerbs.POST,\n data\n };\n }\n};"],"names":["LibraryRequests","type","success","error","always","UrlHelper","data","d","libraryIds","SharedWithStatements","id","cursor","params","collection","ArrayHelper","libraryId","customerId","allowLibraryRequests","HttpVerbs","url","key","folders","a","b","sort","folderVideosKey","k"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{H as u,U as c,S as p,M as l,aB as E,q as d,aG as h,L as P,ae as f,o}from"./app-F40DpJf0.js";import{C as V}from"./BlDVEZsX.chunk.js";import{R as b,a as B}from"./WI7FPt1a.chunk.js";import{P as I}from"./pkzD5BEm.chunk.js";import{V as k}from"./B-uJ9QxS.chunk.js";var $=(e=>(e.Screenrights="screenrights",e.Era="era",e.ClickView="clickview",e))($||{});const T={clip(e,t){return{key:`clip:${e}:${t}`,url:c.urlBuilder(`{gateway}/v1/objects/${e}`,{query:p.CLIP,permissionFilterOption:t})}},videoClips(e,t,r){return{key:`video:${e}:clips:${t}:${r}`,url:c.urlBuilder(`{gateway}/v1/objects/${e}/clips`,{query:p.CLIP_COLLECTION,permissionFilterOption:t,cursor:r})}},clipWithAllInteractives(e,t){return{key:`clip:${e}:${t}:interactives`,url:c.urlBuilder(`{gateway}/v1/objects/${e}`,{query:`${p.CLIP},interactives{status:[0,1]}`,permissionFilterOption:t}),normalize:!1}},publicClip(e,t,r,a){return{key:`clip:${e}:public:${t}`,url:c.urlBuilder(`/api/objects/${e}`,{query:"_parentVideo,_canBeConsumed,_thumbnail",permissionFilterOption:I.StripMetadata,shareId:t}),bootstrapName:`shared:object:${e}`,success:r,error:a}},sharedClip(e,t,r,a){return{key:`shared:clip:${e}`,url:c.urlBuilder(`/api/objects/${e}`,{shareId:t,query:p.CLIP}),success:r,error:a}},createClip(e,t,r,a,s){return{key:"create:clip",url:`{gateway}/v1/objects/${e}/clips`,data:t,type:u.POST,invalidationKeys:[`videos:${e}`,"my:videos"],success:r,error:a,always:s}},updateClip(e,t,r,a,s){return{key:"update:clip",url:`{gateway}/v1/objects/${e}`,data:t,type:u.PUT,invalidationKeys:[`clip:${e}`],success:r,error:a,always:s}},deleteClip(e,t,r,a,s){return{key:"delete:clip",url:`{gateway}/v1/objects/${e}`,type:u.DELETE,invalidationKeys:[`videos:${t}`,"my:videos","videos"],success:r,error:a,always:s}}},w={interactiveMetadata(e,t){return{url:c.urlBuilder(`{gateway}/v1/objects/${e}`,{query:p.INTERACTIVE,permissionFilterOption:t}),key:`interactive:metadata:${e}:${t}`}},videoInteractives(e,t,r){return{key:`video:${e}:interactives:${t}:${r}`,url:c.urlBuilder(`{gateway}/v1/objects/${e}/interactives`,{query:p.INTERACTIVE_COLLECTION,cursor:r}),publicUrl:c.urlBuilder(`/api/objects/${e}/interactives`,{query:p.INTERACTIVE_COLLECTION,cursor:r})}},sharedInteractiveMetadata(e,t,r,a){return{url:c.urlBuilder(`/api/objects/${e}`,{shareId:t,query:p.INTERACTIVE}),key:`shared:interactive:metadata:${e}`,success:r,error:a}},publicInteractiveMetadata(e,t,r,a){return{url:c.urlBuilder(`/api/objects/${e}`,{query:"_parentVideo[_rating],_canBeConsumed,_thumbnail",permissionFilterOption:I.StripMetadata,shareId:t}),key:`interactive:metadata:${e}:public:${t}`,bootstrapName:`shared:object:${e}`,success:r,error:a}},interactive(e){return{url:`/api/domain/v1/interactives/${e}`,key:`interactive:${e}`,normalize:!1}},createInteractive(e,t,r){return{url:"/api/domain/v1/interactives",key:"create:interactive",type:u.POST,invalidationKeys:["my:videos"],data:e,success:t,error:r}},createInteractiveMetadata(e,t,r,a){return{url:`{gateway}/v1/objects/${e}/interactives`,key:"create:interactive:metadata",type:u.POST,data:t,success:r,error:a}},updateInteractive(e,t,r,a){return{url:`/api/domain/v1/interactives/${e}`,key:"update:interactive",type:u.PUT,data:t,success:r,error:a,formatData:()=>t,invalidationKeys:[`interactive:${e}`]}},updateInteractiveMetadata(e,t,r,a){return{url:`{gateway}/v1/objects/${e}`,key:"update:interactive:metadata",type:u.PUT,data:t,success:r,error:a}},interactiveResultSet(e,t){return{url:`/api/domain/v1/analytics/interactives/${e}/metadata/${t}`,key:`interactive:result:set:${e}:${t}`}},copyInteractive(e,t,r){return{url:`/api/domain/v1/interactives/${e}/copy`,key:"copy:interactive",type:u.POST,invalidationKeys:[`interactive:${e}`,"my:videos"],success:t,error:r}},deleteInteractiveMetadata(e,t,r){return{url:`{gateway}/v1/objects/${e}`,key:"delete:interactive",type:u.DELETE,invalidationKeys:[`interactive:${e}`,"my:videos","videos"],success:t,error:r}},removeInteractiveMetadata({libraryId:e,categoryId:t,interactiveMetadataId:r}){return{url:c.urlBuilder(`/api/domain/v1/libraries/${e}/videos`,{categoryId:t,videoIds:r}),key:`remove:interactive:metadata:${r}`,type:u.DELETE,invalidationKeys:[`interactive:${r}`,"my:videos","videos"]}},contributeToCommunity(e){return{url:`/api/domain/v2/interactives/${e}/contribute`,key:"contribute:interactive",type:u.POST}},revokefromCommunity(e){return{url:`/api/domain/v2/interactives/${e}/contribute`,key:"contribute:interactive",type:u.DELETE}},isContributed(e){return{url:`/api/domain/v2/interactives/${e}/contributed`,key:`iscontributed:${e}`,normalize:!1}},updateInteraction(e){return{url:`/api/domain/v1/interactions/bulk/${e.id}`,key:"contribute:interactive",data:e,type:u.PUT,invalidationKeys:[`interactive:${e.interactiveId}`]}}},R="shared.shared-utils",i=P.encloseNamespace(R),n={isVideo(e){return(e==null?void 0:e.typeId)===l.Video},isClip(e){return(e==null?void 0:e.typeId)===l.Clip},isInteractive(e){return(e==null?void 0:e.typeId)===l.Interactive},isVideoTypeArchived(e){return(e==null?void 0:e.status)===V.Archived},isVideoType(e){return n.isVideo(e)||n.isInteractive(e)||n.isClip(e)},hasSeries(e){var t;return!!((t=e==null?void 0:e.series)!=null&&t.id)},showVideoGuidance(e){return!e(o.StudentExperience)},showInteractivesGuidance(e){var r,a;return!e||n.isInteractive(e)?!1:!!(((a=(r=e.interactives)==null?void 0:r.data)==null?void 0:a.length)||0)},showResourcesGuidance(e){var r,a,s,m;return!e||n.isInteractive(e)?!1:!!((((a=(r=e.resources)==null?void 0:r.data)==null?void 0:a.length)||0)+(((m=(s=e.links)==null?void 0:s.data)==null?void 0:m.length)||0))},canViewCurriculumLinks(e,t){var a;return!(e(o.ViewCurriculums)&&e(o.ManagePresentations))||!t||!n.isVideo(t)?!1:!!((a=t._hasCurriculumLinks)!=null&&a.value)},getVideoProgress(e){var t,r;return e!=null&&e.lastProgressPoint?e==null?void 0:e.lastProgressPoint:(t=e==null?void 0:e._videoProgress)!=null&&t.progress?(r=e==null?void 0:e._videoProgress)==null?void 0:r.progress:0},getThumbnail(e){var t,r,a;if(!e)return null;if(n.isVideo(e))return e.thumbnail;if(e!=null&&e._thumbnail)return e._thumbnail;if(n.isClip(e))return e.thumbnail||((t=e._parentVideo)==null?void 0:t.thumbnail);if(n.isInteractive(e))return((r=e._parentVideo)==null?void 0:r.thumbnail)||((a=e._parentClip)==null?void 0:a.thumbnail)},getDuration(e){var t,r;if(e){if(n.isVideo(e))return e.duration;if(n.isInteractive(e)){if((t=e._parentClip)!=null&&t.id)return(e._parentClip.endTime-e._parentClip.startTime)*1e3;if((r=e._parentVideo)!=null&&r.duration)return e._parentVideo.duration}if(n.isClip(e))return(e.endTime-e.startTime)*1e3}},getAnalyticsEntity(e){if(n.isVideo(e))return f.Video;if(n.isInteractive(e))return f.Interactive;if(n.isClip(e))return f.Clip},getAnalyticsData(e,t={}){var a,s,m,C,g,y;if(n.isVideo(e))return{...t||{},id:e.id,name:e.name};if(n.isClip(e)){const _={...t||{},id:e.id,name:e.name};return(a=e._parentVideo)!=null&&a.id&&(_.video={id:(s=e._parentVideo)==null?void 0:s.id,name:e._parentVideo.name}),_}const r={...t,id:e.id,interactiveId:e.interactiveId,name:e.name,status:e.status,originType:e.originType};return(m=e==null?void 0:e._parentClip)!=null&&m.id&&(r.clip={id:(C=e==null?void 0:e._parentClip)==null?void 0:C.id,name:e==null?void 0:e._parentClip.name}),(g=e==null?void 0:e._parentVideo)!=null&&g.id&&(r.video={id:(y=e==null?void 0:e._parentVideo)==null?void 0:y.id,name:e==null?void 0:e._parentVideo.name}),r},getCanBeConsumed(e){var t,r;return!e||!n.isVideoType(e)?{canNavigate:!1,canConsume:!1}:e._canBeConsumed?{canNavigate:((t=e._canBeConsumed)==null?void 0:t.reason)==="login-required"&&n.isVideo(e)||e._canBeConsumed.value===!0,canConsume:e._canBeConsumed.value,reason:(r=e._canBeConsumed)==null?void 0:r.reason}:{canNavigate:!0,canConsume:!0}},getPrivacyReasoning(e,t=!1){var g;const{canConsume:r,canNavigate:a,reason:s}=n.getCanBeConsumed(e),m=()=>n.isClip(e)?i("clipParentDeleted"):n.isInteractive(e)?i("interactiveParentDeleted"):i("videoDeleted"),C=()=>n.isClip(e)?i("clipLoginRequired"):n.isInteractive(e)?i("interactiveLoginRequired"):i("videoLoginRequired");if(!r&&!a){if(t)return C();switch(s){case"rating-not-allowed":return i("ratingNotAllowed");case"video-deleted":return m();case"clickview-private":return i("clickViewPrivate");case"private":return i("genericCannotAccess");case"login-required":return C();case"restricted-access":{const y=b.getWeightedRestriction((g=e._restrictions)==null?void 0:g.value);return(y==null?void 0:y.type)===B.Custom?i("awaitingApproval"):i("restrictedAccess")}default:return i("genericCannotAccess")}}return n.isInteractive(e)&&e.status===V.Draft?i("draftInteractive"):""},getTitle(e){if(e.name)return n.isInteractive(e)&&e.status===V.Draft?i("draftInteractiveTitle",{name:e.name}):e.name;const{canConsume:t,reason:r}=n.getCanBeConsumed(e);return i(!t&&r==="private"?"privateVideo":!t&&r==="video-deleted"?"videoUnavailable":"privateVideo")},getParentVideo(e){if(n.isVideo(e))return e;if(n.isClip(e)||n.isInteractive(e))return e._parentVideo},getRating(e){var t,r,a;return n.isVideo(e)?((t=e._rating)==null?void 0:t.value)||e.rating:(a=(r=e==null?void 0:e._parentVideo)==null?void 0:r._rating)==null?void 0:a.value},getVideoRequest(e,t,r){if(r){switch(t){case l.Video:return k.sharedVideo(e,r);case l.Clip:return T.sharedClip(e,r);case l.Interactive:return w.sharedInteractiveMetadata(e,r)}d.throw(new h("Unsupported master type"))}switch(t){case l.Video:return k.video(e);case l.Clip:return T.clip(e);case l.Interactive:return w.interactiveMetadata(e)}d.throw(new h("Unsupported master type"))},isBroadcast(e){var t,r;return!!((r=(t=e==null?void 0:e.contentLicences)==null?void 0:t.data)!=null&&r.some(a=>a.systemName===$.Era||a.systemName===$.Screenrights))},isUgc(e){var t;return!n.isBroadcast(e)&&!((t=e==null?void 0:e._isClickViewCurated)!=null&&t.value)},getReleaseDate(e){return e&&e.dateReleased&&n.isBroadcast(e)?E.format(e.dateReleased,"DD/MM/YYYY"):""},canViewOriginalVideo(e){var t,r;return!!((r=(t=e==null?void 0:e._parentVideo)==null?void 0:t._canBeConsumed)!=null&&r.value)},getTrackingCode(e){if(n.isVideo(e))return e.trackingCode;if(n.isClip(e)||n.isInteractive(e))return e._parentVideo.trackingCode},isInExchange(e){var t,r;return!!((r=(t=e==null?void 0:e.libraries)==null?void 0:t.data)!=null&&r.some(a=>a.typeId===l.ExchangeCollection))},canViewUploadDate(e){return!(!e||!e.dateCreated||!e._isClickViewCurated||e._isClickViewCurated.value)}};export{n as V};
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{H as u,U as c,S as p,M as l,aB as E,q as d,aG as h,L as P,ae as f,o}from"./app-DIXL6Xww.js";import{C as V}from"./BlDVEZsX.chunk.js";import{R as b,a as B}from"./DhQH7eoo.chunk.js";import{P as I}from"./pkzD5BEm.chunk.js";import{V as k}from"./BVLYrDIr.chunk.js";var $=(e=>(e.Screenrights="screenrights",e.Era="era",e.ClickView="clickview",e))($||{});const T={clip(e,t){return{key:`clip:${e}:${t}`,url:c.urlBuilder(`{gateway}/v1/objects/${e}`,{query:p.CLIP,permissionFilterOption:t})}},videoClips(e,t,r){return{key:`video:${e}:clips:${t}:${r}`,url:c.urlBuilder(`{gateway}/v1/objects/${e}/clips`,{query:p.CLIP_COLLECTION,permissionFilterOption:t,cursor:r})}},clipWithAllInteractives(e,t){return{key:`clip:${e}:${t}:interactives`,url:c.urlBuilder(`{gateway}/v1/objects/${e}`,{query:`${p.CLIP},interactives{status:[0,1]}`,permissionFilterOption:t}),normalize:!1}},publicClip(e,t,r,a){return{key:`clip:${e}:public:${t}`,url:c.urlBuilder(`/api/objects/${e}`,{query:"_parentVideo,_canBeConsumed,_thumbnail",permissionFilterOption:I.StripMetadata,shareId:t}),bootstrapName:`shared:object:${e}`,success:r,error:a}},sharedClip(e,t,r,a){return{key:`shared:clip:${e}`,url:c.urlBuilder(`/api/objects/${e}`,{shareId:t,query:p.CLIP}),success:r,error:a}},createClip(e,t,r,a,s){return{key:"create:clip",url:`{gateway}/v1/objects/${e}/clips`,data:t,type:u.POST,invalidationKeys:[`videos:${e}`,"my:videos"],success:r,error:a,always:s}},updateClip(e,t,r,a,s){return{key:"update:clip",url:`{gateway}/v1/objects/${e}`,data:t,type:u.PUT,invalidationKeys:[`clip:${e}`],success:r,error:a,always:s}},deleteClip(e,t,r,a,s){return{key:"delete:clip",url:`{gateway}/v1/objects/${e}`,type:u.DELETE,invalidationKeys:[`videos:${t}`,"my:videos","videos"],success:r,error:a,always:s}}},w={interactiveMetadata(e,t){return{url:c.urlBuilder(`{gateway}/v1/objects/${e}`,{query:p.INTERACTIVE,permissionFilterOption:t}),key:`interactive:metadata:${e}:${t}`}},videoInteractives(e,t,r){return{key:`video:${e}:interactives:${t}:${r}`,url:c.urlBuilder(`{gateway}/v1/objects/${e}/interactives`,{query:p.INTERACTIVE_COLLECTION,cursor:r}),publicUrl:c.urlBuilder(`/api/objects/${e}/interactives`,{query:p.INTERACTIVE_COLLECTION,cursor:r})}},sharedInteractiveMetadata(e,t,r,a){return{url:c.urlBuilder(`/api/objects/${e}`,{shareId:t,query:p.INTERACTIVE}),key:`shared:interactive:metadata:${e}`,success:r,error:a}},publicInteractiveMetadata(e,t,r,a){return{url:c.urlBuilder(`/api/objects/${e}`,{query:"_parentVideo[_rating],_canBeConsumed,_thumbnail",permissionFilterOption:I.StripMetadata,shareId:t}),key:`interactive:metadata:${e}:public:${t}`,bootstrapName:`shared:object:${e}`,success:r,error:a}},interactive(e){return{url:`/api/domain/v1/interactives/${e}`,key:`interactive:${e}`,normalize:!1}},createInteractive(e,t,r){return{url:"/api/domain/v1/interactives",key:"create:interactive",type:u.POST,invalidationKeys:["my:videos"],data:e,success:t,error:r}},createInteractiveMetadata(e,t,r,a){return{url:`{gateway}/v1/objects/${e}/interactives`,key:"create:interactive:metadata",type:u.POST,data:t,success:r,error:a}},updateInteractive(e,t,r,a){return{url:`/api/domain/v1/interactives/${e}`,key:"update:interactive",type:u.PUT,data:t,success:r,error:a,formatData:()=>t,invalidationKeys:[`interactive:${e}`]}},updateInteractiveMetadata(e,t,r,a){return{url:`{gateway}/v1/objects/${e}`,key:"update:interactive:metadata",type:u.PUT,data:t,success:r,error:a}},interactiveResultSet(e,t){return{url:`/api/domain/v1/analytics/interactives/${e}/metadata/${t}`,key:`interactive:result:set:${e}:${t}`}},copyInteractive(e,t,r){return{url:`/api/domain/v1/interactives/${e}/copy`,key:"copy:interactive",type:u.POST,invalidationKeys:[`interactive:${e}`,"my:videos"],success:t,error:r}},deleteInteractiveMetadata(e,t,r){return{url:`{gateway}/v1/objects/${e}`,key:"delete:interactive",type:u.DELETE,invalidationKeys:[`interactive:${e}`,"my:videos","videos"],success:t,error:r}},removeInteractiveMetadata({libraryId:e,categoryId:t,interactiveMetadataId:r}){return{url:c.urlBuilder(`/api/domain/v1/libraries/${e}/videos`,{categoryId:t,videoIds:r}),key:`remove:interactive:metadata:${r}`,type:u.DELETE,invalidationKeys:[`interactive:${r}`,"my:videos","videos"]}},contributeToCommunity(e){return{url:`/api/domain/v2/interactives/${e}/contribute`,key:"contribute:interactive",type:u.POST}},revokefromCommunity(e){return{url:`/api/domain/v2/interactives/${e}/contribute`,key:"contribute:interactive",type:u.DELETE}},isContributed(e){return{url:`/api/domain/v2/interactives/${e}/contributed`,key:`iscontributed:${e}`,normalize:!1}},updateInteraction(e){return{url:`/api/domain/v1/interactions/bulk/${e.id}`,key:"contribute:interactive",data:e,type:u.PUT,invalidationKeys:[`interactive:${e.interactiveId}`]}}},R="shared.shared-utils",i=P.encloseNamespace(R),n={isVideo(e){return(e==null?void 0:e.typeId)===l.Video},isClip(e){return(e==null?void 0:e.typeId)===l.Clip},isInteractive(e){return(e==null?void 0:e.typeId)===l.Interactive},isVideoTypeArchived(e){return(e==null?void 0:e.status)===V.Archived},isVideoType(e){return n.isVideo(e)||n.isInteractive(e)||n.isClip(e)},hasSeries(e){var t;return!!((t=e==null?void 0:e.series)!=null&&t.id)},showVideoGuidance(e){return!e(o.StudentExperience)},showInteractivesGuidance(e){var r,a;return!e||n.isInteractive(e)?!1:!!(((a=(r=e.interactives)==null?void 0:r.data)==null?void 0:a.length)||0)},showResourcesGuidance(e){var r,a,s,m;return!e||n.isInteractive(e)?!1:!!((((a=(r=e.resources)==null?void 0:r.data)==null?void 0:a.length)||0)+(((m=(s=e.links)==null?void 0:s.data)==null?void 0:m.length)||0))},canViewCurriculumLinks(e,t){var a;return!(e(o.ViewCurriculums)&&e(o.ManagePresentations))||!t||!n.isVideo(t)?!1:!!((a=t._hasCurriculumLinks)!=null&&a.value)},getVideoProgress(e){var t,r;return e!=null&&e.lastProgressPoint?e==null?void 0:e.lastProgressPoint:(t=e==null?void 0:e._videoProgress)!=null&&t.progress?(r=e==null?void 0:e._videoProgress)==null?void 0:r.progress:0},getThumbnail(e){var t,r,a;if(!e)return null;if(n.isVideo(e))return e.thumbnail;if(e!=null&&e._thumbnail)return e._thumbnail;if(n.isClip(e))return e.thumbnail||((t=e._parentVideo)==null?void 0:t.thumbnail);if(n.isInteractive(e))return((r=e._parentVideo)==null?void 0:r.thumbnail)||((a=e._parentClip)==null?void 0:a.thumbnail)},getDuration(e){var t,r;if(e){if(n.isVideo(e))return e.duration;if(n.isInteractive(e)){if((t=e._parentClip)!=null&&t.id)return(e._parentClip.endTime-e._parentClip.startTime)*1e3;if((r=e._parentVideo)!=null&&r.duration)return e._parentVideo.duration}if(n.isClip(e))return(e.endTime-e.startTime)*1e3}},getAnalyticsEntity(e){if(n.isVideo(e))return f.Video;if(n.isInteractive(e))return f.Interactive;if(n.isClip(e))return f.Clip},getAnalyticsData(e,t={}){var a,s,m,C,g,y;if(n.isVideo(e))return{...t||{},id:e.id,name:e.name};if(n.isClip(e)){const _={...t||{},id:e.id,name:e.name};return(a=e._parentVideo)!=null&&a.id&&(_.video={id:(s=e._parentVideo)==null?void 0:s.id,name:e._parentVideo.name}),_}const r={...t,id:e.id,interactiveId:e.interactiveId,name:e.name,status:e.status,originType:e.originType};return(m=e==null?void 0:e._parentClip)!=null&&m.id&&(r.clip={id:(C=e==null?void 0:e._parentClip)==null?void 0:C.id,name:e==null?void 0:e._parentClip.name}),(g=e==null?void 0:e._parentVideo)!=null&&g.id&&(r.video={id:(y=e==null?void 0:e._parentVideo)==null?void 0:y.id,name:e==null?void 0:e._parentVideo.name}),r},getCanBeConsumed(e){var t,r;return!e||!n.isVideoType(e)?{canNavigate:!1,canConsume:!1}:e._canBeConsumed?{canNavigate:((t=e._canBeConsumed)==null?void 0:t.reason)==="login-required"&&n.isVideo(e)||e._canBeConsumed.value===!0,canConsume:e._canBeConsumed.value,reason:(r=e._canBeConsumed)==null?void 0:r.reason}:{canNavigate:!0,canConsume:!0}},getPrivacyReasoning(e,t=!1){var g;const{canConsume:r,canNavigate:a,reason:s}=n.getCanBeConsumed(e),m=()=>n.isClip(e)?i("clipParentDeleted"):n.isInteractive(e)?i("interactiveParentDeleted"):i("videoDeleted"),C=()=>n.isClip(e)?i("clipLoginRequired"):n.isInteractive(e)?i("interactiveLoginRequired"):i("videoLoginRequired");if(!r&&!a){if(t)return C();switch(s){case"rating-not-allowed":return i("ratingNotAllowed");case"video-deleted":return m();case"clickview-private":return i("clickViewPrivate");case"private":return i("genericCannotAccess");case"login-required":return C();case"restricted-access":{const y=b.getWeightedRestriction((g=e._restrictions)==null?void 0:g.value);return(y==null?void 0:y.type)===B.Custom?i("awaitingApproval"):i("restrictedAccess")}default:return i("genericCannotAccess")}}return n.isInteractive(e)&&e.status===V.Draft?i("draftInteractive"):""},getTitle(e){if(e.name)return n.isInteractive(e)&&e.status===V.Draft?i("draftInteractiveTitle",{name:e.name}):e.name;const{canConsume:t,reason:r}=n.getCanBeConsumed(e);return i(!t&&r==="private"?"privateVideo":!t&&r==="video-deleted"?"videoUnavailable":"privateVideo")},getParentVideo(e){if(n.isVideo(e))return e;if(n.isClip(e)||n.isInteractive(e))return e._parentVideo},getRating(e){var t,r,a;return n.isVideo(e)?((t=e._rating)==null?void 0:t.value)||e.rating:(a=(r=e==null?void 0:e._parentVideo)==null?void 0:r._rating)==null?void 0:a.value},getVideoRequest(e,t,r){if(r){switch(t){case l.Video:return k.sharedVideo(e,r);case l.Clip:return T.sharedClip(e,r);case l.Interactive:return w.sharedInteractiveMetadata(e,r)}d.throw(new h("Unsupported master type"))}switch(t){case l.Video:return k.video(e);case l.Clip:return T.clip(e);case l.Interactive:return w.interactiveMetadata(e)}d.throw(new h("Unsupported master type"))},isBroadcast(e){var t,r;return!!((r=(t=e==null?void 0:e.contentLicences)==null?void 0:t.data)!=null&&r.some(a=>a.systemName===$.Era||a.systemName===$.Screenrights))},isUgc(e){var t;return!n.isBroadcast(e)&&!((t=e==null?void 0:e._isClickViewCurated)!=null&&t.value)},getReleaseDate(e){return e&&e.dateReleased&&n.isBroadcast(e)?E.format(e.dateReleased,"DD/MM/YYYY"):""},canViewOriginalVideo(e){var t,r;return!!((r=(t=e==null?void 0:e._parentVideo)==null?void 0:t._canBeConsumed)!=null&&r.value)},getTrackingCode(e){if(n.isVideo(e))return e.trackingCode;if(n.isClip(e)||n.isInteractive(e))return e._parentVideo.trackingCode},isInExchange(e){var t,r;return!!((r=(t=e==null?void 0:e.libraries)==null?void 0:t.data)!=null&&r.some(a=>a.typeId===l.ExchangeCollection))},canViewUploadDate(e){return!(!e||!e.dateCreated||!e._isClickViewCurated||e._isClickViewCurated.value)}};export{n as V};
|
|
2
|
+
//# sourceMappingURL=CtxDEXnF.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BxTf0tGn.chunk.js","sources":["../../../../libs/shared/src/enums/ContentLicenceType.ts","../../../../libs/shared/src/flight-requests/ClipRequests.ts","../../../../libs/shared/src/flight-requests/InteractiveRequests.ts","../../../../libs/shared/src/utils/VideoHelper.ts"],"sourcesContent":["export enum ContentLicenseType {\n Screenrights = 'screenrights',\n Era = 'era',\n ClickView = 'clickview'\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';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { Clip, CreateOrUpdateClipRequest } from 'libs/shared/interfaces';\n\nexport const ClipRequests = {\n clip(id: string, permissionFilterOption?: PermissionFilterOption): Flight.Request {\n return {\n key: `clip:${id}:${permissionFilterOption}`,\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.CLIP,\n permissionFilterOption\n })\n };\n },\n\n videoClips(parentId: string, permissionFilterOption?: PermissionFilterOption, cursor?: string) {\n return {\n key: `video:${parentId}:clips:${permissionFilterOption}:${cursor}`,\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${parentId}/clips`, {\n query: SharedWithStatements.CLIP_COLLECTION,\n permissionFilterOption,\n cursor\n })\n };\n },\n\n clipWithAllInteractives(id: string, permissionFilterOption?: PermissionFilterOption): Flight.Request {\n return {\n key: `clip:${id}:${permissionFilterOption}:interactives`,\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: `${SharedWithStatements.CLIP},interactives{status:[0,1]}`,\n permissionFilterOption\n }),\n normalize: false\n };\n },\n\n publicClip(\n id: string,\n shareId?: string,\n success?: (clip: Clip) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n key: `clip:${id}:public:${shareId}`,\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n // Query statement here is coupled with ClickView.Lite.Common\\Services\\OpenGraph\\OpenGraphService.cs\n // in lite. If you update this, please update both.\n query: '_parentVideo,_canBeConsumed,_thumbnail',\n permissionFilterOption: PermissionFilterOption.StripMetadata,\n shareId\n }),\n bootstrapName: `shared:object:${id}`,\n success,\n error\n };\n },\n\n sharedClip(\n id: string,\n shareId: string,\n success?: (clip: Clip) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n key: `shared:clip:${id}`,\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n shareId,\n query: SharedWithStatements.CLIP\n }),\n success,\n error\n };\n },\n\n createClip(\n videoId: string,\n data: CreateOrUpdateClipRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n key: 'create:clip',\n url: `{gateway}/v1/objects/${videoId}/clips`,\n data,\n type: HttpVerbs.POST,\n invalidationKeys: [ `videos:${videoId}`, 'my:videos' ],\n success,\n error,\n always\n };\n },\n\n updateClip(\n id: string,\n data: CreateOrUpdateClipRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n key: 'update:clip',\n url: `{gateway}/v1/objects/${id}`,\n data,\n type: HttpVerbs.PUT,\n invalidationKeys: [`clip:${id}`],\n success,\n error,\n always\n };\n },\n\n deleteClip(\n id: string,\n videoId: string,\n success?: (data: any) => void,\n error?: (data: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n key: `delete:clip`,\n url: `{gateway}/v1/objects/${id}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [ `videos:${videoId}`, 'my:videos', 'videos' ],\n success,\n error,\n always\n };\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';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { CreateInteractiveMetadataRequest, CreateInteractiveRequest, EditInteractiveMetadataOriginRequest, EditInteractiveMetadataRequest, EditInteractiveRequest, Interaction, InteractiveMetadata } from 'libs/shared/interfaces';\n\nexport const InteractiveRequests = {\n interactiveMetadata(id: string, permissionFilterOption?: PermissionFilterOption): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.INTERACTIVE,\n permissionFilterOption\n }),\n key: `interactive:metadata:${id}:${permissionFilterOption}`\n };\n },\n\n videoInteractives(\n parentId: string,\n permissionFilterOption?: PermissionFilterOption,\n cursor?: string\n ): Flight.PublicRequest {\n return {\n key: `video:${parentId}:interactives:${permissionFilterOption}:${cursor}`,\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${parentId}/interactives`, {\n query: SharedWithStatements.INTERACTIVE_COLLECTION,\n cursor\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${parentId}/interactives`, {\n query: SharedWithStatements.INTERACTIVE_COLLECTION,\n cursor\n })\n };\n },\n\n sharedInteractiveMetadata(\n id: string,\n shareId: string,\n success?: (interactiveMetadata: InteractiveMetadata) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n shareId,\n query: SharedWithStatements.INTERACTIVE\n }),\n key: `shared:interactive:metadata:${id}`,\n success,\n error\n };\n },\n publicInteractiveMetadata(\n id: string,\n shareId?: string,\n success?: (interactive: InteractiveMetadata) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n // Query statement here is coupled with ClickView.Lite.Common\\Services\\OpenGraph\\OpenGraphService.cs\n // in lite. If you update this, please update both.\n query: '_parentVideo[_rating],_canBeConsumed,_thumbnail',\n permissionFilterOption: PermissionFilterOption.StripMetadata,\n shareId\n }),\n key: `interactive:metadata:${id}:public:${shareId}`,\n bootstrapName: `shared:object:${id}`,\n success,\n error\n };\n },\n interactive(id: string): Flight.Request {\n return {\n url: `/api/domain/v1/interactives/${id}`,\n key: `interactive:${id}`,\n normalize: false\n };\n },\n createInteractive(\n data: CreateInteractiveRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: '/api/domain/v1/interactives',\n key: 'create:interactive',\n type: HttpVerbs.POST,\n invalidationKeys: ['my:videos'],\n data,\n success,\n error\n };\n },\n createInteractiveMetadata(\n videoId: string,\n data: CreateInteractiveMetadataRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${videoId}/interactives`,\n key: 'create:interactive:metadata',\n type: HttpVerbs.POST,\n data,\n success,\n error\n };\n },\n updateInteractive(\n id: string,\n data: EditInteractiveRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `/api/domain/v1/interactives/${id}`,\n key: 'update:interactive',\n type: HttpVerbs.PUT,\n data,\n success,\n error,\n /* Update state because domain doesn't return the updated object */\n formatData: () => data,\n invalidationKeys: [`interactive:${id}`]\n };\n },\n updateInteractiveMetadata(\n id: string,\n data: EditInteractiveMetadataRequest | EditInteractiveMetadataOriginRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: 'update:interactive:metadata',\n type: HttpVerbs.PUT,\n data,\n success,\n error\n };\n },\n interactiveResultSet(interactiveId: string, interactiveMetadataId: string): Flight.Request {\n return {\n url: `/api/domain/v1/analytics/interactives/${interactiveId}/metadata/${interactiveMetadataId}`,\n key: `interactive:result:set:${interactiveId}:${interactiveMetadataId}`\n };\n },\n copyInteractive(\n interactiveId: string,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `/api/domain/v1/interactives/${interactiveId}/copy`,\n key: 'copy:interactive',\n type: HttpVerbs.POST,\n invalidationKeys: [ `interactive:${interactiveId}`, 'my:videos' ],\n success,\n error\n };\n },\n deleteInteractiveMetadata(\n interactiveMetadataId: string,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${interactiveMetadataId}`,\n key: 'delete:interactive',\n type: HttpVerbs.DELETE,\n invalidationKeys: [ `interactive:${interactiveMetadataId}`, 'my:videos', 'videos' ],\n success,\n error\n };\n },\n removeInteractiveMetadata({\n libraryId,\n categoryId,\n interactiveMetadataId\n }: {\n libraryId: string;\n categoryId: string;\n interactiveMetadataId: string;\n }): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/domain/v1/libraries/${libraryId}/videos`, { categoryId, videoIds: interactiveMetadataId }),\n key: `remove:interactive:metadata:${interactiveMetadataId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [ `interactive:${interactiveMetadataId}`, 'my:videos', 'videos' ]\n };\n },\n contributeToCommunity(interactiveMetadataId: string): Flight.Request {\n return {\n url: `/api/domain/v2/interactives/${interactiveMetadataId}/contribute`,\n key: 'contribute:interactive',\n type: HttpVerbs.POST\n };\n },\n revokefromCommunity(interactiveMetadataId: string): Flight.Request {\n return {\n url: `/api/domain/v2/interactives/${interactiveMetadataId}/contribute`,\n key: 'contribute:interactive',\n type: HttpVerbs.DELETE\n };\n },\n isContributed(interactiveMetadataId: string): Flight.Request {\n return {\n url: `/api/domain/v2/interactives/${interactiveMetadataId}/contributed`,\n key: `iscontributed:${interactiveMetadataId}`,\n normalize: false\n };\n },\n updateInteraction(interaction: Interaction) {\n return {\n url: `/api/domain/v1/interactions/bulk/${interaction.id}`,\n key: 'contribute:interactive',\n data: interaction,\n type: HttpVerbs.PUT,\n invalidationKeys: [`interactive:${interaction.interactiveId}`]\n };\n }\n};\n","import { DevError } from 'libs/common/backbone/errors/DevError';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { EntityType } from 'libs/analytics/interfaces';\n\nimport { ContentLicenseType } from 'libs/shared/enums/ContentLicenceType';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { RestrictionType } from 'libs/shared/enums/RestrictionType';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { BaseObject, CanBeConsumedReason, Clip, InteractiveMetadata, Rating, Thumbnail, Video, VideoTypes } from 'libs/shared/interfaces';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\n\nimport { PermissionName } from '../enums/PermissionName';\nimport { HasPermissionsFunc } from '../hooks/usePermissions';\n\nconst namespace = 'shared.shared-utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const VideoHelper = {\n isVideo(obj: BaseObject): obj is Video {\n return obj?.typeId === MasterType.Video;\n },\n\n isClip(obj: BaseObject): obj is Clip {\n return obj?.typeId === MasterType.Clip;\n },\n\n isInteractive(obj: BaseObject): obj is InteractiveMetadata {\n return obj?.typeId === MasterType.Interactive;\n },\n\n isVideoTypeArchived(obj: VideoTypes): boolean {\n return obj?.status === CurationStatus.Archived;\n },\n\n /**\n * Returns true of the object is a video, clip or interactive\n */\n isVideoType(object: BaseObject): object is Video | Clip | InteractiveMetadata {\n return VideoHelper.isVideo(object) || VideoHelper.isInteractive(object) || VideoHelper.isClip(object);\n },\n\n hasSeries(video: Video): boolean {\n return !!video?.series?.id;\n },\n\n showVideoGuidance(hasPermissions: HasPermissionsFunc): boolean {\n return !hasPermissions(PermissionName.StudentExperience);\n },\n\n showInteractivesGuidance(video: VideoTypes): boolean {\n if (!video || VideoHelper.isInteractive(video))\n return false;\n\n const interactiveCount = video.interactives?.data?.length || 0;\n\n return !!interactiveCount;\n },\n\n showResourcesGuidance(video: VideoTypes): boolean {\n if (!video || VideoHelper.isInteractive(video))\n return false;\n\n const resourceCount = (\n (video.resources?.data?.length || 0) +\n (video.links?.data?.length || 0)\n );\n\n return !!resourceCount;\n },\n\n canViewCurriculumLinks(hasPermissions: HasPermissionsFunc, video: VideoTypes): boolean {\n const canView = (\n hasPermissions(PermissionName.ViewCurriculums) &&\n hasPermissions(PermissionName.ManagePresentations)\n );\n\n if (!canView)\n return false;\n \n if (!video || !VideoHelper.isVideo(video))\n return false;\n\n return !!video._hasCurriculumLinks?.value;\n },\n\n getVideoProgress(video: Video): number {\n if (video?.lastProgressPoint)\n return video?.lastProgressPoint;\n\n // Use virtual assoc\n if (video?._videoProgress?.progress)\n return video?._videoProgress?.progress;\n\n return 0;\n },\n\n getThumbnail(video: VideoTypes): Thumbnail {\n if (!video)\n return null;\n\n if (VideoHelper.isVideo(video))\n return video.thumbnail;\n\n if (video?._thumbnail)\n return video._thumbnail;\n\n // Fallbacks for virtual assoc if needed\n if (VideoHelper.isClip(video))\n return video.thumbnail || video._parentVideo?.thumbnail;\n\n if (VideoHelper.isInteractive(video))\n return video._parentVideo?.thumbnail || video._parentClip?.thumbnail;\n },\n\n getDuration(video: VideoTypes): number {\n if (!video)\n return;\n\n if (VideoHelper.isVideo(video))\n return video.duration;\n\n if (VideoHelper.isInteractive(video)) {\n if (video._parentClip?.id)\n return (video._parentClip.endTime - video._parentClip.startTime) * 1000;\n\n if (video._parentVideo?.duration)\n return video._parentVideo.duration;\n }\n\n if (VideoHelper.isClip(video))\n return (video.endTime - video.startTime) * 1000;\n },\n\n getAnalyticsEntity(video: VideoTypes): EntityType {\n if (VideoHelper.isVideo(video))\n return EntityType.Video;\n\n if (VideoHelper.isInteractive(video))\n return EntityType.Interactive;\n\n if (VideoHelper.isClip(video))\n return EntityType.Clip;\n },\n\n getAnalyticsData(\n video: VideoTypes,\n extraAnalyticsData: HashObject = {}\n ): HashObject {\n if (VideoHelper.isVideo(video)) {\n return {\n ...(extraAnalyticsData || {}),\n id: video.id,\n name: video.name\n };\n }\n\n if (VideoHelper.isClip(video)) {\n const data: HashObject = {\n ...(extraAnalyticsData || {}),\n id: video.id,\n name: video.name\n };\n\n if (video._parentVideo?.id)\n data.video = { id: video._parentVideo?.id, name: video._parentVideo.name };\n\n return data;\n }\n\n const data: HashObject = {\n ...extraAnalyticsData,\n id: video.id,\n interactiveId: video.interactiveId,\n name: video.name,\n status: video.status,\n originType: video.originType\n };\n\n if (video?._parentClip?.id)\n data.clip = { id: video?._parentClip?.id, name: video?._parentClip.name };\n\n if (video?._parentVideo?.id)\n data.video = { id: video?._parentVideo?.id, name: video?._parentVideo.name };\n \n return data;\n },\n\n getCanBeConsumed(video: BaseObject): {\n canNavigate: boolean,\n canConsume: boolean,\n reason?: CanBeConsumedReason\n } {\n if (!video || !VideoHelper.isVideoType(video)) {\n return {\n canNavigate: false,\n canConsume: false\n };\n }\n\n if (video._canBeConsumed) {\n return {\n /**\n * Product navigation is enabled for \"login-required\" reason to support public access. \n * The video itself cannot be consumed, however, clients can allow users to browse the platform.\n * \n * Note: canNavigate is initially available for just videos. Interactives and Clips will be supported in Y2.\n */\n canNavigate: (video._canBeConsumed?.reason === 'login-required' && VideoHelper.isVideo(video)) || video._canBeConsumed.value === true,\n canConsume: video._canBeConsumed.value,\n reason: video._canBeConsumed?.reason\n };\n }\n\n /**\n * Many of the components shared between online and lite read this value.\n * Online doesn't fetch or care about this value, which means by this point it should\n * still be null. In this case, we just set it to true so that the components can render\n * as normal.\n */\n return {\n canNavigate: true,\n canConsume: true\n };\n },\n\n getPrivacyReasoning(video: VideoTypes, showSignIn: boolean = false): string {\n const { canConsume, canNavigate, reason } = VideoHelper.getCanBeConsumed(video);\n\n const getNoLongerAvailableText = () => {\n if (VideoHelper.isClip(video))\n return getPhrase('clipParentDeleted');\n\n if (VideoHelper.isInteractive(video))\n return getPhrase('interactiveParentDeleted');\n\n return getPhrase('videoDeleted');\n };\n\n const getLoginRequiredText = () => {\n if (VideoHelper.isClip(video))\n return getPhrase('clipLoginRequired');\n\n if (VideoHelper.isInteractive(video))\n return getPhrase('interactiveLoginRequired');\n\n return getPhrase('videoLoginRequired');\n };\n\n if (!canConsume && !canNavigate) {\n if (showSignIn)\n return getLoginRequiredText();\n\n switch (reason) {\n case 'rating-not-allowed': {\n return getPhrase('ratingNotAllowed');\n }\n\n case 'video-deleted': {\n return getNoLongerAvailableText();\n }\n\n case 'clickview-private': {\n return getPhrase('clickViewPrivate');\n }\n\n case 'private': {\n return getPhrase('genericCannotAccess');\n }\n\n case 'login-required': {\n return getLoginRequiredText();\n }\n\n case 'restricted-access': {\n const restriction = RestrictionHelper.getWeightedRestriction(video._restrictions?.value);\n\n if (restriction?.type === RestrictionType.Custom)\n return getPhrase('awaitingApproval');\n\n return getPhrase('restrictedAccess');\n }\n\n default: {\n return getPhrase('genericCannotAccess');\n }\n }\n }\n\n if (VideoHelper.isInteractive(video) && video.status === CurationStatus.Draft)\n return getPhrase('draftInteractive');\n\n return '';\n },\n\n getTitle(video: VideoTypes): string {\n if (video.name) {\n if (VideoHelper.isInteractive(video) && video.status === CurationStatus.Draft) {\n return getPhrase('draftInteractiveTitle', { name: video.name });\n }\n\n return video.name;\n }\n\n const { canConsume, reason } = VideoHelper.getCanBeConsumed(video);\n\n if (!canConsume && reason === 'private')\n return getPhrase('privateVideo');\n\n if (!canConsume && reason === 'video-deleted')\n return getPhrase('videoUnavailable');\n\n return getPhrase('privateVideo');\n },\n\n getParentVideo(video: VideoTypes): Video | null {\n if (VideoHelper.isVideo(video))\n return video;\n\n if (VideoHelper.isClip(video) || VideoHelper.isInteractive(video))\n return video._parentVideo;\n },\n\n getRating(video: VideoTypes): Rating | null {\n if (VideoHelper.isVideo(video))\n return video._rating?.value || video.rating;\n\n return video?._parentVideo?._rating?.value;\n },\n\n getVideoRequest(\n objectId: string,\n objectTypeId: MasterType,\n shareId?: string\n ): Flight.Request {\n if (shareId) {\n switch (objectTypeId) {\n case MasterType.Video:\n return VideoRequests.sharedVideo(objectId, shareId);\n case MasterType.Clip:\n return ClipRequests.sharedClip(objectId, shareId);\n case MasterType.Interactive:\n return InteractiveRequests.sharedInteractiveMetadata(objectId, shareId);\n }\n\n Core.ErrorHelper.throw(new DevError('Unsupported master type'));\n }\n\n switch (objectTypeId) {\n case MasterType.Video:\n return VideoRequests.video(objectId);\n case MasterType.Clip:\n return ClipRequests.clip(objectId);\n case MasterType.Interactive:\n return InteractiveRequests.interactiveMetadata(objectId);\n }\n\n Core.ErrorHelper.throw(new DevError('Unsupported master type'));\n },\n\n isBroadcast(video: Video): boolean {\n return !!video?.contentLicences?.data?.some(l =>\n l.systemName === ContentLicenseType.Era ||\n l.systemName === ContentLicenseType.Screenrights);\n },\n\n isUgc(video: Video): boolean {\n // if video isn't broadcast and isn't curated by the ClickView team, chances are it's UGC\n return !VideoHelper.isBroadcast(video) && !video?._isClickViewCurated?.value;\n },\n\n getReleaseDate(video: Video): string {\n if (!video)\n return '';\n\n if (video.dateReleased && VideoHelper.isBroadcast(video))\n return DateHelper.format(video.dateReleased, 'DD/MM/YYYY');\n\n return '';\n },\n\n canViewOriginalVideo(video: Clip | InteractiveMetadata): boolean {\n return !!video?._parentVideo?._canBeConsumed?.value;\n },\n\n getTrackingCode(video: VideoTypes): string | undefined {\n if (VideoHelper.isVideo(video))\n return video.trackingCode;\n\n if (VideoHelper.isClip(video) || VideoHelper.isInteractive(video))\n return video._parentVideo.trackingCode;\n },\n\n isInExchange(video: Video): boolean {\n return !!video?.libraries?.data?.some(l => l.typeId === MasterType.ExchangeCollection);\n },\n\n canViewUploadDate(video: Video): boolean {\n if (!video || !video.dateCreated)\n return false;\n\n if (!video._isClickViewCurated || video._isClickViewCurated.value)\n return false;\n\n return true;\n }\n};\n"],"names":["ContentLicenseType","ClipRequests","id","permissionFilterOption","UrlHelper","SharedWithStatements","parentId","cursor","shareId","success","error","PermissionFilterOption","videoId","data","always","HttpVerbs","InteractiveRequests","interactiveId","interactiveMetadataId","libraryId","categoryId","interaction","namespace","getPhrase","LanguageService","VideoHelper","obj","MasterType","CurationStatus","object","video","_a","hasPermissions","PermissionName","_b","_d","_c","EntityType","extraAnalyticsData","_e","_f","showSignIn","canConsume","canNavigate","reason","getNoLongerAvailableText","getLoginRequiredText","restriction","RestrictionHelper","RestrictionType","objectId","objectTypeId","VideoRequests","Core.ErrorHelper","DevError","l","DateHelper"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CtxDEXnF.chunk.js","sources":["../../../../libs/shared/src/enums/ContentLicenceType.ts","../../../../libs/shared/src/flight-requests/ClipRequests.ts","../../../../libs/shared/src/flight-requests/InteractiveRequests.ts","../../../../libs/shared/src/utils/VideoHelper.ts"],"sourcesContent":["export enum ContentLicenseType {\n Screenrights = 'screenrights',\n Era = 'era',\n ClickView = 'clickview'\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';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { Clip, CreateOrUpdateClipRequest } from 'libs/shared/interfaces';\n\nexport const ClipRequests = {\n clip(id: string, permissionFilterOption?: PermissionFilterOption): Flight.Request {\n return {\n key: `clip:${id}:${permissionFilterOption}`,\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.CLIP,\n permissionFilterOption\n })\n };\n },\n\n videoClips(parentId: string, permissionFilterOption?: PermissionFilterOption, cursor?: string) {\n return {\n key: `video:${parentId}:clips:${permissionFilterOption}:${cursor}`,\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${parentId}/clips`, {\n query: SharedWithStatements.CLIP_COLLECTION,\n permissionFilterOption,\n cursor\n })\n };\n },\n\n clipWithAllInteractives(id: string, permissionFilterOption?: PermissionFilterOption): Flight.Request {\n return {\n key: `clip:${id}:${permissionFilterOption}:interactives`,\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: `${SharedWithStatements.CLIP},interactives{status:[0,1]}`,\n permissionFilterOption\n }),\n normalize: false\n };\n },\n\n publicClip(\n id: string,\n shareId?: string,\n success?: (clip: Clip) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n key: `clip:${id}:public:${shareId}`,\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n // Query statement here is coupled with ClickView.Lite.Common\\Services\\OpenGraph\\OpenGraphService.cs\n // in lite. If you update this, please update both.\n query: '_parentVideo,_canBeConsumed,_thumbnail',\n permissionFilterOption: PermissionFilterOption.StripMetadata,\n shareId\n }),\n bootstrapName: `shared:object:${id}`,\n success,\n error\n };\n },\n\n sharedClip(\n id: string,\n shareId: string,\n success?: (clip: Clip) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n key: `shared:clip:${id}`,\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n shareId,\n query: SharedWithStatements.CLIP\n }),\n success,\n error\n };\n },\n\n createClip(\n videoId: string,\n data: CreateOrUpdateClipRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n key: 'create:clip',\n url: `{gateway}/v1/objects/${videoId}/clips`,\n data,\n type: HttpVerbs.POST,\n invalidationKeys: [ `videos:${videoId}`, 'my:videos' ],\n success,\n error,\n always\n };\n },\n\n updateClip(\n id: string,\n data: CreateOrUpdateClipRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n key: 'update:clip',\n url: `{gateway}/v1/objects/${id}`,\n data,\n type: HttpVerbs.PUT,\n invalidationKeys: [`clip:${id}`],\n success,\n error,\n always\n };\n },\n\n deleteClip(\n id: string,\n videoId: string,\n success?: (data: any) => void,\n error?: (data: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n key: `delete:clip`,\n url: `{gateway}/v1/objects/${id}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [ `videos:${videoId}`, 'my:videos', 'videos' ],\n success,\n error,\n always\n };\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';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { CreateInteractiveMetadataRequest, CreateInteractiveRequest, EditInteractiveMetadataOriginRequest, EditInteractiveMetadataRequest, EditInteractiveRequest, Interaction, InteractiveMetadata } from 'libs/shared/interfaces';\n\nexport const InteractiveRequests = {\n interactiveMetadata(id: string, permissionFilterOption?: PermissionFilterOption): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.INTERACTIVE,\n permissionFilterOption\n }),\n key: `interactive:metadata:${id}:${permissionFilterOption}`\n };\n },\n\n videoInteractives(\n parentId: string,\n permissionFilterOption?: PermissionFilterOption,\n cursor?: string\n ): Flight.PublicRequest {\n return {\n key: `video:${parentId}:interactives:${permissionFilterOption}:${cursor}`,\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${parentId}/interactives`, {\n query: SharedWithStatements.INTERACTIVE_COLLECTION,\n cursor\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${parentId}/interactives`, {\n query: SharedWithStatements.INTERACTIVE_COLLECTION,\n cursor\n })\n };\n },\n\n sharedInteractiveMetadata(\n id: string,\n shareId: string,\n success?: (interactiveMetadata: InteractiveMetadata) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n shareId,\n query: SharedWithStatements.INTERACTIVE\n }),\n key: `shared:interactive:metadata:${id}`,\n success,\n error\n };\n },\n publicInteractiveMetadata(\n id: string,\n shareId?: string,\n success?: (interactive: InteractiveMetadata) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n // Query statement here is coupled with ClickView.Lite.Common\\Services\\OpenGraph\\OpenGraphService.cs\n // in lite. If you update this, please update both.\n query: '_parentVideo[_rating],_canBeConsumed,_thumbnail',\n permissionFilterOption: PermissionFilterOption.StripMetadata,\n shareId\n }),\n key: `interactive:metadata:${id}:public:${shareId}`,\n bootstrapName: `shared:object:${id}`,\n success,\n error\n };\n },\n interactive(id: string): Flight.Request {\n return {\n url: `/api/domain/v1/interactives/${id}`,\n key: `interactive:${id}`,\n normalize: false\n };\n },\n createInteractive(\n data: CreateInteractiveRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: '/api/domain/v1/interactives',\n key: 'create:interactive',\n type: HttpVerbs.POST,\n invalidationKeys: ['my:videos'],\n data,\n success,\n error\n };\n },\n createInteractiveMetadata(\n videoId: string,\n data: CreateInteractiveMetadataRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${videoId}/interactives`,\n key: 'create:interactive:metadata',\n type: HttpVerbs.POST,\n data,\n success,\n error\n };\n },\n updateInteractive(\n id: string,\n data: EditInteractiveRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `/api/domain/v1/interactives/${id}`,\n key: 'update:interactive',\n type: HttpVerbs.PUT,\n data,\n success,\n error,\n /* Update state because domain doesn't return the updated object */\n formatData: () => data,\n invalidationKeys: [`interactive:${id}`]\n };\n },\n updateInteractiveMetadata(\n id: string,\n data: EditInteractiveMetadataRequest | EditInteractiveMetadataOriginRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: 'update:interactive:metadata',\n type: HttpVerbs.PUT,\n data,\n success,\n error\n };\n },\n interactiveResultSet(interactiveId: string, interactiveMetadataId: string): Flight.Request {\n return {\n url: `/api/domain/v1/analytics/interactives/${interactiveId}/metadata/${interactiveMetadataId}`,\n key: `interactive:result:set:${interactiveId}:${interactiveMetadataId}`\n };\n },\n copyInteractive(\n interactiveId: string,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `/api/domain/v1/interactives/${interactiveId}/copy`,\n key: 'copy:interactive',\n type: HttpVerbs.POST,\n invalidationKeys: [ `interactive:${interactiveId}`, 'my:videos' ],\n success,\n error\n };\n },\n deleteInteractiveMetadata(\n interactiveMetadataId: string,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${interactiveMetadataId}`,\n key: 'delete:interactive',\n type: HttpVerbs.DELETE,\n invalidationKeys: [ `interactive:${interactiveMetadataId}`, 'my:videos', 'videos' ],\n success,\n error\n };\n },\n removeInteractiveMetadata({\n libraryId,\n categoryId,\n interactiveMetadataId\n }: {\n libraryId: string;\n categoryId: string;\n interactiveMetadataId: string;\n }): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/domain/v1/libraries/${libraryId}/videos`, { categoryId, videoIds: interactiveMetadataId }),\n key: `remove:interactive:metadata:${interactiveMetadataId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [ `interactive:${interactiveMetadataId}`, 'my:videos', 'videos' ]\n };\n },\n contributeToCommunity(interactiveMetadataId: string): Flight.Request {\n return {\n url: `/api/domain/v2/interactives/${interactiveMetadataId}/contribute`,\n key: 'contribute:interactive',\n type: HttpVerbs.POST\n };\n },\n revokefromCommunity(interactiveMetadataId: string): Flight.Request {\n return {\n url: `/api/domain/v2/interactives/${interactiveMetadataId}/contribute`,\n key: 'contribute:interactive',\n type: HttpVerbs.DELETE\n };\n },\n isContributed(interactiveMetadataId: string): Flight.Request {\n return {\n url: `/api/domain/v2/interactives/${interactiveMetadataId}/contributed`,\n key: `iscontributed:${interactiveMetadataId}`,\n normalize: false\n };\n },\n updateInteraction(interaction: Interaction) {\n return {\n url: `/api/domain/v1/interactions/bulk/${interaction.id}`,\n key: 'contribute:interactive',\n data: interaction,\n type: HttpVerbs.PUT,\n invalidationKeys: [`interactive:${interaction.interactiveId}`]\n };\n }\n};\n","import { DevError } from 'libs/common/backbone/errors/DevError';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { EntityType } from 'libs/analytics/interfaces';\n\nimport { ContentLicenseType } from 'libs/shared/enums/ContentLicenceType';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { RestrictionType } from 'libs/shared/enums/RestrictionType';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { BaseObject, CanBeConsumedReason, Clip, InteractiveMetadata, Rating, Thumbnail, Video, VideoTypes } from 'libs/shared/interfaces';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\n\nimport { PermissionName } from '../enums/PermissionName';\nimport { HasPermissionsFunc } from '../hooks/usePermissions';\n\nconst namespace = 'shared.shared-utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const VideoHelper = {\n isVideo(obj: BaseObject): obj is Video {\n return obj?.typeId === MasterType.Video;\n },\n\n isClip(obj: BaseObject): obj is Clip {\n return obj?.typeId === MasterType.Clip;\n },\n\n isInteractive(obj: BaseObject): obj is InteractiveMetadata {\n return obj?.typeId === MasterType.Interactive;\n },\n\n isVideoTypeArchived(obj: VideoTypes): boolean {\n return obj?.status === CurationStatus.Archived;\n },\n\n /**\n * Returns true of the object is a video, clip or interactive\n */\n isVideoType(object: BaseObject): object is Video | Clip | InteractiveMetadata {\n return VideoHelper.isVideo(object) || VideoHelper.isInteractive(object) || VideoHelper.isClip(object);\n },\n\n hasSeries(video: Video): boolean {\n return !!video?.series?.id;\n },\n\n showVideoGuidance(hasPermissions: HasPermissionsFunc): boolean {\n return !hasPermissions(PermissionName.StudentExperience);\n },\n\n showInteractivesGuidance(video: VideoTypes): boolean {\n if (!video || VideoHelper.isInteractive(video))\n return false;\n\n const interactiveCount = video.interactives?.data?.length || 0;\n\n return !!interactiveCount;\n },\n\n showResourcesGuidance(video: VideoTypes): boolean {\n if (!video || VideoHelper.isInteractive(video))\n return false;\n\n const resourceCount = (\n (video.resources?.data?.length || 0) +\n (video.links?.data?.length || 0)\n );\n\n return !!resourceCount;\n },\n\n canViewCurriculumLinks(hasPermissions: HasPermissionsFunc, video: VideoTypes): boolean {\n const canView = (\n hasPermissions(PermissionName.ViewCurriculums) &&\n hasPermissions(PermissionName.ManagePresentations)\n );\n\n if (!canView)\n return false;\n \n if (!video || !VideoHelper.isVideo(video))\n return false;\n\n return !!video._hasCurriculumLinks?.value;\n },\n\n getVideoProgress(video: Video): number {\n if (video?.lastProgressPoint)\n return video?.lastProgressPoint;\n\n // Use virtual assoc\n if (video?._videoProgress?.progress)\n return video?._videoProgress?.progress;\n\n return 0;\n },\n\n getThumbnail(video: VideoTypes): Thumbnail {\n if (!video)\n return null;\n\n if (VideoHelper.isVideo(video))\n return video.thumbnail;\n\n if (video?._thumbnail)\n return video._thumbnail;\n\n // Fallbacks for virtual assoc if needed\n if (VideoHelper.isClip(video))\n return video.thumbnail || video._parentVideo?.thumbnail;\n\n if (VideoHelper.isInteractive(video))\n return video._parentVideo?.thumbnail || video._parentClip?.thumbnail;\n },\n\n getDuration(video: VideoTypes): number {\n if (!video)\n return;\n\n if (VideoHelper.isVideo(video))\n return video.duration;\n\n if (VideoHelper.isInteractive(video)) {\n if (video._parentClip?.id)\n return (video._parentClip.endTime - video._parentClip.startTime) * 1000;\n\n if (video._parentVideo?.duration)\n return video._parentVideo.duration;\n }\n\n if (VideoHelper.isClip(video))\n return (video.endTime - video.startTime) * 1000;\n },\n\n getAnalyticsEntity(video: VideoTypes): EntityType {\n if (VideoHelper.isVideo(video))\n return EntityType.Video;\n\n if (VideoHelper.isInteractive(video))\n return EntityType.Interactive;\n\n if (VideoHelper.isClip(video))\n return EntityType.Clip;\n },\n\n getAnalyticsData(\n video: VideoTypes,\n extraAnalyticsData: HashObject = {}\n ): HashObject {\n if (VideoHelper.isVideo(video)) {\n return {\n ...(extraAnalyticsData || {}),\n id: video.id,\n name: video.name\n };\n }\n\n if (VideoHelper.isClip(video)) {\n const data: HashObject = {\n ...(extraAnalyticsData || {}),\n id: video.id,\n name: video.name\n };\n\n if (video._parentVideo?.id)\n data.video = { id: video._parentVideo?.id, name: video._parentVideo.name };\n\n return data;\n }\n\n const data: HashObject = {\n ...extraAnalyticsData,\n id: video.id,\n interactiveId: video.interactiveId,\n name: video.name,\n status: video.status,\n originType: video.originType\n };\n\n if (video?._parentClip?.id)\n data.clip = { id: video?._parentClip?.id, name: video?._parentClip.name };\n\n if (video?._parentVideo?.id)\n data.video = { id: video?._parentVideo?.id, name: video?._parentVideo.name };\n \n return data;\n },\n\n getCanBeConsumed(video: BaseObject): {\n canNavigate: boolean,\n canConsume: boolean,\n reason?: CanBeConsumedReason\n } {\n if (!video || !VideoHelper.isVideoType(video)) {\n return {\n canNavigate: false,\n canConsume: false\n };\n }\n\n if (video._canBeConsumed) {\n return {\n /**\n * Product navigation is enabled for \"login-required\" reason to support public access. \n * The video itself cannot be consumed, however, clients can allow users to browse the platform.\n * \n * Note: canNavigate is initially available for just videos. Interactives and Clips will be supported in Y2.\n */\n canNavigate: (video._canBeConsumed?.reason === 'login-required' && VideoHelper.isVideo(video)) || video._canBeConsumed.value === true,\n canConsume: video._canBeConsumed.value,\n reason: video._canBeConsumed?.reason\n };\n }\n\n /**\n * Many of the components shared between online and lite read this value.\n * Online doesn't fetch or care about this value, which means by this point it should\n * still be null. In this case, we just set it to true so that the components can render\n * as normal.\n */\n return {\n canNavigate: true,\n canConsume: true\n };\n },\n\n getPrivacyReasoning(video: VideoTypes, showSignIn: boolean = false): string {\n const { canConsume, canNavigate, reason } = VideoHelper.getCanBeConsumed(video);\n\n const getNoLongerAvailableText = () => {\n if (VideoHelper.isClip(video))\n return getPhrase('clipParentDeleted');\n\n if (VideoHelper.isInteractive(video))\n return getPhrase('interactiveParentDeleted');\n\n return getPhrase('videoDeleted');\n };\n\n const getLoginRequiredText = () => {\n if (VideoHelper.isClip(video))\n return getPhrase('clipLoginRequired');\n\n if (VideoHelper.isInteractive(video))\n return getPhrase('interactiveLoginRequired');\n\n return getPhrase('videoLoginRequired');\n };\n\n if (!canConsume && !canNavigate) {\n if (showSignIn)\n return getLoginRequiredText();\n\n switch (reason) {\n case 'rating-not-allowed': {\n return getPhrase('ratingNotAllowed');\n }\n\n case 'video-deleted': {\n return getNoLongerAvailableText();\n }\n\n case 'clickview-private': {\n return getPhrase('clickViewPrivate');\n }\n\n case 'private': {\n return getPhrase('genericCannotAccess');\n }\n\n case 'login-required': {\n return getLoginRequiredText();\n }\n\n case 'restricted-access': {\n const restriction = RestrictionHelper.getWeightedRestriction(video._restrictions?.value);\n\n if (restriction?.type === RestrictionType.Custom)\n return getPhrase('awaitingApproval');\n\n return getPhrase('restrictedAccess');\n }\n\n default: {\n return getPhrase('genericCannotAccess');\n }\n }\n }\n\n if (VideoHelper.isInteractive(video) && video.status === CurationStatus.Draft)\n return getPhrase('draftInteractive');\n\n return '';\n },\n\n getTitle(video: VideoTypes): string {\n if (video.name) {\n if (VideoHelper.isInteractive(video) && video.status === CurationStatus.Draft) {\n return getPhrase('draftInteractiveTitle', { name: video.name });\n }\n\n return video.name;\n }\n\n const { canConsume, reason } = VideoHelper.getCanBeConsumed(video);\n\n if (!canConsume && reason === 'private')\n return getPhrase('privateVideo');\n\n if (!canConsume && reason === 'video-deleted')\n return getPhrase('videoUnavailable');\n\n return getPhrase('privateVideo');\n },\n\n getParentVideo(video: VideoTypes): Video | null {\n if (VideoHelper.isVideo(video))\n return video;\n\n if (VideoHelper.isClip(video) || VideoHelper.isInteractive(video))\n return video._parentVideo;\n },\n\n getRating(video: VideoTypes): Rating | null {\n if (VideoHelper.isVideo(video))\n return video._rating?.value || video.rating;\n\n return video?._parentVideo?._rating?.value;\n },\n\n getVideoRequest(\n objectId: string,\n objectTypeId: MasterType,\n shareId?: string\n ): Flight.Request {\n if (shareId) {\n switch (objectTypeId) {\n case MasterType.Video:\n return VideoRequests.sharedVideo(objectId, shareId);\n case MasterType.Clip:\n return ClipRequests.sharedClip(objectId, shareId);\n case MasterType.Interactive:\n return InteractiveRequests.sharedInteractiveMetadata(objectId, shareId);\n }\n\n Core.ErrorHelper.throw(new DevError('Unsupported master type'));\n }\n\n switch (objectTypeId) {\n case MasterType.Video:\n return VideoRequests.video(objectId);\n case MasterType.Clip:\n return ClipRequests.clip(objectId);\n case MasterType.Interactive:\n return InteractiveRequests.interactiveMetadata(objectId);\n }\n\n Core.ErrorHelper.throw(new DevError('Unsupported master type'));\n },\n\n isBroadcast(video: Video): boolean {\n return !!video?.contentLicences?.data?.some(l =>\n l.systemName === ContentLicenseType.Era ||\n l.systemName === ContentLicenseType.Screenrights);\n },\n\n isUgc(video: Video): boolean {\n // if video isn't broadcast and isn't curated by the ClickView team, chances are it's UGC\n return !VideoHelper.isBroadcast(video) && !video?._isClickViewCurated?.value;\n },\n\n getReleaseDate(video: Video): string {\n if (!video)\n return '';\n\n if (video.dateReleased && VideoHelper.isBroadcast(video))\n return DateHelper.format(video.dateReleased, 'DD/MM/YYYY');\n\n return '';\n },\n\n canViewOriginalVideo(video: Clip | InteractiveMetadata): boolean {\n return !!video?._parentVideo?._canBeConsumed?.value;\n },\n\n getTrackingCode(video: VideoTypes): string | undefined {\n if (VideoHelper.isVideo(video))\n return video.trackingCode;\n\n if (VideoHelper.isClip(video) || VideoHelper.isInteractive(video))\n return video._parentVideo.trackingCode;\n },\n\n isInExchange(video: Video): boolean {\n return !!video?.libraries?.data?.some(l => l.typeId === MasterType.ExchangeCollection);\n },\n\n canViewUploadDate(video: Video): boolean {\n if (!video || !video.dateCreated)\n return false;\n\n if (!video._isClickViewCurated || video._isClickViewCurated.value)\n return false;\n\n return true;\n }\n};\n"],"names":["ContentLicenseType","ClipRequests","id","permissionFilterOption","UrlHelper","SharedWithStatements","parentId","cursor","shareId","success","error","PermissionFilterOption","videoId","data","always","HttpVerbs","InteractiveRequests","interactiveId","interactiveMetadataId","libraryId","categoryId","interaction","namespace","getPhrase","LanguageService","VideoHelper","obj","MasterType","CurationStatus","object","video","_a","hasPermissions","PermissionName","_b","_d","_c","EntityType","extraAnalyticsData","_e","_f","showSignIn","canConsume","canNavigate","reason","getNoLongerAvailableText","getLoginRequiredText","restriction","RestrictionHelper","RestrictionType","objectId","objectTypeId","VideoRequests","Core.ErrorHelper","DevError","l","DateHelper"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a3 as b,a5 as O,aD as D,U as k,M as l,L as R,aH as T,aj as M,n as x,o as H,ad as U,ac as m,aI as P,ae as C,af as S,aJ as v,aK as q,a as w,b as E}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{a3 as b,a5 as O,aD as D,U as k,M as l,L as R,aH as T,aj as M,n as x,o as H,ad as U,ac as m,aI as P,ae as C,af as S,aJ as v,aK as q,a as w,b as E}from"./app-DIXL6Xww.js";import{L as _}from"./CqC__fxH.chunk.js";import{V as $}from"./CtxDEXnF.chunk.js";import{A as F}from"./C_4wt9AF.chunk.js";var L=(e=>(e.Developer="Curator Devs",e.Content="Content",e.Curator="Curators",e.Support="Support",e.SalesSupport="Sales Support",e.GraphicDesigner="Graphic Designers",e.MetadataEditor="Metadata Editors",e.ResourcingManager="Resourcing Managers",e.SeniorContentManager="Senior Content Manager",e.Marketing="Marketing",e.Sales="Sales Representatives",e.StreamableCurator="Streamable Curator",e.SupportExtraPermission="Support - Extra Permissions",e.SeoManager="SEO Manager",e.ContentReviewer="Content Reviewer",e))(L||{});const W="shared.hooks",X=R.encloseNamespace(W);function j(e,r,n,p){const s=k.safeUrlConcat(e,"manage"),i=k.safeUrlConcat(e,"exchange"),a=(o,c,f)=>k.safeUrlConcat(o,`${c}/${f}`);switch(r){case l.Subject:return k.safeUrlConcat(s,`subjects/presentations/${p}/classifications/${n}/edit`);case l.Video:return a(s,"videos",n);case l.Playlist:return a(s,"playlists",n);case l.Series:return a(s,"series",n);case l.Company:return a(s,"companies",n);case l.Interactive:return a(s,"interactives",n);case l.Clip:return a(s,"clips",n);case l.Category:return a(i,"categories",n)}}function B(){return X("openInCurationStudio")}function z(){var i,a;const e=b(O.currentUser()),{data:r}=b(((i=e.data)==null?void 0:i.id)&&O.groups((a=e.data)==null?void 0:a.id)),n=b(D.config()),p=[L.Curator,L.Content,L.Developer];function s(){return p.some(o=>r==null?void 0:r.data.find(c=>c.name===o))}return{openInCurationStudioLabel:B(),isUserCurator:s(),getOpenInCurationStudioLink:(o,c,f)=>{var t;return j((t=n.data)==null?void 0:t.curatorUrl,o,c,f)}}}var N=(e=>(e[e.PlayPage=0]="PlayPage",e))(N||{});function J(e){const r=T(),n=M();function p(a){return e.type!==0?null:$.getVideoRequest(a.id,a.typeId,e.shareId)}function s(a){const o=p(a);r(o.key).shouldFetch&&n(o)}function i(a){const o=p(a);return r(o.key).hasCompleted}return{hydrate:s,isHydrated:i}}const K="exchange.exchangeHooks",d=R.encloseNamespace(K),Y={lazyPlaceholder:!0};function ae(e){const{hasPermissions:r}=x(),{isUserCurator:n,openInCurationStudioLabel:p,getOpenInCurationStudioLink:s}=z(),i=b(D.config()),a=b(r(H.ContributeVideo)&&_.libraryRequestLibraries()),{hydrate:o,isHydrated:c}=J({type:N.PlayPage});function f(t){var I,V,A;const u=e==="preview",h={id:t.id,name:t.name},g=u?U.VideoItemPreview:U.VideoListItem,y=[{order:10,label:u?d("openInClickView"):"",svg:q,tooltip:u?"":d("openInClickView"),className:u?"btn btn-dark me-2":"",button:!0,href:i.data&&v.safeUrlConcat(i.data.liteUrl,`/videos/${t.id}`),analyticsData:h,analyticsOptions:{actionType:S.Click,entity:C.Video,descriptor:P.OpenInClickView,location:g,workflowPhase:m.Start}},{order:20,label:u?d("addVideo"):null,svg:u?void 0:F,tooltip:u?"":d("addVideo"),button:!u,appLink:{application:E.EXCHANGE,action:w.Exchange.ADD,args:[t.id]},analyticsData:h,analyticsOptions:{actionType:S.Click,entity:C.Video,descriptor:P.AddToWorkspace,location:g,workflowPhase:m.Start}},{order:30,label:d("suggest"),className:"",appLink:{application:E.EXCHANGE,action:w.Exchange.SUGGEST_EDIT,args:[t.id],params:{location:g}},analyticsData:h,analyticsOptions:{actionType:S.Click,entity:C.Video,descriptor:P.SuggestEdit,location:g,workflowPhase:m.Start}}];return c(t)?((I=t._canAddToLibrary)!=null&&I.customLibrary&&((V=a.data)!=null&&V.length)&&y.push({order:25,label:d("addToLibrary"),className:"",appLink:{application:E.EXCHANGE,action:w.Exchange.ADD_TO_LIBRARY,args:[t.id]},analyticsData:h,analyticsOptions:{actionType:S.Create,entity:C.LibraryRequest,workflowPhase:m.Start,location:g}}),(A=t._canDownload)!=null&&A.value&&y.push({order:40,label:d("download"),className:"",appLink:{application:E.EXCHANGE,action:w.Exchange.DOWNLOAD_VIDEO,args:[t.id]},analyticsData:h,analyticsOptions:{actionType:S.Download,entity:C.Video,workflowPhase:m.Start,location:g}}),n&&y.push({order:50,label:p,openInNewTab:!0,href:s(l.Video,t.id)}),y):[...y,Y]}return{getVideoActions:f,fetchMoreActions:t=>o(t)}}export{ae as a,z as u};
|
|
2
|
+
//# sourceMappingURL=CvWjVTu3.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BOA4xw3e.chunk.js","sources":["../../../../libs/shared/src/enums/CuratorGroup.ts","../../../../libs/shared/src/hooks/useCurationStudio.ts","../../../../libs/shared/src/hooks/useVideohydration.ts","../../src/apps/exchange/hooks/useGetExchangeActions.ts"],"sourcesContent":["/**\n * The values in this enum directly\n * map to the group names in Master.\n */\nexport enum CuratorGroup {\n Developer = 'Curator Devs',\n Content = 'Content',\n Curator = 'Curators',\n Support = 'Support',\n SalesSupport = 'Sales Support',\n GraphicDesigner = 'Graphic Designers',\n MetadataEditor = 'Metadata Editors',\n ResourcingManager = 'Resourcing Managers',\n SeniorContentManager = 'Senior Content Manager',\n Marketing = 'Marketing',\n Sales = 'Sales Representatives',\n StreamableCurator = 'Streamable Curator',\n SupportExtraPermission = 'Support - Extra Permissions',\n SeoManager = 'SEO Manager',\n ContentReviewer = 'Content Reviewer'\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/react/index';\n\nimport { CuratorGroup } from 'libs/shared/enums/CuratorGroup';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { Config, CuratorUserGroupCollection, CurrentUser } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.hooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function getOpenInCurationStudioLink(\n baseUrl: string,\n objectType: MasterType | string,\n id: string,\n presentationId?: string\n) {\n const baseManageUrl = UrlHelper.safeUrlConcat(baseUrl, 'manage');\n const baseExchangeUrl = UrlHelper.safeUrlConcat(baseUrl, 'exchange');\n const href = (baseUrl: string, objectType: string, id: string) => UrlHelper.safeUrlConcat(baseUrl, `${objectType}/${id}`);\n\n switch (objectType) {\n case MasterType.Subject:\n return UrlHelper.safeUrlConcat(baseManageUrl, `subjects/presentations/${presentationId}/classifications/${id}/edit`);\n case MasterType.Video:\n return href(baseManageUrl, 'videos', id);\n case MasterType.Playlist:\n return href(baseManageUrl, 'playlists', id);\n case MasterType.Series:\n return href(baseManageUrl, 'series', id);\n case MasterType.Company:\n return href(baseManageUrl, 'companies', id);\n case MasterType.Interactive:\n return href(baseManageUrl, 'interactives', id);\n case MasterType.Clip:\n return href(baseManageUrl, 'clips', id);\n case MasterType.Category:\n return href(baseExchangeUrl, 'categories', id);\n }\n}\n\nexport function getOpenInCurationStudioLabel(): string {\n return getPhrase('openInCurationStudio');\n}\n\nexport function useCurationStudio() {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const { data: userGroups } = Flight.useBasicFetch<CuratorUserGroupCollection>(\n (currentUser.data?.id) && UserRequests.groups(currentUser.data?.id)\n );\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n \n const curatorGroups = [ CuratorGroup.Curator, CuratorGroup.Content, CuratorGroup.Developer ];\n\n function isUserCurator(): boolean {\n return curatorGroups.some(group => userGroups?.data.find(userGroup => userGroup.name === group));\n }\n\n return {\n openInCurationStudioLabel: getOpenInCurationStudioLabel(),\n isUserCurator: isUserCurator(),\n getOpenInCurationStudioLink: (objectType: MasterType | string, id: string, presentationId?: string) =>\n getOpenInCurationStudioLink(config.data?.curatorUrl, objectType, id, presentationId)\n };\n}\n","import { Flight } from 'libs/common/react/index';\n\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nexport enum VideoHydrationType {\n PlayPage\n}\n\ninterface UseVideoHydrationOptions {\n type: VideoHydrationType;\n shareId?: string;\n}\n\nexport function useVideoHydration(options: UseVideoHydrationOptions) {\n const getResponse = Flight.useGetResponseFunc();\n const fetch = Flight.useGetFetch();\n \n function getRequest(video: VideoTypes): Flight.Request {\n if (options.type !== VideoHydrationType.PlayPage)\n return null;\n\n\n return VideoHelper.getVideoRequest(video.id, video.typeId, options.shareId);\n }\n \n function hydrate(video: VideoTypes): void {\n const request = getRequest(video);\n const resp = getResponse(request.key);\n\n resp.shouldFetch && fetch(request);\n }\n\n function isHydrated(video: VideoTypes): boolean {\n const request = getRequest(video);\n const resp = getResponse(request.key);\n\n return resp.hasCompleted;\n }\n\n return { hydrate, isHydrated };\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor, WorkflowPhase } from 'libs/analytics/interfaces';\nimport { UrlHelper } from 'libs/analytics/utils/UrlHelper';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useVideoHydration, VideoHydrationType } from 'libs/shared/hooks/useVideohydration';\nimport { AddVideoSvg } from 'libs/shared/images/svg/actions/AddVideoSvg';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\nimport { Config, Library, Video, VideoTypes } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nconst namespace = 'exchange.exchangeHooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype Location = 'preview' | 'video-list';\n\nconst FETCH_MORE_ACTION_OPTION: ActionOptions = {\n lazyPlaceholder: true\n};\n\nexport function useGetExchangeActions(location: Location) {\n const { hasPermissions } = usePermissions();\n\n const { isUserCurator, openInCurationStudioLabel, getOpenInCurationStudioLink } = useCurationStudio();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const requestLibraries = Flight.useBasicFetch<Library[]>(\n hasPermissions(PermissionName.ContributeVideo) &&\n LibraryRequests.libraryRequestLibraries()\n );\n\n const { hydrate, isHydrated } = useVideoHydration({\n type: VideoHydrationType.PlayPage\n });\n \n function getVideoActions(video: Video): ActionOptions[] {\n const isPreview = location === 'preview';\n const analyticsData = { id: video.id, name: video.name };\n const locationContext = isPreview ? LocationContext.VideoItemPreview : LocationContext.VideoListItem;\n\n const actions: ActionOptions[] = [{\n order: 10,\n label: isPreview ? getPhrase('openInClickView') : '',\n svg: NewWindowSvg,\n tooltip: isPreview ? '' : getPhrase('openInClickView'),\n className: isPreview ? 'btn btn-dark me-2' : '',\n button: true,\n href: config.data && UrlHelper.safeUrlConcat(config.data.liteUrl, `/videos/${video.id}`),\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.OpenInClickView,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }, {\n order: 20,\n label: isPreview ? getPhrase('addVideo') : null,\n svg: !isPreview ? AddVideoSvg : undefined,\n tooltip: isPreview ? '' : getPhrase('addVideo'),\n button: !isPreview,\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.ADD,\n args: [video.id]\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.AddToWorkspace,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }, {\n order: 30,\n label: getPhrase('suggest'),\n className: '',\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.SUGGEST_EDIT,\n args: [video.id],\n params: { location: locationContext }\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.SuggestEdit,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }];\n\n if (!isHydrated(video)) {\n return [ ...actions, FETCH_MORE_ACTION_OPTION ];\n }\n\n if (video._canAddToLibrary?.customLibrary && requestLibraries.data?.length) {\n actions.push({\n order: 25,\n label: getPhrase('addToLibrary'),\n className: '',\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.ADD_TO_LIBRARY,\n args: [video.id]\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Create,\n entity: EntityType.LibraryRequest,\n workflowPhase: WorkflowPhase.Start,\n location: locationContext\n }\n });\n }\n\n if (video._canDownload?.value) {\n actions.push({\n order: 40,\n label: getPhrase('download'),\n className: '',\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.DOWNLOAD_VIDEO,\n args: [video.id]\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Download,\n entity: EntityType.Video,\n workflowPhase: WorkflowPhase.Start,\n location: locationContext\n }\n });\n }\n\n if (isUserCurator) {\n actions.push({\n order: 50,\n label: openInCurationStudioLabel,\n openInNewTab: true,\n href: getOpenInCurationStudioLink(MasterType.Video, video.id)\n });\n }\n\n return actions;\n }\n\n return {\n getVideoActions,\n fetchMoreActions: (video: VideoTypes) => hydrate(video)\n };\n}"],"names":["CuratorGroup","namespace","getPhrase","LanguageService","getOpenInCurationStudioLink","baseUrl","objectType","id","presentationId","baseManageUrl","UrlHelper","baseExchangeUrl","href","MasterType","getOpenInCurationStudioLabel","useCurationStudio","currentUser","Flight.useBasicFetch","UserRequests","userGroups","_a","_b","config","ConfigRequests","curatorGroups","isUserCurator","group","userGroup","VideoHydrationType","useVideoHydration","options","getResponse","Flight.useGetResponseFunc","fetch","Flight.useGetFetch","getRequest","video","VideoHelper","hydrate","request","isHydrated","FETCH_MORE_ACTION_OPTION","useGetExchangeActions","location","hasPermissions","usePermissions","openInCurationStudioLabel","requestLibraries","PermissionName","LibraryRequests","getVideoActions","isPreview","analyticsData","locationContext","LocationContext","actions","NewWindowSvg","UserAction","EntityType","VideoActionDescriptor","WorkflowPhase","AddVideoSvg","AppChannels","Actions","_c"],"mappings":"wSAIO,IAAKA,GAAAA,IACVA,EAAA,UAAY,eACZA,EAAA,QAAU,UACVA,EAAA,QAAU,WACVA,EAAA,QAAU,UACVA,EAAA,aAAe,gBACfA,EAAA,gBAAkB,oBAClBA,EAAA,eAAiB,mBACjBA,EAAA,kBAAoB,sBACpBA,EAAA,qBAAuB,yBACvBA,EAAA,UAAY,YACZA,EAAA,MAAQ,wBACRA,EAAA,kBAAoB,qBACpBA,EAAA,uBAAyB,8BACzBA,EAAA,WAAa,cACbA,EAAA,gBAAkB,mBAfRA,IAAAA,GAAA,CAAA,CAAA,ECMZ,MAAMC,EAAY,eACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,EACdC,EACAC,EACAC,EACAC,EACA,CACA,MAAMC,EAAgBC,EAAU,cAAcL,EAAS,QAAQ,EACzDM,EAAkBD,EAAU,cAAcL,EAAS,UAAU,EAC7DO,EAAO,CAACP,EAAiBC,EAAoBC,IAAeG,EAAU,cAAcL,EAAS,GAAGC,CAAU,IAAIC,CAAE,EAAE,EAExH,OAAQD,EAAA,CACN,KAAKO,EAAW,QACd,OAAOH,EAAU,cAAcD,EAAe,0BAA0BD,CAAc,oBAAoBD,CAAE,OAAO,EACrH,KAAKM,EAAW,MACd,OAAOD,EAAKH,EAAe,SAAUF,CAAE,EACzC,KAAKM,EAAW,SACd,OAAOD,EAAKH,EAAe,YAAaF,CAAE,EAC5C,KAAKM,EAAW,OACd,OAAOD,EAAKH,EAAe,SAAUF,CAAE,EACzC,KAAKM,EAAW,QACd,OAAOD,EAAKH,EAAe,YAAaF,CAAE,EAC5C,KAAKM,EAAW,YACd,OAAOD,EAAKH,EAAe,eAAgBF,CAAE,EAC/C,KAAKM,EAAW,KACd,OAAOD,EAAKH,EAAe,QAASF,CAAE,EACxC,KAAKM,EAAW,SACd,OAAOD,EAAKD,EAAiB,aAAcJ,CAAE,CAAA,CAEnD,CAEO,SAASO,GAAuC,CACrD,OAAOZ,EAAU,sBAAsB,CACzC,CAEO,SAASa,GAAoB,SAClC,MAAMC,EAAcC,EAAkCC,EAAa,aAAa,EAC1E,CAAE,KAAMC,CAAA,EAAeF,IAC1BG,EAAAJ,EAAY,OAAZ,YAAAI,EAAkB,KAAOF,EAAa,QAAOG,EAAAL,EAAY,OAAZ,YAAAK,EAAkB,EAAE,CAAA,EAE9DC,EAASL,EAA6BM,EAAe,QAAQ,EAE7DC,EAAgB,CAAExB,EAAa,QAASA,EAAa,QAASA,EAAa,SAAU,EAE3F,SAASyB,GAAyB,CAChC,OAAOD,EAAc,KAAKE,GAASP,GAAA,YAAAA,EAAY,KAAK,KAAKQ,GAAaA,EAAU,OAASD,EAAM,CACjG,CAEA,MAAO,CACL,0BAA2BZ,EAAA,EAC3B,cAAeW,EAAA,EACf,4BAA6B,CAACnB,EAAiCC,EAAYC,IAAA,OACzE,OAAAJ,GAA4BgB,EAAAE,EAAO,OAAP,YAAAF,EAAa,WAAYd,EAAYC,EAAIC,CAAc,EAAA,CAEzF,CC7DO,IAAKoB,GAAAA,IACVA,EAAAA,EAAA,SAAA,CAAA,EAAA,WADUA,IAAAA,GAAA,CAAA,CAAA,EASL,SAASC,EAAkBC,EAAmC,CACnE,MAAMC,EAAcC,EAAO,EACrBC,EAAQC,EAAO,EAErB,SAASC,EAAWC,EAAmC,CACrD,OAAIN,EAAQ,OAAS,EACZ,KAGFO,EAAY,gBAAgBD,EAAM,GAAIA,EAAM,OAAQN,EAAQ,OAAO,CAC5E,CAEA,SAASQ,EAAQF,EAAyB,CACxC,MAAMG,EAAUJ,EAAWC,CAAK,EACnBL,EAAYQ,EAAQ,GAAG,EAE/B,aAAeN,EAAMM,CAAO,CACnC,CAEA,SAASC,EAAWJ,EAA4B,CAC9C,MAAMG,EAAUJ,EAAWC,CAAK,EAGhC,OAFaL,EAAYQ,EAAQ,GAAG,EAExB,YACd,CAEA,MAAO,CAAE,QAAAD,EAAS,WAAAE,CAAA,CACpB,CCpBA,MAAMvC,EAAY,yBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAItDwC,EAA0C,CAC9C,gBAAiB,EACnB,EAEO,SAASC,GAAsBC,EAAoB,CACxD,KAAM,CAAE,eAAAC,CAAA,EAAmBC,EAAA,EAErB,CAAE,cAAApB,EAAe,0BAAAqB,EAA2B,4BAAA1C,CAAA,EAAgCW,EAAA,EAC5EO,EAASL,EAA6BM,EAAe,QAAQ,EAE7DwB,EAAmB9B,EACvB2B,EAAeI,EAAe,eAAe,GAC7CC,EAAgB,wBAAA,CAAwB,EAGpC,CAAE,QAAAX,EAAS,WAAAE,CAAA,EAAeX,EAAkB,CAChD,KAAMD,EAAmB,QAAA,CAC1B,EAED,SAASsB,EAAgBd,EAA+B,WACtD,MAAMe,EAAYR,IAAa,UACzBS,EAAgB,CAAE,GAAIhB,EAAM,GAAI,KAAMA,EAAM,IAAA,EAC5CiB,EAAkBF,EAAYG,EAAgB,iBAAmBA,EAAgB,cAEjFC,EAA2B,CAAC,CAChC,MAAO,GACP,MAAOJ,EAAYjD,EAAU,iBAAiB,EAAI,GAClD,IAAKsD,EACL,QAASL,EAAY,GAAKjD,EAAU,iBAAiB,EACrD,UAAWiD,EAAY,oBAAsB,GAC7C,OAAQ,GACR,KAAM7B,EAAO,MAAQZ,EAAU,cAAcY,EAAO,KAAK,QAAS,WAAWc,EAAM,EAAE,EAAE,EACvF,cAAAgB,EACA,iBAAkB,CAChB,WAAYK,EAAW,MACvB,OAAQC,EAAW,MACnB,WAAYC,EAAsB,gBAClC,SAAUN,EACV,cAAeO,EAAc,KAAA,CAC/B,EACC,CACD,MAAO,GACP,MAAOT,EAAYjD,EAAU,UAAU,EAAI,KAC3C,IAAMiD,EAA0B,OAAdU,EAClB,QAASV,EAAY,GAAKjD,EAAU,UAAU,EAC9C,OAAQ,CAACiD,EACT,QAAS,CACP,YAAaW,EAAY,SACzB,OAAQC,EAAQ,SAAS,IACzB,KAAM,CAAC3B,EAAM,EAAE,CAAA,EAEjB,cAAAgB,EACA,iBAAkB,CAChB,WAAYK,EAAW,MACvB,OAAQC,EAAW,MACnB,WAAYC,EAAsB,eAClC,SAAUN,EACV,cAAeO,EAAc,KAAA,CAC/B,EACC,CACD,MAAO,GACP,MAAO1D,EAAU,SAAS,EAC1B,UAAW,GACX,QAAS,CACP,YAAa4D,EAAY,SACzB,OAAQC,EAAQ,SAAS,aACzB,KAAM,CAAC3B,EAAM,EAAE,EACf,OAAQ,CAAE,SAAUiB,CAAA,CAAgB,EAEtC,cAAAD,EACA,iBAAkB,CAChB,WAAYK,EAAW,MACvB,OAAQC,EAAW,MACnB,WAAYC,EAAsB,YAClC,SAAUN,EACV,cAAeO,EAAc,KAAA,CAC/B,CACD,EAED,OAAKpB,EAAWJ,CAAK,IAIjBhB,EAAAgB,EAAM,mBAAN,MAAAhB,EAAwB,iBAAiBC,EAAA0B,EAAiB,OAAjB,MAAA1B,EAAuB,SAClEkC,EAAQ,KAAK,CACX,MAAO,GACP,MAAOrD,EAAU,cAAc,EAC/B,UAAW,GACX,QAAS,CACP,YAAa4D,EAAY,SACzB,OAAQC,EAAQ,SAAS,eACzB,KAAM,CAAC3B,EAAM,EAAE,CAAA,EAEjB,cAAAgB,EACA,iBAAkB,CAChB,WAAYK,EAAW,OACvB,OAAQC,EAAW,eACnB,cAAeE,EAAc,MAC7B,SAAUP,CAAA,CACZ,CACD,GAGCW,EAAA5B,EAAM,eAAN,MAAA4B,EAAoB,OACtBT,EAAQ,KAAK,CACX,MAAO,GACP,MAAOrD,EAAU,UAAU,EAC3B,UAAW,GACX,QAAS,CACP,YAAa4D,EAAY,SACzB,OAAQC,EAAQ,SAAS,eACzB,KAAM,CAAC3B,EAAM,EAAE,CAAA,EAEjB,cAAAgB,EACA,iBAAkB,CAChB,WAAYK,EAAW,SACvB,OAAQC,EAAW,MACnB,cAAeE,EAAc,MAC7B,SAAUP,CAAA,CACZ,CACD,EAGC5B,GACF8B,EAAQ,KAAK,CACX,MAAO,GACP,MAAOT,EACP,aAAc,GACd,KAAM1C,EAA4BS,EAAW,MAAOuB,EAAM,EAAE,CAAA,CAC7D,EAGImB,GApDE,CAAE,GAAGA,EAASd,CAAyB,CAqDlD,CAEA,MAAO,CACL,gBAAAS,EACA,iBAAmBd,GAAsBE,EAAQF,CAAK,CAAA,CAE1D"}
|
|
1
|
+
{"version":3,"file":"CvWjVTu3.chunk.js","sources":["../../../../libs/shared/src/enums/CuratorGroup.ts","../../../../libs/shared/src/hooks/useCurationStudio.ts","../../../../libs/shared/src/hooks/useVideohydration.ts","../../src/apps/exchange/hooks/useGetExchangeActions.ts"],"sourcesContent":["/**\n * The values in this enum directly\n * map to the group names in Master.\n */\nexport enum CuratorGroup {\n Developer = 'Curator Devs',\n Content = 'Content',\n Curator = 'Curators',\n Support = 'Support',\n SalesSupport = 'Sales Support',\n GraphicDesigner = 'Graphic Designers',\n MetadataEditor = 'Metadata Editors',\n ResourcingManager = 'Resourcing Managers',\n SeniorContentManager = 'Senior Content Manager',\n Marketing = 'Marketing',\n Sales = 'Sales Representatives',\n StreamableCurator = 'Streamable Curator',\n SupportExtraPermission = 'Support - Extra Permissions',\n SeoManager = 'SEO Manager',\n ContentReviewer = 'Content Reviewer'\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/react/index';\n\nimport { CuratorGroup } from 'libs/shared/enums/CuratorGroup';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { Config, CuratorUserGroupCollection, CurrentUser } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.hooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function getOpenInCurationStudioLink(\n baseUrl: string,\n objectType: MasterType | string,\n id: string,\n presentationId?: string\n) {\n const baseManageUrl = UrlHelper.safeUrlConcat(baseUrl, 'manage');\n const baseExchangeUrl = UrlHelper.safeUrlConcat(baseUrl, 'exchange');\n const href = (baseUrl: string, objectType: string, id: string) => UrlHelper.safeUrlConcat(baseUrl, `${objectType}/${id}`);\n\n switch (objectType) {\n case MasterType.Subject:\n return UrlHelper.safeUrlConcat(baseManageUrl, `subjects/presentations/${presentationId}/classifications/${id}/edit`);\n case MasterType.Video:\n return href(baseManageUrl, 'videos', id);\n case MasterType.Playlist:\n return href(baseManageUrl, 'playlists', id);\n case MasterType.Series:\n return href(baseManageUrl, 'series', id);\n case MasterType.Company:\n return href(baseManageUrl, 'companies', id);\n case MasterType.Interactive:\n return href(baseManageUrl, 'interactives', id);\n case MasterType.Clip:\n return href(baseManageUrl, 'clips', id);\n case MasterType.Category:\n return href(baseExchangeUrl, 'categories', id);\n }\n}\n\nexport function getOpenInCurationStudioLabel(): string {\n return getPhrase('openInCurationStudio');\n}\n\nexport function useCurationStudio() {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const { data: userGroups } = Flight.useBasicFetch<CuratorUserGroupCollection>(\n (currentUser.data?.id) && UserRequests.groups(currentUser.data?.id)\n );\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n \n const curatorGroups = [ CuratorGroup.Curator, CuratorGroup.Content, CuratorGroup.Developer ];\n\n function isUserCurator(): boolean {\n return curatorGroups.some(group => userGroups?.data.find(userGroup => userGroup.name === group));\n }\n\n return {\n openInCurationStudioLabel: getOpenInCurationStudioLabel(),\n isUserCurator: isUserCurator(),\n getOpenInCurationStudioLink: (objectType: MasterType | string, id: string, presentationId?: string) =>\n getOpenInCurationStudioLink(config.data?.curatorUrl, objectType, id, presentationId)\n };\n}\n","import { Flight } from 'libs/common/react/index';\n\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nexport enum VideoHydrationType {\n PlayPage\n}\n\ninterface UseVideoHydrationOptions {\n type: VideoHydrationType;\n shareId?: string;\n}\n\nexport function useVideoHydration(options: UseVideoHydrationOptions) {\n const getResponse = Flight.useGetResponseFunc();\n const fetch = Flight.useGetFetch();\n \n function getRequest(video: VideoTypes): Flight.Request {\n if (options.type !== VideoHydrationType.PlayPage)\n return null;\n\n\n return VideoHelper.getVideoRequest(video.id, video.typeId, options.shareId);\n }\n \n function hydrate(video: VideoTypes): void {\n const request = getRequest(video);\n const resp = getResponse(request.key);\n\n resp.shouldFetch && fetch(request);\n }\n\n function isHydrated(video: VideoTypes): boolean {\n const request = getRequest(video);\n const resp = getResponse(request.key);\n\n return resp.hasCompleted;\n }\n\n return { hydrate, isHydrated };\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor, WorkflowPhase } from 'libs/analytics/interfaces';\nimport { UrlHelper } from 'libs/analytics/utils/UrlHelper';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useVideoHydration, VideoHydrationType } from 'libs/shared/hooks/useVideohydration';\nimport { AddVideoSvg } from 'libs/shared/images/svg/actions/AddVideoSvg';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\nimport { Config, Library, Video, VideoTypes } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nconst namespace = 'exchange.exchangeHooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype Location = 'preview' | 'video-list';\n\nconst FETCH_MORE_ACTION_OPTION: ActionOptions = {\n lazyPlaceholder: true\n};\n\nexport function useGetExchangeActions(location: Location) {\n const { hasPermissions } = usePermissions();\n\n const { isUserCurator, openInCurationStudioLabel, getOpenInCurationStudioLink } = useCurationStudio();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const requestLibraries = Flight.useBasicFetch<Library[]>(\n hasPermissions(PermissionName.ContributeVideo) &&\n LibraryRequests.libraryRequestLibraries()\n );\n\n const { hydrate, isHydrated } = useVideoHydration({\n type: VideoHydrationType.PlayPage\n });\n \n function getVideoActions(video: Video): ActionOptions[] {\n const isPreview = location === 'preview';\n const analyticsData = { id: video.id, name: video.name };\n const locationContext = isPreview ? LocationContext.VideoItemPreview : LocationContext.VideoListItem;\n\n const actions: ActionOptions[] = [{\n order: 10,\n label: isPreview ? getPhrase('openInClickView') : '',\n svg: NewWindowSvg,\n tooltip: isPreview ? '' : getPhrase('openInClickView'),\n className: isPreview ? 'btn btn-dark me-2' : '',\n button: true,\n href: config.data && UrlHelper.safeUrlConcat(config.data.liteUrl, `/videos/${video.id}`),\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.OpenInClickView,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }, {\n order: 20,\n label: isPreview ? getPhrase('addVideo') : null,\n svg: !isPreview ? AddVideoSvg : undefined,\n tooltip: isPreview ? '' : getPhrase('addVideo'),\n button: !isPreview,\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.ADD,\n args: [video.id]\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.AddToWorkspace,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }, {\n order: 30,\n label: getPhrase('suggest'),\n className: '',\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.SUGGEST_EDIT,\n args: [video.id],\n params: { location: locationContext }\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.SuggestEdit,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }];\n\n if (!isHydrated(video)) {\n return [ ...actions, FETCH_MORE_ACTION_OPTION ];\n }\n\n if (video._canAddToLibrary?.customLibrary && requestLibraries.data?.length) {\n actions.push({\n order: 25,\n label: getPhrase('addToLibrary'),\n className: '',\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.ADD_TO_LIBRARY,\n args: [video.id]\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Create,\n entity: EntityType.LibraryRequest,\n workflowPhase: WorkflowPhase.Start,\n location: locationContext\n }\n });\n }\n\n if (video._canDownload?.value) {\n actions.push({\n order: 40,\n label: getPhrase('download'),\n className: '',\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.DOWNLOAD_VIDEO,\n args: [video.id]\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Download,\n entity: EntityType.Video,\n workflowPhase: WorkflowPhase.Start,\n location: locationContext\n }\n });\n }\n\n if (isUserCurator) {\n actions.push({\n order: 50,\n label: openInCurationStudioLabel,\n openInNewTab: true,\n href: getOpenInCurationStudioLink(MasterType.Video, video.id)\n });\n }\n\n return actions;\n }\n\n return {\n getVideoActions,\n fetchMoreActions: (video: VideoTypes) => hydrate(video)\n };\n}"],"names":["CuratorGroup","namespace","getPhrase","LanguageService","getOpenInCurationStudioLink","baseUrl","objectType","id","presentationId","baseManageUrl","UrlHelper","baseExchangeUrl","href","MasterType","getOpenInCurationStudioLabel","useCurationStudio","currentUser","Flight.useBasicFetch","UserRequests","userGroups","_a","_b","config","ConfigRequests","curatorGroups","isUserCurator","group","userGroup","VideoHydrationType","useVideoHydration","options","getResponse","Flight.useGetResponseFunc","fetch","Flight.useGetFetch","getRequest","video","VideoHelper","hydrate","request","isHydrated","FETCH_MORE_ACTION_OPTION","useGetExchangeActions","location","hasPermissions","usePermissions","openInCurationStudioLabel","requestLibraries","PermissionName","LibraryRequests","getVideoActions","isPreview","analyticsData","locationContext","LocationContext","actions","NewWindowSvg","UserAction","EntityType","VideoActionDescriptor","WorkflowPhase","AddVideoSvg","AppChannels","Actions","_c"],"mappings":"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"}
|