@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":"
|
|
1
|
+
{"version":3,"file":"Dfj7IDd2.chunk.js","sources":["../../src/apps/exchange/flight-requests/ExchangeRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\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 { SearchIndices, SearchResultObjectTypes, SearchResults, SearchResultsObject } from 'libs/shared/apps/search/interfaces';\nimport { SharedSearchHelper } from 'libs/shared/apps/search/utils/SharedSearchHelper';\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Playlist, Series, SuggestEditRequest } from 'libs/shared/interfaces';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nexport const ExchangeRequests = {\n exchange() {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: ['exchange'],\n maxCategoryDepth: 0\n }),\n key: 'exchange',\n normalize: false,\n formatData: (data: HashObject[]) => {\n return ArrayHelper.first(data).data;\n }\n };\n },\n categories() {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: ['exchange'],\n maxCategoryDepth: 2\n }),\n key: 'exchange:categories',\n normalize: false,\n formatData: (data: HashObject[]) => {\n return ArrayHelper.first(data).children;\n }\n };\n },\n folderVideos(\n folderId: string,\n sort?: VideoSortType,\n cursor?: string\n ): Flight.Request {\n const sortFilter = VideoSortHelper.getVideoSortParam(sort);\n \n const query = (sortFilter ? `{${sortFilter},libraries.typeid:18}` : '') + SharedWithStatements.VIDEO_COLLECTION;\n\n const url = UrlHelper.urlBuilder(`{gateway}/v1/objects/${folderId}/videos`, {\n cursor,\n query,\n permissionFilterOption: PermissionFilterOption.StripMetadata\n });\n\n const key = [ 'folder', 'videos', folderId, cursor, sort ].filter(k => !!k).join(':');\n\n return {\n url,\n key\n };\n },\n seriesVideos(\n seriesId: string,\n sort?: VideoSortType,\n cursor?: string\n ): Flight.Request {\n const sortFilter = VideoSortHelper.getVideoSortParam(sort);\n\n const query = (sortFilter ? `{${sortFilter},libraries.typeid:18}` : '') + SharedWithStatements.VIDEO_COLLECTION;\n\n const url = UrlHelper.urlBuilder(`{gateway}/v1/collections/${seriesId}/videos`, {\n query,\n cursor\n });\n\n const key = [ 'series', 'videos', seriesId, cursor, sort ].filter(k => !!k).join(':');\n\n return {\n url,\n key\n };\n },\n mostRecentVideos(exchangeId: string, cursor?: string): Flight.Request {\n const query = '{orderByDesc:timestamp}' + SharedWithStatements.VIDEO_COLLECTION;\n \n const url = UrlHelper.urlBuilder(`{gateway}/v1/collections/${exchangeId}/videos`, {\n query,\n cursor\n });\n\n const key = [ 'mostRecent', 'videos', exchangeId, cursor ].filter(k => !!k).join(':');\n\n return {\n url,\n key\n };\n },\n addVideo(\n libraryId: string,\n objectId: string\n ): Flight.Request {\n return {\n key: 'add:video:exchange',\n url: '{gateway}/v1/users/me/add-videos',\n data: {\n libraryId,\n objectId\n },\n type: HttpVerbs.POST,\n invalidationKeys: `videos:${objectId}:`\n };\n },\n\n suggestEdit(id: string, data: SuggestEditRequest): Flight.Request {\n return {\n key: 'suggest:an:edit',\n url: `{gateway}/v1/videos/${id}/suggest-edit`,\n data,\n type: HttpVerbs.POST\n };\n },\n\n search(\n query: string,\n indices: SearchIndices[],\n filters: HashObject = {},\n cursor?: string\n ): Flight.Request {\n let key = `search:${query}:${indices}:${cursor}`;\n\n key += Object.keys(filters).map(filterName => filters[filterName]).join(';');\n\n const params = Object.assign({}, {\n index: indices,\n cursor: cursor ?? undefined,\n query,\n ...filters\n });\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v3/search/exchange', params),\n key,\n formatData: (response: SearchResults<SearchResultObjectTypes>) => {\n /**\n * Until playlists and series are regionalised, search will always return every series/playlist that exists\n * even if the current user doesn't have access to the content inside (which will happen for example when playlists/series)\n * contain all UK library content but is being searched for by an AU user.\n *\n * For some search queries, this may result in search showing a bunch of \"empty\" playlists/series, which sucks.\n * This will filter all empty collections out and decrement the `totalResults` to avoid this and make search a better\n * experience.\n *\n * Ideally this will be removed one day when this regionalisation is no longer an issue.\n */\n let totalResults = response.totalResults;\n\n const results = response?.results?.filter(result => {\n if (result._index !== 'series' && result._index !== 'playlist')\n return true;\n\n if (result._index === 'playlist') {\n const playlist = result as SearchResultsObject<Playlist>;\n\n if (playlist.clips?.data?.length ||\n playlist.interactives?.data?.length ||\n playlist.videos?.data?.length)\n return true;\n\n totalResults--;\n return false;\n }\n\n if ((result as SearchResultsObject<Series>).videos?.data?.length === 0) {\n totalResults--;\n return false;\n }\n\n return true;\n }) ?? [];\n\n response.results = results;\n response.totalResults = totalResults;\n\n // The first search result will always have the highest score value.\n // We store it so that we can access it for subsequent results pages\n const resultMaxScore = results[0]?._score;\n\n return {\n ...response,\n results: SharedSearchHelper.mapMaxScoreToSearchResults(results, resultMaxScore)\n };\n }\n };\n }\n};"],"names":["ExchangeRequests","UrlHelper","data","ArrayHelper","folderId","sort","cursor","sortFilter","VideoSortHelper","query","SharedWithStatements","url","PermissionFilterOption","key","k","seriesId","exchangeId","libraryId","objectId","HttpVerbs","id","indices","filters","filterName","params","response","totalResults","results","_a","result","playlist","_b","_d","_c","_f","_e","_h","_g","resultMaxScore","SharedSearchHelper"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as o,d,j as e,e as D,f as c,g as L,h as R,i as p,k as $,C as b,l as S}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{r as o,d,j as e,e as D,f as c,g as L,h as R,i as p,k as $,C as b,l as S}from"./app-DIXL6Xww.js";const g=D("h4");g.displayName="DivStyledAsH4";const N=o.forwardRef(({className:s,bsPrefix:a,as:r=g,...n},t)=>(a=d(a,"alert-heading"),e.jsx(r,{ref:t,className:c(s,a),...n})));N.displayName="AlertHeading";const A=o.forwardRef(({className:s,bsPrefix:a,as:r=L,...n},t)=>(a=d(a,"alert-link"),e.jsx(r,{ref:t,className:c(s,a),...n})));A.displayName="AlertLink";const C=o.forwardRef((s,a)=>{const{bsPrefix:r,show:n=!0,closeLabel:t="Close alert",closeVariant:k,className:w,children:y,variant:h="primary",onClose:m,dismissible:u,transition:f=p,...x}=R(s,{show:"onClose"}),l=d(r,"alert"),E=$(H=>{m&&m(!1,H)}),i=f===!0?p:f,j=e.jsxs("div",{role:"alert",...i?void 0:x,ref:a,className:c(w,l,h&&`${l}-${h}`,u&&`${l}-dismissible`),children:[u&&e.jsx(b,{onClick:E,"aria-label":t,variant:k}),y]});return i?e.jsx(i,{unmountOnExit:!0,...x,ref:void 0,in:n,children:j}):n?j:null});C.displayName="Alert";const v=Object.assign(C,{Link:A,Heading:N});function F({error:s}){return S({title:"Dev Error"}),s?e.jsxs("div",{className:"px-3",children:[e.jsx("h1",{children:s.name}),e.jsx(v,{variant:"danger",children:e.jsx("h2",{children:s.message})}),e.jsxs(v,{variant:"warning",children:[e.jsx("h3",{children:"Call stack"}),e.jsx("code",{children:s.stack})]})]}):e.jsx(e.Fragment,{})}export{F as DevErrorView};
|
|
2
|
+
//# sourceMappingURL=Dfz11JwF.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"Dfz11JwF.chunk.js","sources":["../../../../../node_modules/react-bootstrap/esm/AlertHeading.js","../../../../../node_modules/react-bootstrap/esm/AlertLink.js","../../../../../node_modules/react-bootstrap/esm/Alert.js","../../../../libs/shared/src/views/dev-error/DevErrorView.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport divWithClassName from './divWithClassName';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH4 = divWithClassName('h4');\nDivStyledAsH4.displayName = 'DivStyledAsH4';\nconst AlertHeading = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = DivStyledAsH4,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'alert-heading');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nAlertHeading.displayName = 'AlertHeading';\nexport default AlertHeading;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Anchor from '@restart/ui/Anchor';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AlertLink = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = Anchor,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'alert-link');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nAlertLink.displayName = 'AlertLink';\nexport default AlertLink;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AlertHeading from './AlertHeading';\nimport AlertLink from './AlertLink';\nimport Fade from './Fade';\nimport CloseButton from './CloseButton';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Alert = /*#__PURE__*/React.forwardRef((uncontrolledProps, ref) => {\n const {\n bsPrefix,\n show = true,\n closeLabel = 'Close alert',\n closeVariant,\n className,\n children,\n variant = 'primary',\n onClose,\n dismissible,\n transition = Fade,\n ...props\n } = useUncontrolled(uncontrolledProps, {\n show: 'onClose'\n });\n const prefix = useBootstrapPrefix(bsPrefix, 'alert');\n const handleClose = useEventCallback(e => {\n if (onClose) {\n onClose(false, e);\n }\n });\n const Transition = transition === true ? Fade : transition;\n const alert = /*#__PURE__*/_jsxs(\"div\", {\n role: \"alert\",\n ...(!Transition ? props : undefined),\n ref: ref,\n className: classNames(className, prefix, variant && `${prefix}-${variant}`, dismissible && `${prefix}-dismissible`),\n children: [dismissible && /*#__PURE__*/_jsx(CloseButton, {\n onClick: handleClose,\n \"aria-label\": closeLabel,\n variant: closeVariant\n }), children]\n });\n if (!Transition) return show ? alert : null;\n return /*#__PURE__*/_jsx(Transition, {\n unmountOnExit: true,\n ...props,\n ref: undefined,\n in: show,\n children: alert\n });\n});\nAlert.displayName = 'Alert';\nexport default Object.assign(Alert, {\n Link: AlertLink,\n Heading: AlertHeading\n});","import * as React from 'react';\nimport { Alert } from 'react-bootstrap';\n\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\n\ninterface DevErrorViewProps {\n error: Error;\n}\n\nexport function DevErrorView({ error }: DevErrorViewProps): React.ReactElement {\n useSetPageMetadata({ title: 'Dev Error' });\n\n if (!error)\n return <></>;\n\n return (\n <div className='px-3'>\n <h1>{error.name}</h1>\n <Alert variant='danger'>\n <h2>{error.message}</h2>\n </Alert>\n <Alert variant='warning'>\n <h3>Call stack</h3>\n <code>{error.stack}</code>\n </Alert>\n </div>\n );\n}"],"names":["DivStyledAsH4","divWithClassName","AlertHeading","React.forwardRef","className","bsPrefix","Component","props","ref","useBootstrapPrefix","_jsx","classNames","AlertLink","Anchor","Alert","uncontrolledProps","show","closeLabel","closeVariant","children","variant","onClose","dismissible","transition","Fade","useUncontrolled","prefix","handleClose","useEventCallback","e","Transition","alert","_jsxs","CloseButton","Alert$1","DevErrorView","error","useSetPageMetadata","jsxs","jsx","Fragment"],"mappings":"uGAOA,MAAMA,EAAgBC,EAAiB,IAAI,EAC3CD,EAAc,YAAc,gBAC5B,MAAME,EAA4BC,EAAAA,WAAiB,CAAC,CAClD,UAAAC,EACA,SAAAC,EACA,GAAIC,EAAYN,EAChB,GAAGO,CACL,EAAGC,KACDH,EAAWI,EAAmBJ,EAAU,eAAe,EACnCK,EAAAA,IAAKJ,EAAW,CAClC,IAAKE,EACL,UAAWG,EAAWP,EAAWC,CAAQ,EACzC,GAAGE,CACP,CAAG,EACF,EACDL,EAAa,YAAc,eCf3B,MAAMU,EAAyBT,EAAAA,WAAiB,CAAC,CAC/C,UAAAC,EACA,SAAAC,EACA,GAAIC,EAAYO,EAChB,GAAGN,CACL,EAAGC,KACDH,EAAWI,EAAmBJ,EAAU,YAAY,EAChCK,EAAAA,IAAKJ,EAAW,CAClC,IAAKE,EACL,UAAWG,EAAWP,EAAWC,CAAQ,EACzC,GAAGE,CACP,CAAG,EACF,EACDK,EAAU,YAAc,YCPxB,MAAME,EAAqBX,EAAAA,WAAiB,CAACY,EAAmBP,IAAQ,CACtE,KAAM,CACJ,SAAAH,EACA,KAAAW,EAAO,GACP,WAAAC,EAAa,cACb,aAAAC,EACA,UAAAd,EACA,SAAAe,EACA,QAAAC,EAAU,UACV,QAAAC,EACA,YAAAC,EACA,WAAAC,EAAaC,EACb,GAAGjB,CACP,EAAMkB,EAAgBV,EAAmB,CACrC,KAAM,SACV,CAAG,EACKW,EAASjB,EAAmBJ,EAAU,OAAO,EAC7CsB,EAAcC,EAAiBC,GAAK,CACpCR,GACFA,EAAQ,GAAOQ,CAAC,CAEpB,CAAC,EACKC,EAAaP,IAAe,GAAOC,EAAOD,EAC1CQ,EAAqBC,EAAAA,KAAM,MAAO,CACtC,KAAM,QACN,GAAKF,EAAqB,OAARvB,EAClB,IAAKC,EACL,UAAWG,EAAWP,EAAWsB,EAAQN,GAAW,GAAGM,CAAM,IAAIN,CAAO,GAAIE,GAAe,GAAGI,CAAM,cAAc,EAClH,SAAU,CAACJ,GAA4BZ,EAAAA,IAAKuB,EAAa,CACvD,QAASN,EACT,aAAcV,EACd,QAASC,CACf,CAAK,EAAGC,CAAQ,CAChB,CAAG,EACD,OAAKW,EACepB,EAAAA,IAAKoB,EAAY,CACnC,cAAe,GACf,GAAGvB,EACH,IAAK,OACL,GAAIS,EACJ,SAAUe,CACd,CAAG,EAPuBf,EAAOe,EAAQ,IAQzC,CAAC,EACDjB,EAAM,YAAc,QACpB,MAAAoB,EAAe,OAAO,OAAOpB,EAAO,CAClC,KAAMF,EACN,QAASV,CACX,CAAC,ECnDM,SAASiC,EAAa,CAAE,MAAAC,GAAgD,CAG7E,OAFAC,EAAmB,CAAE,MAAO,YAAa,EAEpCD,EAIHE,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAI,WAAM,IAAA,CAAK,EAChBA,EAAAA,IAACzB,GAAM,QAAQ,SACb,eAAC,KAAA,CAAI,SAAAsB,EAAM,QAAQ,CAAA,CACrB,EACAE,EAAAA,KAACxB,EAAA,CAAM,QAAQ,UACb,SAAA,CAAAyB,EAAAA,IAAC,MAAG,SAAA,YAAA,CAAU,EACdA,EAAAA,IAAC,OAAA,CAAM,SAAAH,EAAM,KAAA,CAAM,CAAA,CAAA,CACrB,CAAA,EACF,EAZOG,EAAAA,IAAAC,EAAAA,SAAA,EAAE,CAcb","x_google_ignoreList":[0,1,2]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as s,aB as h,L as d}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as s,aB as h,L as d}from"./app-DIXL6Xww.js";const p="_minHeight_kz0hs_1",v="_restrictionBadgeCustom_kz0hs_4",C="_restrictionBadgeUser_kz0hs_8",R="_streamable_kz0hs_12",g={minHeight:p,restrictionBadgeCustom:v,restrictionBadgeUser:C,streamable:R};var r=(e=>(e.Custom="custom",e.User="year_group",e))(r||{});function m(e){return s.jsx("svg",{...e,children:s.jsx("path",{d:"M9.006 10h6.028c.006-.32.01-.641.002-.974-.016-.663-.077-1.28-.243-1.808-.164-.52-.424-.934-.83-1.223-.407-.292-1.015-.495-1.943-.495s-1.536.203-1.944.495c-.405.29-.665.703-.83 1.223-.166.528-.227 1.145-.242 1.808-.008.333-.004.655.002.974m7.028 0H17a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h1.006c-.006-.33-.01-.67-.002-.997.016-.696.08-1.424.289-2.085.21-.67.576-1.29 1.202-1.737.623-.445 1.453-.681 2.525-.681s1.902.236 2.525.681c.626.447.99 1.068 1.202 1.737.208.661.272 1.389.288 2.085.008.326.005.667 0 .997m-1.014 1H7v8h10v-8h-1.98",fill:"currentColor"})})}function x(e){return s.jsxs("svg",{...e,children:[s.jsx("defs",{children:s.jsx("path",{id:"a",d:"M12 19.059A7.059 7.059 0 1 0 12 4.94a7.059 7.059 0 0 0 0 14.118M12 4a8 8 0 1 1 0 16 8 8 0 0 1 0-16m-.229 2.743a.457.457 0 0 0-.457.457v5.486c0 .147.071.286.191.372l3.174 2.27a.457.457 0 1 0 .532-.744l-2.982-2.133V7.2a.457.457 0 0 0-.458-.457",fill:"currentColor"})}),s.jsxs("g",{fill:"none",fillRule:"evenodd",children:[s.jsx("mask",{id:"b",fill:"#fff",children:s.jsx("use",{href:"#a"})}),s.jsx("use",{fill:"#000",fillRule:"nonzero",href:"#a"}),s.jsx("g",{fill:"#383838",mask:"url(#b)",children:s.jsx("path",{d:"M0 0h24v24H0z",fill:"currentColor"})})]})]})}const y="shared.shared-utils",c=d.encloseNamespace(y),j={[r.Custom]:g.restrictionBadgeCustom,[r.User]:g.restrictionBadgeUser},_={[r.Custom]:x,[r.User]:m},B={[r.Custom]:"restrictionCustom",[r.User]:"restrictionYearGroup"},f={[r.Custom]:200,[r.User]:100},o={mapRestrictionToClass(e){var n;if(!((n=e==null?void 0:e.value)!=null&&n.length))return"";const t=o.getWeightedRestriction(e.value);return j[t.type]},mapRestrictionToSvg(e){var n;if(!((n=e==null?void 0:e.value)!=null&&n.length))return m;const t=o.getWeightedRestriction(e.value);return _[t.type]},mapRestrictionToText(e,t){var l;if(!((l=e==null?void 0:e.value)!=null&&l.length)||!(t!=null&&t.length))return"";const n=o.getWeightedRestriction(e.value),a=t.find(i=>i.value===n.yearGroup),u=B[n.type];if(n.type===r.User)return n.yearGroup===null?c("restrictionStaff"):a?t.length===1?c("restrictionStudents"):c(u,{yearGroup:a.name}):"";if(n.type===r.Custom){const i=o.getRestrictionDuration(n);return i?c(u,{duration:i,smartCount:i}):c("restrictionCustomLessThanDay",{duration:i,smartCount:1})}return""},getWeightedRestriction(e,t="highest"){if(e!=null&&e.length)return e.length===1?e[0]:e.reduce((n,a)=>{const u=f[n.type],l=f[a.type];return t==="highest"&&u>l||t==="lowest"&&u<l?n:a})},getRestrictionByType(e,t){if(!o.hasRestrictions(e))return null;const n=Array.isArray(t)?t:[t],a=e.value.filter(u=>n.includes(u.type));return o.getWeightedRestriction(a)},getRestrictionDuration(e){if(e.type!==r.Custom||!e.expiresOn)return;const t=h.convertUTCToLocal(e.expiresOn);if(t)return h.diffBetween(t,new Date,"day")},hasCustomRestriction(e){return!!o.getRestrictionByType(e,[r.Custom])},hasRestrictions(e){var t;return!!((t=e==null?void 0:e.value)!=null&&t.length)}};export{m as L,o as R,r as a,g as s};
|
|
2
|
+
//# sourceMappingURL=DhQH7eoo.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WI7FPt1a.chunk.js","sources":["../../../../libs/shared/src/enums/RestrictionType.ts","../../../../libs/shared/src/images/svg/status/LockSvg.tsx","../../../../libs/shared/src/images/svg/status/TimerSvg.tsx","../../../../libs/shared/src/utils/RestrictionHelper.ts"],"sourcesContent":["/**\n * Restriction Types for an object\n */\nexport enum RestrictionType {\n /** Generated for customers who have turned content review on */\n Custom = 'custom',\n\n /** Restriction created by the user */\n User = 'year_group'\n}","import React from 'react';\n\nexport function LockSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M9.006 10h6.028c.006-.32.01-.641.002-.974-.016-.663-.077-1.28-.243-1.808-.164-.52-.424-.934-.83-1.223-.407-.292-1.015-.495-1.943-.495s-1.536.203-1.944.495c-.405.29-.665.703-.83 1.223-.166.528-.227 1.145-.242 1.808-.008.333-.004.655.002.974m7.028 0H17a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h1.006c-.006-.33-.01-.67-.002-.997.016-.696.08-1.424.289-2.085.21-.67.576-1.29 1.202-1.737.623-.445 1.453-.681 2.525-.681s1.902.236 2.525.681c.626.447.99 1.068 1.202 1.737.208.661.272 1.389.288 2.085.008.326.005.667 0 .997m-1.014 1H7v8h10v-8h-1.98'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function TimerSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <defs>\n <path\n id='a'\n d='M12 19.059A7.059 7.059 0 1 0 12 4.94a7.059 7.059 0 0 0 0 14.118M12 4a8 8 0 1 1 0 16 8 8 0 0 1 0-16m-.229 2.743a.457.457 0 0 0-.457.457v5.486c0 .147.071.286.191.372l3.174 2.27a.457.457 0 1 0 .532-.744l-2.982-2.133V7.2a.457.457 0 0 0-.458-.457'\n fill='currentColor'\n />\n </defs>\n <g fill='none' fillRule='evenodd'>\n <mask id='b' fill='#fff'>\n <use href='#a' />\n </mask>\n <use fill='#000' fillRule='nonzero' href='#a' />\n <g fill='#383838' mask='url(#b)'>\n <path d='M0 0h24v24H0z' fill='currentColor' />\n </g>\n </g>\n </svg>\n );\n}\n","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport styles from 'libs/shared/components/badges/badge.module.scss';\nimport { RestrictionType } from 'libs/shared/enums/RestrictionType';\nimport { ObjectsRestriction, Restrictions, YearGroup } from 'libs/shared/interfaces';\n\nimport { LockSvg } from '../images/svg/status/LockSvg';\nimport { TimerSvg } from '../images/svg/status/TimerSvg';\n\nimport { SvgIcon } from './SvgHelper';\n\nconst namespace = 'shared.shared-utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst ClassNameMap: {[key in RestrictionType]: string} = {\n [RestrictionType.Custom]: styles.restrictionBadgeCustom,\n [RestrictionType.User]: styles.restrictionBadgeUser\n};\n\nconst IconMap: {[key in RestrictionType]: SvgIcon} = {\n [RestrictionType.Custom]: TimerSvg,\n [RestrictionType.User]: LockSvg\n};\n\nconst PhraseMap: {[key in RestrictionType]: string} = {\n [RestrictionType.Custom]: 'restrictionCustom',\n [RestrictionType.User]: 'restrictionYearGroup'\n};\n\nconst WeightMap: {[Key in RestrictionType]: number} = {\n [RestrictionType.Custom]: 200,\n [RestrictionType.User]: 100\n};\n\nexport const RestrictionHelper = {\n mapRestrictionToClass(restrictions: Restrictions): string {\n if (!restrictions?.value?.length)\n return '';\n\n const restriction = RestrictionHelper.getWeightedRestriction(restrictions.value);\n return ClassNameMap[restriction.type];\n },\n\n mapRestrictionToSvg(restrictions: Restrictions): SvgIcon {\n if (!restrictions?.value?.length)\n return LockSvg;\n\n const restriction = RestrictionHelper.getWeightedRestriction(restrictions.value);\n return IconMap[restriction.type];\n },\n\n mapRestrictionToText(\n restrictions: Restrictions,\n yearGroups: YearGroup[]\n ): string {\n if (!restrictions?.value?.length || !yearGroups?.length)\n return '';\n\n const restriction = RestrictionHelper.getWeightedRestriction(restrictions.value);\n const yearGroup = yearGroups.find(y => y.value === restriction.yearGroup);\n\n const phrase = PhraseMap[restriction.type];\n if (restriction.type === RestrictionType.User) {\n if (restriction.yearGroup === null)\n return getPhrase('restrictionStaff');\n\n if (!yearGroup)\n return '';\n\n if (yearGroups.length === 1)\n return getPhrase('restrictionStudents');\n\n return getPhrase(phrase, { yearGroup: yearGroup.name });\n }\n\n if (restriction.type === RestrictionType.Custom) {\n const duration = RestrictionHelper.getRestrictionDuration(restriction);\n return duration ?\n getPhrase(phrase, { duration, smartCount: duration }) :\n getPhrase('restrictionCustomLessThanDay', { duration, smartCount: 1 });\n }\n\n return '';\n },\n\n /**\n * A video can have multiple restrictions, in that case we need to display\n * only one restriction. By default we display the restriction with highest\n * weight bias.\n */\n getWeightedRestriction(\n restrictions: ObjectsRestriction[],\n bias: 'highest' | 'lowest' = 'highest'\n ): ObjectsRestriction {\n if (!restrictions?.length) return;\n \n if (restrictions.length === 1) return restrictions[0];\n\n return restrictions.reduce((previous, current) => {\n const previousWeight = WeightMap[previous.type];\n const currentWeight = WeightMap[current.type];\n\n if (bias === 'highest' && previousWeight > currentWeight) return previous;\n if (bias === 'lowest' && previousWeight < currentWeight) return previous;\n\n return current;\n });\n },\n\n getRestrictionByType(\n restrictions: Restrictions,\n type: RestrictionType | RestrictionType[]\n ): ObjectsRestriction {\n if (!RestrictionHelper.hasRestrictions(restrictions))\n return null;\n\n const types = Array.isArray(type) ? type : [type];\n\n const filteredRestrictions = restrictions.value.filter(r => types.includes(r.type));\n return RestrictionHelper.getWeightedRestriction(filteredRestrictions);\n },\n\n getRestrictionDuration(\n restriction: ObjectsRestriction\n ): number {\n if (restriction.type !== RestrictionType.Custom || !restriction.expiresOn) return;\n\n const expiresOn = DateHelper.convertUTCToLocal(restriction.expiresOn);\n if (!expiresOn) return;\n\n return DateHelper.diffBetween(expiresOn, new Date(), 'day');\n },\n\n hasCustomRestriction(\n restrictions: Restrictions\n ): boolean {\n return !!RestrictionHelper.getRestrictionByType(restrictions, [RestrictionType.Custom]);\n },\n\n hasRestrictions(restrictions: Restrictions): boolean {\n return !!restrictions?.value?.length;\n }\n};"],"names":["RestrictionType","LockSvg","props","jsx","TimerSvg","jsxs","namespace","getPhrase","LanguageService","ClassNameMap","styles","IconMap","PhraseMap","WeightMap","RestrictionHelper","restrictions","_a","restriction","yearGroups","yearGroup","y","phrase","duration","bias","previous","current","previousWeight","currentWeight","type","types","filteredRestrictions","r","expiresOn","DateHelper"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DhQH7eoo.chunk.js","sources":["../../../../libs/shared/src/enums/RestrictionType.ts","../../../../libs/shared/src/images/svg/status/LockSvg.tsx","../../../../libs/shared/src/images/svg/status/TimerSvg.tsx","../../../../libs/shared/src/utils/RestrictionHelper.ts"],"sourcesContent":["/**\n * Restriction Types for an object\n */\nexport enum RestrictionType {\n /** Generated for customers who have turned content review on */\n Custom = 'custom',\n\n /** Restriction created by the user */\n User = 'year_group'\n}","import React from 'react';\n\nexport function LockSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M9.006 10h6.028c.006-.32.01-.641.002-.974-.016-.663-.077-1.28-.243-1.808-.164-.52-.424-.934-.83-1.223-.407-.292-1.015-.495-1.943-.495s-1.536.203-1.944.495c-.405.29-.665.703-.83 1.223-.166.528-.227 1.145-.242 1.808-.008.333-.004.655.002.974m7.028 0H17a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h1.006c-.006-.33-.01-.67-.002-.997.016-.696.08-1.424.289-2.085.21-.67.576-1.29 1.202-1.737.623-.445 1.453-.681 2.525-.681s1.902.236 2.525.681c.626.447.99 1.068 1.202 1.737.208.661.272 1.389.288 2.085.008.326.005.667 0 .997m-1.014 1H7v8h10v-8h-1.98'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function TimerSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <defs>\n <path\n id='a'\n d='M12 19.059A7.059 7.059 0 1 0 12 4.94a7.059 7.059 0 0 0 0 14.118M12 4a8 8 0 1 1 0 16 8 8 0 0 1 0-16m-.229 2.743a.457.457 0 0 0-.457.457v5.486c0 .147.071.286.191.372l3.174 2.27a.457.457 0 1 0 .532-.744l-2.982-2.133V7.2a.457.457 0 0 0-.458-.457'\n fill='currentColor'\n />\n </defs>\n <g fill='none' fillRule='evenodd'>\n <mask id='b' fill='#fff'>\n <use href='#a' />\n </mask>\n <use fill='#000' fillRule='nonzero' href='#a' />\n <g fill='#383838' mask='url(#b)'>\n <path d='M0 0h24v24H0z' fill='currentColor' />\n </g>\n </g>\n </svg>\n );\n}\n","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport styles from 'libs/shared/components/badges/badge.module.scss';\nimport { RestrictionType } from 'libs/shared/enums/RestrictionType';\nimport { ObjectsRestriction, Restrictions, YearGroup } from 'libs/shared/interfaces';\n\nimport { LockSvg } from '../images/svg/status/LockSvg';\nimport { TimerSvg } from '../images/svg/status/TimerSvg';\n\nimport { SvgIcon } from './SvgHelper';\n\nconst namespace = 'shared.shared-utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst ClassNameMap: {[key in RestrictionType]: string} = {\n [RestrictionType.Custom]: styles.restrictionBadgeCustom,\n [RestrictionType.User]: styles.restrictionBadgeUser\n};\n\nconst IconMap: {[key in RestrictionType]: SvgIcon} = {\n [RestrictionType.Custom]: TimerSvg,\n [RestrictionType.User]: LockSvg\n};\n\nconst PhraseMap: {[key in RestrictionType]: string} = {\n [RestrictionType.Custom]: 'restrictionCustom',\n [RestrictionType.User]: 'restrictionYearGroup'\n};\n\nconst WeightMap: {[Key in RestrictionType]: number} = {\n [RestrictionType.Custom]: 200,\n [RestrictionType.User]: 100\n};\n\nexport const RestrictionHelper = {\n mapRestrictionToClass(restrictions: Restrictions): string {\n if (!restrictions?.value?.length)\n return '';\n\n const restriction = RestrictionHelper.getWeightedRestriction(restrictions.value);\n return ClassNameMap[restriction.type];\n },\n\n mapRestrictionToSvg(restrictions: Restrictions): SvgIcon {\n if (!restrictions?.value?.length)\n return LockSvg;\n\n const restriction = RestrictionHelper.getWeightedRestriction(restrictions.value);\n return IconMap[restriction.type];\n },\n\n mapRestrictionToText(\n restrictions: Restrictions,\n yearGroups: YearGroup[]\n ): string {\n if (!restrictions?.value?.length || !yearGroups?.length)\n return '';\n\n const restriction = RestrictionHelper.getWeightedRestriction(restrictions.value);\n const yearGroup = yearGroups.find(y => y.value === restriction.yearGroup);\n\n const phrase = PhraseMap[restriction.type];\n if (restriction.type === RestrictionType.User) {\n if (restriction.yearGroup === null)\n return getPhrase('restrictionStaff');\n\n if (!yearGroup)\n return '';\n\n if (yearGroups.length === 1)\n return getPhrase('restrictionStudents');\n\n return getPhrase(phrase, { yearGroup: yearGroup.name });\n }\n\n if (restriction.type === RestrictionType.Custom) {\n const duration = RestrictionHelper.getRestrictionDuration(restriction);\n return duration ?\n getPhrase(phrase, { duration, smartCount: duration }) :\n getPhrase('restrictionCustomLessThanDay', { duration, smartCount: 1 });\n }\n\n return '';\n },\n\n /**\n * A video can have multiple restrictions, in that case we need to display\n * only one restriction. By default we display the restriction with highest\n * weight bias.\n */\n getWeightedRestriction(\n restrictions: ObjectsRestriction[],\n bias: 'highest' | 'lowest' = 'highest'\n ): ObjectsRestriction {\n if (!restrictions?.length) return;\n \n if (restrictions.length === 1) return restrictions[0];\n\n return restrictions.reduce((previous, current) => {\n const previousWeight = WeightMap[previous.type];\n const currentWeight = WeightMap[current.type];\n\n if (bias === 'highest' && previousWeight > currentWeight) return previous;\n if (bias === 'lowest' && previousWeight < currentWeight) return previous;\n\n return current;\n });\n },\n\n getRestrictionByType(\n restrictions: Restrictions,\n type: RestrictionType | RestrictionType[]\n ): ObjectsRestriction {\n if (!RestrictionHelper.hasRestrictions(restrictions))\n return null;\n\n const types = Array.isArray(type) ? type : [type];\n\n const filteredRestrictions = restrictions.value.filter(r => types.includes(r.type));\n return RestrictionHelper.getWeightedRestriction(filteredRestrictions);\n },\n\n getRestrictionDuration(\n restriction: ObjectsRestriction\n ): number {\n if (restriction.type !== RestrictionType.Custom || !restriction.expiresOn) return;\n\n const expiresOn = DateHelper.convertUTCToLocal(restriction.expiresOn);\n if (!expiresOn) return;\n\n return DateHelper.diffBetween(expiresOn, new Date(), 'day');\n },\n\n hasCustomRestriction(\n restrictions: Restrictions\n ): boolean {\n return !!RestrictionHelper.getRestrictionByType(restrictions, [RestrictionType.Custom]);\n },\n\n hasRestrictions(restrictions: Restrictions): boolean {\n return !!restrictions?.value?.length;\n }\n};"],"names":["RestrictionType","LockSvg","props","jsx","TimerSvg","jsxs","namespace","getPhrase","LanguageService","ClassNameMap","styles","IconMap","PhraseMap","WeightMap","RestrictionHelper","restrictions","_a","restriction","yearGroups","yearGroup","y","phrase","duration","bias","previous","current","previousWeight","currentWeight","type","types","filteredRestrictions","r","expiresOn","DateHelper"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as i,a0 as j,j as e,L as r,aq as S,G as A,Q as E,F as M,ao as o}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{r as i,a0 as j,j as e,L as r,aq as S,G as A,Q as E,F as M,ao as o}from"./app-DIXL6Xww.js";import{M as y}from"./_sYSSSUN.chunk.js";import{P as C,C as F}from"./B70FMVao.chunk.js";const R="shared.breadcrumbComponent",B=r.encloseNamespace(R),O=64,f=48,u=i.forwardRef((t,a)=>{const{breadcrumb:{name:s,appLink:n,active:h},withBackIcon:p,linkClassName:g}=t;let c=s,d=null;return c.length>f&&(c=s.slice(0,f)+"...",d=s),e.jsx("li",{className:`breadcrumb-item${h?" active":""}`,title:d,children:h?e.jsx("strong",{children:c}):e.jsxs(S,{appLink:n,ref:a,className:n?g:"",children:[p&&e.jsx(A,{svg:F,size:E.Small}),e.jsx("span",{className:p?"ms-2":"",children:c})]})})}),Q=({breadcrumbs:t,linkClassName:a})=>{const s=j(y.XS),n=(t==null?void 0:t.length)||0,[h,p]=i.useState(!1),[g,c]=i.useState(!1),d=i.useRef(null);i.useEffect(()=>{const m=(t==null?void 0:t.reduce((x,T)=>x+T.name.length,0))??0;n>4&&m>O&&p(!0)},[t==null?void 0:t.length]),i.useLayoutEffect(()=>{var m;g&&((m=d.current)==null||m.focus())},[d.current,g]);function v(){p(!1),c(!0)}if(!n||s&&n<2)return e.jsx(e.Fragment,{});if(s)return e.jsx("nav",{"aria-label":"breadcrumb",children:e.jsx("ol",{className:"breadcrumb m-0 p-0",children:e.jsx(u,{breadcrumb:t[n-2],withBackIcon:!0,linkClassName:a})})});const N=e.jsx(u,{breadcrumb:t[0],linkClassName:a}),P=n>2?e.jsx(u,{breadcrumb:t[1],linkClassName:a}):e.jsx(e.Fragment,{}),b=n>3?e.jsx(u,{breadcrumb:t[n-2],linkClassName:a}):e.jsx(e.Fragment,{}),L=n>1?e.jsx(u,{breadcrumb:t[n-1],linkClassName:a}):e.jsx(e.Fragment,{}),w=t.slice(2,n-2);return e.jsx("nav",{"aria-label":"breadcrumb",children:e.jsxs("ol",{className:"breadcrumb m-0 p-0",children:[N,P,h?e.jsx("li",{className:"breadcrumb-item",children:e.jsx("button",{className:"btn-link",onClick:v,"aria-label":B("expand"),children:"..."})}):w.map((m,x)=>e.jsx(u,{breadcrumb:m,ref:x===0?d:null,linkClassName:a},x)),b,L]})})},V=i.memo(function({numItems:t=3}){return j(y.XS)?e.jsx("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):e.jsx("nav",{"aria-label":"breadcrumb",children:e.jsx("ol",{className:"breadcrumb m-0 p-0",children:C.getPartialLoadingItems({numItems:t}).map(({width:s},n)=>e.jsx("li",{className:"breadcrumb-item",children:e.jsx("span",{className:"d-inline-block partial-loading-background",style:{width:s},dangerouslySetInnerHTML:{__html:" "}})},n))})})}),l="shared.videoSortSelect",_=M.memoize(()=>({[o.RecentlyAdded]:{name:r.getPhrase(l,"recentlyAdded")},[o.AtoZ]:{name:r.getPhrase(l,"atoz")},[o.ZtoA]:{name:r.getPhrase(l,"ztoa")},[o.Newest]:{name:r.getPhrase(l,"newest")},[o.Oldest]:{name:r.getPhrase(l,"oldest")},[o.Series]:{name:r.getPhrase(l,"series")}}));function k(t){let a=_();return t&&(a={[o.ProductionYear]:{name:r.getPhrase(l,"productionYear")},...a}),a}z.defaultProps={variant:"light"};function z(t){const a=t.sortTypes||k(t.includeProductionYear);return e.jsxs("div",{className:"dropdown",children:[e.jsx("button",{className:`btn btn-${t.variant} ms-2 dropdown-toggle`,type:"button",id:"sort-select","data-bs-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",children:a[t.type].name}),e.jsx("ul",{className:"dropdown-menu dropdown-menu-end","aria-labelledby":"sort-select",children:Object.keys(a).map(s=>{let n="dropdown-item";return s===t.type&&(n+=" active"),e.jsx("li",{children:e.jsx(S,{className:n,appLink:t.getSortAppLink(s),analyticsData:{sort:a[s].name},analyticsOptions:t.analyticsOptions,children:a[s].name})},s)})})]})}export{Q as B,V as P,z as V};
|
|
2
|
+
//# sourceMappingURL=Dk7j_X12.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CNP8DTSw.chunk.js","sources":["../../../../libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","../../../../libs/shared/src/components/video-sort-select/VideoSortSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { ChevronLeftSvg } from 'libs/shared/images/svg/arrows/ChevronLeftSvg';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nconst namespace = 'shared.breadcrumbComponent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst COLLAPSE_CHARACTER_COUNT = 64;\nconst MAX_SEGMENT_LENGTH = 48;\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n linkClassName?: string;\n}\n\nexport const BreadcrumbItem = React.forwardRef((\n props: BreadcrumbItemProps,\n ref: React.ForwardedRef<HTMLElement>\n) => {\n const { breadcrumb: { name, appLink, active }, withBackIcon, linkClassName } = props;\n\n let trimmedName = name;\n let title: string = null;\n\n if (trimmedName.length > MAX_SEGMENT_LENGTH) {\n trimmedName = name.slice(0, MAX_SEGMENT_LENGTH) + '...';\n\n // Only setting the title when we trim, because otherwise it's really not needed - Sha\n title = name;\n }\n\n return (\n <li\n className={`breadcrumb-item${active ? ' active' : ''}`}\n title={title}\n >\n {active\n ? <strong>{trimmedName}</strong>\n : <AppLink appLink={appLink} ref={ref} className={appLink ? linkClassName : ''}>\n {withBackIcon && <SvgContainer svg={ChevronLeftSvg} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{trimmedName}</span>\n </AppLink>\n }\n </li>\n );\n});\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n linkClassName?: string;\n}\n\nexport const Breadcrumbs = ({ breadcrumbs, linkClassName }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length || 0;\n \n const [ collapse, setCollapse ] = React.useState(false);\n const [ shouldFocus, setShouldFocus ] = React.useState(false);\n const expandRef = React.useRef<HTMLElement>(null);\n\n React.useEffect(() => {\n const characterLength = breadcrumbs?.reduce((prev, next) => prev + next.name.length, 0) ?? 0;\n\n if (length > 4 && characterLength > COLLAPSE_CHARACTER_COUNT)\n setCollapse(true);\n }, [breadcrumbs?.length]);\n\n /**\n * Focus our first expanded item the first time it appears.\n */\n React.useLayoutEffect(() => {\n if (shouldFocus)\n expandRef.current?.focus();\n }, [ expandRef.current, shouldFocus ]);\n\n function onClickExpand() {\n setCollapse(false);\n setShouldFocus(true);\n }\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon linkClassName={linkClassName} />\n </ol>\n </nav>\n );\n\n const first = <BreadcrumbItem breadcrumb={breadcrumbs[0]} linkClassName={linkClassName} />;\n const second = length > 2\n ? <BreadcrumbItem breadcrumb={breadcrumbs[1]} linkClassName={linkClassName} />\n : <></>;\n const secondLast = length > 3\n ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} linkClassName={linkClassName} />\n : <></>;\n const last = length > 1\n ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 1]} linkClassName={linkClassName} />\n : <></>;\n const rest = breadcrumbs.slice(2, length - 2);\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {first}\n {second}\n {collapse ?\n <li className='breadcrumb-item'>\n <button\n className='btn-link'\n onClick={onClickExpand}\n aria-label={getPhrase('expand')}\n >\n ...\n </button>\n </li> :\n rest.map((breadcrumb, idx) => (\n <BreadcrumbItem\n key={idx}\n breadcrumb={breadcrumb}\n ref={idx === 0 ? expandRef : null}\n linkClassName={linkClassName}\n />\n ))\n }\n {secondLast}\n {last}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: ' ' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import * as React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\n\nconst namespace = 'shared.videoSortSelect';\n\ntype SortTypes = {[sort: string]: { name: string }};\n\nconst getDefaultSortTypes: () => SortTypes = FunctionHelper.memoize(() => {\n return {\n [VideoSortType.RecentlyAdded]: {\n name: LanguageService.getPhrase(namespace, 'recentlyAdded')\n },\n [VideoSortType.AtoZ]: {\n name: LanguageService.getPhrase(namespace, 'atoz')\n },\n [VideoSortType.ZtoA]: {\n name: LanguageService.getPhrase(namespace, 'ztoa')\n },\n [VideoSortType.Newest]: {\n name: LanguageService.getPhrase(namespace, 'newest')\n },\n [VideoSortType.Oldest]: {\n name: LanguageService.getPhrase(namespace, 'oldest')\n },\n [VideoSortType.Series]: {\n name: LanguageService.getPhrase(namespace, 'series')\n }\n };\n});\n\nfunction getSortTypes(productionYear: boolean): SortTypes {\n let defaultSortTypes = getDefaultSortTypes();\n\n if (productionYear) {\n defaultSortTypes = {\n [VideoSortType.ProductionYear]: {\n name: LanguageService.getPhrase(namespace, 'productionYear')\n },\n ...defaultSortTypes\n };\n }\n \n return defaultSortTypes;\n}\n\ninterface VideoSortSelectProps {\n type: VideoSortType;\n getSortAppLink: (sort: string) => Core.AppLink;\n variant?: ButtonProps['variant'];\n sortTypes?: SortTypes;\n analyticsOptions: AnalyticsOptions;\n includeProductionYear?: boolean;\n}\n\nVideoSortSelect.defaultProps = {\n variant: 'light'\n};\n\nexport function VideoSortSelect(props: VideoSortSelectProps): JSX.Element {\n const sortTypes = props.sortTypes || getSortTypes(props.includeProductionYear);\n\n return (\n <div className='dropdown'>\n <button className={`btn btn-${props.variant} ms-2 dropdown-toggle`} type='button' id='sort-select' data-bs-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>\n {sortTypes[props.type].name}\n </button>\n <ul className='dropdown-menu dropdown-menu-end' aria-labelledby='sort-select'>\n {Object.keys(sortTypes).map(k => {\n let className = 'dropdown-item';\n\n if (k === props.type)\n className += ' active';\n\n return (\n <li key={k}>\n <AppLink\n className={className}\n appLink={props.getSortAppLink(k)}\n analyticsData={{\n sort: sortTypes[k].name\n }}\n analyticsOptions={props.analyticsOptions}\n >\n {sortTypes[k].name}\n </AppLink>\n </li>\n );\n })}\n </ul>\n </div>\n );\n}"],"names":["namespace","getPhrase","LanguageService","COLLAPSE_CHARACTER_COUNT","MAX_SEGMENT_LENGTH","BreadcrumbItem","React.forwardRef","props","ref","name","appLink","active","withBackIcon","linkClassName","trimmedName","title","jsx","jsxs","AppLink","SvgContainer","ChevronLeftSvg","SvgContainerSize","Breadcrumbs","breadcrumbs","isMobile","useMediaQuery","MediaQueryStrings","length","collapse","setCollapse","React.useState","shouldFocus","setShouldFocus","expandRef","React.useRef","React.useEffect","characterLength","prev","next","React.useLayoutEffect","_a","onClickExpand","Fragment","first","second","secondLast","last","rest","breadcrumb","idx","PartialBreadcrumbs","React.memo","numItems","PartialLoadingHelper","width","getDefaultSortTypes","FunctionHelper","VideoSortType","getSortTypes","productionYear","defaultSortTypes","VideoSortSelect","sortTypes","k","className"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dk7j_X12.chunk.js","sources":["../../../../libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","../../../../libs/shared/src/components/video-sort-select/VideoSortSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { ChevronLeftSvg } from 'libs/shared/images/svg/arrows/ChevronLeftSvg';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nconst namespace = 'shared.breadcrumbComponent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst COLLAPSE_CHARACTER_COUNT = 64;\nconst MAX_SEGMENT_LENGTH = 48;\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n linkClassName?: string;\n}\n\nexport const BreadcrumbItem = React.forwardRef((\n props: BreadcrumbItemProps,\n ref: React.ForwardedRef<HTMLElement>\n) => {\n const { breadcrumb: { name, appLink, active }, withBackIcon, linkClassName } = props;\n\n let trimmedName = name;\n let title: string = null;\n\n if (trimmedName.length > MAX_SEGMENT_LENGTH) {\n trimmedName = name.slice(0, MAX_SEGMENT_LENGTH) + '...';\n\n // Only setting the title when we trim, because otherwise it's really not needed - Sha\n title = name;\n }\n\n return (\n <li\n className={`breadcrumb-item${active ? ' active' : ''}`}\n title={title}\n >\n {active\n ? <strong>{trimmedName}</strong>\n : <AppLink appLink={appLink} ref={ref} className={appLink ? linkClassName : ''}>\n {withBackIcon && <SvgContainer svg={ChevronLeftSvg} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{trimmedName}</span>\n </AppLink>\n }\n </li>\n );\n});\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n linkClassName?: string;\n}\n\nexport const Breadcrumbs = ({ breadcrumbs, linkClassName }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length || 0;\n \n const [ collapse, setCollapse ] = React.useState(false);\n const [ shouldFocus, setShouldFocus ] = React.useState(false);\n const expandRef = React.useRef<HTMLElement>(null);\n\n React.useEffect(() => {\n const characterLength = breadcrumbs?.reduce((prev, next) => prev + next.name.length, 0) ?? 0;\n\n if (length > 4 && characterLength > COLLAPSE_CHARACTER_COUNT)\n setCollapse(true);\n }, [breadcrumbs?.length]);\n\n /**\n * Focus our first expanded item the first time it appears.\n */\n React.useLayoutEffect(() => {\n if (shouldFocus)\n expandRef.current?.focus();\n }, [ expandRef.current, shouldFocus ]);\n\n function onClickExpand() {\n setCollapse(false);\n setShouldFocus(true);\n }\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon linkClassName={linkClassName} />\n </ol>\n </nav>\n );\n\n const first = <BreadcrumbItem breadcrumb={breadcrumbs[0]} linkClassName={linkClassName} />;\n const second = length > 2\n ? <BreadcrumbItem breadcrumb={breadcrumbs[1]} linkClassName={linkClassName} />\n : <></>;\n const secondLast = length > 3\n ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} linkClassName={linkClassName} />\n : <></>;\n const last = length > 1\n ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 1]} linkClassName={linkClassName} />\n : <></>;\n const rest = breadcrumbs.slice(2, length - 2);\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {first}\n {second}\n {collapse ?\n <li className='breadcrumb-item'>\n <button\n className='btn-link'\n onClick={onClickExpand}\n aria-label={getPhrase('expand')}\n >\n ...\n </button>\n </li> :\n rest.map((breadcrumb, idx) => (\n <BreadcrumbItem\n key={idx}\n breadcrumb={breadcrumb}\n ref={idx === 0 ? expandRef : null}\n linkClassName={linkClassName}\n />\n ))\n }\n {secondLast}\n {last}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: ' ' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import * as React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\n\nconst namespace = 'shared.videoSortSelect';\n\ntype SortTypes = {[sort: string]: { name: string }};\n\nconst getDefaultSortTypes: () => SortTypes = FunctionHelper.memoize(() => {\n return {\n [VideoSortType.RecentlyAdded]: {\n name: LanguageService.getPhrase(namespace, 'recentlyAdded')\n },\n [VideoSortType.AtoZ]: {\n name: LanguageService.getPhrase(namespace, 'atoz')\n },\n [VideoSortType.ZtoA]: {\n name: LanguageService.getPhrase(namespace, 'ztoa')\n },\n [VideoSortType.Newest]: {\n name: LanguageService.getPhrase(namespace, 'newest')\n },\n [VideoSortType.Oldest]: {\n name: LanguageService.getPhrase(namespace, 'oldest')\n },\n [VideoSortType.Series]: {\n name: LanguageService.getPhrase(namespace, 'series')\n }\n };\n});\n\nfunction getSortTypes(productionYear: boolean): SortTypes {\n let defaultSortTypes = getDefaultSortTypes();\n\n if (productionYear) {\n defaultSortTypes = {\n [VideoSortType.ProductionYear]: {\n name: LanguageService.getPhrase(namespace, 'productionYear')\n },\n ...defaultSortTypes\n };\n }\n \n return defaultSortTypes;\n}\n\ninterface VideoSortSelectProps {\n type: VideoSortType;\n getSortAppLink: (sort: string) => Core.AppLink;\n variant?: ButtonProps['variant'];\n sortTypes?: SortTypes;\n analyticsOptions: AnalyticsOptions;\n includeProductionYear?: boolean;\n}\n\nVideoSortSelect.defaultProps = {\n variant: 'light'\n};\n\nexport function VideoSortSelect(props: VideoSortSelectProps): JSX.Element {\n const sortTypes = props.sortTypes || getSortTypes(props.includeProductionYear);\n\n return (\n <div className='dropdown'>\n <button className={`btn btn-${props.variant} ms-2 dropdown-toggle`} type='button' id='sort-select' data-bs-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>\n {sortTypes[props.type].name}\n </button>\n <ul className='dropdown-menu dropdown-menu-end' aria-labelledby='sort-select'>\n {Object.keys(sortTypes).map(k => {\n let className = 'dropdown-item';\n\n if (k === props.type)\n className += ' active';\n\n return (\n <li key={k}>\n <AppLink\n className={className}\n appLink={props.getSortAppLink(k)}\n analyticsData={{\n sort: sortTypes[k].name\n }}\n analyticsOptions={props.analyticsOptions}\n >\n {sortTypes[k].name}\n </AppLink>\n </li>\n );\n })}\n </ul>\n </div>\n );\n}"],"names":["namespace","getPhrase","LanguageService","COLLAPSE_CHARACTER_COUNT","MAX_SEGMENT_LENGTH","BreadcrumbItem","React.forwardRef","props","ref","name","appLink","active","withBackIcon","linkClassName","trimmedName","title","jsx","jsxs","AppLink","SvgContainer","ChevronLeftSvg","SvgContainerSize","Breadcrumbs","breadcrumbs","isMobile","useMediaQuery","MediaQueryStrings","length","collapse","setCollapse","React.useState","shouldFocus","setShouldFocus","expandRef","React.useRef","React.useEffect","characterLength","prev","next","React.useLayoutEffect","_a","onClickExpand","Fragment","first","second","secondLast","last","rest","breadcrumb","idx","PartialBreadcrumbs","React.memo","numItems","PartialLoadingHelper","width","getDefaultSortTypes","FunctionHelper","VideoSortType","getSortTypes","productionYear","defaultSortTypes","VideoSortSelect","sortTypes","k","className"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as a}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as a}from"./app-DIXL6Xww.js";function h(l){return a.jsx("svg",{...l,children:a.jsx("path",{fill:"currentColor",d:"M4.007 5.007A1.73 1.73 0 0 1 5.23 4.5h3.077a1.73 1.73 0 0 1 1.384.692l1.327 1.77h7.75a1.73 1.73 0 0 1 1.731 1.73v8.616a1.73 1.73 0 0 1-1.73 1.73H5.23a1.73 1.73 0 0 1-1.73-1.73V6.23c0-.46.182-.9.507-1.224M5.23 5.5a.73.73 0 0 0-.731.73V9.5h15v-.808a.73.73 0 0 0-.73-.73h-8a.5.5 0 0 1-.4-.2l-1.478-1.97a.73.73 0 0 0-.584-.292zm14.269 5h-15v6.808a.73.73 0 0 0 .73.73h13.54a.73.73 0 0 0 .73-.73z"})})}function t(l){return a.jsx("svg",{...l,children:a.jsx("path",{d:"M5 6v12h14V6zm0-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1m2.4 10.3a.5.5 0 0 1-.8-.6l3-4a.5.5 0 0 1 .754-.054l.579.58 1.765-2.513a.5.5 0 0 1 .83.015l3.891 6a.5.5 0 0 1-.838.544l-3.49-5.379-1.682 2.394a.5.5 0 0 1-.763.067l-.592-.593zm.6-4.8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1",fill:"currentColor"})})}export{h as F,t as a};
|
|
2
|
+
//# sourceMappingURL=Dn33djw5.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"Dn33djw5.chunk.js","sources":["../../../../libs/shared/src/images/svg/objects/FolderSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileImgSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function FolderSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M4.007 5.007A1.73 1.73 0 0 1 5.23 4.5h3.077a1.73 1.73 0 0 1 1.384.692l1.327 1.77h7.75a1.73 1.73 0 0 1 1.731 1.73v8.616a1.73 1.73 0 0 1-1.73 1.73H5.23a1.73 1.73 0 0 1-1.73-1.73V6.23c0-.46.182-.9.507-1.224M5.23 5.5a.73.73 0 0 0-.731.73V9.5h15v-.808a.73.73 0 0 0-.73-.73h-8a.5.5 0 0 1-.4-.2l-1.478-1.97a.73.73 0 0 0-.584-.292zm14.269 5h-15v6.808a.73.73 0 0 0 .73.73h13.54a.73.73 0 0 0 .73-.73z'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileImgSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M5 6v12h14V6zm0-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1m2.4 10.3a.5.5 0 0 1-.8-.6l3-4a.5.5 0 0 1 .754-.054l.579.58 1.765-2.513a.5.5 0 0 1 .83.015l3.891 6a.5.5 0 0 1-.838.544l-3.49-5.379-1.682 2.394a.5.5 0 0 1-.763.067l-.592-.593zm.6-4.8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1'\n fill='currentColor'\n />\n </svg>\n );\n}\n"],"names":["FolderSvg","props","jsx","FileImgSvg"],"mappings":"sCAEO,SAASA,EAAUC,EAAsC,CAC9D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,EAAE,wYAAA,CAAA,EAEN,CAEJ,CCTO,SAASC,EAAWF,EAAsC,CAC/D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,iVACF,KAAK,cAAA,CAAA,EAET,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a2 as S,a3 as n,R as i,ab as w,ae as k,ad as E,aI as L,af as T,L as C,j as e,P as R,am as I,B as p,x as m,A as F,aD as U}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{a2 as S,a3 as n,R as i,ab as w,ae as k,ad as E,aI as L,af as T,L as C,j as e,P as R,am as I,B as p,x as m,A as F,aD as U}from"./app-DIXL6Xww.js";import{S as q}from"./DajpMvCp.chunk.js";import{V as B}from"./BVLYrDIr.chunk.js";import{u as H}from"./DO5O1Cbr.chunk.js";import{E as u}from"./Dfj7IDd2.chunk.js";import{u as D}from"./Bh24QUEJ.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./DWvjreQC.chunk.js";const c="exchange.add",o=C.encloseNamespace(c);function X(s){var l;const x=H(),f=S(),g=n(U.config()),h=n(u.exchange()),a=n(B.video(s.id)),[r,j]=i.useState(!1),[A,P]=i.useState(!1),[V,b]=i.useState(null),{previewContext:t,clearPreviewContext:v}=D(s.id,!1);i.useEffect(()=>{!a.data||A||y()},[(l=a.data)==null?void 0:l.id]);async function y(){P(!0);try{const N=await f(u.addVideo(h.data.id,a.data.id));j(!0),b(N.id),w.logUserAction({id:a.data.id,name:a.data.name},{actionType:T.Submit,descriptor:L.AddToWorkspace,location:E.Popup,entity:k.Video})}catch{x.error(o("error")),s.closePopup()}}function d(){s.closePopup(),t!=null&&t.appLink&&(q.preventScrollTop(),F.trigger(t.appLink),v())}return e.jsx(R,{title:o("title"),closePopup:d,showLoadingSpinner:!r,children:r&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mx-auto w-75 mt-1 mb-2",children:e.jsx("img",{src:I.General.CONFETTI,className:"img-fluid",draggable:!1})}),e.jsx("div",{className:"text-center pb-3",children:e.jsx("h4",{className:"mb-2",children:e.jsx(p,{namespace:c,phrase:"added"})})}),e.jsxs(m,{children:[e.jsx(m.Cancel,{text:o("close"),onClick:d,variant:"link"}),e.jsx("a",{href:`${g.data.liteUrl}/videos/${V}`,className:"btn btn-dark",children:e.jsx("span",{className:"align-text-bottom me-1",children:e.jsx(p,{namespace:c,phrase:"open"})})})]})]})})}export{X as ExchangeAddView};
|
|
2
|
+
//# sourceMappingURL=DoDHNhqQ.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"DoDHNhqQ.chunk.js","sources":["../../src/apps/exchange/views/exchange-add/ExchangeAddView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor } from 'libs/analytics/interfaces';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { Config, Library, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\n\nconst namespace = 'exchange.add';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeAddViewProps extends PopupViewProps {\n id: string;\n}\n\nexport function ExchangeAddView(props: ExchangeAddViewProps): JSX.Element {\n const alerts = useAlerts();\n const fetchAsync = Flight.useGetFetchAsync();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\n\n const [ added, setAdded ] = React.useState<boolean>(false);\n const [ adding, setAdding ] = React.useState<boolean>(false);\n const [ newVideoId, setNewVideoId ] = React.useState<string>(null);\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.id, false);\n\n React.useEffect(() => {\n if (!video.data || adding)\n return;\n\n addVideo();\n }, [video.data?.id]);\n\n async function addVideo() {\n setAdding(true);\n\n try {\n const newVideo = await fetchAsync<Video>(ExchangeRequests.addVideo(\n exchange.data.id,\n video.data.id\n ));\n\n setAdded(true);\n setNewVideoId(newVideo.id);\n\n AnalyticsHelper.logUserAction(\n { id: video.data.id, name: video.data.name },\n {\n actionType: UserAction.Submit,\n descriptor: VideoActionDescriptor.AddToWorkspace,\n location: LocationContext.Popup,\n entity: EntityType.Video\n }\n );\n } catch {\n alerts.error(getPhrase('error'));\n props.closePopup();\n }\n }\n\n /**\n * Because the add view can be navigated to from the ExchangePreviewView\n * which is an addressable popup, we need to navigate back to the \n * original route when this popup is closed - Sha\n */\n function closePopup(): void {\n props.closePopup();\n\n if (!previewContext?.appLink)\n return;\n\n ScrollHelper.preventScrollTop();\n Core.AppLinkHelper.trigger(previewContext.appLink);\n clearPreviewContext();\n }\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={closePopup}\n showLoadingSpinner={!added}\n >\n {added &&\n <>\n <div className='mx-auto w-75 mt-1 mb-2'>\n <img src={ImageUrls.General.CONFETTI} className='img-fluid' draggable={false} />\n </div>\n\n <div className='text-center pb-3'>\n <h4 className='mb-2'>\n <Text namespace={namespace} phrase={'added'} />\n </h4>\n </div>\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('close')}\n onClick={closePopup}\n variant='link'\n />\n <a href={`${config.data.liteUrl}/videos/${newVideoId}`} className={'btn btn-dark'}>\n <span className='align-text-bottom me-1'>\n <Text namespace={namespace} phrase={'open'} />\n </span>\n </a>\n </PopupButtons>\n </>\n }\n </Popup>\n );\n}"],"names":["namespace","getPhrase","LanguageService","ExchangeAddView","props","alerts","useAlerts","fetchAsync","Flight.useGetFetchAsync","config","Flight.useBasicFetch","ConfigRequests","exchange","ExchangeRequests","video","VideoRequests","added","setAdded","React","adding","setAdding","newVideoId","setNewVideoId","previewContext","clearPreviewContext","usePreviewContext","addVideo","_a","newVideo","AnalyticsHelper","UserAction","VideoActionDescriptor","LocationContext","EntityType","closePopup","ScrollHelper","Core.AppLinkHelper","jsx","Popup","jsxs","Fragment","ImageUrls","Text","PopupButtons"],"mappings":"obAuBA,MAAMA,EAAY,eACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAMrD,SAASG,EAAgBC,EAA0C,OACxE,MAAMC,EAASC,EAAA,EACTC,EAAaC,EAAO,EAEpBC,EAASC,EAA6BC,EAAe,QAAQ,EAC7DC,EAAWF,EAA8BG,EAAiB,UAAU,EACpEC,EAAQJ,EAA4BK,EAAc,MAAMX,EAAM,EAAE,CAAC,EAEjE,CAAEY,EAAOC,CAAS,EAAIC,EAAM,SAAkB,EAAK,EACnD,CAAEC,EAAQC,CAAU,EAAIF,EAAM,SAAkB,EAAK,EACrD,CAAEG,EAAYC,CAAc,EAAIJ,EAAM,SAAiB,IAAI,EAE3D,CAAE,eAAAK,EAAgB,oBAAAC,CAAA,EAAwBC,EAAkBrB,EAAM,GAAI,EAAK,EAEjFc,EAAM,UAAU,IAAM,CAChB,CAACJ,EAAM,MAAQK,GAGnBO,EAAA,CACF,EAAG,EAACC,EAAAb,EAAM,OAAN,YAAAa,EAAY,EAAE,CAAC,EAEnB,eAAeD,GAAW,CACxBN,EAAU,EAAI,EAEd,GAAI,CACF,MAAMQ,EAAW,MAAMrB,EAAkBM,EAAiB,SACxDD,EAAS,KAAK,GACdE,EAAM,KAAK,EAAA,CACZ,EAEDG,EAAS,EAAI,EACbK,EAAcM,EAAS,EAAE,EAEzBC,EAAgB,cACd,CAAE,GAAIf,EAAM,KAAK,GAAI,KAAMA,EAAM,KAAK,IAAA,EACtC,CACE,WAAYgB,EAAW,OACvB,WAAYC,EAAsB,eAClC,SAAUC,EAAgB,MAC1B,OAAQC,EAAW,KAAA,CACrB,CAEJ,MAAQ,CACN5B,EAAO,MAAMJ,EAAU,OAAO,CAAC,EAC/BG,EAAM,WAAA,CACR,CACF,CAOA,SAAS8B,GAAmB,CAC1B9B,EAAM,WAAA,EAEDmB,GAAA,MAAAA,EAAgB,UAGrBY,EAAa,iBAAA,EACbC,EAAmB,QAAQb,EAAe,OAAO,EACjDC,EAAA,EACF,CAEA,OACEa,EAAAA,IAACC,EAAA,CACC,MAAOrC,EAAU,OAAO,EACxB,WAAAiC,EACA,mBAAoB,CAAClB,EAEpB,YACCuB,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAH,EAAAA,IAAC,MAAA,CAAI,UAAU,yBACb,SAAAA,EAAAA,IAAC,MAAA,CAAI,IAAKI,EAAU,QAAQ,SAAU,UAAU,YAAY,UAAW,GAAO,EAChF,EAEAJ,MAAC,MAAA,CAAI,UAAU,mBACb,eAAC,KAAA,CAAG,UAAU,OACZ,SAAAA,EAAAA,IAACK,EAAA,CAAK,UAAA1C,EAAsB,OAAQ,OAAA,CAAS,EAC/C,EACF,SAEC2C,EAAA,CACC,SAAA,CAAAN,EAAAA,IAACM,EAAa,OAAb,CACC,KAAM1C,EAAU,OAAO,EACvB,QAASiC,EACT,QAAQ,MAAA,CAAA,EAEVG,EAAAA,IAAC,KAAE,KAAM,GAAG5B,EAAO,KAAK,OAAO,WAAWY,CAAU,GAAI,UAAW,eACjE,SAAAgB,EAAAA,IAAC,OAAA,CAAK,UAAU,yBACd,SAAAA,EAAAA,IAACK,GAAK,UAAA1C,EAAsB,OAAQ,MAAA,CAAQ,CAAA,CAC9C,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAIR"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{aB as t}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{aB as t}from"./app-DIXL6Xww.js";const i={"AUS Eastern Standard Time":"Australia/Sydney","W. Australia Standard Time":"Australia/Perth","E. Australia Standard Time":"Australia/Brisbane","Cen. Australia Standard Time":"Australia/Adelaide","New Zealand Standard Time":"Pacific/Auckland","GMT Standard Time":"Europe/London"};function d(a,e){return t.getUtcTimeByTimezone(a,"YYYY-MM-DDTHH:mm:ss",i[e])}export{d as t};
|
|
2
|
+
//# sourceMappingURL=DoKxE03f.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"DoKxE03f.chunk.js","sources":["../../src/apps/tv/utils/toLocalTime.ts"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\n/**\n * A fully fleshed out Windows to IANA mapping library\n * can be absolutely huge, so instead we're just taking the \n * windows timezones that we know our system can have\n * and are mapping them ourselves here.\n */\nconst WINDOWS_TO_IANA: HashObject = {\n 'AUS Eastern Standard Time': 'Australia/Sydney',\n 'W. Australia Standard Time': 'Australia/Perth',\n 'E. Australia Standard Time': 'Australia/Brisbane',\n 'Cen. Australia Standard Time': 'Australia/Adelaide',\n 'New Zealand Standard Time': 'Pacific/Auckland',\n 'GMT Standard Time': 'Europe/London'\n};\n\n/**\n * When we replace moment with dayjs, we're going to have to import the timezone plugin for dayjs\n * https://day.js.org/docs/en/plugin/timezone\n * in order to support time conversion here - Sha\n */\nexport function toLocalTime(time: string | Date, timezone: string): string {\n /**\n * If for whatever reason we hit a timezone that we don't have a mapping for,\n * just use UTC. This is less than ideal, but any mapping library for mapping\n * windows to IANA times is about 1mb in size - Sha\n */\n const localTime = DateHelper.getUtcTimeByTimezone(time, 'YYYY-MM-DDTHH:mm:ss', WINDOWS_TO_IANA[timezone]);\n \n return localTime;\n}"],"names":["WINDOWS_TO_IANA","toLocalTime","time","timezone","DateHelper"],"mappings":"uCASA,MAAMA,EAA8B,CAClC,4BAA6B,mBAC7B,6BAA8B,kBAC9B,6BAA8B,qBAC9B,+BAAgC,qBAChC,4BAA6B,mBAC7B,oBAAqB,eACvB,EAOO,SAASC,EAAYC,EAAqBC,EAA0B,CAQzE,OAFkBC,EAAW,qBAAqBF,EAAM,sBAAuBF,EAAgBG,CAAQ,CAAC,CAG1G"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as r,G as c}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as r,G as c}from"./app-DIXL6Xww.js";const o=["banner","cover","thumbnail","tallPoster","icon"],l={applyThemeAssets(e){return Array.isArray(e)?e.map(l.applyThemeToClassification):Array.isArray(e==null?void 0:e.data)?{...e,data:e.data.map(l.applyThemeToClassification)}:l.applyThemeToClassification(e)},applyThemeToClassification(e){var s;const i=(s=e._theme)==null?void 0:s.value;if(!i)return e;const t={};for(const n of o)i[n]&&(t[n]=i[n]);return{...e,...t}}};function v(e){return r.jsx("svg",{...e,children:r.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M16.247 7.341a1 1 0 0 1 1.506 1.318l-7 8a1 1 0 0 1-1.46.048l-3-3a1 1 0 1 1 1.414-1.414l2.244 2.244z",clipRule:"evenodd"})})}const m="_circle_15nxd_1",u="_img_15nxd_6",a={circle:m,img:u};g.defaultProps={textVariant:"white"};function g(e){return!e.imageUrl&&!e.svg?r.jsx(r.Fragment,{}):e.imageUrl?r.jsx("div",{className:`${a.img} rounded-circle h-100 w-100`,style:{backgroundImage:`url(${e.imageUrl})`},children:" "}):r.jsx("div",{className:`${a.circle} ${e.variant?`bg-${e.variant}`:""} text-${e.textVariant} rounded-circle h-100 w-100 ${e.svgWrapperClassName??""}`,children:r.jsx(c,{svg:e.svg,size:e.svgSize})})}export{v as C,g as I,l as T};
|
|
2
|
+
//# sourceMappingURL=DtHc20G9.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"DtHc20G9.chunk.js","sources":["../../../../libs/shared/src/utils/ThemeAssetHelper.ts","../../../../libs/shared/src/images/svg/status/CheckSvg.tsx","../../../../libs/shared/src/components/icon-circle/IconCircle.tsx"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\n\nexport const THEME_ASSET_KEYS = [ 'banner', 'cover', 'thumbnail', 'tallPoster', 'icon' ] as const;\n\nexport const ThemeAssetHelper = {\n applyThemeAssets<T extends HashObject>(data: T): T {\n if (Array.isArray(data)) {\n return data.map(ThemeAssetHelper.applyThemeToClassification) as unknown as T;\n }\n\n if (Array.isArray(data?.data)) {\n return { ...data, data: data.data.map(ThemeAssetHelper.applyThemeToClassification) };\n }\n\n return ThemeAssetHelper.applyThemeToClassification(data) as T;\n },\n\n applyThemeToClassification(classification: HashObject): HashObject {\n const themeValue = classification._theme?.value;\n if (!themeValue) return classification;\n\n const overrides: HashObject = {};\n for (const key of THEME_ASSET_KEYS) {\n if (themeValue[key]) {\n overrides[key] = themeValue[key];\n }\n }\n\n return { ...classification, ...overrides };\n }\n};","import React from 'react';\n\nexport function CheckSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M16.247 7.341a1 1 0 0 1 1.506 1.318l-7 8a1 1 0 0 1-1.46.048l-3-3a1 1 0 1 1 1.414-1.414l2.244 2.244z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SvgIcon } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './icon-circle.module.scss';\n\ninterface IconCircleProps {\n svg?: SvgIcon;\n imageUrl?: string;\n svgSize?: SvgContainerSize;\n variant?: ButtonProps['variant'];\n textVariant?: ButtonProps['variant'];\n svgWrapperClassName?: string;\n}\n\nIconCircle.defaultProps = {\n textVariant: 'white'\n};\n\nexport function IconCircle(props: IconCircleProps): JSX.Element {\n if (!props.imageUrl && !props.svg)\n return <></>;\n\n if (props.imageUrl) {\n return (\n <div className={`${styles.img} rounded-circle h-100 w-100`} style={{ backgroundImage: `url(${props.imageUrl})` }}>\n \n </div>\n );\n }\n\n return (\n <div className={`${styles.circle} ${props.variant ? `bg-${props.variant}` : ''} text-${props.textVariant} rounded-circle h-100 w-100 ${props.svgWrapperClassName ?? ''}`}>\n <SvgContainer svg={props.svg} size={props.svgSize} />\n </div>\n );\n}"],"names":["THEME_ASSET_KEYS","ThemeAssetHelper","data","classification","themeValue","_a","overrides","key","CheckSvg","props","jsx","IconCircle","Fragment","styles","SvgContainer"],"mappings":"6CAEO,MAAMA,EAAmB,CAAE,SAAU,QAAS,YAAa,aAAc,MAAO,EAE1EC,EAAmB,CAC9B,iBAAuCC,EAAY,CACjD,OAAI,MAAM,QAAQA,CAAI,EACbA,EAAK,IAAID,EAAiB,0BAA0B,EAGzD,MAAM,QAAQC,GAAA,YAAAA,EAAM,IAAI,EACnB,CAAE,GAAGA,EAAM,KAAMA,EAAK,KAAK,IAAID,EAAiB,0BAA0B,CAAA,EAG5EA,EAAiB,2BAA2BC,CAAI,CACzD,EAEA,2BAA2BC,EAAwC,OACjE,MAAMC,GAAaC,EAAAF,EAAe,SAAf,YAAAE,EAAuB,MAC1C,GAAI,CAACD,EAAY,OAAOD,EAExB,MAAMG,EAAwB,CAAA,EAC9B,UAAWC,KAAOP,EACZI,EAAWG,CAAG,IAChBD,EAAUC,CAAG,EAAIH,EAAWG,CAAG,GAInC,MAAO,CAAE,GAAGJ,EAAgB,GAAGG,CAAA,CACjC,CACF,EC5BO,SAASE,EAASC,EAAsC,CAC7D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,SAAS,UACT,EAAE,sGACF,SAAS,SAAA,CAAA,EAEb,CAEJ,+DCIAC,EAAW,aAAe,CACxB,YAAa,OACf,EAEO,SAASA,EAAWF,EAAqC,CAC9D,MAAI,CAACA,EAAM,UAAY,CAACA,EAAM,IACrBC,EAAAA,IAAAE,EAAAA,SAAA,EAAE,EAEPH,EAAM,SAENC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGG,EAAO,GAAG,8BAA+B,MAAO,CAAE,gBAAiB,OAAOJ,EAAM,QAAQ,GAAA,EAAO,SAAA,IAElH,EAKFC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGG,EAAO,MAAM,IAAIJ,EAAM,QAAU,MAAMA,EAAM,OAAO,GAAK,EAAE,SAASA,EAAM,WAAW,+BAA+BA,EAAM,qBAAuB,EAAE,GACpK,SAAAC,MAACI,EAAA,CAAa,IAAKL,EAAM,IAAK,KAAMA,EAAM,QAAS,EACrD,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a3 as A,aD as m,ad as d,ac as T,aI as r,ae as l,af as p,L as V,U as g,A as b,a as f,b as h,a6 as k}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{a3 as A,aD as m,ad as d,ac as T,aI as r,ae as l,af as p,L as V,U as g,A as b,a as f,b as h,a6 as k}from"./app-DIXL6Xww.js";import{A as w}from"./C_4wt9AF.chunk.js";const C="tv.addRequests",i=V.encloseNamespace(C);function y(u,a,o){const v=A(m.config());return function(e){var c;if(!a)return[];const t=u==="preview",n={id:e.id,name:e.title},s=t?d.VideoItemPreview:d.VideoListItem;return[{label:t?i("addVideo"):"",svg:t?void 0:w,tooltip:t?"":i("addVideo"),className:t?"btn btn-dark me-2 text-nowrap":"btn",button:!0,onClick:()=>{b.trigger({application:h.TV,action:f.Tv.ADD,args:[a.code,e.id],params:{currentTime:Math.floor(+(o==null?void 0:o.currentTime()))||void 0}})},analyticsData:n,analyticsOptions:{actionType:p.Click,entity:l.Video,descriptor:r.AddToWorkspace,location:s,workflowPhase:T.Start}},{label:i("editVideo"),href:g.urlBuilder(`${(c=v.data)==null?void 0:c.cloudEditorUrl}/tv/${e.globalId}`,{product:k.Exchange}),openInNewTab:!0,analyticsData:n,analyticsOptions:{actionType:p.Click,entity:l.Video,location:s,descriptor:r.EditVideo}}]}}export{y as u};
|
|
2
|
+
//# sourceMappingURL=ERJS4wRT.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"ERJS4wRT.chunk.js","sources":["../../src/apps/tv/hooks/useGetTvActions.ts"],"sourcesContent":["import { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/react/index';\n\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { PlayerReference } from 'libs/shared/context/player-context/interfaces/PlayerReference';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { AddVideoSvg } from 'libs/shared/images/svg/actions/AddVideoSvg';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\nimport { ExchangeConfig } from 'shared/interfaces/ExchangeConfig';\n\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nconst namespace = 'tv.addRequests';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype Location = 'preview' | 'video-list';\n\nexport function useGetTvActions(location: Location, region: TvRegion, playerRef?: PlayerReference) {\n const config = Flight.useBasicFetch<ExchangeConfig>(ConfigRequests.config());\n \n return function getTvActions(program: TvProgram): ActionOptions[] {\n if (!region)\n return [];\n\n const isPreview = location === 'preview';\n const analyticsData = { id: program.id, name: program.title };\n const locationContext = isPreview ? LocationContext.VideoItemPreview : LocationContext.VideoListItem;\n\n // TODO: Register analytics for all actions\n return [{\n label: isPreview ? getPhrase('addVideo') : '',\n svg: !isPreview ? AddVideoSvg : undefined,\n tooltip: isPreview ? '' : getPhrase('addVideo'),\n className: isPreview ? 'btn btn-dark me-2 text-nowrap' : 'btn',\n button: true,\n onClick: () => {\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.ADD,\n args: [ region.code, program.id ],\n params: {\n currentTime: Math.floor(+playerRef?.currentTime()) || undefined\n }\n });\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 label: getPhrase('editVideo'),\n href: UrlHelper.urlBuilder(\n `${config.data?.cloudEditorUrl}/tv/${program.globalId}`,\n { product: ProductId.Exchange }\n ),\n openInNewTab: true,\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n location: locationContext,\n descriptor: VideoActionDescriptor.EditVideo\n }\n }];\n };\n}"],"names":["namespace","getPhrase","LanguageService","useGetTvActions","location","region","playerRef","config","Flight.useBasicFetch","ConfigRequests","program","isPreview","analyticsData","locationContext","LocationContext","AddVideoSvg","Core.AppLinkHelper","AppChannels","Actions","UserAction","EntityType","VideoActionDescriptor","WorkflowPhase","UrlHelper","_a","ProductId"],"mappings":"0KAoBA,MAAMA,EAAY,iBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAIrD,SAASG,EAAgBC,EAAoBC,EAAkBC,EAA6B,CACjG,MAAMC,EAASC,EAAqCC,EAAe,QAAQ,EAE3E,OAAO,SAAsBC,EAAqC,OAChE,GAAI,CAACL,EACH,MAAO,CAAA,EAET,MAAMM,EAAYP,IAAa,UACzBQ,EAAgB,CAAE,GAAIF,EAAQ,GAAI,KAAMA,EAAQ,KAAA,EAChDG,EAAkBF,EAAYG,EAAgB,iBAAmBA,EAAgB,cAGvF,MAAO,CAAC,CACN,MAAOH,EAAYV,EAAU,UAAU,EAAI,GAC3C,IAAMU,EAA0B,OAAdI,EAClB,QAASJ,EAAY,GAAKV,EAAU,UAAU,EAC9C,UAAWU,EAAY,gCAAkC,MACzD,OAAQ,GACR,QAAS,IAAM,CACbK,EAAmB,QAAQ,CACzB,YAAaC,EAAY,GACzB,OAAQC,EAAQ,GAAG,IACnB,KAAM,CAAEb,EAAO,KAAMK,EAAQ,EAAG,EAChC,OAAQ,CACN,YAAa,KAAK,MAAM,EAACJ,GAAA,YAAAA,EAAW,cAAa,GAAK,MAAA,CACxD,CACD,CACH,EACA,cAAAM,EACA,iBAAkB,CAChB,WAAYO,EAAW,MACvB,OAAQC,EAAW,MACnB,WAAYC,EAAsB,eAClC,SAAUR,EACV,cAAeS,EAAc,KAAA,CAC/B,EACC,CACD,MAAOrB,EAAU,WAAW,EAC5B,KAAMsB,EAAU,WACd,IAAGC,EAAAjB,EAAO,OAAP,YAAAiB,EAAa,cAAc,OAAOd,EAAQ,QAAQ,GACrD,CAAE,QAASe,EAAU,QAAA,CAAS,EAEhC,aAAc,GACd,cAAAb,EACA,iBAAkB,CAChB,WAAYO,EAAW,MACvB,OAAQC,EAAW,MACnB,SAAUP,EACV,WAAYQ,EAAsB,SAAA,CACpC,CACD,CACH,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Z as me,T as te,j as n,K as be,r as I,w as ge,A as pe,R as ue,B,a1 as ye,L as v,x as G,aQ as le,U as ve,a3 as N,a2 as xe,an as Te,P as Le,c as J,a5 as Ne,aR as de,M as z,aD as Ae}from"./app-F40DpJf0.js";import{l as Ce}from"./CCRn1ABX.chunk.js";import{u as Se,F as K,l as M,a as _e}from"./BKi3hrx8.chunk.js";import{A as je}from"./ChMcPIOp.chunk.js";import{C as Pe}from"./Bn0x3bVV.chunk.js";import{H as ce}from"./I59Hs9Lx.chunk.js";import{L as Y}from"./CwIkFpAK.chunk.js";import{V as ke}from"./B-uJ9QxS.chunk.js";import{u as Fe}from"./DovRcfVM.chunk.js";import{u as Ee}from"./DGXKrtD9.chunk.js";import{V as Q}from"./BxTf0tGn.chunk.js";import"./4fxPWB-y.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./WI7FPt1a.chunk.js";function ee(e,t,r){if(te.isEqual(e.id,t))return[e,r];const i=e.children;if(!i||!i.length)return[null,null];for(let a=0;a<i.length;a++){const[o,c]=ee(i[a],t,[...r,e]);if(o)return[o,c]}return[null,null]}const qe=7,m={find(e,t){if(!(!e||!e.children||!e.children.length))for(let r=0;r<e.children.length;r++){const[i]=ee(e.children[r],t,[]);if(i)return i}},getPath(e,t){if(!(!e||!e.children||!e.children.length))for(let r=0;r<e.children.length;r++){const[,i]=ee(e.children[r],t,[]);if(i!=null&&i.length)return i}},getParent(e,t){const r=m.getPath(e,t);return r!=null&&r.length?r[r.length-1]:null},convertNestedObjectToTree(e){var r;const t={...e.data,children:e.children};return(r=t.children)!=null&&r.length&&(t.children=t.children.map(m.convertNestedObjectToTree)),t},findDepth(e,t,r=0){var a,o;if(!e||e.length===0)return 0;let i=0;for(const c of e){if(((o=(a=c.data)==null?void 0:a.id)==null?void 0:o.toString())===t.toString())return r;const f=m.findDepth(c.children,t,r+1);if(f>0){i=f;break}}return i},findMaxChildDepth(e,t=0){if(!e||e.length===0)return t;let r=t;for(const i of e){const a=m.findMaxChildDepth(i.children,t+1);r=Math.max(r,a)}return r},findTargetNode(e,t){var r,i;if(!e||e.length===0)return null;for(const a of e){if(((i=(r=a.data)==null?void 0:r.id)==null?void 0:i.toString())===t.toString())return a;const o=m.findTargetNode(a.children,t);if(o!==null)return o}return null},isMaxDepth(e,t,r,i=qe){const a=m.findTargetNode(e,t),o=m.findMaxChildDepth(a.children),c=m.findDepth(e,r);return o+c>=i},flatten(e){if(!e)return[];const t=[];function r(i){t.push(me.omit(i,["children"])),i.children.forEach(r)}return e.children.forEach(r),t}},Ie="_tree_u0qyb_1",Re="_text_u0qyb_1",Oe="_chevron_u0qyb_4",De="_disabled_u0qyb_163",Me="_root_u0qyb_166",Ue="_selected_u0qyb_172",$e="_actions_u0qyb_175",we="_node_u0qyb_185",He="_noActions_u0qyb_188",b={tree:Ie,text:Re,chevron:Oe,disabled:De,root:Me,selected:Ue,actions:$e,node:we,noActions:He};function Ve(e){var r;function t(){let i=`${b.text} clamp-4`;return e.className&&(i+=` ${e.className}`),i}if(e.isDisabled){const i=typeof e.disabledTooltip=="string"?e.disabledTooltip:(r=e.disabledTooltip)==null?void 0:r.call(e,e.tree);return n.jsx(be,{title:i,spanHack:!0,spanHackClassName:"d-inline-block flex-grow-1",children:n.jsx("span",{className:`${t()} text-secondary ${b.disabled}`,children:e.text})})}return n.jsx("div",{className:t(),children:e.text})}const We="tree-actions";fe.defaultProps={selectedLinkClassName:b.selected};function fe(e){const{tree:t,selectedIds:r,getAppLink:i,onSelect:a,isDisabled:o,isClickDisabled:c,actions:f,isDropdown:d}=e,h=I.useRef(null),x=I.useMemo(()=>r==null?void 0:r.some(l=>m.find(t,l)),[t,r]),R=e.openDepth&&e.depth<e.openDepth,[g,C]=I.useState(x||R),S=r==null?void 0:r.some(l=>te.isEqual(t.id,l));let _=!!t.children&&!!t.children.length;e.maxDisplayDepth&&_&&(_=e.depth<e.maxDisplayDepth),I.useEffect(()=>{if(!h.current||!d)return;const l=O=>{O.stopPropagation(),j()};return h.current.addEventListener("click",l),()=>{h.current&&h.current.removeEventListener("click",l)}},[h.current,a]),I.useEffect(()=>{var l;e.multiSelect||g&&(x||S||!((l=e.selectedIds)!=null&&l.length)&&(o!=null&&o(e.tree))||R||C(!1))},[r]);function j(){if(!(c!=null&&c(t))){if(e.multiSelect||C(!g),i){pe.trigger(i(t));return}if(o!=null&&o(t)){a(null);return}a==null||a(t)}}function w(l){if(l.stopPropagation(),e.multiSelect){C(!g);return}j()}function H(){let l=`py-1 d-flex align-items-center w-100 position-relative ${b.node}`;return S&&(l+=" "+e.selectedLinkClassName),f!=null&&f.length||(l+=" "+b.noActions),x&&e.multiSelect&&(l+=" text-underline fst-italic"),l}return e.maxDisplayDepth&&e.depth>e.maxDisplayDepth?n.jsx(n.Fragment,{}):n.jsx("li",{className:`position-relative ${g?"":b.collapsed} ${e.isRoot?b.root:""}`,children:n.jsxs("div",{className:"position-relative",children:[n.jsxs(ge,{className:H(),onClick:d?null:j,ref:h,children:[_&&n.jsx("div",{className:b.chevron,onClick:w,children:n.jsx(Pe,{direction:g?"down":"right"})}),n.jsx(Ve,{tree:t,text:t.name||t.description,isDisabled:(o==null?void 0:o(t))||(c==null?void 0:c(t)),disabledTooltip:e.disabledTooltip})]}),!!e.actions&&n.jsx(je,{className:b.actions,actions:f==null?void 0:f.map(l=>({...l,appLink:l.getAppLink(t)})),actionsDropdownClassName:`btn btn-light ${We} py-0`}),g&&n.jsx(he,{...e,isChild:!0,depth:e.depth+1},t.id)]})})}function he(e){const{tree:t,...r}=e;return!t||!t.children?n.jsx(n.Fragment,{}):n.jsx("ul",{className:`m-0 p-0 list-unstyled ${b.tree}`,children:t.children.map((i,a)=>n.jsx(fe,{tree:i,...r,isRoot:!e.isChild,depth:e.depth||0},a))})}const T="libraries.addToLibraryForm",X=v.encloseNamespace(T);function Be(e){var o,c,f;const t=Se(),r=!t.values.library.canAddContent,i=(o=e.videoLibraries)==null?void 0:o.find(d=>d.id===t.values.library.id),a=ue.useMemo(()=>({children:e.getCategoryTree(t.values.library.id).map(m.convertNestedObjectToTree)}),[t.values.library.id]);return n.jsxs(n.Fragment,{children:[i&&n.jsx("div",{className:"alert alert-info",children:n.jsx(B,{namespace:T,phrase:"alreadyInLibrary",options:{library:t.values.library.name}})}),r&&n.jsx("p",{children:n.jsx(B,{namespace:T,phrase:"sendLibraryRequest",options:{video:e.video.name}})}),n.jsxs(ye,{children:[e.libraries.length>1&&n.jsx(K,{as:"select",label:X("selectLibrary"),name:"library",value:((c=t.values.library)==null?void 0:c.id)??"",className:(f=t.values.library)!=null&&f.id?"":"text-secondary",showRequiredStar:!0,onChange:d=>{t.setFieldValue("folder",null);const h=d.target.value;t.setFieldValue("library",e.libraries.find(x=>x.id.toString()===h.toString()))},children:e.libraries.map(d=>n.jsx("option",{value:d.id,className:"text-dark",children:d.name},d.id))}),n.jsx(K,{label:X("selectFolder"),name:"folder",showRequiredStar:!0,disabled:!t.values.library,children:()=>{var d;return n.jsx(Ce.Scrollbars,{autoHeight:!0,autoHeightMax:300,className:"border rounded-3",children:n.jsx(he,{tree:a,onSelect:h=>t.setFieldValue("folder",h),isDisabled:e.isFolderDisabled,disabledTooltip:v.getPhrase(T,"disabledFolder"),selectedIds:(d=t.values.folder)!=null&&d.id?[t.values.folder.id]:void 0,selectedLinkClassName:"bg-light"})})}}),!!t.values.folder&&n.jsx("p",{className:"mt-n2",children:n.jsx(B,{namespace:T,phrase:r?"requestTo":"addTo",options:{folder:t.values.folder.name}})}),r&&n.jsx(K,{label:v.getPhrase(T,"comment"),as:"textarea",name:"comment",id:"comment",placeholder:v.getPhrase(T,"commentPlaceholder"),value:t.values.comment}),n.jsxs(G,{children:[n.jsx(G.Cancel,{onClick:e.closePopup}),n.jsx(G.Submit,{variant:"dark",text:X("addToLibrary")})]})]})]})}const Ge={sort(e){return e!=null&&e.length?e.sort((t,r)=>{const i=t.isSharedLibrary?"shared_library":t.type,a=r.isSharedLibrary?"shared_library":r.type;return i===a?t.name.localeCompare(r.name):i==="custom_library"||i==="shared_library"&&a!=="custom_library"||i==="hosted_library"&&a!=="custom_library"&&a!=="shared_library"?-1:1}):[]},hasTwigOrTigtag(e,t){if(!t)return{hasTwig:!1,hasTigtag:!1};if(!t.isAuthenticated){const a=t.contentRegion===le.UK||t.contentRegion===le.SCOT;return{hasTwig:a,hasTigtag:a}}if(!e)return{hasTwig:!1,hasTigtag:!1};let r=!1,i=!1;for(const a of e)if(a.id.toString()===ce.Libraries.TWIG?r=!0:a.id.toString()===ce.Libraries.TIGTAG&&(i=!0),r&&i)break;return{hasTwig:r,hasTigtag:i}}},Z="libraries.validation",Je=M.object().shape({comment:M.string().nullable().max(512,()=>v.getPhrase(Z,"commentExceeds")),library:M.object().required(()=>v.getPhrase(Z,"libraryRequired")).nullable(),folder:M.object().required(()=>v.getPhrase(Z,"folderRequired")).nullable()});var $=(e=>(e[e.MasterVideo=1]="MasterVideo",e[e.MasterClip=2]="MasterClip",e[e.MasterInteractive=3]="MasterInteractive",e))($||{});const U=v.encloseNamespace("shared.errorMessageHelper"),ze={"operation-not-allowed":"operationNotAllowed","library-not-supported":"libraryNotSupported","access-denied":"accessDenied","library-access-denied":"libraryAccessDenied","library-access-denied-create":"libraryAccessDeniedCreate","library-access-denied-fulfil":"libraryAccessDeniedFulfill","library-access-denied-not-authorized":"libraryAccessDeniedNotAuthorized","library-request-access-denied":"accessDenied","library-request-access-denied-create-request":"libraryRequestAccessDeniedCreateRequest","library-request-access-denied-process-comment":"libraryRequestAccessDeniedProcessComment","customer-not-found":"customerNotFound","customer-not-found-current-user":"customerNotFound","customer-not-found-library-owner":"customerNotFoundLibraryOwner","customer-not-found-destination-library-owner":"customerNotFoundLibraryOwner","user-not-found":"userNotFound","library-not-found":"libraryNotFound","video-not-found":"videoNotFound","category-not-found":"categoryNotFound","category-not-found-destination-not-provided":"categoryNotFoundDestinationNotProvided","category-not-found-not-in-library":"categoryNotFoundInLibrary","library-request-not-found":"libraryRequestNotFound","invalid-category-path":"invalidCategoryPath","library-api-error":"somethingWentWrong","content-not-playable":"contentNotPlayable","invalid-object":"invalidObject","same-request-existed":"sameRequestExisted","unknown-error":"somethingWentWrong","no-email":"noEmailError"},Ke={"create-invitation-failed":"createInvitationFailed","invitation-resend-failed":"invitationResendFailed","failed-to-accept":"failedToAccept","invitee-not-found":"inviteeNotFound","invitation-not-found":"invitationNotFound","invitation-deleted":"invitationDeleted","too-many-emails":"tooManyEmails"},Ye={libraryApiError(e){var r;const t=ze[(r=e==null?void 0:e.responseJSON)==null?void 0:r.type];return U(t||"somethingWentWrong")},inviteColleagueError(e){var r;const t=Ke[(r=e==null?void 0:e.responseJSON)==null?void 0:r.type];return U(t||"somethingWentWrong")}},y={buildOpenAppLinkUrl(e,t,r){return ve.urlBuilder(`${e}/open`,{appLink:t,product:r})},buildOpenVideoUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`video:${t}`,r)},buildOpenClipUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`clip:${t}`,r)},buildOpenInteractiveUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`interactive:${t}`,r)},buildOpenTopicUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`topic:${t}`,r)},buildOpenSeriesUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`series:${t}`,r)},buildOpenPlaylistUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`playlist:${t}`,r)},buildOpenCategoryUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`category:${t}`,r)},buildOpenLibraryFolderUrl(e,t,r){const i=`library:${t.libraryId}:folder:${t.folderId}`;return y.buildOpenAppLinkUrl(e,i,r)}},Qe={[z.Video]:$.MasterVideo,[z.Clip]:$.MasterClip,[z.Interactive]:$.MasterInteractive},Xe="libraries.addToLibrary",A=v.encloseNamespace(Xe);function mt(e){var re,ie,ne;const t=N(Ne.currentUser()),r=N(Y.librariesWithCategories()),i=N(Y.libraryRequestLibraries()),a=Q.getVideoRequest(e.id,e.typeId),o=N(a),f=(Q.isClip(o.data)||Q.isInteractive(o.data))&&((re=o.data)==null?void 0:re._parentVideo),d=N(f&&ke.video(f.id)),{loading:h,handleGenerateReportError:x}=Ee(),R=N(Ae.config()),g=ue.useMemo(()=>Ge.sort(i.data),[i.data]),C=xe(),S=Fe(),_=!!t.data&&Te.getOrSetSortType(t.data.id);function j(){var p,L,D,P,k,ae,oe,se;let s=null,u=(D=J.first((L=(p=o.data)==null?void 0:p.libraries)==null?void 0:L.data))==null?void 0:D.id;if(u&&((P=o.data.categories.data)!=null&&P.length)){const F=o.data.categories.data.find(V=>{var E,q;return(q=(E=V.libraries)==null?void 0:E.data)==null?void 0:q.find(W=>W.id.toString()===u.toString())});F&&(s=F.id)}if(!u&&(u=(oe=J.first((ae=(k=d.data)==null?void 0:k.libraries)==null?void 0:ae.data))==null?void 0:oe.id,u&&((se=d.data.categories.data)!=null&&se.length))){const F=d.data.categories.data.find(V=>{var E,q;return(q=(E=V.libraries)==null?void 0:E.data)==null?void 0:q.find(W=>W.id.toString()===u.toString())});F&&(s=F.id)}return{sourceLibraryId:u?+u:null,sourceCategoryId:s?+s:null}}function w(s,u){const{sourceLibraryId:p,sourceCategoryId:L}=j(),D={objectId:e.id.toString(),objectType:Qe[e.typeId],message:s.comment,sourceLibraryId:p,destinationLibraryId:+s.library.id,metadata:{destinationCategoryId:+s.folder.id,sourceCategoryId:L}};C(Y.addToLibrary(D,_)).then(()=>{s.library.canAddContent?S.success({type:de.Success,heading:"",message:A("addToLibrarySuccess",{folder:s.folder.name,video:o.data.name,escapeText:!0}),...e.folderAppLink?{appLink:{...e.folderAppLink,args:[s.library.id,s.folder.id,te.slugify(s.folder.name)]},appLinkText:A("goToFolder",{folder:s.folder.name}),appLinkClassName:"info-link"}:{extLink:y.buildOpenLibraryFolderUrl(R.data.launchUrl,{libraryId:s.library.id,folderId:s.folder.id}),extLinkText:A("goToFolder",{folder:s.folder.name}),extLinkClassName:"info-link"}}):S.success({type:de.Pending,heading:A("pendingApproval"),message:A("libraryRequestSent",{library:s.library.name,escapeText:!0})})}).catch(P=>{const k=Ye.libraryApiError(P);x(P,k,k),u()}).finally(()=>{e.closePopup()})}function H(s){var u;return(u=r.data.find(p=>p.data.id.toString()===s.toString()))==null?void 0:u.children}function l(s){var u,p;return!!((p=(u=o.data.categories)==null?void 0:u.data)!=null&&p.find(L=>L.id===s.id))}const O=i.data&&o.data&&r.data;return n.jsx(Le,{title:A("addToLibrary"),closePopup:e.closePopup,showLoadingSpinner:!O||h,children:O&&n.jsx(_e,{initialValues:{library:J.first(g),folder:null,comment:""},validationSchema:Je,onSubmit:w,children:n.jsx(Be,{libraries:g,closePopup:e.closePopup,isFolderDisabled:l,video:o.data,videoLibraries:(ne=(ie=o.data)==null?void 0:ie.libraries)==null?void 0:ne.data,getCategoryTree:H})})})}export{mt as AddToLibraryView};
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{Z as me,T as te,j as n,K as be,r as I,w as ge,A as pe,R as ue,B,a1 as ye,L as v,x as G,aQ as le,U as ve,a3 as N,a2 as xe,an as Te,P as Le,c as J,a5 as Ne,aR as de,M as z,aD as Ae}from"./app-DIXL6Xww.js";import{l as Ce}from"./CbaYOIsv.chunk.js";import{u as Se,F as K,l as M,a as _e}from"./04pgOdRO.chunk.js";import{A as je}from"./BljWHlhm.chunk.js";import{C as Pe}from"./Cd9rSWFI.chunk.js";import{H as ce}from"./CTVtP7l8.chunk.js";import{L as Y}from"./CqC__fxH.chunk.js";import{V as ke}from"./BVLYrDIr.chunk.js";import{u as Fe}from"./DO5O1Cbr.chunk.js";import{u as Ee}from"./BsOHikPe.chunk.js";import{V as Q}from"./CtxDEXnF.chunk.js";import"./BBHWPp1j.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./DhQH7eoo.chunk.js";function ee(e,t,r){if(te.isEqual(e.id,t))return[e,r];const i=e.children;if(!i||!i.length)return[null,null];for(let a=0;a<i.length;a++){const[o,c]=ee(i[a],t,[...r,e]);if(o)return[o,c]}return[null,null]}const qe=7,m={find(e,t){if(!(!e||!e.children||!e.children.length))for(let r=0;r<e.children.length;r++){const[i]=ee(e.children[r],t,[]);if(i)return i}},getPath(e,t){if(!(!e||!e.children||!e.children.length))for(let r=0;r<e.children.length;r++){const[,i]=ee(e.children[r],t,[]);if(i!=null&&i.length)return i}},getParent(e,t){const r=m.getPath(e,t);return r!=null&&r.length?r[r.length-1]:null},convertNestedObjectToTree(e){var r;const t={...e.data,children:e.children};return(r=t.children)!=null&&r.length&&(t.children=t.children.map(m.convertNestedObjectToTree)),t},findDepth(e,t,r=0){var a,o;if(!e||e.length===0)return 0;let i=0;for(const c of e){if(((o=(a=c.data)==null?void 0:a.id)==null?void 0:o.toString())===t.toString())return r;const f=m.findDepth(c.children,t,r+1);if(f>0){i=f;break}}return i},findMaxChildDepth(e,t=0){if(!e||e.length===0)return t;let r=t;for(const i of e){const a=m.findMaxChildDepth(i.children,t+1);r=Math.max(r,a)}return r},findTargetNode(e,t){var r,i;if(!e||e.length===0)return null;for(const a of e){if(((i=(r=a.data)==null?void 0:r.id)==null?void 0:i.toString())===t.toString())return a;const o=m.findTargetNode(a.children,t);if(o!==null)return o}return null},isMaxDepth(e,t,r,i=qe){const a=m.findTargetNode(e,t),o=m.findMaxChildDepth(a.children),c=m.findDepth(e,r);return o+c>=i},flatten(e){if(!e)return[];const t=[];function r(i){t.push(me.omit(i,["children"])),i.children.forEach(r)}return e.children.forEach(r),t}},Ie="_tree_u0qyb_1",Re="_text_u0qyb_1",Oe="_chevron_u0qyb_4",De="_disabled_u0qyb_163",Me="_root_u0qyb_166",Ue="_selected_u0qyb_172",$e="_actions_u0qyb_175",we="_node_u0qyb_185",He="_noActions_u0qyb_188",b={tree:Ie,text:Re,chevron:Oe,disabled:De,root:Me,selected:Ue,actions:$e,node:we,noActions:He};function Ve(e){var r;function t(){let i=`${b.text} clamp-4`;return e.className&&(i+=` ${e.className}`),i}if(e.isDisabled){const i=typeof e.disabledTooltip=="string"?e.disabledTooltip:(r=e.disabledTooltip)==null?void 0:r.call(e,e.tree);return n.jsx(be,{title:i,spanHack:!0,spanHackClassName:"d-inline-block flex-grow-1",children:n.jsx("span",{className:`${t()} text-secondary ${b.disabled}`,children:e.text})})}return n.jsx("div",{className:t(),children:e.text})}const We="tree-actions";fe.defaultProps={selectedLinkClassName:b.selected};function fe(e){const{tree:t,selectedIds:r,getAppLink:i,onSelect:a,isDisabled:o,isClickDisabled:c,actions:f,isDropdown:d}=e,h=I.useRef(null),x=I.useMemo(()=>r==null?void 0:r.some(l=>m.find(t,l)),[t,r]),R=e.openDepth&&e.depth<e.openDepth,[g,C]=I.useState(x||R),S=r==null?void 0:r.some(l=>te.isEqual(t.id,l));let _=!!t.children&&!!t.children.length;e.maxDisplayDepth&&_&&(_=e.depth<e.maxDisplayDepth),I.useEffect(()=>{if(!h.current||!d)return;const l=O=>{O.stopPropagation(),j()};return h.current.addEventListener("click",l),()=>{h.current&&h.current.removeEventListener("click",l)}},[h.current,a]),I.useEffect(()=>{var l;e.multiSelect||g&&(x||S||!((l=e.selectedIds)!=null&&l.length)&&(o!=null&&o(e.tree))||R||C(!1))},[r]);function j(){if(!(c!=null&&c(t))){if(e.multiSelect||C(!g),i){pe.trigger(i(t));return}if(o!=null&&o(t)){a(null);return}a==null||a(t)}}function w(l){if(l.stopPropagation(),e.multiSelect){C(!g);return}j()}function H(){let l=`py-1 d-flex align-items-center w-100 position-relative ${b.node}`;return S&&(l+=" "+e.selectedLinkClassName),f!=null&&f.length||(l+=" "+b.noActions),x&&e.multiSelect&&(l+=" text-underline fst-italic"),l}return e.maxDisplayDepth&&e.depth>e.maxDisplayDepth?n.jsx(n.Fragment,{}):n.jsx("li",{className:`position-relative ${g?"":b.collapsed} ${e.isRoot?b.root:""}`,children:n.jsxs("div",{className:"position-relative",children:[n.jsxs(ge,{className:H(),onClick:d?null:j,ref:h,children:[_&&n.jsx("div",{className:b.chevron,onClick:w,children:n.jsx(Pe,{direction:g?"down":"right"})}),n.jsx(Ve,{tree:t,text:t.name||t.description,isDisabled:(o==null?void 0:o(t))||(c==null?void 0:c(t)),disabledTooltip:e.disabledTooltip})]}),!!e.actions&&n.jsx(je,{className:b.actions,actions:f==null?void 0:f.map(l=>({...l,appLink:l.getAppLink(t)})),actionsDropdownClassName:`btn btn-light ${We} py-0`}),g&&n.jsx(he,{...e,isChild:!0,depth:e.depth+1},t.id)]})})}function he(e){const{tree:t,...r}=e;return!t||!t.children?n.jsx(n.Fragment,{}):n.jsx("ul",{className:`m-0 p-0 list-unstyled ${b.tree}`,children:t.children.map((i,a)=>n.jsx(fe,{tree:i,...r,isRoot:!e.isChild,depth:e.depth||0},a))})}const T="libraries.addToLibraryForm",X=v.encloseNamespace(T);function Be(e){var o,c,f;const t=Se(),r=!t.values.library.canAddContent,i=(o=e.videoLibraries)==null?void 0:o.find(d=>d.id===t.values.library.id),a=ue.useMemo(()=>({children:e.getCategoryTree(t.values.library.id).map(m.convertNestedObjectToTree)}),[t.values.library.id]);return n.jsxs(n.Fragment,{children:[i&&n.jsx("div",{className:"alert alert-info",children:n.jsx(B,{namespace:T,phrase:"alreadyInLibrary",options:{library:t.values.library.name}})}),r&&n.jsx("p",{children:n.jsx(B,{namespace:T,phrase:"sendLibraryRequest",options:{video:e.video.name}})}),n.jsxs(ye,{children:[e.libraries.length>1&&n.jsx(K,{as:"select",label:X("selectLibrary"),name:"library",value:((c=t.values.library)==null?void 0:c.id)??"",className:(f=t.values.library)!=null&&f.id?"":"text-secondary",showRequiredStar:!0,onChange:d=>{t.setFieldValue("folder",null);const h=d.target.value;t.setFieldValue("library",e.libraries.find(x=>x.id.toString()===h.toString()))},children:e.libraries.map(d=>n.jsx("option",{value:d.id,className:"text-dark",children:d.name},d.id))}),n.jsx(K,{label:X("selectFolder"),name:"folder",showRequiredStar:!0,disabled:!t.values.library,children:()=>{var d;return n.jsx(Ce.Scrollbars,{autoHeight:!0,autoHeightMax:300,className:"border rounded-3",children:n.jsx(he,{tree:a,onSelect:h=>t.setFieldValue("folder",h),isDisabled:e.isFolderDisabled,disabledTooltip:v.getPhrase(T,"disabledFolder"),selectedIds:(d=t.values.folder)!=null&&d.id?[t.values.folder.id]:void 0,selectedLinkClassName:"bg-light"})})}}),!!t.values.folder&&n.jsx("p",{className:"mt-n2",children:n.jsx(B,{namespace:T,phrase:r?"requestTo":"addTo",options:{folder:t.values.folder.name}})}),r&&n.jsx(K,{label:v.getPhrase(T,"comment"),as:"textarea",name:"comment",id:"comment",placeholder:v.getPhrase(T,"commentPlaceholder"),value:t.values.comment}),n.jsxs(G,{children:[n.jsx(G.Cancel,{onClick:e.closePopup}),n.jsx(G.Submit,{variant:"dark",text:X("addToLibrary")})]})]})]})}const Ge={sort(e){return e!=null&&e.length?e.sort((t,r)=>{const i=t.isSharedLibrary?"shared_library":t.type,a=r.isSharedLibrary?"shared_library":r.type;return i===a?t.name.localeCompare(r.name):i==="custom_library"||i==="shared_library"&&a!=="custom_library"||i==="hosted_library"&&a!=="custom_library"&&a!=="shared_library"?-1:1}):[]},hasTwigOrTigtag(e,t){if(!t)return{hasTwig:!1,hasTigtag:!1};if(!t.isAuthenticated){const a=t.contentRegion===le.UK||t.contentRegion===le.SCOT;return{hasTwig:a,hasTigtag:a}}if(!e)return{hasTwig:!1,hasTigtag:!1};let r=!1,i=!1;for(const a of e)if(a.id.toString()===ce.Libraries.TWIG?r=!0:a.id.toString()===ce.Libraries.TIGTAG&&(i=!0),r&&i)break;return{hasTwig:r,hasTigtag:i}}},Z="libraries.validation",Je=M.object().shape({comment:M.string().nullable().max(512,()=>v.getPhrase(Z,"commentExceeds")),library:M.object().required(()=>v.getPhrase(Z,"libraryRequired")).nullable(),folder:M.object().required(()=>v.getPhrase(Z,"folderRequired")).nullable()});var $=(e=>(e[e.MasterVideo=1]="MasterVideo",e[e.MasterClip=2]="MasterClip",e[e.MasterInteractive=3]="MasterInteractive",e))($||{});const U=v.encloseNamespace("shared.errorMessageHelper"),ze={"operation-not-allowed":"operationNotAllowed","library-not-supported":"libraryNotSupported","access-denied":"accessDenied","library-access-denied":"libraryAccessDenied","library-access-denied-create":"libraryAccessDeniedCreate","library-access-denied-fulfil":"libraryAccessDeniedFulfill","library-access-denied-not-authorized":"libraryAccessDeniedNotAuthorized","library-request-access-denied":"accessDenied","library-request-access-denied-create-request":"libraryRequestAccessDeniedCreateRequest","library-request-access-denied-process-comment":"libraryRequestAccessDeniedProcessComment","customer-not-found":"customerNotFound","customer-not-found-current-user":"customerNotFound","customer-not-found-library-owner":"customerNotFoundLibraryOwner","customer-not-found-destination-library-owner":"customerNotFoundLibraryOwner","user-not-found":"userNotFound","library-not-found":"libraryNotFound","video-not-found":"videoNotFound","category-not-found":"categoryNotFound","category-not-found-destination-not-provided":"categoryNotFoundDestinationNotProvided","category-not-found-not-in-library":"categoryNotFoundInLibrary","library-request-not-found":"libraryRequestNotFound","invalid-category-path":"invalidCategoryPath","library-api-error":"somethingWentWrong","content-not-playable":"contentNotPlayable","invalid-object":"invalidObject","same-request-existed":"sameRequestExisted","unknown-error":"somethingWentWrong","no-email":"noEmailError"},Ke={"create-invitation-failed":"createInvitationFailed","invitation-resend-failed":"invitationResendFailed","failed-to-accept":"failedToAccept","invitee-not-found":"inviteeNotFound","invitation-not-found":"invitationNotFound","invitation-deleted":"invitationDeleted","too-many-emails":"tooManyEmails"},Ye={libraryApiError(e){var r;const t=ze[(r=e==null?void 0:e.responseJSON)==null?void 0:r.type];return U(t||"somethingWentWrong")},inviteColleagueError(e){var r;const t=Ke[(r=e==null?void 0:e.responseJSON)==null?void 0:r.type];return U(t||"somethingWentWrong")}},y={buildOpenAppLinkUrl(e,t,r){return ve.urlBuilder(`${e}/open`,{appLink:t,product:r})},buildOpenVideoUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`video:${t}`,r)},buildOpenClipUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`clip:${t}`,r)},buildOpenInteractiveUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`interactive:${t}`,r)},buildOpenTopicUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`topic:${t}`,r)},buildOpenSeriesUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`series:${t}`,r)},buildOpenPlaylistUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`playlist:${t}`,r)},buildOpenCategoryUrl(e,t,r){return y.buildOpenAppLinkUrl(e,`category:${t}`,r)},buildOpenLibraryFolderUrl(e,t,r){const i=`library:${t.libraryId}:folder:${t.folderId}`;return y.buildOpenAppLinkUrl(e,i,r)}},Qe={[z.Video]:$.MasterVideo,[z.Clip]:$.MasterClip,[z.Interactive]:$.MasterInteractive},Xe="libraries.addToLibrary",A=v.encloseNamespace(Xe);function mt(e){var re,ie,ne;const t=N(Ne.currentUser()),r=N(Y.librariesWithCategories()),i=N(Y.libraryRequestLibraries()),a=Q.getVideoRequest(e.id,e.typeId),o=N(a),f=(Q.isClip(o.data)||Q.isInteractive(o.data))&&((re=o.data)==null?void 0:re._parentVideo),d=N(f&&ke.video(f.id)),{loading:h,handleGenerateReportError:x}=Ee(),R=N(Ae.config()),g=ue.useMemo(()=>Ge.sort(i.data),[i.data]),C=xe(),S=Fe(),_=!!t.data&&Te.getOrSetSortType(t.data.id);function j(){var p,L,D,P,k,ae,oe,se;let s=null,u=(D=J.first((L=(p=o.data)==null?void 0:p.libraries)==null?void 0:L.data))==null?void 0:D.id;if(u&&((P=o.data.categories.data)!=null&&P.length)){const F=o.data.categories.data.find(V=>{var E,q;return(q=(E=V.libraries)==null?void 0:E.data)==null?void 0:q.find(W=>W.id.toString()===u.toString())});F&&(s=F.id)}if(!u&&(u=(oe=J.first((ae=(k=d.data)==null?void 0:k.libraries)==null?void 0:ae.data))==null?void 0:oe.id,u&&((se=d.data.categories.data)!=null&&se.length))){const F=d.data.categories.data.find(V=>{var E,q;return(q=(E=V.libraries)==null?void 0:E.data)==null?void 0:q.find(W=>W.id.toString()===u.toString())});F&&(s=F.id)}return{sourceLibraryId:u?+u:null,sourceCategoryId:s?+s:null}}function w(s,u){const{sourceLibraryId:p,sourceCategoryId:L}=j(),D={objectId:e.id.toString(),objectType:Qe[e.typeId],message:s.comment,sourceLibraryId:p,destinationLibraryId:+s.library.id,metadata:{destinationCategoryId:+s.folder.id,sourceCategoryId:L}};C(Y.addToLibrary(D,_)).then(()=>{s.library.canAddContent?S.success({type:de.Success,heading:"",message:A("addToLibrarySuccess",{folder:s.folder.name,video:o.data.name,escapeText:!0}),...e.folderAppLink?{appLink:{...e.folderAppLink,args:[s.library.id,s.folder.id,te.slugify(s.folder.name)]},appLinkText:A("goToFolder",{folder:s.folder.name}),appLinkClassName:"info-link"}:{extLink:y.buildOpenLibraryFolderUrl(R.data.launchUrl,{libraryId:s.library.id,folderId:s.folder.id}),extLinkText:A("goToFolder",{folder:s.folder.name}),extLinkClassName:"info-link"}}):S.success({type:de.Pending,heading:A("pendingApproval"),message:A("libraryRequestSent",{library:s.library.name,escapeText:!0})})}).catch(P=>{const k=Ye.libraryApiError(P);x(P,k,k),u()}).finally(()=>{e.closePopup()})}function H(s){var u;return(u=r.data.find(p=>p.data.id.toString()===s.toString()))==null?void 0:u.children}function l(s){var u,p;return!!((p=(u=o.data.categories)==null?void 0:u.data)!=null&&p.find(L=>L.id===s.id))}const O=i.data&&o.data&&r.data;return n.jsx(Le,{title:A("addToLibrary"),closePopup:e.closePopup,showLoadingSpinner:!O||h,children:O&&n.jsx(_e,{initialValues:{library:J.first(g),folder:null,comment:""},validationSchema:Je,onSubmit:w,children:n.jsx(Be,{libraries:g,closePopup:e.closePopup,isFolderDisabled:l,video:o.data,videoLibraries:(ne=(ie=o.data)==null?void 0:ie.libraries)==null?void 0:ne.data,getCategoryTree:H})})})}export{mt as AddToLibraryView};
|
|
2
|
+
//# sourceMappingURL=EvPAqFMl.chunk.js.map
|