@clickview/exchange 0.62.0-rc.0 → 0.62.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/.vite/manifest.json +531 -531
- package/dist/bundles.json +1 -1
- package/dist/css/Crtlho0p.chunk.css +8 -0
- package/dist/en.json +1 -1
- package/dist/scripts/{cIPkkuhG.chunk.js → 1iKkdpYv.chunk.js} +2 -2
- package/dist/scripts/{cIPkkuhG.chunk.js.map → 1iKkdpYv.chunk.js.map} +1 -1
- package/dist/scripts/{uPFXIvcK2.chunk.js → 8pXw5z942.chunk.js} +2 -2
- package/dist/scripts/{uPFXIvcK2.chunk.js.map → 8pXw5z942.chunk.js.map} +1 -1
- package/dist/scripts/{DVVx1aiS2.chunk.js → B7m3cCi42.chunk.js} +2 -2
- package/dist/scripts/{DVVx1aiS2.chunk.js.map → B7m3cCi42.chunk.js.map} +1 -1
- package/dist/scripts/{DBJfKQKx.chunk.js → BAN6QE-X.chunk.js} +2 -2
- package/dist/scripts/{DBJfKQKx.chunk.js.map → BAN6QE-X.chunk.js.map} +1 -1
- package/dist/scripts/{YGLkoFLc.chunk.js → BHbt9wzx.chunk.js} +2 -2
- package/dist/scripts/{YGLkoFLc.chunk.js.map → BHbt9wzx.chunk.js.map} +1 -1
- package/dist/scripts/{DeevL6eQ.chunk.js → BINz0dmF.chunk.js} +2 -2
- package/dist/scripts/{DeevL6eQ.chunk.js.map → BINz0dmF.chunk.js.map} +1 -1
- package/dist/scripts/{Dg-h5qnR.chunk.js → BPYdRA7H.chunk.js} +2 -2
- package/dist/scripts/{Dg-h5qnR.chunk.js.map → BPYdRA7H.chunk.js.map} +1 -1
- package/dist/scripts/{CkH6ird3.chunk.js → BS8sYAAh.chunk.js} +2 -2
- package/dist/scripts/{CkH6ird3.chunk.js.map → BS8sYAAh.chunk.js.map} +1 -1
- package/dist/scripts/{CKrB9r9w.chunk.js → BaSi1pig.chunk.js} +2 -2
- package/dist/scripts/{CKrB9r9w.chunk.js.map → BaSi1pig.chunk.js.map} +1 -1
- package/dist/scripts/{BRQhDr-02.chunk.js → BbrEvwAi2.chunk.js} +2 -2
- package/dist/scripts/{BRQhDr-02.chunk.js.map → BbrEvwAi2.chunk.js.map} +1 -1
- package/dist/scripts/{Ct8ETEOn2.chunk.js → Bi8itw8v2.chunk.js} +2 -2
- package/dist/scripts/{Ct8ETEOn2.chunk.js.map → Bi8itw8v2.chunk.js.map} +1 -1
- package/dist/scripts/{Co_6cSBX2.chunk.js → BlOKamx72.chunk.js} +2 -2
- package/dist/scripts/{Co_6cSBX2.chunk.js.map → BlOKamx72.chunk.js.map} +1 -1
- package/dist/scripts/{B0hNKKDw2.chunk.js → BobZ5p_m2.chunk.js} +2 -2
- package/dist/scripts/{B0hNKKDw2.chunk.js.map → BobZ5p_m2.chunk.js.map} +1 -1
- package/dist/scripts/{Nx0q4bij.chunk.js → BsLLiG1-.chunk.js} +2 -2
- package/dist/scripts/{Nx0q4bij.chunk.js.map → BsLLiG1-.chunk.js.map} +1 -1
- package/dist/scripts/{D0H6Hjd-2.chunk.js → BtdygabL2.chunk.js} +2 -2
- package/dist/scripts/{D0H6Hjd-2.chunk.js.map → BtdygabL2.chunk.js.map} +1 -1
- package/dist/scripts/{UjMbny4R.chunk.js → Bue5_bLM.chunk.js} +2 -2
- package/dist/scripts/{UjMbny4R.chunk.js.map → Bue5_bLM.chunk.js.map} +1 -1
- package/dist/scripts/{DBKlntFN2.chunk.js → BvamDkjt2.chunk.js} +2 -2
- package/dist/scripts/{DBKlntFN2.chunk.js.map → BvamDkjt2.chunk.js.map} +1 -1
- package/dist/scripts/{NInuYe7b2.chunk.js → BzJLc19T2.chunk.js} +2 -2
- package/dist/scripts/{NInuYe7b2.chunk.js.map → BzJLc19T2.chunk.js.map} +1 -1
- package/dist/scripts/{DyRGf1o8.chunk.js → C03mMZ4k.chunk.js} +2 -2
- package/dist/scripts/{DyRGf1o8.chunk.js.map → C03mMZ4k.chunk.js.map} +1 -1
- package/dist/scripts/{BV2vTX2L.chunk.js → C2AXrtJf.chunk.js} +2 -2
- package/dist/scripts/{BV2vTX2L.chunk.js.map → C2AXrtJf.chunk.js.map} +1 -1
- package/dist/scripts/{Fu0bLEzl2.chunk.js → C3Hw2TpW2.chunk.js} +2 -2
- package/dist/scripts/{Fu0bLEzl2.chunk.js.map → C3Hw2TpW2.chunk.js.map} +1 -1
- package/dist/scripts/{DoTtsl0X.chunk.js → CKL4ViMC.chunk.js} +2 -2
- package/dist/scripts/{DoTtsl0X.chunk.js.map → CKL4ViMC.chunk.js.map} +1 -1
- package/dist/scripts/{DtYC8Udi2.chunk.js → CKZJ2qae2.chunk.js} +2 -2
- package/dist/scripts/{DtYC8Udi2.chunk.js.map → CKZJ2qae2.chunk.js.map} +1 -1
- package/dist/scripts/{CyAM5o2e.chunk.js → CK_CN_mA.chunk.js} +2 -2
- package/dist/scripts/{CyAM5o2e.chunk.js.map → CK_CN_mA.chunk.js.map} +1 -1
- package/dist/scripts/{B6mSouu5.chunk.js → CL9SkODG.chunk.js} +2 -2
- package/dist/scripts/{B6mSouu5.chunk.js.map → CL9SkODG.chunk.js.map} +1 -1
- package/dist/scripts/{BHKm8WQq2.chunk.js → Ca_-2JTE2.chunk.js} +2 -2
- package/dist/scripts/{BHKm8WQq2.chunk.js.map → Ca_-2JTE2.chunk.js.map} +1 -1
- package/dist/scripts/{C7OCN_w_.chunk.js → CfNYdg0m.chunk.js} +2 -2
- package/dist/scripts/{C7OCN_w_.chunk.js.map → CfNYdg0m.chunk.js.map} +1 -1
- package/dist/scripts/{CUdaR862.chunk.js → Ct_4zyE3.chunk.js} +2 -2
- package/dist/scripts/{CUdaR862.chunk.js.map → Ct_4zyE3.chunk.js.map} +1 -1
- package/dist/scripts/{RiPZGw_q2.chunk.js → CxUrOnxW2.chunk.js} +2 -2
- package/dist/scripts/{RiPZGw_q2.chunk.js.map → CxUrOnxW2.chunk.js.map} +1 -1
- package/dist/scripts/{BJxTZJOX.chunk.js → DFXpg6rF.chunk.js} +2 -2
- package/dist/scripts/{BJxTZJOX.chunk.js.map → DFXpg6rF.chunk.js.map} +1 -1
- package/dist/scripts/{CKNdXwxe2.chunk.js → DG6L7zHU2.chunk.js} +2 -2
- package/dist/scripts/{CKNdXwxe2.chunk.js.map → DG6L7zHU2.chunk.js.map} +1 -1
- package/dist/scripts/{CvQQNf_J2.chunk.js → DKz4jhnr2.chunk.js} +2 -2
- package/dist/scripts/{CvQQNf_J2.chunk.js.map → DKz4jhnr2.chunk.js.map} +1 -1
- package/dist/scripts/{BOvQpQ21.chunk.js → DSZkTUVU.chunk.js} +2 -2
- package/dist/scripts/{BOvQpQ21.chunk.js.map → DSZkTUVU.chunk.js.map} +1 -1
- package/dist/scripts/{D5qMnGHT2.chunk.js → D_k-Kl3-2.chunk.js} +2 -2
- package/dist/scripts/{D5qMnGHT2.chunk.js.map → D_k-Kl3-2.chunk.js.map} +1 -1
- package/dist/scripts/{Dp0gbhZx2.chunk.js → DfOgl-0-2.chunk.js} +2 -2
- package/dist/scripts/{Dp0gbhZx2.chunk.js.map → DfOgl-0-2.chunk.js.map} +1 -1
- package/dist/scripts/{CeCXhgoJ.chunk.js → DkB0qBxI.chunk.js} +2 -2
- package/dist/scripts/{CeCXhgoJ.chunk.js.map → DkB0qBxI.chunk.js.map} +1 -1
- package/dist/scripts/{CeHHO1Hv.chunk.js → DmVXt6_V.chunk.js} +2 -2
- package/dist/scripts/{CeHHO1Hv.chunk.js.map → DmVXt6_V.chunk.js.map} +1 -1
- package/dist/scripts/{aDegERgV2.chunk.js → DqM6hYTJ2.chunk.js} +2 -2
- package/dist/scripts/{aDegERgV2.chunk.js.map → DqM6hYTJ2.chunk.js.map} +1 -1
- package/dist/scripts/{BPgKK-d32.chunk.js → DsHiClyc2.chunk.js} +2 -2
- package/dist/scripts/{BPgKK-d32.chunk.js.map → DsHiClyc2.chunk.js.map} +1 -1
- package/dist/scripts/{D9zlZIWi2.chunk.js → DuPL-nK72.chunk.js} +2 -2
- package/dist/scripts/{D9zlZIWi2.chunk.js.map → DuPL-nK72.chunk.js.map} +1 -1
- package/dist/scripts/{ZSP3Vfha2.chunk.js → EIJf9JbR2.chunk.js} +2 -2
- package/dist/scripts/{ZSP3Vfha2.chunk.js.map → EIJf9JbR2.chunk.js.map} +1 -1
- package/dist/scripts/{CqNKzFA4.chunk.js → EO2xPuAQ.chunk.js} +2 -2
- package/dist/scripts/{CqNKzFA4.chunk.js.map → EO2xPuAQ.chunk.js.map} +1 -1
- package/dist/scripts/{o2htB_49.chunk.js → F1LOVRO_.chunk.js} +2 -2
- package/dist/scripts/{o2htB_49.chunk.js.map → F1LOVRO_.chunk.js.map} +1 -1
- package/dist/scripts/{BggsU83p2.chunk.js → G-hiM6b42.chunk.js} +2 -2
- package/dist/scripts/{BggsU83p2.chunk.js.map → G-hiM6b42.chunk.js.map} +1 -1
- package/dist/scripts/{B0VKYPiu.chunk.js → MYu2AEsL.chunk.js} +2 -2
- package/dist/scripts/{B0VKYPiu.chunk.js.map → MYu2AEsL.chunk.js.map} +1 -1
- package/dist/scripts/{B9Rb6IIb.chunk.js → NtrZI2Ef.chunk.js} +2 -2
- package/dist/scripts/{B9Rb6IIb.chunk.js.map → NtrZI2Ef.chunk.js.map} +1 -1
- package/dist/scripts/{CRHkMr9_2.chunk.js → OBYDGOgI2.chunk.js} +2 -2
- package/dist/scripts/{CRHkMr9_2.chunk.js.map → OBYDGOgI2.chunk.js.map} +1 -1
- package/dist/scripts/{zp5MUThO.chunk.js → Pixwk-h-.chunk.js} +2 -2
- package/dist/scripts/{zp5MUThO.chunk.js.map → Pixwk-h-.chunk.js.map} +1 -1
- package/dist/scripts/{Ds3cFntF2.chunk.js → SDRXIwM22.chunk.js} +3 -3
- package/dist/scripts/{Ds3cFntF2.chunk.js.map → SDRXIwM22.chunk.js.map} +1 -1
- package/dist/scripts/{C1u2qBZg2.chunk.js → U0UyGd9c2.chunk.js} +2 -2
- package/dist/scripts/{C1u2qBZg2.chunk.js.map → U0UyGd9c2.chunk.js.map} +1 -1
- package/dist/scripts/{CYUx40jk.chunk.js → amjwjus3.chunk.js} +2 -2
- package/dist/scripts/{CYUx40jk.chunk.js.map → amjwjus3.chunk.js.map} +1 -1
- package/dist/scripts/{app-DDrsm5nt.js → app-BGxmHvGl.js} +3 -3
- package/dist/scripts/{app-DDrsm5nt.js.map → app-BGxmHvGl.js.map} +1 -1
- package/dist/scripts/{CgGl8jzo.chunk.js → eUKFc6dK.chunk.js} +2 -2
- package/dist/scripts/{CgGl8jzo.chunk.js.map → eUKFc6dK.chunk.js.map} +1 -1
- package/dist/scripts/{CWsmm40y.chunk.js → l7UAnIb0.chunk.js} +2 -2
- package/dist/scripts/{CWsmm40y.chunk.js.map → l7UAnIb0.chunk.js.map} +1 -1
- package/dist/scripts/{BsSKrRku2.chunk.js → nMyWveQA2.chunk.js} +2 -2
- package/dist/scripts/{BsSKrRku2.chunk.js.map → nMyWveQA2.chunk.js.map} +1 -1
- package/dist/scripts/{CKUk2HqE.chunk.js → pOL5_XNC.chunk.js} +2 -2
- package/dist/scripts/{CKUk2HqE.chunk.js.map → pOL5_XNC.chunk.js.map} +1 -1
- package/dist/scripts/{eLmgigsW.chunk.js → sViLex0Q.chunk.js} +2 -2
- package/dist/scripts/{eLmgigsW.chunk.js.map → sViLex0Q.chunk.js.map} +1 -1
- package/dist/scripts/{Xs1Bv1h-.chunk.js → vvCGyl_q.chunk.js} +2 -2
- package/dist/scripts/{Xs1Bv1h-.chunk.js.map → vvCGyl_q.chunk.js.map} +1 -1
- package/dist/scripts/{BijIuzIs2.chunk.js → xEGWFFpD2.chunk.js} +2 -2
- package/dist/scripts/{BijIuzIs2.chunk.js.map → xEGWFFpD2.chunk.js.map} +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{C as e,D as t,b as n,mn as r,s as i}from"./CnnBLBPY.chunk.js";import{_ as a,g as o}from"./DW0w8_XN.chunk.js";import{t as s}from"./CrBD6Z4s.chunk.js";import{t as c}from"./BIhfRmDn.chunk.js";import{n as l,r as u}from"./BK-FLPB-.chunk.js";import{I as d,T as f}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{C as e,D as t,b as n,mn as r,s as i}from"./CnnBLBPY.chunk.js";import{_ as a,g as o}from"./DW0w8_XN.chunk.js";import{t as s}from"./CrBD6Z4s.chunk.js";import{t as c}from"./BIhfRmDn.chunk.js";import{n as l,r as u}from"./BK-FLPB-.chunk.js";import{I as d,T as f}from"./app-BGxmHvGl.js";import{t as p}from"./DWCNy_Jd2.chunk.js";import{t as m}from"./B9Q0qBO32.chunk.js";import{t as h}from"./BXmlDh1p.chunk.js";import{n as g}from"./Jf-R5ehU.chunk.js";import{n as _,r as v,t as y}from"./ApcDOLl8.chunk.js";var b={actions:`_actions_1psxq_1`,actionsContainer:`_actionsContainer_1psxq_14`,ownerLogo:`_ownerLogo_1psxq_24`,dropStyle:`_dropStyle_1psxq_33`,dragStyle:`_dragStyle_1psxq_38`},x=r(t()),S=e();function C(e){let t=e.folder.thumbnail?s.urlBuilder(e.folder.thumbnail.url,{size:l.Small}):null,r=e.folder?.libraries?.data?.[0]?.owner,a=e.showOwnerLogo&&r?.logo?.url?s.urlBuilder(r.logo.url,{size:l.Small}):null,c=e.getFolderActions?.(e.folder),d=e.analyticsData?{id:e.folder.id.toString(),name:e.folder.name,...e.analyticsData}:void 0,f=e.analyticsOptions?{actionType:n.Click,entity:i.Folder,...e.analyticsOptions}:void 0;return(0,S.jsx)(h,{draggable:e.drag&&{id:e.folder.id,data:e.folder},droppable:e.drop&&{id:e.folder.id,data:e.folder},dropStye:b.dropStyle,dragStyle:b.dragStyle,children:(0,S.jsxs)(`div`,{className:`position-relative`,children:[(0,S.jsxs)(o,{className:`rounded-3 d-block text-decoration-none`,appLink:e.getAppLink(e.folder),title:e.folder.name,analyticsData:d,analyticsOptions:f,children:[(0,S.jsx)(g,{data:t,imageType:u.Thumbnails,imageClassName:`rounded-top-lg`,children:(0,S.jsx)(_,{name:e.folder.name,type:v.Folder,extraClasses:`rounded-top-lg`})}),(0,S.jsx)(`h3`,{className:`bg-white border-start border-end border-bottom rounded-bottom-lg font-size-normal fw-semibold mb-0 p-2`,children:(0,S.jsx)(`span`,{className:`text-truncate d-block`,children:e.folder.name})})]}),c?.length&&(0,S.jsx)(p,{actions:c,className:b.actionsContainer,actionsDropdownClassName:b.actions,dropdownToggleSvgSize:null}),!!a&&(0,S.jsx)(`img`,{src:a,className:`rounded-circle ${b.ownerLogo}`,alt:`${r?.name} logo`,title:r?.name||``})]})})}var w=`libraries.folderList`,T=`has:expanded:library:folders`;function E(){let e=f();return e.xxl||e.xl||e.lg?6:e.md?4:3}D.defaultProps={showHeading:!0};function D(e){let[t,n]=x.useState(c.get(T)||!1),r=e.expandFolders||t,i=E();function o(){n(!r),c.set(T,!r)}let s=r?e.folders:e.folders.slice(0,i),l=e.folders.length>i&&!e.expandFolders;return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{className:`d-flex justify-content-between align-items-center`,children:[e.showHeading&&(0,S.jsxs)(a,{className:`d-inline-flex align-items-center mb-2 px-2 ${l?``:`cursor-default`}`,onClick:o,children:[l&&(0,S.jsx)(m,{direction:r?`down`:`right`}),(0,S.jsx)(`h2`,{className:`h4 mb-0`,children:(0,S.jsx)(d,{namespace:w,phrase:`folders`,options:{count:e.folders.length}})})]}),!!(!r&&l)&&(0,S.jsx)(`div`,{className:`d-flex justify-content-end justify-self-end px-2`,children:(0,S.jsx)(a,{onClick:o,className:`text-dark hover-text-underline d-inline-block`,children:(0,S.jsx)(d,{namespace:w,phrase:`seeAll`,options:{count:e.folders.length}})})}),!!(r&&l)&&(0,S.jsx)(`div`,{className:`d-flex justify-content-end justify-self-end px-2`,children:(0,S.jsx)(a,{onClick:o,className:`text-dark hover-text-underline d-inline-block`,children:(0,S.jsx)(d,{namespace:w,phrase:`seeLess`})})}),e.extraButtons?e.extraButtons:(0,S.jsx)(S.Fragment,{})]}),(0,S.jsx)(`div`,{className:`row mx-1`,children:s.map(t=>(0,S.jsx)(`div`,{className:`col-4 col-md-3 col-lg-2 px-1 pb-3`,children:(0,S.jsx)(C,{folder:t,getAppLink:e.getAppLink,getFolderActions:e.getFolderActions,drag:e.drag,drop:e.drop})},t.id))})]})}function O(e,t){let n=e,r=t,i=y(e&&(e=>n(e).key));return(0,x.useEffect)(()=>{i&&i.shouldInitialFetch&&t&&r()},[i?.shouldInitialFetch,t]),(0,x.useEffect)(()=>{!i||!i.nextCursor||i.isFetching||!t||r(i.nextCursor)},[i?.nextCursor,i?.isFetching,t]),i}var k={partialFolderHeading:`_partialFolderHeading_1surw_1`,partialFolderThumbnail:`_partialFolderThumbnail_1surw_4`,partialFolderName:`_partialFolderName_1surw_7`},A=()=>(0,S.jsxs)(`div`,{className:`col-4 col-md-3 col-lg-2 px-1 pb-3`,children:[(0,S.jsx)(`div`,{className:`${k.partialFolderThumbnail} partial-loading-background rounded-top-lg`}),(0,S.jsx)(`div`,{className:`${k.partialFolderName} partial-loading-background border-bottom rounded-bottom-lg font-size-normal mb-0 p-2`,children:`\xA0`})]});function j({count:e=3}){return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`div`,{className:`${k.partialFolderHeading} h4 mb-2 partial-loading-background`,children:`\xA0`}),(0,S.jsx)(`div`,{className:`row mx-n1`,children:Array(e).fill(null).map((e,t)=>(0,S.jsx)(A,{},t))})]})}export{O as n,D as r,j as t};
|
|
2
|
+
//# sourceMappingURL=sViLex0Q.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eLmgigsW.chunk.js","names":[],"sources":["../../../../libs/shared/src/components/library-folder/library-folder.module.scss","../../../../libs/shared/src/components/library-folder/LibraryFolder.tsx","../../../../libs/shared/src/components/folder-list/FolderList.tsx","../../../../libs/shared/src/hooks/UseFetchAll.ts","../../../../libs/shared/src/components/folder-list/partial-loading/partial-folder-list.module.scss","../../../../libs/shared/src/components/folder-list/partial-loading/PartialFolderList.tsx"],"sourcesContent":[":local {\n .actions {\n background: none;\n color: $white;\n border: none;\n padding: 0;\n outline: inherit;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n\n &:hover {\n background-color: rgba(0, 0, 0, .5);\n }\n }\n\n .actionsContainer {\n position: absolute;\n top: 0;\n right: 0;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: 0.9375rem;\n margin-right: 0.9375rem;\n z-index: 10;\n }\n\n .ownerLogo {\n position: absolute;\n top: 0;\n left: 0;\n width: 2rem;\n height: 2rem;\n margin-top: 0.9375rem;\n margin-left: 0.9375rem;\n }\n\n .dropStyle {\n box-shadow: 0 0 $focus-ring-blur 2px $gray-900;\n border-radius: $border-radius-lg;\n background: $gray-900;\n }\n\n .dragStyle {\n opacity: 0.5;\n }\n}","import React from 'react';\n\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsOptions, EntityType, HashObject, UserAction } from 'libs/analytics/interfaces';\n\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { DragDropMoveWrapper } from 'libs/shared/components/drag-drop-move/DragDropMoveWrapper';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { ImageSize, ImageType } from 'libs/shared/enums/Images';\nimport { Folder } from 'libs/shared/interfaces';\n\nimport styles from './library-folder.module.scss';\n\ninterface LibraryFolderProps {\n folder: Folder;\n showOwnerLogo?: boolean;\n drag?: boolean;\n drop?: boolean;\n getAppLink: (f: Folder) => Core.AppLink;\n getFolderActions?: (f: Folder) => ActionOptions[];\n analyticsOptions?: AnalyticsOptions;\n analyticsData?: HashObject;\n}\n\nexport function LibraryFolder(props: LibraryFolderProps): JSX.Element {\n const thumbnailUrl = props.folder.thumbnail ?\n UrlHelper.urlBuilder(props.folder.thumbnail.url, { size: ImageSize.Small }) :\n null;\n\n const owner = props.folder?.libraries?.data?.[0]?.owner;\n const ownerLogoUrl = props.showOwnerLogo && !!owner?.logo?.url ?\n UrlHelper.urlBuilder(owner.logo.url, { size: ImageSize.Small }) :\n null;\n\n const actions = props.getFolderActions?.(props.folder);\n\n const analyticsData = props.analyticsData ? {\n id: props.folder.id.toString(),\n name: props.folder.name,\n ...props.analyticsData\n } : undefined;\n\n const analyticsOptions = props.analyticsOptions ? {\n actionType: UserAction.Click,\n entity: EntityType.Folder,\n\n ...props.analyticsOptions\n } : undefined;\n\n return (\n <DragDropMoveWrapper\n draggable={props.drag && { id: props.folder.id, data: props.folder }}\n droppable={props.drop && { id: props.folder.id, data: props.folder }}\n dropStye={styles.dropStyle}\n dragStyle={styles.dragStyle}\n >\n <div className='position-relative'>\n <AppLink\n className='rounded-3 d-block text-decoration-none'\n appLink={props.getAppLink(props.folder)}\n title={props.folder.name}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n >\n <BaseImage\n data={thumbnailUrl}\n imageType={ImageType.Thumbnails}\n imageClassName='rounded-top-lg'\n >\n <ImageFallback\n name={props.folder.name}\n type={ImageFallbackType.Folder}\n extraClasses='rounded-top-lg'\n />\n </BaseImage>\n <h3 className='bg-white border-start border-end border-bottom rounded-bottom-lg font-size-normal fw-semibold mb-0 p-2'>\n <span className='text-truncate d-block'>{props.folder.name}</span>\n </h3>\n </AppLink>\n {actions?.length &&\n <Actions\n actions={actions}\n className={styles.actionsContainer}\n actionsDropdownClassName={styles.actions}\n // Intentionally setting to the default SVG size\n dropdownToggleSvgSize={null}\n />\n }\n {!!ownerLogoUrl &&\n <img src={ownerLogoUrl} className={`rounded-circle ${styles.ownerLogo}`} alt={`${owner?.name} logo`} title={owner?.name || ''} />\n }\n </div>\n </DragDropMoveWrapper>\n );\n}\n","import React from 'react';\n\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Core } from 'libs/common/core';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Caret } from 'libs/shared/components/caret/Caret';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { LibraryFolder } from 'libs/shared/components/library-folder/LibraryFolder';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Folder } from 'libs/shared/interfaces';\n\nconst namespace = 'libraries.folderList';\n\nconst EXPANDED_FOLDERS_KEY = 'has:expanded:library:folders';\n\nfunction useGetFolderLimit(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xxl || breakpoints.xl || breakpoints.lg)\n return 6;\n\n if (breakpoints.md)\n return 4;\n\n return 3;\n}\n\ninterface FolderListProps {\n folders: Folder[];\n getAppLink: (folder: Folder) => Core.AppLink;\n expandFolders?: boolean;\n showHeading?: boolean;\n getFolderActions?: (f: Folder) => ActionOptions[];\n drag?: boolean;\n drop?: boolean;\n extraButtons?: JSX.Element;\n}\n\nFolderList.defaultProps = {\n showHeading: true\n};\n\nexport function FolderList(props: FolderListProps): JSX.Element {\n const [ _hasExpandedFolders, setHasExpandedFolders ] = React.useState(\n LocalStorageHelper.get(EXPANDED_FOLDERS_KEY) || false\n );\n\n const hasExpandedFolders = props.expandFolders || _hasExpandedFolders;\n\n const folderLimit = useGetFolderLimit();\n\n function onToggleFolder(): void {\n setHasExpandedFolders(!hasExpandedFolders);\n LocalStorageHelper.set(EXPANDED_FOLDERS_KEY, !hasExpandedFolders);\n }\n\n const displayableFolders = hasExpandedFolders ? props.folders : props.folders.slice(0, folderLimit);\n\n const canToggleCollapsedView = props.folders.length > folderLimit && !props.expandFolders;\n\n return (\n <>\n <div className='d-flex justify-content-between align-items-center'>\n {props.showHeading &&\n <DivButton\n className={`d-inline-flex align-items-center mb-2 px-2 ${!canToggleCollapsedView ? 'cursor-default' : ''}`}\n onClick={onToggleFolder}\n >\n {canToggleCollapsedView && (\n <Caret direction={hasExpandedFolders ? 'down' : 'right'} />\n )}\n <h2 className='h4 mb-0'>\n <Text namespace={namespace} phrase='folders' options={{ count: props.folders.length }} />\n </h2>\n </DivButton>\n }\n\n {!!(!hasExpandedFolders && canToggleCollapsedView) && (\n <div className='d-flex justify-content-end justify-self-end px-2'>\n <DivButton onClick={onToggleFolder} className='text-dark hover-text-underline d-inline-block'>\n <Text namespace={namespace} phrase='seeAll' options={{ count: props.folders.length }} />\n </DivButton>\n </div>\n )}\n {!!(hasExpandedFolders && canToggleCollapsedView) && (\n <div className='d-flex justify-content-end justify-self-end px-2'>\n <DivButton onClick={onToggleFolder} className='text-dark hover-text-underline d-inline-block'>\n <Text namespace={namespace} phrase='seeLess' />\n </DivButton>\n </div>\n )}\n\n {props.extraButtons ? props.extraButtons : <></>}\n </div>\n\n <div className='row mx-1'>\n {displayableFolders.map(f => (\n <div key={f.id} className='col-4 col-md-3 col-lg-2 px-1 pb-3'>\n <LibraryFolder\n folder={f}\n getAppLink={props.getAppLink}\n getFolderActions={props.getFolderActions}\n drag={props.drag}\n drop={props.drop}\n />\n </div>\n ))}\n </div>\n </>\n );\n}\n","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { BaseObject } from 'libs/shared/interfaces';\n\nimport { SelectAllPagesResult, useSelectAllPages } from './UseSelectAllPages';\n\n/**\n * Hook to fetch all pages of a collection.\n * \n * @param getRequest - callback function to get the request for each page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n * \n * @param fetchNext - callback function to fetch a page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useFetchAll<T = BaseObject>(\n getRequest: ((cursor?: string) => Flight.Request) | false,\n fetchNext: ((cursor?: string) => void) | false\n): SelectAllPagesResult<T> {\n const getRequestFn = getRequest as (cursor?: string) => Flight.Request;\n const fetchNextFn = fetchNext as (cursor?: string) => void;\n\n const response = useSelectAllPages<T>(getRequest && ((cursor?: string) => getRequestFn(cursor).key));\n\n useEffect(() => {\n if (!response)\n return;\n\n if (response.shouldInitialFetch && fetchNext)\n fetchNextFn();\n }, [ response?.shouldInitialFetch, fetchNext ]);\n\n useEffect(() => {\n if (!response || !response.nextCursor || response.isFetching || !fetchNext)\n return;\n\n fetchNextFn(response.nextCursor);\n }, [ response?.nextCursor, response?.isFetching, fetchNext ]);\n\n return response;\n}\n",":local {\n .partialFolderHeading {\n width: 6.25rem;\n }\n\n .partialFolderThumbnail {\n padding-bottom: 56.25%;\n }\n\n .partialFolderName {\n line-height: 1.2;\n }\n}","import React from 'react';\n\nimport styles from './partial-folder-list.module.scss';\n\nconst PartialFolder = () => (\n <div className='col-4 col-md-3 col-lg-2 px-1 pb-3'>\n <div className={`${styles.partialFolderThumbnail} partial-loading-background rounded-top-lg`} />\n <div className={`${styles.partialFolderName} partial-loading-background border-bottom rounded-bottom-lg font-size-normal mb-0 p-2`}>\n \n </div>\n </div>\n);\n\nexport function PartialFolderList({ count = 3 }: { count?: number }): JSX.Element {\n return (\n <>\n <div className={`${styles.partialFolderHeading} h4 mb-2 partial-loading-background`}> </div>\n <div className='row mx-n1'>\n {Array(count).fill(null).map((_, i) => <PartialFolder key={i} />)}\n </div>\n </>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sViLex0Q.chunk.js","names":[],"sources":["../../../../libs/shared/src/components/library-folder/library-folder.module.scss","../../../../libs/shared/src/components/library-folder/LibraryFolder.tsx","../../../../libs/shared/src/components/folder-list/FolderList.tsx","../../../../libs/shared/src/hooks/UseFetchAll.ts","../../../../libs/shared/src/components/folder-list/partial-loading/partial-folder-list.module.scss","../../../../libs/shared/src/components/folder-list/partial-loading/PartialFolderList.tsx"],"sourcesContent":[":local {\n .actions {\n background: none;\n color: $white;\n border: none;\n padding: 0;\n outline: inherit;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n\n &:hover {\n background-color: rgba(0, 0, 0, .5);\n }\n }\n\n .actionsContainer {\n position: absolute;\n top: 0;\n right: 0;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: 0.9375rem;\n margin-right: 0.9375rem;\n z-index: 10;\n }\n\n .ownerLogo {\n position: absolute;\n top: 0;\n left: 0;\n width: 2rem;\n height: 2rem;\n margin-top: 0.9375rem;\n margin-left: 0.9375rem;\n }\n\n .dropStyle {\n box-shadow: 0 0 $focus-ring-blur 2px $gray-900;\n border-radius: $border-radius-lg;\n background: $gray-900;\n }\n\n .dragStyle {\n opacity: 0.5;\n }\n}","import React from 'react';\n\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsOptions, EntityType, HashObject, UserAction } from 'libs/analytics/interfaces';\n\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { DragDropMoveWrapper } from 'libs/shared/components/drag-drop-move/DragDropMoveWrapper';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { ImageSize, ImageType } from 'libs/shared/enums/Images';\nimport { Folder } from 'libs/shared/interfaces';\n\nimport styles from './library-folder.module.scss';\n\ninterface LibraryFolderProps {\n folder: Folder;\n showOwnerLogo?: boolean;\n drag?: boolean;\n drop?: boolean;\n getAppLink: (f: Folder) => Core.AppLink;\n getFolderActions?: (f: Folder) => ActionOptions[];\n analyticsOptions?: AnalyticsOptions;\n analyticsData?: HashObject;\n}\n\nexport function LibraryFolder(props: LibraryFolderProps): JSX.Element {\n const thumbnailUrl = props.folder.thumbnail ?\n UrlHelper.urlBuilder(props.folder.thumbnail.url, { size: ImageSize.Small }) :\n null;\n\n const owner = props.folder?.libraries?.data?.[0]?.owner;\n const ownerLogoUrl = props.showOwnerLogo && !!owner?.logo?.url ?\n UrlHelper.urlBuilder(owner.logo.url, { size: ImageSize.Small }) :\n null;\n\n const actions = props.getFolderActions?.(props.folder);\n\n const analyticsData = props.analyticsData ? {\n id: props.folder.id.toString(),\n name: props.folder.name,\n ...props.analyticsData\n } : undefined;\n\n const analyticsOptions = props.analyticsOptions ? {\n actionType: UserAction.Click,\n entity: EntityType.Folder,\n\n ...props.analyticsOptions\n } : undefined;\n\n return (\n <DragDropMoveWrapper\n draggable={props.drag && { id: props.folder.id, data: props.folder }}\n droppable={props.drop && { id: props.folder.id, data: props.folder }}\n dropStye={styles.dropStyle}\n dragStyle={styles.dragStyle}\n >\n <div className='position-relative'>\n <AppLink\n className='rounded-3 d-block text-decoration-none'\n appLink={props.getAppLink(props.folder)}\n title={props.folder.name}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n >\n <BaseImage\n data={thumbnailUrl}\n imageType={ImageType.Thumbnails}\n imageClassName='rounded-top-lg'\n >\n <ImageFallback\n name={props.folder.name}\n type={ImageFallbackType.Folder}\n extraClasses='rounded-top-lg'\n />\n </BaseImage>\n <h3 className='bg-white border-start border-end border-bottom rounded-bottom-lg font-size-normal fw-semibold mb-0 p-2'>\n <span className='text-truncate d-block'>{props.folder.name}</span>\n </h3>\n </AppLink>\n {actions?.length &&\n <Actions\n actions={actions}\n className={styles.actionsContainer}\n actionsDropdownClassName={styles.actions}\n // Intentionally setting to the default SVG size\n dropdownToggleSvgSize={null}\n />\n }\n {!!ownerLogoUrl &&\n <img src={ownerLogoUrl} className={`rounded-circle ${styles.ownerLogo}`} alt={`${owner?.name} logo`} title={owner?.name || ''} />\n }\n </div>\n </DragDropMoveWrapper>\n );\n}\n","import React from 'react';\n\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Core } from 'libs/common/core';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Caret } from 'libs/shared/components/caret/Caret';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { LibraryFolder } from 'libs/shared/components/library-folder/LibraryFolder';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Folder } from 'libs/shared/interfaces';\n\nconst namespace = 'libraries.folderList';\n\nconst EXPANDED_FOLDERS_KEY = 'has:expanded:library:folders';\n\nfunction useGetFolderLimit(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xxl || breakpoints.xl || breakpoints.lg)\n return 6;\n\n if (breakpoints.md)\n return 4;\n\n return 3;\n}\n\ninterface FolderListProps {\n folders: Folder[];\n getAppLink: (folder: Folder) => Core.AppLink;\n expandFolders?: boolean;\n showHeading?: boolean;\n getFolderActions?: (f: Folder) => ActionOptions[];\n drag?: boolean;\n drop?: boolean;\n extraButtons?: JSX.Element;\n}\n\nFolderList.defaultProps = {\n showHeading: true\n};\n\nexport function FolderList(props: FolderListProps): JSX.Element {\n const [ _hasExpandedFolders, setHasExpandedFolders ] = React.useState(\n LocalStorageHelper.get(EXPANDED_FOLDERS_KEY) || false\n );\n\n const hasExpandedFolders = props.expandFolders || _hasExpandedFolders;\n\n const folderLimit = useGetFolderLimit();\n\n function onToggleFolder(): void {\n setHasExpandedFolders(!hasExpandedFolders);\n LocalStorageHelper.set(EXPANDED_FOLDERS_KEY, !hasExpandedFolders);\n }\n\n const displayableFolders = hasExpandedFolders ? props.folders : props.folders.slice(0, folderLimit);\n\n const canToggleCollapsedView = props.folders.length > folderLimit && !props.expandFolders;\n\n return (\n <>\n <div className='d-flex justify-content-between align-items-center'>\n {props.showHeading &&\n <DivButton\n className={`d-inline-flex align-items-center mb-2 px-2 ${!canToggleCollapsedView ? 'cursor-default' : ''}`}\n onClick={onToggleFolder}\n >\n {canToggleCollapsedView && (\n <Caret direction={hasExpandedFolders ? 'down' : 'right'} />\n )}\n <h2 className='h4 mb-0'>\n <Text namespace={namespace} phrase='folders' options={{ count: props.folders.length }} />\n </h2>\n </DivButton>\n }\n\n {!!(!hasExpandedFolders && canToggleCollapsedView) && (\n <div className='d-flex justify-content-end justify-self-end px-2'>\n <DivButton onClick={onToggleFolder} className='text-dark hover-text-underline d-inline-block'>\n <Text namespace={namespace} phrase='seeAll' options={{ count: props.folders.length }} />\n </DivButton>\n </div>\n )}\n {!!(hasExpandedFolders && canToggleCollapsedView) && (\n <div className='d-flex justify-content-end justify-self-end px-2'>\n <DivButton onClick={onToggleFolder} className='text-dark hover-text-underline d-inline-block'>\n <Text namespace={namespace} phrase='seeLess' />\n </DivButton>\n </div>\n )}\n\n {props.extraButtons ? props.extraButtons : <></>}\n </div>\n\n <div className='row mx-1'>\n {displayableFolders.map(f => (\n <div key={f.id} className='col-4 col-md-3 col-lg-2 px-1 pb-3'>\n <LibraryFolder\n folder={f}\n getAppLink={props.getAppLink}\n getFolderActions={props.getFolderActions}\n drag={props.drag}\n drop={props.drop}\n />\n </div>\n ))}\n </div>\n </>\n );\n}\n","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { BaseObject } from 'libs/shared/interfaces';\n\nimport { SelectAllPagesResult, useSelectAllPages } from './UseSelectAllPages';\n\n/**\n * Hook to fetch all pages of a collection.\n * \n * @param getRequest - callback function to get the request for each page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n * \n * @param fetchNext - callback function to fetch a page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useFetchAll<T = BaseObject>(\n getRequest: ((cursor?: string) => Flight.Request) | false,\n fetchNext: ((cursor?: string) => void) | false\n): SelectAllPagesResult<T> {\n const getRequestFn = getRequest as (cursor?: string) => Flight.Request;\n const fetchNextFn = fetchNext as (cursor?: string) => void;\n\n const response = useSelectAllPages<T>(getRequest && ((cursor?: string) => getRequestFn(cursor).key));\n\n useEffect(() => {\n if (!response)\n return;\n\n if (response.shouldInitialFetch && fetchNext)\n fetchNextFn();\n }, [ response?.shouldInitialFetch, fetchNext ]);\n\n useEffect(() => {\n if (!response || !response.nextCursor || response.isFetching || !fetchNext)\n return;\n\n fetchNextFn(response.nextCursor);\n }, [ response?.nextCursor, response?.isFetching, fetchNext ]);\n\n return response;\n}\n",":local {\n .partialFolderHeading {\n width: 6.25rem;\n }\n\n .partialFolderThumbnail {\n padding-bottom: 56.25%;\n }\n\n .partialFolderName {\n line-height: 1.2;\n }\n}","import React from 'react';\n\nimport styles from './partial-folder-list.module.scss';\n\nconst PartialFolder = () => (\n <div className='col-4 col-md-3 col-lg-2 px-1 pb-3'>\n <div className={`${styles.partialFolderThumbnail} partial-loading-background rounded-top-lg`} />\n <div className={`${styles.partialFolderName} partial-loading-background border-bottom rounded-bottom-lg font-size-normal mb-0 p-2`}>\n \n </div>\n </div>\n);\n\nexport function PartialFolderList({ count = 3 }: { count?: number }): JSX.Element {\n return (\n <>\n <div className={`${styles.partialFolderHeading} h4 mb-2 partial-loading-background`}> </div>\n <div className='row mx-n1'>\n {Array(count).fill(null).map((_, i) => <PartialFolder key={i} />)}\n </div>\n </>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{C as e,D as t}from"./CnnBLBPY.chunk.js";import{l as n,u as r}from"./D8clSITt.chunk.js";import{t as i}from"./GN6vNflP.chunk.js";import{i as a,o,s}from"./
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{C as e,D as t}from"./CnnBLBPY.chunk.js";import{l as n,u as r}from"./D8clSITt.chunk.js";import{t as i}from"./GN6vNflP.chunk.js";import{i as a,o,s}from"./1iKkdpYv.chunk.js";import{t as c}from"./BjaJoJzM.chunk.js";import{t as l}from"./DuPL-nK72.chunk.js";import{h as u,m as d,t as f}from"./C03mMZ4k.chunk.js";import{t as p}from"./CK_CN_mA.chunk.js";import{t as m}from"./DmVXt6_V.chunk.js";import{t as h}from"./BAN6QE-X.chunk.js";import{t as g}from"./d3WuXtzH.chunk.js";import{t as _}from"./MYu2AEsL.chunk.js";import{r as v}from"./amjwjus3.chunk.js";t();var y=e(),b=i.encloseNamespace(`exchange.mostRecent`);function x(){let e=r(),t=l(),i=n(p.exchange()),x=h(`video-list`),{commonVideoProps:S}=d();c({title:b(`title`)});let{items:C,hasMore:w,isFetching:T,nextCursor:E}=s(i.data&&D,O,k);function D(e){return p.mostRecentVideos(i.data.id,e)}function O(t){return e(D(t))}function k(e,n){if(e===1)return m(n);t.error(b(`error`))}return(0,y.jsxs)(u.Provider,{value:x,children:[(0,y.jsxs)(`div`,{className:`mb-2`,children:[(0,y.jsx)(g,{}),(0,y.jsx)(_,{active:`most-recent`})]}),C?(0,y.jsx)(f,{videos:C,getVideoAppLink:v,presentationAudiences:null,getPreviewQuestionsAppLink:()=>null,hasPermissions:()=>!1,hideVideoGuidance:!0,commonVideoProps:S}):(0,y.jsx)(`div`,{className:`mx-n2`,children:(0,y.jsx)(a,{})}),(w||T)&&(0,y.jsx)(o,{isFetching:T,fetchNext:O,nextCursor:E})]})}export{x as ExchangeMostRecentView};
|
|
2
|
+
//# sourceMappingURL=vvCGyl_q.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"vvCGyl_q.chunk.js","names":[],"sources":["../../src/apps/exchange/views/exchange-most-recent/ExchangeMostRecentView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Library, Video } 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 { useCommonVideoProps } from 'apps/exchange/hooks/useCommonVideoProps';\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { getVideoAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nconst namespace = 'exchange.mostRecent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function ExchangeMostRecentView() {\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n \n const videoActions = useGetExchangeActions('video-list');\n\n const { commonVideoProps } = useCommonVideoProps();\n\n useSetPageMetadata({ title: getPhrase('title') });\n\n const {\n items: videos,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(exchange.data && getVideosRequest, fetchNextVideos, onError);\n\n function getVideosRequest(cursor?: string): Flight.Request {\n return ExchangeRequests.mostRecentVideos(exchange.data.id, cursor);\n }\n\n function fetchNextVideos(cursor?: string): void {\n return fetch(getVideosRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='mb-2'>\n <ExchangeSearchBar />\n <ExchangeTabs active='most-recent' />\n </div>\n\n {videos ? (\n <VideoList\n videos={videos}\n getVideoAppLink={getVideoAppLink}\n presentationAudiences={null}\n getPreviewQuestionsAppLink={() => null}\n hasPermissions={() => false}\n hideVideoGuidance\n commonVideoProps={commonVideoProps}\n />\n ) : (\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n )}\n\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNextVideos}\n nextCursor={nextCursor}\n />\n )}\n </VideoActionsContext.Provider>\n );\n}\n"],"mappings":"ujBAwBM,EAAY,EAAgB,iBADhB,sBAC2C,CAE7D,SAAgB,GAAyB,CACvC,IAAM,EAAQ,GAAoB,CAC5B,EAAS,GAAW,CAEpB,EAAW,EAA8B,EAAiB,UAAU,CAAC,CAErE,EAAe,EAAsB,aAAa,CAElD,CAAE,oBAAqB,GAAqB,CAElD,EAAmB,CAAE,MAAO,EAAU,QAAQ,CAAE,CAAC,CAEjD,GAAM,CACJ,MAAO,EACP,UACA,aACA,cACE,EAAuB,EAAS,MAAQ,EAAkB,EAAiB,EAAQ,CAEvF,SAAS,EAAiB,EAAiC,CACzD,OAAO,EAAiB,iBAAiB,EAAS,KAAK,GAAI,EAAO,CAGpE,SAAS,EAAgB,EAAuB,CAC9C,OAAO,EAAM,EAAiB,EAAO,CAAC,CAGxC,SAAS,EAAQ,EAAoB,EAA8B,CACjE,GAAI,IAAe,EACjB,OAAO,EAAgB,EAAW,CAEpC,EAAO,MAAM,EAAU,QAAQ,CAAC,CAGlC,OACE,EAAA,EAAA,MAAC,EAAoB,SAArB,CAA8B,MAAO,WAArC,EACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,gBAAf,EACE,EAAA,EAAA,KAAC,EAAD,EAAqB,CAAA,EACrB,EAAA,EAAA,KAAC,EAAD,CAAc,OAAO,cAAgB,CAAA,CACjC,GAEL,GACC,EAAA,EAAA,KAAC,EAAD,CACU,SACS,kBACjB,sBAAuB,KACvB,+BAAkC,KAClC,mBAAsB,GACtB,kBAAA,GACkB,mBAClB,CAAA,EAEF,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kBACb,EAAA,EAAA,KAAC,EAAD,EAAoB,CAAA,CAChB,CAAA,EAGN,GAAW,KACX,EAAA,EAAA,KAAC,EAAD,CACc,aACZ,UAAW,EACC,aACZ,CAAA,CAEyB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{y as e}from"./D8clSITt.chunk.js";import{t}from"./CBDo4oAU.chunk.js";import{t as n}from"./CrBD6Z4s.chunk.js";import{c as r}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{y as e}from"./D8clSITt.chunk.js";import{t}from"./CBDo4oAU.chunk.js";import{t as n}from"./CrBD6Z4s.chunk.js";import{c as r}from"./app-BGxmHvGl.js";var i={domainLibraries(e,t,r,i){return{url:n.urlBuilder(`/api/domain/v2/me/libraries`,{type:e,maxCategoryDepth:0}),key:`libraries:${e.sort().join(`:`)}`,formatData:e=>e.map(e=>e.data),success:t,error:r,always:i}},libraryRequestLibraries(){return{url:`{gateway}/v1/library-requests/libraries`,key:`libraries`}},librariesWithCategories(){return{url:n.urlBuilder(`/api/domain/v2/me/libraries`,{type:[`sharedLibrary`,`customLibrary`,`unpublishedCustomLibrary`],maxCategoryDepth:5}),key:`libraries:with:categories`,normalize:!1}},librariesWithOwnerLogos(e,t,i,a){return e.sort(),{url:n.urlBuilder(`/api/domain/v2/objects`,{query:r.LIBRARY_COLLECTION,id:e}),key:`libraries:owner:logo:${e.join(`,`)}`,success:t,error:i,always:a}},library(e,t,i,a){return{url:n.urlBuilder(`{gateway}/v1/objects/${e}`,{query:r.LIBRARY}),key:`library:${e}`,success:t,error:i,always:a}},exchange(e){return{url:n.urlBuilder(`{gateway}/v1/objects/${e}`,{query:`categorytree`}),key:`exchange`}},streamableLearning(){return{url:`{gateway}/v1/streamable-learning-library`,key:`streamable:learning`}},librarySubscribers(e,t){let r={};return t&&(r.cursor=t),{url:n.urlBuilder(`{gateway}/v1/library-requests/libraries/${e}/subscribers`,r),key:`library:subscribers:${e}:${t}`}},libraryOwner(e){return{url:`{gateway}/v1/library-requests/libraries/${e}/subscribers?ownerOnly=true`,key:`library:owner:${e}`,formatData:e=>t.first(e.data)}},updateSubscriberPermissions(t,n,r,i,a){return{url:`{gateway}/v1/libraries/${t}/library-request-permissions`,key:`update:subscriber:permissions:${t}:${n}`,type:e.PUT,data:{customerId:n,granted:r},invalidationKeys:[`library:owner:${t}`,`library:subscribers:${t}`],success:i,error:a}},removeSubscriber(t,n,r,i){return{url:`{gateway}/v1/objects/${t}/subscribedcustomers?memberId=${n}`,key:`revoke:subscription:${t}:${n}`,type:e.DELETE,invalidationKeys:[`library:subscribers:${t}`],success:r,error:i}},folder(e,t,n,r){return{url:`{gateway}/v1/objects/${e}?query=banner,libraries`,key:`library:folder:${e}`,success:t,error:n,always:r}},videoFolders(e){return{url:`{gateway}/v1/objects/${e}/categories?query=libraries`,key:`video:folders:${e}`}},folderParentTree(e,t,n,r){return{url:`/api/domain/v2/categories/${e}/parent-tree?includeAll=false`,key:`folder:parent:tree${e}`,success:t,error:n,always:r}},childFolders(e,t,n,r,i){let a=`{gateway}/v1/objects/${e}/categories?query={limit:100}thumbnail`,o=`child:folders:${e}`;return t&&(a+=`&cursor=${t}`,o+=`:${t}`),{url:a,key:o,formatData:e=>{let t=e.data.sort((e,t)=>e.name.toLowerCase().localeCompare(t.name.toLowerCase()));return{...e,data:t}},success:n,error:r,always:i}},addToLibrary(t,n){let r=[`folder`,`videos`,t.metadata.destinationCategoryId,n].filter(e=>!!e).join(`:`);return{url:`{gateway}/v1/library-requests`,key:`add:${t.objectId}:to:${t.destinationLibraryId}:${t.metadata.destinationCategoryId}`,type:e.POST,data:t,invalidationKeys:r}},libraries(){return{url:`{gateway}/v1/users/me/libraries`,key:`objects:libraries`}},libraryExport(t){return{url:`{gateway}/v1/libraries/export`,key:`library:export`,type:e.POST,data:t}},libraryExportV2(t){return{url:`{gateway}/v2/libraries/export`,key:`library:export:v2`,type:e.POST,data:t}}};export{i as t};
|
|
2
|
+
//# sourceMappingURL=xEGWFFpD2.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BijIuzIs2.chunk.js","names":[],"sources":["../../../../libs/shared/src/flight-requests/LibraryRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Folder, FolderCollection, Library, LibrarySubscriberCollection, MasterNestedObject } from 'libs/shared/interfaces';\nimport { AddToLibraryRequest } from 'libs/shared/interfaces/requests/AddToLibraryRequest';\nimport { LibraryExportRequest } from 'libs/shared/interfaces/requests/LibraryExportRequest';\nimport { LibraryExportRequestV2 } from 'libs/shared/interfaces/requests/LibraryExportRequestV2';\nimport { LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\n\nexport type DomainMasterCollectionType =\n 'sharedLibrary' |\n 'customLibrary' |\n 'unpublishedCustomLibrary' |\n 'exchange' |\n 'workspace' |\n 'hostedLibrary';\n\nexport const LibraryRequests = {\n domainLibraries(\n type: Array<DomainMasterCollectionType>,\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type,\n maxCategoryDepth: 0\n }),\n key: `libraries:${type.sort().join(':')}`,\n formatData: (data: MasterNestedObject<Library>[]) => data.map(d => d.data),\n success,\n error,\n always\n };\n },\n\n libraryRequestLibraries(): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries`,\n key: 'libraries'\n };\n },\n\n librariesWithCategories(): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: [ 'sharedLibrary', 'customLibrary', 'unpublishedCustomLibrary' ],\n maxCategoryDepth: 5\n }),\n key: 'libraries:with:categories',\n normalize: false\n };\n },\n\n librariesWithOwnerLogos(\n libraryIds: string[],\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n libraryIds.sort();\n\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/objects', {\n query: SharedWithStatements.LIBRARY_COLLECTION,\n id: libraryIds\n }),\n key: `libraries:owner:logo:${libraryIds.join(',')}`,\n success,\n error,\n always\n };\n },\n\n library(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.LIBRARY\n }),\n key: `library:${id}`,\n success,\n error,\n always\n };\n },\n\n exchange(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: 'categorytree'\n }),\n key: `exchange`\n };\n },\n\n streamableLearning(): Flight.Request {\n return {\n url: '{gateway}/v1/streamable-learning-library',\n key: 'streamable:learning'\n };\n },\n\n librarySubscribers(id: string, cursor?: string): Flight.Request {\n const params: HashObject = {};\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/library-requests/libraries/${id}/subscribers`, params),\n key: `library:subscribers:${id}:${cursor}`\n };\n },\n\n libraryOwner(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries/${id}/subscribers?ownerOnly=true`,\n key: `library:owner:${id}`,\n formatData: (collection: LibrarySubscriberCollection) => {\n return ArrayHelper.first(collection.data);\n }\n };\n },\n\n updateSubscriberPermissions(\n libraryId: string,\n customerId: string,\n allowLibraryRequests: boolean,\n success?: () => void,\n error?: (xhr?: LibraryApiXhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/libraries/${libraryId}/library-request-permissions`,\n key: `update:subscriber:permissions:${libraryId}:${customerId}`,\n type: HttpVerbs.PUT,\n data: {\n customerId,\n granted: allowLibraryRequests\n },\n invalidationKeys: [\n `library:owner:${libraryId}`,\n `library:subscribers:${libraryId}`\n ],\n success,\n error\n };\n },\n\n removeSubscriber(\n libraryId: string,\n customerId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${libraryId}/subscribedcustomers?memberId=${customerId}`,\n key: `revoke:subscription:${libraryId}:${customerId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [`library:subscribers:${libraryId}`],\n success,\n error\n };\n },\n\n folder(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=banner,libraries`,\n key: `library:folder:${id}`,\n success,\n error,\n always\n };\n },\n\n videoFolders(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/categories?query=libraries`,\n key: `video:folders:${id}`\n };\n },\n\n folderParentTree(\n id: string,\n success?: (data: MasterNestedObject<Folder>) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v2/categories/${id}/parent-tree?includeAll=false`,\n key: `folder:parent:tree${id}`,\n success,\n error,\n always\n };\n },\n\n childFolders(\n id: string,\n cursor?: string,\n success?: (data: Folder[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n let url = `{gateway}/v1/objects/${id}/categories?query={limit:100}thumbnail`;\n let key = `child:folders:${id}`;\n\n if (cursor) {\n url += `&cursor=${cursor}`;\n key += `:${cursor}`;\n }\n\n return {\n url,\n key,\n formatData: (folders: FolderCollection) => {\n const data = folders.data.sort((a, b) => {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n\n return {\n ...folders,\n data\n };\n },\n success,\n error,\n always\n };\n },\n\n addToLibrary(data: AddToLibraryRequest, sort: VideoSortType): Flight.Request {\n const folderVideosKey = [ 'folder', 'videos', data.metadata.destinationCategoryId, sort ].filter(k => !!k).join(':');\n \n return {\n url: `{gateway}/v1/library-requests`,\n key: `add:${data.objectId}:to:${data.destinationLibraryId}:${data.metadata.destinationCategoryId}`,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: folderVideosKey\n };\n },\n\n libraries(): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/libraries',\n key: 'objects:libraries'\n };\n },\n\n libraryExport(data: LibraryExportRequest): Flight.Request {\n return {\n url: '{gateway}/v1/libraries/export',\n key: 'library:export',\n type: HttpVerbs.POST,\n data\n };\n },\n\n libraryExportV2(data: LibraryExportRequestV2): Flight.Request {\n return {\n url: '{gateway}/v2/libraries/export',\n key: 'library:export:v2',\n type: HttpVerbs.POST,\n data\n };\n }\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xEGWFFpD2.chunk.js","names":[],"sources":["../../../../libs/shared/src/flight-requests/LibraryRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Folder, FolderCollection, Library, LibrarySubscriberCollection, MasterNestedObject } from 'libs/shared/interfaces';\nimport { AddToLibraryRequest } from 'libs/shared/interfaces/requests/AddToLibraryRequest';\nimport { LibraryExportRequest } from 'libs/shared/interfaces/requests/LibraryExportRequest';\nimport { LibraryExportRequestV2 } from 'libs/shared/interfaces/requests/LibraryExportRequestV2';\nimport { LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\n\nexport type DomainMasterCollectionType =\n 'sharedLibrary' |\n 'customLibrary' |\n 'unpublishedCustomLibrary' |\n 'exchange' |\n 'workspace' |\n 'hostedLibrary';\n\nexport const LibraryRequests = {\n domainLibraries(\n type: Array<DomainMasterCollectionType>,\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type,\n maxCategoryDepth: 0\n }),\n key: `libraries:${type.sort().join(':')}`,\n formatData: (data: MasterNestedObject<Library>[]) => data.map(d => d.data),\n success,\n error,\n always\n };\n },\n\n libraryRequestLibraries(): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries`,\n key: 'libraries'\n };\n },\n\n librariesWithCategories(): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: [ 'sharedLibrary', 'customLibrary', 'unpublishedCustomLibrary' ],\n maxCategoryDepth: 5\n }),\n key: 'libraries:with:categories',\n normalize: false\n };\n },\n\n librariesWithOwnerLogos(\n libraryIds: string[],\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n libraryIds.sort();\n\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/objects', {\n query: SharedWithStatements.LIBRARY_COLLECTION,\n id: libraryIds\n }),\n key: `libraries:owner:logo:${libraryIds.join(',')}`,\n success,\n error,\n always\n };\n },\n\n library(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.LIBRARY\n }),\n key: `library:${id}`,\n success,\n error,\n always\n };\n },\n\n exchange(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: 'categorytree'\n }),\n key: `exchange`\n };\n },\n\n streamableLearning(): Flight.Request {\n return {\n url: '{gateway}/v1/streamable-learning-library',\n key: 'streamable:learning'\n };\n },\n\n librarySubscribers(id: string, cursor?: string): Flight.Request {\n const params: HashObject = {};\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/library-requests/libraries/${id}/subscribers`, params),\n key: `library:subscribers:${id}:${cursor}`\n };\n },\n\n libraryOwner(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries/${id}/subscribers?ownerOnly=true`,\n key: `library:owner:${id}`,\n formatData: (collection: LibrarySubscriberCollection) => {\n return ArrayHelper.first(collection.data);\n }\n };\n },\n\n updateSubscriberPermissions(\n libraryId: string,\n customerId: string,\n allowLibraryRequests: boolean,\n success?: () => void,\n error?: (xhr?: LibraryApiXhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/libraries/${libraryId}/library-request-permissions`,\n key: `update:subscriber:permissions:${libraryId}:${customerId}`,\n type: HttpVerbs.PUT,\n data: {\n customerId,\n granted: allowLibraryRequests\n },\n invalidationKeys: [\n `library:owner:${libraryId}`,\n `library:subscribers:${libraryId}`\n ],\n success,\n error\n };\n },\n\n removeSubscriber(\n libraryId: string,\n customerId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${libraryId}/subscribedcustomers?memberId=${customerId}`,\n key: `revoke:subscription:${libraryId}:${customerId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [`library:subscribers:${libraryId}`],\n success,\n error\n };\n },\n\n folder(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=banner,libraries`,\n key: `library:folder:${id}`,\n success,\n error,\n always\n };\n },\n\n videoFolders(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/categories?query=libraries`,\n key: `video:folders:${id}`\n };\n },\n\n folderParentTree(\n id: string,\n success?: (data: MasterNestedObject<Folder>) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v2/categories/${id}/parent-tree?includeAll=false`,\n key: `folder:parent:tree${id}`,\n success,\n error,\n always\n };\n },\n\n childFolders(\n id: string,\n cursor?: string,\n success?: (data: Folder[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n let url = `{gateway}/v1/objects/${id}/categories?query={limit:100}thumbnail`;\n let key = `child:folders:${id}`;\n\n if (cursor) {\n url += `&cursor=${cursor}`;\n key += `:${cursor}`;\n }\n\n return {\n url,\n key,\n formatData: (folders: FolderCollection) => {\n const data = folders.data.sort((a, b) => {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n\n return {\n ...folders,\n data\n };\n },\n success,\n error,\n always\n };\n },\n\n addToLibrary(data: AddToLibraryRequest, sort: VideoSortType): Flight.Request {\n const folderVideosKey = [ 'folder', 'videos', data.metadata.destinationCategoryId, sort ].filter(k => !!k).join(':');\n \n return {\n url: `{gateway}/v1/library-requests`,\n key: `add:${data.objectId}:to:${data.destinationLibraryId}:${data.metadata.destinationCategoryId}`,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: folderVideosKey\n };\n },\n\n libraries(): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/libraries',\n key: 'objects:libraries'\n };\n },\n\n libraryExport(data: LibraryExportRequest): Flight.Request {\n return {\n url: '{gateway}/v1/libraries/export',\n key: 'library:export',\n type: HttpVerbs.POST,\n data\n };\n },\n\n libraryExportV2(data: LibraryExportRequestV2): Flight.Request {\n return {\n url: '{gateway}/v2/libraries/export',\n key: 'library:export:v2',\n type: HttpVerbs.POST,\n data\n };\n }\n};\n"],"mappings":"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"}
|