@clickview/lite 0.75.0-rc.10 → 0.75.0-rc.11
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/{7103-lite-fef3024f61.chunk.css → 2878-lite-d8e0bf912a.chunk.css} +1 -1
- package/dist/css/{1243-lite-13eda8f6a0.chunk.css → 3615-lite-240342ff8e.chunk.css} +1 -1
- package/dist/css/{1867-lite-8baa8af02b.chunk.css → 4630-lite-0157b1c437.chunk.css} +1 -1
- package/dist/css/{4203-lite-9ffab89741.chunk.css → 8362-lite-10810fdef2.chunk.css} +1 -1
- package/dist/languages/en.json +1 -1
- package/dist/scripts/{104-7ee25cbbb8-lite.chunk.js → 104-da7394bcfa-lite.chunk.js} +2 -2
- package/dist/scripts/104-da7394bcfa-lite.chunk.js.map +1 -0
- package/dist/scripts/{1192-6ed5c80d8a-lite.chunk.js → 1192-bb27568f21-lite.chunk.js} +2 -2
- package/dist/scripts/1192-bb27568f21-lite.chunk.js.map +1 -0
- package/dist/scripts/1199-cf2cb206b5-lite.chunk.js +2 -0
- package/dist/scripts/1199-cf2cb206b5-lite.chunk.js.map +1 -0
- package/dist/scripts/1502-9836df10cd-lite.chunk.js +2 -0
- package/dist/scripts/1502-9836df10cd-lite.chunk.js.map +1 -0
- package/dist/scripts/{1610-9ccecc428a-lite.chunk.js → 1610-0edaa98d40-lite.chunk.js} +2 -2
- package/dist/scripts/{1610-9ccecc428a-lite.chunk.js.map → 1610-0edaa98d40-lite.chunk.js.map} +1 -1
- package/dist/scripts/{7103-3b181ec69b-lite.chunk.js → 2878-487c4a8e1a-lite.chunk.js} +2 -2
- package/dist/scripts/2878-487c4a8e1a-lite.chunk.js.map +1 -0
- package/dist/scripts/{1243-72f3d31787-lite.chunk.js → 3615-a0da361aa5-lite.chunk.js} +2 -2
- package/dist/scripts/3615-a0da361aa5-lite.chunk.js.map +1 -0
- package/dist/scripts/4125-6d34b8b8f2-lite.chunk.js +2 -0
- package/dist/scripts/4125-6d34b8b8f2-lite.chunk.js.map +1 -0
- package/dist/scripts/4598-e25e9e03d6-lite.chunk.js +2 -0
- package/dist/scripts/4598-e25e9e03d6-lite.chunk.js.map +1 -0
- package/dist/scripts/{1867-0823a787c3-lite.chunk.js → 4630-4a35ecbf2b-lite.chunk.js} +2 -2
- package/dist/scripts/4630-4a35ecbf2b-lite.chunk.js.map +1 -0
- package/dist/scripts/6475-f019242ec2-lite.chunk.js +2 -0
- package/dist/scripts/6475-f019242ec2-lite.chunk.js.map +1 -0
- package/dist/scripts/6756-3c7f911759-lite.chunk.js +3 -0
- package/dist/scripts/6756-3c7f911759-lite.chunk.js.map +1 -0
- package/dist/scripts/{4203-83f90f92f3-lite.chunk.js → 8362-ed5df8f4fc-lite.chunk.js} +3 -3
- package/dist/scripts/{4203-83f90f92f3-lite.chunk.js.map → 8362-ed5df8f4fc-lite.chunk.js.map} +1 -1
- package/dist/scripts/8856-08061bbec5-lite.chunk.js +2 -0
- package/dist/scripts/8856-08061bbec5-lite.chunk.js.map +1 -0
- package/dist/scripts/{9042-544d97a05d-lite.chunk.js → 9042-7c30ffd4f0-lite.chunk.js} +2 -2
- package/dist/scripts/9042-7c30ffd4f0-lite.chunk.js.map +1 -0
- package/dist/scripts/{bundle-3fc0b29cd5.min.js → bundle-941a464ef0.min.js} +3 -3
- package/dist/scripts/{bundle-3fc0b29cd5.min.js.map → bundle-941a464ef0.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/104-7ee25cbbb8-lite.chunk.js.map +0 -1
- package/dist/scripts/1074-ac4057b68e-lite.chunk.js +0 -2
- package/dist/scripts/1074-ac4057b68e-lite.chunk.js.map +0 -1
- package/dist/scripts/1192-6ed5c80d8a-lite.chunk.js.map +0 -1
- package/dist/scripts/1199-dc45a88be8-lite.chunk.js +0 -2
- package/dist/scripts/1199-dc45a88be8-lite.chunk.js.map +0 -1
- package/dist/scripts/1243-72f3d31787-lite.chunk.js.map +0 -1
- package/dist/scripts/1867-0823a787c3-lite.chunk.js.map +0 -1
- package/dist/scripts/4598-f5120153c2-lite.chunk.js +0 -2
- package/dist/scripts/4598-f5120153c2-lite.chunk.js.map +0 -1
- package/dist/scripts/6475-502e390010-lite.chunk.js +0 -2
- package/dist/scripts/6475-502e390010-lite.chunk.js.map +0 -1
- package/dist/scripts/6756-a71d33bfcf-lite.chunk.js +0 -3
- package/dist/scripts/6756-a71d33bfcf-lite.chunk.js.map +0 -1
- package/dist/scripts/7103-3b181ec69b-lite.chunk.js.map +0 -1
- package/dist/scripts/8856-361fe76b7a-lite.chunk.js +0 -2
- package/dist/scripts/8856-361fe76b7a-lite.chunk.js.map +0 -1
- package/dist/scripts/9003-36ab592cc5-lite.chunk.js +0 -2
- package/dist/scripts/9003-36ab592cc5-lite.chunk.js.map +0 -1
- package/dist/scripts/9042-544d97a05d-lite.chunk.js.map +0 -1
- /package/dist/scripts/{4203-83f90f92f3-lite.chunk.js.LICENSE.txt → 6756-3c7f911759-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6756-a71d33bfcf-lite.chunk.js.LICENSE.txt → 8362-ed5df8f4fc-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-3fc0b29cd5.min.js.LICENSE.txt → bundle-941a464ef0.min.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8856],{41196:(e,t,a)=>{a.d(t,{W:()=>o});var r=a(20354),n=a(93479),i=a(20768),s=a(31949);function o(e,t,a){var o,l=r.a.useBasicFetch(s.N.currentUser()),c=r.a.useBasicFetch(!!e&&i.b.interactiveMetadata(e)),u=r.a.useBasicFetch(!!(null===(o=c.data)||void 0===o?void 0:o.interactiveId)&&i.b.interactive(c.data.interactiveId)),d=!!l.data&&!!u.data;return r.a.useBasicFetch(d&&n.I.interactiveResultSet(c.data.interactiveId,c.data.id,l.data,t,a))}},18488:(e,t,a)=>{a.d(t,{o:()=>s});var r=a(99940),n=a(97395),i={namespace:"share-v2"},s={createShare:function(e){return{url:"{gateway}/v2/shares",key:"create:share-v2",type:r.k.POST,data:e,normalizeOptions:i,invalidationKeys:["sent:share-v2","get:share-v2:shares:object"]}},updateShare:function(e,t){return{url:"{gateway}/v2/shares/".concat(e),key:"update:share-v2",type:r.k.PUT,data:t,normalizeOptions:i,invalidationKeys:["share-v2:permanent-link:object","share-v2:".concat(e),"get:share-v2:shares:object"]}},deleteShare:function(e){return{type:r.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),"get:share-v2:shares:object"]}},getShare:function(e){return{url:"{gateway}/v2/shares/".concat(e),key:"share-v2:".concat(e),bootstrapName:"share-v2:".concat(e),type:r.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:n._.urlBuilder("{gateway}/v2/shares/sent",e),key:"sent:share-v2:".concat(t),type:r.k.GET,normalize:!1}},getShareLink:function(e){return{url:n._.urlBuilder("{gateway}/v2/shares/permanent-link",{objectId:e}),key:"share-v2:permanent-link:object:".concat(e),normalizeOptions:i}},createShareLink:function(e){return{type:r.k.POST,url:n._.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","get:share-v2:shares:object:".concat(e.objectId)],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:r.k.GET,normalizeOptions:i}},createSharePincode:function(e){return{url:"{gateway}/v2/shares/".concat(e,"/pincode"),key:"create:share-v2:".concat(e,":pincode"),type:r.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)}}}},94644:(e,t,a)=>{a.d(t,{r:()=>u});var r=a(50242),n=a(81886),i=a(67058),s=a(14553),o=a(49267),l=a(49075),c={notFound:i.d,forbidden:{rating:s.q,yearLevel:s.q,region:o.a,privacy:s.q},badRequest:l._,internalServerError:l._};function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var i;i="number"==typeof e?e:e.status;var s=Object.assign(Object.assign({},c),t);i&&n.Q.Ry.isStatusCodeError(i)&&(i!==r.o.InternalServer?i!==r.o.NotFound?i!==r.o.Forbidden?a.badRequest||n.Q.Ry.throw(new s.badRequest):a.forbidden||n.Q.Ry.throw(new s.forbidden.privacy):a.notFound||n.Q.Ry.throw(new s.notFound):a.internalServerError||n.Q.Ry.throw(new l._))}}},39902:(e,t,a)=>{a.d(t,{FN:()=>v,SW:()=>f,fh:()=>h});var r=a(32735),n=a(20354),i=a(75896);function s(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(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 o(e,t){if(e){if("string"==typeof e)return l(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}function c(e){return c="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},c(e)}function u(e,t,a){return(t=function(e){var t=function(e){if("object"!=c(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=c(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==c(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var d=function(e,t){var a={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(a[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(a[r[n]]=e[r[n]])}return a},m=50;function h(e,t){var a=i.m.chunk(e,m).map(function(e){return t(i.m.uniq(e))}),r=n.a.useBasicFetchAll(a),s=i.m.flatten(r.data),o=r.data.length?s.reduce(function(e,t){return Object.assign(Object.assign({},e),u({},t.id,t))},{}):null;return{itemsArr:s,items:o,isFetching:r.isFetching,hasCompleted:r.hasCompleted}}function v(e,t,a){var n=null!=a?a:function(e){return"object"===c(e)?e.id:e},i=f({getRequest:t,_getKey:a}),s=i.fetchItems,o=d(i,["fetchItems"]);return r.useEffect(function(){(null==e?void 0:e.length)&&s(e)},[null==e?void 0:e.map(n).join(",")]),o}function f(e){var t,a,l,d,h,v=null!==(t=e._getKey)&&void 0!==t?t:function(e){return"object"===c(e)?e.id:e},f=r.useRef(new Set),g=(d=r.useState([]),h=2,function(e){if(Array.isArray(e))return e}(d)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var r,n,i,s,o=[],l=!0,c=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(r=i.call(a)).done)&&(o.push(r.value),o.length!==t);l=!0);}catch(e){c=!0,n=e}finally{try{if(!l&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(c)throw n}}return o}}(d,h)||o(d,h)||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.")}()),p=g[0],y=g[1],b=n.a.useBasicFetchAll(p),I=i.m.flatten(b.data),E=b.data.length?I.reduce(function(e,t){return Object.assign(Object.assign({},e),u({},v(t),t))},{}):null;return{hasFirstRequestCompleted:!!(null===(l=null===(a=b.responses)||void 0===a?void 0:a[0])||void 0===l?void 0:l.hasCompleted),itemsArr:I,items:E,isFetching:b.isFetching,fetchItems:function(t){if(null==t?void 0:t.length){var a=[];t.forEach(function(e){var t=v(e);f.current.has(t)||(a.push(e),f.current.add(t))}),a.length&&y(function(t){return[].concat(s(t),s(i.m.chunk(a,m).map(e.getRequest)))})}}}}},91286:(e,t,a)=>{a.d(t,{v:()=>s});var r=a(32735),n=a(94644);function i(e){return e.map(function(e){return e.statusCode}).join(":")}function s(e,t,a){var s=Array.isArray(e)?e:[e];(0,r.useEffect)(function(){s.forEach(function(e){(0,n.r)(e.statusCode,t,a)})},[i(s),t,a])}},78057:(e,t,a)=>{a.d(t,{R:()=>C});var r=a(32735),n=a(75896),i=a(23481),s=a(97958),o=i.T.encloseNamespace("shared.studentResultsTable");function l(e){return"not_completed"===e.filter?r.createElement(s.u,{className:"bg-white rounded-bottom py-5"},r.createElement(s.u.Image,{src:e.notCompletedImageUrl,size:"small"}),r.createElement(s.u.Info,null,o("notCompletedDescription"))):"marking_required"===e.filter?r.createElement(s.u,{className:"bg-white rounded-bottom py-5"},r.createElement(s.u.Image,{src:e.markingRequiredImageUrl,size:"small"}),r.createElement(s.u.Info,null,o("markingRequiredDescription"))):"helping_hand"===e.filter?r.createElement(s.u,{className:"bg-white rounded-bottom py-5"},r.createElement(s.u.Image,{src:e.helpingHandImageUrl,size:"small"}),r.createElement(s.u.Info,null,o("helpingHandDescription"))):r.createElement(s.u,{className:"bg-white rounded-bottom py-5"},r.createElement(s.u.Image,{src:e.emptyStateImageUrl,size:"small"}),r.createElement(s.u.Heading,null,o("emptyStateHeading")),r.createElement(s.u.Info,null,o("emptyStateDescription")))}var c=a(83345),u="shared.studentResultsTable";function d(e){function t(t){var a=e.filter===t?null:t;e.setFilter(a)}function a(t){return"btn btn-outline-dark ".concat(function(t){return e.filter===t}(t)?"bg-dark text-white":"")}return r.createElement("div",{className:"d-flex align-items-center mb-3"},r.createElement("p",{className:"h6 mb-0"},r.createElement(c.x,{namespace:u,phrase:"filters"})),r.createElement("div",{className:"d-flex border-start ps-3 ms-3 gap-2"},r.createElement("button",{className:a("not_completed"),onClick:function(){return t("not_completed")}},r.createElement(c.x,{namespace:u,phrase:"notCompletedFilter"})),r.createElement("button",{className:a("marking_required"),onClick:function(){return t("marking_required")}},r.createElement(c.x,{namespace:u,phrase:"markingRequiredFilter"})),r.createElement("button",{className:a("helping_hand"),onClick:function(){return t("helping_hand")}},r.createElement(c.x,{namespace:u,phrase:"helpingHandFilter"}))))}var m=a(97364),h=a(6748),v=a(84806),f=a(19912);function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var r,n,i,s,o=[],l=!0,c=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(r=i.call(a)).done)&&(o.push(r.value),o.length!==t);l=!0);}catch(e){c=!0,n=e}finally{try{if(!l&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(c)throw n}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return p(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?p(e,t):void 0}}(e,t)||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.")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}var y={table:"".concat(f.Z.fixedTable," bg-white rounded-start border border-end-0"),header:"".concat(f.Z.header," border-bottom"),headerRow:"h-100",headerCell:"d-flex align-items-center justify-content-start",row:f.Z.row},b={header:"".concat(f.Z.header," fw-bold"),headerRow:"h-100",headerCell:"".concat(f.Z.interactionHeaderCellOuter," bg-white border-bottom"),row:"".concat(f.Z.row," ").concat(f.Z.resultsRow),cell:f.Z.resultsCellOuter};function I(e){var t,a=g(r.useState((0,m.P)(e.sortBy,"score")),2),i=a[0],s=a[1],o=g(r.useState(e.filterBy),2),c=o[0],u=o[1],p=r.useRef(null),I=(0,v.R7)(e.results,e.anonymiseUsers,null===(t=e.config)||void 0===t?void 0:t.imageCdnUrl),E=(0,v.lE)(e.interactive,e.interactiveMetadata,e.results,function(e){(0,v.bB)(p.current,e)},e.refreshTable),S=(0,v.Fx)(e.interactive,e.results,e.refreshTable,e.anonymiseUsers,n.m.first(i),c);function w(e){(0,v.l8)(p.current,e)}return r.createElement("div",null,!!e.results.students.length&&r.createElement(d,{filter:c,setFilter:u}),!S.length&&r.createElement(l,{emptyStateImageUrl:e.emptyStateImageUrl,helpingHandImageUrl:e.helpingHandImageUrl,markingRequiredImageUrl:e.markingRequiredImageUrl,notCompletedImageUrl:e.notCompletedImageUrl,filter:c}),!!S.length&&r.createElement("div",{ref:p,className:"d-flex".concat(S.length?" ".concat(f.Z.hasResults):"")},r.createElement(h.i,{columns:I,data:S,theme:y,onSelectRow:function(t){var a=t.original;e.viewStudentResults(a.user,e.interactiveMetadata.id)},onRowMouseOver:function(e){return w(e.index)},onRowMouseLeave:function(){return w()},enableSort:!0,manualSort:!0,onSort:s,initialSortBy:i}),r.createElement(h.i,{columns:E,data:S,theme:b,enableSlider:!0,scrollIncrement:8*v.Ju,onSelectCell:function(t){e.viewStudentResults(t.row.original.user,e.interactiveMetadata.id,t.column.id)},scrollContainerClassName:"rounded-end border border-start-0 border"})))}var E=a(99742);const S={partialInsights:"qSeTe"};function w(){return r.createElement("div",null,r.createElement("div",{className:"d-flex align-items-center mb-3"},r.createElement("p",{className:"h6 px-4 mb-0 me-4 partial-loading-background"}," "),r.createElement("div",{className:"row g-2 w-50"},r.createElement("div",{className:"col-3"},r.createElement("div",{className:"p-2 rounded-1 partial-loading-background"}," ")),r.createElement("div",{className:"col-3"},r.createElement("div",{className:"p-2 rounded-1 partial-loading-background"}," ")),r.createElement("div",{className:"col-3"},r.createElement("div",{className:"p-2 rounded-1 partial-loading-background"}," ")))),r.createElement("div",{className:"row g-3 mb-5"},r.createElement("div",{className:"col-12"},r.createElement("div",{className:"".concat(S.partialInsights," rounded partial-loading-background")}))))}function C(e){return r.createElement(r.Fragment,null,!e.hasDataLoaded&&r.createElement(w,null),e.hasDataLoaded&&r.createElement(I,{interactive:e.interactive,interactiveMetadata:e.interactiveMetadata,results:e.results,refreshTable:e.isFetching,viewStudentResults:e.viewStudentResults,emptyStateImageUrl:E.W.Insights.NO_RESPONSES,sortBy:e.sortBy,filterBy:e.filterBy,anonymiseUsers:e.anonymiseUsers,notCompletedImageUrl:E.W.Insights.JIGSAW,markingRequiredImageUrl:E.W.Insights.CLIPBOARD,helpingHandImageUrl:E.W.Insights.SPEECH_BUBBLE_HEART,config:e.config}))}},9447:(e,t,a)=>{a.d(t,{Y:()=>s});var r=a(20354),n=a(30439);function i(e){return i="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},i(e)}function s(e){var t,a=r.a.useBasicFetch(n.o.getAnonSessions(e));return{items:(null===(t=a.data)||void 0===t?void 0:t.reduce(function(e,t){return Object.assign(Object.assign({},e),(a={},r=t.sessionId,n={sessionId:(s=t).sessionId,name:s.sessionName},(r=function(e){var t=function(e){if("object"!=i(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=i(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:t+""}(r))in a?Object.defineProperty(a,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):a[r]=n,a));var a,r,n,s},{}))||{},hasCompleted:a.hasCompleted}}},5780:(e,t,a)=>{a.d(t,{p:()=>c});var r=a(20354),n=a(2510),i=a(18488),s=a(4594),o=a(3010),l=a(88630);function c(e){var t,a,c,u,d=r.a.useGetFetch(),m=r.a.useBasicFetch(i.o.getShare(e)),h=(null===(t=m.data)||void 0===t?void 0:t.type)===n.y.Classroom&&(null===(u=null===(c=null===(a=m.data)||void 0===a?void 0:a.recipients)||void 0===c?void 0:c.find(function(e){return e.recipientTypeId===s.E.Classroom}))||void 0===u?void 0:u.recipientId),v=function(e){return l.F.getClassroomStudents(h,e)},f=(0,o.i)(h&&v,function(e){return d(v(e))});return Object.assign(Object.assign({},f),{hasCompleted:!h||f.hasCompleted})}},52389:(e,t,a)=>{a.d(t,{_:()=>d});var r=a(20354),n=a(41196),i=a(18488),s=a(91286),o=a(9447),l=a(5780);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}var u=[{id:"0",attempts:[{id:"0",answeredAt:0,answers:[]}]}];function d(e){var t,a,d=r.a.useBasicFetch(i.o.getShare(e)),m=(0,n.W)(null===(t=d.data)||void 0===t?void 0:t.objectId,null,e),h=(0,o.Y)(e),v=(0,l.p)(e);(0,s.v)(m);var f=m.hasCompleted&&h.hasCompleted&&v.hasCompleted;if(!f)return{data:null,hasCompleted:!1};var g,p=new Set,y=m.data.students.map(function(e){return e.user?(p.add(e.user.id),e):Object.assign(Object.assign({},e),{user:h.items[e.sessionId]||{sessionId:e.sessionId}})});return(null===(a=null==v?void 0:v.items)||void 0===a?void 0:a.length)&&y.push.apply(y,function(e){if(Array.isArray(e))return c(e)}(g=v.items.filter(function(e){return!p.has(e.id)}).map(function(e){return{user:e,results:u}}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(g)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?c(e,t):void 0}}(g)||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.")}()),{hasCompleted:f,data:Object.assign(Object.assign({},m.data),{students:y})}}},50808:(e,t,a)=>{a.r(t),a.d(t,{BaseInsightsView:()=>ke});var r=a(32735),n=a(81886),i=a(20354),s=a(18488),o=a(86099),l=a(4594),c=a(23481),u=a(2948),d=a(93479),m=a(21789),h=a(60051),v=a(16714),f=a(39151),g=a(1666),p=a(47812),y=a(31949),b=a(91286),I=a(93322),E=a(22902),S=a(79612),w=a(31908),C=a(86702),j=a(88630),A=a(63619),F=a(17132),k=function(e,t){return{url:"{gateway}/v2/analytics/streams/shares/".concat(e,"/aggregation/").concat(t),key:"video:views:v2:share:aggregation:".concat(e,":").concat(t),normalize:!1}},B=function(e){return{url:"{gateway}/v2/analytics/streams/shares/".concat(e,"/heat-map"),key:"video:views:v2:share:heatmap:".concat(e),normalize:!1}},N=function(e){return{url:"{gateway}/v2/analytics/streams/shares/".concat(e,"/aggregation/heat-map"),key:"video:views:v2:share:heatmap:aggregation:".concat(e),normalize:!1}},O=a(39902),U=a(9447);function R(e){var t,a,r=i.a.useBasicFetch(B(e)),n=(0,U.Y)(e),s=(null===(t=r.data)||void 0===t?void 0:t.map(function(e){return e.userId}).filter(function(e){return!!e}))||[],o=(0,O.fh)(s,y.N.getById),l=Object.assign(Object.assign({},n.items),o.items),c=null===(a=r.data)||void 0===a?void 0:a.map(function(e){var t=l[e.userId||e.sessionId]||{sessionId:e.sessionId};return Object.assign(Object.assign({},t),{percentage:e.engagementRate})});return{engagement:r.data,users:c,hasCompleted:r.hasCompleted&&n.hasCompleted&&(!(null==s?void 0:s.length)||o.hasCompleted)}}var T=a(5780),L=a(10447);function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}var _=c.T.encloseNamespace("shared.insightsHeatmap");function M(e){var t,a,n,o,c,B,O,U=(B=(0,u.D)(C.y.ANONYMISE_USERS),O=1,function(e){if(Array.isArray(e))return e}(B)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var r,n,i,s,o=[],l=!0,c=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(r=i.call(a)).done)&&(o.push(r.value),o.length!==t);l=!0);}catch(e){c=!0,n=e}finally{try{if(!l&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(c)throw n}}return o}}(B,O)||function(e,t){if(e){if("string"==typeof e)return x(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?x(e,t):void 0}}(B,O)||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.")}())[0];(0,I.F)();var M=(0,E.T)().hasPermissions,q=i.a.useBasicFetch(s.o.getShare(e.shareId)),P=m.x.getClassroomIdFromShare(q.data),D=i.a.useBasicFetch(P&&j.F.getClassroom(P)),W=(0,T.p)(e.shareId),z=q.data&&w.M.getVideoRequest(q.data.objectId,q.data.objectTypeId),V=i.a.useBasicFetch(z),G=i.a.useBasicFetch(f.L.config()),H=i.a.useBasicFetch(y.N.currentUser()),$=i.a.useBasicFetch(H.data&&g.h.yearGroups(H.data.customerId)),Z=w.M.isInteractive(V.data)&&d.I.pendingReviews({interactives:[V.data].map(function(t){return{interactiveId:t.interactiveId,metadataId:t.id,shareId:e.shareId}}),filters:{currentCustomerId:H.data.customerId,currentUserId:H.data.id}}),Q=(null===(a=null===(t=i.a.useBasicFetch(Z).data)||void 0===t?void 0:t[0])||void 0===a?void 0:a.pendingReviewCount)>0,Y=i.a.useBasicFetch(N(e.shareId)),K=R(e.shareId),J=K.users,X=K.engagement,ee=K.hasCompleted,te=i.a.useBasicFetch(k(e.shareId,"year_group")),ae=i.a.useBasicFetch((null===(n=q.data)||void 0===n?void 0:n.objectId)&&p.k.createViewKey(q.data.objectId,h.f.MasterObject));(0,S.M)({title:V.data?_("pageTitle",{video:null===(o=V.data)||void 0===o?void 0:o.name}):null}),(0,b.v)([q,V]);var re=q.hasCompleted&&V.hasCompleted&&G.hasCompleted&&Y.hasCompleted&&te.hasCompleted&&ae.hasCompleted&&$.hasCompleted;return r.createElement("div",{className:"px-3"},r.createElement(A.j,{video:V.data,tabs:function(){var e;return(null===(e=q.data)||void 0===e?void 0:e.objectTypeId)===l.E.Interactive?(0,L.kj)(q.data,"heatmap"):(0,L.$6)(q.data,"heatmap")}(),hasAnalytics:M(v.C.ViewCustomerAnalytics),analyticsWebUrl:null===(c=G.data)||void 0===c?void 0:c.analyticsWebUrl,share:q.data,yearGroups:$.data,classroom:D.data,markingRequired:Q}),r.createElement(F.w,{aggregateEngagement:Y.data,individualEngagement:X,yearGroups:te.data,config:G.data,users:J,viewKey:ae.data,hasDataLoaded:re,tableDataLoaded:ee,anonymiseUsers:U,classroomStudents:W.items}))}var q=a(39157),P=a(94892),D=a(38143),W=a(20768),z=a(54948),V=a(52389);function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}var H=c.T.encloseNamespace("insights.interactiveInsightsOverviewView");function $(e){var t,a,n,l,c,d,h=(c=(0,u.D)(D.g.ANONYMISE_USERS),d=1,function(e){if(Array.isArray(e))return e}(c)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var r,n,i,s,o=[],l=!0,c=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(r=i.call(a)).done)&&(o.push(r.value),o.length!==t);l=!0);}catch(e){c=!0,n=e}finally{try{if(!l&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(c)throw n}}return o}}(c,d)||function(e,t){if(e){if("string"==typeof e)return G(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?G(e,t):void 0}}(c,d)||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.")}())[0];(0,I.F)();var p=(0,E.T)().hasPermissions,w=i.a.useBasicFetch(f.L.config()),C=i.a.useBasicFetch(y.N.currentUser()),F=i.a.useBasicFetch(C.data&&g.h.yearGroups(C.data.customerId)),O=i.a.useBasicFetch(s.o.getShare(e.shareId)),U=m.x.getClassroomIdFromShare(O.data),R=i.a.useBasicFetch(U&&j.F.getClassroom(U)),x=(0,T.p)(e.shareId),_=i.a.useBasicFetch((null===(t=O.data)||void 0===t?void 0:t.objectId)&&W.b.interactiveMetadata(O.data.objectId)),M=i.a.useBasicFetch((null===(a=_.data)||void 0===a?void 0:a.interactiveId)&&W.b.interactive(_.data.interactiveId)),$=(0,V._)(e.shareId),Z=i.a.useBasicFetch(B(e.shareId)),Q=i.a.useBasicFetch(N(e.shareId)),Y=i.a.useBasicFetch(k(e.shareId,"os_name"));(0,S.M)({title:_.data?H("pageTitle",{video:null===(n=_.data)||void 0===n?void 0:n.name}):null}),(0,b.v)([O,M,_]);var K=w.hasCompleted&&_.hasCompleted&&M.data&&Q.hasCompleted&&Z.hasCompleted&&Y.hasCompleted&&$.hasCompleted&&F.hasCompleted,J=function(e,t){return{resultsAppLink:(0,o.rq)(e,t),questionsAppLink:(0,o.Sj)(e,t),heatmapAppLink:(0,o.Rv)(e,t)}}(O.data),X=K&&(0,q.R6)(M.data,$.data,P.T),ee=X&&X.markingRequired.length>0;return r.createElement("div",{className:"px-3"},r.createElement(A.j,{video:_.data,tabs:(0,L.kj)(O.data,"insights"),hasAnalytics:p(v.C.ViewCustomerAnalytics),analyticsWebUrl:null===(l=w.data)||void 0===l?void 0:l.analyticsWebUrl,share:O.data,yearGroups:F.data,classroom:R.data,markingRequired:ee}),r.createElement(z.m,{aggregateEngagement:Q.data,individualEngagement:Z.data,interactive:M.data,interactiveMetadata:_.data,interactiveInsightsAppLinks:J,classroomStudents:x.items,results:$.data,osCount:Y.data,config:w.data,anonymiseUsers:h,hasDataLoaded:K,share:O.data}))}var Z=a(48705);function Q(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}var Y=c.T.encloseNamespace("shared.interactiveInsightsQuestionsView");function K(e){var t,a,n,o,l,c,d,h=(c=(0,u.D)(D.g.ANONYMISE_USERS),d=1,function(e){if(Array.isArray(e))return e}(c)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var r,n,i,s,o=[],l=!0,c=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(r=i.call(a)).done)&&(o.push(r.value),o.length!==t);l=!0);}catch(e){c=!0,n=e}finally{try{if(!l&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(c)throw n}}return o}}(c,d)||function(e,t){if(e){if("string"==typeof e)return Q(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?Q(e,t):void 0}}(c,d)||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.")}())[0];(0,I.F)();var p=(0,E.T)().hasPermissions,w=i.a.useBasicFetch(y.N.currentUser()),C=i.a.useBasicFetch(f.L.config()),F=i.a.useBasicFetch(w.data&&g.h.yearGroups(w.data.customerId)),k=i.a.useBasicFetch(s.o.getShare(e.shareId)),B=m.x.getClassroomIdFromShare(k.data),N=i.a.useBasicFetch(B&&j.F.getClassroom(B)),O=i.a.useBasicFetch((null===(t=k.data)||void 0===t?void 0:t.objectId)&&W.b.interactiveMetadata(null===(a=k.data)||void 0===a?void 0:a.objectId)),U=i.a.useBasicFetch((null===(n=O.data)||void 0===n?void 0:n.interactiveId)&&W.b.interactive(O.data.interactiveId)),R=(0,V._)(e.shareId);(0,S.M)({title:O.data?Y("pageTitle",{video:null===(o=O.data)||void 0===o?void 0:o.name}):null}),(0,b.v)([k,U,O]);var T=U.data&&O.data&&!!R.data&&!!F.data,x=T&&(0,q.R6)(U.data,R.data,P.T),_=x&&x.markingRequired.length>0;return r.createElement("div",{className:"px-3"},r.createElement(A.j,{tabs:(0,L.kj)(k.data,"questions"),video:O.data,hasAnalytics:p(v.C.ViewCustomerAnalytics),analyticsWebUrl:null===(l=C.data)||void 0===l?void 0:l.analyticsWebUrl,share:k.data,yearGroups:F.data,classroom:N.data,markingRequired:_}),r.createElement(Z.x,{interactive:U.data,interactiveMetadata:O.data,interactionId:e.interactionId,config:C.data,sortBy:e.sortBy,isFetching:!R.hasCompleted||U.isFetching,anonymiseUsers:h,results:R.data,hasDataLoaded:T}))}var J=a(14070),X=a(97291),ee=a(78057);function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}var ae=c.T.encloseNamespace("insights.interactiveInsightsStudents");function re(e){var t,a,o,l,c,d,h=(c=(0,u.D)(D.g.ANONYMISE_USERS),d=1,function(e){if(Array.isArray(e))return e}(c)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var r,n,i,s,o=[],l=!0,c=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(r=i.call(a)).done)&&(o.push(r.value),o.length!==t);l=!0);}catch(e){c=!0,n=e}finally{try{if(!l&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(c)throw n}}return o}}(c,d)||function(e,t){if(e){if("string"==typeof e)return te(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?te(e,t):void 0}}(c,d)||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.")}())[0],p=(0,E.T)().hasPermissions,I=i.a.useBasicFetch(y.N.currentUser()),w=i.a.useBasicFetch(f.L.config()),C=i.a.useBasicFetch(I.data&&g.h.yearGroups(I.data.customerId)),F=i.a.useBasicFetch(s.o.getShare(e.shareId)),k=m.x.getClassroomIdFromShare(F.data),B=i.a.useBasicFetch(k&&j.F.getClassroom(k)),N=i.a.useBasicFetch((null===(t=F.data)||void 0===t?void 0:t.objectId)&&W.b.interactiveMetadata(F.data.objectId)),O=i.a.useBasicFetch((null===(a=N.data)||void 0===a?void 0:a.interactiveId)&&W.b.interactive(N.data.interactiveId)),U=(0,V._)(e.shareId),R=O.data&&N.data&&!!U.data&&!!C.data,T=R&&(0,q.R6)(O.data,U.data,P.T),x=T&&T.markingRequired.length>0;return(0,S.M)({title:N.data?ae("pageTitle",{video:null===(o=N.data)||void 0===o?void 0:o.name}):null}),(0,b.v)([F,O,N]),r.createElement("div",{className:"px-3"},r.createElement(A.j,{tabs:(0,L.kj)(F.data,"results"),video:N.data,hasAnalytics:p(v.C.ViewCustomerAnalytics),analyticsWebUrl:null===(l=w.data)||void 0===l?void 0:l.analyticsWebUrl,share:F.data,yearGroups:C.data,classroom:B.data,markingRequired:x}),r.createElement(ee.R,{interactiveMetadata:N.data,viewStudentResults:function(t,a,r){n.Q.C$.trigger({application:X.O.MY_SHARES,action:J.e.MyShares.INTERACTIVE_STUDENT_RESULTS,params:{studentId:t.id,shareId:e.shareId,interactionId:r,sessionId:t.sessionId}})},interactive:O.data,results:U.data,filterBy:e.filterBy,sortBy:e.sortBy,isFetching:!U.hasCompleted,anonymiseUsers:h,hasDataLoaded:R,config:w.data}))}var ne=a(37802),ie=a(51870),se=a(50916),oe=a(84621),le=a(98551),ce=a(35223),ue=c.T.encloseNamespace("shared.insightStudentsNotWatched");function de(e){var t,a=(null===(t=e.students)||void 0===t?void 0:t.filter(function(t){var a;return!(null===(a=e.watchedIds)||void 0===a?void 0:a.includes(t.id))}))||[];return r.createElement(oe.L,{title:ue("title"),svgName:ce.vn.Puzzle,svgClassName:"bg-light-teal text-teal"},r.createElement(le.y,{students:a,imageCdnUrl:e.imageCdnUrl,imageUrl:e.imageUrl,description:ue("studentsDisplay"),anonymiseUsers:e.anonymiseUsers}))}var me=c.T.encloseNamespace("shared.insightStudentsWatched");function he(e){return r.createElement(oe.L,{title:me("title"),svgName:ce.vn.Flag,svgClassName:"bg-light-indigo text-indigo",count:e.students.length},r.createElement(le.y,{students:e.students,imageCdnUrl:e.imageCdnUrl,imageUrl:e.imageUrl,description:me("studentsDisplay"),appLink:e.heatmapAppLink,appLinkText:me("viewAll"),anonymiseUsers:e.anonymiseUsers}))}var ve=a(8604),fe=a(83345),ge=a(99742),pe=a(53214);const ye="oHwkx";function be(){return r.createElement("div",null,r.createElement("h2",{className:"h4 w-25 partial-loading-background"}," "),r.createElement("div",{className:"row g-3 mb-5"},r.createElement("div",{className:"col-12"},r.createElement("div",{className:"".concat(ye," rounded partial-loading-background")}))),r.createElement("h2",{className:"h4 w-25 partial-loading-background"}," "),r.createElement("div",{className:"row g-3 mb-5"},r.createElement("div",{className:"col-6"},r.createElement("div",{className:"".concat(ye," rounded partial-loading-background")})),r.createElement("div",{className:"col-6"},r.createElement("div",{className:"".concat(ye," rounded partial-loading-background")}))))}var Ie="insights.videoInsightsOverview";function Ee(e){var t,a,n,i=e.hasDataLoaded&&!!(null===(t=e.viewers)||void 0===t?void 0:t.length);function s(){return e.viewers?Object.values(e.viewers):[]}return r.createElement(r.Fragment,null,!e.hasDataLoaded&&r.createElement(be,null),e.hasDataLoaded&&r.createElement(pe.u,{video:e.video,hasData:i,share:e.share},r.createElement("section",{className:"mb-5"},r.createElement("h2",{className:"h4"},r.createElement(fe.x,{namespace:Ie,phrase:"studentViewing"}),r.createElement("span",null,": ",s().length,e.classroomStudents?"/".concat(e.classroomStudents.length):"")),r.createElement("div",{className:"row g-3"},!!(null===(a=e.classroomStudents)||void 0===a?void 0:a.length)&&r.createElement("div",{className:"col-12 col-md"},r.createElement(de,{students:e.classroomStudents,watchedIds:null===(n=e.viewers)||void 0===n?void 0:n.map(function(e){return e.id}),imageCdnUrl:e.config.imageCdnUrl,heatmapAppLink:e.videoInsightsAppLinks.heatmapAppLink,imageUrl:ge.W.Insights.AVATAR,anonymiseUsers:e.anonymiseUsers})),r.createElement("div",{className:"col-12 col-md"},r.createElement(he,{students:s(),imageCdnUrl:e.config.imageCdnUrl,heatmapAppLink:e.videoInsightsAppLinks.heatmapAppLink,imageUrl:ge.W.Insights.AVATAR,anonymiseUsers:e.anonymiseUsers})))),r.createElement("section",{className:"mb-5"},r.createElement("h2",{className:"h4"},r.createElement(fe.x,{namespace:Ie,phrase:e.hasClassrooms?"classEngagement":"engagement"})),r.createElement("div",{className:"row g-3"},r.createElement("div",{className:"col-12 col-md-6"},r.createElement(ie.i,{osCount:e.osCount})),r.createElement("div",{className:"col-12 col-md-6"},r.createElement(se.b,{engagement:e.aggregateEngagement,heatmapAppLink:e.videoInsightsAppLinks.heatmapAppLink,engagementRate:(0,ve.Q)(e.individualEngagement)}))))))}function Se(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}var we=c.T.encloseNamespace("insights.videoInsightsOverviewView");function Ce(e){var t,a,n,l,c=(n=(0,u.D)(D.g.ANONYMISE_USERS),l=1,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var r,n,i,s,o=[],l=!0,c=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(r=i.call(a)).done)&&(o.push(r.value),o.length!==t);l=!0);}catch(e){c=!0,n=e}finally{try{if(!l&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(c)throw n}}return o}}(n,l)||function(e,t){if(e){if("string"==typeof e)return Se(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?Se(e,t):void 0}}(n,l)||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.")}())[0];(0,I.F)();var d=(0,ne.r)(null).hasClassrooms,h=(0,E.T)().hasPermissions,p=i.a.useBasicFetch(f.L.config()),C=i.a.useBasicFetch(y.N.currentUser()),F=i.a.useBasicFetch(C.data&&g.h.yearGroups(C.data.customerId)),O=i.a.useBasicFetch(s.o.getShare(e.shareId)),U=m.x.getClassroomIdFromShare(O.data),x=i.a.useBasicFetch(U&&j.F.getClassroom(U)),_=(0,T.p)(e.shareId),M=O.data&&w.M.getVideoRequest(O.data.objectId,O.data.objectTypeId),q=i.a.useBasicFetch(M);(0,S.M)({title:q.data?we("pageTitle",{video:null===(t=q.data)||void 0===t?void 0:t.name}):null}),(0,b.v)([O,q]);var P=i.a.useBasicFetch(B(e.shareId)),W=i.a.useBasicFetch(N(e.shareId)),z=i.a.useBasicFetch(k(e.shareId,"os_name")),V=R(e.shareId),G=V.users,H=V.hasCompleted,$=p.hasCompleted&&q.hasCompleted&&P.hasCompleted&&W.hasCompleted&&z.hasCompleted&&F.data&&H,Z=function(e){return{heatmapAppLink:(0,o.Rv)(e,void 0)}}(O.data);return r.createElement("div",{className:"px-3"},r.createElement(A.j,{video:q.data,classroom:x.data,tabs:(0,L.$6)(O.data,"insights"),hasAnalytics:h(v.C.ViewCustomerAnalytics),analyticsWebUrl:null===(a=p.data)||void 0===a?void 0:a.analyticsWebUrl,share:O.data,yearGroups:F.data}),r.createElement(Ee,{hasDataLoaded:!!$,hasClassrooms:d,anonymiseUsers:c,videoInsightsAppLinks:Z,config:p.data,video:q.data,classroomStudents:_.items,viewers:G,individualEngagement:P.data,aggregateEngagement:W.data,share:O.data,osCount:z.data}))}function je(e){return je="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},je(e)}function Ae(e,t,a){return(t=function(e){var t=function(e){if("object"!=je(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=je(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==je(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var Fe=Ae(Ae(Ae({},l.E.Video,{insights:function(e){return r.createElement(Ce,{shareId:e.share.shareId})},heatmap:function(e){return r.createElement(M,{shareId:e.share.shareId})}}),l.E.Clip,{insights:function(e){return r.createElement(Ce,{shareId:e.share.shareId})},heatmap:function(e){return r.createElement(M,{shareId:e.share.shareId})}}),l.E.Interactive,{insights:function(e){return r.createElement($,{shareId:e.share.shareId})},heatmap:function(e){return r.createElement(M,{shareId:e.share.shareId})},questions:function(e){return r.createElement(K,{interactionId:e.interactionId,sortBy:e.sortBy,shareId:e.share.shareId})},results:function(e){return r.createElement(re,{filterBy:e.filterBy,sortBy:e.sortBy,shareId:e.share.shareId})}});function ke(e){var t=i.a.useBasicFetch(s.o.getShare(e.shareId)),a=function(e){var t,a=e.share,n=e.tab,i=null===(t=Fe[null==a?void 0:a.objectTypeId])||void 0===t?void 0:t[n];return i?i(e):r.createElement(r.Fragment,null)}({share:t.data,tab:e.tab,interactionId:e.interactionId,sortBy:e.sortBy,filterBy:e.filterBy});return r.useEffect(function(){if(e.showShareOptions&&t.data){var a=(0,o.Zm)(t.data);a&&n.Q.C$.trigger(a)}},[t.data,e.showShareOptions]),r.createElement(r.Fragment,null,a)}}}]);
|
|
2
|
+
//# sourceMappingURL=8856-08061bbec5-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/8856-08061bbec5-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/analytics/hooks/UseFetchInteractiveResults.ts","file:///app/packages/libs/shared/src/apps/share-v2/flight-requests/ShareRequests.ts","file:///app/packages/libs/shared/src/errors/handlers/HttpErrorHandlers.ts","file:///app/packages/libs/shared/src/hooks/UseBatchFetch.ts","file:///app/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file:///app/packages/libs/shared/src/apps/analytics/components/student-results/student-results-table/StudentResultsEmptyState.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/student-results/student-results-table/StudentResultsTableFilters.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/student-results/student-results-table/StudentResultsTable.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/interactive-insights-students/partial-loading/partial-interactive-insights-students.scss","file:///app/packages/projects/lite/src/apps/my-shares/components/interactive-insights-students/partial-loading/PartialInteractiveInsightsStudents.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/interactive-insights-students/InteractiveInsightsStudents.tsx","file:///app/packages/projects/lite/src/apps/my-shares/hooks/useAnonSessions.ts","file:///app/packages/projects/lite/src/apps/my-shares/hooks/useInsightsClassroomStudents.ts","file:///app/packages/projects/lite/src/apps/my-shares/hooks/useInsightsInteractiveResults.ts","file:///app/packages/projects/lite/src/apps/my-shares/flight-requests/VideoViewsV2Requests.ts","file:///app/packages/projects/lite/src/apps/my-shares/hooks/useInsightEngagement.ts","file:///app/packages/projects/lite/src/apps/my-shares/views/heatmap/InsightsHeatmapView.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/interactive/overview/InteractiveInsightsOverviewView.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/interactive/overview/InteractiveInsightsOverviewUtils.ts","file:///app/packages/projects/lite/src/apps/my-shares/views/interactive/questions/InteractiveInsightsQuestionsView.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/interactive/students/InteractiveInsightsStudentsView.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insights/students-not-watched/InsightStudentsNotWatched.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insights/students-watched/InsightStudentsWatched.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/video-insights-overview/partial-loading/partial-video-insights-overview.scss","file:///app/packages/projects/lite/src/apps/my-shares/components/video-insights-overview/partial-loading/PartialVideoInsightsOverview.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/video-insights-overview/VideoInsightsOvervew.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/video/overview/VideoInsightsOverviewView.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/video/overview/VideoInsightsOverviewUtils.ts","file:///app/packages/projects/lite/src/apps/my-shares/views/base-insights-view/useInsightsView.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/base-insights-view/BaseInsightsView.tsx"],"sourcesContent":["import { Flight } from 'libs/common/flight';\n\nimport { InteractiveResultsRequests } from 'libs/shared/apps/analytics/flight-requests/InteractiveResultsRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { AnalyticsRequestFilter, CurrentUser, Interactive, InteractiveMetadata, InteractiveResultSet } from 'libs/shared/interfaces';\n\nexport function useFetchInteractiveResults(\n interactiveMetadataId: string,\n requestFilter?: AnalyticsRequestFilter,\n shareId?: string\n): Flight.Response<InteractiveResultSet> {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(!!interactiveMetadataId &&\n InteractiveRequests.interactiveMetadata(interactiveMetadataId));\n\n const interactive = Flight.useBasicFetch<Interactive>(!!interactiveMetadata.data?.interactiveId &&\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId));\n\n const shouldFetchResults = !!currentUser.data && !!interactive.data;\n\n return Flight.useBasicFetch<InteractiveResultSet>(shouldFetchResults &&\n InteractiveResultsRequests.interactiveResultSet(\n interactiveMetadata.data.interactiveId,\n interactiveMetadata.data.id,\n currentUser.data,\n requestFilter,\n shareId\n ));\n}","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' ]\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}`, 'get:share-v2:shares:object' ]\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}`, 'get:share-v2:shares:object' ]\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', `get:share-v2:shares:object:${data.objectId}` ],\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 { BaseError } from 'libs/common/backbone/core/BaseError';\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\n\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { PrivateResourceError } from 'libs/shared/errors/general/private-resource/PrivateResourceError';\nimport { RegionLockedResourceError } from 'libs/shared/errors/general/region-locked-resource/RegionLockedResourceError';\nimport { UnspecifiedError } from 'libs/shared/errors/general/unspecified-error/UnspecifiedError';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nexport interface HttpErrorMap {\n notFound?: new () => BaseError;\n forbidden?: {\n rating?: new (description: string) => BaseError;\n yearLevel?: new (description: string) => BaseError;\n region?: new () => BaseError;\n privacy?: new (video?: VideoTypes) => BaseError;\n };\n badRequest?: new () => BaseError;\n internalServerError?: new () => BaseError;\n}\n\nexport type IgnoreHttpErrorMap = {\n [key in keyof HttpErrorMap]: boolean;\n};\n\nconst defaultErrors: HttpErrorMap = {\n notFound: NotFoundError,\n forbidden: {\n rating: PrivateResourceError,\n yearLevel: PrivateResourceError,\n region: RegionLockedResourceError,\n privacy: PrivateResourceError\n },\n badRequest: UnspecifiedError,\n internalServerError: UnspecifiedError\n};\n\nexport function handleHttpError(\n info: HttpStatus | Xhr,\n customErrorMap: HttpErrorMap = {},\n /**\n * Prevent certain errors in the errorMap from being thrown\n * so that you may implement your own handler\n */\n ignoreMap: IgnoreHttpErrorMap = {}\n): void {\n if (!info)\n return;\n\n let statusCode: HttpStatus;\n\n if (typeof(info) === 'number') {\n statusCode = info;\n } else {\n statusCode = info.status;\n }\n\n const errorMap = {\n ...defaultErrors,\n ...customErrorMap\n };\n\n if (!statusCode)\n return;\n\n if (!Core.ErrorHelper.isStatusCodeError(statusCode))\n return;\n\n if (statusCode === HttpStatus.InternalServer) {\n if (!ignoreMap.internalServerError)\n Core.ErrorHelper.throw(new UnspecifiedError());\n return;\n }\n\n if (statusCode === HttpStatus.NotFound) {\n if (!ignoreMap.notFound)\n Core.ErrorHelper.throw(new errorMap.notFound());\n return;\n }\n\n if (statusCode === HttpStatus.Forbidden) {\n /**\n * TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,\n * ratings, and privacy.\n */\n if (!ignoreMap.forbidden)\n Core.ErrorHelper.throw(new errorMap.forbidden.privacy());\n return;\n }\n\n if (!ignoreMap.badRequest)\n Core.ErrorHelper.throw(new errorMap.badRequest());\n}\n\nexport function handleXhrError(xhr: Xhr, customErrorMap?: HttpErrorMap): void {\n handleHttpError(xhr.status, customErrorMap);\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 { Flight } from 'libs/common/flight';\n\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\n return flightObjs.map(obj => obj.statusCode).join(':');\n}\n\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\nexport function useHandleObjectError(\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\n customErrors?: HttpErrorMap,\n ignoreErrors?: IgnoreHttpErrorMap\n): void {\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\n\n useEffect(() => {\n flightObjs.forEach(obj => {\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\n });\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { FilterStudentsBy } from 'libs/shared/apps/analytics/utils/StudentTableUtils';\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\n\n\nconst namespace = 'shared.studentResultsTable';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface StudentResultsEmptyStateProps {\n filter: FilterStudentsBy;\n notCompletedImageUrl: string;\n helpingHandImageUrl: string;\n markingRequiredImageUrl: string;\n emptyStateImageUrl: string;\n}\n\nexport function StudentResultsEmptyState(props: StudentResultsEmptyStateProps) {\n if (props.filter === 'not_completed') {\n return (\n <EmptyState className='bg-white rounded-bottom py-5'>\n <EmptyState.Image src={props.notCompletedImageUrl} size='small' />\n <EmptyState.Info>\n {getPhrase('notCompletedDescription')}\n </EmptyState.Info>\n </EmptyState>\n );\n }\n if (props.filter === 'marking_required') {\n return (\n <EmptyState className='bg-white rounded-bottom py-5'>\n <EmptyState.Image src={props.markingRequiredImageUrl} size='small' />\n <EmptyState.Info>\n {getPhrase('markingRequiredDescription')}\n </EmptyState.Info>\n </EmptyState>\n );\n }\n\n if (props.filter === 'helping_hand') {\n return (\n <EmptyState className='bg-white rounded-bottom py-5'>\n <EmptyState.Image src={props.helpingHandImageUrl} size='small' />\n <EmptyState.Info>\n {getPhrase('helpingHandDescription')}\n </EmptyState.Info>\n </EmptyState>\n );\n }\n\n return (\n <EmptyState className='bg-white rounded-bottom py-5'>\n <EmptyState.Image src={props.emptyStateImageUrl} size='small' />\n <EmptyState.Heading>\n {getPhrase('emptyStateHeading')}\n </EmptyState.Heading>\n <EmptyState.Info>\n {getPhrase('emptyStateDescription')}\n </EmptyState.Info>\n </EmptyState>\n );\n}","import React from 'react';\n\nimport { FilterStudentsBy } from 'libs/shared/apps/analytics/utils/StudentTableUtils';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'shared.studentResultsTable';\n\ninterface StudentResultsTableFiltersProps {\n filter: FilterStudentsBy;\n setFilter: (filter: FilterStudentsBy) => void;\n}\n\nexport function StudentResultsTableFilterButtons(props: StudentResultsTableFiltersProps) {\n function toggleFilter(selectedFilter: FilterStudentsBy) {\n const updatedFilter = props.filter === selectedFilter ? null : selectedFilter;\n\n props.setFilter(updatedFilter);\n }\n\n function isFilterSelected(filter: FilterStudentsBy) {\n return props.filter === filter;\n }\n\n function getClassName(filter: FilterStudentsBy) {\n return `btn btn-outline-dark ${isFilterSelected(filter) ? 'bg-dark text-white' : ''}`;\n }\n\n return (\n <div className='d-flex align-items-center mb-3'>\n <p className='h6 mb-0'><Text namespace={namespace} phrase='filters' /></p>\n <div className='d-flex border-start ps-3 ms-3 gap-2'>\n <button className={getClassName('not_completed')} onClick={() => toggleFilter('not_completed')}>\n <Text namespace={namespace} phrase='notCompletedFilter' />\n </button>\n <button className={getClassName('marking_required')} onClick={() => toggleFilter('marking_required')}>\n <Text namespace={namespace} phrase='markingRequiredFilter' />\n </button>\n <button className={getClassName('helping_hand')} onClick={() => toggleFilter('helping_hand')}>\n <Text namespace={namespace} phrase='helpingHandFilter' />\n </button>\n </div>\n </div>\n );\n}","import React from 'react';\nimport { Cell, Row, SortingRule } from 'react-table';\n\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { StudentResultsEmptyState } from 'libs/shared/apps/analytics/components/student-results/student-results-table/StudentResultsEmptyState';\nimport { StudentResultsTableFilterButtons } from 'libs/shared/apps/analytics/components/student-results/student-results-table/StudentResultsTableFilters';\nimport { StudentResultsWithSummary } from 'libs/shared/apps/analytics/interfaces/StudentResultsWithSummary';\nimport { FilterStudentsBy, getSortStudents, SortStudentsBy } from 'libs/shared/apps/analytics/utils/StudentTableUtils';\nimport { Table, TableTheme } from 'libs/shared/components/table/Table';\nimport { Config, Interactive, InteractiveMetadata, InteractiveResultSet } from 'libs/shared/interfaces';\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\n\nimport {\n highlightColumns,\n highlightRows,\n RESULTS_COL_WIDTH,\n useGetFixedColumns,\n useGetResultColumns,\n useGetResultsTableData\n} from './StudentResultsTableUtils';\n\nimport styles from './student-results-table.scss';\n\nconst fixedTableTheme: TableTheme = {\n table: `${styles.fixedTable} bg-white rounded-start border border-end-0`,\n header: `${styles.header} border-bottom`,\n headerRow: 'h-100',\n headerCell: 'd-flex align-items-center justify-content-start',\n row: styles.row\n};\n\nconst resultsTableTheme: TableTheme = {\n header: `${styles.header} fw-bold`,\n headerRow: 'h-100',\n headerCell: `${styles.interactionHeaderCellOuter} bg-white border-bottom`,\n row: `${styles.row} ${styles.resultsRow}`,\n cell: styles.resultsCellOuter\n};\n\ninterface StudentResultsTableProps {\n interactive: Interactive;\n interactiveMetadata: InteractiveMetadata;\n results: InteractiveResultSet;\n\n /**\n * As the table data is memoized, it must be prompted to recalculate.\n * Toggle `refreshTable` to do so.\n */\n refreshTable: boolean;\n config?: Config;\n selectedStudentId?: string;\n emptyStateImageUrl?: string;\n notCompletedImageUrl?: string;\n helpingHandImageUrl?: string;\n markingRequiredImageUrl?: string;\n anonymiseUsers?: boolean;\n sortBy?: SortStudentsBy;\n filterBy?: FilterStudentsBy;\n viewStudentResults: (\n student: AnonUser,\n interactiveMetadataId: string,\n interactionId?: string\n ) => void;\n}\n\nexport function StudentResultsTable(props: StudentResultsTableProps): JSX.Element {\n const [ sortBy, setSortBy ] = React.useState<SortingRule<StudentResultsWithSummary>[]>(\n getSortStudents(props.sortBy, 'score')\n );\n const [ filter, setFilter ] = React.useState<FilterStudentsBy>(props.filterBy);\n\n const ref = React.useRef<HTMLDivElement>(null);\n\n const fixedColumns = useGetFixedColumns(props.results, props.anonymiseUsers, props.config?.imageCdnUrl);\n const resultColumns = useGetResultColumns(\n props.interactive,\n props.interactiveMetadata,\n props.results,\n onColumnHover,\n props.refreshTable\n );\n const data = useGetResultsTableData(\n props.interactive,\n props.results,\n props.refreshTable,\n props.anonymiseUsers,\n ArrayHelper.first(sortBy),\n filter\n );\n\n function onSelectStudent({ original }: Row<StudentResultsWithSummary>): void {\n props.viewStudentResults(original.user, props.interactiveMetadata.id);\n }\n\n function onSelectStudentResponse(cell: Cell<StudentResultsWithSummary>): void {\n props.viewStudentResults(\n cell.row.original.user,\n props.interactiveMetadata.id,\n cell.column.id\n );\n }\n\n function onColumnHover(index?: number): void {\n highlightColumns(ref.current, index);\n }\n\n function onRowHover(index?: number): void {\n highlightRows(ref.current, index);\n }\n\n return (\n <div>\n {!!props.results.students.length && <StudentResultsTableFilterButtons filter={filter} setFilter={setFilter} />}\n\n {!data.length && (\n <StudentResultsEmptyState\n emptyStateImageUrl={props.emptyStateImageUrl}\n helpingHandImageUrl={props.helpingHandImageUrl}\n markingRequiredImageUrl={props.markingRequiredImageUrl}\n notCompletedImageUrl={props.notCompletedImageUrl}\n filter={filter}\n />\n )}\n\n {!!data.length && (\n <div ref={ref} className={`d-flex${data.length ? ` ${styles.hasResults}` : ''}`}>\n <Table\n columns={fixedColumns}\n data={data}\n theme={fixedTableTheme}\n onSelectRow={onSelectStudent}\n onRowMouseOver={row => onRowHover(row.index)}\n onRowMouseLeave={() => onRowHover()}\n enableSort\n manualSort\n onSort={setSortBy}\n initialSortBy={sortBy}\n />\n <Table\n columns={resultColumns}\n data={data}\n theme={resultsTableTheme}\n enableSlider\n scrollIncrement={RESULTS_COL_WIDTH * 8}\n onSelectCell={onSelectStudentResponse}\n scrollContainerClassName='rounded-end border border-start-0 border'\n />\n </div>\n )}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"partialInsights\":\"qSeTe\"};","import React from 'react';\n\nimport styles from './partial-interactive-insights-students.scss';\n\nexport function PartialInteractiveInsightsStudents() {\n return (\n <div>\n <div className='d-flex align-items-center mb-3'>\n <p className='h6 px-4 mb-0 me-4 partial-loading-background'> </p>\n <div className='row g-2 w-50'>\n <div className='col-3'>\n <div className='p-2 rounded-1 partial-loading-background'> </div>\n </div>\n <div className='col-3'>\n <div className='p-2 rounded-1 partial-loading-background'> </div>\n </div>\n <div className='col-3'>\n <div className='p-2 rounded-1 partial-loading-background'> </div>\n </div>\n </div>\n </div>\n <div className='row g-3 mb-5'>\n <div className='col-12'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { StudentResultsTable } from 'libs/shared/apps/analytics/components/student-results/student-results-table/StudentResultsTable';\nimport { FilterStudentsBy, SortStudentsBy } from 'libs/shared/apps/analytics/utils/StudentTableUtils';\nimport { Config, Interactive, InteractiveMetadata, InteractiveResultSet } from 'libs/shared/interfaces';\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { PartialInteractiveInsightsStudents } from 'apps/my-shares/components/interactive-insights-students/partial-loading/PartialInteractiveInsightsStudents';\n\ninterface InteractiveInsightsStudentsProps {\n interactive: Interactive;\n interactiveMetadata: InteractiveMetadata;\n results: InteractiveResultSet;\n isFetching: boolean;\n sortBy: SortStudentsBy;\n filterBy: FilterStudentsBy;\n anonymiseUsers: boolean;\n config: Config;\n viewStudentResults: (\n user: AnonUser,\n interactiveMetadataId: string,\n interactionId?: string\n ) => void;\n hasDataLoaded: boolean;\n}\n\nexport function InteractiveInsightsStudents(props: InteractiveInsightsStudentsProps) {\n return (\n <>\n {!props.hasDataLoaded &&\n <PartialInteractiveInsightsStudents />\n }\n\n {props.hasDataLoaded &&\n <StudentResultsTable\n interactive={props.interactive}\n interactiveMetadata={props.interactiveMetadata}\n results={props.results}\n refreshTable={props.isFetching}\n viewStudentResults={props.viewStudentResults}\n emptyStateImageUrl={ImageUrls.Insights.NO_RESPONSES}\n sortBy={props.sortBy}\n filterBy={props.filterBy}\n anonymiseUsers={props.anonymiseUsers}\n notCompletedImageUrl={ImageUrls.Insights.JIGSAW}\n markingRequiredImageUrl={ImageUrls.Insights.CLIPBOARD}\n helpingHandImageUrl={ImageUrls.Insights.SPEECH_BUBBLE_HEART}\n config={props.config}\n />\n }\n </>\n );\n}","import { Flight } from 'libs/common/react/index';\n\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { AnonSession } from 'libs/shared/apps/share/interfaces/AnonSession';\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\n\nfunction toAnonUser(anonSession: AnonSession) {\n return { sessionId: anonSession.sessionId, name: anonSession.sessionName } as AnonUser;\n}\n\nexport function useAnonSessions(shareId: string) {\n const anonSessions = Flight.useBasicFetch<AnonSession[]>(ShareRequests.getAnonSessions(shareId));\n\n const anonSessionMap = anonSessions.data\n ?.reduce<Record<string, AnonUser>>((prev, next) => {\n return {\n ...prev,\n [next.sessionId]: toAnonUser(next)\n };\n }, {});\n\n return {\n items: anonSessionMap || {},\n hasCompleted: anonSessions.hasCompleted\n };\n}","import { Flight } from 'libs/common/react/index';\n\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\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 { useFetchAll } from 'libs/shared/hooks/UseFetchAll';\nimport { User } from 'libs/shared/interfaces/models/User';\n\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\n\nexport function useInsightsClassroomStudents(shareId: string) {\n const fetch = Flight.useGetFetch();\n\n const share = Flight.useBasicFetch<Share>(ShareRequests.getShare(shareId));\n \n const classroomId = share.data?.type === ShareType.Classroom &&\n share.data?.recipients?.find(r => r.recipientTypeId === MasterType.Classroom)?.recipientId;\n\n const getRequest = (cursor: string) => ClassroomRequests.getClassroomStudents(classroomId, cursor);\n const result = useFetchAll<User>(classroomId && getRequest, cursor => fetch(getRequest(cursor)));\n\n return {\n ...result,\n hasCompleted: !classroomId || result.hasCompleted\n };\n}","import { Flight } from 'libs/common/react/index';\n\nimport { useFetchInteractiveResults } from 'libs/shared/apps/analytics/hooks/UseFetchInteractiveResults';\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { InteractiveResult, InteractiveResultSet } from 'libs/shared/interfaces';\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\n\nimport { useAnonSessions } from 'apps/my-shares/hooks/useAnonSessions';\nimport { useInsightsClassroomStudents } from 'apps/my-shares/hooks/useInsightsClassroomStudents';\n\nconst EMPTY_INTERACTIVE_RESULTS: InteractiveResult[] = [\n {\n id: '0',\n attempts: [{ id: '0', answeredAt: 0, answers: []}]\n }\n];\n\nexport function useInsightsInteractiveResults(shareId: string) {\n const share = Flight.useBasicFetch<Share>(ShareRequests.getShare(shareId));\n const results = useFetchInteractiveResults(share.data?.objectId, null, shareId);\n\n const anonSessions = useAnonSessions(shareId);\n\n const classroomStudents = useInsightsClassroomStudents(shareId);\n\n useHandleObjectError(results);\n\n const hasCompleted = (\n results.hasCompleted &&\n anonSessions.hasCompleted &&\n classroomStudents.hasCompleted\n );\n\n if (!hasCompleted) {\n return {\n data: null as InteractiveResultSet,\n hasCompleted: false\n };\n }\n\n const studentHash = new Set<string>();\n const students = results.data.students.map(s => {\n if (s.user) {\n studentHash.add(s.user.id);\n return s;\n }\n\n /**\n * Set the user to our anon user, so we can display the name they entered\n * when completing the interactive - Sha\n */\n return {\n ...s,\n user: anonSessions.items[s.sessionId] || { sessionId: s.sessionId } as AnonUser\n };\n });\n\n /**\n * If we have classroom students, we're adding any students who haven't attempted to the list\n * with an empty attempt. This is so the student list can show all classroom students - Sha\n */\n if (classroomStudents?.items?.length) {\n students.push(...classroomStudents.items\n .filter(s => !studentHash.has(s.id))\n .map(user => ({ user, results: EMPTY_INTERACTIVE_RESULTS })));\n }\n\n return {\n hasCompleted,\n data: {\n ...results.data,\n students\n }\n };\n}","import { Flight } from 'libs/common/react/index';\n\nimport { StreamAggregationType } from 'libs/shared/apps/analytics/interfaces/StreamAggregationType';\n\nexport const VideoViewsV2Requests = {\n shareViews(shareId: string): Flight.Request {\n return {\n url: `{gateway}/v2/analytics/streams/shares/${shareId}/users/count`,\n key: `video:views:v2:share:${shareId}`,\n normalize: false\n };\n },\n\n shareAggregation(shareId: string, type: StreamAggregationType): Flight.Request {\n return {\n url: `{gateway}/v2/analytics/streams/shares/${shareId}/aggregation/${type}`,\n key: `video:views:v2:share:aggregation:${shareId}:${type}`,\n normalize: false\n };\n },\n\n shareHeatMap(shareId: string): Flight.Request {\n return {\n url: `{gateway}/v2/analytics/streams/shares/${shareId}/heat-map`,\n key: `video:views:v2:share:heatmap:${shareId}`,\n normalize: false\n };\n },\n\n shareHeatMapAggregation(shareId: string): Flight.Request {\n return {\n url: `{gateway}/v2/analytics/streams/shares/${shareId}/aggregation/heat-map`,\n key: `video:views:v2:share:heatmap:aggregation:${shareId}`,\n normalize: false\n };\n }\n};","import { Flight } from 'libs/common/react/index';\n\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBatchFetch } from 'libs/shared/hooks/UseBatchFetch';\nimport { Engagement } from 'libs/shared/interfaces';\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\n\nimport { VideoViewsV2Requests } from 'apps/my-shares/flight-requests/VideoViewsV2Requests';\nimport { useAnonSessions } from 'apps/my-shares/hooks/useAnonSessions';\n\nexport function useInsightEngagement(shareId: string) {\n const engagement = Flight.useBasicFetch<Engagement[]>(\n VideoViewsV2Requests.shareHeatMap(shareId)\n );\n\n const anonSessions = useAnonSessions(shareId);\n\n const userIds = engagement.data?.map(u => u.userId).filter(id => !!id) || [];\n const users = useBatchFetch<AnonUser>(userIds, UserRequests.getById);\n\n const userMap = {\n ...anonSessions.items,\n ...users.items\n };\n \n const viewers = engagement.data?.map(e => {\n const user = userMap[e.userId || e.sessionId] || { sessionId: e.sessionId } as AnonUser;\n return { ...user, percentage: e.engagementRate } as AnonUser;\n });\n\n return {\n engagement: engagement.data,\n users: viewers,\n hasCompleted: (\n engagement.hasCompleted &&\n anonSessions.hasCompleted &&\n (!userIds?.length || users.hasCompleted)\n )\n };\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { InteractiveResultsRequests } from 'libs/shared/apps/analytics/flight-requests/InteractiveResultsRequests';\nimport { GroupedAnalyticsCount } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { InteractivesPendingReviews } from 'libs/shared/apps/analytics/interfaces/response/InteractivesPendingReviewsResponse';\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useLockContentWidth } from 'libs/shared/hooks/useLockContentWidth';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classroom, Config, CurrentUser, Engagement, PlayerViewKey, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\n\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { InsightsHeatmap } from 'apps/my-shares/components/insights-heatmap/InsightsHeatmap';\nimport { VideoViewsV2Requests } from 'apps/my-shares/flight-requests/VideoViewsV2Requests';\nimport { useInsightEngagement } from 'apps/my-shares/hooks/useInsightEngagement';\nimport { useInsightsClassroomStudents } from 'apps/my-shares/hooks/useInsightsClassroomStudents';\nimport { getInsightsInteractiveTabs, getInsightsVideoTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\n\nconst namespace = 'shared.insightsHeatmap';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InsightsHeatmapViewProps {\n shareId: string;\n}\n\nexport function InsightsHeatmapView(props: InsightsHeatmapViewProps) {\n const [anonymiseUsers] = useViewModel<boolean>(ViewModelKeys.ANONYMISE_USERS);\n\n useLockContentWidth();\n\n const { hasPermissions } = usePermissions();\n\n const share = Flight.useBasicFetch<Share>(ShareRequests.getShare(props.shareId));\n \n const classroomId = ShareHelper.getClassroomIdFromShare(share.data);\n const classroom = Flight.useBasicFetch<Classroom>(classroomId && ClassroomRequests.getClassroom(classroomId));\n\n const classroomStudents = useInsightsClassroomStudents(props.shareId);\n \n const videoRequest = share.data && VideoHelper.getVideoRequest(share.data.objectId, share.data.objectTypeId);\n const video = Flight.useBasicFetch<VideoTypes>(videoRequest);\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 && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const pendingReviewsRequest = VideoHelper.isInteractive(video.data) && InteractiveResultsRequests.pendingReviews({\n interactives: [video.data].map(obj => ({\n interactiveId: obj.interactiveId,\n metadataId: obj.id,\n shareId: props.shareId\n })),\n filters: {\n currentCustomerId: currentUser.data.customerId,\n currentUserId: currentUser.data.id\n }\n });\n const pendingReviews = Flight.useBasicFetch<InteractivesPendingReviews[]>(pendingReviewsRequest);\n const markingRequired = pendingReviews.data?.[0]?.pendingReviewCount > 0;\n\n const aggregateEngagement = Flight.useBasicFetch<Engagement>(\n VideoViewsV2Requests.shareHeatMapAggregation(props.shareId)\n );\n\n const { users, engagement, hasCompleted } = useInsightEngagement(props.shareId);\n\n const yearGroupsCount = Flight.useBasicFetch<GroupedAnalyticsCount[]>(\n VideoViewsV2Requests.shareAggregation(props.shareId, 'year_group')\n );\n\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(\n share.data?.objectId &&\n PlayerRequests.createViewKey(share.data.objectId, MediaIdType.MasterObject)\n );\n\n useSetPageMetadata({ title: video.data ? getPhrase('pageTitle', { video: video.data?.name }) : null });\n useHandleObjectError([ share, video ]);\n\n const hasDataLoaded =\n share.hasCompleted &&\n video.hasCompleted &&\n config.hasCompleted &&\n aggregateEngagement.hasCompleted &&\n yearGroupsCount.hasCompleted &&\n viewKey.hasCompleted &&\n yearGroups.hasCompleted;\n\n function getInsightsTabs() {\n if (share.data?.objectTypeId === MasterType.Interactive)\n return getInsightsInteractiveTabs(share.data, 'heatmap');\n\n return getInsightsVideoTabs(share.data, 'heatmap');\n }\n\n return (\n <div className='px-3'>\n <InsightsHeader\n video={video.data}\n tabs={getInsightsTabs()}\n hasAnalytics={hasPermissions(PermissionName.ViewCustomerAnalytics)}\n analyticsWebUrl={config.data?.analyticsWebUrl}\n share={share.data}\n yearGroups={yearGroups.data}\n classroom={classroom.data}\n markingRequired={markingRequired}\n />\n <InsightsHeatmap\n aggregateEngagement={aggregateEngagement.data}\n individualEngagement={engagement}\n yearGroups={yearGroupsCount.data}\n config={config.data}\n users={users}\n viewKey={viewKey.data}\n hasDataLoaded={hasDataLoaded}\n tableDataLoaded={hasCompleted}\n anonymiseUsers={anonymiseUsers}\n classroomStudents={classroomStudents.items}\n />\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { GroupedAnalyticsCount } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { groupStudents } from 'libs/shared/apps/analytics/utils/InteractiveUtils';\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { ScoreThresholdInsights } from 'libs/shared/constants/ScoreThresholds';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useLockContentWidth } from 'libs/shared/hooks/useLockContentWidth';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classroom, Config, CurrentUser, Engagement, Interactive, InteractiveMetadata, YearGroup } from 'libs/shared/interfaces';\n\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { InteractiveInsightsOverview } from 'apps/my-shares/components/interactive-insights-overview/InteractiveInsightsOverview';\nimport { VideoViewsV2Requests } from 'apps/my-shares/flight-requests/VideoViewsV2Requests';\nimport { useInsightsClassroomStudents } from 'apps/my-shares/hooks/useInsightsClassroomStudents';\nimport { useInsightsInteractiveResults } from 'apps/my-shares/hooks/useInsightsInteractiveResults';\nimport { getInsightsInteractiveTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\nimport { getInteractiveInsightsAppLinks } from 'apps/my-shares/views/interactive/overview/InteractiveInsightsOverviewUtils';\n\nconst namespace = 'insights.interactiveInsightsOverviewView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InteractiveInsightsViewProps {\n shareId: string;\n}\n\nexport function InteractiveInsightsOverviewView(props: InteractiveInsightsViewProps) {\n const [anonymiseUsers] = useViewModel<boolean>(SharedViewModelKeys.ANONYMISE_USERS);\n\n useLockContentWidth();\n\n const { hasPermissions } = usePermissions();\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 && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const share = Flight.useBasicFetch<Share>(ShareRequests.getShare(props.shareId));\n \n const classroomId = ShareHelper.getClassroomIdFromShare(share.data);\n const classroom = Flight.useBasicFetch<Classroom>(classroomId && ClassroomRequests.getClassroom(classroomId));\n\n const classroomStudents = useInsightsClassroomStudents(props.shareId);\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n share.data?.objectId &&\n InteractiveRequests.interactiveMetadata(share.data.objectId)\n );\n\n const interactive = Flight.useBasicFetch<Interactive>(\n interactiveMetadata.data?.interactiveId &&\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId)\n );\n\n const results = useInsightsInteractiveResults(props.shareId);\n\n const engagement = Flight.useBasicFetch<Engagement[]>(\n VideoViewsV2Requests.shareHeatMap(props.shareId)\n );\n\n const aggregateEngagement = Flight.useBasicFetch<Engagement>(\n VideoViewsV2Requests.shareHeatMapAggregation(props.shareId)\n );\n\n const osCount = Flight.useBasicFetch<GroupedAnalyticsCount[]>(\n VideoViewsV2Requests.shareAggregation(props.shareId, 'os_name')\n );\n\n useSetPageMetadata({ title: interactiveMetadata.data ? getPhrase('pageTitle', { video: interactiveMetadata.data?.name }) : null });\n\n useHandleObjectError([ share, interactive, interactiveMetadata ]);\n\n const hasDataLoaded =\n config.hasCompleted &&\n interactiveMetadata.hasCompleted &&\n interactive.data &&\n aggregateEngagement.hasCompleted &&\n engagement.hasCompleted &&\n osCount.hasCompleted &&\n results.hasCompleted &&\n yearGroups.hasCompleted;\n\n const interactiveInsightsAppLinks = getInteractiveInsightsAppLinks(share.data);\n\n const studentGroups = hasDataLoaded && groupStudents(interactive.data, results.data, ScoreThresholdInsights);\n const markingRequired = studentGroups && studentGroups.markingRequired.length > 0;\n\n return (\n <div className='px-3'>\n <InsightsHeader\n video={interactiveMetadata.data}\n tabs={getInsightsInteractiveTabs(share.data, 'insights')}\n hasAnalytics={hasPermissions(PermissionName.ViewCustomerAnalytics)}\n analyticsWebUrl={config.data?.analyticsWebUrl}\n share={share.data}\n yearGroups={yearGroups.data}\n classroom={classroom.data}\n markingRequired={markingRequired}\n />\n\n <InteractiveInsightsOverview\n aggregateEngagement={aggregateEngagement.data}\n individualEngagement={engagement.data}\n interactive={interactive.data}\n interactiveMetadata={interactiveMetadata.data}\n interactiveInsightsAppLinks={interactiveInsightsAppLinks}\n classroomStudents={classroomStudents.items}\n results={results.data}\n osCount={osCount.data}\n config={config.data}\n anonymiseUsers={anonymiseUsers}\n hasDataLoaded={hasDataLoaded}\n share={share.data}\n />\n </div>\n );\n}","import { HashObject } from 'libs/common/react/interfaces';\n\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\n\nimport { getInsightsHeatmapAppLink, getInsightsQuestionsAppLink, getInsightsStudentsAppLink } from 'shared/utils/ObjectAppLinkHelper';\n\nexport function getInteractiveInsightsAppLinks(share: Share, params?: HashObject) {\n return {\n resultsAppLink: getInsightsStudentsAppLink(share, params),\n questionsAppLink: getInsightsQuestionsAppLink(share, params),\n heatmapAppLink: getInsightsHeatmapAppLink(share, params)\n };\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { groupStudents } from 'libs/shared/apps/analytics/utils/InteractiveUtils';\nimport { SortStudentsBy } from 'libs/shared/apps/analytics/utils/StudentTableUtils';\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { ScoreThresholdInsights } from 'libs/shared/constants/ScoreThresholds';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useLockContentWidth } from 'libs/shared/hooks/useLockContentWidth';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classroom, Config, CurrentUser, Interactive, InteractiveMetadata, YearGroup } from 'libs/shared/interfaces';\n\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { InteractiveInsightsQuestions } from 'apps/my-shares/components/interactive-insights-questions/InteractiveInsightsQuestions';\nimport { useInsightsInteractiveResults } from 'apps/my-shares/hooks/useInsightsInteractiveResults';\nimport { getInsightsInteractiveTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\n\nconst namespace = 'shared.interactiveInsightsQuestionsView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InteractiveInsightsQuestionsViewProps {\n shareId: string;\n interactionId: string;\n sortBy: SortStudentsBy;\n}\n\nexport function InteractiveInsightsQuestionsView(props: InteractiveInsightsQuestionsViewProps) {\n const [anonymiseUsers] = useViewModel<boolean>(SharedViewModelKeys.ANONYMISE_USERS);\n\n useLockContentWidth();\n\n const { hasPermissions } = usePermissions();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const share = Flight.useBasicFetch<Share>(ShareRequests.getShare(props.shareId));\n \n const classroomId = ShareHelper.getClassroomIdFromShare(share.data);\n const classroom = Flight.useBasicFetch<Classroom>(classroomId && ClassroomRequests.getClassroom(classroomId));\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n share.data?.objectId &&\n InteractiveRequests.interactiveMetadata(share.data?.objectId)\n );\n\n const interactive = Flight.useBasicFetch<Interactive>(interactiveMetadata.data?.interactiveId &&\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId));\n\n const results = useInsightsInteractiveResults(props.shareId);\n\n useSetPageMetadata({ title: interactiveMetadata.data ? getPhrase('pageTitle', { video: interactiveMetadata.data?.name }) : null });\n useHandleObjectError([ share, interactive, interactiveMetadata ]);\n\n const hasDataLoaded = interactive.data && interactiveMetadata.data && !!results.data && !!yearGroups.data;\n \n const studentGroups = hasDataLoaded && groupStudents(interactive.data, results.data, ScoreThresholdInsights);\n const markingRequired = studentGroups && studentGroups.markingRequired.length > 0;\n\n return (\n <div className='px-3'>\n <InsightsHeader\n tabs={getInsightsInteractiveTabs(share.data, 'questions')}\n video={interactiveMetadata.data}\n hasAnalytics={hasPermissions(PermissionName.ViewCustomerAnalytics)}\n analyticsWebUrl={config.data?.analyticsWebUrl}\n share={share.data}\n yearGroups={yearGroups.data}\n classroom={classroom.data}\n markingRequired={markingRequired}\n />\n\n <InteractiveInsightsQuestions\n interactive={interactive.data}\n interactiveMetadata={interactiveMetadata.data}\n interactionId={props.interactionId}\n config={config.data}\n sortBy={props.sortBy}\n isFetching={!results.hasCompleted || interactive.isFetching}\n anonymiseUsers={anonymiseUsers}\n results={results.data}\n hasDataLoaded={hasDataLoaded}\n />\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { groupStudents } from 'libs/shared/apps/analytics/utils/InteractiveUtils';\nimport { FilterStudentsBy, SortStudentsBy } from 'libs/shared/apps/analytics/utils/StudentTableUtils';\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { ScoreThresholdInsights } from 'libs/shared/constants/ScoreThresholds';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classroom, Config, CurrentUser, Interactive, InteractiveMetadata, YearGroup } from 'libs/shared/interfaces';\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { InteractiveInsightsStudents } from 'apps/my-shares/components/interactive-insights-students/InteractiveInsightsStudents';\nimport { useInsightsInteractiveResults } from 'apps/my-shares/hooks/useInsightsInteractiveResults';\nimport { getInsightsInteractiveTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\n\nconst namespace = 'insights.interactiveInsightsStudents';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InteractiveInsightsStudentsViewProps {\n shareId: string;\n sortBy: SortStudentsBy;\n filterBy: FilterStudentsBy;\n}\n\nexport function InteractiveInsightsStudentsView(props: InteractiveInsightsStudentsViewProps) {\n const [anonymiseUsers] = useViewModel<boolean>(SharedViewModelKeys.ANONYMISE_USERS);\n\n const { hasPermissions } = usePermissions();\n \n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const share = Flight.useBasicFetch<Share>(ShareRequests.getShare(props.shareId));\n \n const classroomId = ShareHelper.getClassroomIdFromShare(share.data);\n const classroom = Flight.useBasicFetch<Classroom>(classroomId && ClassroomRequests.getClassroom(classroomId));\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n share.data?.objectId &&\n InteractiveRequests.interactiveMetadata(share.data.objectId)\n );\n\n const interactive = Flight.useBasicFetch<Interactive>(interactiveMetadata.data?.interactiveId &&\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId));\n\n const results = useInsightsInteractiveResults(props.shareId);\n\n const hasDataLoaded = interactive.data && interactiveMetadata.data && !!results.data && !!yearGroups.data;\n\n const studentGroups = hasDataLoaded && groupStudents(interactive.data, results.data, ScoreThresholdInsights);\n const markingRequired = studentGroups && studentGroups.markingRequired.length > 0;\n\n useSetPageMetadata({ title: interactiveMetadata.data ? getPhrase('pageTitle', { video: interactiveMetadata.data?.name }) : null });\n useHandleObjectError([ share, interactive, interactiveMetadata ]);\n\n function viewStudentResults(\n user: AnonUser,\n interactiveMetadataId: string,\n interactionId?: string\n ) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_STUDENT_RESULTS,\n params: {\n studentId: user.id,\n shareId: props.shareId,\n interactionId,\n sessionId: user.sessionId\n }\n });\n }\n\n return (\n <div className='px-3'>\n <InsightsHeader\n tabs={getInsightsInteractiveTabs(share.data, 'results')}\n video={interactiveMetadata.data}\n hasAnalytics={hasPermissions(PermissionName.ViewCustomerAnalytics)}\n analyticsWebUrl={config.data?.analyticsWebUrl}\n share={share.data}\n yearGroups={yearGroups.data}\n classroom={classroom.data}\n markingRequired={markingRequired}\n />\n\n <InteractiveInsightsStudents\n interactiveMetadata={interactiveMetadata.data}\n viewStudentResults={viewStudentResults}\n interactive={interactive.data}\n results={results.data}\n filterBy={props.filterBy}\n sortBy={props.sortBy}\n isFetching={!results.hasCompleted}\n anonymiseUsers={anonymiseUsers}\n hasDataLoaded={hasDataLoaded}\n config={config.data}\n />\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { InsightCard } from 'libs/shared/apps/analytics/components/insight-card/InsightCard';\nimport { InsightStudentList } from 'libs/shared/apps/analytics/components/insight-student-list/InsightStudentList';\nimport { User } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.insightStudentsNotWatched';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InsightStudentsNotWatchedProps {\n students: User[];\n imageCdnUrl: string;\n imageUrl: string;\n heatmapAppLink: Core.AppLink;\n watchedIds: string[];\n anonymiseUsers: boolean;\n}\n\nexport function InsightStudentsNotWatched(props: InsightStudentsNotWatchedProps) {\n const studentsNotWatched = props.students?.filter(student => !props.watchedIds?.includes(student.id)) || [];\n\n return (\n <InsightCard\n title={getPhrase('title')}\n svgName={cvSvgLibrary.Puzzle}\n svgClassName='bg-light-teal text-teal'\n >\n <InsightStudentList\n students={studentsNotWatched}\n imageCdnUrl={props.imageCdnUrl}\n imageUrl={props.imageUrl}\n description={getPhrase('studentsDisplay')}\n anonymiseUsers={props.anonymiseUsers}\n />\n </InsightCard>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { InsightCard } from 'libs/shared/apps/analytics/components/insight-card/InsightCard';\nimport { InsightStudentList } from 'libs/shared/apps/analytics/components/insight-student-list/InsightStudentList';\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.insightStudentsWatched';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InsightWatchedProps {\n students: AnonUser[];\n imageCdnUrl: string;\n heatmapAppLink: Core.AppLink;\n imageUrl: string;\n anonymiseUsers: boolean;\n}\n\nexport function InsightStudentsWatched(props: InsightWatchedProps) {\n return (\n <InsightCard\n title={getPhrase('title')}\n svgName={cvSvgLibrary.Flag}\n svgClassName='bg-light-indigo text-indigo'\n count={props.students.length}\n >\n <InsightStudentList\n students={props.students}\n imageCdnUrl={props.imageCdnUrl}\n imageUrl={props.imageUrl}\n description={getPhrase('studentsDisplay')}\n appLink={props.heatmapAppLink}\n appLinkText={getPhrase('viewAll')}\n anonymiseUsers={props.anonymiseUsers}\n />\n </InsightCard>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"partialInsights\":\"oHwkx\"};","import React from 'react';\n\nimport styles from './partial-video-insights-overview.scss';\n\nexport function PartialVideoInsightsOverview() {\n return (\n <div>\n <h2 className='h4 w-25 partial-loading-background'> </h2>\n <div className='row g-3 mb-5'>\n <div className='col-12'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n </div>\n\n <h2 className='h4 w-25 partial-loading-background'> </h2>\n <div className='row g-3 mb-5'>\n <div className='col-6'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n <div className='col-6'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { InsightDevices } from 'libs/shared/apps/analytics/components/insights/devices/InsightDevices';\nimport { InsightHeatmap } from 'libs/shared/apps/analytics/components/insights/heatmap/InsightHeatmap';\nimport { InsightStudentsNotWatched } from 'libs/shared/apps/analytics/components/insights/students-not-watched/InsightStudentsNotWatched';\nimport { InsightStudentsWatched } from 'libs/shared/apps/analytics/components/insights/students-watched/InsightStudentsWatched';\nimport { GroupedAnalyticsCount } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { getEngagementRate } from 'libs/shared/apps/analytics/utils/EngagementUtils';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Config, Engagement, User, Video } from 'libs/shared/interfaces';\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { InsightsShareMask } from 'apps/my-shares/components/insights-mask/InsightsShareMask';\nimport { PartialVideoInsightsOverview } from 'apps/my-shares/components/video-insights-overview/partial-loading/PartialVideoInsightsOverview';\n\nconst namespace = 'insights.videoInsightsOverview';\n\ninterface VideoInsightsOverviewProps {\n hasDataLoaded: boolean;\n hasClassrooms: boolean;\n anonymiseUsers: boolean;\n videoInsightsAppLinks: HashObject;\n config: Config;\n video: Video;\n classroomStudents: User[];\n viewers: AnonUser[];\n individualEngagement: Engagement[];\n aggregateEngagement: Engagement;\n share: Share;\n osCount: GroupedAnalyticsCount[];\n}\n\nexport function VideoInsightsOverview(props: VideoInsightsOverviewProps) {\n const hasData = props.hasDataLoaded && !!props.viewers?.length;\n\n function getStudentsList() {\n if (!props.viewers) return [];\n\n return Object.values(props.viewers);\n }\n\n return (\n <>\n {!props.hasDataLoaded && <PartialVideoInsightsOverview />}\n\n {props.hasDataLoaded &&\n <InsightsShareMask video={props.video} hasData={hasData} share={props.share}>\n <section className='mb-5'>\n <h2 className='h4'>\n <Text namespace={namespace} phrase='studentViewing' />\n <span>: {getStudentsList().length}{props.classroomStudents ? `/${props.classroomStudents.length}` : ''}</span>\n </h2>\n <div className='row g-3'>\n {!!props.classroomStudents?.length && (\n <div className='col-12 col-md'>\n <InsightStudentsNotWatched\n students={props.classroomStudents}\n watchedIds={props.viewers?.map(u => u.id)}\n imageCdnUrl={props.config.imageCdnUrl}\n heatmapAppLink={props.videoInsightsAppLinks.heatmapAppLink}\n imageUrl={ImageUrls.Insights.AVATAR}\n anonymiseUsers={props.anonymiseUsers}\n />\n </div>\n )}\n <div className='col-12 col-md'>\n <InsightStudentsWatched\n students={getStudentsList()}\n imageCdnUrl={props.config.imageCdnUrl}\n heatmapAppLink={props.videoInsightsAppLinks.heatmapAppLink}\n imageUrl={ImageUrls.Insights.AVATAR}\n anonymiseUsers={props.anonymiseUsers}\n />\n </div>\n </div>\n </section>\n <section className='mb-5'>\n <h2 className='h4'>\n <Text\n namespace={namespace}\n phrase={props.hasClassrooms ? 'classEngagement' : 'engagement'}\n />\n </h2>\n <div className='row g-3'>\n <div className='col-12 col-md-6'>\n <InsightDevices\n osCount={props.osCount}\n />\n </div>\n <div className='col-12 col-md-6'>\n <InsightHeatmap\n engagement={props.aggregateEngagement}\n heatmapAppLink={props.videoInsightsAppLinks.heatmapAppLink}\n engagementRate={getEngagementRate(props.individualEngagement)}\n />\n </div>\n </div>\n </section>\n </InsightsShareMask>\n }\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { GroupedAnalyticsCount } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\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 { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useLockContentWidth } from 'libs/shared/hooks/useLockContentWidth';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Classroom, Config, CurrentUser, Engagement, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { VideoInsightsOverview } from 'apps/my-shares/components/video-insights-overview/VideoInsightsOvervew';\nimport { VideoViewsV2Requests } from 'apps/my-shares/flight-requests/VideoViewsV2Requests';\nimport { useInsightEngagement } from 'apps/my-shares/hooks/useInsightEngagement';\nimport { useInsightsClassroomStudents } from 'apps/my-shares/hooks/useInsightsClassroomStudents';\nimport { getInsightsVideoTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\nimport { getVideoInsightsAppLinks } from 'apps/my-shares/views/video/overview/VideoInsightsOverviewUtils';\n\nconst namespace = 'insights.videoInsightsOverviewView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface VideoInsightsViewProps {\n shareId: string;\n}\n\nexport function VideoInsightsOverviewView(props: VideoInsightsViewProps) {\n const [anonymiseUsers] = useViewModel<boolean>(SharedViewModelKeys.ANONYMISE_USERS);\n\n useLockContentWidth();\n\n const { hasClassrooms } = useSettings(null);\n\n const { hasPermissions } = usePermissions();\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 && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const share = Flight.useBasicFetch<Share>(ShareRequests.getShare(props.shareId));\n\n const classroomId = ShareHelper.getClassroomIdFromShare(share.data);\n const classroom = Flight.useBasicFetch<Classroom>(classroomId && ClassroomRequests.getClassroom(classroomId));\n\n const classroomStudents = useInsightsClassroomStudents(props.shareId);\n\n const videoRequest = share.data && VideoHelper.getVideoRequest(share.data.objectId, share.data.objectTypeId);\n const video = Flight.useBasicFetch<VideoTypes>(videoRequest);\n\n useSetPageMetadata({ title: video.data ? getPhrase('pageTitle', { video: video.data?.name }) : null });\n useHandleObjectError([ share, video ]);\n\n const engagement = Flight.useBasicFetch<Engagement[]>(\n VideoViewsV2Requests.shareHeatMap(props.shareId)\n );\n\n const aggregateEngagement = Flight.useBasicFetch<Engagement>(\n VideoViewsV2Requests.shareHeatMapAggregation(props.shareId)\n );\n\n const osCount = Flight.useBasicFetch<GroupedAnalyticsCount[]>(\n VideoViewsV2Requests.shareAggregation(props.shareId, 'os_name')\n );\n\n const { users, hasCompleted } = useInsightEngagement(props.shareId);\n \n const hasDataLoaded =\n config.hasCompleted &&\n video.hasCompleted &&\n engagement.hasCompleted &&\n aggregateEngagement.hasCompleted &&\n osCount.hasCompleted &&\n yearGroups.data &&\n hasCompleted;\n\n const videoInsightsAppLinks = getVideoInsightsAppLinks(share.data);\n\n return (\n <div className='px-3'>\n <InsightsHeader\n video={video.data}\n classroom={classroom.data}\n tabs={getInsightsVideoTabs(share.data, 'insights')}\n hasAnalytics={hasPermissions(PermissionName.ViewCustomerAnalytics)}\n analyticsWebUrl={config.data?.analyticsWebUrl}\n share={share.data}\n yearGroups={yearGroups.data}\n />\n\n <VideoInsightsOverview\n hasDataLoaded={!!hasDataLoaded}\n hasClassrooms={hasClassrooms}\n anonymiseUsers={anonymiseUsers}\n videoInsightsAppLinks={videoInsightsAppLinks}\n config={config.data}\n video={video.data}\n classroomStudents={classroomStudents.items}\n viewers={users}\n individualEngagement={engagement.data}\n aggregateEngagement={aggregateEngagement.data}\n share={share.data}\n osCount={osCount.data}\n />\n </div>\n );\n}","import { HashObject } from 'libs/common/react/interfaces';\n\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\n\nimport { getInsightsHeatmapAppLink } from 'shared/utils/ObjectAppLinkHelper';\n\nexport function getVideoInsightsAppLinks(share: Share, params?: HashObject) {\n return {\n heatmapAppLink: getInsightsHeatmapAppLink(share, params)\n };\n}","import React from 'react';\n\nimport { FilterStudentsBy, SortStudentsBy } from 'libs/shared/apps/analytics/utils/StudentTableUtils';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { MasterType } from 'libs/shared/enums/MasterType';\n\nimport { InsightsTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\nimport { InsightsHeatmapView } from 'apps/my-shares/views/heatmap/InsightsHeatmapView';\nimport { InteractiveInsightsOverviewView } from 'apps/my-shares/views/interactive/overview/InteractiveInsightsOverviewView';\nimport { InteractiveInsightsQuestionsView } from 'apps/my-shares/views/interactive/questions/InteractiveInsightsQuestionsView';\nimport { InteractiveInsightsStudentsView } from 'apps/my-shares/views/interactive/students/InteractiveInsightsStudentsView';\nimport { VideoInsightsOverviewView } from 'apps/my-shares/views/video/overview/VideoInsightsOverviewView';\n\ninterface UseInsightsViewOptions {\n share: Share | undefined;\n tab: InsightsTabs;\n interactionId: string;\n sortBy: SortStudentsBy;\n filterBy: FilterStudentsBy;\n}\n\ntype ShareContext = Omit<UseInsightsViewOptions, 'tab'>;\ntype ViewFn = (ctx: ShareContext) => JSX.Element;\ntype ViewRegistry = Partial<Record<MasterType, Partial<Record<InsightsTabs, ViewFn>>>>;\n\nconst INSIGHTS_VIEWS: ViewRegistry = {\n [MasterType.Video]: {\n insights: ctx => <VideoInsightsOverviewView shareId={ctx.share.shareId} />,\n heatmap: ctx => <InsightsHeatmapView shareId={ctx.share.shareId} />\n },\n [MasterType.Clip]: {\n insights: ctx => <VideoInsightsOverviewView shareId={ctx.share.shareId} />,\n heatmap: ctx => <InsightsHeatmapView shareId={ctx.share.shareId} />\n },\n [MasterType.Interactive]: {\n insights: ctx => <InteractiveInsightsOverviewView shareId={ctx.share.shareId} />,\n heatmap: ctx => <InsightsHeatmapView shareId={ctx.share.shareId} />,\n questions: ctx => (\n <InteractiveInsightsQuestionsView\n interactionId={ctx.interactionId}\n sortBy={ctx.sortBy}\n shareId={ctx.share.shareId}\n />\n ),\n results: ctx => (\n <InteractiveInsightsStudentsView\n filterBy={ctx.filterBy}\n sortBy={ctx.sortBy}\n shareId={ctx.share.shareId}\n />\n )\n }\n};\n\n/**\n * Takes any Share object and a tab, and returns the corresponding \"insights\" view.\n * This is just a utility hook, and as such doesn't need to set the page title directly.\n */\n// eslint-disable-next-line rulesdir/require-view-title\nexport function useInsightsView(options: UseInsightsViewOptions): JSX.Element {\n const { share, tab } = options;\n const viewFn = INSIGHTS_VIEWS[share?.objectTypeId]?.[tab];\n\n if (viewFn)\n return viewFn(options);\n\n return <></>;\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { FilterStudentsBy, SortStudentsBy } from 'libs/shared/apps/analytics/utils/StudentTableUtils';\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\n\nimport { getShareOptionsAppLink } from 'shared/utils/ObjectAppLinkHelper';\n\nimport { InsightsTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\nimport { useInsightsView } from 'apps/my-shares/views/base-insights-view/useInsightsView';\n\ninterface BaseInsightsViewProps {\n shareId: string;\n tab: InsightsTabs;\n interactionId: string;\n sortBy: SortStudentsBy;\n filterBy: FilterStudentsBy;\n showShareOptions?: boolean;\n}\n\n/**\n * BaseInsightsView is a generic component that renders different \"insights\" views based on the provided share.\n * The child views will handle setting the page title and other specific details.\n * \n * It also handles the logic for showing share options if `showShareOptions` is true - which is currently used\n * in our used in our LCE emails.\n */\n// eslint-disable-next-line rulesdir/require-view-title\nexport function BaseInsightsView(props: BaseInsightsViewProps): JSX.Element {\n const share = Flight.useBasicFetch<Share>(ShareRequests.getShare(props.shareId));\n\n const view = useInsightsView({\n share: share.data,\n tab: props.tab,\n interactionId: props.interactionId,\n sortBy: props.sortBy,\n filterBy: props.filterBy\n });\n\n React.useEffect(() => {\n if (!props.showShareOptions) return;\n if (!share.data) return;\n\n const appLink = getShareOptionsAppLink(share.data);\n \n if (!appLink) return;\n\n Core.AppLinkHelper.trigger(appLink);\n }, [ share.data, props.showShareOptions ]);\n\n return (\n <>\n {view}\n </>\n );\n}"],"names":["useFetchInteractiveResults","interactiveMetadataId","requestFilter","shareId","currentUser","interactiveMetadata","interactive","data","interactiveId","shouldFetchResults","I","id","normalizeOptions","namespace","ShareRequests","createShare","url","key","type","invalidationKeys","updateShare","deleteShare","getShare","bootstrapName","getSentShares","params","Object","values","sort","join","normalize","getShareLink","objectId","createShareLink","getPrivacy","getSharesByObjectId","createSharePincode","getPincodeByShareId","getPincodeByCode","code","defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","internalServerError","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap","CHUNK_SIZE","useBatchFetch","itemIds","getRequest","requests","map","chunk","responses","itemsArr","items","length","reduce","acc","item","isFetching","hasCompleted","useGrowingBatchFetch","objs","_getKey","getKey","obj","useGrowingBatchFetchFunc","fetchItems","options","fetchedItems","Set","setRequests","hasFirstRequestCompleted","unfetchedItems","forEach","current","has","push","add","r","generateCacheKey","flightObjs","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","Array","isArray","useEffect","getPhrase","LanguageService","StudentResultsEmptyState","props","filter","EmptyState","className","src","notCompletedImageUrl","size","markingRequiredImageUrl","helpingHandImageUrl","emptyStateImageUrl","StudentResultsTableFilterButtons","toggleFilter","selectedFilter","updatedFilter","setFilter","getClassName","isFilterSelected","Text","phrase","onClick","fixedTableTheme","table","header","headerRow","headerCell","row","resultsTableTheme","cell","StudentResultsTable","sortBy","setSortBy","filterBy","ref","fixedColumns","results","anonymiseUsers","config","imageCdnUrl","resultColumns","index","refreshTable","ArrayHelper","onRowHover","students","Table","columns","theme","onSelectRow","original","viewStudentResults","user","onRowMouseOver","onRowMouseLeave","enableSort","manualSort","onSort","initialSortBy","enableSlider","scrollIncrement","onSelectCell","column","scrollContainerClassName","PartialInteractiveInsightsStudents","InteractiveInsightsStudents","hasDataLoaded","ImageUrls","useAnonSessions","anonSessions","prev","next","sessionId","anonSession","name","sessionName","useInsightsClassroomStudents","fetch","share","classroomId","recipients","find","recipientTypeId","recipientId","cursor","result","EMPTY_INTERACTIVE_RESULTS","attempts","answeredAt","answers","useInsightsInteractiveResults","classroomStudents","studentHash","s","VideoViewsV2Requests","useInsightEngagement","engagement","userIds","u","userId","users","UserRequests","userMap","viewers","e","percentage","engagementRate","InsightsHeatmapView","useLockContentWidth","hasPermissions","usePermissions","ShareHelper","classroom","ClassroomRequests","videoRequest","VideoHelper","objectTypeId","video","ConfigRequests","yearGroups","CustomerRequests","customerId","pendingReviewsRequest","InteractiveResultsRequests","interactives","metadataId","filters","currentCustomerId","currentUserId","markingRequired","pendingReviewCount","aggregateEngagement","yearGroupsCount","viewKey","PlayerRequests","MediaIdType","useSetPageMetadata","title","InsightsHeader","tabs","MasterType","getInsightsTabs","hasAnalytics","PermissionName","analyticsWebUrl","InsightsHeatmap","individualEngagement","tableDataLoaded","InteractiveInsightsOverviewView","SharedViewModelKeys","InteractiveRequests","osCount","interactiveInsightsAppLinks","resultsAppLink","questionsAppLink","heatmapAppLink","getInteractiveInsightsAppLinks","studentGroups","InteractiveInsightsOverview","InteractiveInsightsQuestionsView","InteractiveInsightsQuestions","interactionId","InteractiveInsightsStudentsView","application","action","studentId","InsightStudentsNotWatched","studentsNotWatched","student","watchedIds","includes","InsightCard","svgName","svgClassName","InsightStudentList","imageUrl","description","InsightStudentsWatched","count","appLink","appLinkText","PartialVideoInsightsOverview","VideoInsightsOverview","hasData","getStudentsList","InsightsShareMask","videoInsightsAppLinks","hasClassrooms","InsightDevices","InsightHeatmap","VideoInsightsOverviewView","useSettings","getVideoInsightsAppLinks","INSIGHTS_VIEWS","insights","ctx","heatmap","questions","BaseInsightsView","view","tab","viewFn","useInsightsView","showShareOptions"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9042],{93479:(e,t,a)=>{a.d(t,{I:()=>s});var n=a(99940);function r(e,t,a){if(!t)return e;var n="".concat(e,":").concat(t.start,":").concat(t.end),r=Array.isArray(t.userId)?t.userId.sort().join(":"):t.userId,i=Array.isArray(t.groupId)?t.groupId.sort().join(":"):t.groupId,s=Array.isArray(t.customerId)?t.customerId.sort().join(":"):t.customerId;return r&&(n+=":".concat(r)),i&&(n+=":".concat(i)),s&&(n+=":".concat(s)),a&&(n+=":".concat(a)),n}function i(e,t,a){return{currentUserId:e.id,currentCustomerId:e.customerId,dateRange:t?{start:t.start,end:t.end}:void 0,userIds:null==t?void 0:t.userId,classroomsAndGroups:null==t?void 0:t.groupId,shareId:a}}var s={interactiveResultSet:function(e,t,a,s,o,c,l,u){return{url:o?"/api/domain/v3/analytics/interactives/".concat(e,"/metadata/").concat(t):"/api/domain/v2/analytics/interactives/".concat(e,"/metadata/").concat(t),key:r("interactive:result:set:".concat(e,":").concat(t,":").concat(o),s),data:i(a,s,o),type:n.k.POST,normalize:!1,success:c,error:l,always:u}},mark:function(e,t,a,r,i,s,o){return{url:"/api/domain/v1/analytics/answers/".concat(a),key:"mark:answer:".concat(a,":").concat(r.resultId),type:n.k.PUT,data:r,normalize:!1,invalidationKeys:"interactive:result:set:".concat(e,":").concat(t),success:i,error:s,always:o}},pendingReviews:function(e){return{url:"/api/domain/v1/analytics/interactives/pending-reviews/summary",key:"interactives:pending:reviews",type:n.k.POST,data:e}},interactiveResultsReport:function(e){return{url:"/api/domain/v3/analytics/interactives/report",key:"interactive:results:report",data:e,type:n.k.POST,normalize:!1}}}},2510:(e,t,a)=>{var n;a.d(t,{y:()=>n}),function(e){e.Link="Link",e.Classroom="Classroom",e.Open="Open",e.Live="Live",e.LegacyDirect="LegacyDirect"}(n||(n={}))},21789:(e,t,a)=>{a.d(t,{x:()=>s});var n=a(75896),r=a(110),i=a(4594),s={getFlattenedRecipients:function(e){return n.m.flatten(e.map(function(e){var t;return null!==(t=e.recipients)&&void 0!==t?t:[]}))},getFlattenedUniqueScopes:function(e){var t=s.getFlattenedRecipients(e);return n.m.uniq(t.map(function(e){var t;return null===(t=e.scopeId)||void 0===t?void 0:t.toString()})).filter(function(e){return!!e})},getClassroomIdFromShare:function(e){var t,a=null===(t=e.recipients)||void 0===t?void 0:t[0];if(a)return a.scopeId?a.scopeId.toString():a.recipientId&&a.recipientTypeId===i.E.Classroom?a.recipientId.toString():void 0},getClassroomForShare:function(e,t){var a=s.getClassroomIdFromShare(e);if(a)return t.find(function(e){return e.id.toString()===a.toString()})},getRecipientsCount:function(e,t){var a,n,r,i;return t?null!==(i=null===(r=e.recipients)||void 0===r?void 0:r.filter(function(e){return e.recipientTypeId===t}).length)&&void 0!==i?i:0:null!==(n=null===(a=e.recipients)||void 0===a?void 0:a.length)&&void 0!==n?n:0},hasShareExpired:function(e){if(e.expireDate){var t=new Date,a=new Date(e.expireDate);if(r.O.isAfter(t,a))return!0}return!1},calculateDaysToExpiry:function(e){if(e.expireDate){var t=r.O.diffBetween(new Date(e.expireDate),new Date,"day")||1;return 0===t?1:t}},getShareLocalExpiry:function(e,t){if(!e.expireDate)return null;var a=r.O.convertUTCToLocal(e.expireDate);return r.O.format(a,t)}}},49863:(e,t,a)=>{a.d(t,{m9:()=>S,Ad:()=>E,Kh:()=>I});var n=a(32735),r=a(23481),i=a(75896),s=a(97408),o=a(18995),c=a(12528),l=a(83914),u=a(36532),d=a(4594),m=a(36511),p=a(35223),v=a(64818);const f={avatarContainer:"ByxQa",sm:"EgJ0v",sharedAvatar:"cW0NT"};var y=r.T.encloseNamespace("reportsShare.sharedToAvatarList");function h(e){var t=i.m.countBy(e,"typeId"),a=t[d.E.User],n=t[d.E.Classroom],r=t[d.E.ClassroomGroup];return a&&n&&r?y("classroomsGroupsAndUsers",{userCount:a,classroomCount:n,groupCount:r}):a&&n?y("classroomsAndUsers",{userCount:a,classroomCount:n}):a&&r?y("groupsAndUsers",{userCount:a,groupCount:r}):n&&r?y("classroomsAndGroups",{classroomCount:n,groupCount:r}):a?y("users",{userCount:a}):n?y("classrooms",{classroomCount:n}):r?y("groups",{groupCount:r}):void 0}function g(e){var t,a,r,i,o,y=(null===(t=e.item)||void 0===t?void 0:t.typeId)===d.E.User&&e.item,h=(null===(a=e.item)||void 0===a?void 0:a.typeId)===d.E.Classroom&&e.item,g=(null===(r=e.item)||void 0===r?void 0:r.typeId)===d.E.ClassroomGroup&&e.item,S="d-flex justify-content-center align-items-center text-white rounded-circle h-100 w-100";return n.createElement(n.Fragment,null,!!y&&n.createElement(u.u,{title:"".concat(y.name," ").concat(y.surname),spanHack:!0,spanHackClassName:"h-100 w-100"},n.createElement(s.q,{imageUrl:null===(i=y.avatar)||void 0===i?void 0:i.url,imageCdnUrl:e.imageCdnUrl,initials:v.l.getInitials(y.name,y.surname),extraClasses:f.sharedAvatar})),!!h&&n.createElement(u.u,{title:h.name,spanHack:!0,spanHackClassName:"h-100 w-100"},n.createElement("div",{className:S},n.createElement(c.f,{svgName:p.vn.Classrooms,svgSize:l.S.Large,variant:"teal"}))),!!g&&n.createElement(u.u,{title:g.name,spanHack:!0,spanHackClassName:"h-100 w-100"},n.createElement("div",{className:S},n.createElement(c.f,{svgName:p.vn.Group,variant:(0,m.I)(null===(o=g.metadata)||void 0===o?void 0:o.colour)}))))}function S(e){return n.createElement("div",{className:"".concat(f.avatarContainer," ").concat("sm"===e.avatarSize?f.sm:"")},n.createElement(u.u,{title:y("anonymous"),spanHack:!0,spanHackClassName:"bg-light text-dark d-flex justify-content-center align-items-center rounded-circle h-100 w-100"},n.createElement(l.x,{svgName:p.vn.Anonymous,size:"sm"===e.avatarSize?l.S.Small:null})))}function E(e){return n.createElement("div",{className:"".concat(f.avatarContainer," ").concat("sm"===e.avatarSize?f.sm:"")},n.createElement(u.u,{title:e.text||y("sharedLink"),spanHack:!0,spanHackClassName:"bg-light text-dark d-flex justify-content-center align-items-center rounded-circle h-100 w-100 ".concat(e.className||"")},n.createElement(l.x,{svgName:p.vn.Link,size:"sm"===e.avatarSize?l.S.Small:null})))}function I(e){return n.createElement(o.e,Object.assign({},e,{items:e.recipients,avatarItem:g,avatarContainerClassname:"".concat(f.avatarContainer," ").concat("sm"===e.avatarSize?f.sm:""),getHiddenTooltip:h,hasShareLink:e.hasShareLink,shareLinkText:e.shareLinkText}))}I.defaultProps={maxAvatars:5}},65853:(e,t,a)=>{a.d(t,{R:()=>m});var n=a(23481),r=a(110),i=a(4594),s=a(49080),o=a(26361),c=a(35223),l=a(31908);function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var d=n.T.encloseNamespace("share.shareLinkInfo"),m={getPrivateIconAndText:function(e){var t=e.entityTypeId,a=e.privacy,n=e.hasStudentExp,r=e.entity,s=e.yearGroups;if(t===i.E.Topic||t===i.E.Series)return{icon:c.vn.VisibleOn,text:d(n?"justMySchoolTeachers":"justMySchoolDescription")};if(!Array.isArray(a))switch(a.privacy){case"public":return{icon:c.vn.VisibleOn,text:d("publicDescription")};case"protected":return a.overrideRestrictions?{icon:c.vn.VisibleOn,text:d("clickViewOnly")}:{icon:c.vn.Lock,text:m.getRespectRatingText(r,s,n)};case"just_my_customer":return a.overrideRestrictions?{icon:c.vn.Lock,text:d(n?"justMySchoolTeachers":"justMySchoolDescription")}:{icon:c.vn.Lock,text:m.getRespectRatingText(r,s,n)};case"restricted":case"private":return{icon:c.vn.Lock,text:d("privateDescription")};default:return{}}},getIconAndText:function(e){var t=e.linkExpireDate,a=e.isPasswordProtected,n=e.status;if(!t&&!a)return m.getPrivateIconAndText(e);if(!t)return{icon:c.vn.Lock,text:d("password")};var i=r.O.isToday(t),o=r.O.diffBetween(t,new Date,"day");if(!a){var l=i?d("expiryToday"):d("expiry",{days:o});return n===s.F.Expired&&(l=d("expired")),{icon:c.vn.Timer,text:l}}var u=i?d("passwordExpiryToday"):d("passwordExpiry",{days:o});return n===s.F.Expired&&(u=d("passwordExpired")),{icon:c.vn.Lock,text:u}},getRespectRatingText:function(e,t,a){var n;if(!e||!t)return null;if(a)return d("justMySchoolTeachers");if(!l.M.isVideoType(e))return d("collectionRating");var r=o.l.getWeightedRestriction(null===(n=e._restrictions)||void 0===n?void 0:n.value);if(r&&!r.yearGroup)return d("onlyAdmins");var i,s,c,m=l.M.getRating(e),p=function(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=function(e,t){if(e){if("string"==typeof e)return u(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){a&&(e=a);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,o=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return s=e.done,e},e:function(e){o=!0,i=e},f:function(){try{s||null==a.return||a.return()}finally{if(o)throw i}}}}(t);try{for(p.s();!(c=p.n()).done;){var v=c.value;(!i||v.value>i.value)&&(i=v),r&&v.value<=r.yearGroup||m&&v.rating.value<m.value||(!s||v.value<s.value)&&(s=v)}}catch(e){p.e(e)}finally{p.f()}return s?1===t.length?d("clickViewOnly"):s.value===i.value?d("maxYearGroup",{yearGroup:i.name}):d("yearGroupRange",{yearGroup:s.name}):d("onlyStaff")}}},18995:(e,t,a)=>{a.d(t,{e:()=>c});var n=a(32735),r=a(23481),i=a(49863),s=a(36532),o=r.T.encloseNamespace("shared.avatarList");function c(e){var t=e.items.length>e.maxAvatars?e.items.slice(0,e.maxAvatars-1):e.items,a=e.items.length>t.length?e.items.slice(e.maxAvatars-1):[],r=e.avatarItem,c=a.length,l="sm"===e.avatarSize?4:8;function u(t){return{transform:"translateX(".concat((e.hasShareLink?t+1:t)*-l,"px)"),zIndex:e.maxAvatars-t}}return 0===t.length&&0===a.length?n.createElement(n.Fragment,null):n.createElement("div",{className:"d-flex",style:{marginRight:"-".concat((t.length-1+(a.length?1:0)+(e.hasShareLink?1:0))*l,"px")}},e.hasShareLink&&n.createElement("div",{style:{zIndex:e.maxAvatars+1}},n.createElement(i.Ad,{text:e.shareLinkText,avatarSize:e.avatarSize,className:"bg-dark text-white"})),t.map(function(t,a){return n.createElement("div",{className:"".concat(e.avatarContainerClassname||""),key:t.id,style:u(a)},n.createElement(r,{item:t,imageCdnUrl:e.imageCdnUrl,index:a,maxAvatars:e.maxAvatars}))}),!!a.length&&n.createElement("div",{className:"".concat(e.avatarContainerClassname||""," bg-white rounded-circle"),style:{transform:"translateX(".concat(t.length*-l,"px)"),zIndex:e.maxAvatars-t.length}},n.createElement(s.u,{title:e.getHiddenTooltip?e.getHiddenTooltip(a):e.roleToDisplay?o("staff"===e.roleToDisplay?"staff":"student",{count:c,smartCount:c}):o("users",{count:c,smartCount:c}),spanHack:!0,spanHackClassName:"h-100 w-100"},n.createElement("div",{className:"d-flex justify-content-center align-items-center border border-dark rounded-circle h-100 w-100 ".concat(e.numberClassname||"")},"+".concat(a.length)))))}c.defaultProps={maxAvatars:5}},39902:(e,t,a)=>{a.d(t,{FN:()=>v,SW:()=>f,fh:()=>p});var n=a(32735),r=a(20354),i=a(75896);function s(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)||o(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 o(e,t){if(e){if("string"==typeof e)return c(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];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 u(e,t,a){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 a=t.call(e,"string");if("object"!=l(a))return a;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:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var d=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a},m=50;function p(e,t){var a=i.m.chunk(e,m).map(function(e){return t(i.m.uniq(e))}),n=r.a.useBasicFetchAll(a),s=i.m.flatten(n.data),o=n.data.length?s.reduce(function(e,t){return Object.assign(Object.assign({},e),u({},t.id,t))},{}):null;return{itemsArr:s,items:o,isFetching:n.isFetching,hasCompleted:n.hasCompleted}}function v(e,t,a){var r=null!=a?a:function(e){return"object"===l(e)?e.id:e},i=f({getRequest:t,_getKey:a}),s=i.fetchItems,o=d(i,["fetchItems"]);return n.useEffect(function(){(null==e?void 0:e.length)&&s(e)},[null==e?void 0:e.map(r).join(",")]),o}function f(e){var t,a,c,d,p,v=null!==(t=e._getKey)&&void 0!==t?t:function(e){return"object"===l(e)?e.id:e},f=n.useRef(new Set),y=(d=n.useState([]),p=2,function(e){if(Array.isArray(e))return e}(d)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,i,s,o=[],c=!0,l=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;c=!1}else for(;!(c=(n=i.call(a)).done)&&(o.push(n.value),o.length!==t);c=!0);}catch(e){l=!0,r=e}finally{try{if(!c&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(l)throw r}}return o}}(d,p)||o(d,p)||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.")}()),h=y[0],g=y[1],S=r.a.useBasicFetchAll(h),E=i.m.flatten(S.data),I=S.data.length?E.reduce(function(e,t){return Object.assign(Object.assign({},e),u({},v(t),t))},{}):null;return{hasFirstRequestCompleted:!!(null===(c=null===(a=S.responses)||void 0===a?void 0:a[0])||void 0===c?void 0:c.hasCompleted),itemsArr:E,items:I,isFetching:S.isFetching,fetchItems:function(t){if(null==t?void 0:t.length){var a=[];t.forEach(function(e){var t=v(e);f.current.has(t)||(a.push(e),f.current.add(t))}),a.length&&g(function(t){return[].concat(s(t),s(i.m.chunk(a,m).map(e.getRequest)))})}}}}},36511:(e,t,a)=>{a.d(t,{I:()=>r});var n=a(38129);function r(e){switch(e){case n.R.Pink:return"pink";case n.R.Orange:return"orange";case n.R.Green:return"green";case n.R.Blue:return"blue";case n.R.Purple:return"purple";case n.R.Indigo:return"indigo";default:return"pink"}}},58647:(e,t,a)=>{a.r(t),a.d(t,{SharedByMeView:()=>Se});var n=a(32735),r=a(81886),i=a(23481),s=a(97958),o=i.T.encloseNamespace("share.sharedByMeEmptyState");function c(e){return n.createElement(s.u,null,n.createElement(s.u.Image,{src:e.imageUrl,size:"small"}),n.createElement(s.u.Heading,null,o(e.useInteractiveCopy?"interactivesHeading":"genericHeading")),n.createElement(s.u.Info,null,o(e.useInteractiveCopy?"interactivesInfo":"genericInfo")),!!e.appLink&&n.createElement(s.u.Cta,{appLink:e.appLink,text:o("cta")}))}var l=a(95834),u=a(6748),d=a(82602),m=a(75896),p=a(110),v=a(65858),f=a(83914),y=a(36532),h=a(49080),g=a(85063),S=a(35223);const E={indicatorContainer:"T6YAv",indicator:"_MRHG"};var I=i.T.encloseNamespace("share.shareStatusIndicator");function b(e){if(e.type===g.y.DirectShare)return I("active");switch(e.status){case h.F.Active:return I("active");case h.F.Expired:return I("expired")}}function C(e){if(e.type===g.y.DirectShare)return"bg-success";switch(e.status){case h.F.Active:return"bg-success";case h.F.Expired:return"bg-gray-500"}}function O(e){var t;return e.share.type!==g.y.DirectShare||(null===(t=e.share.recipients)||void 0===t?void 0:t.length)?e.share.type===g.y.ShareLink&&e.share.isPasswordProtected?n.createElement(y.u,{title:I("passwordProtected"),spanHack:!0},n.createElement(f.x,{svgName:S.vn.Lock,size:f.S.Small})):n.createElement(y.u,{title:b(e.share),spanHack:!0,spanHackClassName:E.indicatorContainer},n.createElement("div",{className:"".concat(E.indicator," ").concat(C(e.share))})):n.createElement(n.Fragment,null)}var A=a(9806),x=a(49863),T=a(31754),k=a(65853),N=a(64249),w=a(83657),R=a(15611),j=a(83345),L=a(62335),M=a(26339),H=a(4594),_=a(31908);function F(e){return F="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},F(e)}var P="share.sharedByMeTable",D=i.T.encloseNamespace(P);function U(e){var t;if(e.type===g.y.ShareLink||!(null===(t=null==e?void 0:e.recipients)||void 0===t?void 0:t.length))return e.dateCreated;var a=e.recipients.map(function(e){return e.dateShared});return a.sort(function(e,t){return p.O.isSame(e,t)?0:p.O.isAfter(e,t)?1:-2}),a.length?m.m.last(a):""}function G(e){var t=e.index,a=e.dateHeading,r=e.getObjectAppLink,i=e.getObjectActions,s=e.imageCdnUrl,o=e.showStatus,c=e.showViewCount,l=e.breakpoints,u=e.yearGroups,m=l&&(l.xs||l.sm),p=[{Header:o?"":a,accessor:"sharedObject",id:"image",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},n.createElement(A.k,{object:t,appLink:r(t),showVideoMetadata:!0,locationContext:v.LZ.SharedByMe}))},minWidth:140,maxWidth:30},{accessor:"sharedObject",id:"name",Cell:function(e){var t,a=e.value;if(a.name){if(_.M.isVideoType(a)&&!(null===(t=_.M.getCanBeConsumed(a))||void 0===t?void 0:t.canNavigate))return n.createElement("span",{className:"clamp-2"},a.name);var i=function(){switch(a.typeId){case H.E.Series:return"series";case H.E.Playlist:return"playlist"}}();return n.createElement("div",{className:"clamp-2"},i&&n.createElement(L.m,null,n.createElement(j.x,{namespace:P,phrase:i})),_.M.isVideoType(a)&&n.createElement(M.$,{type:"series",video:a,appLink:"series"in a&&a.series?r(a.series):null,analyticsOptions:{location:v.LZ.Insights}}),n.createElement(R.F,{appLink:r(a),analyticsData:{id:a.id,name:a.name},analyticsOptions:{entity:N.I.getAnalyticsEntity(a.type),actionType:v.Vw.Click,location:v.LZ.SharedByMe}},a.name))}return n.createElement("span",null,n.createElement(j.x,{namespace:P,phrase:"videoUnavailable"}))},width:60},{Header:0===t?D("sharedTo"):"",accessor:"sharedToData",Cell:function(e){var t=e.value,a=t.share,r=t.sharedObject,i=t.recipients;if(!i){var o=a.type===g.y.ShareLink&&k.R.getIconAndText({entity:r,entityTypeId:r.typeId,hasStudentExp:!1,isPasswordProtected:a.isPasswordProtected,linkExpireDate:a.linkExpireDate,privacy:{privacy:a.privacy,overrideRestrictions:a.overrideRestrictions},status:a.status,yearGroups:null!=u?u:[]});return n.createElement(x.Ad,{text:null==o?void 0:o.text})}return(null==i?void 0:i.length)?n.createElement(x.Kh,{recipients:i,imageCdnUrl:s,maxAvatars:m?1:2}):n.createElement(x.m9,null)},width:40},!m&&{Header:0===t?D("shared"):"",id:"dateShared",accessor:function(e){return(0,d.WU)(e.dateShared)},width:40},{accessor:"sharedObject",id:"actions",Cell:function(e){var t=e.value;return n.createElement(w.e,{actions:i(t),className:"w-100 justify-content-end pe-2"})},width:20}],f={Header:a,accessor:"share",id:"status",Cell:function(e){var t=e.value;return n.createElement(O,{share:t})},width:5},y={Header:D("views"),accessor:"viewCount",width:30};return o&&p.splice(0,0,f),c&&p.splice(p.length-1,0,y),p.filter(Boolean)}function V(e){var t,a,r,i,s,o,c,d,m=(t=e.sentShares,a=e.sharedObjects,r=e.shareRecipients,i=!!e.groupByDateShared,s=[],t.forEach(function(e){var t,n,i=null==a?void 0:a[e.objectId],o=null;e.type===g.y.DirectShare&&(o=[],null===(t=e.recipients)||void 0===t||t.forEach(function(e){var t=null==r?void 0:r[e.id];t&&o.push(t)})),i&&s.push({share:e,sharedObject:i,sharedToData:{share:e,sharedObject:i,recipients:o},dateShared:U(e),viewCount:null!==(n=e.viewCount)&&void 0!==n?n:0})}),i?T.x.groupByDateShared(s):(o={},c=D("title"),d=s,(c=function(e){var t=function(e){if("object"!=F(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=F(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==F(t)?t:t+""}(c))in o?Object.defineProperty(o,c,{value:d,enumerable:!0,configurable:!0,writable:!0}):o[c]=d,o));return n.createElement(n.Fragment,null,Object.keys(m).map(function(t,a){return n.createElement(u.i,{key:a,columns:G({index:a,dateHeading:t,getObjectAppLink:e.getObjectAppLink,getObjectActions:e.getObjectActions,imageCdnUrl:e.imageCdnUrl,showStatus:e.showStatus,showViewCount:e.showViewCount,breakpoints:e.breakpoints,yearGroups:e.yearGroups}),data:m[t],theme:l.J})}))}var B=a(87801),z=a(16714),Y=a(79967),W=a(22902),q=a(79612),K=a(37802),Q=a(99742),X=a(14070),Z=a(97291),$=a(20354),J=a(1048),ee=a(93479),te=a(30439),ae=a(39151),ne=a(1666),re=a(31949),ie=a(39902),se=a(60115),oe={getDirectShares:function(e){var t;return null!==(t=null==e?void 0:e.filter(function(e){return e.type===g.y.DirectShare}))&&void 0!==t?t:[]},getRecipients:function(e){return m.m.flatten(oe.getDirectShares(e).map(function(e){var t;return null!==(t=e.recipients)&&void 0!==t?t:[]}))}},ce=a(86099),le=a(2523);const ue={imageColumn:"uIOaA",nameColumn:"Nta2B",sharedToColumn:"XTJBC",dateSharedColumn:"HdARK",actionsColumn:"DXyZw",heading:"XZ6o7",image:"MolfU",name:"MM43m",avatar:"EboYM",date:"by_XM",actions:"_S2M_"};function de(){return n.createElement("div",{className:"d-flex striped-row rounded"},n.createElement("div",{className:"d-flex align-items-center justify-content-center p-2 ".concat(ue.imageColumn)},n.createElement("div",{className:"partial-loading-background rounded w-100 ".concat(ue.image)})),n.createElement("div",{className:"d-flex align-items-center p-2 ".concat(ue.nameColumn)},n.createElement("div",{className:"partial-loading-background w-75 ".concat(ue.name)})),n.createElement("div",{className:"d-flex align-items-center p-2 ".concat(ue.sharedToColumn)},n.createElement("div",{className:"partial-loading-background ".concat(ue.avatar)})),n.createElement("div",{className:"d-none d-md-flex align-items-center p-2 ".concat(ue.dateSharedColumn)},n.createElement("div",{className:"partial-loading-background ".concat(ue.date)})),n.createElement("div",{className:"d-flex align-items-center justify-content-end p-2 ".concat(ue.actionsColumn)},n.createElement("div",{className:"partial-loading-background rounded me-2 ".concat(ue.actions)})))}function me(e){return n.createElement("div",{className:"d-flex mb-1"},n.createElement("div",{className:"".concat(ue.imageColumn," p-2")},n.createElement("div",{className:"partial-loading-background ".concat(ue.heading)})),n.createElement("div",{className:"".concat(ue.nameColumn," p-2")}," "),n.createElement("div",{className:"".concat(ue.sharedToColumn," p-2")},e.fullHeader?n.createElement("div",{className:"partial-loading-background ".concat(ue.heading)}):n.createElement(n.Fragment,null," ")),n.createElement("div",{className:"".concat(ue.dateSharedColumn," p-2 d-none d-md-flex")},e.fullHeader?n.createElement("div",{className:"partial-loading-background ".concat(ue.heading)}):n.createElement(n.Fragment,null," ")),n.createElement("div",{className:"".concat(ue.actionsColumn," p-2")}," "))}function pe(){return n.createElement(n.Fragment,null,n.createElement("div",{className:"mb-3"},n.createElement(me,{fullHeader:!0}),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(de,null),n.createElement(de,null),n.createElement(de,null))),n.createElement("div",{className:"mb-3"},n.createElement(me,null),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null))),n.createElement("div",{className:"mb-3"},n.createElement(me,null),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null))))}var ve=a(70227),fe=i.T.encloseNamespace("liteShare.sharedByMe");function ye(e,t){return{label:fe("editShareSettings"),appLink:{application:Z.O.SHARE,action:X.e.Share.SHARE,args:[e.id],params:{entityType:t}}}}function he(e){return n.createElement(y.u,{title:e.label,spanHack:!0},n.createElement("a",{href:e.url,target:"_blank"},n.createElement(f.x,{svgName:S.vn.Analytics})))}var ge=i.T.encloseNamespace("liteShare.sharedByMe");function Se(){var e=(0,W.T)().hasPermissions,t=(0,K.r)(null).hasShareFlowV2,a=(0,Y.k)(),i=function(e,t){var a,n,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=$.a.useGetFetch(),s=$.a.useBasicFetch(re.N.currentUser()),o=$.a.useBasicFetch(ae.L.config()),c=$.a.useBasicFetch((null===(a=s.data)||void 0===a?void 0:a.isAuthenticated)&&ne.h.yearGroups(s.data.customerId)),l=function(t){return r&&te.o.sentShare(Object.assign({cursor:t},e))},u=function(e){return i(l(e))},d=(0,se.K)(l,u),m=d.items,p=d.hasMore,v=d.isFetching,f=d.nextCursor,y=d.hasFirstPageCompleted,h=(0,ie.FN)(null==m?void 0:m.map(function(e){return e.objectId}),te.o.sharedObjectsById),g=(0,ie.FN)(oe.getRecipients(m).map(function(e){return e.id}),function(e){return te.o.getRecipientsById(e,s.data.customerId)}),S=(0,ie.FN)(t?J.t.values(h.items||[]):[],function(e){return ee.I.pendingReviews({interactives:e.filter(_.M.isInteractive).map(function(e){return{interactiveId:e.interactiveId,metadataId:e.id}}),filters:{currentCustomerId:s.data.customerId,currentUserId:s.data.id}})},function(e){return"".concat(e.id,":").concat(e.interactiveId)}),E=v||h.isFetching||g.isFetching||S.isFetching||c.isFetching,I=!y||(null==m?void 0:m.length)&&!h.hasFirstRequestCompleted;return{sentShares:m,sharedObjects:h,shareRecipients:g,yearGroups:c.data,interactivesPendingReview:S,isFetching:E,showPartialLoading:I,nextCursor:f,hasMore:p,fetchNext:u,imageCdnUrl:null===(n=o.data)||void 0===n?void 0:n.imageCdnUrl}}(),s=i.sentShares,o=i.sharedObjects,l=i.shareRecipients,u=i.isFetching,d=i.showPartialLoading,m=i.nextCursor,p=i.hasMore,v=i.fetchNext,f=i.imageCdnUrl,y=i.yearGroups,h=e(z.C.ViewMyShares)&&t;n.useEffect(function(){h&&r.Q.C$.trigger({application:Z.O.MY_SHARES,action:X.e.MyShares.HOME},{replace:!0})},[h]),(0,q.M)({title:ge("sharedByMe")});var g=function(e){var t=$.a.useBasicFetch(ae.L.config()),a=e.xs||e.sm;return n.useCallback(function(e){return function(e,t,a){var r,i="viewUsage";if(_.M.isVideo(e)&&(r="video"),_.M.isInteractive(e)&&(r="interactive",i="viewResults"),_.M.isClip(e)&&(r="clip"),e.typeId===H.E.Series&&(r="series"),e.typeId===H.E.Playlist&&(r="playlist"),_.M.isVideoType(e)&&!_.M.getCanBeConsumed(e).canConsume)return[];var s=[ye(e,r)],o=ve.c.getObjectUrl(null==a?void 0:a.analyticsWebUrl,e);return o&&s.push({label:t?fe(i):function(){return n.createElement(he,{label:fe(i),url:o})},className:"btn btn-link",button:!t,href:ve.c.getObjectUrl(null==a?void 0:a.analyticsWebUrl,e),openInNewTab:!0}),s}(e,a,t.data)},[a])}(a);return n.createElement("div",{className:"px-3"},!h&&n.createElement(le.w,null),d?n.createElement(pe,null):s.length?n.createElement(n.Fragment,null,n.createElement(V,{sentShares:s,sharedObjects:o.items,shareRecipients:l.items,getObjectAppLink:ce.Qh,getObjectActions:g,groupByDateShared:!0,breakpoints:a,yearGroups:y,imageCdnUrl:f}),(p||u)&&n.createElement(B._,{isFetching:u,fetchNext:v,nextCursor:m})):n.createElement(c,{appLink:{application:Z.O.DASHBOARD,action:X.e.Dashboard.HOME},imageUrl:Q.W.EmptyStates.Share.SHARED_WITH_ME}))}},86099:(e,t,a)=>{a.d(t,{BR:()=>I,Qh:()=>f,Rv:()=>h,Sj:()=>g,Zm:()=>E,pY:()=>y,rq:()=>S});var n=a(23481),r=a(28400),i=a(2510),s=a(21789),o=a(4594),c=a(31908),l=a(14070),u=a(97291),d=a(40254),m=a(82431),p=n.T.encloseNamespace("shared.utils"),v=[o.E.Video,o.E.Clip,o.E.Interactive];function f(e){return c.M.isInteractive(e)?{application:u.O.INTERACTIVES,action:l.e.Interactives.VIEW_INTERACTIVE,args:[e.id,r.m.slugify(e.name)]}:c.M.isClip(e)?{application:u.O.CLIPS,action:l.e.Clips.PLAY_CLIP,args:[e.id,r.m.slugify(e.name)]}:c.M.isVideo(e)?{application:u.O.VIDEOS,action:l.e.Videos.PLAY_VIDEO,args:[e.id,r.m.slugify(e.name)]}:e.typeId===o.E.Playlist?{application:u.O.PLAYLISTS,action:l.e.Playlists.PLAYLIST,args:[e.id,r.m.slugify(e.name)]}:e.typeId===o.E.Series?m.j.getSeriesAppLink(e):void 0}function y(e,t){if(!e)return null;if(!v.includes(e.objectTypeId))return f({id:e.objectId.toString(),typeId:e.objectTypeId});if(e.type===i.y.Classroom){var a=s.x.getClassroomIdFromShare(e);return{application:u.O.CLASSROOMS,action:l.e.Classrooms.INSIGHTS_OVERVIEW,args:[a,e.shareId],params:t}}return e.type===i.y.Open?{application:u.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOM_INSIGHTS_OVERVIEW,args:[e.shareId],params:t}:{application:u.O.MY_SHARES,action:l.e.MyShares.INSIGHTS_OVERVIEW,args:[e.shareId],params:t}}function h(e,t){if(!e)return null;if(!v.includes(e.objectTypeId))return f({id:e.objectId.toString(),typeId:e.objectTypeId});if(e.type===i.y.Classroom){var a=s.x.getClassroomIdFromShare(e);return{application:u.O.CLASSROOMS,action:l.e.Classrooms.INSIGHTS_HEATMAP,args:[a,e.shareId],params:t}}return e.type===i.y.Open?{application:u.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOM_INSIGHTS_HEATMAP,args:[e.shareId],params:t}:{application:u.O.MY_SHARES,action:l.e.MyShares.INSIGHTS_HEATMAP,args:[e.shareId],params:t}}function g(e,t){if(!e)return null;if(!v.includes(e.objectTypeId))return f({id:e.objectId.toString(),typeId:e.objectTypeId});if(e.type===i.y.Classroom){var a=s.x.getClassroomIdFromShare(e);return{application:u.O.CLASSROOMS,action:l.e.Classrooms.INSIGHTS_QUESTIONS,args:[a,e.shareId],params:t}}return e.type===i.y.Open?{application:u.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOM_INSIGHTS_QUESTIONS,args:[e.shareId],params:t}:{application:u.O.MY_SHARES,action:l.e.MyShares.INSIGHTS_QUESTIONS,args:[e.shareId],params:t}}function S(e,t){if(!e)return null;if(!v.includes(e.objectTypeId))return f({id:e.objectId.toString(),typeId:e.objectTypeId});if(e.type===i.y.Classroom){var a=s.x.getClassroomIdFromShare(e);return{application:u.O.CLASSROOMS,action:l.e.Classrooms.INSIGHTS_STUDENTS,args:[a,e.shareId],params:t}}return e.type===i.y.Open?{application:u.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOM_INSIGHTS_STUDENTS,args:[e.shareId],params:t}:{application:u.O.MY_SHARES,action:l.e.MyShares.INSIGHTS_STUDENTS,args:[e.shareId],params:t}}function E(e){if(e){var t=b(e);return e.type===i.y.Link?{application:u.O.SHARE,action:l.e.Share.SHARE,args:[e.objectId],params:{entityType:t}}:d.W.assignDetails({objectId:e.objectId.toString(),shareId:e.shareId,entityType:t,detailsTitle:p("shareOptions")})}}function I(e){if(e){var t=b(e);return e.type===i.y.Link?{application:u.O.SHARE,action:l.e.Share.DELETE_SHARE_LINK,args:[e.objectId],params:{entityType:t,previousAppLink:{application:u.O.MY_SHARES,action:l.e.MyShares.HOME}}}:e.type===i.y.LegacyDirect?{application:u.O.SHARE,action:l.e.Share.DELETE_LEGACY_SHARE,args:[e.shareId],params:{previousAppLink:{application:u.O.MY_SHARES,action:l.e.MyShares.HOME}}}:e.type===i.y.Classroom?{application:u.O.SHARE,action:l.e.Share.DELETE_ASSIGNMENT,args:[e.shareId],params:{previousAppLink:{application:u.O.CLASSROOMS,action:l.e.Classrooms.CLASSROOM_HOME,args:[s.x.getClassroomIdFromShare(e)]}}}:e.type===i.y.Open?{application:u.O.SHARE,action:l.e.Share.DELETE_OPEN_CLASSROOM,args:[e.shareId],params:{previousAppLink:{application:u.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOMS,args:[s.x.getClassroomIdFromShare(e)]}}}:void 0}}function b(e){return e.objectTypeId===o.E.Video?"video":e.objectTypeId===o.E.Interactive?"interactive":e.objectTypeId===o.E.Clip?"clip":e.objectTypeId===o.E.Series?"series":e.objectTypeId===o.E.Playlist?"playlist":void 0}}}]);
|
|
2
|
-
//# sourceMappingURL=9042-
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9042],{93479:(e,t,a)=>{a.d(t,{I:()=>s});var n=a(99940);function r(e,t,a){if(!t)return e;var n="".concat(e,":").concat(t.start,":").concat(t.end),r=Array.isArray(t.userId)?t.userId.sort().join(":"):t.userId,i=Array.isArray(t.groupId)?t.groupId.sort().join(":"):t.groupId,s=Array.isArray(t.customerId)?t.customerId.sort().join(":"):t.customerId;return r&&(n+=":".concat(r)),i&&(n+=":".concat(i)),s&&(n+=":".concat(s)),a&&(n+=":".concat(a)),n}function i(e,t,a){return{currentUserId:e.id,currentCustomerId:e.customerId,dateRange:t?{start:t.start,end:t.end}:void 0,userIds:null==t?void 0:t.userId,classroomsAndGroups:null==t?void 0:t.groupId,shareId:a}}var s={interactiveResultSet:function(e,t,a,s,o,c,l,u){return{url:o?"/api/domain/v3/analytics/interactives/".concat(e,"/metadata/").concat(t):"/api/domain/v2/analytics/interactives/".concat(e,"/metadata/").concat(t),key:r("interactive:result:set:".concat(e,":").concat(t,":").concat(o),s),data:i(a,s,o),type:n.k.POST,normalize:!1,success:c,error:l,always:u}},mark:function(e,t,a,r,i,s,o){return{url:"/api/domain/v1/analytics/answers/".concat(a),key:"mark:answer:".concat(a,":").concat(r.resultId),type:n.k.PUT,data:r,normalize:!1,invalidationKeys:"interactive:result:set:".concat(e,":").concat(t),success:i,error:s,always:o}},pendingReviews:function(e){return{url:"/api/domain/v1/analytics/interactives/pending-reviews/summary",key:"interactives:pending:reviews",type:n.k.POST,data:e}},interactiveResultsReport:function(e){return{url:"/api/domain/v3/analytics/interactives/report",key:"interactive:results:report",data:e,type:n.k.POST,normalize:!1}}}},2510:(e,t,a)=>{var n;a.d(t,{y:()=>n}),function(e){e.Link="Link",e.Classroom="Classroom",e.Open="Open",e.Live="Live",e.LegacyDirect="LegacyDirect"}(n||(n={}))},21789:(e,t,a)=>{a.d(t,{x:()=>s});var n=a(75896),r=a(110),i=a(4594),s={getFlattenedRecipients:function(e){return n.m.flatten(e.map(function(e){var t;return null!==(t=e.recipients)&&void 0!==t?t:[]}))},getFlattenedUniqueScopes:function(e){var t=s.getFlattenedRecipients(e);return n.m.uniq(t.map(function(e){var t;return null===(t=e.scopeId)||void 0===t?void 0:t.toString()})).filter(function(e){return!!e})},getClassroomIdFromShare:function(e){var t,a=null===(t=e.recipients)||void 0===t?void 0:t[0];if(a)return a.scopeId?a.scopeId.toString():a.recipientId&&a.recipientTypeId===i.E.Classroom?a.recipientId.toString():void 0},getClassroomForShare:function(e,t){var a=s.getClassroomIdFromShare(e);if(a)return t.find(function(e){return e.id.toString()===a.toString()})},getRecipientsCount:function(e,t){var a,n,r,i;return t?null!==(i=null===(r=e.recipients)||void 0===r?void 0:r.filter(function(e){return e.recipientTypeId===t}).length)&&void 0!==i?i:0:null!==(n=null===(a=e.recipients)||void 0===a?void 0:a.length)&&void 0!==n?n:0},hasShareExpired:function(e){if(e.expireDate){var t=new Date,a=new Date(e.expireDate);if(r.O.isAfter(t,a))return!0}return!1},calculateDaysToExpiry:function(e){if(e.expireDate){var t=r.O.diffBetween(new Date(e.expireDate),new Date,"day")||1;return 0===t?1:t}},getShareLocalExpiry:function(e,t){if(!e.expireDate)return null;var a=r.O.convertUTCToLocal(e.expireDate);return r.O.format(a,t)}}},49863:(e,t,a)=>{a.d(t,{m9:()=>S,Ad:()=>E,Kh:()=>I});var n=a(32735),r=a(23481),i=a(75896),s=a(97408),o=a(18995),c=a(12528),l=a(83914),u=a(36532),d=a(4594),m=a(36511),p=a(35223),v=a(64818);const y={avatarContainer:"ByxQa",sm:"EgJ0v",sharedAvatar:"cW0NT"};var f=r.T.encloseNamespace("reportsShare.sharedToAvatarList");function h(e){var t=i.m.countBy(e,"typeId"),a=t[d.E.User],n=t[d.E.Classroom],r=t[d.E.ClassroomGroup];return a&&n&&r?f("classroomsGroupsAndUsers",{userCount:a,classroomCount:n,groupCount:r}):a&&n?f("classroomsAndUsers",{userCount:a,classroomCount:n}):a&&r?f("groupsAndUsers",{userCount:a,groupCount:r}):n&&r?f("classroomsAndGroups",{classroomCount:n,groupCount:r}):a?f("users",{userCount:a}):n?f("classrooms",{classroomCount:n}):r?f("groups",{groupCount:r}):void 0}function g(e){var t,a,r,i,o,f=(null===(t=e.item)||void 0===t?void 0:t.typeId)===d.E.User&&e.item,h=(null===(a=e.item)||void 0===a?void 0:a.typeId)===d.E.Classroom&&e.item,g=(null===(r=e.item)||void 0===r?void 0:r.typeId)===d.E.ClassroomGroup&&e.item,S="d-flex justify-content-center align-items-center text-white rounded-circle h-100 w-100";return n.createElement(n.Fragment,null,!!f&&n.createElement(u.u,{title:"".concat(f.name," ").concat(f.surname),spanHack:!0,spanHackClassName:"h-100 w-100"},n.createElement(s.q,{imageUrl:null===(i=f.avatar)||void 0===i?void 0:i.url,imageCdnUrl:e.imageCdnUrl,initials:v.l.getInitials(f.name,f.surname),extraClasses:y.sharedAvatar})),!!h&&n.createElement(u.u,{title:h.name,spanHack:!0,spanHackClassName:"h-100 w-100"},n.createElement("div",{className:S},n.createElement(c.f,{svgName:p.vn.Classrooms,svgSize:l.S.Large,variant:"teal"}))),!!g&&n.createElement(u.u,{title:g.name,spanHack:!0,spanHackClassName:"h-100 w-100"},n.createElement("div",{className:S},n.createElement(c.f,{svgName:p.vn.Group,variant:(0,m.I)(null===(o=g.metadata)||void 0===o?void 0:o.colour)}))))}function S(e){return n.createElement("div",{className:"".concat(y.avatarContainer," ").concat("sm"===e.avatarSize?y.sm:"")},n.createElement(u.u,{title:f("anonymous"),spanHack:!0,spanHackClassName:"bg-light text-dark d-flex justify-content-center align-items-center rounded-circle h-100 w-100"},n.createElement(l.x,{svgName:p.vn.Anonymous,size:"sm"===e.avatarSize?l.S.Small:null})))}function E(e){return n.createElement("div",{className:"".concat(y.avatarContainer," ").concat("sm"===e.avatarSize?y.sm:"")},n.createElement(u.u,{title:e.text||f("sharedLink"),spanHack:!0,spanHackClassName:"bg-light text-dark d-flex justify-content-center align-items-center rounded-circle h-100 w-100 ".concat(e.className||"")},n.createElement(l.x,{svgName:p.vn.Link,size:"sm"===e.avatarSize?l.S.Small:null})))}function I(e){return n.createElement(o.e,Object.assign({},e,{items:e.recipients,avatarItem:g,avatarContainerClassname:"".concat(y.avatarContainer," ").concat("sm"===e.avatarSize?y.sm:""),getHiddenTooltip:h,hasShareLink:e.hasShareLink,shareLinkText:e.shareLinkText}))}I.defaultProps={maxAvatars:5}},65853:(e,t,a)=>{a.d(t,{R:()=>m});var n=a(23481),r=a(110),i=a(4594),s=a(49080),o=a(26361),c=a(35223),l=a(31908);function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var d=n.T.encloseNamespace("share.shareLinkInfo"),m={getPrivateIconAndText:function(e){var t=e.entityTypeId,a=e.privacy,n=e.hasStudentExp,r=e.entity,s=e.yearGroups;if(t===i.E.Topic||t===i.E.Series)return{icon:c.vn.VisibleOn,text:d(n?"justMySchoolTeachers":"justMySchoolDescription")};if(!Array.isArray(a))switch(a.privacy){case"public":return{icon:c.vn.VisibleOn,text:d("publicDescription")};case"protected":return a.overrideRestrictions?{icon:c.vn.VisibleOn,text:d("clickViewOnly")}:{icon:c.vn.Lock,text:m.getRespectRatingText(r,s,n)};case"just_my_customer":return a.overrideRestrictions?{icon:c.vn.Lock,text:d(n?"justMySchoolTeachers":"justMySchoolDescription")}:{icon:c.vn.Lock,text:m.getRespectRatingText(r,s,n)};case"restricted":case"private":return{icon:c.vn.Lock,text:d("privateDescription")};default:return{}}},getIconAndText:function(e){var t=e.linkExpireDate,a=e.isPasswordProtected,n=e.status;if(!t&&!a)return m.getPrivateIconAndText(e);if(!t)return{icon:c.vn.Lock,text:d("password")};var i=r.O.isToday(t),o=r.O.diffBetween(t,new Date,"day");if(!a){var l=i?d("expiryToday"):d("expiry",{days:o});return n===s.F.Expired&&(l=d("expired")),{icon:c.vn.Timer,text:l}}var u=i?d("passwordExpiryToday"):d("passwordExpiry",{days:o});return n===s.F.Expired&&(u=d("passwordExpired")),{icon:c.vn.Lock,text:u}},getRespectRatingText:function(e,t,a){var n;if(!e||!t)return null;if(a)return d("justMySchoolTeachers");if(!l.M.isVideoType(e))return d("collectionRating");var r=o.l.getWeightedRestriction(null===(n=e._restrictions)||void 0===n?void 0:n.value);if(r&&!r.yearGroup)return d("onlyAdmins");var i,s,c,m=l.M.getRating(e),p=function(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=function(e,t){if(e){if("string"==typeof e)return u(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){a&&(e=a);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,o=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return s=e.done,e},e:function(e){o=!0,i=e},f:function(){try{s||null==a.return||a.return()}finally{if(o)throw i}}}}(t);try{for(p.s();!(c=p.n()).done;){var v=c.value;(!i||v.value>i.value)&&(i=v),r&&v.value<=r.yearGroup||m&&v.rating.value<m.value||(!s||v.value<s.value)&&(s=v)}}catch(e){p.e(e)}finally{p.f()}return s?1===t.length?d("clickViewOnly"):s.value===i.value?d("maxYearGroup",{yearGroup:i.name}):d("yearGroupRange",{yearGroup:s.name}):d("onlyStaff")}}},18995:(e,t,a)=>{a.d(t,{e:()=>c});var n=a(32735),r=a(23481),i=a(49863),s=a(36532),o=r.T.encloseNamespace("shared.avatarList");function c(e){var t=e.items.length>e.maxAvatars?e.items.slice(0,e.maxAvatars-1):e.items,a=e.items.length>t.length?e.items.slice(e.maxAvatars-1):[],r=e.avatarItem,c=a.length,l="sm"===e.avatarSize?4:8;function u(t){return{transform:"translateX(".concat((e.hasShareLink?t+1:t)*-l,"px)"),zIndex:e.maxAvatars-t}}return 0===t.length&&0===a.length?n.createElement(n.Fragment,null):n.createElement("div",{className:"d-flex",style:{marginRight:"-".concat((t.length-1+(a.length?1:0)+(e.hasShareLink?1:0))*l,"px")}},e.hasShareLink&&n.createElement("div",{style:{zIndex:e.maxAvatars+1}},n.createElement(i.Ad,{text:e.shareLinkText,avatarSize:e.avatarSize,className:"bg-dark text-white"})),t.map(function(t,a){return n.createElement("div",{className:"".concat(e.avatarContainerClassname||""),key:t.id,style:u(a)},n.createElement(r,{item:t,imageCdnUrl:e.imageCdnUrl,index:a,maxAvatars:e.maxAvatars}))}),!!a.length&&n.createElement("div",{className:"".concat(e.avatarContainerClassname||""," bg-white rounded-circle"),style:{transform:"translateX(".concat(t.length*-l,"px)"),zIndex:e.maxAvatars-t.length}},n.createElement(s.u,{title:e.getHiddenTooltip?e.getHiddenTooltip(a):e.roleToDisplay?o("staff"===e.roleToDisplay?"staff":"student",{count:c,smartCount:c}):o("users",{count:c,smartCount:c}),spanHack:!0,spanHackClassName:"h-100 w-100"},n.createElement("div",{className:"d-flex justify-content-center align-items-center border border-dark rounded-circle h-100 w-100 ".concat(e.numberClassname||"")},"+".concat(a.length)))))}c.defaultProps={maxAvatars:5}},39902:(e,t,a)=>{a.d(t,{FN:()=>v,SW:()=>y,fh:()=>p});var n=a(32735),r=a(20354),i=a(75896);function s(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)||o(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 o(e,t){if(e){if("string"==typeof e)return c(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];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 u(e,t,a){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 a=t.call(e,"string");if("object"!=l(a))return a;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:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var d=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a},m=50;function p(e,t){var a=i.m.chunk(e,m).map(function(e){return t(i.m.uniq(e))}),n=r.a.useBasicFetchAll(a),s=i.m.flatten(n.data),o=n.data.length?s.reduce(function(e,t){return Object.assign(Object.assign({},e),u({},t.id,t))},{}):null;return{itemsArr:s,items:o,isFetching:n.isFetching,hasCompleted:n.hasCompleted}}function v(e,t,a){var r=null!=a?a:function(e){return"object"===l(e)?e.id:e},i=y({getRequest:t,_getKey:a}),s=i.fetchItems,o=d(i,["fetchItems"]);return n.useEffect(function(){(null==e?void 0:e.length)&&s(e)},[null==e?void 0:e.map(r).join(",")]),o}function y(e){var t,a,c,d,p,v=null!==(t=e._getKey)&&void 0!==t?t:function(e){return"object"===l(e)?e.id:e},y=n.useRef(new Set),f=(d=n.useState([]),p=2,function(e){if(Array.isArray(e))return e}(d)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,i,s,o=[],c=!0,l=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;c=!1}else for(;!(c=(n=i.call(a)).done)&&(o.push(n.value),o.length!==t);c=!0);}catch(e){l=!0,r=e}finally{try{if(!c&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(l)throw r}}return o}}(d,p)||o(d,p)||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.")}()),h=f[0],g=f[1],S=r.a.useBasicFetchAll(h),E=i.m.flatten(S.data),I=S.data.length?E.reduce(function(e,t){return Object.assign(Object.assign({},e),u({},v(t),t))},{}):null;return{hasFirstRequestCompleted:!!(null===(c=null===(a=S.responses)||void 0===a?void 0:a[0])||void 0===c?void 0:c.hasCompleted),itemsArr:E,items:I,isFetching:S.isFetching,fetchItems:function(t){if(null==t?void 0:t.length){var a=[];t.forEach(function(e){var t=v(e);y.current.has(t)||(a.push(e),y.current.add(t))}),a.length&&g(function(t){return[].concat(s(t),s(i.m.chunk(a,m).map(e.getRequest)))})}}}}},36511:(e,t,a)=>{a.d(t,{I:()=>r});var n=a(38129);function r(e){switch(e){case n.R.Pink:return"pink";case n.R.Orange:return"orange";case n.R.Green:return"green";case n.R.Blue:return"blue";case n.R.Purple:return"purple";case n.R.Indigo:return"indigo";default:return"pink"}}},58647:(e,t,a)=>{a.r(t),a.d(t,{SharedByMeView:()=>Se});var n=a(32735),r=a(81886),i=a(23481),s=a(97958),o=i.T.encloseNamespace("share.sharedByMeEmptyState");function c(e){return n.createElement(s.u,null,n.createElement(s.u.Image,{src:e.imageUrl,size:"small"}),n.createElement(s.u.Heading,null,o(e.useInteractiveCopy?"interactivesHeading":"genericHeading")),n.createElement(s.u.Info,null,o(e.useInteractiveCopy?"interactivesInfo":"genericInfo")),!!e.appLink&&n.createElement(s.u.Cta,{appLink:e.appLink,text:o("cta")}))}var l=a(95834),u=a(6748),d=a(82602),m=a(75896),p=a(110),v=a(65858),y=a(83914),f=a(36532),h=a(49080),g=a(85063),S=a(35223);const E={indicatorContainer:"T6YAv",indicator:"_MRHG"};var I=i.T.encloseNamespace("share.shareStatusIndicator");function b(e){if(e.type===g.y.DirectShare)return I("active");switch(e.status){case h.F.Active:return I("active");case h.F.Expired:return I("expired")}}function C(e){if(e.type===g.y.DirectShare)return"bg-success";switch(e.status){case h.F.Active:return"bg-success";case h.F.Expired:return"bg-gray-500"}}function O(e){var t;return e.share.type!==g.y.DirectShare||(null===(t=e.share.recipients)||void 0===t?void 0:t.length)?e.share.type===g.y.ShareLink&&e.share.isPasswordProtected?n.createElement(f.u,{title:I("passwordProtected"),spanHack:!0},n.createElement(y.x,{svgName:S.vn.Lock,size:y.S.Small})):n.createElement(f.u,{title:b(e.share),spanHack:!0,spanHackClassName:E.indicatorContainer},n.createElement("div",{className:"".concat(E.indicator," ").concat(C(e.share))})):n.createElement(n.Fragment,null)}var A=a(9806),x=a(49863),T=a(31754),k=a(65853),N=a(64249),w=a(83657),L=a(15611),R=a(83345),j=a(62335),M=a(26339),H=a(4594),_=a(31908);function F(e){return F="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},F(e)}var D="share.sharedByMeTable",P=i.T.encloseNamespace(D);function U(e){var t;if(e.type===g.y.ShareLink||!(null===(t=null==e?void 0:e.recipients)||void 0===t?void 0:t.length))return e.dateCreated;var a=e.recipients.map(function(e){return e.dateShared});return a.sort(function(e,t){return p.O.isSame(e,t)?0:p.O.isAfter(e,t)?1:-2}),a.length?m.m.last(a):""}function G(e){var t=e.index,a=e.dateHeading,r=e.getObjectAppLink,i=e.getObjectActions,s=e.imageCdnUrl,o=e.showStatus,c=e.showViewCount,l=e.breakpoints,u=e.yearGroups,m=l&&(l.xs||l.sm),p=[{Header:o?"":a,accessor:"sharedObject",id:"image",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},n.createElement(A.k,{object:t,appLink:r(t),showVideoMetadata:!0,locationContext:v.LZ.SharedByMe}))},minWidth:140,maxWidth:30},{accessor:"sharedObject",id:"name",Cell:function(e){var t,a=e.value;if(a.name){if(_.M.isVideoType(a)&&!(null===(t=_.M.getCanBeConsumed(a))||void 0===t?void 0:t.canNavigate))return n.createElement("span",{className:"clamp-2"},a.name);var i=function(){switch(a.typeId){case H.E.Series:return"series";case H.E.Playlist:return"playlist"}}();return n.createElement("div",{className:"clamp-2"},i&&n.createElement(j.m,null,n.createElement(R.x,{namespace:D,phrase:i})),_.M.isVideoType(a)&&n.createElement(M.$,{type:"series",video:a,appLink:"series"in a&&a.series?r(a.series):null,analyticsOptions:{location:v.LZ.Insights}}),n.createElement(L.F,{appLink:r(a),analyticsData:{id:a.id,name:a.name},analyticsOptions:{entity:N.I.getAnalyticsEntity(a.type),actionType:v.Vw.Click,location:v.LZ.SharedByMe}},a.name))}return n.createElement("span",null,n.createElement(R.x,{namespace:D,phrase:"videoUnavailable"}))},width:60},{Header:0===t?P("sharedTo"):"",accessor:"sharedToData",Cell:function(e){var t=e.value,a=t.share,r=t.sharedObject,i=t.recipients;if(!i){var o=a.type===g.y.ShareLink&&k.R.getIconAndText({entity:r,entityTypeId:r.typeId,hasStudentExp:!1,isPasswordProtected:a.isPasswordProtected,linkExpireDate:a.linkExpireDate,privacy:{privacy:a.privacy,overrideRestrictions:a.overrideRestrictions},status:a.status,yearGroups:null!=u?u:[]});return n.createElement(x.Ad,{text:null==o?void 0:o.text})}return(null==i?void 0:i.length)?n.createElement(x.Kh,{recipients:i,imageCdnUrl:s,maxAvatars:m?1:2}):n.createElement(x.m9,null)},width:40},!m&&{Header:0===t?P("shared"):"",id:"dateShared",accessor:function(e){return(0,d.WU)(e.dateShared)},width:40},{accessor:"sharedObject",id:"actions",Cell:function(e){var t=e.value;return n.createElement(w.e,{actions:i(t),className:"w-100 justify-content-end pe-2"})},width:20}],y={Header:a,accessor:"share",id:"status",Cell:function(e){var t=e.value;return n.createElement(O,{share:t})},width:5},f={Header:P("views"),accessor:"viewCount",width:30};return o&&p.splice(0,0,y),c&&p.splice(p.length-1,0,f),p.filter(Boolean)}function V(e){var t,a,r,i,s,o,c,d,m=(t=e.sentShares,a=e.sharedObjects,r=e.shareRecipients,i=!!e.groupByDateShared,s=[],t.forEach(function(e){var t,n,i=null==a?void 0:a[e.objectId],o=null;e.type===g.y.DirectShare&&(o=[],null===(t=e.recipients)||void 0===t||t.forEach(function(e){var t=null==r?void 0:r[e.id];t&&o.push(t)})),i&&s.push({share:e,sharedObject:i,sharedToData:{share:e,sharedObject:i,recipients:o},dateShared:U(e),viewCount:null!==(n=e.viewCount)&&void 0!==n?n:0})}),i?T.x.groupByDateShared(s):(o={},c=P("title"),d=s,(c=function(e){var t=function(e){if("object"!=F(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=F(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==F(t)?t:t+""}(c))in o?Object.defineProperty(o,c,{value:d,enumerable:!0,configurable:!0,writable:!0}):o[c]=d,o));return n.createElement(n.Fragment,null,Object.keys(m).map(function(t,a){return n.createElement(u.i,{key:a,columns:G({index:a,dateHeading:t,getObjectAppLink:e.getObjectAppLink,getObjectActions:e.getObjectActions,imageCdnUrl:e.imageCdnUrl,showStatus:e.showStatus,showViewCount:e.showViewCount,breakpoints:e.breakpoints,yearGroups:e.yearGroups}),data:m[t],theme:l.J})}))}var B=a(87801),z=a(16714),Y=a(79967),W=a(22902),q=a(79612),K=a(37802),Q=a(99742),X=a(14070),Z=a(97291),$=a(20354),J=a(1048),ee=a(93479),te=a(30439),ae=a(39151),ne=a(1666),re=a(31949),ie=a(39902),se=a(60115),oe={getDirectShares:function(e){var t;return null!==(t=null==e?void 0:e.filter(function(e){return e.type===g.y.DirectShare}))&&void 0!==t?t:[]},getRecipients:function(e){return m.m.flatten(oe.getDirectShares(e).map(function(e){var t;return null!==(t=e.recipients)&&void 0!==t?t:[]}))}},ce=a(86099),le=a(2523);const ue={imageColumn:"uIOaA",nameColumn:"Nta2B",sharedToColumn:"XTJBC",dateSharedColumn:"HdARK",actionsColumn:"DXyZw",heading:"XZ6o7",image:"MolfU",name:"MM43m",avatar:"EboYM",date:"by_XM",actions:"_S2M_"};function de(){return n.createElement("div",{className:"d-flex striped-row rounded"},n.createElement("div",{className:"d-flex align-items-center justify-content-center p-2 ".concat(ue.imageColumn)},n.createElement("div",{className:"partial-loading-background rounded w-100 ".concat(ue.image)})),n.createElement("div",{className:"d-flex align-items-center p-2 ".concat(ue.nameColumn)},n.createElement("div",{className:"partial-loading-background w-75 ".concat(ue.name)})),n.createElement("div",{className:"d-flex align-items-center p-2 ".concat(ue.sharedToColumn)},n.createElement("div",{className:"partial-loading-background ".concat(ue.avatar)})),n.createElement("div",{className:"d-none d-md-flex align-items-center p-2 ".concat(ue.dateSharedColumn)},n.createElement("div",{className:"partial-loading-background ".concat(ue.date)})),n.createElement("div",{className:"d-flex align-items-center justify-content-end p-2 ".concat(ue.actionsColumn)},n.createElement("div",{className:"partial-loading-background rounded me-2 ".concat(ue.actions)})))}function me(e){return n.createElement("div",{className:"d-flex mb-1"},n.createElement("div",{className:"".concat(ue.imageColumn," p-2")},n.createElement("div",{className:"partial-loading-background ".concat(ue.heading)})),n.createElement("div",{className:"".concat(ue.nameColumn," p-2")}," "),n.createElement("div",{className:"".concat(ue.sharedToColumn," p-2")},e.fullHeader?n.createElement("div",{className:"partial-loading-background ".concat(ue.heading)}):n.createElement(n.Fragment,null," ")),n.createElement("div",{className:"".concat(ue.dateSharedColumn," p-2 d-none d-md-flex")},e.fullHeader?n.createElement("div",{className:"partial-loading-background ".concat(ue.heading)}):n.createElement(n.Fragment,null," ")),n.createElement("div",{className:"".concat(ue.actionsColumn," p-2")}," "))}function pe(){return n.createElement(n.Fragment,null,n.createElement("div",{className:"mb-3"},n.createElement(me,{fullHeader:!0}),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(de,null),n.createElement(de,null),n.createElement(de,null))),n.createElement("div",{className:"mb-3"},n.createElement(me,null),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null))),n.createElement("div",{className:"mb-3"},n.createElement(me,null),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null))))}var ve=a(70227),ye=i.T.encloseNamespace("liteShare.sharedByMe");function fe(e,t){return{label:ye("editShareSettings"),appLink:{application:Z.O.SHARE,action:X.e.Share.SHARE,args:[e.id],params:{entityType:t}}}}function he(e){return n.createElement(f.u,{title:e.label,spanHack:!0},n.createElement("a",{href:e.url,target:"_blank"},n.createElement(y.x,{svgName:S.vn.Analytics})))}var ge=i.T.encloseNamespace("liteShare.sharedByMe");function Se(){var e=(0,W.T)().hasPermissions,t=(0,K.r)(null).hasShareFlowV2,a=(0,Y.k)(),i=function(e,t){var a,n,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=$.a.useGetFetch(),s=$.a.useBasicFetch(re.N.currentUser()),o=$.a.useBasicFetch(ae.L.config()),c=$.a.useBasicFetch((null===(a=s.data)||void 0===a?void 0:a.isAuthenticated)&&ne.h.yearGroups(s.data.customerId)),l=function(t){return r&&te.o.sentShare(Object.assign({cursor:t},e))},u=function(e){return i(l(e))},d=(0,se.K)(l,u),m=d.items,p=d.hasMore,v=d.isFetching,y=d.nextCursor,f=d.hasFirstPageCompleted,h=(0,ie.FN)(null==m?void 0:m.map(function(e){return e.objectId}),te.o.sharedObjectsById),g=(0,ie.FN)(oe.getRecipients(m).map(function(e){return e.id}),function(e){return te.o.getRecipientsById(e,s.data.customerId)}),S=(0,ie.FN)(t?J.t.values(h.items||[]):[],function(e){return ee.I.pendingReviews({interactives:e.filter(_.M.isInteractive).map(function(e){return{interactiveId:e.interactiveId,metadataId:e.id}}),filters:{currentCustomerId:s.data.customerId,currentUserId:s.data.id}})},function(e){return"".concat(e.id,":").concat(e.interactiveId)}),E=v||h.isFetching||g.isFetching||S.isFetching||c.isFetching,I=!f||(null==m?void 0:m.length)&&!h.hasFirstRequestCompleted;return{sentShares:m,sharedObjects:h,shareRecipients:g,yearGroups:c.data,interactivesPendingReview:S,isFetching:E,showPartialLoading:I,nextCursor:y,hasMore:p,fetchNext:u,imageCdnUrl:null===(n=o.data)||void 0===n?void 0:n.imageCdnUrl}}(),s=i.sentShares,o=i.sharedObjects,l=i.shareRecipients,u=i.isFetching,d=i.showPartialLoading,m=i.nextCursor,p=i.hasMore,v=i.fetchNext,y=i.imageCdnUrl,f=i.yearGroups,h=e(z.C.ViewMyShares)&&t;n.useEffect(function(){h&&r.Q.C$.trigger({application:Z.O.MY_SHARES,action:X.e.MyShares.HOME},{replace:!0})},[h]),(0,q.M)({title:ge("sharedByMe")});var g=function(e){var t=$.a.useBasicFetch(ae.L.config()),a=e.xs||e.sm;return n.useCallback(function(e){return function(e,t,a){var r,i="viewUsage";if(_.M.isVideo(e)&&(r="video"),_.M.isInteractive(e)&&(r="interactive",i="viewResults"),_.M.isClip(e)&&(r="clip"),e.typeId===H.E.Series&&(r="series"),e.typeId===H.E.Playlist&&(r="playlist"),_.M.isVideoType(e)&&!_.M.getCanBeConsumed(e).canConsume)return[];var s=[fe(e,r)],o=ve.c.getObjectUrl(null==a?void 0:a.analyticsWebUrl,e);return o&&s.push({label:t?ye(i):function(){return n.createElement(he,{label:ye(i),url:o})},className:"btn btn-link",button:!t,href:ve.c.getObjectUrl(null==a?void 0:a.analyticsWebUrl,e),openInNewTab:!0}),s}(e,a,t.data)},[a])}(a);return n.createElement("div",{className:"px-3"},!h&&n.createElement(le.w,null),d?n.createElement(pe,null):s.length?n.createElement(n.Fragment,null,n.createElement(V,{sentShares:s,sharedObjects:o.items,shareRecipients:l.items,getObjectAppLink:ce.Qh,getObjectActions:g,groupByDateShared:!0,breakpoints:a,yearGroups:f,imageCdnUrl:y}),(p||u)&&n.createElement(B._,{isFetching:u,fetchNext:v,nextCursor:m})):n.createElement(c,{appLink:{application:Z.O.DASHBOARD,action:X.e.Dashboard.HOME},imageUrl:Q.W.EmptyStates.Share.SHARED_WITH_ME}))}},86099:(e,t,a)=>{a.d(t,{BR:()=>I,Qh:()=>y,Rv:()=>h,Sj:()=>g,Zm:()=>E,pY:()=>f,rq:()=>S});var n=a(23481),r=a(28400),i=a(2510),s=a(21789),o=a(4594),c=a(31908),l=a(14070),u=a(97291),d=a(40254),m=a(82431),p=n.T.encloseNamespace("shared.utils"),v=[o.E.Video,o.E.Clip,o.E.Interactive];function y(e){return c.M.isInteractive(e)?{application:u.O.INTERACTIVES,action:l.e.Interactives.VIEW_INTERACTIVE,args:[e.id,r.m.slugify(e.name)]}:c.M.isClip(e)?{application:u.O.CLIPS,action:l.e.Clips.PLAY_CLIP,args:[e.id,r.m.slugify(e.name)]}:c.M.isVideo(e)?{application:u.O.VIDEOS,action:l.e.Videos.PLAY_VIDEO,args:[e.id,r.m.slugify(e.name)]}:e.typeId===o.E.Playlist?{application:u.O.PLAYLISTS,action:l.e.Playlists.PLAYLIST,args:[e.id,r.m.slugify(e.name)]}:e.typeId===o.E.Series?m.j.getSeriesAppLink(e):void 0}function f(e,t){if(!e)return null;if(!v.includes(e.objectTypeId))return y({id:e.objectId.toString(),typeId:e.objectTypeId});if(e.type===i.y.Classroom){var a=s.x.getClassroomIdFromShare(e);return{application:u.O.CLASSROOMS,action:l.e.Classrooms.INSIGHTS_OVERVIEW,args:[a,e.shareId],params:t}}return e.type===i.y.Open?{application:u.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOM_INSIGHTS_OVERVIEW,args:[e.shareId],params:t}:{application:u.O.MY_SHARES,action:l.e.MyShares.INSIGHTS_OVERVIEW,args:[e.shareId],params:t}}function h(e,t){if(!e)return null;if(!v.includes(e.objectTypeId))return y({id:e.objectId.toString(),typeId:e.objectTypeId});if(e.type===i.y.Classroom){var a=s.x.getClassroomIdFromShare(e);return{application:u.O.CLASSROOMS,action:l.e.Classrooms.INSIGHTS_HEATMAP,args:[a,e.shareId],params:t}}return e.type===i.y.Open?{application:u.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOM_INSIGHTS_HEATMAP,args:[e.shareId],params:t}:{application:u.O.MY_SHARES,action:l.e.MyShares.INSIGHTS_HEATMAP,args:[e.shareId],params:t}}function g(e,t){if(!e)return null;if(!v.includes(e.objectTypeId))return y({id:e.objectId.toString(),typeId:e.objectTypeId});if(e.type===i.y.Classroom){var a=s.x.getClassroomIdFromShare(e);return{application:u.O.CLASSROOMS,action:l.e.Classrooms.INSIGHTS_QUESTIONS,args:[a,e.shareId],params:t}}return e.type===i.y.Open?{application:u.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOM_INSIGHTS_QUESTIONS,args:[e.shareId],params:t}:{application:u.O.MY_SHARES,action:l.e.MyShares.INSIGHTS_QUESTIONS,args:[e.shareId],params:t}}function S(e,t){if(!e)return null;if(!v.includes(e.objectTypeId))return y({id:e.objectId.toString(),typeId:e.objectTypeId});if(e.type===i.y.Classroom){var a=s.x.getClassroomIdFromShare(e);return{application:u.O.CLASSROOMS,action:l.e.Classrooms.INSIGHTS_STUDENTS,args:[a,e.shareId],params:t}}return e.type===i.y.Open?{application:u.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOM_INSIGHTS_STUDENTS,args:[e.shareId],params:t}:{application:u.O.MY_SHARES,action:l.e.MyShares.INSIGHTS_STUDENTS,args:[e.shareId],params:t}}function E(e){if(e&&e.type!==i.y.LegacyDirect){var t=b(e);return e.type===i.y.Link?{application:u.O.SHARE,action:l.e.Share.SHARE,args:[e.objectId],params:{entityType:t}}:d.W.assignDetails({objectId:e.objectId.toString(),shareId:e.shareId,entityType:t,detailsTitle:p("shareOptions")})}}function I(e){if(e){var t=b(e);return e.type===i.y.Link?{application:u.O.SHARE,action:l.e.Share.DELETE_SHARE_LINK,args:[e.objectId],params:{entityType:t,previousAppLink:{application:u.O.MY_SHARES,action:l.e.MyShares.HOME}}}:e.type===i.y.LegacyDirect?{application:u.O.SHARE,action:l.e.Share.DELETE_LEGACY_SHARE,args:[e.shareId],params:{previousAppLink:{application:u.O.MY_SHARES,action:l.e.MyShares.HOME}}}:e.type===i.y.Classroom?{application:u.O.SHARE,action:l.e.Share.DELETE_ASSIGNMENT,args:[e.shareId],params:{previousAppLink:{application:u.O.CLASSROOMS,action:l.e.Classrooms.CLASSROOM_HOME,args:[s.x.getClassroomIdFromShare(e)]}}}:e.type===i.y.Open?{application:u.O.SHARE,action:l.e.Share.DELETE_OPEN_CLASSROOM,args:[e.shareId],params:{previousAppLink:{application:u.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOMS,args:[s.x.getClassroomIdFromShare(e)]}}}:void 0}}function b(e){return e.objectTypeId===o.E.Video?"video":e.objectTypeId===o.E.Interactive?"interactive":e.objectTypeId===o.E.Clip?"clip":e.objectTypeId===o.E.Series?"series":e.objectTypeId===o.E.Playlist?"playlist":void 0}}}]);
|
|
2
|
+
//# sourceMappingURL=9042-7c30ffd4f0-lite.chunk.js.map
|