@clickview/lite 0.58.1 → 0.58.2-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/scripts/1041-29107d9409-lite.chunk.js +2 -0
- package/dist/scripts/1041-29107d9409-lite.chunk.js.map +1 -0
- package/dist/scripts/{1080-563b65eb58-lite.chunk.js → 1080-48ce32d627-lite.chunk.js} +2 -2
- package/dist/scripts/1080-48ce32d627-lite.chunk.js.map +1 -0
- package/dist/scripts/{1169-f2120c91cc-lite.chunk.js → 1169-1443c8a778-lite.chunk.js} +2 -2
- package/dist/scripts/1169-1443c8a778-lite.chunk.js.map +1 -0
- package/dist/scripts/143-efbc6a41c5-lite.chunk.js +2 -0
- package/dist/scripts/143-efbc6a41c5-lite.chunk.js.map +1 -0
- package/dist/scripts/{170-94b806dc73-lite.chunk.js → 170-233a87b708-lite.chunk.js} +3 -3
- package/dist/scripts/170-233a87b708-lite.chunk.js.map +1 -0
- package/dist/scripts/2015-d1bc58c0eb-lite.chunk.js +2 -0
- package/dist/scripts/2015-d1bc58c0eb-lite.chunk.js.map +1 -0
- package/dist/scripts/204-4f5b47b73f-lite.chunk.js +2 -0
- package/dist/scripts/204-4f5b47b73f-lite.chunk.js.map +1 -0
- package/dist/scripts/{2153-7663eb7803-lite.chunk.js → 2153-02090c64f8-lite.chunk.js} +2 -2
- package/dist/scripts/2153-02090c64f8-lite.chunk.js.map +1 -0
- package/dist/scripts/2215-39ee2a2b3f-lite.chunk.js +2 -0
- package/dist/scripts/2215-39ee2a2b3f-lite.chunk.js.map +1 -0
- package/dist/scripts/{2340-d1548f6362-lite.chunk.js → 2340-62c86fabb2-lite.chunk.js} +2 -2
- package/dist/scripts/2340-62c86fabb2-lite.chunk.js.map +1 -0
- package/dist/scripts/2571-c280e72eff-lite.chunk.js +2 -0
- package/dist/scripts/2571-c280e72eff-lite.chunk.js.map +1 -0
- package/dist/scripts/{4013-3d2edd41fb-lite.chunk.js → 4013-2aff1769f5-lite.chunk.js} +3 -3
- package/dist/scripts/4013-2aff1769f5-lite.chunk.js.map +1 -0
- package/dist/scripts/{490-002054a946-lite.chunk.js → 490-62ca33b520-lite.chunk.js} +2 -2
- package/dist/scripts/490-62ca33b520-lite.chunk.js.map +1 -0
- package/dist/scripts/4944-a780ed2439-lite.chunk.js +2 -0
- package/dist/scripts/4944-a780ed2439-lite.chunk.js.map +1 -0
- package/dist/scripts/{5220-40dd0842b5-lite.chunk.js → 5220-e0074ed079-lite.chunk.js} +3 -3
- package/dist/scripts/5220-e0074ed079-lite.chunk.js.map +1 -0
- package/dist/scripts/{5224-09e451b12f-lite.chunk.js → 5224-53cabe5c40-lite.chunk.js} +2 -2
- package/dist/scripts/5224-53cabe5c40-lite.chunk.js.map +1 -0
- package/dist/scripts/{5836-f212660b94-lite.chunk.js → 5836-03975cbcf8-lite.chunk.js} +2 -2
- package/dist/scripts/5836-03975cbcf8-lite.chunk.js.map +1 -0
- package/dist/scripts/{5936-f1e642e93f-lite.chunk.js → 5936-71d764494c-lite.chunk.js} +2 -2
- package/dist/scripts/5936-71d764494c-lite.chunk.js.map +1 -0
- package/dist/scripts/{6118-d069072bb6-lite.chunk.js → 6118-e4ebf5a2c1-lite.chunk.js} +2 -2
- package/dist/scripts/6118-e4ebf5a2c1-lite.chunk.js.map +1 -0
- package/dist/scripts/{6263-c665ac8df6-lite.chunk.js → 6263-fca75a8668-lite.chunk.js} +2 -2
- package/dist/scripts/6263-fca75a8668-lite.chunk.js.map +1 -0
- package/dist/scripts/{6599-c87f4f5ec1-lite.chunk.js → 6599-d8f1b255c5-lite.chunk.js} +3 -3
- package/dist/scripts/6599-d8f1b255c5-lite.chunk.js.map +1 -0
- package/dist/scripts/{6741-1ee9b683c7-lite.chunk.js → 6741-638b658087-lite.chunk.js} +3 -3
- package/dist/scripts/6741-638b658087-lite.chunk.js.map +1 -0
- package/dist/scripts/6934-5688ca7ce7-lite.chunk.js +2 -0
- package/dist/scripts/6934-5688ca7ce7-lite.chunk.js.map +1 -0
- package/dist/scripts/{7234-d1a173cb25-lite.chunk.js → 7234-8664150dd4-lite.chunk.js} +2 -2
- package/dist/scripts/7234-8664150dd4-lite.chunk.js.map +1 -0
- package/dist/scripts/{7556-69f8cb3b20-lite.chunk.js → 7556-276466341c-lite.chunk.js} +3 -3
- package/dist/scripts/7556-276466341c-lite.chunk.js.map +1 -0
- package/dist/scripts/{7709-57c48d288e-lite.chunk.js → 7709-adf3f9328f-lite.chunk.js} +2 -2
- package/dist/scripts/7709-adf3f9328f-lite.chunk.js.map +1 -0
- package/dist/scripts/{839-f8478d27f8-lite.chunk.js → 839-aaf4cad363-lite.chunk.js} +1 -1
- package/dist/scripts/{839-f8478d27f8-lite.chunk.js.map → 839-aaf4cad363-lite.chunk.js.map} +1 -1
- package/dist/scripts/{9139-456a0f14a5-lite.chunk.js → 9139-e8c1a686af-lite.chunk.js} +2 -2
- package/dist/scripts/9139-e8c1a686af-lite.chunk.js.map +1 -0
- package/dist/scripts/{9173-e03b30b436-lite.chunk.js → 9173-90aa484be4-lite.chunk.js} +2 -2
- package/dist/scripts/9173-90aa484be4-lite.chunk.js.map +1 -0
- package/dist/scripts/9284-c0cee27d0e-lite.chunk.js +2 -0
- package/dist/scripts/9284-c0cee27d0e-lite.chunk.js.map +1 -0
- package/dist/scripts/{9395-70cd9ae3a1-lite.chunk.js → 9395-355efbc0e7-lite.chunk.js} +3 -3
- package/dist/scripts/{9395-70cd9ae3a1-lite.chunk.js.map → 9395-355efbc0e7-lite.chunk.js.map} +1 -1
- package/dist/scripts/{953-45aa51744b-lite.chunk.js → 953-b3b777612b-lite.chunk.js} +3 -3
- package/dist/scripts/{953-45aa51744b-lite.chunk.js.map → 953-b3b777612b-lite.chunk.js.map} +1 -1
- package/dist/scripts/bundle-22b3c87b82.min.js +3 -0
- package/dist/scripts/bundle-22b3c87b82.min.js.map +1 -0
- package/package.json +1 -1
- package/dist/scripts/1080-563b65eb58-lite.chunk.js.map +0 -1
- package/dist/scripts/1169-f2120c91cc-lite.chunk.js.map +0 -1
- package/dist/scripts/143-4ea7a69434-lite.chunk.js +0 -2
- package/dist/scripts/143-4ea7a69434-lite.chunk.js.map +0 -1
- package/dist/scripts/170-94b806dc73-lite.chunk.js.map +0 -1
- package/dist/scripts/204-2b19b80cc1-lite.chunk.js +0 -2
- package/dist/scripts/204-2b19b80cc1-lite.chunk.js.map +0 -1
- package/dist/scripts/2153-7663eb7803-lite.chunk.js.map +0 -1
- package/dist/scripts/2215-5e8af1456d-lite.chunk.js +0 -2
- package/dist/scripts/2215-5e8af1456d-lite.chunk.js.map +0 -1
- package/dist/scripts/2340-d1548f6362-lite.chunk.js.map +0 -1
- package/dist/scripts/3525-45e28232cf-lite.chunk.js +0 -2
- package/dist/scripts/3525-45e28232cf-lite.chunk.js.map +0 -1
- package/dist/scripts/4013-3d2edd41fb-lite.chunk.js.map +0 -1
- package/dist/scripts/490-002054a946-lite.chunk.js.map +0 -1
- package/dist/scripts/4944-b565b5c501-lite.chunk.js +0 -2
- package/dist/scripts/4944-b565b5c501-lite.chunk.js.map +0 -1
- package/dist/scripts/5220-40dd0842b5-lite.chunk.js.map +0 -1
- package/dist/scripts/5224-09e451b12f-lite.chunk.js.map +0 -1
- package/dist/scripts/5836-f212660b94-lite.chunk.js.map +0 -1
- package/dist/scripts/5936-f1e642e93f-lite.chunk.js.map +0 -1
- package/dist/scripts/6118-d069072bb6-lite.chunk.js.map +0 -1
- package/dist/scripts/6263-c665ac8df6-lite.chunk.js.map +0 -1
- package/dist/scripts/6599-c87f4f5ec1-lite.chunk.js.map +0 -1
- package/dist/scripts/6741-1ee9b683c7-lite.chunk.js.map +0 -1
- package/dist/scripts/6934-1f439ec9a2-lite.chunk.js +0 -2
- package/dist/scripts/6934-1f439ec9a2-lite.chunk.js.map +0 -1
- package/dist/scripts/7234-d1a173cb25-lite.chunk.js.map +0 -1
- package/dist/scripts/7556-69f8cb3b20-lite.chunk.js.map +0 -1
- package/dist/scripts/7709-57c48d288e-lite.chunk.js.map +0 -1
- package/dist/scripts/8813-1e58ad1895-lite.chunk.js +0 -2
- package/dist/scripts/8813-1e58ad1895-lite.chunk.js.map +0 -1
- package/dist/scripts/9139-456a0f14a5-lite.chunk.js.map +0 -1
- package/dist/scripts/9173-e03b30b436-lite.chunk.js.map +0 -1
- package/dist/scripts/9284-80c3abfe62-lite.chunk.js +0 -2
- package/dist/scripts/9284-80c3abfe62-lite.chunk.js.map +0 -1
- package/dist/scripts/bundle-7da429ea24.min.js +0 -3
- package/dist/scripts/bundle-7da429ea24.min.js.map +0 -1
- /package/dist/css/{3525-lite-6ab6e749cb.chunk.css → 1041-lite-6ab6e749cb.chunk.css} +0 -0
- /package/dist/css/{8813-lite-6ab6e749cb.chunk.css → 2015-lite-6ab6e749cb.chunk.css} +0 -0
- /package/dist/scripts/{170-94b806dc73-lite.chunk.js.LICENSE.txt → 170-233a87b708-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{4013-3d2edd41fb-lite.chunk.js.LICENSE.txt → 4013-2aff1769f5-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{5220-40dd0842b5-lite.chunk.js.LICENSE.txt → 5220-e0074ed079-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6599-c87f4f5ec1-lite.chunk.js.LICENSE.txt → 6599-d8f1b255c5-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6741-1ee9b683c7-lite.chunk.js.LICENSE.txt → 6741-638b658087-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{7556-69f8cb3b20-lite.chunk.js.LICENSE.txt → 7556-276466341c-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9395-70cd9ae3a1-lite.chunk.js.LICENSE.txt → 9395-355efbc0e7-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{953-45aa51744b-lite.chunk.js.LICENSE.txt → 953-b3b777612b-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-7da429ea24.min.js.LICENSE.txt → bundle-22b3c87b82.min.js.LICENSE.txt} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9284],{26512:(e,t,n)=>{n.r(t),n.d(t,{MyVideosView:()=>z});var a=n(32735),i=n(70680),r=n(23481),l=n(20354),o=n(28400),c=n(65858),s=n(43500),u=n(73518),d=n(83834),p=n(65403),m=n(10874),v=n(37395),f=n(4201),h=n(83345),g=n(74696),y=n(30254),E=n(13231),k=n(51365),A=n(16714),b=n(183),V=n(39151),w=n(1666),L=n(31949),F=n(299),C=n(91286),M=n(22902),x=n(79612),S=n(35223),N=n(35949),O=n(73417),B=n(14070),I=n(97291),T=n(51855),D=n(27638),P=n(44110),j=n(97816),_=n(10741),R=n(22490),U=n(98860),G=n(12617),H=n(45967),W=n(65202),Y=n(74796),Q=n(14305),X=n(61970),Z=n(82431),$=n(26859),q=n(18097);const J={uploadingList:"wg7hV"};var K="default.myVideos";function z(e){var t,n,z,ee,te,ne,ae,ie,re;(0,x.M)({title:r.T.getPhrase(K,"pageTitle")});var le=(0,i.I0)(),oe=(0,D.u)(c.LZ.VideoThumbnail),ce=oe.setFavourite,se=oe.canFavourite,ue=(0,M.T)(),de=ue.hasPermissions,pe=ue.hasLocalPermissions,me=(0,H.q)().handleDragEnd,ve=(0,T.G)().isPlugin,fe=(0,f.of)().focusSearchBar,he=l.a.useBasicFetch(L.N.currentUser()),ge=l.a.useBasicFetch((null===(t=he.data)||void 0===t?void 0:t.isAuthenticated)&&w.h.yearGroups(he.data.customerId)),ye=l.a.useBasicFetch(V.L.config()),Ee=l.a.useBasicFetch((null===(n=he.data)||void 0===n?void 0:n.isAuthenticated)&&L.N.workspace()),ke=null===(ee=null===(z=Ee.data)||void 0===z?void 0:z.categoryTree)||void 0===ee?void 0:ee.id,Ae=(0,U.P)(ke),be=(0,X.y)(),Ve=(0,X.W)(null===(te=Ee.data)||void 0===te?void 0:te.id,null===(ne=Ee.data)||void 0===ne?void 0:ne.categoryTree.id),we=(0,P.i)(),Le=(0,Y.f)(),Fe=function(e,t){return Ee.data?G.E.videos(ke,e,t):null},Ce=!pe(A.E.ViewMyVideosLanding)&&he.hasCompleted,Me=l.a.useBasicFetch(Ce&&Fe(e.cursor,e.typeFilter));(0,C.v)(Me);var xe=(0,W.J)({onRemove:function(e,t){return l.a.getFetch(le)(Fe(e,t))}}),Se=xe.uploadingVideos,Ne=xe.onClickAlternate,Oe=xe.onClickDelete,Be=xe.processingIds,Ie=(null===(ae=Me.data)||void 0===ae?void 0:ae.data.length)&&Be?Me.data.data.filter((function(e){return!Be[e.id]})):[];(0,j.V)(Ie);var Te=(0,F.X)(Ie);if(pe(A.E.ViewMyVideosLanding))return a.createElement(Q.V,null);function De(){return{action:B.e.MyVideos.MY_VIDEOS,application:I.O.MY_VIDEOS,params:{cursor:e.cursor,previous:e.previous,type:e.typeFilter}}}return a.createElement(k.M.Provider,{value:be},a.createElement("div",{className:"px-3"},a.createElement(O.T,null),a.createElement("div",{className:"d-flex justify-content-between"},a.createElement("h1",{className:"h2 mb-0"},a.createElement(h.x,{namespace:K,phrase:"header"})),a.createElement("div",null,a.createElement("div",{className:"d-sm-none"},a.createElement($.c,{canUpload:de(A.C.UploadVideo)})),a.createElement("div",{className:"ms-2 d-sm-inline-block d-none"},a.createElement(m.h,{svgName:S.vn.Search,appLink:{application:I.O.SEARCH,action:B.e.Search.HOME,params:{source:s.fi.MyVideos}},className:"btn btn-outline-dark me-2",onClick:fe,analyticsData:{},analyticsOptions:{entity:c.py.SearchResults,location:c.LZ.MyVideos,actionType:c.Vw.Click,descriptor:c.Bk.MyVideos}},a.createElement(h.x,{namespace:K,phrase:"searchMyVideos"})),a.createElement(m.h,{svgName:S.vn.Plus,appLink:{application:I.O.MY_VIDEOS,action:B.e.MyVideos.ADD_FOLDER,args:[null===(ie=Ee.data)||void 0===ie?void 0:ie.id]},className:"btn btn-outline-dark"},a.createElement(h.x,{namespace:K,phrase:"addFolder"}))))),a.createElement("hr",null),a.createElement(u.p,{handleDragEnd:me,dragOverlayComponent:N.U,source:Ee.data},a.createElement("div",null,!(null==Ae?void 0:Ae.hasCompleted)&&a.createElement(p.i,null),!!(null===(re=null==Ae?void 0:Ae.items)||void 0===re?void 0:re.length)&&a.createElement("div",{className:"mx-n2"},a.createElement(d.$,{folders:Ae.items,getAppLink:function(e){return{application:I.O.MY_VIDEOS,action:B.e.MyVideos.MY_VIDEOS_FOLDER,args:[e.id,o.m.slugify(e.name)]}},expandFolders:!1,getFolderActions:function(e){return Le("folder",e)},drag:!0,drop:!0})),a.createElement(y.X,{allowBulkAction:!0,allowFilter:!0,checkboxHelper:Te,getVideosBulkAction:Ve,locationContext:c.LZ.MyVideos,typeFilter:e.typeFilter,getAppLink:function(){return De()}}),!!(null==Se?void 0:Se.length)&&a.createElement("div",{className:"position-relative ".concat(J.uploadingList)},Se.map((function(e){return a.createElement(q.X,{item:e,onClickAlternate:Ne,onClickDelete:Oe,key:e.id,allowBulkAction:!0})}))),function(){var t,n,i;return he.data&&Me.data?(null==Ie?void 0:Ie.length)||(null==Se?void 0:Se.length)?a.createElement(a.Fragment,null,a.createElement(E.E4,{videos:Ie,yearGroups:ge.data,getVideoAppLink:function(e,t){var n;return R.W.getAppLink(e,Object.assign(Object.assign({},t),{context:b.Q.CategoryTree,contextId:null===(n=Ee.data)||void 0===n?void 0:n.categoryTree.id}))},getSubTextAppLink:function(e){return Z.j.getSeriesAppLink(e.series)},setFavourite:ce,canFavourite:se,presentationAudiences:we.data,canRemovePrivateVideos:!0,allowBulkAction:!0,getVideosBulkAction:Ve,typeFilter:e.typeFilter,checkboxHelper:Te,hasPermissions:de,drag:!0,imageCdnUrl:null===(t=ye.data)||void 0===t?void 0:t.imageCdnUrl,getPreviewQuestionsAppLink:function(e){return _.j.getPreviewQuestionsAppLink(e)},isPlugin:ve,getClassroomGuideAppLink:R.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:R.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:R.W.getResourceGuidanceAppLink}),!!(null===(i=null===(n=Me.data)||void 0===n?void 0:n.pagination)||void 0===i?void 0:i.cursors)&&a.createElement(v.t,{appLink:De(),cursors:{next:Me.data.pagination.cursors.next,previous:e.cursor},buttonVariant:"outline-dark",className:"py-2 float-end",scrollTop:!0,prevHack:!0})):a.createElement(Q.K,{canUpload:de(A.C.UploadVideo)}):a.createElement("div",{className:"mx-n2"},a.createElement(g.S,{allowBulkActions:!0}))}()))))}},73417:(e,t,n)=>{n.d(t,{T:()=>u});var a=n(32735),i=n(11607),r=n(83914),l=n(83345),o=n(87348),c=n(35223),s="shared.upgradeFeedbackBanner";function u(){var e=(0,o.Q)(),t=e.showFeedbackBanner,n=e.dismissFeedbackBanner;return t?a.createElement("div",{className:"alert bg-light-blue p-2 rounded text-info fw-semibold d-flex justify-content-between align-items-center"},a.createElement(l.x,{namespace:s,phrase:"message",options:{url:"https://www.clickvieweducation.com/en-au/blog/product/exchange-tv-new-look"}}),a.createElement(i.L,{onClick:n},a.createElement(r.x,{svgName:c.vn.Close,className:"ms-2 svg-container"}))):a.createElement(a.Fragment,null)}},97816:(e,t,n)=>{n.d(t,{V:()=>m});var a=n(32735),i=n(20354),r=n(75896),l=n(21750),o=n(31949),c=n(1575),s=n(31908);function u(e,t){if(e){if("string"==typeof e)return d(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var p=50;function m(e){var t,n,m=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},v=i.a.useBasicFetch(o.N.currentUser()),f=a.useRef(new Set),h=function(e){return e?Array.isArray(e)?e.filter((function(e){return!!e&&(s.M.isVideo(e)||s.M.isClip(e))})):"data"in e?e.data.filter((function(e){return!!e&&(s.M.isVideo(e)||s.M.isClip(e))})):[]:[]}(e),g=h.map((function(e){return e.id})),y=(t=a.useState([]),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,i,r,l,o=[],c=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=r.call(n)).done)&&(o.push(a.value),o.length!==t);c=!0);}catch(e){s=!0,i=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw i}}return o}}(t,n)||u(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),E=y[0],k=y[1];a.useEffect((function(){if((null==g?void 0:g.length)&&v.hasCompleted){var e=[];g.forEach((function(t){f.current.has(t)||(e.push(t),f.current.add(t))})),e.length&&k((function(t){var n=function(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||u(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t);return r.m.chunk(e,p).forEach((function(e){var t;n.push(c.R.videoMixinAssocs(e,m.flightNamespace)),(null===(t=v.data)||void 0===t?void 0:t.isAuthenticated)&&n.push(l.x.hasCurriculumLinks(e,null,m.flightNamespace))})),n}))}}),[null==g?void 0:g.length,v.hasCompleted]),i.a.useBasicFetchAll(E)}}}]);
|
|
2
|
-
//# sourceMappingURL=9284-80c3abfe62-lite.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/9284-80c3abfe62-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/apps/my-videos/views/my-videos/my-videos.scss","file:///app/packages/projects/lite/src/apps/my-videos/views/my-videos/MyVideosView.tsx","file:///app/packages/projects/lite/src/shared/components/upgrade-feedback-banner/UpgradeFeedbackBanner.tsx","file:///app/packages/projects/lite/src/shared/hooks/useVideoMixin.ts"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"uploadingList\":\"wg7hV\"};","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Cursors } from 'libs/common/backbone/interfaces';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { EntityType, LocationContext, SearchSourceDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { SearchIndices, SourceFilterOptions } from 'libs/shared/apps/search/interfaces';\nimport { DragDropMoveContext } from 'libs/shared/components/drag-drop-move/DragDropMoveContext';\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { useFocusSearchBar } from 'libs/shared/components/search-bar/SearchUtils';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoListActions } from 'libs/shared/components/video-list/video-list-actions/VideoListActions';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { BulkCheckboxManager, useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { BasePaginatedCollection, Config, CurrentUser, Folder, Library, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { DragDropOverlay } from 'shared/components/drag-drop-overlay/DragDropOverlay';\nimport { UpgradeFeedbackBanner } from 'shared/components/upgrade-feedback-banner/UpgradeFeedbackBanner';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { useFetchAllChildFolders } from 'apps/libraries/hooks/UseFetchAllChildFolders';\nimport { MyVideosRequests } from 'apps/my-videos/flight-requests/MyVideosRequests';\nimport { useDragDropMove } from 'apps/my-videos/hooks/useDragDropMove';\nimport { useUploadItems } from 'apps/my-videos/hooks/useUploadItems';\nimport { useGetFolderActions } from 'apps/my-videos/utils/getFolderActions';\nimport { MyVideosEmptyState, MyVideosPublicEmptyState } from 'apps/my-videos/views/my-videos/empty-state/MyVideosEmptyState';\nimport { useMyVideosViewActions, useMyVideosViewBulkActions } from 'apps/my-videos/views/my-videos/MyVideosViewUtils';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\nimport { UploadFileSelect } from 'apps/upload/components/upload-file-select/UploadFileSelect';\nimport { UploadingItem } from 'apps/upload/components/uploading-item/UploadingItem';\n\nimport styles from './my-videos.scss';\n\nconst namespace = 'default.myVideos';\n\ninterface MyVideosViewProps {\n cursor?: string;\n previous?: string;\n typeFilter?: SearchIndices[];\n}\n\nexport function MyVideosView(props: MyVideosViewProps): JSX.Element {\n useSetPageMetadata({ title: LanguageService.getPhrase(namespace, 'pageTitle') });\n\n const dispatch = useDispatch();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { handleDragEnd } = useDragDropMove();\n const { isPlugin } = usePluginHelper();\n\n const { focusSearchBar } = useFocusSearchBar();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const workspace = Flight.useBasicFetch<Library>(\n currentUser.data?.isAuthenticated && UserRequests.workspace()\n );\n const folderId = workspace.data?.categoryTree?.id;\n const folders = useFetchAllChildFolders(folderId);\n \n const videoActions = useMyVideosViewActions();\n const getVideosAction = useMyVideosViewBulkActions(workspace.data?.id, workspace.data?.categoryTree.id);\n\n const audiences = usePresentationAudiences();\n const getFolderActions = useGetFolderActions();\n\n const getMyVideosRequest = (cursor?: string, typeFilter?: SearchIndices | SearchIndices[]) => {\n if (!workspace.data)\n return null;\n\n // Delete the above when master supports the new assoc types.\n return MyVideosRequests.videos(folderId, cursor, typeFilter);\n };\n\n const fetchNext = (cursor?: string, typeFilter?: SearchIndices | SearchIndices[]) => {\n return Flight.getFetch(dispatch)(getMyVideosRequest(cursor, typeFilter));\n };\n\n const shouldFetch = !hasLocalPermissions(LocalPermissionName.ViewMyVideosLanding) && currentUser.hasCompleted;\n\n const videos = Flight.useBasicFetch<BasePaginatedCollection<VideoTypes>>(\n shouldFetch && getMyVideosRequest(props.cursor, props.typeFilter)\n );\n\n useHandleObjectError(videos);\n\n const {\n uploadingVideos,\n onClickAlternate,\n onClickDelete,\n processingIds\n } = useUploadItems({ onRemove: fetchNext });\n\n const omittedVideos = videos.data?.data.length && processingIds\n ? videos.data.data.filter(v => !processingIds[v.id])\n : [];\n \n useVideoMixin(omittedVideos);\n\n const CheckboxHelper: BulkCheckboxManager = useBulkCheckboxManager(omittedVideos);\n\n if (hasLocalPermissions(LocalPermissionName.ViewMyVideosLanding))\n return <MyVideosPublicEmptyState />;\n\n function getMyVideosAppLink(): Core.AppLink {\n return {\n action: Actions.MyVideos.MY_VIDEOS,\n application: AppChannels.MY_VIDEOS,\n params: { cursor: props.cursor, previous: props.previous, type: props.typeFilter }\n };\n }\n\n function getCursors(): Cursors {\n return { next: videos.data.pagination.cursors.next, previous: props.cursor };\n }\n \n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='px-3'>\n <UpgradeFeedbackBanner />\n <div className='d-flex justify-content-between'>\n <h1 className='h2 mb-0'><Text namespace={namespace} phrase='header' /></h1>\n <div>\n <div className='d-sm-none'>\n <UploadFileSelect canUpload={hasPermissions(PermissionName.UploadVideo)} />\n </div>\n <div className='ms-2 d-sm-inline-block d-none'>\n <IconButton\n svgName={cvSvgLibrary.Search}\n appLink={{\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n source: SourceFilterOptions.MyVideos\n }\n }}\n className='btn btn-outline-dark me-2'\n onClick={focusSearchBar}\n analyticsData={{}}\n analyticsOptions={{\n entity: EntityType.SearchResults,\n location: LocationContext.MyVideos,\n actionType: UserAction.Click,\n descriptor: SearchSourceDescriptor.MyVideos\n }}\n >\n <Text namespace={namespace} phrase='searchMyVideos' />\n </IconButton>\n <IconButton\n svgName={cvSvgLibrary.Plus}\n appLink={{\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.ADD_FOLDER,\n args: [workspace.data?.id]\n }}\n className='btn btn-outline-dark'\n >\n <Text namespace={namespace} phrase='addFolder' />\n </IconButton>\n </div>\n </div>\n </div>\n <hr />\n <DragDropMoveContext\n handleDragEnd={handleDragEnd}\n dragOverlayComponent={DragDropOverlay}\n source={workspace.data}>\n <div>\n {!folders?.hasCompleted && <PartialFolderList />}\n {!!folders?.items?.length &&\n <div className='mx-n2'>\n <FolderList\n folders={folders.items}\n getAppLink={(f: Folder) => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ f.id, TextHelper.slugify(f.name) ]\n })}\n expandFolders={false}\n getFolderActions={f => getFolderActions('folder', f)}\n drag\n drop\n />\n </div>\n }\n <VideoListActions\n allowBulkAction\n allowFilter\n checkboxHelper={CheckboxHelper}\n getVideosBulkAction={getVideosAction}\n locationContext={LocationContext.MyVideos}\n typeFilter={props.typeFilter}\n getAppLink={() => getMyVideosAppLink()}\n />\n {!!uploadingVideos?.length && (\n <div className={`position-relative ${styles.uploadingList}`}>\n {uploadingVideos.map(uploadingVideo => (\n <UploadingItem\n item={uploadingVideo}\n onClickAlternate={onClickAlternate}\n onClickDelete={onClickDelete}\n key={uploadingVideo.id}\n allowBulkAction\n />\n ))}\n </div>\n )}\n {(() => {\n if (!currentUser.data || !videos.data)\n return <div className='mx-n2'><PartialVideoList allowBulkActions /></div>;\n\n if (!omittedVideos?.length && !uploadingVideos?.length)\n return <MyVideosEmptyState canUpload={hasPermissions(PermissionName.UploadVideo)} />;\n\n return (\n <>\n <VideoList\n videos={omittedVideos}\n yearGroups={yearGroups.data}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: RelatedVideosContext.CategoryTree,\n contextId: workspace.data?.categoryTree.id\n })}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={audiences.data}\n canRemovePrivateVideos\n allowBulkAction\n getVideosBulkAction={getVideosAction}\n typeFilter={props.typeFilter}\n checkboxHelper={CheckboxHelper}\n hasPermissions={hasPermissions}\n drag\n imageCdnUrl={config.data?.imageCdnUrl}\n getPreviewQuestionsAppLink={interactive =>\n InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n {!!videos.data?.pagination?.cursors && (\n <Pagination\n appLink={getMyVideosAppLink()}\n cursors={getCursors()}\n buttonVariant='outline-dark'\n className='py-2 float-end'\n scrollTop\n prevHack\n />\n )}\n </>\n );\n })()}\n </div>\n </DragDropMoveContext>\n </div>\n </VideoActionsContext.Provider>\n );\n}\n","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useLiteUpgrade } from 'libs/shared/hooks/UseLiteUpgrade';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.upgradeFeedbackBanner';\n\nexport function UpgradeFeedbackBanner(): JSX.Element {\n const { showFeedbackBanner, dismissFeedbackBanner } = useLiteUpgrade();\n\n if (!showFeedbackBanner)\n return <></>;\n\n return (\n <div className='alert bg-light-blue p-2 rounded text-info fw-semibold d-flex justify-content-between align-items-center'>\n <Text\n namespace={namespace}\n phrase='message'\n options={{ url: 'https://www.clickvieweducation.com/en-au/blog/product/exchange-tv-new-look' }}\n />\n <DivButton\n onClick={dismissFeedbackBanner}\n >\n <SvgContainer\n svgName={cvSvgLibrary.Close}\n className='ms-2 svg-container'\n />\n </DivButton>\n </div>\n );\n}","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { Clip, ClipCollection, CurrentUser, Video, VideoCollection } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nconst CHUNK_SIZE = 50;\n\ntype Types = Video[] | VideoCollection | Clip[] | ClipCollection;\n\nfunction getValidObjects(objects: Types): (Video | Clip)[] {\n if (!objects)\n return [];\n\n if (Array.isArray(objects))\n return objects.filter(o => !!o && (VideoHelper.isVideo(o) || VideoHelper.isClip(o)));\n\n if ('data' in objects)\n return objects.data.filter(o => !!o && (VideoHelper.isVideo(o) || VideoHelper.isClip(o)));\n\n return [];\n}\n\ninterface VideoMixinOptions {\n /**\n * If the videos that are having new data mixed into are sitting on an explicit Flight namespace,\n * providing that namespace here is required\n */\n flightNamespace?: string;\n}\n\nexport function useVideoMixin(objects: Types, options: VideoMixinOptions = {}): void {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const hydratedVideos = React.useRef<Set<string>>(new Set<string>());\n\n const videos = getValidObjects(objects);\n\n const videoIds = videos.map(v => v.id);\n\n const [ request, setRequest ] = React.useState<Flight.Request[]>([]);\n\n React.useEffect(() => {\n if (!videoIds?.length || !currentUser.hasCompleted)\n return;\n\n const unhydratedVideos: string[] = [];\n\n videoIds.forEach(id => {\n if (!hydratedVideos.current.has(id)) {\n unhydratedVideos.push(id);\n hydratedVideos.current.add(id);\n }\n });\n \n if (!unhydratedVideos.length)\n return;\n\n setRequest(r => {\n const newRequests = [...r] ;\n\n ArrayHelper.chunk<string>(unhydratedVideos, CHUNK_SIZE).forEach(chunk => {\n newRequests.push(VideoRequests.videoMixinAssocs(chunk, options.flightNamespace));\n\n if (currentUser.data?.isAuthenticated)\n newRequests.push(ClassificationRequests.hasCurriculumLinks(chunk, null, options.flightNamespace));\n });\n\n return newRequests;\n });\n }, [ videoIds?.length, currentUser.hasCompleted ]);\n\n Flight.useBasicFetchAll(request);\n}"],"names":["namespace","MyVideosView","props","useSetPageMetadata","title","LanguageService","dispatch","useLiteFavourites","u","setFavourite","canFavourite","usePermissions","hasPermissions","hasLocalPermissions","handleDragEnd","useDragDropMove","isPlugin","usePluginHelper","focusSearchBar","currentUser","UserRequests","yearGroups","data","isAuthenticated","CustomerRequests","customerId","config","ConfigRequests","workspace","folderId","categoryTree","id","folders","videoActions","getVideosAction","audiences","usePresentationAudiences","getMyVideosRequest","cursor","typeFilter","MyVideosRequests","shouldFetch","hasCompleted","videos","useUploadItems","onRemove","uploadingVideos","onClickAlternate","onClickDelete","processingIds","omittedVideos","length","filter","v","useVideoMixin","CheckboxHelper","useBulkCheckboxManager","getMyVideosAppLink","action","application","params","previous","type","VideoActionsContext","value","className","UpgradeFeedbackBanner","Text","phrase","UploadFileSelect","canUpload","PermissionName","IconButton","svgName","appLink","source","onClick","analyticsData","analyticsOptions","entity","location","actionType","descriptor","args","DragDropMoveContext","dragOverlayComponent","DragDropOverlay","PartialFolderList","items","FolderList","getAppLink","f","TextHelper","name","expandFolders","getFolderActions","drag","drop","VideoListActions","allowBulkAction","allowFilter","checkboxHelper","getVideosBulkAction","locationContext","map","uploadingVideo","UploadingItem","item","key","VideoList","getVideoAppLink","opts","VideoAppLinkHelper","context","RelatedVideosContext","contextId","getSubTextAppLink","video","SeriesAppLinkHelper","series","presentationAudiences","canRemovePrivateVideos","imageCdnUrl","getPreviewQuestionsAppLink","interactive","InteractiveHelper","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","pagination","cursors","Pagination","next","buttonVariant","scrollTop","prevHack","MyVideosEmptyState","PartialVideoList","allowBulkActions","showFeedbackBanner","dismissFeedbackBanner","options","url","CHUNK_SIZE","objects","hydratedVideos","Set","Array","isArray","o","getValidObjects","videoIds","request","setRequest","unhydratedVideos","forEach","current","has","push","add","r","newRequests","chunk","flightNamespace"],"sourceRoot":""}
|