@clickview/lite 0.75.0-rc.2 → 0.75.0-rc.4
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/css/{119-lite-a1f592f602.chunk.css → 1243-lite-13eda8f6a0.chunk.css} +2 -4
- package/dist/css/{7230-lite-36ff6e6d53.chunk.css → 1867-lite-8baa8af02b.chunk.css} +3 -5
- package/dist/css/{5241-lite-baab687563.chunk.css → 4203-lite-9ffab89741.chunk.css} +3 -5
- package/dist/css/{8364-lite-99938dea56.chunk.css → 5193-lite-d434056013.chunk.css} +1 -0
- package/dist/css/{7339-lite-05c396fed3.chunk.css → 6756-lite-839687d3d7.chunk.css} +1 -0
- package/dist/css/{9527-lite-1d2221b6a8.chunk.css → 7103-lite-fef3024f61.chunk.css} +2 -4
- package/dist/css/{8856-lite-827b34aed7.chunk.css → 8856-lite-c114ab5c89.chunk.css} +1 -1
- package/dist/languages/en.json +1 -1
- package/dist/scripts/104-0c03791b45-lite.chunk.js +2 -0
- package/dist/scripts/104-0c03791b45-lite.chunk.js.map +1 -0
- package/dist/scripts/1074-4f6b136f9a-lite.chunk.js +2 -0
- package/dist/scripts/1074-4f6b136f9a-lite.chunk.js.map +1 -0
- package/dist/scripts/1087-861be5211f-lite.chunk.js +2 -0
- package/dist/scripts/1087-861be5211f-lite.chunk.js.map +1 -0
- package/dist/scripts/1192-d409863a3c-lite.chunk.js +2 -0
- package/dist/scripts/1192-d409863a3c-lite.chunk.js.map +1 -0
- package/dist/scripts/1199-d2fcbb547e-lite.chunk.js +2 -0
- package/dist/scripts/1199-d2fcbb547e-lite.chunk.js.map +1 -0
- package/dist/scripts/121-1b744469ee-lite.chunk.js +2 -0
- package/dist/scripts/121-1b744469ee-lite.chunk.js.map +1 -0
- package/dist/scripts/{1221-502395e693-lite.chunk.js → 1221-1109d5379d-lite.chunk.js} +3 -3
- package/dist/scripts/1221-1109d5379d-lite.chunk.js.map +1 -0
- package/dist/scripts/1243-ede924125c-lite.chunk.js +2 -0
- package/dist/scripts/1243-ede924125c-lite.chunk.js.map +1 -0
- package/dist/scripts/147-44ee7e9a78-lite.chunk.js +2 -0
- package/dist/scripts/147-44ee7e9a78-lite.chunk.js.map +1 -0
- package/dist/scripts/1491-ab92a040e5-lite.chunk.js +2 -0
- package/dist/scripts/1491-ab92a040e5-lite.chunk.js.map +1 -0
- package/dist/scripts/{1610-7f58bb25a9-lite.chunk.js → 1610-bb6eff2ff1-lite.chunk.js} +2 -2
- package/dist/scripts/1610-bb6eff2ff1-lite.chunk.js.map +1 -0
- package/dist/scripts/{7230-71f8d6d1bd-lite.chunk.js → 1867-3b447a1b85-lite.chunk.js} +2 -2
- package/dist/scripts/{7230-71f8d6d1bd-lite.chunk.js.map → 1867-3b447a1b85-lite.chunk.js.map} +1 -1
- package/dist/scripts/{218-297de74688-lite.chunk.js → 218-f6cc4a3b6a-lite.chunk.js} +2 -2
- package/dist/scripts/218-f6cc4a3b6a-lite.chunk.js.map +1 -0
- package/dist/scripts/2258-ed7383502f-lite.chunk.js +3 -0
- package/dist/scripts/2258-ed7383502f-lite.chunk.js.map +1 -0
- package/dist/scripts/{2968-c4c0114915-lite.chunk.js → 2968-13e56eeff8-lite.chunk.js} +1 -1
- package/dist/scripts/2968-13e56eeff8-lite.chunk.js.map +1 -0
- package/dist/scripts/3268-2736356687-lite.chunk.js +2 -0
- package/dist/scripts/{3268-faca1bf46e-lite.chunk.js.map → 3268-2736356687-lite.chunk.js.map} +1 -1
- package/dist/scripts/3597-eaae787997-lite.chunk.js +3 -0
- package/dist/scripts/3597-eaae787997-lite.chunk.js.map +1 -0
- package/dist/scripts/3836-425334ab13-lite.chunk.js +2 -0
- package/dist/scripts/{3836-f2a0c9f713-lite.chunk.js.map → 3836-425334ab13-lite.chunk.js.map} +1 -1
- package/dist/scripts/3837-e4c5bb738b-lite.chunk.js +2 -0
- package/dist/scripts/3837-e4c5bb738b-lite.chunk.js.map +1 -0
- package/dist/scripts/4185-7178e5a716-lite.chunk.js +2 -0
- package/dist/scripts/4185-7178e5a716-lite.chunk.js.map +1 -0
- package/dist/scripts/4203-ee50e89841-lite.chunk.js +3 -0
- package/dist/scripts/4203-ee50e89841-lite.chunk.js.map +1 -0
- package/dist/scripts/4598-bcd3f6f8a7-lite.chunk.js +2 -0
- package/dist/scripts/{4598-2b1daca7ae-lite.chunk.js.map → 4598-bcd3f6f8a7-lite.chunk.js.map} +1 -1
- package/dist/scripts/{4722-d96da2a258-lite.chunk.js → 4722-9eb591621a-lite.chunk.js} +3 -3
- package/dist/scripts/4722-9eb591621a-lite.chunk.js.map +1 -0
- package/dist/scripts/4948-f21dad2ca1-lite.chunk.js +2 -0
- package/dist/scripts/4948-f21dad2ca1-lite.chunk.js.map +1 -0
- package/dist/scripts/{5153-079b4125ae-lite.chunk.js → 5153-cf62a95421-lite.chunk.js} +3 -3
- package/dist/scripts/5153-cf62a95421-lite.chunk.js.map +1 -0
- package/dist/scripts/6137-bc8b193237-lite.chunk.js +2 -0
- package/dist/scripts/6137-bc8b193237-lite.chunk.js.map +1 -0
- package/dist/scripts/6756-cfd00009e4-lite.chunk.js +3 -0
- package/dist/scripts/6756-cfd00009e4-lite.chunk.js.map +1 -0
- package/dist/scripts/6790-36ce6dda04-lite.chunk.js +2 -0
- package/dist/scripts/6790-36ce6dda04-lite.chunk.js.map +1 -0
- package/dist/scripts/705-10a85bae7a-lite.chunk.js +2 -0
- package/dist/scripts/705-10a85bae7a-lite.chunk.js.map +1 -0
- package/dist/scripts/7103-14bd3771d2-lite.chunk.js +2 -0
- package/dist/scripts/7103-14bd3771d2-lite.chunk.js.map +1 -0
- package/dist/scripts/7148-d966512e45-lite.chunk.js +2 -0
- package/dist/scripts/7148-d966512e45-lite.chunk.js.map +1 -0
- package/dist/scripts/7205-12a6b2ac55-lite.chunk.js +2 -0
- package/dist/scripts/7205-12a6b2ac55-lite.chunk.js.map +1 -0
- package/dist/scripts/7438-38f60d3e8e-lite.chunk.js +2 -0
- package/dist/scripts/7438-38f60d3e8e-lite.chunk.js.map +1 -0
- package/dist/scripts/7480-e0749592fc-lite.chunk.js +2 -0
- package/dist/scripts/7480-e0749592fc-lite.chunk.js.map +1 -0
- package/dist/scripts/8010-e9163f5bee-lite.chunk.js +2 -0
- package/dist/scripts/8010-e9163f5bee-lite.chunk.js.map +1 -0
- package/dist/scripts/8410-1f1fd5ccf0-lite.chunk.js +3 -0
- package/dist/scripts/8410-1f1fd5ccf0-lite.chunk.js.map +1 -0
- package/dist/scripts/8705-ecd20ef6cb-lite.chunk.js +2 -0
- package/dist/scripts/8705-ecd20ef6cb-lite.chunk.js.map +1 -0
- package/dist/scripts/8856-4da691f96f-lite.chunk.js +2 -0
- package/dist/scripts/8856-4da691f96f-lite.chunk.js.map +1 -0
- package/dist/scripts/9003-fc8e674468-lite.chunk.js +2 -0
- package/dist/scripts/9003-fc8e674468-lite.chunk.js.map +1 -0
- package/dist/scripts/9042-add0f1c2e2-lite.chunk.js +2 -0
- package/dist/scripts/9042-add0f1c2e2-lite.chunk.js.map +1 -0
- package/dist/scripts/9103-4eec16d73b-lite.chunk.js +2 -0
- package/dist/scripts/9103-4eec16d73b-lite.chunk.js.map +1 -0
- package/dist/scripts/9134-a6a5fc92cf-lite.chunk.js +2 -0
- package/dist/scripts/9134-a6a5fc92cf-lite.chunk.js.map +1 -0
- package/dist/scripts/9266-f0ad8d5cb3-lite.chunk.js +2 -0
- package/dist/scripts/9266-f0ad8d5cb3-lite.chunk.js.map +1 -0
- package/dist/scripts/9620-3746c84350-lite.chunk.js +3 -0
- package/dist/scripts/9620-3746c84350-lite.chunk.js.map +1 -0
- package/dist/scripts/9740-9d50d31b72-lite.chunk.js +2 -0
- package/dist/scripts/9740-9d50d31b72-lite.chunk.js.map +1 -0
- package/dist/scripts/{bundle-95a6fc2722.min.js → bundle-fc60888464.min.js} +3 -3
- package/dist/scripts/{bundle-95a6fc2722.min.js.map → bundle-fc60888464.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/104-b62a8447f0-lite.chunk.js +0 -2
- package/dist/scripts/104-b62a8447f0-lite.chunk.js.map +0 -1
- package/dist/scripts/107-989ac2dc47-lite.chunk.js +0 -2
- package/dist/scripts/107-989ac2dc47-lite.chunk.js.map +0 -1
- package/dist/scripts/119-e3a8bd94dd-lite.chunk.js +0 -2
- package/dist/scripts/119-e3a8bd94dd-lite.chunk.js.map +0 -1
- package/dist/scripts/1199-a2ac2338d0-lite.chunk.js +0 -2
- package/dist/scripts/1199-a2ac2338d0-lite.chunk.js.map +0 -1
- package/dist/scripts/121-bf7a153eb8-lite.chunk.js +0 -2
- package/dist/scripts/121-bf7a153eb8-lite.chunk.js.map +0 -1
- package/dist/scripts/1221-502395e693-lite.chunk.js.map +0 -1
- package/dist/scripts/1400-43b37bfa8d-lite.chunk.js +0 -2
- package/dist/scripts/1400-43b37bfa8d-lite.chunk.js.map +0 -1
- package/dist/scripts/1610-7f58bb25a9-lite.chunk.js.map +0 -1
- package/dist/scripts/218-297de74688-lite.chunk.js.map +0 -1
- package/dist/scripts/2258-4d0639c9fe-lite.chunk.js +0 -3
- package/dist/scripts/2258-4d0639c9fe-lite.chunk.js.map +0 -1
- package/dist/scripts/2968-c4c0114915-lite.chunk.js.map +0 -1
- package/dist/scripts/3268-faca1bf46e-lite.chunk.js +0 -2
- package/dist/scripts/3836-f2a0c9f713-lite.chunk.js +0 -2
- package/dist/scripts/3837-fe321e8deb-lite.chunk.js +0 -2
- package/dist/scripts/3837-fe321e8deb-lite.chunk.js.map +0 -1
- package/dist/scripts/4025-306e0fbdd5-lite.chunk.js +0 -2
- package/dist/scripts/4025-306e0fbdd5-lite.chunk.js.map +0 -1
- package/dist/scripts/4164-5d3af57b67-lite.chunk.js +0 -2
- package/dist/scripts/4164-5d3af57b67-lite.chunk.js.map +0 -1
- package/dist/scripts/4185-e8e40dab72-lite.chunk.js +0 -2
- package/dist/scripts/4185-e8e40dab72-lite.chunk.js.map +0 -1
- package/dist/scripts/4562-545f04c53f-lite.chunk.js +0 -2
- package/dist/scripts/4562-545f04c53f-lite.chunk.js.map +0 -1
- package/dist/scripts/4598-2b1daca7ae-lite.chunk.js +0 -2
- package/dist/scripts/4722-d96da2a258-lite.chunk.js.map +0 -1
- package/dist/scripts/4948-66ba60c8e3-lite.chunk.js +0 -2
- package/dist/scripts/4948-66ba60c8e3-lite.chunk.js.map +0 -1
- package/dist/scripts/5153-079b4125ae-lite.chunk.js.map +0 -1
- package/dist/scripts/5241-163f5ac64c-lite.chunk.js +0 -3
- package/dist/scripts/5241-163f5ac64c-lite.chunk.js.map +0 -1
- package/dist/scripts/5349-bc0fcb4083-lite.chunk.js +0 -2
- package/dist/scripts/5349-bc0fcb4083-lite.chunk.js.map +0 -1
- package/dist/scripts/6135-a878a9cff0-lite.chunk.js +0 -3
- package/dist/scripts/6135-a878a9cff0-lite.chunk.js.map +0 -1
- package/dist/scripts/6509-23fdb20a4b-lite.chunk.js +0 -2
- package/dist/scripts/6509-23fdb20a4b-lite.chunk.js.map +0 -1
- package/dist/scripts/6790-5086b72662-lite.chunk.js +0 -2
- package/dist/scripts/6790-5086b72662-lite.chunk.js.map +0 -1
- package/dist/scripts/7148-432ab72091-lite.chunk.js +0 -2
- package/dist/scripts/7148-432ab72091-lite.chunk.js.map +0 -1
- package/dist/scripts/7205-2428f775a5-lite.chunk.js +0 -2
- package/dist/scripts/7205-2428f775a5-lite.chunk.js.map +0 -1
- package/dist/scripts/7339-5793c921bb-lite.chunk.js +0 -3
- package/dist/scripts/7339-5793c921bb-lite.chunk.js.map +0 -1
- package/dist/scripts/7438-a5f96e58fc-lite.chunk.js +0 -2
- package/dist/scripts/7438-a5f96e58fc-lite.chunk.js.map +0 -1
- package/dist/scripts/7926-6b040931aa-lite.chunk.js +0 -2
- package/dist/scripts/7926-6b040931aa-lite.chunk.js.map +0 -1
- package/dist/scripts/8536-f75009dd87-lite.chunk.js +0 -2
- package/dist/scripts/8536-f75009dd87-lite.chunk.js.map +0 -1
- package/dist/scripts/8687-549a2d9278-lite.chunk.js +0 -3
- package/dist/scripts/8687-549a2d9278-lite.chunk.js.map +0 -1
- package/dist/scripts/8856-df102acdff-lite.chunk.js +0 -2
- package/dist/scripts/8856-df102acdff-lite.chunk.js.map +0 -1
- package/dist/scripts/9134-42dc2390ce-lite.chunk.js +0 -2
- package/dist/scripts/9134-42dc2390ce-lite.chunk.js.map +0 -1
- package/dist/scripts/9266-c5d6705147-lite.chunk.js +0 -2
- package/dist/scripts/9266-c5d6705147-lite.chunk.js.map +0 -1
- package/dist/scripts/9284-402a14d41c-lite.chunk.js +0 -2
- package/dist/scripts/9284-402a14d41c-lite.chunk.js.map +0 -1
- package/dist/scripts/9470-11c8c2ca71-lite.chunk.js +0 -2
- package/dist/scripts/9470-11c8c2ca71-lite.chunk.js.map +0 -1
- package/dist/scripts/9527-111c8586a7-lite.chunk.js +0 -2
- package/dist/scripts/9527-111c8586a7-lite.chunk.js.map +0 -1
- package/dist/scripts/9528-2b478f4ca8-lite.chunk.js +0 -3
- package/dist/scripts/9528-2b478f4ca8-lite.chunk.js.map +0 -1
- package/dist/scripts/9591-230bcf0935-lite.chunk.js +0 -2
- package/dist/scripts/9591-230bcf0935-lite.chunk.js.map +0 -1
- /package/dist/css/{8687-lite-6787cc731a.chunk.css → 3597-lite-6787cc731a.chunk.css} +0 -0
- /package/dist/css/{5349-lite-829df3b4e7.chunk.css → 6137-lite-829df3b4e7.chunk.css} +0 -0
- /package/dist/css/{9470-lite-edb2d29928.chunk.css → 8010-lite-edb2d29928.chunk.css} +0 -0
- /package/dist/css/{6135-lite-41bdd1c5a3.chunk.css → 8410-lite-41bdd1c5a3.chunk.css} +0 -0
- /package/dist/css/{121-lite-1337d9acf0.chunk.css → 9042-lite-1337d9acf0.chunk.css} +0 -0
- /package/dist/css/{9528-lite-6787cc731a.chunk.css → 9620-lite-6787cc731a.chunk.css} +0 -0
- /package/dist/scripts/{1221-502395e693-lite.chunk.js.LICENSE.txt → 1221-1109d5379d-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{2258-4d0639c9fe-lite.chunk.js.LICENSE.txt → 2258-ed7383502f-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{4722-d96da2a258-lite.chunk.js.LICENSE.txt → 3597-eaae787997-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{5153-079b4125ae-lite.chunk.js.LICENSE.txt → 4203-ee50e89841-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{5241-163f5ac64c-lite.chunk.js.LICENSE.txt → 4722-9eb591621a-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6135-a878a9cff0-lite.chunk.js.LICENSE.txt → 5153-cf62a95421-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{7339-5793c921bb-lite.chunk.js.LICENSE.txt → 6756-cfd00009e4-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{8687-549a2d9278-lite.chunk.js.LICENSE.txt → 8410-1f1fd5ccf0-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9528-2b478f4ca8-lite.chunk.js.LICENSE.txt → 9620-3746c84350-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-95a6fc2722.min.js.LICENSE.txt → bundle-fc60888464.min.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[2968],{18488:(e,t,r)=>{r.d(t,{o:()=>a});var n=r(99940),o=r(97395),i={namespace:"share-v2"},a={createShare:function(e){return{url:"{gateway}/v2/shares",key:"create:share-v2",type:n.k.POST,data:e,normalizeOptions:i,invalidationKeys:["sent:share-v2","get:share-v2:shares:object:".concat(e.objectId)]}},updateShare:function(e,t){return{url:"{gateway}/v2/shares/".concat(e),key:"update:share-v2",type:n.k.PUT,data:t,normalizeOptions:i,invalidationKeys:["share-v2:permanent-link:object","share-v2:".concat(e)]}},deleteShare:function(e){return{type:n.k.DELETE,url:"{gateway}/v2/shares/".concat(e),key:"delete:share-v2",normalizeOptions:i,invalidationKeys:["share-v2:permanent-link:object","sent:share-v2","share-v2:".concat(e)]}},getShare:function(e){return{url:"{gateway}/v2/shares/".concat(e),key:"share-v2:".concat(e),bootstrapName:"share-v2:".concat(e),type:n.k.GET,normalizeOptions:i}},getSentShares:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.values(e).sort().join(":");return{url:o._.urlBuilder("{gateway}/v2/shares/sent",e),key:"sent:share-v2:".concat(t),type:n.k.GET,normalize:!1}},getShareLink:function(e){return{url:o._.urlBuilder("{gateway}/v2/shares/permanent-link",{objectId:e}),key:"share-v2:permanent-link:object:".concat(e),normalizeOptions:i}},createShareLink:function(e){return{type:n.k.POST,url:o._.urlBuilder("{gateway}/v2/shares/permanent-link",Object.assign({},e)),key:"create:share-v2:permanent-link:object:".concat(e.objectId),invalidationKeys:["share-v2:permanent-link:object:".concat(e.objectId),"sent:share-v2"],normalizeOptions:i}},getPrivacy:function(e){return{url:"{gateway}/v1/objects/".concat(e,"/access"),key:"privacy:".concat(e),normalize:!1}},getSharesByObjectId:function(e){return{url:"{gateway}/v2/shares/objects/".concat(e),key:"get:share-v2:shares:object:".concat(e),type:n.k.GET,normalizeOptions:i}},createSharePincode:function(e){return{url:"{gateway}/v2/shares/".concat(e,"/pincode"),key:"create:share-v2:".concat(e,":pincode"),type:n.k.POST}},getPincodeByShareId:function(e){return{url:"{gateway}/v2/shares/".concat(e,"/pincode"),key:"get:share-v2:".concat(e,":pincode")}},getPincodeByCode:function(e){return{url:"{gateway}/v2/shares/pincode?code=".concat(e),key:"get:share-v2:pincode:".concat(e)}}}},79517:(e,t,r)=>{r.d(t,{b:()=>s});var n=r(20354),o=r(18488),i=r(4594),a=r(1575),u=r(39902),c=r(60115),l=r(70074);function s(e){var t,r=n.a.useGetFetch(),s=function(t){return e.shouldFetch&&o.o.getSentShares({cursor:t})},f=function(e){return r(s(e))},d=(0,c.K)(s,f),v=null===(t=d.items)||void 0===t?void 0:t.filter((function(e){return[i.E.Video,i.E.Clip,i.E.Interactive].includes(e.objectTypeId)})).map((function(e){return e.objectId.toString()})),h=(0,u.FN)(v,a.R.videos);return{items:(0,l.B)({source:d.items,target:h.itemsArr,sourceKey:"objectId"}),hasMore:d.hasMore,isFetching:h.isFetching,nextCursor:d.nextCursor,hasFirstPageCompleted:h.hasFirstRequestCompleted,fetchNext:f}}},39902:(e,t,r)=>{r.d(t,{FN:()=>h,SW:()=>p,fh:()=>v});var n=r(32735),o=r(20354),i=r(75896);function a(e){return function(e){if(Array.isArray(e))return c(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.")}()}function u(e,t){if(e){if("string"==typeof e)return c(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function s(e,t,r){return(t=function(e){var t=function(e){if("object"!=l(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==l(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r},d=50;function v(e,t){var r=i.m.chunk(e,d).map((function(e){return t(i.m.uniq(e))})),n=o.a.useBasicFetchAll(r),a=i.m.flatten(n.data),u=n.data.length?a.reduce((function(e,t){return Object.assign(Object.assign({},e),s({},t.id,t))}),{}):null;return{itemsArr:a,items:u,isFetching:n.isFetching,hasCompleted:n.hasCompleted}}function h(e,t,r){var o=null!=r?r:function(e){return"object"===l(e)?e.id:e},i=p({getRequest:t,_getKey:r}),a=i.fetchItems,u=f(i,["fetchItems"]);return n.useEffect((function(){(null==e?void 0:e.length)&&a(e)}),[null==e?void 0:e.map(o).join(",")]),u}function p(e){var t,r,c,f,v,h=null!==(t=e._getKey)&&void 0!==t?t:function(e){return"object"===l(e)?e.id:e},p=n.useRef(new Set),y=(f=n.useState([]),v=2,function(e){if(Array.isArray(e))return e}(f)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(f,v)||u(f,v)||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.")}()),m=y[0],g=y[1],b=o.a.useBasicFetchAll(m),S=i.m.flatten(b.data),j=b.data.length?S.reduce((function(e,t){return Object.assign(Object.assign({},e),s({},h(t),t))}),{}):null;return{hasFirstRequestCompleted:!!(null===(c=null===(r=b.responses)||void 0===r?void 0:r[0])||void 0===c?void 0:c.hasCompleted),itemsArr:S,items:j,isFetching:b.isFetching,fetchItems:function(t){if(null==t?void 0:t.length){var r=[];t.forEach((function(e){var t=h(e);p.current.has(t)||(r.push(e),p.current.add(t))})),r.length&&g((function(t){return[].concat(a(t),a(i.m.chunk(r,d).map(e.getRequest)))}))}}}}},60115:(e,t,r)=>{r.d(t,{K:()=>l});var n=r(32735),o=r(50242),i=r(91967),a=400,u=r(45719);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function l(e,t,r,l,s,f){var d,v,h,p,y=(d=(0,n.useState)(0),v=2,function(e){if(Array.isArray(e))return e}(d)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(d,v)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}(d,v)||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.")}()),m=y[0],g=y[1],b=t,S=(0,u.P)((function(t){if(!e)return null;var r=e(t);return r?r.key:null}),l,s);return h={fetchNextPage:function(){if(t&&e&&S)return g((function(e){return e+1})),b(S.nextCursor)},hasMore:!!(null==S?void 0:S.nextCursor),isFetching:null==S?void 0:S.isFetching,scrollContainer:f},p=function(){if(!h.isFetching){if(h.scrollContainer){var e=h.scrollContainer;if(e.getBoundingClientRect().height+e.scrollTop<e.scrollHeight-a)return}else if(window.innerHeight+document.documentElement.scrollTop<document.documentElement.scrollHeight-a)return;h.fetchNextPage()}},(0,n.useEffect)((function(){var e=i.q.throttle(p,200),t=h.scrollContainer||window;return h.hasMore&&t.addEventListener("scroll",e),function(){return t.removeEventListener("scroll",e)}}),[h.hasMore,h.fetchNextPage,h.scrollContainer]),(0,n.useEffect)((function(){S&&S.shouldInitialFetch&&t&&(b(),g((function(e){return e+1})))}),[null==S?void 0:S.shouldInitialFetch,t]),(0,n.useEffect)((function(){var e,t;if((null==S?void 0:S.statusCode)&&i.q.isFunction(r)){var n=+(null===(t=null===(e=S.statusCode)||void 0===e?void 0:e.toString())||void 0===t?void 0:t.substr(0,1));n!==o.k.ClientError&&n!==o.k.ServerError||r(m,S.statusCode)}}),[null==S?void 0:S.statusCode]),{items:null==S?void 0:S.items,hasMore:!!(null==S?void 0:S.nextCursor),nextCursor:null==S?void 0:S.nextCursor,isFetching:null==S?void 0:S.isFetching,totalItems:null==S?void 0:S.totalItems,hasFirstPageCompleted:null==S?void 0:S.hasFirstPageCompleted}}},70074:(e,t,r)=>{r.d(t,{B:()=>c});var n=r(32735);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}(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.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var u="id";function c(e){return n.useMemo((function(){if(!e.target.length||!e.source.length)return[];var t=new Map,r=e.target.reduce((function(t,r){var n,i,a,c=r[e.targetKey||u].toString();return t[c]?t:Object.assign(Object.assign({},t),(n={},a=r,(i=function(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}(i=c))in n?Object.defineProperty(n,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[i]=a,n))}),{});return e.source.forEach((function(n){var o=n[e.sourceKey||u].toString();if(!t.has(o)){var i=r[o];i&&t.set(o,i)}})),i(t.values())}),[e.source,e.target].concat(i(e.deps||[])))}},58321:(e,t,r)=>{r.d(t,{U:()=>h});var n=r(20354),o=r(16714),i=r(39151),a=r(1666),u=r(31949),c=r(22902),l=r(37802),s=r(22490),f=r(82431),d=r(46390),v=r(27638);function h(e){var t,r,h,p=e||{},y=p.locationContext,m=p.mtv,g=p.flightNamespace,b=p.sharedPlaylist,S=(0,d.G)(),j=S.isPlugin,k=S.params,C=(0,v.u)(y,g),w=C.setFavourite,A=C.canFavourite,O=(0,l.r)(null),F=O.hasTopicDirectories,I=O.isLoadingSettings,P=(0,c.T)(),E=P.hasPermissions,x=P.isLoaded,T=E(o.C.StudentExperience),L=n.a.useBasicFetch(i.L.config()),M=n.a.useBasicFetch(u.N.currentUser()),B=n.a.useBasicFetch((null===(t=M.data)||void 0===t?void 0:t.isAuthenticated)&&a.h.yearGroups(M.data.customerId));return{hasCommonVideoPropsCompleted:!I&&x&&L.hasCompleted&&M.hasCompleted&&(!(null===(r=M.data)||void 0===r?void 0:r.isAuthenticated)||B.hasCompleted),commonVideoProps:{subTextType:"series",getSubTextAppLink:function(e){var t;return"series"in e?b&&!(null===(t=M.data)||void 0===t?void 0:t.isAuthenticated)?null:f.j.getSeriesAppLink(e.series,{mtv:m}):null},isPlugin:j,isPluginPopup:!!(null==k?void 0:k.popup),canFavourite:A,setFavourite:w,imageCdnUrl:null===(h=L.data)||void 0===h?void 0:h.imageCdnUrl,yearGroups:B.data,getClassroomGuideAppLink:s.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:s.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:s.W.getResourceGuidanceAppLink,showNewVideoIndicator:F,companyLogoFallbackUrl:null,hasStudentExperience:T}}}},97816:(e,t,r)=>{r.d(t,{V:()=>u,l:()=>c});var n=r(1575),o=r(39902),i=r(31908);function a(e){return e?Array.isArray(e)?e.filter((function(e){return!!e&&(i.M.isVideo(e)||i.M.isClip(e))})):"data"in e?e.data.filter((function(e){return!!e&&(i.M.isVideo(e)||i.M.isClip(e))})):[]:[]}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=a(e).map((function(e){return e.id}));(0,o.FN)(r,(function(e){return n.R.videoMixinAssocs(e,t.flightNamespace)}),null)}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,o.SW)({getRequest:function(t){return n.R.videoMixinAssocs(t,e.flightNamespace)}}).fetchItems;return{fetchObjects:function(e){return t(a(e).map((function(e){return e.id})))}}}}}]);
|
|
2
|
-
//# sourceMappingURL=2968-
|
|
2
|
+
//# sourceMappingURL=2968-13e56eeff8-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/2968-13e56eeff8-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/share-v2/flight-requests/ShareRequests.ts","file:///app/packages/libs/shared/src/apps/share-v2/hooks/useGetRecentSharedVideos.ts","file:///app/packages/libs/shared/src/hooks/UseBatchFetch.ts","file:///app/packages/libs/shared/src/hooks/UseInfiniteScroll.ts","file:///app/packages/libs/shared/src/hooks/UseInfiniteList.ts","file:///app/packages/libs/shared/src/hooks/usePreserveOrder.ts","file:///app/packages/projects/lite/src/shared/hooks/useCommonVideoProps.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoMixin.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { CreateShareLinkRequest } from 'libs/shared/apps/share-v2/interfaces/CreateShareLinkRequest';\nimport { CreateShareRequest } from 'libs/shared/apps/share-v2/interfaces/CreateShareRequest';\nimport { UpdateShareRequest } from 'libs/shared/apps/share-v2/interfaces/UpdateShareRequest';\n\nconst normalizeOptions: Flight.NormalizeOptions = {\n namespace: 'share-v2'\n};\n\nexport interface GetSentSharesParams {\n cursor?: string;\n scopeId?: string;\n objectTypeId?: number;\n type?: ShareType[];\n}\n\nexport const ShareRequests = {\n createShare(\n data: CreateShareRequest\n ): Flight.Request {\n return {\n url: '{gateway}/v2/shares',\n key: 'create:share-v2',\n type: HttpVerbs.POST,\n data,\n normalizeOptions,\n invalidationKeys: [ 'sent:share-v2', `get:share-v2:shares:object:${data.objectId}` ]\n };\n },\n\n updateShare(\n shareId: string,\n data: UpdateShareRequest\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}`,\n key: `update:share-v2`,\n type: HttpVerbs.PUT,\n data,\n normalizeOptions,\n invalidationKeys: [ 'share-v2:permanent-link:object', `share-v2:${shareId}` ]\n };\n },\n \n deleteShare(\n shareId: string\n ): Flight.Request {\n return {\n type: HttpVerbs.DELETE,\n url: `{gateway}/v2/shares/${shareId}`,\n key: `delete:share-v2`,\n normalizeOptions,\n invalidationKeys: [ 'share-v2:permanent-link:object', 'sent:share-v2', `share-v2:${shareId}` ]\n };\n },\n\n getShare(\n shareId: string\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}`,\n key: `share-v2:${shareId}`,\n bootstrapName: `share-v2:${shareId}`,\n type: HttpVerbs.GET,\n normalizeOptions\n };\n },\n\n getSentShares(\n params: GetSentSharesParams = {}\n ): Flight.Request {\n const key = Object.values(params).sort().join(':');\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/sent', params),\n key: `sent:share-v2:${key}`,\n type: HttpVerbs.GET,\n normalize: false\n };\n },\n\n getShareLink(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/permanent-link', { objectId: id }),\n key: `share-v2:permanent-link:object:${id}`,\n normalizeOptions\n };\n },\n\n createShareLink(\n data: CreateShareLinkRequest\n ): Flight.Request {\n return {\n type: HttpVerbs.POST,\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/permanent-link', { ...data }),\n key: `create:share-v2:permanent-link:object:${data.objectId}`,\n invalidationKeys: [ `share-v2:permanent-link:object:${data.objectId}`, 'sent:share-v2' ],\n normalizeOptions\n };\n },\n\n getPrivacy(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/access`,\n key: `privacy:${id}`,\n normalize: false\n };\n },\n \n getSharesByObjectId(\n objectId: string | number\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/objects/${objectId}`,\n key: `get:share-v2:shares:object:${objectId}`,\n type: HttpVerbs.GET,\n normalizeOptions\n };\n },\n\n createSharePincode(shareId: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}/pincode`,\n key: `create:share-v2:${shareId}:pincode`,\n type: HttpVerbs.POST\n };\n },\n\n getPincodeByShareId(shareId: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}/pincode`,\n key: `get:share-v2:${shareId}:pincode`\n };\n },\n\n getPincodeByCode(code: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/pincode?code=${code}`,\n key: `get:share-v2:pincode:${code}`\n };\n }\n};\n","import { Flight } from 'libs/common/react/index';\n\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useGrowingBatchFetch } from 'libs/shared/hooks/UseBatchFetch';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { usePreserveOrder } from 'libs/shared/hooks/usePreserveOrder';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\ninterface UseGetRecentSharedVideosOptions {\n shouldFetch: boolean;\n}\n\nexport function useGetRecentSharedVideos(options: UseGetRecentSharedVideosOptions) {\n const fetch = Flight.useGetFetch();\n \n const getRequest = (cursor?: string) => options.shouldFetch && ShareRequests.getSentShares({ cursor });\n const fetchNext = (cursor?: string) => fetch(getRequest(cursor));\n const shares = useInfiniteList<Share>(getRequest, fetchNext);\n\n const videosIds = shares.items\n ?.filter(s => [ MasterType.Video, MasterType.Clip, MasterType.Interactive ].includes(s.objectTypeId))\n .map(s => s.objectId.toString());\n\n const videos = useGrowingBatchFetch<VideoTypes, string>(videosIds, VideoRequests.videos);\n\n const items = usePreserveOrder({\n source: shares.items,\n target: videos.itemsArr,\n sourceKey: 'objectId'\n });\n\n return {\n items,\n hasMore: shares.hasMore,\n isFetching: videos.isFetching,\n nextCursor: shares.nextCursor,\n hasFirstPageCompleted: videos.hasFirstRequestCompleted,\n fetchNext\n };\n}","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { BaseObject } from 'libs/shared/interfaces';\n\nconst CHUNK_SIZE = 50;\n\nexport interface UseBatchFetchResult<T extends BaseObject> {\n itemsArr: T[];\n items: { [key: string]: T} | null;\n isFetching: boolean;\n hasCompleted: boolean;\n}\n\n/**\n * Used to fetch multiple items by id with Flight. Will fetch 25 items at a time firing off multiple\n * requests if there are more than 25 items.\n * This will return items as null until we have all our items. Items will be returned as an object with\n * their ids as they key for easy mapping\n * \n * @param itemIds \n * @param getRequest \n */\nexport function useBatchFetch<T extends BaseObject>(\n itemIds: string[],\n getRequest: (ids: string[]) => Flight.Request\n): UseBatchFetchResult<T> {\n const chunks = ArrayHelper.chunk<string>(itemIds, CHUNK_SIZE);\n\n const requests = chunks.map(chunk => getRequest(ArrayHelper.uniq(chunk)));\n\n const responses = Flight.useBasicFetchAll<T[]>(requests);\n\n const itemsArr = ArrayHelper.flatten(responses.data);\n const items = responses.data.length\n ? itemsArr.reduce((acc, item) => ({ ...acc, [item.id]: item }), {})\n : null;\n\n return {\n itemsArr,\n items,\n isFetching: responses.isFetching,\n hasCompleted: responses.hasCompleted\n };\n}\n\n/**\n * When you need the useBatchFetch() behavior, but your list of objects to hydrate\n * will grow, such as on a scrolling page. useGrowingBatchFetch() will use local state\n * to determine what we've already built a request for and what items are new\n * as to not re-fetch items - Sha\n */\nexport function useGrowingBatchFetch<TResponse, TObjects = string>(\n objs: TObjects[],\n getRequest: (items: TObjects[]) => Flight.Request,\n _getKey?: (obj: TObjects) => string\n) {\n const getKey = _getKey ?? ((obj: any) => {\n if (typeof obj === 'object')\n return obj.id;\n\n return obj;\n });\n\n const { fetchItems, ...data } = useGrowingBatchFetchFunc<TResponse, TObjects>({ getRequest, _getKey });\n\n React.useEffect(() => {\n if (!objs?.length)\n return;\n\n fetchItems(objs);\n }, [objs?.map(getKey).join(',')]);\n\n return data;\n}\n\ninterface UseGrowingBatchFetchFuncOptions<TObjects> {\n getRequest: (items: TObjects[]) => Flight.Request;\n _getKey?: (obj: TObjects) => string;\n}\n\n/**\n * When you need the useGrowingBatchFetch() behaviour, but need to trigger the\n * fetch manually and update the objects - Nish \n */\nexport function useGrowingBatchFetchFunc<TResponse, TObjects = string>(\n options: UseGrowingBatchFetchFuncOptions<TObjects>\n) {\n const getKey = options._getKey ?? ((obj: any) => {\n if (typeof obj === 'object')\n return obj.id;\n\n return obj;\n });\n\n const fetchedItems = React.useRef<Set<string>>(new Set<string>());\n const [ requests, setRequests ] = React.useState<Flight.Request[]>([]);\n\n function fetchItems(objs: TObjects[]) {\n if (!objs?.length)\n return;\n\n const unfetchedItems: TObjects[] = [];\n \n objs.forEach(obj => {\n const key = getKey(obj);\n\n if (fetchedItems.current.has(key))\n return;\n\n unfetchedItems.push(obj);\n fetchedItems.current.add(key);\n });\n \n if (!unfetchedItems.length)\n return;\n \n setRequests(r => ([ ...r, ...ArrayHelper.chunk<TObjects>(unfetchedItems, CHUNK_SIZE).map(options.getRequest) ]));\n }\n\n const responses = Flight.useBasicFetchAll<TResponse[]>(requests);\n const itemsArr = ArrayHelper.flatten(responses.data);\n const items = responses.data.length\n ? itemsArr.reduce<Record<string, TResponse>>((acc, item) => ({ ...acc, [getKey(item)]: item }), {})\n : null;\n\n return {\n hasFirstRequestCompleted: !!responses.responses?.[0]?.hasCompleted,\n itemsArr,\n items,\n isFetching: responses.isFetching,\n fetchItems\n };\n}\n","import { useEffect } from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nconst SCROLL_TOLERANCE = 400; // value in px\n\ninterface UseInfiniteScrollOptions {\n fetchNextPage: () => void;\n hasMore: boolean;\n isFetching: boolean;\n scrollContainer?: HTMLElement;\n}\n\nexport function useInfiniteScroll(options: UseInfiniteScrollOptions): void {\n const handleScroll = (): void => {\n if (options.isFetching)\n return;\n\n if (!options.scrollContainer) {\n const currentScrollHeight = window.innerHeight + document.documentElement.scrollTop;\n \n const totalHeight = document.documentElement.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n } else {\n const { scrollContainer } = options;\n const currentScrollHeight = scrollContainer.getBoundingClientRect().height + scrollContainer.scrollTop;\n \n const totalHeight = scrollContainer.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n }\n\n options.fetchNextPage();\n };\n\n useEffect(() => {\n const onScroll = FunctionHelper.throttle(handleScroll, 200);\n\n const scrollContainer = options.scrollContainer || window;\n\n if (options.hasMore)\n scrollContainer.addEventListener('scroll', onScroll);\n\n return () => scrollContainer.removeEventListener('scroll', onScroll);\n }, [ options.hasMore, options.fetchNextPage, options.scrollContainer ]);\n}","import { useEffect, useState } from 'react';\n\nimport { HttpStatus, HttpStatusClass } from 'libs/common/backbone/enums/HttpStatus';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { BaseObject, BasePaginatedCollection } from 'libs/shared/interfaces';\n\nimport { useInfiniteScroll } from './UseInfiniteScroll';\nimport { useSelectAllPages } from './UseSelectAllPages';\n\nexport interface UseInfiniteListResult<T extends BaseObject> {\n items: T[];\n hasMore: boolean;\n isFetching: boolean;\n nextCursor: string;\n totalItems?: number;\n hasFirstPageCompleted: boolean;\n}\n\n/**\n * Hook to extract an infinite list from the application state,\n * save it locally in state and only update when new data\n * is fetched.\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 useInfiniteList<TObject = BaseObject, TResponse = BasePaginatedCollection<TObject>>(\n getRequest: ((cursor?: string) => Flight.Request) | false,\n fetchNext: ((cursor?: string) => void) | false,\n onError?: (pageNumber: number, statusCode: HttpStatus) => void,\n getItems?: (responseData: TResponse) => TObject[],\n getCursor?: (responseData: TResponse) => string,\n scrollContainer?: HTMLElement\n): UseInfiniteListResult<TObject> {\n const [ pagesFetched, setPagesFetched ] = useState(0);\n\n const fetchNextFn = fetchNext as (cursor?: string) => void;\n\n function getKey(cursor?: string): string {\n if (!getRequest)\n return null;\n\n const request = getRequest(cursor);\n\n if (!request)\n return null;\n\n return request.key;\n }\n\n const response = useSelectAllPages<TObject, TResponse>(\n getKey,\n getItems,\n getCursor\n );\n\n function fetchNextPage(): void {\n if (!fetchNext || !getRequest || !response)\n return;\n\n setPagesFetched(currentVal => currentVal + 1);\n return fetchNextFn(response.nextCursor);\n }\n\n useInfiniteScroll({\n fetchNextPage,\n hasMore: !!response?.nextCursor,\n isFetching: response?.isFetching,\n scrollContainer\n });\n\n useEffect(() => {\n if (!response)\n return;\n\n if (response.shouldInitialFetch && fetchNext) {\n fetchNextFn();\n setPagesFetched(currentVal => currentVal + 1);\n }\n }, [ response?.shouldInitialFetch, fetchNext ]);\n\n useEffect(() => {\n if (!response?.statusCode || !FunctionHelper.isFunction(onError))\n return;\n\n const httpStatusClass: HttpStatusClass = +(response.statusCode?.toString()?.substr(0, 1));\n\n if (httpStatusClass !== HttpStatusClass.ClientError && httpStatusClass !== HttpStatusClass.ServerError)\n return;\n\n onError(pagesFetched, response.statusCode);\n }, [response?.statusCode]);\n\n return {\n items: response?.items,\n hasMore: !!response?.nextCursor,\n nextCursor: response?.nextCursor,\n isFetching: response?.isFetching,\n totalItems: response?.totalItems,\n hasFirstPageCompleted: response?.hasFirstPageCompleted\n };\n}","import React, { DependencyList } from 'react';\n\nimport { BaseObject } from '../interfaces';\n\ninterface UsePreserveOrderOptions<TFrom extends BaseObject, TTarget extends BaseObject> {\n /**\n * We preserve order from the source\n */\n source: TFrom[];\n /**\n * We align target objects to source objects order\n */\n target: TTarget[];\n /**\n * Source comparison key if it other than default `id`\n */\n // getSourceKey?: (obj: TFrom) => string;\n sourceKey?: keyof TFrom;\n /**\n * Target comparion key if its other than default `id`\n */\n // getTargetKey?: (obj: TTarget) => string;\n targetKey?: keyof TTarget;\n\n deps?: DependencyList | undefined;\n}\n\nconst DEFAULT_KEY: keyof BaseObject = 'id';\n\n/**\n * Hook to align order of objects in `target` to `source`\n */\nexport function usePreserveOrder<\n TFrom extends BaseObject = BaseObject,\n TTarget extends BaseObject = BaseObject\n>(options: UsePreserveOrderOptions<TFrom, TTarget>) {\n const items = React.useMemo(() => {\n if (!options.target.length || !options.source.length)\n return [];\n \n const preserveMap = new Map<string, TTarget>();\n\n // Create a lookup table so finding target with certain key is O(n) rather than O(n * n)\n const targetRecord: Record<string, TTarget> = options.target.reduce<Record<string, TTarget>>((prev, curr) => {\n const key = curr[options.targetKey || DEFAULT_KEY].toString();\n\n if (prev[key])\n return prev;\n\n return { ...prev, [key]: curr };\n }, {});\n\n options.source.forEach(source => {\n const sourceKey = source[options.sourceKey || DEFAULT_KEY].toString();\n \n if (preserveMap.has(sourceKey))\n return;\n\n const targetObject = targetRecord[sourceKey];\n\n if (targetObject)\n preserveMap.set(sourceKey, targetObject);\n });\n\n return [...preserveMap.values()];\n }, [ options.source, options.target, ...(options.deps || []) ]);\n\n\n return items;\n}","import { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\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 { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config, CurrentUser, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\n\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nimport { usePluginHelper } from './use-plugin-helper/usePluginHelper';\nimport { useLiteFavourites } from './useLiteFavourites';\n\ninterface UseCommonVideoPropsResult {\n hasCommonVideoPropsCompleted: boolean;\n commonVideoProps: CommonVideoProps;\n}\n\ninterface UseCommonVideoPropsOptions {\n locationContext: LocationContext,\n mtv?: boolean;\n flightNamespace?: string;\n sharedPlaylist?: boolean;\n}\n\nexport function useCommonVideoProps(options: UseCommonVideoPropsOptions): UseCommonVideoPropsResult {\n const { locationContext, mtv, flightNamespace, sharedPlaylist } = options || {};\n\n const { isPlugin, params } = usePluginHelper();\n const { setFavourite, canFavourite } = useLiteFavourites(locationContext, flightNamespace);\n const { hasTopicDirectories, isLoadingSettings } = useSettings(null);\n const { hasPermissions, isLoaded: hasLoadedPermissions } = usePermissions();\n const hasStudentExperience = hasPermissions(PermissionName.StudentExperience);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\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\n function getSubTextAppLink(video: VideoTypes): Core.AppLink {\n if (!('series' in video))\n return null;\n\n /**\n * We do not allow navigating to series on shared playlists when the user is not signed in\n * because most series are customer created and will be empty for public users\n * \n * We do not have to do this for shared series, because all the series links are self referencing\n * - Sha\n */\n if (sharedPlaylist && !currentUser.data?.isAuthenticated)\n return null;\n \n return SeriesAppLinkHelper.getSeriesAppLink(video.series, { mtv });\n }\n\n const hasCommonVideoPropsCompleted = (\n !isLoadingSettings &&\n hasLoadedPermissions &&\n config.hasCompleted &&\n currentUser.hasCompleted &&\n (!currentUser.data?.isAuthenticated || yearGroups.hasCompleted)\n );\n\n return {\n hasCommonVideoPropsCompleted,\n commonVideoProps: {\n subTextType: 'series',\n getSubTextAppLink,\n isPlugin,\n isPluginPopup: !!params?.popup,\n canFavourite,\n setFavourite,\n imageCdnUrl: config.data?.imageCdnUrl,\n yearGroups: yearGroups.data,\n getClassroomGuideAppLink: VideoAppLinkHelper.getClassroomGuideAppLink,\n getInteractiveGuidanceAppLink: VideoAppLinkHelper.getInteractiveGuidanceAppLink,\n getResourceGuidanceAppLink: VideoAppLinkHelper.getResourceGuidanceAppLink,\n showNewVideoIndicator: hasTopicDirectories,\n companyLogoFallbackUrl: null,\n hasStudentExperience\n }\n };\n}","import { Flight } from 'libs/common/react/index';\n\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useGrowingBatchFetch, useGrowingBatchFetchFunc } from 'libs/shared/hooks/UseBatchFetch';\nimport { Clip, ClipCollection, Video, VideoCollection } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\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 = {}) {\n const videoIds = getValidObjects(objects).map(v => v.id);\n\n useGrowingBatchFetch(\n videoIds,\n ids => VideoRequests.videoMixinAssocs(ids, options.flightNamespace),\n null\n );\n}\n\nexport function useVideoMixinFunc(options: VideoMixinOptions = {}) {\n function getRequest(ids: string[]): Flight.Request {\n return VideoRequests.videoMixinAssocs(ids, options.flightNamespace);\n }\n \n function fetchObjects(items: Types) {\n return fetchItems(getValidObjects(items).map(v => v.id));\n }\n\n const { fetchItems } = useGrowingBatchFetchFunc({ getRequest });\n\n return { fetchObjects };\n}"],"names":["normalizeOptions","namespace","ShareRequests","createShare","data","url","key","type","invalidationKeys","objectId","updateShare","shareId","deleteShare","getShare","bootstrapName","getSentShares","params","Object","values","sort","join","normalize","getShareLink","id","createShareLink","getPrivacy","getSharesByObjectId","createSharePincode","getPincodeByShareId","getPincodeByCode","code","useGetRecentSharedVideos","options","fetch","getRequest","cursor","shouldFetch","fetchNext","shares","videosIds","items","filter","s","includes","objectTypeId","map","toString","videos","source","target","itemsArr","sourceKey","hasMore","isFetching","nextCursor","hasFirstPageCompleted","hasFirstRequestCompleted","CHUNK_SIZE","useBatchFetch","itemIds","requests","chunk","responses","length","reduce","acc","item","hasCompleted","useGrowingBatchFetch","objs","_getKey","getKey","obj","useGrowingBatchFetchFunc","fetchItems","fetchedItems","Set","setRequests","unfetchedItems","forEach","current","has","push","add","r","SCROLL_TOLERANCE","useInfiniteList","onError","getItems","getCursor","scrollContainer","handleScroll","useState","pagesFetched","setPagesFetched","fetchNextFn","response","request","fetchNextPage","currentVal","getBoundingClientRect","height","scrollTop","scrollHeight","window","innerHeight","document","documentElement","useEffect","onScroll","FunctionHelper","addEventListener","removeEventListener","shouldInitialFetch","statusCode","httpStatusClass","substr","HttpStatus","totalItems","DEFAULT_KEY","usePreserveOrder","preserveMap","Map","targetRecord","prev","curr","targetKey","targetObject","set","deps","useCommonVideoProps","locationContext","mtv","flightNamespace","sharedPlaylist","isPlugin","u","setFavourite","canFavourite","hasTopicDirectories","isLoadingSettings","hasPermissions","hasLoadedPermissions","isLoaded","hasStudentExperience","config","currentUser","yearGroups","isAuthenticated","customerId","hasCommonVideoPropsCompleted","commonVideoProps","subTextType","getSubTextAppLink","video","series","isPluginPopup","popup","imageCdnUrl","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","showNewVideoIndicator","companyLogoFallbackUrl","getValidObjects","objects","Array","isArray","o","useVideoMixin","videoIds","v","ids","useVideoMixinFunc","fetchObjects"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3268],{25752:(e,t,n)=>{n.d(t,{q:()=>d});var r=n(32735),a=n(33518),i=n(8233),c=n(83914),o=n(35223),s=n(31138);const l={active:"NV2KW"};function u(e){var t=e.activePrivacy===e.sharePrivacy;return r.createElement("li",null,r.createElement("button",{className:"".concat(t?l.active:""," dropdown-item d-flex align-items-center justify-content-between py-2"),onClick:function(){t||e.onClick(e.sharePrivacy)}},r.createElement("div",{className:"me-4"},r.createElement("p",{className:"font-label mb-1"},e.title),r.createElement("p",{className:"font-size-sm mb-0"},e.description)),t&&r.createElement(c.x,{svgName:o.vn.Check})))}function d(e){var t=e.shareOverrideRestrictions&&!e.hasStudentExp,n=(0,s.f)({entity:e.entity,entityPrivacy:e.entityPrivacy,hasStudentExp:e.hasStudentExp,yearGroups:e.yearGroups}),o=i.R.getPrivateIconAndText({privacy:e.sharePrivacy,entityTypeId:e.entityTypeId,hasStudentExp:e.hasStudentExp,entity:e.entity,yearGroups:e.yearGroups}),l=o.icon,d=o.text;return t?r.createElement("div",{className:"btn-group"},r.createElement("button",{className:"btn border-0 info-link dropdown-toggle p-1 bg-light-blue-hover","data-bs-toggle":"dropdown"},r.createElement(c.x,{svgName:l,className:"svg-container me-1"}),r.createElement("span",{className:"me-1"},d)),r.createElement("ul",{className:"dropdown-menu cursor-pointer"},Object.values(a.e).map((function(t){var a=n[t],i=a.title,c=a.description;if((0,a.predicate)())return r.createElement(u,{key:t,sharePrivacy:t,activePrivacy:e.sharePrivacy,title:i,description:c,onClick:e.onClickSavePrivacy})})))):r.createElement("div",{className:"d-flex align-items-center"},r.createElement(c.x,{svgName:l,className:"svg-container me-1"}),r.createElement("span",null,d))}},81192:(e,t,n)=>{n.d(t,{Z:()=>v});var r=n(32735),a=n(80130),i=n(92802),c=n(23481),o=n(5173),s=(0,o.Ry)().shape({preventScrubbing:(0,o.O7)(),immediateFeedback:(0,o.O7)()}),l=n(82644),u=n(83345),d=n(83523);function m(e){return r.createElement("div",null,r.createElement("div",{className:"d-flex flex-row gap-1 justify-content-between align-items-center w-100 mb-1"},r.createElement("label",{className:"m-0 cursor-pointer",htmlFor:e.id,onClick:e.onClick},e.label),r.createElement(d.Z,{id:e.id,name:e.id,onClick:e.onClick,on:e.checked})),r.createElement("p",{className:"m-0 text-secondary"},e.description))}var p="sharev2.shareSettingsForm",y=c.T.encloseNamespace(p);function f(e){var t=(0,i.u6)();function n(e,n){t.setFieldValue(e,n),t.submitForm()}return r.createElement(a.Z,{className:"d-flex flex-column gap-2"},!e.hideFormHeading&&r.createElement("div",{className:"d-flex flex-row gap-2 justify-content-between align-items-center"},r.createElement("h3",{className:"h6 m-0"},r.createElement(u.x,{namespace:p,phrase:"heading"})),"function"==typeof e.onClickDelete&&r.createElement("a",{onClick:e.onClickDelete,className:"text-danger cursor-pointer"},r.createElement(u.x,{namespace:p,phrase:"delete"}))),r.createElement("div",{className:"d-flex flex-column gap-2"},e.showPreventScrubbingField&&r.createElement(m,{id:"prevent-scrubbing",label:y("preventScrubbingLabel"),description:y("preventScrubbingDescription"),checked:!!t.values.preventScrubbing,onClick:function(){return n("preventScrubbing",!t.values.preventScrubbing)}}),e.showImmediateFeedbackField&&r.createElement(m,{id:"immediate-feedback",label:y("immediateFeedbackLabel"),description:y("immediateFeedbackDescription"),checked:!!t.values.immediateFeedback,onClick:function(){return n("immediateFeedback",!t.values.immediateFeedback)}})))}function v(e){return!e.hideFormHeading||e.showImmediateFeedbackField||e.showPreventScrubbingField?r.createElement(l.n,{initialValues:e.initialValues,onSubmit:e.onSubmit,castInitialValues:!1,validationSchema:s},r.createElement(f,Object.assign({},e))):r.createElement(r.Fragment,null)}},31138:(e,t,n)=>{n.d(t,{B:()=>m,f:()=>d});var r=n(23481),a=n(75896),i=n(33518),c=n(8233);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function l(e,t,n){return(t=function(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var u=r.T.encloseNamespace("sharev2.getSharePrivacyConfig");function d(e){var t=c.R.getShareLinkAccessType(e.entityPrivacy),n=c.R.getRespectRatingText(e.entity,e.yearGroups,e.hasStudentExp);return l(l(l(l(l(l(l(l({},i.e.JustMySchool,{title:u("respectRatings"),description:n,predicate:function(){return"protected"!==t}}),i.e.Protected,{title:u("respectRatings"),description:n,predicate:function(){return"protected"===t}}),i.e.JustMySchoolOverrideRestriction,{title:u("justMySchool"),description:u("justMySchoolDescription"),predicate:function(){return"protected"!==t}}),i.e.ProtectedOverrideRestriction,{title:u("justMySchool"),description:u("clickViewOnly"),predicate:function(){return"protected"===t}}),i.e.Public,{title:u("public"),description:u("publicDescription"),predicate:function(){return"owner"===t}}),i.e.Direct,{title:"",description:"",predicate:function(){return!1}}),i.e.PasswordProtected,{title:"",description:"",predicate:function(){return!1}}),i.e.PinCode,{title:u("pinCode"),description:u("pinCodeDescription"),predicate:function(){return!1}})}function m(e){var t=d(e),n=Object.entries(t).filter((function(e){return(t=e,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 r,a,i,c,o=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(l)throw a}}return o}}(t,n)||function(e,t){if(e){if("string"==typeof e)return s(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)?s(e,t):void 0}}(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.")}())[1].predicate();var t,n}));if(n.length)return a.m.first(n)[0]}},28161:(e,t,n)=>{n.d(t,{F:()=>y});var r=n(23481),a=n(20354),i=n(93563),c=n(87265),o=n(2267),s=n(16714),l=n(1666),u=n(69883),d=n(22902),m=n(37802),p=r.T.encloseNamespace("sharev2.useMainShareData");function y(e){var t=(0,u.Z)(),n=(0,d.T)().hasPermissions,r=(0,m.r)(null),y=r.shareToGoogleClassroom,f=r.shareToMicrosoftTeams,v=r.isLoadingSettings,b=r.shareOverrideRestrictions,h=(0,c.s)({entityId:e.entityId,entityType:e.entityType}),g=h.currentUser,S=h.entity,E=h.privacy,k=h.share,x=h.config,I=(0,i._)({entityId:e.entityId}),w=I.loaded,P=I.updateShareLink,C=a.a.useBasicFetch(g.data&&l.h.yearGroups(g.data.customerId)),N=o.I.canEmbed(e.entityType),T=o.I.getEnabledIntegrations(y,f),j=n(s.C.ManageIntegrations),F=n(s.C.StudentExperience),O=n(s.C.ManageShareLinkSettings),A=k.data&&o.I.canAddPolicies(e.entityType),M=w&&!!k.data&&!!S.data&&!!E.data&&!!x.data&&!!C&&!v;return{data:{share:k,loaded:M,entity:S,privacy:E,config:x,yearGroups:C,shareOverrideRestrictions:b},canEmbed:N,integrations:T,hasStudentExp:F,canAccessSettings:A,hasManageShareLinkSettings:O,hasManageIntegrationsPermission:j,onClickSavePrivacy:function(n){P(k.data.shareId,{privacy:n}).then((function(n){e.log({type:"update-share-link",share:n}),t.success(p("privaciesSuccess",{name:S.data.name,escapeText:!0}))})).catch((function(){return t.error(p("privaciesError",{name:S.data.name,escapeText:!0}))}))}}}},2867:(e,t,n)=>{n.d(t,{W:()=>p});var r=n(23481),a=n(20354),i=n(93563),c=n(87265),o=n(2267),s=n(4594),l=n(20768),u=n(69883),d=n(45778),m=r.T.encloseNamespace("sharev2.useShareSettingsData");function p(e){var t=(0,u.Z)(),n=(0,c.s)({entityId:e.entityId,entityType:e.entityType}),r=n.config,p=n.entity,y=n.share,f=(0,i._)({entityId:e.entityId}),v=f.loaded,b=f.updateShareLink,h=a.a.useBasicFetch(d.G.isType(p.data,s.E.Interactive)&&p.data.interactiveId&&l.b.interactive(p.data.interactiveId));function g(n){e.log({type:"update-share-link",share:n}),t.success(m("editSuccess",{name:p.data.name,escapeText:!0}))}var S=o.I.getShareSettingsInitialValues(y.data,h.data);return{data:{loaded:v&&!!y.data&&!!r.data&&!!p.data},initialValues:S,onClickSaveLink:function(e,n){b(y.data.shareId,e).then(g).catch((function(){t.error(m("editError",{name:p.data.name,escapeText:!0})),n()}))}}}},89067:(e,t,n)=>{n.d(t,{r:()=>i});var r=n(32735);function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function i(e){var t,n,i,c,o=(i=r.useState(null===(t=e.animate)||void 0===t||t),c=2,function(e){if(Array.isArray(e))return e}(i)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,c,o=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(l)throw a}}return o}}(i,c)||function(e,t){if(e){if("string"==typeof e)return a(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)?a(e,t):void 0}}(i,c)||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.")}()),s=o[0],l=o[1],u=e.steps[e.step],d=void 0!==e.loading?{loading:e.loading}:{},m=Object.assign(Object.assign(Object.assign({},e.data),d),{animate:null!==(n=e.animate)&&void 0!==n?n:s,closePopup:function(){e.closePopup()},setStep:function(t){l(!1),e.setStep(t)}});if(!u)return r.createElement(r.Fragment,null);var p=u.view;return r.createElement(p,Object.assign({},m))}}}]);
|
|
2
|
+
//# sourceMappingURL=3268-2736356687-lite.chunk.js.map
|
package/dist/scripts/{3268-faca1bf46e-lite.chunk.js.map → 3268-2736356687-lite.chunk.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/3268-faca1bf46e-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/share-v2/components/share-link-privacy/share-link-privacy.scss","file:///app/packages/libs/shared/src/apps/share-v2/components/share-link-privacy/ShareLinkPrivacy.tsx","file:///app/packages/libs/shared/src/apps/share-v2/validation/ShareSettingsFormValidationSchema.ts","file:///app/packages/libs/shared/src/apps/share-v2/components/share-settings-field/ShareSettingsField.tsx","file:///app/packages/libs/shared/src/apps/share-v2/components/share-settings-form/ShareSettingsForm.tsx","file:///app/packages/libs/shared/src/apps/share-v2/utils/get-share-privacy-config/getSharePrivacyConfig.ts","file:///app/packages/libs/shared/src/apps/share-v2/views/main-share-view/hooks/use-main-share-data/useMainShareData.ts","file:///app/packages/libs/shared/src/apps/share-v2/views/share-settings-view/hooks/use-share-settings-data/useShareSettingsData.ts","file:///app/packages/libs/shared/src/components/multistep-popup/MultiStepPopup.tsx"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"active\":\"NV2KW\"};","import React from 'react';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { type SharePrivacyResponse } from 'libs/shared/apps/share-v2/interfaces/SharePrivacyResponse';\nimport { ShareLinkHelper } from 'libs/shared/apps/share-v2/utils/ShareLinkHelper';\nimport { type SharableEntity } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport type { YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { getSharePrivacyConfig } from '../../utils/get-share-privacy-config/getSharePrivacyConfig';\n\nimport styles from './share-link-privacy.scss';\n\ninterface SharePrivacyItemProps {\n title: string;\n activePrivacy: SharePrivacy;\n description: string;\n sharePrivacy: SharePrivacy;\n onClick: (sharePrivacy: SharePrivacy) => void\n}\n\nfunction SharePrivacyItem(props: SharePrivacyItemProps) {\n const active = props.activePrivacy === props.sharePrivacy;\n\n function onClick() {\n if (active)\n return;\n\n props.onClick(props.sharePrivacy);\n }\n\n return (\n <li>\n <button\n className={`${active ? styles.active : ''} dropdown-item d-flex align-items-center justify-content-between py-2`}\n onClick={onClick}\n >\n <div className='me-4'>\n <p className='font-label mb-1'>{props.title}</p>\n <p className='font-size-sm mb-0'>{props.description}</p>\n </div>\n {active && <SvgContainer svgName={cvSvgLibrary.Check} />}\n </button>\n </li>\n );\n}\n\ninterface ShareLinkPrivacyProps {\n hasStudentExp: boolean;\n shareOverrideRestrictions: boolean;\n entity: SharableEntity;\n entityTypeId: MasterType;\n yearGroups: YearGroup[];\n sharePrivacy: SharePrivacy;\n entityPrivacy: SharePrivacyResponse;\n onClickSavePrivacy: (privacy: SharePrivacy) => void;\n}\n\nexport function ShareLinkPrivacy(props: ShareLinkPrivacyProps): JSX.Element {\n const canUpdatePrivacy = props.shareOverrideRestrictions && !props.hasStudentExp;\n\n const config = getSharePrivacyConfig({\n entity: props.entity,\n entityPrivacy: props.entityPrivacy,\n hasStudentExp: props.hasStudentExp,\n yearGroups: props.yearGroups\n });\n\n const { icon, text } = ShareLinkHelper.getPrivateIconAndText({\n privacy: props.sharePrivacy,\n entityTypeId: props.entityTypeId,\n hasStudentExp: props.hasStudentExp,\n entity: props.entity,\n yearGroups: props.yearGroups\n });\n\n if (!canUpdatePrivacy) {\n return (\n <div className='d-flex align-items-center'>\n <SvgContainer svgName={icon} className='svg-container me-1' />\n <span>{text}</span>\n </div>\n );\n }\n \n return (\n <div className='btn-group'>\n <button\n className={`btn border-0 info-link dropdown-toggle p-1 bg-light-blue-hover`}\n data-bs-toggle='dropdown'\n >\n <SvgContainer svgName={icon} className='svg-container me-1' />\n <span className='me-1'>{text}</span>\n </button>\n <ul className='dropdown-menu cursor-pointer'>\n {Object.values(SharePrivacy).map(sharePrivacy => {\n const { title, description, predicate } = config[sharePrivacy];\n \n if (!predicate())\n return;\n\n return (\n <SharePrivacyItem\n key={sharePrivacy}\n sharePrivacy={sharePrivacy}\n activePrivacy={props.sharePrivacy}\n title={title}\n description={description}\n onClick={props.onClickSavePrivacy}\n />\n );\n })}\n </ul>\n </div>\n );\n}","import { boolean, object } from 'yup';\n\nexport const ShareSettingsFormValidationSchema = object().shape({\n preventScrubbing: boolean(),\n immediateFeedback: boolean()\n});","import React from 'react';\n\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\n\ninterface ShareSettingsFieldProps {\n id: string;\n label: string;\n description: string;\n onClick: () => void;\n checked: boolean;\n}\n\nexport function ShareSettingsField(props: ShareSettingsFieldProps): JSX.Element {\n return (\n <div>\n <div className='d-flex flex-row gap-1 justify-content-between align-items-center w-100 mb-1'>\n <label className='m-0 cursor-pointer' htmlFor={props.id} onClick={props.onClick}>{props.label}</label>\n <ToggleSwitch\n id={props.id}\n name={props.id}\n onClick={props.onClick}\n on={props.checked}\n />\n </div>\n <p className='m-0 text-secondary'>{props.description}</p>\n </div>\n );\n}","import React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ShareSettingsFormFields } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { ShareSettingsFormValidationSchema } from 'libs/shared/apps/share-v2/validation/ShareSettingsFormValidationSchema';\nimport { FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ShareSettingsField } from '../share-settings-field/ShareSettingsField';\n\nconst namespace = 'sharev2.shareSettingsForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ShareSettingsFormProps {\n initialValues: ShareSettingsFormFields;\n onSubmit: (\n data: ShareSettingsFormFields,\n onDone: (options?: FormSubmissionOptions<ShareSettingsFormFields>) => void\n ) => void;\n showPreventScrubbingField?: boolean;\n showImmediateFeedbackField?: boolean;\n hideFormHeading?: boolean;\n onClickDelete?: () => void;\n}\n\nfunction ShareSettingsFromComponent(props: ShareSettingsFormProps): JSX.Element {\n const formikProps = useFormikContext<ShareSettingsFormFields>();\n\n function setFormikFieldAndSave\n <T extends keyof ShareSettingsFormFields>(field: T, value: ShareSettingsFormFields[T]) {\n formikProps.setFieldValue(field, value);\n formikProps.submitForm();\n }\n\n return (\n <Form className='d-flex flex-column gap-2'>\n {!props.hideFormHeading &&\n <div className='d-flex flex-row gap-2 justify-content-between align-items-center'>\n <h3 className='h6 m-0'>\n <Text namespace={namespace} phrase='heading' />\n </h3>\n {typeof props.onClickDelete === 'function' &&\n <a onClick={props.onClickDelete} className='text-danger cursor-pointer'><Text namespace={namespace} phrase='delete' /></a>\n }\n </div>\n }\n <div className='d-flex flex-column gap-2'>\n {props.showPreventScrubbingField &&\n <ShareSettingsField\n id='prevent-scrubbing'\n label={getPhrase('preventScrubbingLabel')}\n description={getPhrase('preventScrubbingDescription')}\n checked={!!formikProps.values.preventScrubbing}\n onClick={() => setFormikFieldAndSave('preventScrubbing', !formikProps.values.preventScrubbing)}\n />\n }\n {props.showImmediateFeedbackField &&\n <ShareSettingsField\n id='immediate-feedback'\n label={getPhrase('immediateFeedbackLabel')}\n description={getPhrase('immediateFeedbackDescription')}\n checked={!!formikProps.values.immediateFeedback}\n onClick={() => setFormikFieldAndSave('immediateFeedback', !formikProps.values.immediateFeedback)}\n />\n }\n </div>\n </Form>\n );\n}\n\nexport function ShareSettingsForm(props: ShareSettingsFormProps): JSX.Element {\n const isEverythingHidden = props.hideFormHeading\n && !props.showImmediateFeedbackField\n && !props.showPreventScrubbingField;\n\n if (isEverythingHidden)\n return <></>;\n\n return (\n <FormWrapper<ShareSettingsFormFields>\n initialValues={props.initialValues}\n onSubmit={props.onSubmit}\n castInitialValues={false}\n validationSchema={ShareSettingsFormValidationSchema}\n >\n <ShareSettingsFromComponent {...props} />\n </FormWrapper>\n );\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { type SharePrivacyResponse } from 'libs/shared/apps/share-v2/interfaces/SharePrivacyResponse';\nimport { ShareLinkHelper } from 'libs/shared/apps/share-v2/utils/ShareLinkHelper';\nimport { type SharableEntity } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport type { YearGroup } from 'libs/shared/interfaces';\n\nconst namespace = 'sharev2.getSharePrivacyConfig';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype SharePrivacyConfigItem = {\n title: string;\n description: string;\n predicate: () => boolean;\n}\n\ninterface UseSharePrivacyConfigOptions {\n entityPrivacy: SharePrivacyResponse;\n entity: SharableEntity;\n yearGroups: YearGroup[];\n hasStudentExp: boolean;\n}\n\nexport function getSharePrivacyConfig(\n options: UseSharePrivacyConfigOptions\n): {[key in SharePrivacy]: SharePrivacyConfigItem} {\n const accessType = ShareLinkHelper.getShareLinkAccessType(options.entityPrivacy);\n const respectRatingText = ShareLinkHelper.getRespectRatingText(\n options.entity,\n options.yearGroups,\n options.hasStudentExp\n );\n\n const SharePrivacyItemConfig: {[key in SharePrivacy]: SharePrivacyConfigItem} = {\n [SharePrivacy.JustMySchool]: {\n title: getPhrase('respectRatings'),\n description: respectRatingText,\n predicate: () => accessType === 'private'\n },\n [SharePrivacy.Protected]: {\n title: getPhrase('respectRatings'),\n description: respectRatingText,\n predicate: () => accessType !== 'private'\n },\n [SharePrivacy.JustMySchoolOverrideRestriction]: {\n title: getPhrase('justMySchool'),\n description: getPhrase('justMySchoolDescription'),\n predicate: () => accessType === 'private'\n },\n [SharePrivacy.ProtectedOverrideRestriction]: {\n title: getPhrase('justMySchool'),\n description: getPhrase('clickViewOnly'),\n predicate: () => accessType !== 'private'\n },\n [SharePrivacy.Public]: {\n title: getPhrase('public'),\n description: getPhrase('publicDescription'),\n predicate: () => accessType === 'private'\n },\n /**\n * Not supported\n */\n [SharePrivacy.Direct]: {\n title: '',\n description: '',\n predicate: () => false\n },\n [SharePrivacy.PasswordProtected]: {\n title: '',\n description: '',\n predicate: () => false\n },\n [SharePrivacy.PinCode]: {\n title: getPhrase('pinCode'),\n description: getPhrase('pinCodeDescription'),\n predicate: () => false\n }\n };\n\n return SharePrivacyItemConfig;\n}\n\nexport function getDefaultSharePrivacy(options: UseSharePrivacyConfigOptions): SharePrivacy {\n const items = getSharePrivacyConfig(options);\n\n const validItems = Object.entries(items).filter(([ , config ]) => config.predicate());\n\n if (!validItems.length)\n return;\n\n return ArrayHelper.first(validItems)[0] as SharePrivacy;\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { useShareLinkActions } from 'libs/shared/apps/share-v2/hooks/useShareLinkActions';\nimport { useShareLinkData } from 'libs/shared/apps/share-v2/hooks/useShareLinkData';\nimport { ShareLogFn } from 'libs/shared/apps/share-v2/utils/get-share-event-logger/getShareEventLogger';\nimport { SharableEntityType, ShareViewHelper } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport type { YearGroup } from 'libs/shared/interfaces';\n\nconst namespace = 'sharev2.useMainShareData';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface UseMainShareDataOptions {\n entityId: string;\n entityType: SharableEntityType;\n log: ShareLogFn;\n}\n\nexport function useMainShareData(options: UseMainShareDataOptions) {\n const alerts = useAlerts();\n const { hasPermissions } = usePermissions();\n\n const {\n shareToGoogleClassroom,\n shareToMicrosoftTeams,\n isLoadingSettings,\n shareOverrideRestrictions\n } = useSettings(null);\n \n const {\n currentUser,\n entity,\n privacy,\n share,\n config\n } = useShareLinkData({ entityId: options.entityId, entityType: options.entityType });\n \n const {\n loaded: shareActionLoaded,\n updateShareLink\n } = useShareLinkActions({ entityId: options.entityId });\n \n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n function onClickSavePrivacy(updatedPrivacy: SharePrivacy): void {\n updateShareLink(share.data.shareId, { privacy: updatedPrivacy })\n .then(share => {\n options.log({\n type: 'update-share-link',\n share\n });\n alerts.success(getPhrase('privaciesSuccess', { name: entity.data.name, escapeText: true }));\n })\n .catch(\n () => alerts.error(getPhrase('privaciesError', { name: entity.data.name, escapeText: true }))\n );\n }\n \n const canEmbed = ShareViewHelper.canEmbed(options.entityType);\n const integrations = ShareViewHelper.getEnabledIntegrations(shareToGoogleClassroom, shareToMicrosoftTeams);\n const hasManageIntegrationsPermission = hasPermissions(PermissionName.ManageIntegrations);\n const hasStudentExp = hasPermissions(PermissionName.StudentExperience);\n const hasManageShareLinkSettings = hasPermissions(PermissionName.ManageShareLinkSettings);\n const canAccessSettings = share.data && ShareViewHelper.canAddPolicies(options.entityType);\n \n const loaded = shareActionLoaded\n && !!share.data\n && !!entity.data\n && !!privacy.data\n && !!config.data\n && !!yearGroups\n && !isLoadingSettings;\n\n\n return {\n data: {\n share,\n loaded,\n entity,\n privacy,\n config,\n yearGroups,\n shareOverrideRestrictions\n },\n canEmbed,\n integrations,\n hasStudentExp,\n canAccessSettings,\n hasManageShareLinkSettings,\n hasManageIntegrationsPermission,\n onClickSavePrivacy\n };\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { useShareLinkActions } from 'libs/shared/apps/share-v2/hooks/useShareLinkActions';\nimport { useShareLinkData } from 'libs/shared/apps/share-v2/hooks/useShareLinkData';\nimport type { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport type { UpdateShareRequest } from 'libs/shared/apps/share-v2/interfaces/UpdateShareRequest';\nimport { ShareLogFn } from 'libs/shared/apps/share-v2/utils/get-share-event-logger/getShareEventLogger';\nimport { SharableEntityType, ShareViewHelper } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport type { Interactive, InteractiveMetadata } from 'libs/shared/interfaces';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\n\nconst namespace = 'sharev2.useShareSettingsData';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface UseShareSettingsDataOptions {\n entityId: string;\n entityType: SharableEntityType;\n log: ShareLogFn;\n}\n\nexport function useShareSettingsData(options: UseShareSettingsDataOptions) {\n const alerts = useAlerts();\n\n const { config, entity, share } = useShareLinkData({\n entityId: options.entityId,\n entityType: options.entityType\n });\n\n const { loaded: shareLinkActionsLoaded, updateShareLink } = useShareLinkActions({ entityId: options.entityId });\n \n /**\n * Fetch interactive videos options to set them as defaults\n * if the interactive share data does not have any options set\n */\n const interactive = Flight.useBasicFetch<Interactive>(\n MasterTypeHelper.isType<InteractiveMetadata>(entity.data, MasterType.Interactive) && entity.data.interactiveId &&\n InteractiveRequests.interactive(entity.data.interactiveId)\n );\n\n function onSuccess(updatedShare: Share) {\n options.log({\n type: 'update-share-link',\n share: updatedShare\n });\n \n alerts.success(getPhrase('editSuccess', { name: entity.data.name, escapeText: true }));\n }\n \n function onClickSaveLink(data: UpdateShareRequest, onError: () => void): void {\n updateShareLink(share.data.shareId, data)\n .then(onSuccess)\n .catch(() => {\n alerts.error(getPhrase('editError', { name: entity.data.name, escapeText: true }));\n onError();\n });\n }\n \n const initialValues = ShareViewHelper.getShareSettingsInitialValues(share.data, interactive.data);\n \n const loaded = shareLinkActionsLoaded\n && !!share.data\n && !!config.data\n && !!entity.data;\n\n return {\n data: {\n loaded\n },\n initialValues,\n onClickSaveLink\n };\n}","import React from 'react';\n\nimport { PopupViewProps } from 'libs/shared/interfaces';\n\nexport interface MultiStepPopupViewProps extends PopupViewProps {\n animate?: boolean;\n loading?: boolean;\n}\n\nexport type MultiStepItemConfig<TProps, TSteps extends string> = {\n [Key in TSteps]: {\n view: (props: TProps) => JSX.Element;\n }\n}\n\ninterface MultiStepPopupProps<\n TProps,\n TSteps extends string\n> {\n step: TSteps;\n data: TProps;\n steps: MultiStepItemConfig<TProps, TSteps>;\n loading?: boolean;\n animate?: boolean;\n setStep: (step: TSteps) => void;\n closePopup: () => void;\n}\n\nexport function MultiStepPopup<TProps, TSteps extends string>(\n props: MultiStepPopupProps<TProps, TSteps>\n): JSX.Element {\n const [ animate, setAnimate ] = React.useState<boolean>(props.animate ?? true);\n\n function setStep(step: TSteps) {\n /**\n * We want to animate the popup for the first time it loads in.\n * After that every step changes should not animate other popups\n */\n setAnimate(false);\n props.setStep(step);\n }\n\n function closePopup() {\n props.closePopup();\n }\n\n const stepConfig = props.steps[props.step];\n /**\n * This is so that we do not override `loading` prop \n * passed into `ViewComponent` from `props.data` if `props.loading` is undefined.\n * We only want to override the prop if this is set.\n */\n const loading = typeof props.loading !== 'undefined' ? { loading: props.loading } : {};\n \n const viewProps: TProps = {\n ...props.data,\n ...loading,\n animate: props.animate ?? animate,\n closePopup,\n setStep\n };\n\n if (!stepConfig)\n return <></>;\n\n const ViewComponent = stepConfig.view;\n\n return <ViewComponent {...viewProps} />;\n}"],"names":["SharePrivacyItem","props","active","activePrivacy","sharePrivacy","className","onClick","title","description","SvgContainer","svgName","ShareLinkPrivacy","canUpdatePrivacy","shareOverrideRestrictions","hasStudentExp","config","getSharePrivacyConfig","entity","entityPrivacy","yearGroups","ShareLinkHelper","privacy","entityTypeId","icon","text","Object","values","SharePrivacy","map","predicate","key","onClickSavePrivacy","ShareSettingsFormValidationSchema","shape","preventScrubbing","immediateFeedback","ShareSettingsField","htmlFor","id","label","ToggleSwitch","name","on","checked","namespace","getPhrase","LanguageService","ShareSettingsFromComponent","formikProps","setFormikFieldAndSave","field","value","setFieldValue","submitForm","Form","hideFormHeading","Text","phrase","onClickDelete","showPreventScrubbingField","showImmediateFeedbackField","ShareSettingsForm","FormWrapper","initialValues","onSubmit","castInitialValues","validationSchema","options","accessType","respectRatingText","getDefaultSharePrivacy","items","validItems","entries","filter","length","useMainShareData","alerts","hasPermissions","shareToGoogleClassroom","shareToMicrosoftTeams","isLoadingSettings","entityId","entityType","currentUser","share","shareActionLoaded","loaded","updateShareLink","data","customerId","canEmbed","integrations","hasManageIntegrationsPermission","hasManageShareLinkSettings","canAccessSettings","updatedPrivacy","shareId","then","log","type","success","escapeText","error","useShareSettingsData","shareLinkActionsLoaded","interactive","interactiveId","onSuccess","updatedShare","onClickSaveLink","onError","MultiStepPopup","animate","setAnimate","stepConfig","steps","step","loading","viewProps","closePopup","setStep","ViewComponent","view"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"scripts/3268-2736356687-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/share-v2/components/share-link-privacy/share-link-privacy.scss","file:///app/packages/libs/shared/src/apps/share-v2/components/share-link-privacy/ShareLinkPrivacy.tsx","file:///app/packages/libs/shared/src/apps/share-v2/validation/ShareSettingsFormValidationSchema.ts","file:///app/packages/libs/shared/src/apps/share-v2/components/share-settings-field/ShareSettingsField.tsx","file:///app/packages/libs/shared/src/apps/share-v2/components/share-settings-form/ShareSettingsForm.tsx","file:///app/packages/libs/shared/src/apps/share-v2/utils/get-share-privacy-config/getSharePrivacyConfig.ts","file:///app/packages/libs/shared/src/apps/share-v2/views/main-share-view/hooks/use-main-share-data/useMainShareData.ts","file:///app/packages/libs/shared/src/apps/share-v2/views/share-settings-view/hooks/use-share-settings-data/useShareSettingsData.ts","file:///app/packages/libs/shared/src/components/multistep-popup/MultiStepPopup.tsx"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"active\":\"NV2KW\"};","import React from 'react';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { type SharePrivacyResponse } from 'libs/shared/apps/share-v2/interfaces/SharePrivacyResponse';\nimport { ShareLinkHelper } from 'libs/shared/apps/share-v2/utils/ShareLinkHelper';\nimport { type SharableEntity } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport type { YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { getSharePrivacyConfig } from '../../utils/get-share-privacy-config/getSharePrivacyConfig';\n\nimport styles from './share-link-privacy.scss';\n\ninterface SharePrivacyItemProps {\n title: string;\n activePrivacy: SharePrivacy;\n description: string;\n sharePrivacy: SharePrivacy;\n onClick: (sharePrivacy: SharePrivacy) => void\n}\n\nfunction SharePrivacyItem(props: SharePrivacyItemProps) {\n const active = props.activePrivacy === props.sharePrivacy;\n\n function onClick() {\n if (active)\n return;\n\n props.onClick(props.sharePrivacy);\n }\n\n return (\n <li>\n <button\n className={`${active ? styles.active : ''} dropdown-item d-flex align-items-center justify-content-between py-2`}\n onClick={onClick}\n >\n <div className='me-4'>\n <p className='font-label mb-1'>{props.title}</p>\n <p className='font-size-sm mb-0'>{props.description}</p>\n </div>\n {active && <SvgContainer svgName={cvSvgLibrary.Check} />}\n </button>\n </li>\n );\n}\n\ninterface ShareLinkPrivacyProps {\n hasStudentExp: boolean;\n shareOverrideRestrictions: boolean;\n entity: SharableEntity;\n entityTypeId: MasterType;\n yearGroups: YearGroup[];\n sharePrivacy: SharePrivacy;\n entityPrivacy: SharePrivacyResponse;\n onClickSavePrivacy: (privacy: SharePrivacy) => void;\n}\n\nexport function ShareLinkPrivacy(props: ShareLinkPrivacyProps): JSX.Element {\n const canUpdatePrivacy = props.shareOverrideRestrictions && !props.hasStudentExp;\n\n const config = getSharePrivacyConfig({\n entity: props.entity,\n entityPrivacy: props.entityPrivacy,\n hasStudentExp: props.hasStudentExp,\n yearGroups: props.yearGroups\n });\n\n const { icon, text } = ShareLinkHelper.getPrivateIconAndText({\n privacy: props.sharePrivacy,\n entityTypeId: props.entityTypeId,\n hasStudentExp: props.hasStudentExp,\n entity: props.entity,\n yearGroups: props.yearGroups\n });\n\n if (!canUpdatePrivacy) {\n return (\n <div className='d-flex align-items-center'>\n <SvgContainer svgName={icon} className='svg-container me-1' />\n <span>{text}</span>\n </div>\n );\n }\n \n return (\n <div className='btn-group'>\n <button\n className={`btn border-0 info-link dropdown-toggle p-1 bg-light-blue-hover`}\n data-bs-toggle='dropdown'\n >\n <SvgContainer svgName={icon} className='svg-container me-1' />\n <span className='me-1'>{text}</span>\n </button>\n <ul className='dropdown-menu cursor-pointer'>\n {Object.values(SharePrivacy).map(sharePrivacy => {\n const { title, description, predicate } = config[sharePrivacy];\n \n if (!predicate())\n return;\n\n return (\n <SharePrivacyItem\n key={sharePrivacy}\n sharePrivacy={sharePrivacy}\n activePrivacy={props.sharePrivacy}\n title={title}\n description={description}\n onClick={props.onClickSavePrivacy}\n />\n );\n })}\n </ul>\n </div>\n );\n}","import { boolean, object } from 'yup';\n\nexport const ShareSettingsFormValidationSchema = object().shape({\n preventScrubbing: boolean(),\n immediateFeedback: boolean()\n});","import React from 'react';\n\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\n\ninterface ShareSettingsFieldProps {\n id: string;\n label: string;\n description: string;\n onClick: () => void;\n checked: boolean;\n}\n\nexport function ShareSettingsField(props: ShareSettingsFieldProps): JSX.Element {\n return (\n <div>\n <div className='d-flex flex-row gap-1 justify-content-between align-items-center w-100 mb-1'>\n <label className='m-0 cursor-pointer' htmlFor={props.id} onClick={props.onClick}>{props.label}</label>\n <ToggleSwitch\n id={props.id}\n name={props.id}\n onClick={props.onClick}\n on={props.checked}\n />\n </div>\n <p className='m-0 text-secondary'>{props.description}</p>\n </div>\n );\n}","import React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ShareSettingsFormFields } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { ShareSettingsFormValidationSchema } from 'libs/shared/apps/share-v2/validation/ShareSettingsFormValidationSchema';\nimport { FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ShareSettingsField } from '../share-settings-field/ShareSettingsField';\n\nconst namespace = 'sharev2.shareSettingsForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ShareSettingsFormProps {\n initialValues: ShareSettingsFormFields;\n onSubmit: (\n data: ShareSettingsFormFields,\n onDone: (options?: FormSubmissionOptions<ShareSettingsFormFields>) => void\n ) => void;\n showPreventScrubbingField?: boolean;\n showImmediateFeedbackField?: boolean;\n hideFormHeading?: boolean;\n onClickDelete?: () => void;\n}\n\nfunction ShareSettingsFromComponent(props: ShareSettingsFormProps): JSX.Element {\n const formikProps = useFormikContext<ShareSettingsFormFields>();\n\n function setFormikFieldAndSave\n <T extends keyof ShareSettingsFormFields>(field: T, value: ShareSettingsFormFields[T]) {\n formikProps.setFieldValue(field, value);\n formikProps.submitForm();\n }\n\n return (\n <Form className='d-flex flex-column gap-2'>\n {!props.hideFormHeading &&\n <div className='d-flex flex-row gap-2 justify-content-between align-items-center'>\n <h3 className='h6 m-0'>\n <Text namespace={namespace} phrase='heading' />\n </h3>\n {typeof props.onClickDelete === 'function' &&\n <a onClick={props.onClickDelete} className='text-danger cursor-pointer'><Text namespace={namespace} phrase='delete' /></a>\n }\n </div>\n }\n <div className='d-flex flex-column gap-2'>\n {props.showPreventScrubbingField &&\n <ShareSettingsField\n id='prevent-scrubbing'\n label={getPhrase('preventScrubbingLabel')}\n description={getPhrase('preventScrubbingDescription')}\n checked={!!formikProps.values.preventScrubbing}\n onClick={() => setFormikFieldAndSave('preventScrubbing', !formikProps.values.preventScrubbing)}\n />\n }\n {props.showImmediateFeedbackField &&\n <ShareSettingsField\n id='immediate-feedback'\n label={getPhrase('immediateFeedbackLabel')}\n description={getPhrase('immediateFeedbackDescription')}\n checked={!!formikProps.values.immediateFeedback}\n onClick={() => setFormikFieldAndSave('immediateFeedback', !formikProps.values.immediateFeedback)}\n />\n }\n </div>\n </Form>\n );\n}\n\nexport function ShareSettingsForm(props: ShareSettingsFormProps): JSX.Element {\n const isEverythingHidden = props.hideFormHeading\n && !props.showImmediateFeedbackField\n && !props.showPreventScrubbingField;\n\n if (isEverythingHidden)\n return <></>;\n\n return (\n <FormWrapper<ShareSettingsFormFields>\n initialValues={props.initialValues}\n onSubmit={props.onSubmit}\n castInitialValues={false}\n validationSchema={ShareSettingsFormValidationSchema}\n >\n <ShareSettingsFromComponent {...props} />\n </FormWrapper>\n );\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { type SharePrivacyResponse } from 'libs/shared/apps/share-v2/interfaces/SharePrivacyResponse';\nimport { ShareLinkHelper } from 'libs/shared/apps/share-v2/utils/ShareLinkHelper';\nimport { type SharableEntity } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport type { YearGroup } from 'libs/shared/interfaces';\n\nconst namespace = 'sharev2.getSharePrivacyConfig';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype SharePrivacyConfigItem = {\n title: string;\n description: string;\n predicate: () => boolean;\n}\n\ninterface UseSharePrivacyConfigOptions {\n entityPrivacy: SharePrivacyResponse;\n entity: SharableEntity;\n yearGroups: YearGroup[];\n hasStudentExp: boolean;\n}\n\nexport function getSharePrivacyConfig(\n options: UseSharePrivacyConfigOptions\n): {[key in SharePrivacy]: SharePrivacyConfigItem} {\n const accessType = ShareLinkHelper.getShareLinkAccessType(options.entityPrivacy);\n const respectRatingText = ShareLinkHelper.getRespectRatingText(\n options.entity,\n options.yearGroups,\n options.hasStudentExp\n );\n\n const SharePrivacyItemConfig: {[key in SharePrivacy]: SharePrivacyConfigItem} = {\n [SharePrivacy.JustMySchool]: {\n title: getPhrase('respectRatings'),\n description: respectRatingText,\n predicate: () => accessType !== 'protected'\n },\n [SharePrivacy.Protected]: {\n title: getPhrase('respectRatings'),\n description: respectRatingText,\n predicate: () => accessType === 'protected'\n },\n [SharePrivacy.JustMySchoolOverrideRestriction]: {\n title: getPhrase('justMySchool'),\n description: getPhrase('justMySchoolDescription'),\n predicate: () => accessType !== 'protected'\n },\n [SharePrivacy.ProtectedOverrideRestriction]: {\n title: getPhrase('justMySchool'),\n description: getPhrase('clickViewOnly'),\n predicate: () => accessType === 'protected'\n },\n [SharePrivacy.Public]: {\n title: getPhrase('public'),\n description: getPhrase('publicDescription'),\n predicate: () => accessType === 'owner'\n },\n /**\n * Not supported\n */\n [SharePrivacy.Direct]: {\n title: '',\n description: '',\n predicate: () => false\n },\n [SharePrivacy.PasswordProtected]: {\n title: '',\n description: '',\n predicate: () => false\n },\n [SharePrivacy.PinCode]: {\n title: getPhrase('pinCode'),\n description: getPhrase('pinCodeDescription'),\n predicate: () => false\n }\n };\n\n return SharePrivacyItemConfig;\n}\n\nexport function getDefaultSharePrivacy(options: UseSharePrivacyConfigOptions): SharePrivacy {\n const items = getSharePrivacyConfig(options);\n\n const validItems = Object.entries(items).filter(([ , config ]) => config.predicate());\n\n if (!validItems.length)\n return;\n\n return ArrayHelper.first(validItems)[0] as SharePrivacy;\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { useShareLinkActions } from 'libs/shared/apps/share-v2/hooks/useShareLinkActions';\nimport { useShareLinkData } from 'libs/shared/apps/share-v2/hooks/useShareLinkData';\nimport { ShareLogFn } from 'libs/shared/apps/share-v2/utils/get-share-event-logger/getShareEventLogger';\nimport { SharableEntityType, ShareViewHelper } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport type { YearGroup } from 'libs/shared/interfaces';\n\nconst namespace = 'sharev2.useMainShareData';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface UseMainShareDataOptions {\n entityId: string;\n entityType: SharableEntityType;\n log: ShareLogFn;\n}\n\nexport function useMainShareData(options: UseMainShareDataOptions) {\n const alerts = useAlerts();\n const { hasPermissions } = usePermissions();\n\n const {\n shareToGoogleClassroom,\n shareToMicrosoftTeams,\n isLoadingSettings,\n shareOverrideRestrictions\n } = useSettings(null);\n \n const {\n currentUser,\n entity,\n privacy,\n share,\n config\n } = useShareLinkData({ entityId: options.entityId, entityType: options.entityType });\n \n const {\n loaded: shareActionLoaded,\n updateShareLink\n } = useShareLinkActions({ entityId: options.entityId });\n \n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n function onClickSavePrivacy(updatedPrivacy: SharePrivacy): void {\n updateShareLink(share.data.shareId, { privacy: updatedPrivacy })\n .then(share => {\n options.log({\n type: 'update-share-link',\n share\n });\n alerts.success(getPhrase('privaciesSuccess', { name: entity.data.name, escapeText: true }));\n })\n .catch(\n () => alerts.error(getPhrase('privaciesError', { name: entity.data.name, escapeText: true }))\n );\n }\n \n const canEmbed = ShareViewHelper.canEmbed(options.entityType);\n const integrations = ShareViewHelper.getEnabledIntegrations(shareToGoogleClassroom, shareToMicrosoftTeams);\n const hasManageIntegrationsPermission = hasPermissions(PermissionName.ManageIntegrations);\n const hasStudentExp = hasPermissions(PermissionName.StudentExperience);\n const hasManageShareLinkSettings = hasPermissions(PermissionName.ManageShareLinkSettings);\n const canAccessSettings = share.data && ShareViewHelper.canAddPolicies(options.entityType);\n \n const loaded = shareActionLoaded\n && !!share.data\n && !!entity.data\n && !!privacy.data\n && !!config.data\n && !!yearGroups\n && !isLoadingSettings;\n\n\n return {\n data: {\n share,\n loaded,\n entity,\n privacy,\n config,\n yearGroups,\n shareOverrideRestrictions\n },\n canEmbed,\n integrations,\n hasStudentExp,\n canAccessSettings,\n hasManageShareLinkSettings,\n hasManageIntegrationsPermission,\n onClickSavePrivacy\n };\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { useShareLinkActions } from 'libs/shared/apps/share-v2/hooks/useShareLinkActions';\nimport { useShareLinkData } from 'libs/shared/apps/share-v2/hooks/useShareLinkData';\nimport type { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport type { UpdateShareRequest } from 'libs/shared/apps/share-v2/interfaces/UpdateShareRequest';\nimport { ShareLogFn } from 'libs/shared/apps/share-v2/utils/get-share-event-logger/getShareEventLogger';\nimport { SharableEntityType, ShareViewHelper } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport type { Interactive, InteractiveMetadata } from 'libs/shared/interfaces';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\n\nconst namespace = 'sharev2.useShareSettingsData';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface UseShareSettingsDataOptions {\n entityId: string;\n entityType: SharableEntityType;\n log: ShareLogFn;\n}\n\nexport function useShareSettingsData(options: UseShareSettingsDataOptions) {\n const alerts = useAlerts();\n\n const { config, entity, share } = useShareLinkData({\n entityId: options.entityId,\n entityType: options.entityType\n });\n\n const { loaded: shareLinkActionsLoaded, updateShareLink } = useShareLinkActions({ entityId: options.entityId });\n \n /**\n * Fetch interactive videos options to set them as defaults\n * if the interactive share data does not have any options set\n */\n const interactive = Flight.useBasicFetch<Interactive>(\n MasterTypeHelper.isType<InteractiveMetadata>(entity.data, MasterType.Interactive) && entity.data.interactiveId &&\n InteractiveRequests.interactive(entity.data.interactiveId)\n );\n\n function onSuccess(updatedShare: Share) {\n options.log({\n type: 'update-share-link',\n share: updatedShare\n });\n \n alerts.success(getPhrase('editSuccess', { name: entity.data.name, escapeText: true }));\n }\n \n function onClickSaveLink(data: UpdateShareRequest, onError: () => void): void {\n updateShareLink(share.data.shareId, data)\n .then(onSuccess)\n .catch(() => {\n alerts.error(getPhrase('editError', { name: entity.data.name, escapeText: true }));\n onError();\n });\n }\n \n const initialValues = ShareViewHelper.getShareSettingsInitialValues(share.data, interactive.data);\n \n const loaded = shareLinkActionsLoaded\n && !!share.data\n && !!config.data\n && !!entity.data;\n\n return {\n data: {\n loaded\n },\n initialValues,\n onClickSaveLink\n };\n}","import React from 'react';\n\nimport { PopupViewProps } from 'libs/shared/interfaces';\n\nexport interface MultiStepPopupViewProps extends PopupViewProps {\n animate?: boolean;\n loading?: boolean;\n}\n\nexport type MultiStepItemConfig<TProps, TSteps extends string> = {\n [Key in TSteps]: {\n view: (props: TProps) => JSX.Element;\n }\n}\n\ninterface MultiStepPopupProps<\n TProps,\n TSteps extends string\n> {\n step: TSteps;\n data: TProps;\n steps: MultiStepItemConfig<TProps, TSteps>;\n loading?: boolean;\n animate?: boolean;\n setStep: (step: TSteps) => void;\n closePopup: () => void;\n}\n\nexport function MultiStepPopup<TProps, TSteps extends string>(\n props: MultiStepPopupProps<TProps, TSteps>\n): JSX.Element {\n const [ animate, setAnimate ] = React.useState<boolean>(props.animate ?? true);\n\n function setStep(step: TSteps) {\n /**\n * We want to animate the popup for the first time it loads in.\n * After that every step changes should not animate other popups\n */\n setAnimate(false);\n props.setStep(step);\n }\n\n function closePopup() {\n props.closePopup();\n }\n\n const stepConfig = props.steps[props.step];\n /**\n * This is so that we do not override `loading` prop \n * passed into `ViewComponent` from `props.data` if `props.loading` is undefined.\n * We only want to override the prop if this is set.\n */\n const loading = typeof props.loading !== 'undefined' ? { loading: props.loading } : {};\n \n const viewProps: TProps = {\n ...props.data,\n ...loading,\n animate: props.animate ?? animate,\n closePopup,\n setStep\n };\n\n if (!stepConfig)\n return <></>;\n\n const ViewComponent = stepConfig.view;\n\n return <ViewComponent {...viewProps} />;\n}"],"names":["SharePrivacyItem","props","active","activePrivacy","sharePrivacy","className","onClick","title","description","SvgContainer","svgName","ShareLinkPrivacy","canUpdatePrivacy","shareOverrideRestrictions","hasStudentExp","config","getSharePrivacyConfig","entity","entityPrivacy","yearGroups","ShareLinkHelper","privacy","entityTypeId","icon","text","Object","values","SharePrivacy","map","predicate","key","onClickSavePrivacy","ShareSettingsFormValidationSchema","shape","preventScrubbing","immediateFeedback","ShareSettingsField","htmlFor","id","label","ToggleSwitch","name","on","checked","namespace","getPhrase","LanguageService","ShareSettingsFromComponent","formikProps","setFormikFieldAndSave","field","value","setFieldValue","submitForm","Form","hideFormHeading","Text","phrase","onClickDelete","showPreventScrubbingField","showImmediateFeedbackField","ShareSettingsForm","FormWrapper","initialValues","onSubmit","castInitialValues","validationSchema","options","accessType","respectRatingText","getDefaultSharePrivacy","items","validItems","entries","filter","length","useMainShareData","alerts","hasPermissions","shareToGoogleClassroom","shareToMicrosoftTeams","isLoadingSettings","entityId","entityType","currentUser","share","shareActionLoaded","loaded","updateShareLink","data","customerId","canEmbed","integrations","hasManageIntegrationsPermission","hasManageShareLinkSettings","canAccessSettings","updatedPrivacy","shareId","then","log","type","success","escapeText","error","useShareSettingsData","shareLinkActionsLoaded","interactive","interactiveId","onSuccess","updatedShare","onClickSaveLink","onError","MultiStepPopup","animate","setAnimate","stepConfig","steps","step","loading","viewProps","closePopup","setStep","ViewComponent","view"],"sourceRoot":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see 3597-eaae787997-lite.chunk.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3597],{61357:(t,e,r)=>{r.r(e),r.d(e,{RequestingAccessView:()=>N});var n=r(32735),o=r(98269),i=r(92802),a=r(23481),c=r(20354),s=r(14617),u=r(24833);function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function f(t){return n.createElement(s._,{view:u.C.RequestingAccess,options:["none","allowed","any"],errors:t.errors,appLinks:t.appLinks,classname:t.classname,onSelectValue:function(e){return t.formikProps.setFieldValue("requestingAccess.selectedOption",e)},addDomainField:function(){return t.formikProps.setFieldValue("requestingAccess.domains",[].concat(function(t){if(Array.isArray(t))return l(t)}(e=t.formikProps.values.requestingAccess.domains)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(e)||function(t,e){if(t){if("string"==typeof t)return l(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(t,e):void 0}}(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.")}(),[{domain:""}]));var e},onChangeDomain:function(e,r){return t.formikProps.setFieldValue("requestingAccess.domains[".concat(r,"]"),e)},removeDomainField:function(e){var r=t.formikProps.values.requestingAccess.domains;r.length>1?(t.formikProps.setFieldValue("requestingAccess.domains",r.filter((function(t,r){return r!==e}))),t.formikProps.setFieldError("requestingAccess.domains",void 0)):(t.formikProps.setFieldValue("requestingAccess.domains[0]",{domain:""}),t.formikProps.setFieldError("requestingAccess.domains[0]",void 0))},setFieldError:function(e,r){return t.formikProps.setFieldError(e,r)},selectedOption:t.formikProps.values.requestingAccess.selectedOption,domains:t.formikProps.values.requestingAccess.domains})}var h=r(61807),p=r(15611),m=r(82644),d=r(83345),y=r(23371),v=r(31949),g=r(69883),b=r(79612),w=r(93802),E=r(5458),A=r(14070),k=r(97291),L=r(81803),x=r(68598),S=r(71966),O=r(96268);function F(t){return F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},F(t)}function P(){P=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof v?e:v,a=Object.create(i.prototype),c=new j(n||[]);return o(a,"_invoke",{value:S(t,r,c)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var h="suspendedStart",p="suspendedYield",m="executing",d="completed",y={};function v(){}function g(){}function b(){}var w={};u(w,a,(function(){return this}));var E=Object.getPrototypeOf,A=E&&E(E(I([])));A&&A!==r&&n.call(A,a)&&(w=A);var k=b.prototype=v.prototype=Object.create(w);function L(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function r(o,i,a,c){var s=f(t[o],t,i);if("throw"!==s.type){var u=s.arg,l=u.value;return l&&"object"==F(l)&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,c)}))}c(s.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function S(e,r,n){var o=h;return function(i,a){if(o===m)throw Error("Generator is already running");if(o===d){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var s=O(c,n);if(s){if(s===y)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=m;var u=f(e,r,n);if("normal"===u.type){if(o=n.done?d:p,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=d,n.method="throw",n.arg=u.arg)}}}function O(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function q(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function I(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}throw new TypeError(F(e)+" is not iterable")}return g.prototype=b,o(k,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:g,configurable:!0}),g.displayName=u(b,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,u(t,s,"GeneratorFunction")),t.prototype=Object.create(k),t},e.awrap=function(t){return{__await:t}},L(x.prototype),u(x.prototype,c,(function(){return this})),e.AsyncIterator=x,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new x(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},L(k),u(k,s,"Generator"),u(k,a,(function(){return this})),u(k,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=I,j.prototype={constructor:j,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(q),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return c.type="throw",c.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(s&&u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),q(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;q(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:I(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function _(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var q=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{s(n.next(t))}catch(t){i(t)}}function c(t){try{s(n.throw(t))}catch(t){i(t)}}function s(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,c)}s((n=n.apply(t,e||[])).next())}))},j="settings.requestingAccess",I=a.T.encloseNamespace(j);function N(){(0,O.W)(),(0,b.M)({title:I("pageTitle")});var t,e,r=c.a.useBasicFetch(v.N.currentUser()),a=r.data.customerId,s=c.a.useBasicFetch(r.data.customerId&&S.B.domains(a)),u=c.a.useGetFetchAsync(),l=(0,g.Z)(),F=(t=n.useState([]),e=2,function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],s=!0,u=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);s=!0);}catch(t){u=!0,o=t}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return _(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_(t,e):void 0}}(t,e)||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.")}()),N=F[0],T=F[1];if(!s.hasCompleted)return n.createElement(n.Fragment,null);var C={requestingAccess:w.y.getInitialJoinRequests(s.data),teacherInvites:!1,automaticAccess:w.y.getInitialAccessBehaviour(s.data)};return n.createElement(L.d,{heading:I("heading"),breadcrumbs:[I("breadcrumb")]},n.createElement(h.L,{active:"requesting-access",appLinks:x.W}),n.createElement("p",null,n.createElement(d.x,{namespace:j,phrase:"description"})," ",n.createElement(p.F,{appLink:{application:k.O.USER_MANAGER,action:A.e.UserManager.ACCESS_REQUESTS},className:"text-info"},n.createElement(d.x,{namespace:j,phrase:"manageRequests"}))),n.createElement(m.n,{initialValues:C,onSubmit:function(t,e){var r;return q(this,void 0,void 0,P().mark((function n(){var o;return P().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=w.y.formatRequestData(s.data,t.requestingAccess,y.W.Request),n.prev=1,n.next=4,u(S.B.updateDomains(a,o));case 4:l.success(I("success")),n.next=11;break;case 7:n.prev=7,n.t0=n.catch(1),(null===(r=n.t0.responseJSON)||void 0===r?void 0:r.problems)&&T(n.t0.responseJSON.problems),l.error(I("error"));case 11:return n.prev=11,e(),n.finish(11);case 14:case"end":return n.stop()}}),n,null,[[1,7,11,14]])})))},validate:function(t){return(0,E.T)({values:t,alerts:l,setShowPopup:function(){}})},validateOnChange:!1,validateOnBlur:!1},(function(t){return n.createElement(i.l0,null,n.createElement(f,{formikProps:t,errors:N,appLinks:x.W}),n.createElement(o.Z,{variant:"dark",disabled:!t.dirty,onClick:function(){return t.submitForm()}},"Save changes"))})))}}}]);
|
|
3
|
+
//# sourceMappingURL=3597-eaae787997-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/3597-eaae787997-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/domain-settings/domain-forms/RequestingAccessForm.tsx","file:///app/packages/projects/lite/src/apps/settings/views/requesting-access/RequestingAccessView.tsx"],"sourcesContent":["import React from 'react';\nimport { FormikProps } from 'formik';\n\nimport { DomainSettingsForm } from 'libs/shared/apps/domain-settings/domain-settings-form/DomainSettingsForm';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { AccessSettingAppLinks } from 'libs/shared/interfaces/domains/AccessSettingAppLinks';\nimport { DomainSettingsModelV2 } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainErrorResponse } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\n\ntype RequestingAccessFormProps = {\n formikProps: FormikProps<DomainSettingsModelV2>;\n errors: ApprovedDomainErrorResponse[];\n appLinks?: AccessSettingAppLinks;\n classname?: string;\n};\n\nexport function RequestingAccessForm(props: RequestingAccessFormProps) {\n return (\n <DomainSettingsForm\n view={AccessSettingsGroup.RequestingAccess}\n options={[ 'none', 'allowed', 'any' ]}\n errors={props.errors}\n appLinks={props.appLinks}\n classname={props.classname}\n onSelectValue={value =>\n props.formikProps.setFieldValue('requestingAccess.selectedOption', value)\n }\n addDomainField={() =>\n props.formikProps.setFieldValue('requestingAccess.domains', [\n ...props.formikProps.values.requestingAccess.domains,\n { domain: '' }\n ])\n }\n onChangeDomain={(domain, index) =>\n props.formikProps.setFieldValue(\n `requestingAccess.domains[${index}]`,\n domain\n )\n }\n removeDomainField={index => {\n const domains = props.formikProps.values.requestingAccess.domains;\n if (domains.length > 1) {\n props.formikProps.setFieldValue(\n 'requestingAccess.domains',\n domains.filter((_, i) => i !== index)\n );\n props.formikProps.setFieldError('requestingAccess.domains', undefined);\n } else {\n props.formikProps.setFieldValue(\n `requestingAccess.domains[0]`,\n { domain: '' }\n );\n props.formikProps.setFieldError(`requestingAccess.domains[0]`, undefined);\n }\n }}\n setFieldError={(error, code) =>\n props.formikProps.setFieldError(error, code)\n }\n selectedOption={props.formikProps.values.requestingAccess.selectedOption}\n domains={props.formikProps.values.requestingAccess.domains}\n />\n );\n}","import React from 'react';\nimport { Button } from 'react-bootstrap';\nimport { Form } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { RequestingAccessForm } from 'libs/shared/apps/domain-settings/domain-forms/RequestingAccessForm';\nimport { DomainSettingsTabs } from 'libs/shared/apps/domain-settings/domain-settings-tabs/DomainSettingsTabs';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessType } from 'libs/shared/enums/AccessType';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser } from 'libs/shared/interfaces';\nimport { ApprovedDomain, DomainSettingsModelV2 } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainErrorResponse } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\nimport { DomainSettingsFormHelper } from 'libs/shared/utils/DomainSettingsFormHelper';\nimport { DomainValidation } from 'libs/shared/utils/validation/DomainSettingsValidationSchema';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { SettingsLayout } from 'apps/settings/components/settings-layout/SettingsLayout';\nimport { AccessSettingsAppLinks } from 'apps/settings/constants/AccessSettingsAppLinks';\nimport { DomainRequests } from 'apps/settings/flight-requests/DomainRequests';\nimport { useDomainSettingsSwitch } from 'apps/settings/hooks/useDomainSettingsSwitch';\n\nconst namespace = 'settings.requestingAccess';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function RequestingAccessView() {\n useDomainSettingsSwitch();\n\n useSetPageMetadata({ title: getPhrase('pageTitle') });\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const { customerId } = currentUser.data;\n const domains = Flight.useBasicFetch<ApprovedDomain[]>(\n currentUser.data.customerId && DomainRequests.domains(customerId)\n );\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n const [ errors, setErrors ] = React.useState<ApprovedDomainErrorResponse[]>([]);\n\n async function onSaveChanges(\n values: DomainSettingsModelV2,\n onDone: (options?: FormSubmissionOptions<DomainSettingsModelV2>) => void\n ) {\n const formattedRequestData = DomainSettingsFormHelper.formatRequestData(\n domains.data,\n values.requestingAccess,\n AccessType.Request\n );\n \n try {\n await fetchAsync<any[]>(DomainRequests.updateDomains(customerId, formattedRequestData));\n alerts.success(getPhrase('success'));\n } catch (error) {\n if (error.responseJSON?.problems) {\n setErrors(error.responseJSON.problems);\n }\n alerts.error(getPhrase('error'));\n } finally {\n onDone();\n }\n }\n\n if (!domains.hasCompleted) {\n return <></>;\n }\n\n const initialValues = {\n requestingAccess: DomainSettingsFormHelper.getInitialJoinRequests(domains.data),\n teacherInvites: false,\n automaticAccess: DomainSettingsFormHelper.getInitialAccessBehaviour(domains.data)\n };\n\n return (\n <SettingsLayout\n heading={getPhrase('heading')}\n breadcrumbs={[getPhrase('breadcrumb')]}\n >\n <DomainSettingsTabs active='requesting-access' appLinks={AccessSettingsAppLinks}/>\n <p>\n <Text namespace={namespace} phrase='description' />\n \n <AppLink\n appLink={{\n application: AppChannels.USER_MANAGER,\n action: Actions.UserManager.ACCESS_REQUESTS\n }}\n className='text-info'\n >\n <Text namespace={namespace} phrase='manageRequests' />\n </AppLink>\n </p>\n <FormWrapper\n initialValues={initialValues}\n onSubmit={onSaveChanges}\n validate={values => DomainValidation({ values, alerts, setShowPopup: () => {} })}\n validateOnChange={false}\n validateOnBlur={false}\n >\n {formikProps => (\n <Form>\n <RequestingAccessForm\n formikProps={formikProps}\n errors={errors}\n appLinks={AccessSettingsAppLinks}\n />\n <Button\n variant='dark'\n disabled={!formikProps.dirty}\n onClick={() => formikProps.submitForm()}\n >\n Save changes\n </Button>\n </Form>\n )}\n </FormWrapper>\n </SettingsLayout>\n );\n}\n"],"names":["RequestingAccessForm","props","DomainSettingsForm","view","AccessSettingsGroup","options","errors","appLinks","classname","onSelectValue","value","formikProps","setFieldValue","addDomainField","values","requestingAccess","domains","domain","onChangeDomain","index","removeDomainField","length","filter","_","i","setFieldError","undefined","error","code","selectedOption","namespace","getPhrase","LanguageService","RequestingAccessView","useDomainSettingsSwitch","useSetPageMetadata","title","currentUser","UserRequests","customerId","data","DomainRequests","fetchAsync","alerts","setErrors","hasCompleted","initialValues","DomainSettingsFormHelper","teacherInvites","automaticAccess","SettingsLayout","heading","breadcrumbs","DomainSettingsTabs","active","AccessSettingsAppLinks","Text","phrase","AppLink","appLink","application","action","className","FormWrapper","onSubmit","onDone","formattedRequestData","AccessType","success","responseJSON","problems","validate","setShowPopup","validateOnChange","validateOnBlur","Button","variant","disabled","dirty","onClick","submitForm"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3836,121],{86877:(e,t,n)=>{n.d(t,{Z:()=>s});var o=n(23481);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function i(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,a(o.key),o)}}function a(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}function u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(u=function(){return!!e})()}function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function l(e,t){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},l(e,t)}var s=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=c(t),function(e,t){if(t&&("object"==r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,u()?Reflect.construct(t,n||[],c(e).constructor):t.apply(e,n))}(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)}(t,e),n=t,(a=[{key:"name",get:function(){return"FileTypeError"}},{key:"lang",get:function(){return"upload.fileType"}},{key:"dialogOptions",get:function(){return{title:o.T.getPhrase(this.lang,"heading"),text:o.T.getPhrase(this.lang,"body"),buttons:[{text:o.T.getPhrase(this.lang,"okay"),className:"btn btn-dark",success:!0},{text:o.T.getPhrase(this.lang,"close"),className:"btn btn-link",close:!0}]}}}])&&i(n.prototype,a),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,a}(n(47663).S)},90121:(e,t,n)=>{n.r(t),n.d(t,{BaseVideoUploadService:()=>fe,LearningResourceUploadService:()=>de,MixedMediaUploadService:()=>ye,SubtitleUploadService:()=>pe,UploadType:()=>ae});var o,r=n(43823),i=n(21161),a=n(46865),u=n(79976),c=n(37433),l=n(54149),s=n(71365),f=n(23481),p=n(70794),d=n(81886),y=n(49985),h=n(65858),g=n(29555);!function(e){e[e.Permanent=0]="Permanent",e[e.Temporary=1]="Temporary"}(o||(o={}));var b=n(86877),v=n(28046),m=n(52003),O=n(60735),w=n(53301),S=n.n(w),P=n(47663);function k(e){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k(e)}function E(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,T(o.key),o)}}function T(e){var t=function(e){if("object"!=k(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=k(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==k(t)?t:t+""}function U(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(U=function(){return!!e})()}function j(e){return j=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},j(e)}function _(e,t){return _=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},_(e,t)}var I="upload.internetConnectivityError",L=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=j(t),function(e,t){if(t&&("object"==k(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,U()?Reflect.construct(t,n||[],j(e).constructor):t.apply(e,n))}(this,t,[f.T.getPhrase(I,"title")])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_(e,t)}(t,e),n=t,(o=[{key:"name",get:function(){return"InternetConnectivityError"}},{key:"dialogOptions",get:function(){return{title:f.T.getPhrase(I,"heading"),text:f.T.getPhrase(I,"body"),buttons:[{text:f.T.getPhrase(I,"okay"),className:"btn btn-outline-dark",success:!0}]}}}])&&E(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(P.S),C=n(44331);function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function x(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,R(o.key),o)}}function R(e){var t=function(e){if("object"!=D(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=D(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==D(t)?t:t+""}function A(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(A=function(){return!!e})()}function F(e){return F=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},F(e)}function M(e,t){return M=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},M(e,t)}var V="upload.slowInternetError",N=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=F(t),function(e,t){if(t&&("object"==D(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,A()?Reflect.construct(t,n||[],F(e).constructor):t.apply(e,n))}(this,t,[f.T.getPhrase(V,"title")])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&M(e,t)}(t,e),n=t,(o=[{key:"name",get:function(){return"SlowInternetError"}},{key:"dialogOptions",get:function(){return{title:f.T.getPhrase(V,"heading"),text:f.T.getPhrase(V,"body"),buttons:[{text:f.T.getPhrase(V,"okay"),className:"btn btn-outline-dark",success:!0}]}}}])&&x(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(P.S);function z(e){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},z(e)}function B(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,Q(o.key),o)}}function Q(e){var t=function(e){if("object"!=z(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=z(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==z(t)?t:t+""}function q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(q=function(){return!!e})()}function Y(e){return Y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Y(e)}function W(e,t){return W=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},W(e,t)}var Z=[],K=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(n=function(e,t,n){return t=Y(t),function(e,t){if(t&&("object"==z(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,q()?Reflect.construct(t,n||[],Y(e).constructor):t.apply(e,n))}(this,t,[e])).slowInternetTimeout={},n.showSlowInternetTimeout=!0,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&W(e,t)}(t,e),n=t,o=[{key:"name",get:function(){return"DropzoneWrapper"}},{key:"initialize",value:function(e){var t=this.options.loggingEnabled,n=r.Radio.channel(e.channelName),o=this;this.dropzone=new(S())(document.createElement("div"),{url:function(e){return e[0].cvUpload.ingestUrl},chunking:this.options.chunkingEnabled,chunkSize:this.options.chunkSize,forceChunking:!0,autoProcessQueue:!0,maxFilesize:this.options.maxFileSize,acceptedFiles:this.options.acceptedFiles,paramName:"content",timeout:18e4,init:function(){var e=this;t&&(i.each(Z,(function(t){e.on(t,(function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];var r=n[0]instanceof File?n[0].name:n[0];console.info(t,r,n)}))})),this.on("uploadprogress",(function(e,t,r){var i=r/e.size*100;n.trigger("progress",o.getId(e),i,r)})),this.on("success",(function(e){var t=e.upload.chunks,o=i.last(t),r=o.xhr;r||(r=o.file.xhr);var a=JSON.parse(r.response);e.cvUpload.fileId=a.id,n.trigger(g.S.UPLOAD_SUCCESS,e,a)})),this.on("error",(function(e,t,n){n&&0===n.status?d.Q.Ry.throw(new L):"canceled"!==e.status&&d.Q.Ry.throw(new C.n(f.T.getPhrase("upload.services","uploadError",{fileName:e.name,message:t.message})))})),this.on("sending",(function(e){window.clearTimeout(o.slowInternetTimeout[e.path]),o.showSlowInternetTimeout&&(o.slowInternetTimeout[e.path]=window.setTimeout((function(){o.showSlowInternetTimeout&&d.Q.Ry.throw(new N),o.showSlowInternetTimeout=!1}),3e4))})),this.on("complete",(function(e){return window.clearTimeout(o.slowInternetTimeout[e.path])})))},params:function(e,t,n){if(n)return{chunk_index:n.index,upload_length:n.file.size}},addedfile:function(){},thumbnail:function(){},uploadprogress:function(){}})}},{key:"getId",value:function(e){return e.upload.uuid}},{key:"addFile",value:function(e){this.dropzone.addFile(e)}},{key:"removeFile",value:function(e){this.dropzone.removeFile(e)}},{key:"start",value:function(){this.dropzone.processQueue()}},{key:"destroy",value:function(){this.dropzone.destroy()}}],a=[{key:"isValidFile",value:function(e,t){return S().isValidFile(e,t)}}],o&&B(n.prototype,o),a&&B(n,a),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o,a}(d.Q.t6);function X(e){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(e)}function H(e,t,n){return(t=ee(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function J(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function G(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,ee(o.key),o)}}function $(e,t,n){return t&&G(e.prototype,t),n&&G(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function ee(e){var t=function(e){if("object"!=X(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=X(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==X(t)?t:t+""}function te(e,t,n){return t=oe(t),function(e,t){if(t&&("object"==X(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ne()?Reflect.construct(t,n||[],oe(e).constructor):t.apply(e,n))}function ne(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(ne=function(){return!!e})()}function oe(e){return oe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},oe(e)}function re(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ie(e,t)}function ie(e,t){return ie=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ie(e,t)}var ae,ue=function(e){function t(){var e;return J(this,t),(e=te(this,t,[{dataProvider:s.u.getInstance(c.R.Ajax),cache:s.u.getInstance(a.p.Fifo),alertService:s.u.getInstance(u.P.ALERT)}])).incrementingUploadId=0,e}return re(t,e),$(t,[{key:"name",get:function(){return"UploadDataService"}},{key:"channelName",get:function(){return"private:upload:data:service"}},{key:"requestUploads",value:function(e,t,n,o,r){var a=this,u=this.chain();i.each(t,(function(t){a.incrementingUploadId++,u.create({resource:e,eventPrefix:"request:upload:".concat(a.incrementingUploadId),data:a.getFileUploadRequest(t,n),callback:function(e){o(t,e)},errorHandler:a.alertService.error("Something went wrong while we were uploading your video. Please try again.")})})),u.func((function(){r()})).run()}},{key:"cancelUpload",value:function(e,t,n){this.create({resource:"/api/upload/cancel",eventPrefix:"cancel:upload",data:{uploadId:e,ingestUrl:t},callback:n})}},{key:"getFileUploadRequest",value:function(e,t){var n=e.name.split(".");return{name:n.join("."),extension:n.length>1?n.pop():"",fileSize:e.size,fileLifestyle:t}}},{key:"onDestroy",value:function(){s.u.releaseInstance(c.R.Ajax).releaseInstance(a.p.Fifo)}}])}(l.B);!function(e){e[e.Video=0]="Video",e[e.LearningResource=1]="LearningResource",e[e.Subtitle=2]="Subtitle",e[e.MixedMedia=3]="MixedMedia"}(ae||(ae={}));var ce=H(H(H(H({},ae.Video,v.l.VIDEO),ae.LearningResource,v.l.RESOURCES),ae.Subtitle,v.l.SUBTITLES),ae.MixedMedia,v.l.MIXED_MEDIA),le=H(H(H(H({},ae.Video,m.Q4.VIDEO_UPLOAD),ae.LearningResource,m.Q4.RESOURCE_UPLOAD),ae.Subtitle,m.Q4.SUBTITLE_UPLOAD),ae.MixedMedia,m.Q4.MIXED_MEDIA_UPLOAD),se=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return J(this,t),te(this,t,[Object.assign({uploadUrl:"/api/upload"},e)])}return re(t,e),$(t,[{key:"initialize",value:function(){this.uploadDataService=new ue,this.progressViewModel=p.r.get("upload:progress:".concat(this.uploadType)),this.bindListeners()}},{key:"channelName",get:function(){return le[this.uploadType]}},{key:"lang",get:function(){return"uploadShared.services"}},{key:"initUploader",value:function(e,t){if(!this.uploader){var n=4194304;e&&n<e&&(n=e),t&&n>t&&(n=t),this.uploader=new K({chunkingEnabled:!0,loggingEnabled:!0,chunkSize:n,maxFileSize:53687091200,acceptedFiles:this.getAcceptedFiles(),channelName:this.channelName})}}},{key:"bindListeners",value:function(){this.listenTo(this.channelName,"progress",this.onProgress),this.listenTo(this.channelName,g.S.UPLOAD_SUCCESS,this.onSuccess)}},{key:"onProgress",value:function(e,t,n){var o=this.collection.get(e);o&&(o.set({progress:t>100?100:t,totalUploaded:n}),this.setOverallProgress())}},{key:"isUploading",value:function(){return!!this.getCollection().length}},{key:"getCollection",value:function(){return this.collection||(this.collection=new d.Q.FE),this.collection}},{key:"setOverallProgress",value:function(){var e=this,t=0,n=0,o=this.getCollection();if(o.length){o.each((function(e){t+=e.get("totalUploaded")||0,n+=e.get("file").size||0}));var r=t/n*100,i=r>=100,a=function(){e.progressViewModel.set({progress:i?100:r,done:i})};i?window.setTimeout(a,2e3):a()}else this.progressViewModel.set({progress:0})}},{key:"isValidFile",value:function(e){return K.isValidFile(e,this.getAcceptedFiles())}},{key:"addFiles",value:function(e,t){var n=this;i.any(e,(function(e){return!n.isValidFile(e)}))?d.Q.Ry.throw(new b.Z(f.T.getPhrase(this.lang,"invalidFileType"))):this.requestUploads(e,t)}},{key:"requestUploads",value:function(e,t){var n=this,o=this.isUploading(),i=this.getCollection();this.uploadDataService.requestUploads(this.options.uploadUrl,e,this.fileLifestyle,(function(e,t){"minChunkSize"in t||"maxChunkSize"in t?n.initUploader(1024*t.minChunkSize,1024*t.maxChunkSize):n.initUploader(t.minChunkLength,t.maxChunkLength),e.cvUpload={uploadId:t.uploadId,ingestUrl:t.ingestUrl},n.uploader.addFile(e);var o=e.name;n.uploadType===ae.Video&&(o=o.replace(/\.[^/.]+$/,"")),i.add(Object.assign({id:n.uploader.getId(e),file:e,name:o},n.getAdditionalFileInfo(e,t)),{at:i.length-1})}),(function(){t&&y.k.logUserAction({uploadCount:e.length},t),r.Radio.channel(n.channelName).trigger(g.S.FILES_ADDED,e,o)}))}},{key:"addFile",value:function(e,t){this.addFiles([e],t)}},{key:"cancelUpload",value:function(e){var t=this,n=this.getCollection(),o=n.get(e);if(o){var i=o.get("file");this.uploader.removeFile(i),n.remove(o),this.uploadDataService.cancelUpload(i.cvUpload.uploadId,i.cvUpload.ingestUrl,(function(){y.k.logUserAction(o.toJSON(),{entity:h.py.Video,actionType:h.Vw.Upload,workflowPhase:h.eu.Discard,descriptor:h.yh.Single,location:h.LZ.MyUploads}),r.Radio.channel(t.channelName).trigger(g.S.UPLOAD_CANCELLED)})),this.setOverallProgress()}}},{key:"onSuccess",value:function(e,t){var n=this.uploader.getId(e),o=this.getCollection().get(n);o.set("fileInfo",t),y.k.logUserAction({id:e.cvUpload.uploadId},{entity:h.py.Video,actionType:h.Vw.Upload,workflowPhase:h.eu.Complete,descriptor:h.yh.Single,location:h.LZ.VideoUpload}),r.Radio.channel(this.channelName).trigger(g.S.UPLOAD_COMPLETE,o)}},{key:"cancelAllUploads",value:function(){var e=this,t=this.getCollection().map((function(e){return e.get("id")}));i.each(t,(function(t){return e.cancelUpload(t)}))}},{key:"getUpload",value:function(e){var t=this.uploader.getId(e);return this.getCollection().get(t)}},{key:"getAcceptedFiles",value:function(){return ce[this.uploadType]}},{key:"getAdditionalFileInfo",value:function(e,t){return{}}}])}(d.Q.t6),fe=function(e){function t(){return J(this,t),te(this,t,arguments)}return re(t,e),$(t,[{key:"uploadType",get:function(){return ae.Video}},{key:"name",get:function(){return O.D.VideoUpload}},{key:"fileLifestyle",get:function(){return o.Temporary}}])}(se),pe=function(e){function t(){return J(this,t),te(this,t,arguments)}return re(t,e),$(t,[{key:"uploadType",get:function(){return ae.Subtitle}},{key:"name",get:function(){return O.D.SubtitleUpload}},{key:"fileLifestyle",get:function(){return o.Permanent}}])}(se),de=function(e){function t(){return J(this,t),te(this,t,arguments)}return re(t,e),$(t,[{key:"uploadType",get:function(){return ae.LearningResource}},{key:"name",get:function(){return O.D.ResourceUpload}},{key:"fileLifestyle",get:function(){return o.Permanent}}])}(se),ye=function(e){function t(){return J(this,t),te(this,t,arguments)}return re(t,e),$(t,[{key:"uploadType",get:function(){return ae.MixedMedia}},{key:"name",get:function(){return O.D.MixedMediaUpload}},{key:"fileLifestyle",get:function(){return o.Temporary}}])}(se)},28046:(e,t,n)=>{n.d(t,{l:()=>d,v:()=>y});var o=n(21161),r=["pdf"],i=["doc","docx","dotx","dot","rtf","docm","odt"],a=["csv","txt"],u=["xls","xlt","xlsx"],c=["jpg","tif","png","bmp","gif","jpeg"],l="video/*",s=["zip","rar"],f=["ppt","pot","pps","pptx"],p=["srt"],d={IMAGES:".".concat(c.join(",.")),VIDEO:l,MIXED_MEDIA:".".concat(c.join(",."),",").concat(l),RESOURCES:".".concat([].concat(i,u,f,r,a,c,s).join(",.")),SUBTITLES:".".concat(p.join(",."))},y={getResourceType:function(e){var t=e.toLowerCase();return o.contains(i,t)?"document":o.contains(u,t)?"excel":o.contains(f,t)?"powerpoint":o.contains(r,t)?"pdf":o.contains(a,t)?"text":o.contains(c,t)?"image":o.contains(s,t)?"archive":o.contains(p,t)?"subtitle":""}}},3836:(e,t,n)=>{n.r(t),n.d(t,{VideoUploadService:()=>j});var o,r=n(43823),i=n(79976),a=n(60139),u=n(71365),c=n(23481),l=n(29555),s=n(90121);!function(e){e[e.Upload=1]="Upload",e[e.Tv=2]="Tv"}(o||(o={}));var f,p,d=n(65728);!function(e){e[e.ExternalOnly=0]="ExternalOnly",e[e.EmbeddedOnly=1]="EmbeddedOnly"}(f||(f={})),function(e){e[e.IosApp=1]="IosApp",e[e.AndroidApp=2]="AndroidApp",e[e.WinApp=3]="WinApp",e[e.LibraryPublisher=4]="LibraryPublisher",e[e.ExchangeClient=5]="ExchangeClient",e[e.Online=6]="Online",e[e.Tinder=7]="Tinder",e[e.Cloud247=8]="Cloud247",e[e.Livestream=9]="Livestream",e[e.Curator=10]="Curator",e[e.LibraryEditor=11]="LibraryEditor",e[e.Lite=12]="Lite"}(p||(p={}));var y=n(75795),h=n(14070),g=n(97291),b=n(57322),v=n(16800);function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function O(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,w(o.key),o)}}function w(e){var t=function(e){if("object"!=m(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=m(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==m(t)?t:t+""}function S(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(S=function(){return!!e})()}function P(e,t,n,o){var r=k(E(1&o?e.prototype:e),t,n);return 2&o&&"function"==typeof r?function(e){return r.apply(n,e)}:r}function k(){return k="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var o=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=E(e)););return e}(e,t);if(o){var r=Object.getOwnPropertyDescriptor(o,t);return r.get?r.get.call(arguments.length<3?e:n):r.value}},k.apply(null,arguments)}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}function T(e,t){return T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},T(e,t)}var U=c.T.encloseNamespace("upload.services"),j=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=E(t),function(e,t){if(t&&("object"==m(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,S()?Reflect.construct(t,n||[],E(e).constructor):t.apply(e,n))}(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&T(e,t)}(t,e),n=t,(c=[{key:"initialize",value:function(){P(t,"initialize",this,3)([]),this.videoUploadDataService=u.u.getInstance(b.O.VideoUpload,this),this.pendingItemsService=u.u.getInstance(b.K.PendingItems,this),this.userDataService=u.u.getInstance(b.O.FlightUser,this),this.alertService=u.u.getInstance(i.P.ALERT,this),this.listenTo(this.channelName,l.S.FILES_ADDED,this.onUploadStart),this.listenTo(this.channelName,l.S.UPLOAD_COMPLETE,this.unlockNav),this.listenTo(this.channelName,l.S.UPLOAD_CANCELLED,this.unlockNav)}},{key:"onUploadStart",value:function(e){var t={type:a.NK.Success,heading:U("startUploadAlertHeading"),message:1===e.length?U("startUploadSingleAlertBody",{videoName:e[0].name}):U("startUploadMultipleAlertBody",{uploadCount:e.length})},n=y.O.getCurrentContext().appLink;!!v.Y.getMyVideosAppLinks().find((function(e){return n.application===e.application&&n.action===e.action}))||(t.appLinkText=U("startUploadAlertAppLinkText",{smartCount:e.length}),t.appLink={application:g.O.MY_VIDEOS,action:h.e.MyVideos.MY_VIDEOS},t.appLinkClassName="info-link"),this.alertService.createAlert(t)}},{key:"unlockNav",value:function(){this.getCollection().some((function(e){return e.get("progress")<100}))||r.Radio.channel(this.channelName).trigger(l.S.UNLOCK_NAV)}},{key:"completeUpload",value:function(e,t){var n=this;e.set("sending",!0),this.userDataService.getCurrentUser((function(r){n.userDataService.getCustomerSettings(r,(function(i){n.userDataService.getWorkspace((function(a){n.videoUploadDataService.completeVideoUpload({id:e.get("id"),userId:r.id,customerId:r.customerId,libraryId:a.id,categoryId:e.get("categoryId")||null,pendingProcessOrigin:o.Upload,origin:p.Lite,fileId:t.id,subtitleOptions:{subtitleExtractOptions:f.EmbeddedOnly},video:{name:e.get("name"),description:e.get("description")},autoCaption:!!i[d.E.AutoCaptioning].value},(function(t){e.set("pendingProcessId",t.pendingProcessId),n.pendingItemsService.forceFetchPendingItems({resetTimeout:!0})}))}))}))}))}},{key:"onSuccess",value:function(e,n){var o=this;P(t,"onSuccess",this,3)([e,n]);var r=this.getUpload(e);r.get("editingMetadata")?this.listenToOnce(r,"change:editingMetadata",(function(){o.completeUpload(r,n)})):this.completeUpload(r,n)}},{key:"getAdditionalFileInfo",value:function(e,t){var n=y.O.getCurrentRoute().appLink;return n.application!==g.O.MY_VIDEOS||n.action!==h.e.MyVideos.MY_VIDEOS_FOLDER?{}:{categoryId:+n.args[0]}}}])&&O(n.prototype,c),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,c}(s.BaseVideoUploadService)}}]);
|
|
2
|
+
//# sourceMappingURL=3836-425334ab13-lite.chunk.js.map
|