@clickview/exchange 0.53.0 → 0.54.0-rc.1
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/{C5MXXDzO.chunk.js → 3p7H0gvQ.chunk.js} +2 -2
- package/dist/scripts/{C5MXXDzO.chunk.js.map → 3p7H0gvQ.chunk.js.map} +1 -1
- package/dist/scripts/{DHlQlWkE.chunk.js → 5ByQDT1-.chunk.js} +2 -2
- package/dist/scripts/{DHlQlWkE.chunk.js.map → 5ByQDT1-.chunk.js.map} +1 -1
- package/dist/scripts/{CmIyH6d9.chunk.js → 6l9cOw3t.chunk.js} +2 -2
- package/dist/scripts/{CmIyH6d9.chunk.js.map → 6l9cOw3t.chunk.js.map} +1 -1
- package/dist/scripts/{Io7g60l1.chunk.js → 7lkv4JAy.chunk.js} +2 -2
- package/dist/scripts/{Io7g60l1.chunk.js.map → 7lkv4JAy.chunk.js.map} +1 -1
- package/dist/scripts/{B_ipiOyh.chunk.js → 93J3-8mL.chunk.js} +2 -2
- package/dist/scripts/{B_ipiOyh.chunk.js.map → 93J3-8mL.chunk.js.map} +1 -1
- package/dist/scripts/B-G9zwnF.chunk.js +2 -0
- package/dist/scripts/{Br8_3pQR.chunk.js.map → B-G9zwnF.chunk.js.map} +1 -1
- package/dist/scripts/{Bxof9qR3.chunk.js → B4FX3xP5.chunk.js} +2 -2
- package/dist/scripts/{Bxof9qR3.chunk.js.map → B4FX3xP5.chunk.js.map} +1 -1
- package/dist/scripts/{L5XMY5e5.chunk.js → BHWn8YVt.chunk.js} +2 -2
- package/dist/scripts/{L5XMY5e5.chunk.js.map → BHWn8YVt.chunk.js.map} +1 -1
- package/dist/scripts/{D62fgP9E.chunk.js → BK9ulFu0.chunk.js} +2 -2
- package/dist/scripts/{D62fgP9E.chunk.js.map → BK9ulFu0.chunk.js.map} +1 -1
- package/dist/scripts/{N0_8Eite.chunk.js → BKH_tbrl.chunk.js} +2 -2
- package/dist/scripts/{N0_8Eite.chunk.js.map → BKH_tbrl.chunk.js.map} +1 -1
- package/dist/scripts/{BpAshDEq.chunk.js → BKW_er5d.chunk.js} +2 -2
- package/dist/scripts/{BpAshDEq.chunk.js.map → BKW_er5d.chunk.js.map} +1 -1
- package/dist/scripts/{DJrX_udN.chunk.js → BTmuEvA1.chunk.js} +2 -2
- package/dist/scripts/{DJrX_udN.chunk.js.map → BTmuEvA1.chunk.js.map} +1 -1
- package/dist/scripts/{CRi1yEnr.chunk.js → B_bHiwz7.chunk.js} +2 -2
- package/dist/scripts/{CRi1yEnr.chunk.js.map → B_bHiwz7.chunk.js.map} +1 -1
- package/dist/scripts/{Bi7c3pdT.chunk.js → BbaZrg_N.chunk.js} +2 -2
- package/dist/scripts/{Bi7c3pdT.chunk.js.map → BbaZrg_N.chunk.js.map} +1 -1
- package/dist/scripts/{DuUYsdgx.chunk.js → BbohTQPm.chunk.js} +2 -2
- package/dist/scripts/{DuUYsdgx.chunk.js.map → BbohTQPm.chunk.js.map} +1 -1
- package/dist/scripts/{BYbvldmA.chunk.js → BdL19u9I.chunk.js} +2 -2
- package/dist/scripts/{BYbvldmA.chunk.js.map → BdL19u9I.chunk.js.map} +1 -1
- package/dist/scripts/{BJeXgaQK.chunk.js → BfCjbmaf.chunk.js} +2 -2
- package/dist/scripts/{BJeXgaQK.chunk.js.map → BfCjbmaf.chunk.js.map} +1 -1
- package/dist/scripts/{sqBAxDOa.chunk.js → BleBgM7I.chunk.js} +2 -2
- package/dist/scripts/{sqBAxDOa.chunk.js.map → BleBgM7I.chunk.js.map} +1 -1
- package/dist/scripts/{DTQrc2Wc.chunk.js → BmyE3_K4.chunk.js} +2 -2
- package/dist/scripts/{DTQrc2Wc.chunk.js.map → BmyE3_K4.chunk.js.map} +1 -1
- package/dist/scripts/{DsEwMbUK.chunk.js → BnvcPzwH.chunk.js} +2 -2
- package/dist/scripts/{DsEwMbUK.chunk.js.map → BnvcPzwH.chunk.js.map} +1 -1
- package/dist/scripts/{teFtDXco.chunk.js → BoQXuoHX.chunk.js} +2 -2
- package/dist/scripts/{teFtDXco.chunk.js.map → BoQXuoHX.chunk.js.map} +1 -1
- package/dist/scripts/{Bl-wWq3F.chunk.js → BqoMOt8Y.chunk.js} +3 -3
- package/dist/scripts/{Bl-wWq3F.chunk.js.map → BqoMOt8Y.chunk.js.map} +1 -1
- package/dist/scripts/{B60atIyl.chunk.js → BrP4vSsu.chunk.js} +2 -2
- package/dist/scripts/{B60atIyl.chunk.js.map → BrP4vSsu.chunk.js.map} +1 -1
- package/dist/scripts/{v_B4I3Qe.chunk.js → Bt9y2zOZ.chunk.js} +2 -2
- package/dist/scripts/{v_B4I3Qe.chunk.js.map → Bt9y2zOZ.chunk.js.map} +1 -1
- package/dist/scripts/{DezZNCrr.chunk.js → BxdL5iWy.chunk.js} +2 -2
- package/dist/scripts/{DezZNCrr.chunk.js.map → BxdL5iWy.chunk.js.map} +1 -1
- package/dist/scripts/{BhjoIeom.chunk.js → C0NZHivG.chunk.js} +2 -2
- package/dist/scripts/{BhjoIeom.chunk.js.map → C0NZHivG.chunk.js.map} +1 -1
- package/dist/scripts/{D4IS2gly.chunk.js → C1kgPMMN.chunk.js} +2 -2
- package/dist/scripts/{D4IS2gly.chunk.js.map → C1kgPMMN.chunk.js.map} +1 -1
- package/dist/scripts/C91K9PPq.chunk.js +2 -0
- package/dist/scripts/{Bho9orFk.chunk.js.map → C91K9PPq.chunk.js.map} +1 -1
- package/dist/scripts/{CqXGUZGd.chunk.js → CAyi887v.chunk.js} +2 -2
- package/dist/scripts/{CqXGUZGd.chunk.js.map → CAyi887v.chunk.js.map} +1 -1
- package/dist/scripts/{DGcpkvpe.chunk.js → CGX6eFbY.chunk.js} +2 -2
- package/dist/scripts/{DGcpkvpe.chunk.js.map → CGX6eFbY.chunk.js.map} +1 -1
- package/dist/scripts/{DwEB5UWK.chunk.js → CHpXkcxQ.chunk.js} +2 -2
- package/dist/scripts/{DwEB5UWK.chunk.js.map → CHpXkcxQ.chunk.js.map} +1 -1
- package/dist/scripts/{DSUbR6Ld.chunk.js → CMj2Dmby.chunk.js} +2 -2
- package/dist/scripts/{DSUbR6Ld.chunk.js.map → CMj2Dmby.chunk.js.map} +1 -1
- package/dist/scripts/{BwCUdl81.chunk.js → CT3nXP53.chunk.js} +2 -2
- package/dist/scripts/{BwCUdl81.chunk.js.map → CT3nXP53.chunk.js.map} +1 -1
- package/dist/scripts/CTzmwEsw.chunk.js +2 -0
- package/dist/scripts/{DKP8OSLt.chunk.js.map → CTzmwEsw.chunk.js.map} +1 -1
- package/dist/scripts/{CJD2tQAP.chunk.js → CULZfUaZ.chunk.js} +2 -2
- package/dist/scripts/{CJD2tQAP.chunk.js.map → CULZfUaZ.chunk.js.map} +1 -1
- package/dist/scripts/{gnYc5RVO.chunk.js → CV6CnfYv.chunk.js} +2 -2
- package/dist/scripts/{gnYc5RVO.chunk.js.map → CV6CnfYv.chunk.js.map} +1 -1
- package/dist/scripts/{CvlJsC2N.chunk.js → CYfvsHXQ.chunk.js} +2 -2
- package/dist/scripts/{CvlJsC2N.chunk.js.map → CYfvsHXQ.chunk.js.map} +1 -1
- package/dist/scripts/{DPihVRin.chunk.js → C_fk1RUS.chunk.js} +2 -2
- package/dist/scripts/{DPihVRin.chunk.js.map → C_fk1RUS.chunk.js.map} +1 -1
- package/dist/scripts/{sBvSQI9I.chunk.js → CaIgKHOr.chunk.js} +2 -2
- package/dist/scripts/{sBvSQI9I.chunk.js.map → CaIgKHOr.chunk.js.map} +1 -1
- package/dist/scripts/CbCMFfCI.chunk.js +2 -0
- package/dist/scripts/{CdmZcJJE.chunk.js.map → CbCMFfCI.chunk.js.map} +1 -1
- package/dist/scripts/{D32zb_D4.chunk.js → CcSB7UTP.chunk.js} +2 -2
- package/dist/scripts/{D32zb_D4.chunk.js.map → CcSB7UTP.chunk.js.map} +1 -1
- package/dist/scripts/{B0xEoBKV.chunk.js → CchQJ0bB.chunk.js} +2 -2
- package/dist/scripts/{B0xEoBKV.chunk.js.map → CchQJ0bB.chunk.js.map} +1 -1
- package/dist/scripts/{CtBCUmkx.chunk.js → Cgwp6X1t.chunk.js} +2 -2
- package/dist/scripts/{CtBCUmkx.chunk.js.map → Cgwp6X1t.chunk.js.map} +1 -1
- package/dist/scripts/{B-mi70jm.chunk.js → ClAaEXHP.chunk.js} +2 -2
- package/dist/scripts/{B-mi70jm.chunk.js.map → ClAaEXHP.chunk.js.map} +1 -1
- package/dist/scripts/{Rwi7StPz.chunk.js → CnzDEHv2.chunk.js} +2 -2
- package/dist/scripts/{Rwi7StPz.chunk.js.map → CnzDEHv2.chunk.js.map} +1 -1
- package/dist/scripts/{CY2gzjHY.chunk.js → CscOcin4.chunk.js} +2 -2
- package/dist/scripts/{CY2gzjHY.chunk.js.map → CscOcin4.chunk.js.map} +1 -1
- package/dist/scripts/Cwzb4spR.chunk.js +2 -0
- package/dist/scripts/{B4WSuL_R.chunk.js.map → Cwzb4spR.chunk.js.map} +1 -1
- package/dist/scripts/CxLYcmgR.chunk.js +2 -0
- package/dist/scripts/{DHkkcZFt.chunk.js.map → CxLYcmgR.chunk.js.map} +1 -1
- package/dist/scripts/{D6KwovjJ.chunk.js → Cy92D8Lb.chunk.js} +2 -2
- package/dist/scripts/{D6KwovjJ.chunk.js.map → Cy92D8Lb.chunk.js.map} +1 -1
- package/dist/scripts/{CakiFvV4.chunk.js → CzNn-mUf.chunk.js} +2 -2
- package/dist/scripts/{CakiFvV4.chunk.js.map → CzNn-mUf.chunk.js.map} +1 -1
- package/dist/scripts/{PK8MTnH4.chunk.js → Czl7iRHm.chunk.js} +2 -2
- package/dist/scripts/{PK8MTnH4.chunk.js.map → Czl7iRHm.chunk.js.map} +1 -1
- package/dist/scripts/{BtCxZZ5N.chunk.js → CzqPSItp.chunk.js} +2 -2
- package/dist/scripts/{BtCxZZ5N.chunk.js.map → CzqPSItp.chunk.js.map} +1 -1
- package/dist/scripts/{BZiMjWc1.chunk.js → D2jBhAzv.chunk.js} +2 -2
- package/dist/scripts/{BZiMjWc1.chunk.js.map → D2jBhAzv.chunk.js.map} +1 -1
- package/dist/scripts/D8jAI_Ek.chunk.js +2 -0
- package/dist/scripts/{C_AwqPr_.chunk.js.map → D8jAI_Ek.chunk.js.map} +1 -1
- package/dist/scripts/{CdVUBGIW.chunk.js → D95xJRk5.chunk.js} +2 -2
- package/dist/scripts/{CdVUBGIW.chunk.js.map → D95xJRk5.chunk.js.map} +1 -1
- package/dist/scripts/{C4nvmLjJ.chunk.js → DAW5h9CH.chunk.js} +2 -2
- package/dist/scripts/{C4nvmLjJ.chunk.js.map → DAW5h9CH.chunk.js.map} +1 -1
- package/dist/scripts/{CUOLims3.chunk.js → DBWX5oZo.chunk.js} +2 -2
- package/dist/scripts/{CUOLims3.chunk.js.map → DBWX5oZo.chunk.js.map} +1 -1
- package/dist/scripts/{B-tbSNDR.chunk.js → DCOk8mmz.chunk.js} +2 -2
- package/dist/scripts/{B-tbSNDR.chunk.js.map → DCOk8mmz.chunk.js.map} +1 -1
- package/dist/scripts/{WTzdZQUn.chunk.js → DEZ5JWtx.chunk.js} +2 -2
- package/dist/scripts/{WTzdZQUn.chunk.js.map → DEZ5JWtx.chunk.js.map} +1 -1
- package/dist/scripts/{BCqWrOur.chunk.js → DFFkmwaG.chunk.js} +2 -2
- package/dist/scripts/{BCqWrOur.chunk.js.map → DFFkmwaG.chunk.js.map} +1 -1
- package/dist/scripts/{Cpe75H8y.chunk.js → DIJA3mI8.chunk.js} +2 -2
- package/dist/scripts/{Cpe75H8y.chunk.js.map → DIJA3mI8.chunk.js.map} +1 -1
- package/dist/scripts/{CSKX6jCV.chunk.js → DIhqiSK4.chunk.js} +2 -2
- package/dist/scripts/{CSKX6jCV.chunk.js.map → DIhqiSK4.chunk.js.map} +1 -1
- package/dist/scripts/{BdbdAFu1.chunk.js → DJ39Hzbn.chunk.js} +2 -2
- package/dist/scripts/{BdbdAFu1.chunk.js.map → DJ39Hzbn.chunk.js.map} +1 -1
- package/dist/scripts/{dSRpz5ai.chunk.js → DOQJE0cg.chunk.js} +2 -2
- package/dist/scripts/{dSRpz5ai.chunk.js.map → DOQJE0cg.chunk.js.map} +1 -1
- package/dist/scripts/{BrVFMC8Z.chunk.js → DQg1Dj8E.chunk.js} +2 -2
- package/dist/scripts/{BrVFMC8Z.chunk.js.map → DQg1Dj8E.chunk.js.map} +1 -1
- package/dist/scripts/{CwrB0rxp.chunk.js → DRc8A97v.chunk.js} +2 -2
- package/dist/scripts/{CwrB0rxp.chunk.js.map → DRc8A97v.chunk.js.map} +1 -1
- package/dist/scripts/{CI-iVFxS.chunk.js → DUBSwsOf.chunk.js} +2 -2
- package/dist/scripts/{CI-iVFxS.chunk.js.map → DUBSwsOf.chunk.js.map} +1 -1
- package/dist/scripts/{C8mmLu5P.chunk.js → DUFybd9u.chunk.js} +2 -2
- package/dist/scripts/{C8mmLu5P.chunk.js.map → DUFybd9u.chunk.js.map} +1 -1
- package/dist/scripts/{wfZZ1M4z.chunk.js → D_9SXbnM.chunk.js} +2 -2
- package/dist/scripts/{wfZZ1M4z.chunk.js.map → D_9SXbnM.chunk.js.map} +1 -1
- package/dist/scripts/{Cse_a4SB.chunk.js → D_kvjdKl.chunk.js} +2 -2
- package/dist/scripts/{Cse_a4SB.chunk.js.map → D_kvjdKl.chunk.js.map} +1 -1
- package/dist/scripts/{CBjqJQeP.chunk.js → DbgvA5KJ.chunk.js} +2 -2
- package/dist/scripts/{CBjqJQeP.chunk.js.map → DbgvA5KJ.chunk.js.map} +1 -1
- package/dist/scripts/{Kl0OBl_7.chunk.js → DdUlFOnn.chunk.js} +2 -2
- package/dist/scripts/{Kl0OBl_7.chunk.js.map → DdUlFOnn.chunk.js.map} +1 -1
- package/dist/scripts/{DdGmmqcK.chunk.js → DeVpvwTX.chunk.js} +2 -2
- package/dist/scripts/{DdGmmqcK.chunk.js.map → DeVpvwTX.chunk.js.map} +1 -1
- package/dist/scripts/{CR6eQFf-.chunk.js → DkQhz2hz.chunk.js} +2 -2
- package/dist/scripts/{CR6eQFf-.chunk.js.map → DkQhz2hz.chunk.js.map} +1 -1
- package/dist/scripts/{RBxC7AKW.chunk.js → DoZ68JIg.chunk.js} +2 -2
- package/dist/scripts/{RBxC7AKW.chunk.js.map → DoZ68JIg.chunk.js.map} +1 -1
- package/dist/scripts/{a1BWyh3I.chunk.js → DrI5M20i.chunk.js} +2 -2
- package/dist/scripts/{a1BWyh3I.chunk.js.map → DrI5M20i.chunk.js.map} +1 -1
- package/dist/scripts/{C8wzS3f9.chunk.js → H2CWtcR2.chunk.js} +2 -2
- package/dist/scripts/{C8wzS3f9.chunk.js.map → H2CWtcR2.chunk.js.map} +1 -1
- package/dist/scripts/{BtXeOaIU.chunk.js → KyeUwNqe.chunk.js} +2 -2
- package/dist/scripts/{BtXeOaIU.chunk.js.map → KyeUwNqe.chunk.js.map} +1 -1
- package/dist/scripts/{Cb27J2-B.chunk.js → NW9aioPN.chunk.js} +2 -2
- package/dist/scripts/{Cb27J2-B.chunk.js.map → NW9aioPN.chunk.js.map} +1 -1
- package/dist/scripts/{BkHazlQk.chunk.js → RHgtNm7d.chunk.js} +2 -2
- package/dist/scripts/{BkHazlQk.chunk.js.map → RHgtNm7d.chunk.js.map} +1 -1
- package/dist/scripts/{DBukvchw.chunk.js → ScSsUu0E.chunk.js} +2 -2
- package/dist/scripts/{DBukvchw.chunk.js.map → ScSsUu0E.chunk.js.map} +1 -1
- package/dist/scripts/{fkoL2rxf.chunk.js → _fLBII8b.chunk.js} +2 -2
- package/dist/scripts/{fkoL2rxf.chunk.js.map → _fLBII8b.chunk.js.map} +1 -1
- package/dist/scripts/{mrKudPlz.chunk.js → acyjqpWT.chunk.js} +2 -2
- package/dist/scripts/{mrKudPlz.chunk.js.map → acyjqpWT.chunk.js.map} +1 -1
- package/dist/scripts/{app-YVcc0mcr.js → app-Bul9pf1E.js} +3 -3
- package/dist/scripts/{app-YVcc0mcr.js.map → app-Bul9pf1E.js.map} +1 -1
- package/dist/scripts/bZClEVFZ.chunk.js +2 -0
- package/dist/scripts/{CJuVEV64.chunk.js.map → bZClEVFZ.chunk.js.map} +1 -1
- package/dist/scripts/{D80MqhUE.chunk.js → eEKJN8PV.chunk.js} +2 -2
- package/dist/scripts/{D80MqhUE.chunk.js.map → eEKJN8PV.chunk.js.map} +1 -1
- package/dist/scripts/{BttaqS1Q.chunk.js → eyydBP-d.chunk.js} +2 -2
- package/dist/scripts/{BttaqS1Q.chunk.js.map → eyydBP-d.chunk.js.map} +1 -1
- package/dist/scripts/{Bb6yXi56.chunk.js → jjFFDHVU.chunk.js} +2 -2
- package/dist/scripts/{Bb6yXi56.chunk.js.map → jjFFDHVU.chunk.js.map} +1 -1
- package/dist/scripts/{CIYnyMM7.chunk.js → lOUlfXTx.chunk.js} +2 -2
- package/dist/scripts/{CIYnyMM7.chunk.js.map → lOUlfXTx.chunk.js.map} +1 -1
- package/dist/scripts/{Cpbdo5JA.chunk.js → pkFWVIR-.chunk.js} +2 -2
- package/dist/scripts/{Cpbdo5JA.chunk.js.map → pkFWVIR-.chunk.js.map} +1 -1
- package/dist/scripts/{DCKHN9x6.chunk.js → xlg4tfc3.chunk.js} +2 -2
- package/dist/scripts/{DCKHN9x6.chunk.js.map → xlg4tfc3.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/B4WSuL_R.chunk.js +0 -2
- package/dist/scripts/Bho9orFk.chunk.js +0 -2
- package/dist/scripts/Br8_3pQR.chunk.js +0 -2
- package/dist/scripts/CJuVEV64.chunk.js +0 -2
- package/dist/scripts/C_AwqPr_.chunk.js +0 -2
- package/dist/scripts/CdmZcJJE.chunk.js +0 -2
- package/dist/scripts/DHkkcZFt.chunk.js +0 -2
- package/dist/scripts/DKP8OSLt.chunk.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{aj as m,a3 as c,l as n,L as p,j as e}from"./app-Bul9pf1E.js";import{u as h,P as x,F as g}from"./Czl7iRHm.chunk.js";import{L as l}from"./CT3nXP53.chunk.js";import{u as d}from"./D8jAI_Ek.chunk.js";import{E as u}from"./5ByQDT1-.chunk.js";import{E as f}from"./BbohTQPm.chunk.js";import{E as j}from"./BfCjbmaf.chunk.js";import{g as F}from"./H2CWtcR2.chunk.js";import"./93J3-8mL.chunk.js";import"./B_bHiwz7.chunk.js";import"./eyydBP-d.chunk.js";import"./BKW_er5d.chunk.js";import"./DUBSwsOf.chunk.js";import"./KyeUwNqe.chunk.js";import"./DCOk8mmz.chunk.js";import"./DEZ5JWtx.chunk.js";import"./jjFFDHVU.chunk.js";import"./CchQJ0bB.chunk.js";import"./BmyE3_K4.chunk.js";import"./BlDVEZsX.chunk.js";import"./BoQXuoHX.chunk.js";import"./DIhqiSK4.chunk.js";import"./pkzD5BEm.chunk.js";const E="exchange.exchange",L=p.encloseNamespace(E);function K(){const i=m(),r=c(j.exchange()),a=s=>l.childFolders(r.data.categoryTree.id,s),o=s=>i(a(s)),t=h(r.data&&a,o);return d(r),n({title:L("exchangeArchive")}),e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-3",children:[e.jsx(u,{}),e.jsx(f,{active:"categories"})]}),t!=null&&t.items?t.items.length?e.jsx("div",{className:"mx-n2",children:e.jsx(g,{folders:t.items,getAppLink:s=>F(s),expandFolders:!0,showHeading:!1})}):e.jsx(e.Fragment,{}):e.jsx("div",{className:"mt-3",children:e.jsx(x,{count:22})})]})}export{K as ExchangeView};
|
|
2
|
+
//# sourceMappingURL=bZClEVFZ.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"bZClEVFZ.chunk.js","sources":["../../src/apps/exchange/views/exchange/ExchangeView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { useFetchAll } from 'libs/shared/hooks/UseFetchAll';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Folder, Library } from 'libs/shared/interfaces';\n\nimport { ExchangeSearchBar } from 'apps/exchange/components/exchange-search-bar/ExchangeSearchBar';\nimport { ExchangeTabs } from 'apps/exchange/components/exchange-tabs/ExchangeTabs';\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { getFolderAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nconst namespace = 'exchange.exchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function ExchangeView(): JSX.Element {\n const fetch = Flight.useGetFetch();\n\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n const getRequest = (cursor: string) => LibraryRequests.childFolders(exchange.data.categoryTree.id, cursor);\n const fetchNext = (cursor: string) => fetch(getRequest(cursor));\n const libraryFolders = useFetchAll(exchange.data && getRequest, fetchNext);\n\n useHandleObjectError(exchange);\n\n useSetPageMetadata({ title: getPhrase('exchangeArchive') });\n\n return (\n <>\n <div className='mb-3'>\n <ExchangeSearchBar />\n <ExchangeTabs active='categories' />\n </div>\n \n {(() => {\n if (!libraryFolders?.items)\n return <div className='mt-3'><PartialFolderList count={22} /></div>;\n\n if (!libraryFolders.items.length)\n return <></>;\n\n return (\n <div className='mx-n2'>\n <FolderList\n folders={libraryFolders.items}\n getAppLink={(f: Folder) => getFolderAppLink(f)}\n expandFolders\n showHeading={false}\n />\n </div>\n );\n })()}\n </>\n );\n}"],"names":["namespace","getPhrase","LanguageService","ExchangeView","fetch","Flight.useGetFetch","exchange","Flight.useBasicFetch","ExchangeRequests","getRequest","cursor","LibraryRequests","fetchNext","libraryFolders","useFetchAll","useHandleObjectError","useSetPageMetadata","jsxs","Fragment","jsx","ExchangeSearchBar","ExchangeTabs","FolderList","f","getFolderAppLink","PartialFolderList"],"mappings":"8wBAkBA,MAAMA,EAAY,oBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,GAA4B,CAC1C,MAAMC,EAAQC,EAAO,EAEfC,EAAWC,EAA8BC,EAAiB,UAAU,EACpEC,EAAcC,GAAmBC,EAAgB,aAAaL,EAAS,KAAK,aAAa,GAAII,CAAM,EACnGE,EAAaF,GAAmBN,EAAMK,EAAWC,CAAM,CAAC,EACxDG,EAAiBC,EAAYR,EAAS,MAAQG,EAAYG,CAAS,EAEzE,OAAAG,EAAqBT,CAAQ,EAE7BU,EAAmB,CAAE,MAAOf,EAAU,iBAAiB,EAAG,EAGxDgB,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAD,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAE,EAAAA,IAACC,EAAA,EAAkB,EACnBD,EAAAA,IAACE,EAAA,CAAa,OAAO,YAAA,CAAa,CAAA,EACpC,EAGOR,GAAA,MAAAA,EAAgB,MAGhBA,EAAe,MAAM,OAIxBM,EAAAA,IAAC,MAAA,CAAI,UAAU,QACb,SAAAA,EAAAA,IAACG,EAAA,CACC,QAAST,EAAe,MACxB,WAAaU,GAAcC,EAAiBD,CAAC,EAC7C,cAAa,GACb,YAAa,EAAA,CAAA,EAEjB,EAVOJ,EAAAA,IAAAD,EAAAA,SAAA,EAAE,EAHFC,MAAC,OAAI,UAAU,OAAO,eAACM,EAAA,CAAkB,MAAO,GAAI,CAAA,CAAE,CAe9D,EACL,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{aL as F,j as e,B as h,aM as k,L as j,R as y,w as B,aN as T,aB as D,a1 as I,x as V,a2 as $,a3 as x,P as M,aD as U,a5 as Y,A as H,ab as O,ac as G,ad as W,aI as z,ae as Q,af as _}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{aL as F,j as e,B as h,aM as k,L as j,R as y,w as B,aN as T,aB as D,a1 as I,x as V,a2 as $,a3 as x,P as M,aD as U,a5 as Y,A as H,ab as O,ac as G,ad as W,aI as z,ae as Q,af as _}from"./app-Bul9pf1E.js";import{S as J}from"./CTzmwEsw.chunk.js";import{F as K}from"./3p7H0gvQ.chunk.js";import{l as m,a as X,F as f}from"./6l9cOw3t.chunk.js";import{F as Z}from"./DOQJE0cg.chunk.js";import{B as ee}from"./Cgwp6X1t.chunk.js";import{R as ae}from"./QfCSKVqV.chunk.js";import{V as te}from"./7lkv4JAy.chunk.js";import{u as se}from"./BrP4vSsu.chunk.js";import{u as re}from"./DkQhz2hz.chunk.js";import{E as ne}from"./BfCjbmaf.chunk.js";import{u as oe}from"./BTmuEvA1.chunk.js";import"./DrI5M20i.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./DIhqiSK4.chunk.js";const L="shared.flagRemovalRadio",p=j.encloseNamespace(L);function ie(){const t=F();function l(o){t.setFieldValue("suggestion",o)}function a(){return[p("nonEducational"),p("poorQuality"),p("offensive"),p("copyright"),p("ageAppropriate"),p("audio"),p("other")]}return e.jsxs("div",{className:"mb-3",children:[e.jsxs("label",{className:"form-label",children:[e.jsx(h,{namespace:L,phrase:"flagRemovalReasonLabel"}),e.jsx("span",{className:"text-danger",children:"*"})]}),a().map((o,d)=>e.jsx(k.Check,{type:"radio",label:o,name:o,id:`flag-${d}`,onChange:()=>l(o),checked:t.values.suggestion===o,className:"mb-2"},d))]})}const C="shared.suggestEditForm";function le(t){const l=F(),[a,o]=y.useState(),[d,n]=y.useState(!1);function g(r){const u=(l==null?void 0:l.values.property)&&t.metadataValue===r.name;l.setFieldValue("suggestion",u?"":r.name),o(r),n(u)}return e.jsxs("div",{className:"form-group",children:[e.jsx("label",{className:"form-label",children:e.jsx(h,{namespace:C,phrase:"suggestLabel"})}),e.jsx("div",{"aria-describedby":"suggestEditRatingError",children:e.jsx(ee,{children:t.ratings.map(r=>e.jsx(B,{onClick:()=>g(r),className:`btn ${r.id===(a==null?void 0:a.id)?"btn-dark":"btn-outline-dark"}`,children:r.code},r.id))})}),d&&e.jsx(Z,{name:"suggestEditRating",children:e.jsx(h,{namespace:C,phrase:"ratingError"})})]})}const ce="shared.suggestEditValidation",S=j.encloseNamespace(ce);function de(){return m.object().shape({property:m.string().required(S("metadata")),reason:m.string().when("property",{is:t=>t==="FlagRemoval",then:m.string().notRequired(),otherwise:m.string().required(S("reason"))}),suggestion:m.string().required(S("suggestion")),currentValue:m.string()})}const b={VideoTitle:{name:"video title",property:"name"},Description:{name:"description",property:"description"},Rating:{name:"rating",property:"rating.name"},SeriesTitle:{name:"series title",property:"series.name"},Season:{name:"season number",property:"season.number"},EpisodeNumber:{name:"episode number",property:"episodeNumber"},BroadcastDate:{name:"broadcast date",property:"dateBroadcast"},Channel:{name:"channel",property:"channel.name"},ProductionYear:{name:"production year",property:"productionYear"},Distributors:{name:"distributors",property:"distributors",collection:!0},ProductionCompanies:{name:"production companies",property:"productionCompanies",collection:!0},Directors:{name:"directors",property:"directors",collection:!0},Producers:{name:"producers",property:"producers",collection:!0},FlagRemoval:{name:"flag for removal"},Other:{name:"other"}},N="shared.suggestEditForm",i=j.encloseNamespace(N),ue={property:"",suggestion:"",reason:"",currentValue:""};function me(t){var r,u;const l=(r=t.ratings)==null?void 0:r.filter(s=>s.code),a=F(),[o,d]=y.useState(),n=a==null?void 0:a.values.property;y.useEffect(()=>{const s=g();a.setValues({property:n,reason:"",suggestion:"",currentValue:s||""}),a.setTouched({}),d(s)},[n]);function g(){const s=b[n];if(!s||!s.property)return null;let c=T(t.video,s.property);if(!c||s.collection&&!c.data.length)return i("none");switch(s.collection&&(c=c.data.map(R=>R.name).join(", ")),n){case"BroadcastDate":return D.format(c,"D MMMM YYYY");default:return c}}return e.jsxs(I,{children:[e.jsxs(f,{as:"select",label:i("metadataLabel"),id:"property",name:"property",value:n,className:"text-capitalize",showRequiredStar:!0,children:[e.jsx("option",{value:"",children:i("metadataPlaceholder")}),Object.keys(b).map((s,c)=>e.jsx("option",{value:s,children:b[s].name},c))]}),n&&e.jsxs(e.Fragment,{children:[o&&e.jsxs(e.Fragment,{children:[e.jsxs("p",{className:"fw-semibold mb-0",children:[e.jsx(h,{namespace:N,phrase:"currentValueLabel"})," ",e.jsx("span",{children:(u=b[n])==null?void 0:u.name})]}),e.jsx("p",{children:o})]}),n==="Rating"&&e.jsx(le,{ratings:l,metadataValue:o}),n==="FlagRemoval"&&e.jsx(ie,{}),n!=="Rating"&&n!=="FlagRemoval"&&e.jsx(f,{label:i("suggestLabel"),placeholder:i("suggestPlaceholder"),type:"text",id:"suggestion",name:"suggestion",value:a==null?void 0:a.values.suggestion,showRequiredStar:!0}),n==="FlagRemoval"?e.jsx(f,{label:i("flagRemovalCommentsLabel"),placeholder:i("flagRemovalCommentsPlaceholder"),type:"text",id:"reason",name:"reason",value:a==null?void 0:a.values.reason}):e.jsx(f,{label:i("reasonLabel"),placeholder:i("reasonPlaceholder"),type:"text",id:"reason",name:"reason",value:a==null?void 0:a.values.reason,showRequiredStar:!0})]}),e.jsxs(V,{children:[e.jsx(V.Cancel,{text:i("cancel"),onClick:t.closePopup,variant:"link"}),e.jsx(K,{variant:"dark",submitText:i("submit")})]})]})}function pe(t){return e.jsx(X,{initialValues:ue,validationSchema:de(),onSubmit:t.onClickSubmit,children:e.jsx(me,{...t})})}const w="exchange.suggestEdit",v=j.encloseNamespace(w);function Pe(t){const l=$(),a=se(),{loading:o,handleGenerateReportError:d}=re(),n=x(U.config()),g=x(Y.currentUser()),r=x(te.video(t.videoId)),u=x(ae.ratings()),{previewContext:s,clearPreviewContext:c}=oe(t.videoId,!1);async function R(P,q){try{await l(ne.suggestEdit(r.data.id,P)),a.success(v("success")),E(),O.logUserAction({id:r.data.id,name:r.data.name},{actionType:_.Submit,entity:Q.Video,descriptor:z.SuggestEdit,location:W.Popup,workflowPhase:G.Complete})}catch(A){d(A,v("error"),v("noEmailError"))}finally{q()}}function E(){t.closePopup(),s!=null&&s.appLink&&(J.preventScrollTop(),H.trigger(s.appLink),c())}return n.hasCompleted&&g.hasCompleted&&r.hasCompleted&&u.hasCompleted?e.jsxs(M,{title:v("title"),closePopup:E,showLoadingSpinner:o,children:[e.jsx("p",{children:e.jsx(h,{namespace:w,phrase:"description"})}),e.jsx(pe,{video:r.data,ratings:u.data,closePopup:E,onClickSubmit:R})]}):e.jsx(e.Fragment,{})}export{Pe as ExchangeSuggestEditView};
|
|
2
|
+
//# sourceMappingURL=eEKJN8PV.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D80MqhUE.chunk.js","sources":["../../../../libs/shared/src/components/suggest-edit-form/suggest-edit-flag-removal/SuggestEditFlagRemoval.tsx","../../../../libs/shared/src/components/suggest-edit-form/suggest-edit-rating-selector/suggest-edit-rating-selector.tsx","../../../../libs/shared/src/components/suggest-edit-form/validation/SuggestEditValidation.ts","../../../../libs/shared/src/components/suggest-edit-form/SuggestEditMetadataTypes.ts","../../../../libs/shared/src/components/suggest-edit-form/SuggestEditForm.tsx","../../src/apps/exchange/views/exchange-suggest-edit/ExchangeSuggestEditView.tsx"],"sourcesContent":["import React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nconst namespace = 'shared.flagRemovalRadio';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SuggestEditFlagRemoval() {\n const formikProps = useFormikContext<SuggestEditModel>();\n\n function onSelectOption(option: string) {\n formikProps.setFieldValue('suggestion', option);\n }\n\n function flagRemovalRadioOptions() {\n return [\n getPhrase('nonEducational'),\n getPhrase('poorQuality'),\n getPhrase('offensive'),\n getPhrase('copyright'),\n getPhrase('ageAppropriate'),\n getPhrase('audio'),\n getPhrase('other')\n ];\n }\n\n return (\n <div className='mb-3'>\n <label className='form-label'>\n <Text namespace={namespace} phrase='flagRemovalReasonLabel' />\n <span className='text-danger'>*</span>\n </label>\n {flagRemovalRadioOptions().map((option, index) => (\n <Form.Check\n type='radio'\n key={index}\n label={option}\n name={option}\n id={`flag-${index}`}\n onChange={() => onSelectOption(option)}\n checked={formikProps.values.suggestion === option}\n className='mb-2'\n />\n ))}\n </div>\n );\n}","import React from 'react';\nimport { ButtonGroup } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { Rating } from 'libs/analytics/interfaces';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { FormFeedback } from 'libs/shared/components/forms/form-feedback/FormFeedback';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nconst namespace = 'shared.suggestEditForm';\n\ninterface SuggestEditRatingSelectorProps {\n ratings: Rating[];\n metadataValue: string\n}\n\nexport function SuggestEditRatingSelector(props: SuggestEditRatingSelectorProps) {\n const formikProps = useFormikContext<SuggestEditModel>();\n\n const [ selectedRating, setSelectedRating ] = React.useState<Rating>();\n const [ isRatingInvalid, setIsRatingInvalid ] = React.useState<boolean>(false);\n \n function onRatingSelect(rating: Rating) {\n const isRatingInvalid = formikProps?.values.property && props.metadataValue === rating.name;\n formikProps.setFieldValue('suggestion', !isRatingInvalid ? rating.name : '');\n setSelectedRating(rating);\n setIsRatingInvalid(isRatingInvalid);\n }\n\n return (\n <div className='form-group'>\n <label className='form-label'><Text namespace={namespace} phrase='suggestLabel' /></label>\n <div aria-describedby='suggestEditRatingError'>\n <ButtonGroup>\n {props.ratings.map(rating => (\n <DivButton key={rating.id} onClick={() => onRatingSelect(rating)} className={`btn ${rating.id === selectedRating?.id ? 'btn-dark' : 'btn-outline-dark'}`}>\n {rating.code}\n </DivButton>\n ))}\n </ButtonGroup>\n </div>\n {isRatingInvalid && <FormFeedback name='suggestEditRating'><Text namespace={namespace} phrase='ratingError' /></FormFeedback>}\n </div>\n );\n}","import { object, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'shared.suggestEditValidation';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SuggestEditValidation() {\n return object().shape({\n property: string().required((getPhrase('metadata'))),\n reason: string().when('property', {\n is: propertyValue => propertyValue === 'FlagRemoval',\n then: string().notRequired(),\n otherwise: string().required(getPhrase('reason'))\n }),\n suggestion: string().required(getPhrase('suggestion')),\n currentValue: string()\n });\n}","export enum MetadataType {\n VideoTitle = 'video title',\n Description = 'description',\n Rating = 'rating',\n SeriesTitle = 'series title',\n Season = 'season number',\n EpisodeNumber = 'episode number',\n BroadcastDate = 'broadcast date',\n Channel = 'channel',\n ProductionYear = 'production year',\n Distributors = 'distributors',\n ProductionCompanies = 'production companies',\n Directors = 'directors',\n Producers = 'producers',\n FlagRemoval = 'flag for removal',\n Other = 'other'\n}\n\nexport type MetadataTypeKey = keyof typeof MetadataType;\n\nexport type MetadataTypeMap = {\n [K in MetadataTypeKey]: {\n name: MetadataType;\n property?: string;\n collection?: boolean;\n };\n};\n\nexport const MetadataTypes: MetadataTypeMap = {\n VideoTitle: {\n name: MetadataType.VideoTitle,\n property: 'name'\n },\n Description: {\n name: MetadataType.Description,\n property: 'description'\n },\n Rating: {\n name: MetadataType.Rating,\n property: 'rating.name'\n },\n SeriesTitle: {\n name: MetadataType.SeriesTitle,\n property: 'series.name'\n },\n Season: {\n name: MetadataType.Season,\n property: 'season.number'\n },\n EpisodeNumber: {\n name: MetadataType.EpisodeNumber,\n property: 'episodeNumber'\n },\n BroadcastDate: {\n name: MetadataType.BroadcastDate,\n property: 'dateBroadcast'\n },\n Channel: {\n name: MetadataType.Channel,\n property: 'channel.name'\n },\n ProductionYear: {\n name: MetadataType.ProductionYear,\n property: 'productionYear'\n },\n Distributors: {\n name: MetadataType.Distributors,\n property: 'distributors',\n collection: true\n },\n ProductionCompanies: {\n name: MetadataType.ProductionCompanies,\n property: 'productionCompanies',\n collection: true\n },\n Directors: {\n name: MetadataType.Directors,\n property: 'directors',\n collection: true\n },\n Producers: {\n name: MetadataType.Producers,\n property: 'producers',\n collection: true\n },\n FlagRemoval: {\n name: MetadataType.FlagRemoval\n },\n Other: {\n name: MetadataType.Other\n }\n};","import React from 'react';\nimport { Form, useFormikContext } from 'formik';\nimport get from 'lodash/get';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { SuggestEditFlagRemoval } from 'libs/shared/components/suggest-edit-form/suggest-edit-flag-removal/SuggestEditFlagRemoval';\nimport { SuggestEditRatingSelector } from 'libs/shared/components/suggest-edit-form/suggest-edit-rating-selector/suggest-edit-rating-selector';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BaseObject, Rating, Video } from 'libs/shared/interfaces';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nimport { SuggestEditValidation } from './validation/SuggestEditValidation';\nimport { MetadataTypeKey, MetadataTypes } from './SuggestEditMetadataTypes';\n\nconst namespace = 'shared.suggestEditForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst INITIAL_VALUES = {\n property: '',\n suggestion: '',\n reason: '',\n currentValue: ''\n};\n\ninterface SuggestEditFormProps {\n video: Video;\n ratings: Rating[];\n onClickSubmit: (\n data: SuggestEditModel,\n onDone: (options?: FormSubmissionOptions<SuggestEditModel>) => void\n ) => void;\n closePopup: () => void\n}\n\nfunction SuggestEditForm(props: SuggestEditFormProps) {\n const ratings = props.ratings?.filter(rating => rating.code);\n const formikProps = useFormikContext<SuggestEditModel>();\n\n const [ metadataValue, setMetadataValue ] = React.useState<string>();\n\n const metadata = formikProps?.values.property as MetadataTypeKey;\n\n React.useEffect(() => {\n const metadataValue = getMetadataValue();\n formikProps.setValues({\n property: metadata,\n reason: '',\n suggestion: '',\n currentValue: metadataValue || ''\n });\n formikProps.setTouched({});\n setMetadataValue(metadataValue);\n }, [metadata]);\n\n function getMetadataValue(): string {\n const metadataType = MetadataTypes[metadata];\n\n if (!metadataType || !metadataType.property)\n return null;\n\n let currentValue = get(props.video, metadataType.property);\n\n if (!currentValue || (metadataType.collection && !currentValue.data.length))\n return getPhrase('none');\n\n if (metadataType.collection) {\n currentValue = (currentValue.data as BaseObject[]).map(obj => obj.name).join(', ');\n }\n\n switch (metadata) {\n case 'BroadcastDate':\n return DateHelper.format(currentValue, 'D MMMM YYYY');\n default:\n return currentValue;\n }\n }\n\n return (\n <Form>\n <FormField\n as='select'\n label={getPhrase('metadataLabel')}\n id='property'\n name='property'\n value={metadata}\n className='text-capitalize'\n showRequiredStar\n >\n <option value=''>{getPhrase('metadataPlaceholder')}</option>\n {Object.keys(MetadataTypes).map((metadata, index) => (\n <option key={index} value={metadata}>\n {MetadataTypes[metadata as keyof typeof MetadataTypes].name}\n </option>\n ))}\n </FormField>\n\n {metadata &&\n <>\n {metadataValue && (\n <>\n <p className='fw-semibold mb-0'>\n <Text namespace={namespace} phrase='currentValueLabel' /> <span>{MetadataTypes[metadata as MetadataTypeKey]?.name}</span>\n </p>\n <p>{metadataValue}</p>\n </>\n )}\n\n {metadata === 'Rating' && <SuggestEditRatingSelector ratings={ratings} metadataValue={metadataValue} />}\n {metadata === 'FlagRemoval' && <SuggestEditFlagRemoval />}\n {metadata !== 'Rating' && metadata !== 'FlagRemoval' &&\n <FormField\n label={getPhrase('suggestLabel')}\n placeholder={getPhrase('suggestPlaceholder')}\n type='text'\n id='suggestion'\n name='suggestion'\n value={formikProps?.values.suggestion}\n showRequiredStar\n />\n }\n\n {\n metadata === 'FlagRemoval' ? (\n <FormField\n label={getPhrase('flagRemovalCommentsLabel')}\n placeholder={getPhrase('flagRemovalCommentsPlaceholder')}\n type='text'\n id='reason'\n name='reason'\n value={formikProps?.values.reason}\n />\n ) : (\n <FormField\n label={getPhrase('reasonLabel')}\n placeholder={getPhrase('reasonPlaceholder')}\n type='text'\n id='reason'\n name='reason'\n value={formikProps?.values.reason}\n showRequiredStar\n />\n )\n }\n </>\n }\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('cancel')}\n onClick={props.closePopup}\n variant='link'\n />\n <FormButtons variant='dark' submitText={getPhrase('submit')} />\n </PopupButtons>\n </Form>\n );\n}\n\nexport function SuggestEditFormWrapper(props: SuggestEditFormProps) {\n return (\n <FormWrapper<SuggestEditModel>\n initialValues={INITIAL_VALUES}\n validationSchema={SuggestEditValidation()}\n onSubmit={props.onClickSubmit}\n >\n <SuggestEditForm {...props} />\n </FormWrapper>\n );\n}","\nimport 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, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { FormSubmissionOptions } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { SuggestEditFormWrapper } from 'libs/shared/components/suggest-edit-form/SuggestEditForm';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { RatingRequests } from 'libs/shared/flight-requests/RatingRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useVerifiedEmailRequiredErrorHandler } from 'libs/shared/hooks/useVerifiedEmailRequiredErrorHandler';\nimport { Config, CurrentUser, PopupViewProps, Rating, Video } from 'libs/shared/interfaces';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\nconst namespace = 'exchange.suggestEdit';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeSuggestEditProps extends PopupViewProps {\n videoId: string;\n}\n\nexport function ExchangeSuggestEditView(props: ExchangeSuggestEditProps) {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.videoId));\n const ratings = Flight.useBasicFetch<Rating[]>(RatingRequests.ratings());\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.videoId, false);\n\n async function onClickSubmit(\n values: SuggestEditModel,\n onDone: (options?: FormSubmissionOptions<SuggestEditModel>) => void\n ) {\n try {\n await fetchAsync(ExchangeRequests.suggestEdit(video.data.id, values));\n alerts.success(getPhrase('success'));\n closePopup();\n\n AnalyticsHelper.logUserAction(\n { id: video.data.id, name: video.data.name },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.SuggestEdit,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete\n }\n );\n } catch (xhr) {\n handleGenerateReportError(xhr, getPhrase('error'), getPhrase('noEmailError'));\n } finally {\n onDone();\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 const hasLoaded = (\n config.hasCompleted &&\n currentUser.hasCompleted &&\n video.hasCompleted &&\n ratings.hasCompleted\n );\n\n if (!hasLoaded) {\n return <></>;\n }\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={closePopup}\n showLoadingSpinner={loading}\n >\n <p><Text namespace={namespace} phrase='description' /></p>\n\n <SuggestEditFormWrapper\n video={video.data}\n ratings={ratings.data}\n closePopup={closePopup}\n onClickSubmit={onClickSubmit}\n />\n </Popup>\n );\n}"],"names":["namespace","getPhrase","LanguageService","SuggestEditFlagRemoval","formikProps","useFormikContext","onSelectOption","option","flagRemovalRadioOptions","jsxs","jsx","Text","index","Form","SuggestEditRatingSelector","props","selectedRating","setSelectedRating","React","isRatingInvalid","setIsRatingInvalid","onRatingSelect","rating","ButtonGroup","DivButton","FormFeedback","SuggestEditValidation","object","string","propertyValue","MetadataTypes","INITIAL_VALUES","SuggestEditForm","ratings","_a","metadataValue","setMetadataValue","metadata","getMetadataValue","metadataType","currentValue","get","obj","DateHelper","FormField","Fragment","_b","PopupButtons","FormButtons","SuggestEditFormWrapper","FormWrapper","ExchangeSuggestEditView","fetchAsync","Flight.useGetFetchAsync","alerts","useAlerts","loading","handleGenerateReportError","useVerifiedEmailRequiredErrorHandler","config","Flight.useBasicFetch","ConfigRequests","currentUser","UserRequests","video","VideoRequests","RatingRequests","previewContext","clearPreviewContext","usePreviewContext","onClickSubmit","values","onDone","ExchangeRequests","closePopup","AnalyticsHelper","UserAction","EntityType","VideoActionDescriptor","LocationContext","WorkflowPhase","xhr","ScrollHelper","Core.AppLinkHelper","Popup"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eEKJN8PV.chunk.js","sources":["../../../../libs/shared/src/components/suggest-edit-form/suggest-edit-flag-removal/SuggestEditFlagRemoval.tsx","../../../../libs/shared/src/components/suggest-edit-form/suggest-edit-rating-selector/suggest-edit-rating-selector.tsx","../../../../libs/shared/src/components/suggest-edit-form/validation/SuggestEditValidation.ts","../../../../libs/shared/src/components/suggest-edit-form/SuggestEditMetadataTypes.ts","../../../../libs/shared/src/components/suggest-edit-form/SuggestEditForm.tsx","../../src/apps/exchange/views/exchange-suggest-edit/ExchangeSuggestEditView.tsx"],"sourcesContent":["import React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nconst namespace = 'shared.flagRemovalRadio';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SuggestEditFlagRemoval() {\n const formikProps = useFormikContext<SuggestEditModel>();\n\n function onSelectOption(option: string) {\n formikProps.setFieldValue('suggestion', option);\n }\n\n function flagRemovalRadioOptions() {\n return [\n getPhrase('nonEducational'),\n getPhrase('poorQuality'),\n getPhrase('offensive'),\n getPhrase('copyright'),\n getPhrase('ageAppropriate'),\n getPhrase('audio'),\n getPhrase('other')\n ];\n }\n\n return (\n <div className='mb-3'>\n <label className='form-label'>\n <Text namespace={namespace} phrase='flagRemovalReasonLabel' />\n <span className='text-danger'>*</span>\n </label>\n {flagRemovalRadioOptions().map((option, index) => (\n <Form.Check\n type='radio'\n key={index}\n label={option}\n name={option}\n id={`flag-${index}`}\n onChange={() => onSelectOption(option)}\n checked={formikProps.values.suggestion === option}\n className='mb-2'\n />\n ))}\n </div>\n );\n}","import React from 'react';\nimport { ButtonGroup } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { Rating } from 'libs/analytics/interfaces';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { FormFeedback } from 'libs/shared/components/forms/form-feedback/FormFeedback';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nconst namespace = 'shared.suggestEditForm';\n\ninterface SuggestEditRatingSelectorProps {\n ratings: Rating[];\n metadataValue: string\n}\n\nexport function SuggestEditRatingSelector(props: SuggestEditRatingSelectorProps) {\n const formikProps = useFormikContext<SuggestEditModel>();\n\n const [ selectedRating, setSelectedRating ] = React.useState<Rating>();\n const [ isRatingInvalid, setIsRatingInvalid ] = React.useState<boolean>(false);\n \n function onRatingSelect(rating: Rating) {\n const isRatingInvalid = formikProps?.values.property && props.metadataValue === rating.name;\n formikProps.setFieldValue('suggestion', !isRatingInvalid ? rating.name : '');\n setSelectedRating(rating);\n setIsRatingInvalid(isRatingInvalid);\n }\n\n return (\n <div className='form-group'>\n <label className='form-label'><Text namespace={namespace} phrase='suggestLabel' /></label>\n <div aria-describedby='suggestEditRatingError'>\n <ButtonGroup>\n {props.ratings.map(rating => (\n <DivButton key={rating.id} onClick={() => onRatingSelect(rating)} className={`btn ${rating.id === selectedRating?.id ? 'btn-dark' : 'btn-outline-dark'}`}>\n {rating.code}\n </DivButton>\n ))}\n </ButtonGroup>\n </div>\n {isRatingInvalid && <FormFeedback name='suggestEditRating'><Text namespace={namespace} phrase='ratingError' /></FormFeedback>}\n </div>\n );\n}","import { object, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'shared.suggestEditValidation';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SuggestEditValidation() {\n return object().shape({\n property: string().required((getPhrase('metadata'))),\n reason: string().when('property', {\n is: propertyValue => propertyValue === 'FlagRemoval',\n then: string().notRequired(),\n otherwise: string().required(getPhrase('reason'))\n }),\n suggestion: string().required(getPhrase('suggestion')),\n currentValue: string()\n });\n}","export enum MetadataType {\n VideoTitle = 'video title',\n Description = 'description',\n Rating = 'rating',\n SeriesTitle = 'series title',\n Season = 'season number',\n EpisodeNumber = 'episode number',\n BroadcastDate = 'broadcast date',\n Channel = 'channel',\n ProductionYear = 'production year',\n Distributors = 'distributors',\n ProductionCompanies = 'production companies',\n Directors = 'directors',\n Producers = 'producers',\n FlagRemoval = 'flag for removal',\n Other = 'other'\n}\n\nexport type MetadataTypeKey = keyof typeof MetadataType;\n\nexport type MetadataTypeMap = {\n [K in MetadataTypeKey]: {\n name: MetadataType;\n property?: string;\n collection?: boolean;\n };\n};\n\nexport const MetadataTypes: MetadataTypeMap = {\n VideoTitle: {\n name: MetadataType.VideoTitle,\n property: 'name'\n },\n Description: {\n name: MetadataType.Description,\n property: 'description'\n },\n Rating: {\n name: MetadataType.Rating,\n property: 'rating.name'\n },\n SeriesTitle: {\n name: MetadataType.SeriesTitle,\n property: 'series.name'\n },\n Season: {\n name: MetadataType.Season,\n property: 'season.number'\n },\n EpisodeNumber: {\n name: MetadataType.EpisodeNumber,\n property: 'episodeNumber'\n },\n BroadcastDate: {\n name: MetadataType.BroadcastDate,\n property: 'dateBroadcast'\n },\n Channel: {\n name: MetadataType.Channel,\n property: 'channel.name'\n },\n ProductionYear: {\n name: MetadataType.ProductionYear,\n property: 'productionYear'\n },\n Distributors: {\n name: MetadataType.Distributors,\n property: 'distributors',\n collection: true\n },\n ProductionCompanies: {\n name: MetadataType.ProductionCompanies,\n property: 'productionCompanies',\n collection: true\n },\n Directors: {\n name: MetadataType.Directors,\n property: 'directors',\n collection: true\n },\n Producers: {\n name: MetadataType.Producers,\n property: 'producers',\n collection: true\n },\n FlagRemoval: {\n name: MetadataType.FlagRemoval\n },\n Other: {\n name: MetadataType.Other\n }\n};","import React from 'react';\nimport { Form, useFormikContext } from 'formik';\nimport get from 'lodash/get';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { SuggestEditFlagRemoval } from 'libs/shared/components/suggest-edit-form/suggest-edit-flag-removal/SuggestEditFlagRemoval';\nimport { SuggestEditRatingSelector } from 'libs/shared/components/suggest-edit-form/suggest-edit-rating-selector/suggest-edit-rating-selector';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BaseObject, Rating, Video } from 'libs/shared/interfaces';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nimport { SuggestEditValidation } from './validation/SuggestEditValidation';\nimport { MetadataTypeKey, MetadataTypes } from './SuggestEditMetadataTypes';\n\nconst namespace = 'shared.suggestEditForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst INITIAL_VALUES = {\n property: '',\n suggestion: '',\n reason: '',\n currentValue: ''\n};\n\ninterface SuggestEditFormProps {\n video: Video;\n ratings: Rating[];\n onClickSubmit: (\n data: SuggestEditModel,\n onDone: (options?: FormSubmissionOptions<SuggestEditModel>) => void\n ) => void;\n closePopup: () => void\n}\n\nfunction SuggestEditForm(props: SuggestEditFormProps) {\n const ratings = props.ratings?.filter(rating => rating.code);\n const formikProps = useFormikContext<SuggestEditModel>();\n\n const [ metadataValue, setMetadataValue ] = React.useState<string>();\n\n const metadata = formikProps?.values.property as MetadataTypeKey;\n\n React.useEffect(() => {\n const metadataValue = getMetadataValue();\n formikProps.setValues({\n property: metadata,\n reason: '',\n suggestion: '',\n currentValue: metadataValue || ''\n });\n formikProps.setTouched({});\n setMetadataValue(metadataValue);\n }, [metadata]);\n\n function getMetadataValue(): string {\n const metadataType = MetadataTypes[metadata];\n\n if (!metadataType || !metadataType.property)\n return null;\n\n let currentValue = get(props.video, metadataType.property);\n\n if (!currentValue || (metadataType.collection && !currentValue.data.length))\n return getPhrase('none');\n\n if (metadataType.collection) {\n currentValue = (currentValue.data as BaseObject[]).map(obj => obj.name).join(', ');\n }\n\n switch (metadata) {\n case 'BroadcastDate':\n return DateHelper.format(currentValue, 'D MMMM YYYY');\n default:\n return currentValue;\n }\n }\n\n return (\n <Form>\n <FormField\n as='select'\n label={getPhrase('metadataLabel')}\n id='property'\n name='property'\n value={metadata}\n className='text-capitalize'\n showRequiredStar\n >\n <option value=''>{getPhrase('metadataPlaceholder')}</option>\n {Object.keys(MetadataTypes).map((metadata, index) => (\n <option key={index} value={metadata}>\n {MetadataTypes[metadata as keyof typeof MetadataTypes].name}\n </option>\n ))}\n </FormField>\n\n {metadata &&\n <>\n {metadataValue && (\n <>\n <p className='fw-semibold mb-0'>\n <Text namespace={namespace} phrase='currentValueLabel' /> <span>{MetadataTypes[metadata as MetadataTypeKey]?.name}</span>\n </p>\n <p>{metadataValue}</p>\n </>\n )}\n\n {metadata === 'Rating' && <SuggestEditRatingSelector ratings={ratings} metadataValue={metadataValue} />}\n {metadata === 'FlagRemoval' && <SuggestEditFlagRemoval />}\n {metadata !== 'Rating' && metadata !== 'FlagRemoval' &&\n <FormField\n label={getPhrase('suggestLabel')}\n placeholder={getPhrase('suggestPlaceholder')}\n type='text'\n id='suggestion'\n name='suggestion'\n value={formikProps?.values.suggestion}\n showRequiredStar\n />\n }\n\n {\n metadata === 'FlagRemoval' ? (\n <FormField\n label={getPhrase('flagRemovalCommentsLabel')}\n placeholder={getPhrase('flagRemovalCommentsPlaceholder')}\n type='text'\n id='reason'\n name='reason'\n value={formikProps?.values.reason}\n />\n ) : (\n <FormField\n label={getPhrase('reasonLabel')}\n placeholder={getPhrase('reasonPlaceholder')}\n type='text'\n id='reason'\n name='reason'\n value={formikProps?.values.reason}\n showRequiredStar\n />\n )\n }\n </>\n }\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('cancel')}\n onClick={props.closePopup}\n variant='link'\n />\n <FormButtons variant='dark' submitText={getPhrase('submit')} />\n </PopupButtons>\n </Form>\n );\n}\n\nexport function SuggestEditFormWrapper(props: SuggestEditFormProps) {\n return (\n <FormWrapper<SuggestEditModel>\n initialValues={INITIAL_VALUES}\n validationSchema={SuggestEditValidation()}\n onSubmit={props.onClickSubmit}\n >\n <SuggestEditForm {...props} />\n </FormWrapper>\n );\n}","\nimport 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, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { FormSubmissionOptions } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { SuggestEditFormWrapper } from 'libs/shared/components/suggest-edit-form/SuggestEditForm';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { RatingRequests } from 'libs/shared/flight-requests/RatingRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useVerifiedEmailRequiredErrorHandler } from 'libs/shared/hooks/useVerifiedEmailRequiredErrorHandler';\nimport { Config, CurrentUser, PopupViewProps, Rating, Video } from 'libs/shared/interfaces';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\nconst namespace = 'exchange.suggestEdit';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeSuggestEditProps extends PopupViewProps {\n videoId: string;\n}\n\nexport function ExchangeSuggestEditView(props: ExchangeSuggestEditProps) {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.videoId));\n const ratings = Flight.useBasicFetch<Rating[]>(RatingRequests.ratings());\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.videoId, false);\n\n async function onClickSubmit(\n values: SuggestEditModel,\n onDone: (options?: FormSubmissionOptions<SuggestEditModel>) => void\n ) {\n try {\n await fetchAsync(ExchangeRequests.suggestEdit(video.data.id, values));\n alerts.success(getPhrase('success'));\n closePopup();\n\n AnalyticsHelper.logUserAction(\n { id: video.data.id, name: video.data.name },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.SuggestEdit,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete\n }\n );\n } catch (xhr) {\n handleGenerateReportError(xhr, getPhrase('error'), getPhrase('noEmailError'));\n } finally {\n onDone();\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 const hasLoaded = (\n config.hasCompleted &&\n currentUser.hasCompleted &&\n video.hasCompleted &&\n ratings.hasCompleted\n );\n\n if (!hasLoaded) {\n return <></>;\n }\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={closePopup}\n showLoadingSpinner={loading}\n >\n <p><Text namespace={namespace} phrase='description' /></p>\n\n <SuggestEditFormWrapper\n video={video.data}\n ratings={ratings.data}\n closePopup={closePopup}\n onClickSubmit={onClickSubmit}\n />\n </Popup>\n );\n}"],"names":["namespace","getPhrase","LanguageService","SuggestEditFlagRemoval","formikProps","useFormikContext","onSelectOption","option","flagRemovalRadioOptions","jsxs","jsx","Text","index","Form","SuggestEditRatingSelector","props","selectedRating","setSelectedRating","React","isRatingInvalid","setIsRatingInvalid","onRatingSelect","rating","ButtonGroup","DivButton","FormFeedback","SuggestEditValidation","object","string","propertyValue","MetadataTypes","INITIAL_VALUES","SuggestEditForm","ratings","_a","metadataValue","setMetadataValue","metadata","getMetadataValue","metadataType","currentValue","get","obj","DateHelper","FormField","Fragment","_b","PopupButtons","FormButtons","SuggestEditFormWrapper","FormWrapper","ExchangeSuggestEditView","fetchAsync","Flight.useGetFetchAsync","alerts","useAlerts","loading","handleGenerateReportError","useVerifiedEmailRequiredErrorHandler","config","Flight.useBasicFetch","ConfigRequests","currentUser","UserRequests","video","VideoRequests","RatingRequests","previewContext","clearPreviewContext","usePreviewContext","onClickSubmit","values","onDone","ExchangeRequests","closePopup","AnalyticsHelper","UserAction","EntityType","VideoActionDescriptor","LocationContext","WorkflowPhase","xhr","ScrollHelper","Core.AppLinkHelper","Popup"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as i,R as J,j as B}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{r as i,R as J,j as B}from"./app-Bul9pf1E.js";function be(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return i.useMemo(()=>r=>{t.forEach(a=>a(r))},t)}const Q=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Z(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function K(e){return"nodeType"in e}function q(e){var t,n;return e?Z(e)?e:K(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}const E=Q?i.useLayoutEffect:i.useEffect;function V(e){const t=i.useRef(e);return E(()=>{t.current=e}),i.useCallback(function(){for(var n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return t.current==null?void 0:t.current(...r)},[])}function N(e,t){t===void 0&&(t=[e]);const n=i.useRef(e);return E(()=>{n.current!==e&&(n.current=e)},t),n}function M(e){const t=V(e),n=i.useRef(null),r=i.useCallback(a=>{a!==n.current&&(t==null||t(a,n.current)),n.current=a},[]);return[n,r]}let k={};function H(e,t){return i.useMemo(()=>{const n=k[e]==null?0:k[e]+1;return k[e]=n,e+"-"+n},[e,t])}function ve(e){if(!e)return!1;const{KeyboardEvent:t}=q(e.target);return t&&e instanceof t}const W=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[W.Translate.toString(e),W.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}});var x;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(x||(x={}));function X(){}const _=Object.freeze({x:0,y:0});function ee(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function te(e,t,n){const r=ee(t);if(!r)return e;const{scaleX:a,scaleY:o,x:d,y:c}=r,l=e.left-d-(1-a)*parseFloat(n),g=e.top-c-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),u=a?e.width/a:e.width,s=o?e.height/o:e.height;return{width:u,height:s,top:g,right:l+u,bottom:g+s,left:l}}const ne={ignoreTransform:!1};function we(e,t){t===void 0&&(t=ne);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{getComputedStyle:g}=q(e),{transform:u,transformOrigin:s}=g(e);u&&(n=te(n,u,s))}const{top:r,left:a,width:o,height:d,bottom:c,right:l}=n;return{top:r,left:a,width:o,height:d,bottom:c,right:l}}var p;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(p||(p={}));var U;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(U||(U={}));var h;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(h||(h={}));h.Space,h.Enter,h.Esc,h.Space,h.Enter;var A;(function(e){e[e.RightClick=2]="RightClick"})(A||(A={}));var Y;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Y||(Y={}));var L;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(L||(L={}));p.Backward+"",p.Forward+"",p.Backward+"",p.Forward+"";var j;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(j||(j={}));var F;(function(e){e.Optimized="optimized"})(F||(F={}));function re(e){let{callback:t,disabled:n}=e;const r=V(t),a=i.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return i.useEffect(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function ae(e,t){return i.useMemo(()=>e.reduce((n,r)=>{let{eventName:a,handler:o}=r;return n[a]=d=>{o(d,t)},n},{}),[e,t])}j.WhileDragging,F.Optimized;const ie={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:X,draggableNodes:new Map,over:null,measureDroppableContainers:X},G=i.createContext(ie),se=i.createContext({..._,scaleX:1,scaleY:1});var $;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})($||($={}));const oe=i.createContext(null),P="button",ce="Droppable";function le(e){let{id:t,data:n,disabled:r=!1,attributes:a}=e;const o=H(ce),{activators:d,activatorEvent:c,active:l,activeNodeRect:g,ariaDescribedById:u,draggableNodes:s,over:b}=i.useContext(G),{role:f=P,roleDescription:w="draggable",tabIndex:m=0}=a??{},D=(l==null?void 0:l.id)===t,y=i.useContext(D?se:oe),[z,v]=M(),[I,R]=M(),S=ae(d,t),T=N(n);E(()=>(s.set(t,{id:t,key:o,node:z,activatorNode:I,data:T}),()=>{const C=s.get(t);C&&C.key===o&&s.delete(t)}),[s,t]);const O=i.useMemo(()=>({role:f,tabIndex:m,"aria-disabled":r,"aria-pressed":D&&f===P?!0:void 0,"aria-roledescription":w,"aria-describedby":u.draggable}),[r,f,m,D,w,u.draggable]);return{active:l,activatorEvent:c,activeNodeRect:g,attributes:O,isDragging:D,listeners:r?void 0:S,node:z,over:b,setNodeRef:v,setActivatorNodeRef:R,transform:y}}const ue="Droppable",de={timeout:25};function fe(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:a}=e;const o=H(ue),{active:d,dispatch:c,over:l,measureDroppableContainers:g}=i.useContext(G),u=i.useRef({disabled:n}),s=i.useRef(!1),b=i.useRef(null),f=i.useRef(null),{disabled:w,updateMeasurementsFor:m,timeout:D}={...de,...a},y=N(m??r),z=i.useCallback(()=>{if(!s.current){s.current=!0;return}f.current!=null&&clearTimeout(f.current),f.current=setTimeout(()=>{g(Array.isArray(y.current)?y.current:[y.current]),f.current=null},D)},[D]),v=re({callback:z,disabled:w||!d}),I=i.useCallback((O,C)=>{v&&(C&&(v.unobserve(C),s.current=!1),O&&v.observe(O))},[v]),[R,S]=M(I),T=N(t);return i.useEffect(()=>{!v||!R.current||(v.disconnect(),s.current=!1,v.observe(R.current))},[R,v]),E(()=>(c({type:x.RegisterDroppable,element:{id:r,key:o,disabled:n,node:R,rect:b,data:T}}),()=>c({type:x.UnregisterDroppable,key:o,id:r})),[r]),i.useEffect(()=>{n!==u.current.disabled&&(c({type:x.SetDroppableDisabled,id:r,key:o,disabled:n}),u.current.disabled=n)},[r,o,n,c]),{active:d,rect:b,isOver:(l==null?void 0:l.id)===r,node:R,over:l,setNodeRef:S}}function De(e){const{active:t,isDragging:n,attributes:r,listeners:a,setNodeRef:o}=le({...e.draggable,disabled:!e.draggable,attributes:{role:"drag",tabIndex:-1}}),{isOver:d,over:c,active:l,setNodeRef:g}=fe({...e.droppable,disabled:!e.droppable});J.useEffect(()=>{var b,f,w;const s=(b=e.draggable)==null?void 0:b.data;Array.isArray(s)&&(s!=null&&s.includes(t==null?void 0:t.id.toString()))?(f=e.setIsDragging)==null||f.call(e,n):(w=e.setIsDragging)==null||w.call(e,!1)},[n]);function u(){var b;const s=(b=e.draggable)==null?void 0:b.data;return Array.isArray(s)&&s.includes(e.draggable.id.toString())}return B.jsx("div",{ref:o,...a,...r,className:`${e.draggable?"cursor-grab":"cursor-default"} ${n&&t||e.isDragging&&u()?e.dragStyle:null}`,children:B.jsx("div",{ref:g,className:l&&d&&(t==null?void 0:t.id)!==(c==null?void 0:c.id)?e.dropStye:null,children:e.children})})}export{W as C,De as D,h as K,le as a,be as b,E as c,we as g,ve as i,fe as u};
|
|
2
|
+
//# sourceMappingURL=eyydBP-d.chunk.js.map
|