@clickview/lite 0.69.1-dev.0 → 0.69.1-dev.2
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/{9985-lite-3c49d1b796.chunk.css → 3902-lite-5eaa7e7ae0.chunk.css} +1 -2
- package/dist/css/{555-lite-1b5aa9652d.chunk.css → 4356-lite-b05b606d3d.chunk.css} +1 -2
- package/dist/css/{2636-lite-f995954232.chunk.css → 4527-lite-4d1b877b3f.chunk.css} +4 -0
- package/dist/css/{1239-lite-8152f713c8.chunk.css → 7210-lite-a568e8ec1e.chunk.css} +1 -0
- package/dist/languages/en.json +1 -1
- package/dist/scripts/1210-7afb28caac-lite.chunk.js +2 -0
- package/dist/scripts/1210-7afb28caac-lite.chunk.js.map +1 -0
- package/dist/scripts/1386-332e63f68c-lite.chunk.js +2 -0
- package/dist/scripts/1386-332e63f68c-lite.chunk.js.map +1 -0
- package/dist/scripts/232-1522c00252-lite.chunk.js +3 -0
- package/dist/scripts/232-1522c00252-lite.chunk.js.map +1 -0
- package/dist/scripts/2392-19e4bb187b-lite.chunk.js +3 -0
- package/dist/scripts/2392-19e4bb187b-lite.chunk.js.map +1 -0
- package/dist/scripts/{2640-536c550749-lite.chunk.js → 2640-052f4606f6-lite.chunk.js} +2 -2
- package/dist/scripts/2640-052f4606f6-lite.chunk.js.map +1 -0
- package/dist/scripts/300-3d9f3cd4e3-lite.chunk.js +2 -0
- package/dist/scripts/300-3d9f3cd4e3-lite.chunk.js.map +1 -0
- package/dist/scripts/3079-0a333d6805-lite.chunk.js +2 -0
- package/dist/scripts/3079-0a333d6805-lite.chunk.js.map +1 -0
- package/dist/scripts/3110-eee18143c6-lite.chunk.js +2 -0
- package/dist/scripts/3110-eee18143c6-lite.chunk.js.map +1 -0
- package/dist/scripts/312-693aa30814-lite.chunk.js +2 -0
- package/dist/scripts/312-693aa30814-lite.chunk.js.map +1 -0
- package/dist/scripts/3902-39aaff7ce9-lite.chunk.js +2 -0
- package/dist/scripts/3902-39aaff7ce9-lite.chunk.js.map +1 -0
- package/dist/scripts/4229-477b1858dc-lite.chunk.js +2 -0
- package/dist/scripts/4229-477b1858dc-lite.chunk.js.map +1 -0
- package/dist/scripts/4356-36ce3ceec1-lite.chunk.js +2 -0
- package/dist/scripts/4356-36ce3ceec1-lite.chunk.js.map +1 -0
- package/dist/scripts/4527-42075d96f4-lite.chunk.js +2 -0
- package/dist/scripts/4527-42075d96f4-lite.chunk.js.map +1 -0
- package/dist/scripts/{4845-f3646fb657-lite.chunk.js → 4845-9b4657e696-lite.chunk.js} +2 -2
- package/dist/scripts/4845-9b4657e696-lite.chunk.js.map +1 -0
- package/dist/scripts/5679-444d9a7f76-lite.chunk.js +2 -0
- package/dist/scripts/5679-444d9a7f76-lite.chunk.js.map +1 -0
- package/dist/scripts/6046-104677f08c-lite.chunk.js +2 -0
- package/dist/scripts/6046-104677f08c-lite.chunk.js.map +1 -0
- package/dist/scripts/{6188-e108abca25-lite.chunk.js → 6188-77fc2f3ec5-lite.chunk.js} +2 -2
- package/dist/scripts/6188-77fc2f3ec5-lite.chunk.js.map +1 -0
- package/dist/scripts/6351-dff9edbb16-lite.chunk.js +3 -0
- package/dist/scripts/6351-dff9edbb16-lite.chunk.js.map +1 -0
- package/dist/scripts/6973-c4cb114bd7-lite.chunk.js +2 -0
- package/dist/scripts/6973-c4cb114bd7-lite.chunk.js.map +1 -0
- package/dist/scripts/7210-2e4563178c-lite.chunk.js +3 -0
- package/dist/scripts/7210-2e4563178c-lite.chunk.js.map +1 -0
- package/dist/scripts/7480-3564c0c2da-lite.chunk.js +2 -0
- package/dist/scripts/7480-3564c0c2da-lite.chunk.js.map +1 -0
- package/dist/scripts/7482-13e6f78c32-lite.chunk.js +2 -0
- package/dist/scripts/7482-13e6f78c32-lite.chunk.js.map +1 -0
- package/dist/scripts/9040-be65e4eb1e-lite.chunk.js +2 -0
- package/dist/scripts/9040-be65e4eb1e-lite.chunk.js.map +1 -0
- package/dist/scripts/{bundle-90d3c7fd15.min.js → bundle-32e967af87.min.js} +3 -3
- package/dist/scripts/{bundle-90d3c7fd15.min.js.map → bundle-32e967af87.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/1210-3cbdc62b0a-lite.chunk.js +0 -2
- package/dist/scripts/1210-3cbdc62b0a-lite.chunk.js.map +0 -1
- package/dist/scripts/1239-ed9b8aadb4-lite.chunk.js +0 -3
- package/dist/scripts/1239-ed9b8aadb4-lite.chunk.js.map +0 -1
- package/dist/scripts/1386-d93ee75e0c-lite.chunk.js +0 -2
- package/dist/scripts/1386-d93ee75e0c-lite.chunk.js.map +0 -1
- package/dist/scripts/2392-acfd69dfa3-lite.chunk.js +0 -3
- package/dist/scripts/2392-acfd69dfa3-lite.chunk.js.map +0 -1
- package/dist/scripts/2636-63e5f2c9e6-lite.chunk.js +0 -2
- package/dist/scripts/2636-63e5f2c9e6-lite.chunk.js.map +0 -1
- package/dist/scripts/2640-536c550749-lite.chunk.js.map +0 -1
- package/dist/scripts/3036-d18c598435-lite.chunk.js +0 -2
- package/dist/scripts/3036-d18c598435-lite.chunk.js.map +0 -1
- package/dist/scripts/4229-75ba28a266-lite.chunk.js +0 -2
- package/dist/scripts/4229-75ba28a266-lite.chunk.js.map +0 -1
- package/dist/scripts/4266-e856b96643-lite.chunk.js +0 -3
- package/dist/scripts/4266-e856b96643-lite.chunk.js.map +0 -1
- package/dist/scripts/4598-f326dc1aec-lite.chunk.js +0 -2
- package/dist/scripts/4598-f326dc1aec-lite.chunk.js.map +0 -1
- package/dist/scripts/4845-f3646fb657-lite.chunk.js.map +0 -1
- package/dist/scripts/555-d811b49435-lite.chunk.js +0 -2
- package/dist/scripts/555-d811b49435-lite.chunk.js.map +0 -1
- package/dist/scripts/6046-44c115a89c-lite.chunk.js +0 -2
- package/dist/scripts/6046-44c115a89c-lite.chunk.js.map +0 -1
- package/dist/scripts/6188-e108abca25-lite.chunk.js.map +0 -1
- package/dist/scripts/6317-49be898c73-lite.chunk.js +0 -2
- package/dist/scripts/6317-49be898c73-lite.chunk.js.map +0 -1
- package/dist/scripts/6973-ede6601614-lite.chunk.js +0 -2
- package/dist/scripts/6973-ede6601614-lite.chunk.js.map +0 -1
- package/dist/scripts/7075-9a76ce47c9-lite.chunk.js +0 -3
- package/dist/scripts/7075-9a76ce47c9-lite.chunk.js.map +0 -1
- package/dist/scripts/7480-02bc4e08a3-lite.chunk.js +0 -2
- package/dist/scripts/7480-02bc4e08a3-lite.chunk.js.map +0 -1
- package/dist/scripts/9040-9393c59004-lite.chunk.js +0 -2
- package/dist/scripts/9040-9393c59004-lite.chunk.js.map +0 -1
- package/dist/scripts/9985-c488ab5f65-lite.chunk.js +0 -2
- package/dist/scripts/9985-c488ab5f65-lite.chunk.js.map +0 -1
- /package/dist/css/{3036-lite-1b3e9aa905.chunk.css → 3079-lite-1b3e9aa905.chunk.css} +0 -0
- /package/dist/css/{7075-lite-a377febbb0.chunk.css → 6351-lite-a377febbb0.chunk.css} +0 -0
- /package/dist/scripts/{4266-e856b96643-lite.chunk.js.LICENSE.txt → 232-1522c00252-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{1239-ed9b8aadb4-lite.chunk.js.LICENSE.txt → 2392-19e4bb187b-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{2392-acfd69dfa3-lite.chunk.js.LICENSE.txt → 6351-dff9edbb16-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{7075-9a76ce47c9-lite.chunk.js.LICENSE.txt → 7210-2e4563178c-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-90d3c7fd15.min.js.LICENSE.txt → bundle-32e967af87.min.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3902],{26025:(e,a,t)=>{t.d(a,{B:()=>c});var r=t(1048),n=t(75795),c={getAudienceAppLinkParams:function(){var e=n.O.getCurrentRoute().appLink,a=r.t.isObject(e.params)?e.params:{},t=a.users,c=a.classrooms,l=a.classroomGroups,s=function(e){var t=a[e];if(t)return Array.isArray(t)?t:[t]},i={};return t&&(i.users=s("users")),c&&(i.classrooms=s("classrooms")),l&&(i.classroomGroups=s("classroomGroups")),i},getDateRangeAppLinkParams:function(){var e=n.O.getCurrentRoute().appLink,a=r.t.isObject(e.params)?e.params:{},t=a.from,c=a.to,l=a.rangeName,s={};return t&&(s.from=t),c&&(s.to=c),l&&(s.rangeName=l),s}}},35115:(e,a,t)=>{t.d(a,{p:()=>m});var r=t(32735),n=t(49935),c=t(95278);const l="pJf6R",s="MSvzY",i="IFmvc",o="pOcvk";var m=r.memo((function(){return r.createElement("div",{className:"px-3"},r.createElement("div",{className:"mb-1 partial-loading-background ".concat("YrP_G")}),r.createElement("div",{className:"pb-3"},r.createElement(n.b2,{numItems:2})),r.createElement("div",{className:"pb-2"},r.createElement(c.Z,null)),r.createElement("div",{className:"d-flex align-items-center py-2"},r.createElement("div",{className:"mx-4 partial-loading-background ".concat(l)}),r.createElement("div",{className:"me-2 partial-loading-background ".concat(s)}),r.createElement("div",{className:"me-auto partial-loading-background ".concat(s)}),r.createElement("div",{className:"partial-loading-background ".concat("j62jt")})),r.createElement("ul",{className:"striped-list list-unstyled"},Array(20).fill(null).map((function(e,a){return r.createElement("li",{key:a},r.createElement("div",{className:"d-flex align-items-center py-1 px-4"},r.createElement("div",{className:"me-2 partial-loading-background ".concat(l)}),r.createElement("div",{className:"me-2 partial-loading-background ".concat("droqZ")}),r.createElement("div",{className:"w-25"},r.createElement("div",{className:"partial-loading-background ".concat("gorcb")})),r.createElement("div",{className:"me-auto d-flex"},Math.random()>.5?r.createElement(r.Fragment,null,r.createElement("div",{className:"partial-loading-background rounded-pill me-1 ".concat(i," ").concat("SdQ90")}),r.createElement("div",{className:"partial-loading-background rounded-pill ".concat(i," ").concat(o)})):r.createElement("div",{className:"partial-loading-background rounded-pill ".concat(i," ").concat(o)})),r.createElement("div",{className:"me-2 partial-loading-background ".concat(s)}),r.createElement("div",{className:"partial-loading-background ".concat("S7p4K")})))}))))}))},69583:(e,a,t)=>{t.r(a),t.d(a,{ClassroomReportsView:()=>j});var r=t(32735),n=t(23481),c=t(20354),l=t(87801),s=t(83523),i=t(1666),o=t(31949),m=t(79967),d=t(79612),u=t(99742),p=t(86099),g=t(35115),v=t(88630),f=t(31491),b=t(22602),E=t(67467),h=t(5056),k=t(28001),N=t(45231),y=t(69003);function A(e,a){(null==a||a>e.length)&&(a=e.length);for(var t=0,r=Array(a);t<a;t++)r[t]=e[t];return r}var S=n.T.encloseNamespace("classrooms.classroomStudents");function j(e){var a,t,n,j,w,C,O=(w=r.useState(!1),C=2,function(e){if(Array.isArray(e))return e}(w)||function(e,a){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,n,c,l,s=[],i=!0,o=!1;try{if(c=(t=t.call(e)).next,0===a){if(Object(t)!==t)return;i=!1}else for(;!(i=(r=c.call(t)).done)&&(s.push(r.value),s.length!==a);i=!0);}catch(e){o=!0,n=e}finally{try{if(!i&&null!=t.return&&(l=t.return(),Object(l)!==l))return}finally{if(o)throw n}}return s}}(w,C)||function(e,a){if(e){if("string"==typeof e)return A(e,a);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?A(e,a):void 0}}(w,C)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),R=O[0],x=O[1],F=c.a.useBasicFetch(o.N.currentUser()),L=c.a.useBasicFetch(F.data&&v.F.getClassroom(e.id,F.data.id)),_=(0,m.k)(),I=c.a.useBasicFetch((null===(a=F.data)||void 0===a?void 0:a.isAuthenticated)&&i.h.yearGroups(F.data.customerId)),P=(0,y.cl)([]),G=(0,N.a)({scopeId:e.id},!0,!0),M=null===(n=null===(t=L.data)||void 0===t?void 0:t._integrations)||void 0===n?void 0:n.rostered;return(0,d.M)({title:S("pageTitle",{classroomName:null===(j=L.data)||void 0===j?void 0:j.name})}),(0,f._)(L),L.data?r.createElement(b.R,{classroom:L.data,currentUser:F.data,onTogglePin:console.log,activeTab:"reports",isRostered:M},r.createElement("div",{className:"d-flex gap-3 m-3 justify-content-end"},r.createElement("label",{className:"mb-0"},"View as student feed"),r.createElement(s.Z,{on:R,onClick:function(){return x(!R)}})),R&&r.createElement("img",{src:u.W.CLASSROM_FEED}),!R&&(G.showPartialLoading?r.createElement(k.L,null):G.sentShares.length?r.createElement(r.Fragment,null,r.createElement(h.R,{sentShares:G.sentShares,sharedObjects:G.sharedObjects.items,shareRecipients:G.shareRecipients.items,interactivesPendingReview:G.interactivesPendingReview.itemsArr,getObjectAppLink:p.Qh,getObjectActions:function(e,a){return(0,y.sD)(e,a,P.audienceAppLinkParams,!0,!1,_)},imageCdnUrl:G.imageCdnUrl,groupByDateShared:!0,breakpoints:_,yearGroups:I.data,hasDemoInsights:!1}),(G.hasMore||G.isFetching)&&r.createElement(l._,{isFetching:G.isFetching,fetchNext:G.fetchNext,nextCursor:G.nextCursor})):r.createElement(E.o,null))):r.createElement(g.p,null)}}}]);
|
|
2
|
+
//# sourceMappingURL=3902-39aaff7ce9-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/3902-39aaff7ce9-lite.chunk.js","mappings":"6JAOaA,EAAwB,CACnCC,yBAA0B,WACxB,IAAQC,EAAY,sBAAZA,QACFC,EAAS,aAAsBD,EAAQC,QAAUD,EAAQC,OAAuB,CAAC,EAC/EC,EAAuCD,EAAvCC,MAAOC,EAAgCF,EAAhCE,WAAYC,EAAoBH,EAApBG,gBAErBC,EAAW,SAACC,GAChB,IAAMC,EAAQN,EAAOK,GAErB,GAAKC,EAGL,OAAOC,MAAMC,QAAQF,GAASA,EAAQ,CAACA,EACzC,EAEMG,EAAuC,CAAC,EAW9C,OATIR,IACFQ,EAAgBR,MAAQG,EAAS,UAE/BF,IACFO,EAAgBP,WAAaE,EAAS,eAEpCD,IACFM,EAAgBN,gBAAkBC,EAAS,oBAEtCK,CACT,EACAC,0BAA2B,WACzB,IAAQX,EAAY,sBAAZA,QACFC,EAAS,aAAsBD,EAAQC,QAAUD,EAAQC,OAAuB,CAAC,EAC/EW,EAAwBX,EAAxBW,KAAMC,EAAkBZ,EAAlBY,GAAIC,EAAcb,EAAda,UAEZC,EAAyC,CAAC,EAWhD,OATIH,IACFG,EAAiBH,KAAOA,GAEtBC,IACFE,EAAiBF,GAAKA,GAEpBC,IACFC,EAAiBD,UAAYA,GAExBC,CACT,E,wECnDF,QAA8D,QAA9D,EAAmF,QAAnF,EAA+I,QAA/I,EAA4J,QCMrJ,IAAMC,EAAiC,QAAW,WACvD,OACE,uBAAKC,UAAU,QAEb,uBAAKA,UAAS,0CDVM,WCapB,uBAAKA,UAAU,QACb,gBAAC,KAAkB,CAACC,SAAU,KAIhC,uBAAKD,UAAU,QACb,gBAACE,EAAA,EAAsB,OAGzB,uBAAKF,UAAU,kCAEb,uBAAKA,UAAS,0CAAqC,KAEnD,uBAAKA,UAAS,0CAAqC,KAEnD,uBAAKA,UAAS,6CAAwC,KAGtD,uBAAKA,UAAS,qCD/BmF,YCmCnG,sBAAIA,UAAU,8BACXT,MAAM,IAAIY,KAAK,MAAMC,KAAI,SAACC,EAASC,GAAC,OACnC,sBAAIjB,IAAKiB,GACP,uBAAKN,UAAU,uCAEb,uBAAKA,UAAS,0CAAqC,KAGnD,uBAAKA,UAAS,0CD3Ce,WC8C7B,uBAAKA,UAAU,QACb,uBAAKA,UAAS,qCD/CiG,YCmDjH,uBAAKA,UAAU,kBACZO,KAAKC,SAAW,GAEb,gCACE,uBAAKR,UAAS,uDAAkD,EAAY,YDvDuE,WCwDnJ,uBAAKA,UAAS,kDAA6C,EAAY,YAAI,MAE3E,uBAAKA,UAAS,kDAA6C,EAAY,YAAI,MAKnF,uBAAKA,UAAS,0CAAqC,KAEnD,uBAAKA,UAAS,qCDjEmK,YCmEhL,KAKf,G,iYC/CA,IACMS,EAAY,qBADA,gCAQZ,SAAUC,EAAqBC,G,gBACoB,G,EAArB,YAAe,G,EAAM,E,o4BAA/CC,EAAQ,KAAEC,EAAW,KACvBC,EAAc,kBAAkC,mBAChDC,EAAY,kBAAgCD,EAAYE,MAC5D,iBAA+BL,EAAMM,GAAIH,EAAYE,KAAKC,KACtDC,GAAc,SACdC,EAAa,mBACD,QAAhB,EAAAL,EAAYE,YAAI,eAAEI,kBAAmB,eAA4BN,EAAYE,KAAKK,aAG9EC,GAAe,QAAgB,IAE/BC,GAAY,OAAiB,CACjCC,QAASb,EAAMM,KACd,GAAM,GAEHQ,EAA0C,QAA7B,EAAc,QAAd,EAAAV,EAAUC,YAAI,eAAEU,qBAAa,eAAEC,SAgDlD,OA9CA,OAAmB,CACjBC,MAAOnB,EAAU,YAAa,CAAEoB,cAA6B,QAAd,EAAAd,EAAUC,YAAI,eAAEc,UAGjE,OAAyBf,GA0CpBA,EAAUC,KAIb,gBAAC,IAAe,CACdD,UAAWA,EAAUC,KACrBF,YAAaA,EAAYE,KACzBe,YAAaC,QAAQC,IACrBC,UAAU,UACVT,WAAYA,GAEZ,uBAAKzB,UAAU,wCACb,yBAAOA,UAAU,QAAM,wBACvB,gBAAC,IAAY,CAACmC,GAAIvB,EAAUwB,QAAS,WAAF,OAAQvB,GAAaD,EAAS,KAGlEA,GAAY,uBAAKyB,IAAK,qBACrBzB,IAxDAW,EAAUe,mBACL,gBAAC,IAAoB,MAEzBf,EAAUgB,WAAWC,OAIxB,gCACE,gBAAC,IAAa,CACZD,WAAYhB,EAAUgB,WACtBE,cAAelB,EAAUkB,cAAcC,MACvCC,gBAAiBpB,EAAUoB,gBAAgBD,MAC3CE,0BAA2BrB,EAAUqB,0BAA0BC,SAC/DC,iBAAkB,KAClBC,iBAAkB,SAACC,EAAKC,GAAO,OAAK,QAClCD,EACAC,EACA3B,EAAa4B,uBACb,GACA,EACAhC,EACD,EACDiC,YAAa5B,EAAU4B,YACvBC,mBAAiB,EACjBlC,YAAaA,EACbC,WAAYA,EAAWH,KACvBqC,iBAAiB,KAEjB9B,EAAU+B,SAAW/B,EAAUgC,aAC/B,gBAAC,IAAoB,CACnBA,WAAYhC,EAAUgC,WACtBC,UAAWjC,EAAUiC,UACrBC,WAAYlC,EAAUkC,cA5BrB,gBAAC,IAAuB,QAoC1B,gBAAC,IAA8B,KAmB1C,C","sources":["file:///app/packages/libs/shared/src/apps/analytics/utils/AnalyticsFilterUtils.ts","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-students/partial-loading/partial-manage-classroom-students.scss","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-students/partial-loading/PartialManageClassroomStudents.tsx","file:///app/packages/projects/lite/src/apps/classrooms/views/classroom-reports/ClassroomReportsView.tsx"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { AudienceQueryParams } from 'libs/shared/apps/analytics/interfaces/AudienceQueryParams';\nimport { DateRangeQueryParams } from 'libs/shared/apps/analytics/interfaces/DateRangeQueryParams';\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nexport const AnalyticsFilterHelper = {\n getAudienceAppLinkParams: () => {\n const { appLink } = ContextService.getCurrentRoute();\n const params = ObjectHelper.isObject(appLink.params) ? appLink.params as HashObject : {};\n const { users, classrooms, classroomGroups } = params;\n\n const getParam = (key: keyof AudienceQueryParams) => {\n const param = params[key];\n\n if (!param)\n return;\n\n return Array.isArray(param) ? param : [param];\n };\n\n const audienceFilters: AudienceQueryParams = {};\n\n if (users)\n audienceFilters.users = getParam('users');\n\n if (classrooms)\n audienceFilters.classrooms = getParam('classrooms');\n\n if (classroomGroups)\n audienceFilters.classroomGroups = getParam('classroomGroups');\n\n return audienceFilters;\n },\n getDateRangeAppLinkParams: () => {\n const { appLink } = ContextService.getCurrentRoute();\n const params = ObjectHelper.isObject(appLink.params) ? appLink.params as HashObject : {};\n const { from, to, rangeName } = params;\n\n const dateRangeFilters: DateRangeQueryParams = {};\n\n if (from)\n dateRangeFilters.from = from;\n\n if (to)\n dateRangeFilters.to = to;\n\n if (rangeName)\n dateRangeFilters.rangeName = rangeName;\n\n return dateRangeFilters;\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"heading\":\"YrP_G\",\"avatar\":\"droqZ\",\"checkbox\":\"pJf6R\",\"actionIcon\":\"MSvzY\",\"addStudents\":\"j62jt\",\"studentName\":\"gorcb\",\"group\":\"IFmvc\",\"sm\":\"pOcvk\",\"lg\":\"SdQ90\",\"moreActions\":\"S7p4K\"};","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialPillTabSelector } from 'libs/shared/components/pill-tab-selector/partial-loading/PartialPillTabSelector';\n\nimport styles from './partial-manage-classroom-students.scss';\n\nexport const PartialManageClassroomStudents = React.memo(function(): JSX.Element {\n return (\n <div className='px-3'>\n {/* Heading */}\n <div className={`mb-1 partial-loading-background ${styles.heading}`} />\n\n {/* Breadcrumbs */}\n <div className='pb-3'>\n <PartialBreadcrumbs numItems={2} />\n </div>\n\n {/* Pill tab selector */}\n <div className='pb-2'>\n <PartialPillTabSelector />\n </div>\n\n <div className='d-flex align-items-center py-2'>\n {/* Checkbox */}\n <div className={`mx-4 partial-loading-background ${styles.checkbox}`} />\n {/* Group selector */}\n <div className={`me-2 partial-loading-background ${styles.actionIcon}`} />\n {/* Delete action */}\n <div className={`me-auto partial-loading-background ${styles.actionIcon}`} />\n\n {/* Add new students button */}\n <div className={`partial-loading-background ${styles.addStudents}`} />\n </div>\n\n {/* Students list */}\n <ul className='striped-list list-unstyled'>\n {Array(20).fill(null).map((student, i) => (\n <li key={i}>\n <div className='d-flex align-items-center py-1 px-4'>\n {/* Checkbox */}\n <div className={`me-2 partial-loading-background ${styles.checkbox}`} />\n\n {/* Avatar */}\n <div className={`me-2 partial-loading-background ${styles.avatar}`} />\n\n {/* Student name */}\n <div className='w-25'>\n <div className={`partial-loading-background ${styles.studentName}`} />\n </div>\n\n {/* Groups list. Randomly renders either 1 or 2 groups. Group widths are randomly generated */}\n <div className='me-auto d-flex'>\n {Math.random() > 0.5\n ? (\n <>\n <div className={`partial-loading-background rounded-pill me-1 ${styles.group} ${styles.lg}`} />\n <div className={`partial-loading-background rounded-pill ${styles.group} ${styles.sm}`} />\n </>\n ) : <div className={`partial-loading-background rounded-pill ${styles.group} ${styles.sm}`} />\n }\n </div>\n\n {/* Group selector */}\n <div className={`me-2 partial-loading-background ${styles.actionIcon}`} />\n {/* More actions */}\n <div className={`partial-loading-background ${styles.moreActions}`} />\n </div>\n </li>\n ))}\n </ul>\n </div>\n );\n});","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classroom, CurrentUser, YearGroup } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { getObjectAppLink } from 'shared/utils/ObjectAppLinkHelper';\n\nimport { PartialManageClassroomStudents } from 'apps/classrooms/components/manage-classroom-students/partial-loading/PartialManageClassroomStudents';\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\nimport { useHandleClassroomErrors } from 'apps/classrooms/hooks/useHandleClassroomErrors';\nimport { ClassroomLayout } from 'apps/classrooms/layouts/ClassroomLayout';\nimport { MySharesTableEmptyState } from 'apps/my-shares/components/my-shares-table/empty-state/MySharesTableEmptyState';\nimport { MySharesTable } from 'apps/my-shares/components/my-shares-table/MySharesTable';\nimport { PartialMySharesTable } from 'apps/my-shares/components/my-shares-table/partial-loading/PartialMySharesTable';\nimport { useMySharesTable } from 'apps/my-shares/hooks/useMySharesTable';\nimport { getShareObjectActions, getSharesParams } from 'apps/my-shares/views/my-shares/MySharesViewUtils';\n\nconst namespace = 'classrooms.classroomStudents';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClassroomReportsViewProps {\n id: string;\n cursor: string;\n}\n\nexport function ClassroomReportsView(props: ClassroomReportsViewProps): JSX.Element {\n const [ showFeed, setShowFeed ] = React.useState(false);\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const classroom = Flight.useBasicFetch<Classroom>(currentUser.data &&\n ClassroomRequests.getClassroom(props.id, currentUser.data.id));\n const breakpoints = useBreakpoints();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const sharesParams = getSharesParams([]);\n\n const shareData = useMySharesTable({\n scopeId: props.id\n }, true, true);\n\n const isRostered = classroom.data?._integrations?.rostered;\n\n useSetPageMetadata({\n title: getPhrase('pageTitle', { classroomName: classroom.data?.name })\n });\n\n useHandleClassroomErrors(classroom);\n\n function renderTable() {\n if (shareData.showPartialLoading)\n return <PartialMySharesTable />;\n \n if (!shareData.sentShares.length)\n return <MySharesTableEmptyState />;\n\n return (\n <>\n <MySharesTable\n sentShares={shareData.sentShares}\n sharedObjects={shareData.sharedObjects.items}\n shareRecipients={shareData.shareRecipients.items}\n interactivesPendingReview={shareData.interactivesPendingReview.itemsArr}\n getObjectAppLink={getObjectAppLink}\n getObjectActions={(obj, shareId) => getShareObjectActions(\n obj,\n shareId,\n sharesParams.audienceAppLinkParams,\n true,\n false,\n breakpoints\n )}\n imageCdnUrl={shareData.imageCdnUrl}\n groupByDateShared\n breakpoints={breakpoints}\n yearGroups={yearGroups.data}\n hasDemoInsights={false}\n />\n {(shareData.hasMore || shareData.isFetching) &&\n <InfiniteScrollFooter\n isFetching={shareData.isFetching}\n fetchNext={shareData.fetchNext}\n nextCursor={shareData.nextCursor}\n />\n }\n </>\n );\n }\n\n if (!classroom.data)\n return <PartialManageClassroomStudents />;\n\n return (\n <ClassroomLayout\n classroom={classroom.data}\n currentUser={currentUser.data}\n onTogglePin={console.log}\n activeTab='reports'\n isRostered={isRostered}\n >\n <div className='d-flex gap-3 m-3 justify-content-end'>\n <label className='mb-0'>View as student feed</label>\n <ToggleSwitch on={showFeed} onClick={() => setShowFeed(!showFeed)} />\n </div>\n\n {showFeed && <img src={ImageUrls.CLASSROM_FEED} />}\n {!showFeed && renderTable()}\n </ClassroomLayout>\n );\n}\n"],"names":["AnalyticsFilterHelper","getAudienceAppLinkParams","appLink","params","users","classrooms","classroomGroups","getParam","key","param","Array","isArray","audienceFilters","getDateRangeAppLinkParams","from","to","rangeName","dateRangeFilters","PartialManageClassroomStudents","className","numItems","PartialPillTabSelector","fill","map","student","i","Math","random","getPhrase","ClassroomReportsView","props","showFeed","setShowFeed","currentUser","classroom","data","id","breakpoints","yearGroups","isAuthenticated","customerId","sharesParams","shareData","scopeId","isRostered","_integrations","rostered","title","classroomName","name","onTogglePin","console","log","activeTab","on","onClick","src","showPartialLoading","sentShares","length","sharedObjects","items","shareRecipients","interactivesPendingReview","itemsArr","getObjectAppLink","getObjectActions","obj","shareId","audienceAppLinkParams","imageCdnUrl","groupByDateShared","hasDemoInsights","hasMore","isFetching","fetchNext","nextCursor"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4229],{5255:(t,e,r)=>{r.d(e,{Y:()=>o});var a=r(20354),n=r(30439);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function o(t){var e,r=a.a.useBasicFetch(t&&n.o.getAnonSessions(t));return(null===(e=r.data)||void 0===e?void 0:e.length)?r.data.reduce((function(t,e){return Object.assign(Object.assign({},t),(r={},a=e.sessionId,n=e,(a=function(t){var e=function(t){if("object"!=i(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==i(e)?e:e+""}(a))in r?Object.defineProperty(r,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[a]=n,r));var r,a,n}),{}):{}}},41196:(t,e,r)=>{r.d(e,{W:()=>s});var a=r(20354),n=r(71553),i=r(20768),o=r(31949);function s(t,e,r){var s,c=a.a.useBasicFetch(o.N.currentUser()),u=a.a.useBasicFetch(!!t&&i.b.interactiveMetadata(t)),l=a.a.useBasicFetch(!!(null===(s=u.data)||void 0===s?void 0:s.interactiveId)&&i.b.interactive(u.data.interactiveId)),d=!!c.data&&!!l.data&&!!e;return a.a.useBasicFetch(d&&n.I.interactiveResultSet(u.data.interactiveId,u.data.id,c.data,e,r))}},74901:(t,e,r)=>{function a(t){return function(t){if(Array.isArray(t))return n(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return n(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,e):void 0}}(t)||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 n(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,a=Array(e);r<e;r++)a[r]=t[r];return a}r.d(e,{K:()=>i});var i=function(t){var e=[],r=[];return t.users&&e.push.apply(e,a(t.users)),t.classrooms&&r.push.apply(r,a(t.classrooms)),t.classroomGroups&&r.push.apply(r,a(t.classroomGroups)),{userId:e,groupId:r}}},94644:(t,e,r)=>{r.d(e,{r:()=>l});var a=r(50242),n=r(81886),i=r(67058),o=r(14553),s=r(49267),c=r(49075),u={notFound:i.d,forbidden:{rating:o.q,yearLevel:o.q,region:s.a,privacy:o.q},badRequest:c._,internalServerError:c._};function l(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t){var i;i="number"==typeof t?t:t.status;var o=Object.assign(Object.assign({},u),e);i&&n.Q.Ry.isStatusCodeError(i)&&(i!==a.o.InternalServer?i!==a.o.NotFound?i!==a.o.Forbidden?r.badRequest||n.Q.Ry.throw(new o.badRequest):r.forbidden||n.Q.Ry.throw(new o.forbidden.privacy):r.notFound||n.Q.Ry.throw(new o.notFound):r.internalServerError||n.Q.Ry.throw(new c._))}}},91286:(t,e,r)=>{r.d(e,{v:()=>o});var a=r(32735),n=r(94644);function i(t){return t.map((function(t){return t.statusCode})).join(":")}function o(t,e,r){var o=Array.isArray(t)?t:[t];(0,a.useEffect)((function(){o.forEach((function(t){(0,n.r)(t.statusCode,e,r)}))}),[i(o),e,r])}},24191:(t,e,r)=>{r.r(e),r.d(e,{InteractiveInsightsQuestionsView:()=>O});var a=r(32735),n=r(23481),i=r(2948),o=r(20354),s=r(5255),c=r(41196),u=r(26025),l=r(74901),d=r(40003),v=r(38143),f=r(16714),y=r(39151),b=r(20768),h=r(91286),m=r(93322),p=r(22902),g=r(79612),I=r(37802),S=r(26203),w=r(68536),A=r(10447);function j(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,a=Array(e);r<e;r++)a[r]=t[r];return a}var F=n.T.encloseNamespace("shared.interactiveInsightsQuestionsView");function O(t){var e,r,n,O,E,B=(O=(0,i.D)(v.g.ANONYMISE_USERS),E=1,function(t){if(Array.isArray(t))return t}(O)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var a,n,i,o,s=[],c=!0,u=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(a=i.call(r)).done)&&(s.push(a.value),s.length!==e);c=!0);}catch(t){u=!0,n=t}finally{try{if(!c&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw n}}return s}}(O,E)||function(t,e){if(t){if("string"==typeof t)return j(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?j(t,e):void 0}}(O,E)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];(0,m.F)();var R=(0,I.r)(null).hasShareFlowV2,k=(0,p.T)().hasPermissions,C=o.a.useBasicFetch(y.L.config()),_=o.a.useBasicFetch(b.b.interactiveMetadata(t.interactiveId)),q=o.a.useBasicFetch((null===(e=_.data)||void 0===e?void 0:e.interactiveId)&&b.b.interactive(_.data.interactiveId)),M=(0,s.Y)(t.shareId),P=u.B.getAudienceAppLinkParams(),Q=u.B.getDateRangeAppLinkParams(),U=(0,c.W)(t.interactiveId,Object.assign(Object.assign({},(0,d.wO)((0,d.Hb)(),Q)),(0,l.K)(P)),!0);(0,g.M)({title:_.data?F("pageTitle",{video:null===(r=_.data)||void 0===r?void 0:r.name}):null}),(0,h.v)([q,_,U]);var L=q.data&&_.data&&!!U.data,N=Object.assign(Object.assign(Object.assign({},P),Q),{shareId:t.shareId});return a.createElement("div",{className:"px-3"},a.createElement(S.j,{dateRangeAppLinkParams:Q,tabs:(0,A.kj)(t.interactiveId,"questions",N),video:_.data,hasAnalytics:k(f.C.ViewCustomerAnalytics),analyticsWebUrl:null===(n=C.data)||void 0===n?void 0:n.analyticsWebUrl,hasShareFlowV2:R,shareId:t.shareId}),a.createElement(w.x,{interactive:q.data,interactiveMetadata:_.data,interactionId:t.interactionId,config:C.data,sortBy:t.sortBy,isFetching:U.isFetching||q.isFetching,anonymiseUsers:B,results:U.data,hasDataLoaded:L,anonSessions:M}))}}}]);
|
|
2
|
+
//# sourceMappingURL=4229-477b1858dc-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/4229-477b1858dc-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/analytics/hooks/UseAnonSessions.ts","file:///app/packages/libs/shared/src/apps/analytics/hooks/UseFetchInteractiveResults.ts","file:///app/packages/libs/shared/src/apps/analytics/utils/AudienceUtils.ts","file:///app/packages/libs/shared/src/errors/handlers/HttpErrorHandlers.ts","file:///app/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file:///app/packages/projects/lite/src/apps/my-shares/views/interactive/questions/InteractiveInsightsQuestionsView.tsx"],"sourcesContent":["import { Flight } from 'libs/common/react/index';\n\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\n\nexport interface AnonSession {\n sessionId: string;\n sessionName: string;\n}\n\nexport interface AnonSessions extends Record<string, AnonSession> {}\n\nexport function useAnonSessions(shareId: string): AnonSessions {\n const anonSessions = Flight.useBasicFetch<AnonSession[]>(shareId && ShareRequests.getAnonSessions(shareId));\n\n if (!anonSessions.data?.length)\n return {};\n\n return anonSessions.data.reduce((prev, current) => ({ ...prev, [current.sessionId]: current }), {});\n}","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 includePublicResults?: boolean\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 && (!!requestFilter);\n\n return Flight.useBasicFetch<InteractiveResultSet>(shouldFetchResults &&\n InteractiveResultsRequests.interactiveResultSet(\n interactiveMetadata.data.interactiveId,\n interactiveMetadata.data.id,\n currentUser.data,\n requestFilter,\n includePublicResults\n ));\n}","import { AudienceQueryParams } from 'libs/shared/apps/analytics/interfaces/AudienceQueryParams';\n\nexport const getAudienceParams = (queryParams: AudienceQueryParams) => {\n const userId: string[] = [];\n const groupId: string[] = [];\n\n if (queryParams.users)\n userId.push(...queryParams.users);\n\n if (queryParams.classrooms)\n groupId.push(...queryParams.classrooms);\n\n if (queryParams.classroomGroups)\n groupId.push(...queryParams.classroomGroups);\n return {\n userId,\n groupId\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 { 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';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { useAnonSessions } from 'libs/shared/apps/analytics/hooks/UseAnonSessions';\nimport { useFetchInteractiveResults } from 'libs/shared/apps/analytics/hooks/UseFetchInteractiveResults';\nimport { AnalyticsFilterHelper } from 'libs/shared/apps/analytics/utils/AnalyticsFilterUtils';\nimport { getAudienceParams } from 'libs/shared/apps/analytics/utils/AudienceUtils';\nimport { getInsightsDateRangePresets, getStartEndParams } from 'libs/shared/apps/analytics/utils/DateRangeUtils';\nimport { SortStudentsBy } from 'libs/shared/apps/analytics/utils/StudentTableUtils';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\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 { Config, Interactive, InteractiveMetadata } from 'libs/shared/interfaces';\n\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { InteractiveInsightsQuestions } from 'apps/my-shares/components/interactive-insights-questions/InteractiveInsightsQuestions';\nimport { getInsightsInteractiveTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\n\nconst namespace = 'shared.interactiveInsightsQuestionsView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\n\ninterface InteractiveInsightsQuestionsViewProps {\n interactiveId: string;\n interactionId: string;\n sortBy: SortStudentsBy;\n shareId?: string;\n}\n\nexport function InteractiveInsightsQuestionsView(props: InteractiveInsightsQuestionsViewProps) {\n const [anonymiseUsers] = useViewModel<boolean>(SharedViewModelKeys.ANONYMISE_USERS);\n\n useLockContentWidth();\n\n const { hasShareFlowV2 } = useSettings(null);\n\n const { hasPermissions } = usePermissions();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.interactiveMetadata(props.interactiveId)\n );\n\n const interactive = Flight.useBasicFetch<Interactive>(interactiveMetadata.data?.interactiveId &&\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId));\n\n const anonSessions = useAnonSessions(props.shareId);\n\n const audienceAppLinkParams = AnalyticsFilterHelper.getAudienceAppLinkParams();\n const dateRangeAppLinkParams = AnalyticsFilterHelper.getDateRangeAppLinkParams();\n\n const results = useFetchInteractiveResults(props.interactiveId, {\n ...getStartEndParams(getInsightsDateRangePresets(), dateRangeAppLinkParams),\n ...getAudienceParams(audienceAppLinkParams)\n }, true);\n\n\n useSetPageMetadata({ title: interactiveMetadata.data ? getPhrase('pageTitle', { video: interactiveMetadata.data?.name }) : null });\n useHandleObjectError([ interactive, interactiveMetadata, results ]);\n\n const hasDataLoaded = interactive.data && interactiveMetadata.data && !!results.data;\n\n const params = {\n ...audienceAppLinkParams,\n ...dateRangeAppLinkParams,\n shareId: props.shareId\n };\n\n return (\n <div className='px-3'>\n <InsightsHeader\n dateRangeAppLinkParams={dateRangeAppLinkParams}\n tabs={getInsightsInteractiveTabs(props.interactiveId, 'questions', params)}\n video={interactiveMetadata.data}\n hasAnalytics={hasPermissions(PermissionName.ViewCustomerAnalytics)}\n analyticsWebUrl={config.data?.analyticsWebUrl}\n hasShareFlowV2={hasShareFlowV2}\n shareId={props.shareId}\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.isFetching || interactive.isFetching}\n anonymiseUsers={anonymiseUsers}\n results={results.data}\n hasDataLoaded={hasDataLoaded}\n anonSessions={anonSessions}\n />\n </div>\n );\n}"],"names":["useAnonSessions","shareId","anonSessions","data","length","reduce","prev","current","sessionId","useFetchInteractiveResults","interactiveMetadataId","requestFilter","includePublicResults","currentUser","interactiveMetadata","interactive","interactiveId","shouldFetchResults","I","id","getAudienceParams","queryParams","userId","groupId","users","push","classrooms","classroomGroups","defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","internalServerError","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap","generateCacheKey","flightObjs","map","obj","join","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","Array","isArray","useEffect","forEach","getPhrase","InteractiveInsightsQuestionsView","props","anonymiseUsers","hasShareFlowV2","hasPermissions","config","audienceAppLinkParams","dateRangeAppLinkParams","results","title","video","name","hasDataLoaded","params","className","tabs","hasAnalytics","analyticsWebUrl","interactionId","sortBy","isFetching"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4356],{54405:(e,t,a)=>{a.d(t,{X:()=>n});var n={interactive:function(){return{url:"/mocks/insights/interactive.json",key:"demo:interactive",normalize:!1}},interactiveMetadata:function(){return{url:"/mocks/insights/interactive-metadata.json",key:"demo:interactive:metadata",normalize:!1}},interactiveResults:function(){return{url:"/mocks/insights/interactive-results.json",key:"demo:interactive:results",normalize:!1}},videoViews:function(){return{url:"/mocks/insights/video-views.json",key:"demo:video:views",normalize:!1}},users:function(){return{url:"/mocks/insights/users.json",key:"demo:users",normalize:!1}},individualHeatmap:function(){return{url:"/mocks/insights/individual-heatmap.json",key:"demo:individual:heatmap",normalize:!1}},aggregateHeatmap:function(){return{url:"/mocks/insights/aggregate-heatmap.json",key:"demo:aggregate:heatmap",normalize:!1}}}},18006:(e,t,a)=>{a.d(t,{c:()=>n,q:()=>r});var n="D8qRe7",r="GRWx6w"},9566:(e,t,a)=>{a.d(t,{G:()=>m,V:()=>u});var n=a(23481),r=a(110),i=a(35223),s=a(14070),l=a(97291),c=a(93975),o=n.T.encloseNamespace("myShares.demoInsights"),m={share:{shareId:"demo-insights",type:c.y.Link},sharedObject:null,shareRecipients:null,dateShared:r.O.subtract(new Date,7,"days").toISOString(),viewCount:23},d={application:l.O.MY_SHARES,action:s.e.MyShares.INTERACTIVE_OVERVIEW_DEMO},u={svgName:i.vn.Analytics,label:o("demoInsights"),appLink:d,group:"insights",className:"btn btn-outline-dark"}},85988:(e,t,a)=>{a.r(t),a.d(t,{MySharesView:()=>se});var n=a(32735),r=a(81886),i=a(23481),s=a(20354),l=a(74917),c=a(87801),o=a(16714),m=a(39151),d=a(1666),u=a(54405),p=a(31949),g=a(25882),h=a(79967),b=a(22902),y=a(79612),f=a(37802),v=a(46390),E=a(86099),k=a(99746),I=a(8935),S=a(75896),j=a(15611),O=a(89965),N=a(83914),w=a(83345),x=a(4594),C=a(35223);const L={noCaret:"_F6P_",filterContainer:"ZBgdA"};function A(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 n,r,i,s,l=[],c=!0,o=!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)&&(l.push(n.value),l.length!==t);c=!0);}catch(e){o=!0,r=e}finally{try{if(!c&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(o)throw r}}return l}}(e,t)||F(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){return function(e){if(Array.isArray(e))return U(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||F(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 F(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}}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 V="insights.insightsTypeFilters",T=i.T.encloseNamespace(V);function M(e){var t=e.breakpoints.xs||e.breakpoints.sm,a=[].concat(P(t?[{label:T("interactives"),filter:x.E.Interactive},{label:T("videos"),filter:x.E.Video},{label:T("clips"),filter:x.E.Clip}]:[]),[{label:T("playlists"),filter:x.E.Playlist},{label:T("series"),filter:x.E.Series}]),i=e.typeIdParams.filter((function(e){return a.some((function(t){return e===t.filter}))})),s=A(n.useState(!1),2),l=s[0],c=s[1],o=A(n.useState(i),2),m=o[0],d=o[1];function u(){var t=e.appLink.params;r.Q.C$.trigger(Object.assign(Object.assign({},e.appLink),{params:Object.assign(Object.assign({},t),{typeId:S.m.uniq([].concat(P(e.typeIdParams),P(m)))})}))}function p(){d([]);var t=e.appLink.params;r.Q.C$.trigger(Object.assign(Object.assign({},e.appLink),{params:Object.assign(Object.assign({},t),{typeId:[]})}))}return n.createElement("div",{className:"d-flex align-items-center fw-semibold"},n.createElement("p",{className:"d-none d-md-inline h6 mb-0"},n.createElement(w.x,{namespace:V,phrase:"filters"})),n.createElement("div",{className:"".concat(L.filterContainer," d-flex flex-grow-1 flex-md-grow-0 border-start ps-0 ps-md-3 ms-0 ms-md-3 gap-2")},n.createElement("div",{className:"d-none d-md-flex gap-2"},n.createElement(R,{typeId:x.E.Interactive,typeFilters:e.typeIdParams,appLink:e.appLink}),n.createElement(R,{typeId:x.E.Video,typeFilters:e.typeIdParams,appLink:e.appLink}),n.createElement(R,{typeId:x.E.Clip,typeFilters:e.typeIdParams,appLink:e.appLink})),n.createElement(I.Z,{onToggle:function(e){c(e),e||u()},show:l,className:"col"},n.createElement(I.Z.Toggle,{className:"".concat(L.noCaret," col-12 col-md-auto"),variant:i.length?"dark":"outline-dark"},n.createElement("div",{className:"d-flex align-items-center justify-content-center gap-2 fw-semibold mb-0"},n.createElement(N.x,{svgName:C.vn.Filter,className:"svg-container d-inline-block d-md-none"}),n.createElement(w.x,{namespace:V,phrase:t?"filters":"moreFilters"}),i.length?" - ".concat(i.length):"")),n.createElement(I.Z.Menu,null,n.createElement("div",{className:"mx-1 px-2 py-1 mb-0"},n.createElement("h2",{className:"h6 mb-3"},n.createElement(w.x,{namespace:V,phrase:"types"})),n.createElement("ul",{className:"list-unstyled me-5"},a.map((function(a){return n.createElement("li",{key:"".concat(a.label,"-filter"),className:"my-1"},n.createElement(O.X,{id:"".concat(a.label,"-filter"),label:a.label,onChange:function(){return e=a.filter,void d(S.m.addOrRemoveImmutable(m,e));var e},checked:(r=a.filter,t?!!m.find((function(e){return e===r}))||!!e.typeIdParams.find((function(e){return e===r})):!!m.find((function(e){return e===r})))}));var r}))),n.createElement("div",{className:"d-flex justify-content-between"},n.createElement("button",{onClick:function(){p(),c(!1)},className:"btn btn-link text-secondary p-0 mb-0"},n.createElement(w.x,{namespace:V,phrase:"resetAll"})),n.createElement("button",{onClick:function(){u(),c(!1)},className:"btn btn-link text-info p-0 mb-0"},n.createElement(w.x,{namespace:V,phrase:"apply"}))))))),!!e.typeIdParams.length&&n.createElement("button",{onClick:p,className:"d-none d-md-block btn btn-link ms-1"},n.createElement(w.x,{namespace:V,phrase:"resetAll"})))}function R(e){var t=e.typeFilters.includes(e.typeId),a=e.appLink,r=a.params,i=S.m.addOrRemoveImmutable(e.typeFilters,e.typeId),s=Object.assign(Object.assign({},a),{params:Object.assign(Object.assign({},r),{typeId:i})});function l(){return e.typeId===x.E.Video?"videos":e.typeId===x.E.Clip?"clips":e.typeId===x.E.Interactive?"interactives":void 0}return n.createElement(j.F,{className:"btn ".concat(t?"btn-dark":"btn-outline-dark"," fw-semibold"),appLink:s,ariaLabel:"".concat(T("ariaFilterBy"),": ").concat(T(l()))},n.createElement(w.x,{namespace:V,phrase:l()}))}var _=a(51401),G=a(18006),D=a(9566);const B={background:"HAuP3"};var z="myShares.demoInsights",H=i.T.encloseNamespace(z);function Z(e){var t=e.liteUrl.includes("staging"),a=e.breakpoints.xs||e.breakpoints.sm;return n.createElement("div",null,n.createElement(_.g,{heading:H("demoHeading"),isFirst:!0}),n.createElement("div",{className:"".concat(B.background," rounded-3 border-md bg-light-orange mb-4")},n.createElement(_.F,{shareData:Object.assign(Object.assign({},D.G),{sharedObject:Object.assign(Object.assign({},e.demoInteractive),{id:t?G.c:G.q})}),getObjectActions:function(){return[Object.assign(Object.assign({},D.V),{button:!a})]},getObjectAppLink:function(){return null},imageCdnUrl:e.imageCdnUrl,yearGroups:e.yearGroups,breakpoints:e.breakpoints},n.createElement("div",{className:"d-inline-block rounded-pill bg-light-blue text-info font-size-sm mt-1 px-2"},n.createElement(w.x,{namespace:z,phrase:"demoInsightPill"})))))}var q=a(67467),Q=a(5056),W=a(28001),X=a(45231),Y=a(65858),$=a(97958),J=a(99742),K=a(14070),ee=a(97291),te="myShares.mySharesEmptyState",ae=i.T.encloseNamespace(te);function ne(){return n.createElement($.u,null,n.createElement($.u.Image,{src:J.W.EmptyStates.MY_VIDEOS_PUBLIC,altText:ae("heading")}),n.createElement($.u.Heading,null,n.createElement(w.x,{namespace:te,phrase:"heading"})),n.createElement($.u.Info,null,n.createElement(w.x,{namespace:te,phrase:"info"})),n.createElement($.u.Cta,{text:i.T.getPhrase(te,"cta"),appLink:{application:ee.O.SIGN_UP,action:K.e.SignUp.SIGN_UP},analyticsData:{},analyticsOptions:{actionType:Y.Vw.Click,location:Y.LZ.MySharesLanding,entity:Y.py.AppLink,workflowPhase:Y.eu.Start,descriptor:Y.Yu.SignUp}}))}var re=a(69003),ie=i.T.encloseNamespace("myShares.myShares");function se(e){var t,a,i,I;(0,y.M)({title:ie("myShares")});var S=(0,b.T)(),j=S.hasPermissions,O=S.hasLocalPermissions,N=(0,f.r)(null),w=N.hasShareFlowV2,x=N.hasClassrooms,C=(0,v.G)().isPlugin,L=(0,h.k)(),A=(0,g.v)().accessPolicy,P=(0,re.cl)(e.typeId),F=!O(o.E.ViewMySharesLanding)||j(o.C.ViewMyShares)&&w,U=w&&j(o.C.ViewInsights),V=null===(t=null==A?void 0:A.metadata)||void 0===t?void 0:t.hasDemoInsights,T=s.a.useBasicFetch(m.L.config()),R=s.a.useBasicFetch(p.N.currentUser()),_=s.a.useBasicFetch((null===(a=R.data)||void 0===a?void 0:a.isAuthenticated)&&d.h.yearGroups(R.data.customerId)),G=s.a.useBasicFetch(V&&u.X.interactiveMetadata()),D=(0,X.a)(P.sentSharesParams,!0,F);return n.useEffect((function(){j(o.C.ViewMyShares)&&w||r.Q.Ab.PageLoad("/")}),[F]),F?n.createElement("div",{className:"px-3"},n.createElement(k.p,{analyticsUrl:null===(i=T.data)||void 0===i?void 0:i.analyticsWebUrl,hasAnalytics:j(o.C.ViewCustomerAnalytics)}),n.createElement("div",{className:"d-flex justify-content-between border-bottom pb-3 mb-3"},n.createElement("h1",{className:"mb-1"},"Reports"),n.createElement(l.B,{hasClassroomsFeature:x})),n.createElement("div",{className:"mb-3"},n.createElement(M,{appLink:P.currentAppLink,typeIdParams:P.typeIdAppLinkParams,breakpoints:L})),V&&G.data&&n.createElement(Z,{demoInteractive:G.data,liteUrl:null===(I=T.data)||void 0===I?void 0:I.liteUrl,breakpoints:L,imageCdnUrl:D.imageCdnUrl,yearGroups:_.data}),function(){var e;return D.showPartialLoading?n.createElement(W.L,null):D.sentShares.length?n.createElement(n.Fragment,null,n.createElement(Q.R,{sentShares:D.sentShares,sharedObjects:D.sharedObjects.items,shareRecipients:D.shareRecipients.items,interactivesPendingReview:D.interactivesPendingReview.itemsArr,getObjectAppLink:E.Qh,getObjectActions:function(e,t){return(0,re.sD)(e,t,P.audienceAppLinkParams,U,C,L)},groupByDateShared:!0,breakpoints:L,hasDemoInsights:V,imageCdnUrl:null===(e=T.data)||void 0===e?void 0:e.imageCdnUrl,yearGroups:_.data}),(D.hasMore||D.isFetching)&&n.createElement(c._,{isFetching:D.isFetching,fetchNext:D.fetchNext,nextCursor:D.nextCursor})):n.createElement(q.o,null)}()):n.createElement(ne,null)}}}]);
|
|
2
|
+
//# sourceMappingURL=4356-36ce3ceec1-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/4356-36ce3ceec1-lite.chunk.js","mappings":"oIAEO,IAAMA,EAAuB,CAClCC,YAAW,WACT,MAAO,CACLC,IAAK,mCACLC,IAAK,mBACLC,WAAW,EAEf,EAEAC,oBAAmB,WACjB,MAAO,CACLH,IAAK,4CACLC,IAAK,4BACLC,WAAW,EAEf,EAEAE,mBAAkB,WAChB,MAAO,CACLJ,IAAK,2CACLC,IAAK,2BACLC,WAAW,EAEf,EAEAG,WAAU,WACR,MAAO,CACLL,IAAK,mCACLC,IAAK,mBACLC,WAAW,EAEf,EAEAI,MAAK,WACH,MAAO,CACLN,IAAK,6BACLC,IAAK,aACLC,WAAW,EAEf,EAEAK,kBAAiB,WACf,MAAO,CACLP,IAAK,0CACLC,IAAK,0BACLC,WAAW,EAEf,EAEAM,iBAAgB,WACd,MAAO,CACLR,IAAK,yCACLC,IAAK,yBACLC,WAAW,EAEf,E,2CCzDK,IAAMO,EAA8B,SAC9BC,EAA2B,Q,8GCclCC,EAAY,qBADA,yBAKLC,EAAyC,CACpDC,MAAO,CACLC,QAAS,gBACTC,KAAM,UAERC,aAAc,KACdC,gBAAiB,KACjBC,WAAY,aAAoB,IAAIC,KATR,EASuC,QAAQC,cAC3EC,UAAW,IAGPC,EAAsC,CAC1CC,YAAa,cACbC,OAAQ,wCAGGC,EAAsC,CACjDC,QAAS,eACTC,MAAOhB,EAAU,gBACjBiB,QAASN,EACTO,MAAO,WACPC,UAAW,uB,gWCvCb,SAAgB,QAAU,QAAQ,gBAAkB,S,82CCiBpD,IAAMC,EAAY,+BACZpB,EAAYqB,EAAA,mBAAiCD,GAQ7C,SAAUE,EAAoBC,GAClC,IAAMC,EAAWD,EAAME,YAAYC,IAAMH,EAAME,YAAYE,GAErDC,EAAoB,GAAH,SACjBJ,EAAW,CAAC,CACdR,MAAOhB,EAAU,gBACjB6B,OAAQC,EAAA,eACP,CACDd,MAAOhB,EAAU,UACjB6B,OAAQC,EAAA,SACP,CACDd,MAAOhB,EAAU,SACjB6B,OAAQC,EAAA,SACL,IAAE,CACP,CACEd,MAAOhB,EAAU,aACjB6B,OAAQC,EAAA,YACP,CACDd,MAAOhB,EAAU,UACjB6B,OAAQC,EAAA,YAGNC,EAmEGR,EAAMS,aAAaH,QAAO,SAAAI,GAAM,OACrCL,EAAkBM,MAAK,SAAAC,GAAM,OAAIF,IAAWE,EAAON,MAAM,GAAC,IAlEC,IAArB,YAAe,GAAM,GAAvDO,EAAY,KAAEC,EAAe,KACsC,IAAnC,WAAeN,GAAoB,GAAnEO,EAAW,KAAEC,EAAc,KAEnC,SAASC,IACP,IAAMC,EAAgBlB,EAAMN,QAAQyB,OAEpC,eAA2B,OAAD,wBACrBnB,EAAMN,SAAO,CAChByB,OAAQ,OAAF,wBACDD,GAAa,CAChBR,OAAQU,EAAA,OAAiB,GAAD,SACnBpB,EAAMS,cAAY,EAClBM,SAIX,CAEA,SAASM,IACPL,EAAe,IAEf,IAAME,EAAgBlB,EAAMN,QAAQyB,OAEpC,eAA2B,OAAD,wBACrBnB,EAAMN,SAAO,CAChByB,OAAQ,OAAF,wBACDD,GAAa,CAChBR,OAAQ,OAGd,CAuCA,OACE,uBAAKd,UAAU,yCACb,qBAAGA,UAAU,8BAA6B,gBAAC0B,EAAA,EAAI,CAACzB,UAAWA,EAAW0B,OAAO,aAC7E,uBAAK3B,UAAS,UAAK,kBAAsB,oFACvC,uBAAKA,UAAU,0BACb,gBAAC4B,EAAuB,CACtBd,OAAQH,EAAA,cACRkB,YAAazB,EAAMS,aACnBf,QAASM,EAAMN,UAEjB,gBAAC8B,EAAuB,CAACd,OAAQH,EAAA,QAAkBkB,YAAazB,EAAMS,aAAcf,QAASM,EAAMN,UACnG,gBAAC8B,EAAuB,CAACd,OAAQH,EAAA,OAAiBkB,YAAazB,EAAMS,aAAcf,QAASM,EAAMN,WAEpG,gBAACgC,EAAA,EAAQ,CAACC,SAlDhB,SAA0BC,GACxBd,EAAgBc,GAEZA,GAGJX,GACF,EA2C4CY,KAAMhB,EAAcjB,UAAU,OAClE,gBAAC8B,EAAA,SAAe,CACd9B,UAAS,UAAK,UAAc,uBAC5BkC,QAAStB,EAAoBuB,OAAS,OAAS,gBAE/C,uBAAKnC,UAAU,2EACb,gBAACoC,EAAA,EAAY,CAACxC,QAAS,YAAqBI,UAAU,2CACtD,gBAAC0B,EAAA,EAAI,CAACzB,UAAWA,EAAW0B,OAAQtB,EAAW,UAAY,gBAC1DO,EAAoBuB,OAAS,MAAH,OAASvB,EAAoBuB,QAAW,KAIvE,gBAACL,EAAA,OAAa,KACZ,uBAAK9B,UAAU,uBACb,sBAAIA,UAAU,WAAU,gBAAC0B,EAAA,EAAI,CAACzB,UAAWA,EAAW0B,OAAO,WAC3D,sBAAI3B,UAAU,sBACXS,EAAkB4B,KAAI,SAAArB,GAAM,OAC3B,sBAAI7C,IAAG,UAAK6C,EAAOnB,MAAK,WAAWG,UAAU,QAC3C,gBAACsC,EAAA,EAAQ,CACPC,GAAE,UAAKvB,EAAOnB,MAAK,WACnBA,MAAOmB,EAAOnB,MACd2C,SAAU,WAAF,OApDJ9B,EAoD2BM,EAAON,YAnDxDU,EAAeI,EAAA,uBAAiCL,EAAaT,IAD/D,IAAwBA,CAoDyC,EAC7C+B,SAjDM/B,EAiDoBM,EAAON,OAhD/CL,IACOc,EAAYuB,MAAK,SAAAC,GAAc,OAAIA,IAAmBjC,CAAM,OACjEN,EAAMS,aAAa6B,MAAK,SAAAC,GAAc,OAAIA,IAAmBjC,CAAM,MAGhES,EAAYuB,MAAK,SAAAC,GAAc,OAAIA,IAAmBjC,CAAM,QANvE,IAA0BA,CAmDL,KAGT,uBAAKV,UAAU,kCACb,0BAAQ4C,QAhEtB,WACEnB,IACAP,GAAgB,EAClB,EA6D6ClB,UAAU,wCACvC,gBAAC0B,EAAA,EAAI,CAACzB,UAAWA,EAAW0B,OAAO,cAErC,0BAAQiB,QAxEtB,WACEvB,IACAH,GAAgB,EAClB,EAqE6ClB,UAAU,mCACvC,gBAAC0B,EAAA,EAAI,CAACzB,UAAWA,EAAW0B,OAAO,kBAO5CvB,EAAMS,aAAasB,QACpB,0BAAQS,QAASnB,EAAczB,UAAU,uCACvC,gBAAC0B,EAAA,EAAI,CAACzB,UAAWA,EAAW0B,OAAO,cAK7C,CAQA,SAASC,EAAwBxB,GAC/B,IAAMyC,EAAWzC,EAAMyB,YAAYiB,SAAS1C,EAAMU,QAE5CiC,EAAiB3C,EAAMN,QACvBwB,EAAgByB,EAAexB,OAE/ByB,EAAwBxB,EAAA,uBAAiCpB,EAAMyB,YAAazB,EAAMU,QAElFmC,EAAa,OAAH,wBACXF,GAAc,CACjBxB,OAAQ,OAAF,wBACDD,GAAa,CAChBR,OAAQkC,MAIZ,SAASE,IACP,OAAI9C,EAAMU,SAAWH,EAAA,QAAyB,SAC1CP,EAAMU,SAAWH,EAAA,OAAwB,QACzCP,EAAMU,SAAWH,EAAA,cAA+B,oBAApD,CACF,CAEA,OACE,gBAACwC,EAAA,EAAO,CACNnD,UAAS,cAAS6C,EAAW,WAAa,mBAAkB,gBAC5D/C,QAASmD,EACTG,UAAS,UAAKvE,EAAU,gBAAe,aAAKA,EAAUqE,OAEtD,gBAACxB,EAAA,EAAI,CAACzB,UAAWA,EAAW0B,OAAQuB,MAG1C,C,oCCzNA,SAAgB,WAAa,SCa7B,IAAM,EAAY,wBACZ,EAAYhD,EAAA,mBAAiC,GAU7C,SAAUmD,EAAoBjD,GAClC,IAAMkD,EAAYlD,EAAMmD,QAAQT,SAAS,WAEnCzC,EAAWD,EAAME,YAAYC,IAAMH,EAAME,YAAYE,GAkB3D,OACE,2BACE,gBAAC,IAAoB,CAACgD,QAAS,EAAU,eAAgBC,SAAS,IAElE,uBAAKzD,UAAS,UAAK,aAAiB,8CAClC,gBAAC0D,EAAA,EAAgB,CACfC,UAAS,+BAAO,KAAmB,CAAEzE,aArBpC,OAAP,wBACKkB,EAAMwD,iBAAe,CACxBrB,GAAIe,EAAY,IAA8B,QAoB1CO,iBAhBR,WACE,MAAO,CAAC,OAAD,wBAEA,KAAoB,CACvBC,QAASzD,IAGf,EAUQ0D,iBAAkB,WAAF,OAAQ,IAAI,EAC5BC,YAAa5D,EAAM4D,YACnBC,WAAY7D,EAAM6D,WAClB3D,YAAaF,EAAME,aAEnB,uBAAKN,UAAU,8EACb,gBAAC0B,EAAA,EAAI,CAACzB,UAAW,EAAW0B,OAAO,uBAM/C,C,uGCrDM,GAAY,8BACZ,GAAYzB,EAAA,mBAAiC,IAE7C,SAAUgE,KACd,OACE,gBAACC,EAAA,EAAU,KACT,gBAACA,EAAA,QAAgB,CAACC,IAAKC,EAAA,+BAAwCC,QAAS,GAAU,aAClF,gBAACH,EAAA,UAAkB,KAAC,gBAACzC,EAAA,EAAI,CAACzB,UAAW,GAAW0B,OAAO,aACvD,gBAACwC,EAAA,OAAe,KAAC,gBAACzC,EAAA,EAAI,CAACzB,UAAW,GAAW0B,OAAO,UACpD,gBAACwC,EAAA,MAAc,CACbI,KAAMrE,EAAA,YAA0B,GAAW,OAC3CJ,QAAS,CACPL,YAAa,aACbC,OAAQ,oBAEV8E,cAAe,CAAC,EAChBC,iBAAkB,CAChBC,WAAY,WACZC,SAAU,qBACVC,OAAQ,aACRC,cAAe,WACfC,WAAY,KAAAC,UAKtB,C,gBCLM,GAAY7E,EAAA,mBADA,qBAOZ,SAAU8E,GAAa5E,G,aAE3B,EAAA6E,EAAA,GAAmB,CAAEC,MAAO,GAAU,cACtC,OAAgD,EAAAC,EAAA,KAAxCC,EAAc,EAAdA,eAAgBC,EAAmB,EAAnBA,oBACxB,GAA0C,EAAAC,EAAA,GAAY,MAA9CC,EAAc,EAAdA,eAAgBC,EAAa,EAAbA,cAChBC,GAAa,EAAAC,EAAA,KAAbD,SACFnF,GAAc,EAAAqF,EAAA,KACZC,GAAiB,EAAAC,EAAA,KAAjBD,aAEFE,GAAe,SAAgB1F,EAAMU,QAGrCiF,GAAeV,EAAoB,0BACvCD,EAAeY,EAAA,iBAAgCT,EAC3CU,EAAwBV,GAAkBH,EAAeY,EAAA,gBACzDE,EAAwC,QAAtB,EAAAN,aAAY,EAAZA,EAAcO,gBAAQ,eAAEC,gBAG1CC,EAAS,kBAA6BC,EAAA,YACtCC,EAAc,kBAAkCC,EAAA,iBAChDvC,EAAa,mBACD,QAAhB,EAAAsC,EAAYE,YAAI,eAAEC,kBAAmBC,EAAA,aAA4BJ,EAAYE,KAAKG,aAE9EhD,EAAkB,kBAA0CsC,GAChElI,EAAA,yBAEI2F,GAAY,EAAAkD,EAAA,GAAiBf,EAAagB,kBAAkB,EAAMf,GAOxE,OALA,aAAgB,WACRX,EAAeY,EAAA,iBAAgCT,GACnD,gBAA4B,IAChC,GAAG,CAACQ,IAECA,EAIH,uBAAK/F,UAAU,QACb,gBAAC+G,EAAA,EAAkB,CACjBC,aAAyB,QAAX,EAAAX,EAAOI,YAAI,eAAEQ,gBAC3BC,aAAc9B,EAAeY,EAAA,2BAG/B,uBAAKhG,UAAU,0DACb,sBAAIA,UAAU,QAAM,WAEpB,gBAACmH,EAAA,EAAkB,CAACC,qBAAsB5B,KAG5C,uBAAKxF,UAAU,QACb,gBAACG,EAAmB,CAClBL,QAASgG,EAAa/C,eACtBlC,aAAciF,EAAauB,oBAC3B/G,YAAaA,KAIhB4F,GAAmBtC,EAAgB6C,MAClC,gBAACpD,EAAmB,CAClBO,gBAAiBA,EAAgB6C,KACjClD,QAAoB,QAAX,EAAA8C,EAAOI,YAAI,eAAElD,QACtBjD,YAAaA,EACb0D,YAAaL,EAAUK,YACvBC,WAAYA,EAAWwC,OAIzB,W,MACA,OAAI9C,EAAU2D,mBACL,gBAACC,EAAA,EAAoB,MAEzB5D,EAAU6D,WAAWrF,OAMxB,gCACE,gBAACsF,EAAA,EAAa,CACZD,WAAY7D,EAAU6D,WACtBE,cAAe/D,EAAU+D,cAAcC,MACvCxI,gBAAiBwE,EAAUxE,gBAAgBwI,MAC3CC,0BAA2BjE,EAAUiE,0BAA0BC,SAC/D9D,iBAAkB,KAClBF,iBAAkB,SAACiE,EAAK9I,GAAO,OAAK,SAClC8I,EACA9I,EACA8G,EAAaiC,sBACb9B,EACAR,EACAnF,EACD,EACD0H,mBAAiB,EACjB1H,YAAaA,EACb8F,gBAAiBF,EACjBlC,YAAwB,QAAX,EAAAqC,EAAOI,YAAI,eAAEzC,YAC1BC,WAAYA,EAAWwC,QAEvB9C,EAAUsE,SAAWtE,EAAUuE,aAC/B,gBAACC,EAAA,EAAoB,CACnBD,WAAYvE,EAAUuE,WACtBE,UAAWzE,EAAUyE,UACrBC,WAAY1E,EAAU0E,cA7B1B,gBAACC,EAAA,EAAuB,KAkC9B,CAxCE,IAjCG,gBAACpE,GAAkB,KA4E9B,C","sources":["file:///app/packages/libs/shared/src/flight-requests/InsightsDemoRequests.ts","file:///app/packages/projects/lite/src/apps/my-shares/constants/DemoInsights.ts","file:///app/packages/projects/lite/src/apps/my-shares/constants/MySharesDemoInsights.ts","file:///app/packages/projects/lite/src/apps/my-shares/components/insights-list/type-filter/insights-type-filters.scss","file:///app/packages/projects/lite/src/apps/my-shares/components/insights-list/type-filter/InsightsTypeFilters.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-demo-insight/my-shares-demo-insights.scss","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-demo-insight/MySharesDemoInsight.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/my-shares/empty-state/MySharesEmptyState.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/my-shares/MySharesView.tsx"],"sourcesContent":["import { Flight } from 'libs/common/react/index';\n\nexport const InsightsDemoRequests = {\n interactive(): Flight.Request {\n return {\n url: `/mocks/insights/interactive.json`,\n key: `demo:interactive`,\n normalize: false\n };\n },\n\n interactiveMetadata(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-metadata.json`,\n key: `demo:interactive:metadata`,\n normalize: false\n };\n },\n\n interactiveResults(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-results.json`,\n key: `demo:interactive:results`,\n normalize: false\n };\n },\n\n videoViews(): Flight.Request {\n return {\n url: `/mocks/insights/video-views.json`,\n key: `demo:video:views`,\n normalize: false\n };\n },\n\n users(): Flight.Request {\n return {\n url: `/mocks/insights/users.json`,\n key: `demo:users`,\n normalize: false\n };\n },\n\n individualHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/individual-heatmap.json`,\n key: `demo:individual:heatmap`,\n normalize: false\n };\n },\n\n aggregateHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/aggregate-heatmap.json`,\n key: `demo:aggregate:heatmap`,\n normalize: false\n };\n }\n};","export const DEMO_INTERACTIVE_STAGING_ID = 'D8qRe7';\nexport const DEMO_INTERACTIVE_PROD_ID = 'GRWx6w';","import { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { MySharesTableData } from 'apps/my-shares/components/my-shares-table/MySharesTableUtils';\nimport { ShareType } from 'apps/share-v2/enums/ShareType';\nimport { ShareLink } from 'apps/share-v2/interfaces/ShareLink';\n\nconst namespace = 'myShares.demoInsights';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst DEMO_INSIGHT_DAYS_AGO = 7;\n\nexport const DEMO_INSIGHTS_SHARE: MySharesTableData = {\n share: {\n shareId: 'demo-insights',\n type: ShareType.Link\n } as ShareLink,\n sharedObject: null,\n shareRecipients: null,\n dateShared: DateHelper.subtract(new Date(), DEMO_INSIGHT_DAYS_AGO, 'days').toISOString(),\n viewCount: 23\n};\n\nconst DEMO_INSIGHTS_APPLINK: Core.AppLink = {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_OVERVIEW_DEMO\n};\n\nexport const DEMO_INSIGHTS_ACTION: ActionOptions = {\n svgName: cvSvgLibrary.Analytics,\n label: getPhrase('demoInsights'),\n appLink: DEMO_INSIGHTS_APPLINK,\n group: 'insights',\n className: 'btn btn-outline-dark'\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"noCaret\":\"_F6P_\",\"filterContainer\":\"ZBgdA\"};","import React from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './insights-type-filters.scss';\n\nconst namespace = 'insights.insightsTypeFilters';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InsightsTypeFilterProps {\n appLink: Core.AppLink;\n typeIdParams: MasterType[];\n breakpoints: Breakpoints;\n}\n\nexport function InsightsTypeFilters(props: InsightsTypeFilterProps) {\n const isMobile = props.breakpoints.xs || props.breakpoints.sm;\n\n const moreFilterOptions = [\n ...(isMobile ? [{\n label: getPhrase('interactives'),\n filter: MasterType.Interactive\n }, {\n label: getPhrase('videos'),\n filter: MasterType.Video\n }, {\n label: getPhrase('clips'),\n filter: MasterType.Clip\n }] : []),\n {\n label: getPhrase('playlists'),\n filter: MasterType.Playlist\n }, {\n label: getPhrase('series'),\n filter: MasterType.Series\n }];\n\n const moreFiltersSelected = getMoreFiltersSelected();\n\n const [ showDropdown, setShowDropdown ] = React.useState(false);\n const [ moreFilters, setMoreFilters ] = React.useState(moreFiltersSelected);\n\n function applyFilter() {\n const currentParams = props.appLink.params as HashObject;\n\n Core.AppLinkHelper.trigger({\n ...props.appLink,\n params: {\n ...currentParams,\n typeId: ArrayHelper.uniq([\n ...props.typeIdParams,\n ...moreFilters\n ])\n }\n });\n }\n\n function resetFilters() {\n setMoreFilters([]);\n\n const currentParams = props.appLink.params as HashObject;\n\n Core.AppLinkHelper.trigger({\n ...props.appLink,\n params: {\n ...currentParams,\n typeId: []\n }\n });\n }\n\n function onToggleDropdown(isShowing: boolean): void {\n setShowDropdown(isShowing);\n\n if (isShowing)\n return;\n\n applyFilter();\n }\n\n function onClickApply() {\n applyFilter();\n setShowDropdown(false);\n }\n\n function onClickReset() {\n resetFilters();\n setShowDropdown(false);\n }\n\n function onSelectFilter(filter: MasterType) {\n setMoreFilters(ArrayHelper.addOrRemoveImmutable(moreFilters, filter));\n }\n\n function isFilterSelected(filter: MasterType) {\n if (isMobile) {\n return !!moreFilters.find(selectedFilter => selectedFilter === filter) ||\n !!props.typeIdParams.find(selectedFilter => selectedFilter === filter);\n }\n\n return !!moreFilters.find(selectedFilter => selectedFilter === filter);\n }\n\n function getMoreFiltersSelected() {\n return props.typeIdParams.filter(typeId =>\n moreFilterOptions.some(option => typeId === option.filter));\n }\n\n return (\n <div className='d-flex align-items-center fw-semibold'>\n <p className='d-none d-md-inline h6 mb-0'><Text namespace={namespace} phrase='filters' /></p>\n <div className={`${styles.filterContainer} d-flex flex-grow-1 flex-md-grow-0 border-start ps-0 ps-md-3 ms-0 ms-md-3 gap-2`}>\n <div className='d-none d-md-flex gap-2'>\n <InsightTypeFilterButton\n typeId={MasterType.Interactive}\n typeFilters={props.typeIdParams}\n appLink={props.appLink}\n />\n <InsightTypeFilterButton typeId={MasterType.Video} typeFilters={props.typeIdParams} appLink={props.appLink} />\n <InsightTypeFilterButton typeId={MasterType.Clip} typeFilters={props.typeIdParams} appLink={props.appLink} />\n </div>\n <Dropdown onToggle={onToggleDropdown} show={showDropdown} className='col'>\n <Dropdown.Toggle\n className={`${styles.noCaret} col-12 col-md-auto`}\n variant={moreFiltersSelected.length ? 'dark' : 'outline-dark'}\n >\n <div className='d-flex align-items-center justify-content-center gap-2 fw-semibold mb-0'>\n <SvgContainer svgName={cvSvgLibrary.Filter} className='svg-container d-inline-block d-md-none' />\n <Text namespace={namespace} phrase={isMobile ? 'filters' : 'moreFilters'} />\n {moreFiltersSelected.length ? ` - ${moreFiltersSelected.length}` : ''}\n </div>\n </Dropdown.Toggle>\n\n <Dropdown.Menu>\n <div className='mx-1 px-2 py-1 mb-0'>\n <h2 className='h6 mb-3'><Text namespace={namespace} phrase='types' /></h2>\n <ul className='list-unstyled me-5'>\n {moreFilterOptions.map(option => (\n <li key={`${option.label}-filter`} className='my-1'>\n <Checkbox\n id={`${option.label}-filter`}\n label={option.label}\n onChange={() => onSelectFilter(option.filter)}\n checked={isFilterSelected(option.filter)}\n />\n </li>\n ))}\n </ul>\n <div className='d-flex justify-content-between'>\n <button onClick={onClickReset} className='btn btn-link text-secondary p-0 mb-0'>\n <Text namespace={namespace} phrase='resetAll' />\n </button>\n <button onClick={onClickApply} className='btn btn-link text-info p-0 mb-0'>\n <Text namespace={namespace} phrase='apply' />\n </button>\n </div>\n </div>\n </Dropdown.Menu>\n </Dropdown>\n </div>\n {!!props.typeIdParams.length &&\n <button onClick={resetFilters} className='d-none d-md-block btn btn-link ms-1'>\n <Text namespace={namespace} phrase='resetAll' />\n </button>\n }\n </div>\n );\n}\n\ninterface InsightTypeFilterButtonProps {\n typeId: MasterType;\n typeFilters: MasterType[];\n appLink: Core.AppLink;\n}\n\nfunction InsightTypeFilterButton(props: InsightTypeFilterButtonProps) {\n const selected = props.typeFilters.includes(props.typeId);\n\n const currentAppLink = props.appLink;\n const currentParams = currentAppLink.params as HashObject;\n\n const newType: MasterType[] = ArrayHelper.addOrRemoveImmutable(props.typeFilters, props.typeId);\n\n const newAppLink = {\n ...currentAppLink,\n params: {\n ...currentParams,\n typeId: newType\n }\n };\n\n function getTypePhrase(): string {\n if (props.typeId === MasterType.Video) return 'videos';\n if (props.typeId === MasterType.Clip) return 'clips';\n if (props.typeId === MasterType.Interactive) return 'interactives';\n }\n\n return (\n <AppLink\n className={`btn ${selected ? 'btn-dark' : 'btn-outline-dark'} fw-semibold`}\n appLink={newAppLink}\n ariaLabel={`${getPhrase('ariaFilterBy')}: ${getPhrase(getTypePhrase())}`}\n >\n <Text namespace={namespace} phrase={getTypePhrase()} />\n </AppLink>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"background\":\"HAuP3\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { InteractiveMetadata, YearGroup } from 'libs/shared/interfaces';\n\nimport { MySharesTableHeading, MySharesTableRow } from 'apps/my-shares/components/my-shares-table-row/MySharesTableRow';\nimport { DEMO_INTERACTIVE_PROD_ID, DEMO_INTERACTIVE_STAGING_ID } from 'apps/my-shares/constants/DemoInsights';\nimport { DEMO_INSIGHTS_ACTION, DEMO_INSIGHTS_SHARE } from 'apps/my-shares/constants/MySharesDemoInsights';\n\nimport styles from './my-shares-demo-insights.scss';\n\nconst namespace = 'myShares.demoInsights';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface MySharesDemoInsightProps {\n demoInteractive: InteractiveMetadata;\n liteUrl: string;\n imageCdnUrl: string;\n yearGroups: YearGroup[];\n breakpoints: Breakpoints;\n}\n\nexport function MySharesDemoInsight(props: MySharesDemoInsightProps) {\n const isStaging = props.liteUrl.includes('staging');\n\n const isMobile = props.breakpoints.xs || props.breakpoints.sm;\n\n function getDemoInteractive() {\n return {\n ...props.demoInteractive,\n id: isStaging ? DEMO_INTERACTIVE_STAGING_ID : DEMO_INTERACTIVE_PROD_ID\n };\n }\n\n function getObjectActions() {\n return [\n {\n ...DEMO_INSIGHTS_ACTION,\n button: !isMobile\n }\n ];\n }\n\n return (\n <div>\n <MySharesTableHeading heading={getPhrase('demoHeading')} isFirst={true} />\n\n <div className={`${styles.background} rounded-3 border-md bg-light-orange mb-4`}>\n <MySharesTableRow\n shareData={{ ...DEMO_INSIGHTS_SHARE, sharedObject: getDemoInteractive() }}\n getObjectActions={getObjectActions}\n getObjectAppLink={() => null}\n imageCdnUrl={props.imageCdnUrl}\n yearGroups={props.yearGroups}\n breakpoints={props.breakpoints}\n >\n <div className='d-inline-block rounded-pill bg-light-blue text-info font-size-sm mt-1 px-2'>\n <Text namespace={namespace} phrase='demoInsightPill' />\n </div>\n </MySharesTableRow>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, SignUpDescriptors, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'myShares.mySharesEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function MySharesEmptyState() {\n return (\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.MY_VIDEOS_PUBLIC} altText={getPhrase('heading')} />\n <EmptyState.Heading><Text namespace={namespace} phrase='heading' /></EmptyState.Heading>\n <EmptyState.Info><Text namespace={namespace} phrase='info' /></EmptyState.Info>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'cta')}\n appLink={{\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.SIGN_UP\n }}\n analyticsData={{}}\n analyticsOptions={{\n actionType: UserAction.Click,\n location: LocationContext.MySharesLanding,\n entity: EntityType.AppLink,\n workflowPhase: WorkflowPhase.Start,\n descriptor: SignUpDescriptors.SignUp\n }}\n />\n </EmptyState>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AudienceFilterView } from 'libs/shared/apps/analytics/views/audience-filter/AudienceFilterView';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InsightsDemoRequests } from 'libs/shared/flight-requests/InsightsDemoRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAccessPolicy } from 'libs/shared/hooks/useAccessPolicy';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config, CurrentUser, InteractiveMetadata, YearGroup } from 'libs/shared/interfaces';\n\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { getObjectAppLink } from 'shared/utils/ObjectAppLinkHelper';\n\nimport { InsightsAdminAlert } from 'apps/my-shares/components/insights-admin-alert/InsightsAdminAlert';\nimport { InsightsTypeFilters } from 'apps/my-shares/components/insights-list/type-filter/InsightsTypeFilters';\nimport { MySharesDemoInsight } from 'apps/my-shares/components/my-shares-demo-insight/MySharesDemoInsight';\nimport { MySharesTableEmptyState } from 'apps/my-shares/components/my-shares-table/empty-state/MySharesTableEmptyState';\nimport { MySharesTable } from 'apps/my-shares/components/my-shares-table/MySharesTable';\nimport { PartialMySharesTable } from 'apps/my-shares/components/my-shares-table/partial-loading/PartialMySharesTable';\nimport { useMySharesTable } from 'apps/my-shares/hooks/useMySharesTable';\nimport { MySharesEmptyState } from 'apps/my-shares/views/my-shares/empty-state/MySharesEmptyState';\nimport { getShareObjectActions, getSharesParams } from 'apps/my-shares/views/my-shares/MySharesViewUtils';\n\nconst namespace = 'myShares.myShares';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface MySharesViewProps {\n typeId: string | string[];\n}\n\nexport function MySharesView(props: MySharesViewProps) {\n // Shared hooks\n useSetPageMetadata({ title: getPhrase('myShares') });\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { hasShareFlowV2, hasClassrooms } = useSettings(null);\n const { isPlugin } = usePluginHelper();\n const breakpoints = useBreakpoints();\n const { accessPolicy } = useAccessPolicy();\n\n const sharesParams = getSharesParams(props.typeId);\n\n // Local variables\n const shouldFetch = !hasLocalPermissions(LocalPermissionName.ViewMySharesLanding) ||\n hasPermissions(PermissionName.ViewMyShares) && hasShareFlowV2;\n const hasInsightsPermission = hasShareFlowV2 && hasPermissions(PermissionName.ViewInsights);\n const showDemoInsight = accessPolicy?.metadata?.hasDemoInsights;\n\n // Flight fetching\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const demoInteractive = Flight.useBasicFetch<InteractiveMetadata>(showDemoInsight &&\n InsightsDemoRequests.interactiveMetadata());\n\n const shareData = useMySharesTable(sharesParams.sentSharesParams, true, shouldFetch);\n\n React.useEffect(() => {\n if (!(hasPermissions(PermissionName.ViewMyShares) && hasShareFlowV2))\n Core.LocationUtils.PageLoad('/');\n }, [shouldFetch]);\n\n if (!shouldFetch)\n return <MySharesEmptyState />;\n\n return (\n <div className='px-3'>\n <InsightsAdminAlert\n analyticsUrl={config.data?.analyticsWebUrl}\n hasAnalytics={hasPermissions(PermissionName.ViewCustomerAnalytics)}\n />\n\n <div className='d-flex justify-content-between border-bottom pb-3 mb-3'>\n <h1 className='mb-1'>Reports</h1>\n\n <AudienceFilterView hasClassroomsFeature={hasClassrooms} />\n </div>\n\n <div className='mb-3'>\n <InsightsTypeFilters\n appLink={sharesParams.currentAppLink}\n typeIdParams={sharesParams.typeIdAppLinkParams}\n breakpoints={breakpoints}\n />\n </div>\n\n {showDemoInsight && demoInteractive.data &&\n <MySharesDemoInsight\n demoInteractive={demoInteractive.data}\n liteUrl={config.data?.liteUrl}\n breakpoints={breakpoints}\n imageCdnUrl={shareData.imageCdnUrl}\n yearGroups={yearGroups.data}\n />\n }\n\n {(() => {\n if (shareData.showPartialLoading)\n return <PartialMySharesTable />;\n\n if (!shareData.sentShares.length)\n return (\n <MySharesTableEmptyState />\n );\n\n return (\n <>\n <MySharesTable\n sentShares={shareData.sentShares}\n sharedObjects={shareData.sharedObjects.items}\n shareRecipients={shareData.shareRecipients.items}\n interactivesPendingReview={shareData.interactivesPendingReview.itemsArr}\n getObjectAppLink={getObjectAppLink}\n getObjectActions={(obj, shareId) => getShareObjectActions(\n obj,\n shareId,\n sharesParams.audienceAppLinkParams,\n hasInsightsPermission,\n isPlugin,\n breakpoints\n )}\n groupByDateShared\n breakpoints={breakpoints}\n hasDemoInsights={showDemoInsight}\n imageCdnUrl={config.data?.imageCdnUrl}\n yearGroups={yearGroups.data}\n />\n {(shareData.hasMore || shareData.isFetching) &&\n <InfiniteScrollFooter\n isFetching={shareData.isFetching}\n fetchNext={shareData.fetchNext}\n nextCursor={shareData.nextCursor}\n />\n }\n </>\n );\n })()}\n </div>\n );\n}\n"],"names":["InsightsDemoRequests","interactive","url","key","normalize","interactiveMetadata","interactiveResults","videoViews","users","individualHeatmap","aggregateHeatmap","DEMO_INTERACTIVE_STAGING_ID","DEMO_INTERACTIVE_PROD_ID","getPhrase","DEMO_INSIGHTS_SHARE","share","shareId","type","sharedObject","shareRecipients","dateShared","Date","toISOString","viewCount","DEMO_INSIGHTS_APPLINK","application","action","DEMO_INSIGHTS_ACTION","svgName","label","appLink","group","className","namespace","LanguageService","InsightsTypeFilters","props","isMobile","breakpoints","xs","sm","moreFilterOptions","filter","MasterType","moreFiltersSelected","typeIdParams","typeId","some","option","showDropdown","setShowDropdown","moreFilters","setMoreFilters","applyFilter","currentParams","params","ArrayHelper","resetFilters","Text","phrase","InsightTypeFilterButton","typeFilters","Dropdown","onToggle","isShowing","show","variant","length","SvgContainer","map","Checkbox","id","onChange","checked","find","selectedFilter","onClick","selected","includes","currentAppLink","newType","newAppLink","getTypePhrase","AppLink","ariaLabel","MySharesDemoInsight","isStaging","liteUrl","heading","isFirst","MySharesTableRow","shareData","demoInteractive","getObjectActions","button","getObjectAppLink","imageCdnUrl","yearGroups","MySharesEmptyState","EmptyState","src","ImageUrls","altText","text","analyticsData","analyticsOptions","actionType","location","entity","workflowPhase","descriptor","SignUp","MySharesView","useSetPageMetadata","title","usePermissions","hasPermissions","hasLocalPermissions","useSettings","hasShareFlowV2","hasClassrooms","isPlugin","usePluginHelper","useBreakpoints","accessPolicy","useAccessPolicy","sharesParams","shouldFetch","PermissionName","hasInsightsPermission","showDemoInsight","metadata","hasDemoInsights","config","ConfigRequests","currentUser","UserRequests","data","isAuthenticated","CustomerRequests","customerId","useMySharesTable","sentSharesParams","InsightsAdminAlert","analyticsUrl","analyticsWebUrl","hasAnalytics","AudienceFilterView","hasClassroomsFeature","typeIdAppLinkParams","showPartialLoading","PartialMySharesTable","sentShares","MySharesTable","sharedObjects","items","interactivesPendingReview","itemsArr","obj","audienceAppLinkParams","groupByDateShared","hasMore","isFetching","InfiniteScrollFooter","fetchNext","nextCursor","MySharesTableEmptyState"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4527],{9806:(e,t,n)=>{"use strict";n.d(t,{k:()=>C});var a=n(32735),o=n(65858),i=n(64249),r=n(15611),l=n(7432),c=n(11834),s=n(83345),d=n(56754),u=n(86348),p=n(7733),m=n(54610),v=n(4594),y=n(68626),f=n(9085),b=n(67453),h=n(31908);const g={thumbnailFallbackSvg:"D4JFs",posterFallbackSvg:"bjUWl",coverFallbackSvg:"kdLpt",thumbnailContainer:"d3CKN",insightsMask:"KM76U",requireMarking:"peLH7",badge:"mVu0E",bar:"zO3MS",a:"K1jW5",expandBar:"YITJl",b:"tCpLF",c:"lC0cq"};var E="shared.sharedObjectImage",k="rounded overflow-hidden";function w(){return a.createElement("div",{className:"d-flex pointer-events-none position-absolute bottom-0 start-0 h-100 w-100 z-1 justify-content-center align-items-center"},a.createElement("div",{className:"position-absolute bg-dark bg-gradient opacity-50 w-100 h-100 z-0 rounded-3"}),a.createElement("div",{className:"d-flex align-items-end gap-2 h-50 z-1"},a.createElement("div",{className:"d-flex align-items-end h-50"},a.createElement("div",{className:"".concat(g.bar," ").concat(g.a," rounded shadow")})),a.createElement("div",{className:"d-flex align-items-end h-75"},a.createElement("div",{className:"".concat(g.bar," ").concat(g.b," rounded shadow")})),a.createElement("div",{className:"d-flex align-items-end h-100"},a.createElement("div",{className:"".concat(g.bar," ").concat(g.c," rounded shadow")}))))}function C(e){var t=a.useCallback((function(t){var n;t&&e.fixedHeight&&(t.style.width="".concat(t.offsetHeight*(n=e.object,h.M.isVideoType(n)?16/9:n.typeId===v.E.Playlist?1:n.typeId===v.E.Series?9/16:void 0),"px"))}),[]),n=h.M.isVideoType(e.object),C=function(e){var t=b.j.getDisplayImageFromObject(e);if(h.M.isVideoType(e))return{image:t,imageType:m.__.Thumbnails,imageClassName:k,imageFallbackComponent:a.createElement(c.oy,{type:c.mS.Video})};switch(e.typeId){case v.E.Series:return{image:t,imageType:m.__.TallPosters,imageClassName:k,imageFallbackComponent:a.createElement(c.oy,{type:c.mS.Series,svgContainerClassName:g.posterFallbackSvg})};case v.E.Playlist:return{image:t,imageType:m.__.Covers,imageClassName:(null==t?void 0:t.url)?k:"".concat(k," ").concat((0,f.x)(e.name,p.o)),imageFallbackComponent:a.createElement(c.oy,{type:c.mS.Playlist,svgContainerClassName:(null==t?void 0:t.url)?g.coverFallbackSvg:"d-none",extraClasses:!(null==t?void 0:t.url)&&"bg-transparent"})}}}(e.object),O=C.image,x=C.imageType,j=C.imageClassName,N=C.imageFallbackComponent,S=e.showVideoMetadata?{}:{hideDuration:!0,hideMask:!0,hideRating:!0,hideVideoTypeBadge:!0};return a.createElement("div",{className:"d-flex align-items-center justify-content-center w-100 h-100"},a.createElement("div",{ref:t,className:e.fixedHeight?"h-100":"w-100"},n&&a.createElement("div",{className:"".concat(g.thumbnailContainer," position-relative")},e.showInsightsMask&&a.createElement(w,null),a.createElement(r.F,{appLink:e.appLink},a.createElement(u.u,Object.assign({video:e.object,size:e.thumbnailSize,imageOptions:e.imageOptions,textPosition:y.z.Independent,type:"cosmetic"},S))),!!e.requireMarking&&a.createElement("div",{className:"".concat(e.showInsightsMask&&g.requireMarking," position-absolute bottom-0 end-0 z-1 m-2")},a.createElement("div",{className:"".concat(g.badge," d-flex align-items-center bg-light-ultramarine text-ultramarine fw-semibold rounded-pill w-fit mt-1 px-2")},a.createElement(s.x,{namespace:E,phrase:"requireMarking",options:{smartCount:e.requireMarking}})))),!n&&a.createElement(a.Fragment,null,"videos"in e.object?a.createElement(d.I,{collection:e.object,imageOptions:e.imageOptions,appLink:e.appLink,analyticsData:{id:e.object.id,name:e.object.name},analyticsOptions:{entity:i.I.getAnalyticsEntity(e.object.type),actionType:o.Vw.Click,location:e.locationContext},showMask:e.showCollectionMask,showVideoCount:e.showVideoCount}):a.createElement(l.Z,{data:null==O?void 0:O.url,imageType:x,imageOptions:e.imageOptions,appLink:e.appLink,className:j,analyticsData:{id:e.object.id,name:e.object.name},analyticsOptions:{entity:i.I.getAnalyticsEntity(e.object.type),actionType:o.Vw.Click,location:e.locationContext}},N))))}C.defaultProps={imageOptions:{size:m.h2.Small}}},56754:(e,t,n)=>{"use strict";n.d(t,{I:()=>E});var a=n(32735),o=n(75896),i=n(65858),r=n(15611),l=n(83914),c=n(83345);const s={thumbnailTitle:"OsWjL"};function d(e){return a.createElement("h3",{title:e.title,className:"h6"},e.title)}function u(e){return e.appLink?a.createElement(r.F,{appLink:e.appLink,className:"".concat(s.thumbnailTitle)},a.createElement(d,Object.assign({},e))):a.createElement(d,Object.assign({},e))}var p=n(86348),m=n(62335),v=n(4594),y=n(68626),f=n(45778),b=n(35223);const h={badge:"M4zat",mask:"r0Ztg",thumbnailContainer:"uD9dz"};var g="shared.collectionThumbnail";function E(e){var t,n,s,d,E=function(){var t,n=null===(t=e.collection)||void 0===t?void 0:t.videos;if(n){if(!n.count&&e.collection.typeId===v.E.Playlist){var a=e.collection;a.clips.count&&(n=a.clips),a.interactives.count&&(n=a.interactives)}return o.m.first(n.data)}}(),k=function(){var t,n,a=0;if(e.collection.videos&&e.collection.videos.count&&(a+=e.collection.videos.count),e.collection.typeId===v.E.Playlist){var o=e.collection;(null===(t=o.interactives)||void 0===t?void 0:t.count)&&(a+=o.interactives.count),(null===(n=o.clips)||void 0===n?void 0:n.count)&&(a+=o.clips.count)}return a}(),w=(null===(t=e.title)||void 0===t?void 0:t.length)||(null===(n=e.subText)||void 0===n?void 0:n.length),C=Object.assign({id:e.collection.id.toString(),name:e.collection.name},e.analyticsData),O=Object.assign({actionType:i.Vw.Click,entity:(d=e.collection,f.G.isType(d,v.E.Playlist)?i.py.Playlist:f.G.isType(d,v.E.Series)?i.py.Series:void 0)},e.analyticsOptions);return a.createElement("div",null,a.createElement("div",{className:"position-relative ".concat(h.thumbnailContainer," z-1")},a.createElement(r.F,{appLink:e.appLink,analyticsData:C,analyticsOptions:O,preventFocus:!0},e.showMask&&a.createElement("div",{className:"".concat(h.mask," position-absolute w-100 h-100 rounded-3 bg-dark bg-gradient z-1 bg-opacity-50 pointer-events-none")},a.createElement("div",{className:"".concat(h.badge," d-flex align-items-center w-fit flex-grow-0 bg-dark rounded-pill ps-1 m-2")},a.createElement(l.x,{svgName:b.vn.Play,className:"svg-container text-white"}),a.createElement("p",{className:"d-inline fw-medium text-white mb-0"},(null===(s=e.hoverText)||void 0===s?void 0:s.length)?a.createElement("span",null,e.hoverText):a.createElement(c.x,{namespace:g,phrase:"playAll"})))),E&&a.createElement(p.u,{video:E,imageOptions:e.imageOptions,textPosition:y.z.Independent,type:"cosmetic",hideMask:!0,hideRating:!0,hideDuration:!0,hideVideoTypeBadge:!0}),!E&&a.createElement("div",{className:"ratio ratio-16x9 bg-light rounded-3"},a.createElement("div",{className:"d-flex justify-content-center align-items-center"},a.createElement(l.x,{svgName:b.vn.Play,className:"w-33 opacity-25 text-gray-400"}))),e.showVideoCount&&a.createElement("div",{className:"".concat(h.badge," d-flex align-items-center w-fit bg-dark bg-opacity-75 rounded-pill position-absolute bottom-0 end-0 ps-1 m-2")},a.createElement(l.x,{svgName:b.vn.Series,className:"svg-container text-white me-1"}),a.createElement("p",{className:"d-inline fw-semibold text-white mb-0"},a.createElement(c.x,{namespace:g,phrase:"videos",options:{count:k,smartCount:k}}))))),w&&a.createElement("div",{className:"mt-2 d-flex flex-column"},e.subText&&a.createElement(m.m,{title:e.subText,appLink:e.subTextAppLink},e.subText),e.title&&a.createElement(u,{title:e.collection.name,appLink:e.titleAppLink})))}},63178:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ShareOptionsView:()=>U});var a=n(32735),o=n(2948),i=n(20354),r=n(50938),l=n(5255),c=n(4606),s=n(26025),d=n(74901),u=n(40003),p=n(49475),m=n(91693),v=n(4594),y=n(16714),f=n(39151),b=n(5112),h=n(60011),g=n(31949),E=n(17913),k=n(91286),w=n(93322),C=n(22902),O=n(79612),x=n(37802),j=n(35223),N=n(31908),S=n(86702),I=n(59087),L=n(65858),P=n(9806),T=n(54610),D=n(14070),A=n(97291),M=n(4315);function F(e){var t,n,o,i,r,l,c,s;console.log("ShareOptions",e);var d=null!==(o=null===(n=null===(t=e.shareLink)||void 0===t?void 0:t.link)||void 0===n?void 0:n.shortenedUrl)&&void 0!==o?o:"";return a.createElement("div",{className:"mb-4"},a.createElement("div",{className:"d-flex gap-2"},e.sharedObject&&a.createElement("div",{style:{minWidth:180},className:"d-flex flex-column"},a.createElement(P.k,{object:e.sharedObject,showVideoMetadata:!0,locationContext:L.LZ.Insights,imageOptions:{size:T.h2.Medium},showCollectionMask:!0,showVideoCount:!0})),a.createElement("div",{className:"d-flex flex-column justify-content-end"},a.createElement("div",{className:"flex-grow-1"}),e.shareLink&&a.createElement(M.e,{shareLink:e.shareLink}),a.createElement("div",{className:"flex-grow-1"}),a.createElement("div",{className:"d-flex gap-2"},a.createElement(m.h,{svgName:j.vn.Share,className:"btn btn-outline-dark",appLink:{application:A.O.SHARE_V2,action:D.e.ShareV2.LINK,args:[null===(i=e.sharedObject)||void 0===i?void 0:i.id],params:{entityType:null===(r=e.sharedObject)||void 0===r?void 0:r.type,shareId:null===(l=e.shareLink)||void 0===l?void 0:l.shareId}}},"Share a link or embed"),a.createElement(m.h,{svgName:j.vn.Download,onClick:function(){return console.log("QR code..")},className:"btn btn-outline-dark",appLink:{application:A.O.INSIGHTS,action:D.e.Insights.QR_CODE,params:{value:d}}},"QR code"))),a.createElement("div",{className:"flex-grow-1"}),e.pinCode&&a.createElement("div",{className:"border p-3 rounded-3 d-flex flex-column align-items-center"},a.createElement("p",null,"Go to ",a.createElement("a",{href:"https://staging.clickview.net/pin",target:"_blank",className:"text-info"},"staging.clickview.net/pin")," and enter PIN:"),a.createElement("div",{className:"d-flex align-items-center"},a.createElement("h4",{className:"mb-0 pb-0 me-1"},null===(c=e.pinCode)||void 0===c?void 0:c.code),a.createElement(I.CopyToClipboard,{text:null===(s=e.pinCode)||void 0===s?void 0:s.code},a.createElement(m.h,{svgName:j.vn.Copy,className:"btn"})),a.createElement(m.h,{svgName:j.vn.NewWindow,onClick:function(){console.log("Expanding code..")},className:"btn"})))))}var _=n(26203),R=n(10447),V=n(93975),z=n(91574);function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function U(e){var t,n,I,L,P,T,D,A,M,U,W,H,G,q,K,J,Q,Y,Z,$,X=(Z=(0,o.D)(S.y.ANONYMISE_USERS),$=1,function(e){if(Array.isArray(e))return e}(Z)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,o,i,r,l=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(s)throw o}}return l}}(Z,$)||function(e,t){if(e){if("string"==typeof e)return B(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?B(e,t):void 0}}(Z,$)||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],ee=i.a.useBasicFetch(f.L.config()),te=i.a.useBasicFetch(e.shareId&&z.o.getShareLink(e.shareId)),ne=i.a.useBasicFetch(e.shareId&&z.o.getPincodeByShareId(e.shareId)),ae=(0,x.r)(null),oe=ae.hasShareFlowV2,ie=ae.publicInteractiveAttempts,re=(0,C.T)().hasPermissions,le=[v.E.Video,v.E.Clip,v.E.Interactive].includes(e.typeId)&&N.M.getVideoRequest(e.objectId,e.typeId),ce=i.a.useBasicFetch(le),se=i.a.useBasicFetch(g.N.currentUser()),de=e.typeId===v.E.Series&&h.J.series(e.objectId),ue=i.a.useBasicFetch(de),pe=e.typeId===v.E.Playlist&&b.C.getPlaylist(e.objectId),me=i.a.useBasicFetch(pe),ve=s.B.getAudienceAppLinkParams(),ye=s.B.getDateRangeAppLinkParams(),fe=Object.assign(Object.assign(Object.assign({},ve),ye),{shareId:e.shareId}),be=Object.assign(Object.assign({},(0,u.wO)((0,u.Hb)(),ye)),(0,d.K)(ve)),he=i.a.useBasicFetch(se.data&&E.u.individualEngagement(e.objectId,be,null===(t=se.data)||void 0===t?void 0:t.id,ie)),ge=(null===(I=null===(n=he.data)||void 0===n?void 0:n.data)||void 0===I?void 0:I.map((function(e){return e.userId})).filter(Boolean))||[],Ee=(0,c.U)(ge),ke=Ee.users,we=Ee.isLoading,Ce=(0,l.Y)(e.shareId);(0,w.F)(),(0,O.M)({title:null!==(D=null!==(P=null===(L=ce.data)||void 0===L?void 0:L.name)&&void 0!==P?P:null===(T=ue.data)||void 0===T?void 0:T.name)&&void 0!==D?D:null===(A=me.data)||void 0===A?void 0:A.name}),(0,k.v)([ce,ue,me]);var Oe=!(!he.data||ge.length&&we),xe=!(null===(M=he.data)||void 0===M?void 0:M.data.length)||!ge.length&&!Object.keys(Ce).length,je=!Oe||xe;return a.createElement("div",{className:"px-3"},a.createElement(_.j,{video:null!==(W=null!==(U=ce.data)&&void 0!==U?U:ue.data)&&void 0!==W?W:me.data,dateRangeAppLinkParams:ye,tabs:e.typeId===v.E.Interactive?(0,R.kj)(e.objectId,"shareOptions",fe,oe):e.typeId===v.E.Clip?(0,R.$o)(e.objectId,"shareOptions",fe,oe):e.typeId===v.E.Video?(0,R.$6)(e.objectId,"shareOptions",fe,oe):e.typeId===v.E.Series?(0,R.lo)(e.objectId,"shareOptions",fe):e.typeId===v.E.Playlist?(0,R.W_)(e.objectId,"shareOptions",fe):void 0,hasAnalytics:re(y.C.ViewCustomerAnalytics),analyticsWebUrl:null===(H=ee.data)||void 0===H?void 0:H.analyticsWebUrl,hasShareFlowV2:oe,shareId:e.shareId}),a.createElement(F,{sharedObject:null!==(q=null!==(G=ce.data)&&void 0!==G?G:ue.data)&&void 0!==q?q:me.data,shareLink:te.data,pinCode:ne.data}),a.createElement("div",{className:"d-flex align-items-center mt-5"},a.createElement("h3",{className:"p-0 m-0"},"Students who have viewed this video"),(null===(K=te.data)||void 0===K?void 0:K.type)===V.y.Classroom&&a.createElement(m.h,{svgName:j.vn.Plus,onClick:function(){return console.log("Add new student..")},className:"btn btn-outline-dark ms-auto"},"Add new student")),a.createElement("div",{className:"col-12 mt-2 mb-5"},a.createElement(r.z,{key:(0,p.u)(Object.assign(Object.assign({},ve),ye)),engagement:null!==(Q=null===(J=he.data)||void 0===J?void 0:J.data)&&void 0!==Q?Q:[],users:null!=ke?ke:[],imageCdnUrl:null===(Y=ee.data)||void 0===Y?void 0:Y.imageCdnUrl,anonymiseUsers:X,border:!0,anonSessions:Ce,hideWhenEmpty:!1,theme:{header:je?"border-0":"border-bottom",table:je?"bg-white rounded px-0 rounded-bottom-0":"bg-white rounded px-0"}}),je&&a.createElement("div",{style:{minHeight:400},className:"border border-top-0 rounded-1 rounded-top-0 pt-5 pb-5 text-center"},a.createElement("h4",null,"Waiting for students to view..."))))}},4315:(e,t,n)=>{"use strict";n.d(t,{e:()=>d});var a=n(32735),o=n(12528),i=n(4594),r=n(35223),l=n(93975);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 s(e,t,n){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 n=t.call(e,"string");if("object"!=c(n))return n;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:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e){return a.createElement("div",{className:"d-flex align-items-center"},a.createElement("div",{className:"d-flex align-items-center justify-content-center"},a.createElement("div",null,a.createElement(o.f,{svgName:u[e.shareLink.type],variant:p[e.shareLink.type],textVariant:"white",svgWrapperClassName:"p-1"})),a.createElement("div",{className:"d-flex flex-column ms-2"},a.createElement("label",{className:"m-0"},(n=(t=e).shareLink,r=t.classroomName,n.type===l.y.Classroom&&r?r:m[n.type])),a.createElement("span",{className:"text-secondary"},function(e){var t,n,a,o,r=e.shareLink;if(r.type===l.y.Classroom){var c=null!==(n=null===(t=r.recipients)||void 0===t?void 0:t.filter((function(e){return e.recipientTypeId===i.E.ClassroomGroup})).length)&&void 0!==n?n:0,s=null!==(o=null===(a=r.recipients)||void 0===a?void 0:a.filter((function(e){return e.recipientTypeId===i.E.User})).length)&&void 0!==o?o:0;return c&&s?"".concat(c," ").concat(v(c,"group","groups"),", ").concat(s," ").concat(v(s,"student","students")):c?"".concat(c," ").concat(v(c,"group","groups")):s?"".concat(s," ").concat(v(s,"student","students")):"All students in classroom can view"}return r.type===l.y.Open?"Anyone in my school can view":r.type===l.y.Link?"Anyone with a link can view":r.type===l.y.Live?"Live now":"Anyone can view for 30 days"}(e)))));var t,n,r}var u=s(s(s(s({},l.y.Open,r.vn.School),l.y.Link,r.vn.Link),l.y.Classroom,r.vn.Classrooms),l.y.Live,r.vn.Play),p=s(s(s(s({},l.y.Open,"blue"),l.y.Link,"black"),l.y.Classroom,"teal"),l.y.Live,"purple"),m=s(s(s(s({},l.y.Open,"Open classroom"),l.y.Link,"Link"),l.y.Classroom,"Classroom"),l.y.Live,"Live");function v(e,t,n){return 1===e?t:n}},93975:(e,t,n)=>{"use strict";var a;n.d(t,{y:()=>a}),function(e){e.Link="Link",e.Classroom="Classroom",e.Open="Open",e.Live="Live"}(a||(a={}))},91574:(e,t,n)=>{"use strict";n.d(t,{o:()=>r});var a=n(99940),o=n(97395),i={namespace:"share-v2"},r={createShareLink:function(e,t,n,o){return{url:"/api/share/v2/shares",key:"create:share-v2:link",type:a.k.POST,data:e,normalizeOptions:i,invalidationKeys:["share:link:object:".concat(e.objectId),"privacy:".concat(e.objectId),"sent:shares","get:share-v2:shares:object"],success:t,error:n,always:o}},getShareLink:function(e,t,n,o){return{url:"/api/share/v2/shares/".concat(e),key:"get:share-v2:link:".concat(e),type:a.k.GET,normalizeOptions:i,success:t,error:n,always:o}},getSharesByObjectId:function(e,t,n,o){return{url:"/api/share/v2/shares/objects/".concat(e),key:"get:share-v2:shares:object:".concat(e),type:a.k.GET,normalizeOptions:i,success:t,error:n,always:o}},getSentShares:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,r={scopeId:e.scopeId,limit:e.limit||25,offset:parseInt(e.cursor)||0},l=Object.values(r).join(":");return{url:o._.urlBuilder("/api/share/v2/shares/sent",r),key:"sent:shares-v2:".concat(l),formatData:function(e){return{data:e,count:e.length,pagination:{cursors:{next:r.offset+e.length}}}},type:a.k.GET,normalize:!1,success:t,error:n,always:i}},createPincode:function(e){return{url:"/api/share/v2/shares/".concat(e,"/pincode"),key:"create:share-v2:pincode",type:a.k.POST}},getPincode:function(e){return{url:"/api/share/v2/shares/pincode?code=".concat(e),key:"get:share-v2:pincode:".concat(e)}},getPincodeByShareId:function(e){return{url:"/api/share/v2/shares/".concat(e,"/pincode"),key:"get:share-v2:".concat(e,":pincode")}}}},91969:(e,t,n)=>{"use strict";var a=n(47033),o={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,i,r,l,c,s,d=!1;t||(t={}),n=t.debug||!1;try{if(r=a(),l=document.createRange(),c=document.getSelection(),(s=document.createElement("span")).textContent=e,s.ariaHidden="true",s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",(function(a){if(a.stopPropagation(),t.format)if(a.preventDefault(),void 0===a.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var i=o[t.format]||o.default;window.clipboardData.setData(i,e)}else a.clipboardData.clearData(),a.clipboardData.setData(t.format,e);t.onCopy&&(a.preventDefault(),t.onCopy(a.clipboardData))})),document.body.appendChild(s),l.selectNodeContents(s),c.addRange(l),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");d=!0}catch(a){n&&console.error("unable to copy using execCommand: ",a),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),d=!0}catch(a){n&&console.error("unable to copy using clipboardData: ",a),n&&console.error("falling back to prompt"),i=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(i,e)}}finally{c&&("function"==typeof c.removeRange?c.removeRange(l):c.removeAllRanges()),s&&document.body.removeChild(s),r()}return d}},44818:(e,t,n)=>{"use strict";function a(e){return a="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},a(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var o=l(n(32735)),i=l(n(91969)),r=["text","onCopy","options","children"];function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){v(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function u(e,t){return u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},u(e,t)}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e){return m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},m(e)}function v(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(f,e);var t,n,l,c,y=(l=f,c=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=m(l);if(c){var n=m(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return p(e)}(this,e)});function f(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return v(p(e=y.call.apply(y,[this].concat(n))),"onClick",(function(t){var n=e.props,a=n.text,r=n.onCopy,l=n.children,c=n.options,s=o.default.Children.only(l),d=(0,i.default)(a,c);r&&r(a,d),s&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t)})),e}return t=f,(n=[{key:"render",value:function(){var e=this.props,t=(e.text,e.onCopy,e.options,e.children),n=function(e,t){if(null==e)return{};var n,a,o=function(e,t){if(null==e)return{};var n,a,o={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,r),a=o.default.Children.only(t);return o.default.cloneElement(a,s(s({},n),{},{onClick:this.onClick}))}}])&&d(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),f}(o.default.PureComponent);t.CopyToClipboard=y,v(y,"defaultProps",{onCopy:void 0,options:void 0})},59087:(e,t,n)=>{"use strict";var a=n(44818).CopyToClipboard;a.CopyToClipboard=a,e.exports=a},47033:e=>{e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],a=0;a<e.rangeCount;a++)n.push(e.getRangeAt(a));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null}return e.removeAllRanges(),function(){"Caret"===e.type&&e.removeAllRanges(),e.rangeCount||n.forEach((function(t){e.addRange(t)})),t&&t.focus()}}}}]);
|
|
2
|
+
//# sourceMappingURL=4527-42075d96f4-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/4527-42075d96f4-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/share/components/shared-object-image/shared-object-image.scss","file:///app/packages/libs/shared/src/apps/share/components/shared-object-image/SharedObjectImage.tsx","file:///app/packages/libs/shared/src/components/thumbnails/collection/title/collection-thumbnail-title.scss","file:///app/packages/libs/shared/src/components/thumbnails/collection/title/CollectionThumbnailTitle.tsx","file:///app/packages/libs/shared/src/components/thumbnails/collection/collection-thumbnail.scss","file:///app/packages/libs/shared/src/components/thumbnails/collection/CollectionThumbnail.tsx","file:///app/packages/projects/lite/src/apps/insights/components/share-options/ShareOptions.tsx","file:///app/packages/projects/lite/src/apps/insights/views/share-options/ShareOptionsView.tsx","file:///app/packages/projects/lite/src/apps/share-v2/components/ShareAvatar.tsx","file:///app/packages/projects/lite/src/apps/share-v2/enums/ShareType.ts","file:///app/packages/projects/lite/src/apps/share-v2/flight-requests/ShareRequests.ts","file:///app/node_modules/copy-to-clipboard/index.js","file:///app/node_modules/react-copy-to-clipboard/lib/Component.js","file:///app/node_modules/react-copy-to-clipboard/lib/index.js","file:///app/node_modules/toggle-selection/index.js"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"thumbnailFallbackSvg\":\"D4JFs\",\"posterFallbackSvg\":\"bjUWl\",\"coverFallbackSvg\":\"kdLpt\",\"thumbnailContainer\":\"d3CKN\",\"insightsMask\":\"KM76U\",\"requireMarking\":\"peLH7\",\"badge\":\"mVu0E\",\"bar\":\"zO3MS\",\"a\":\"K1jW5\",\"expandBar\":\"YITJl\",\"b\":\"tCpLF\",\"c\":\"lC0cq\"};","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CollectionThumbnail } from 'libs/shared/components/thumbnails/collection/CollectionThumbnail';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { ImageSize, ImageType } from 'libs/shared/enums/Images';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { BaseObject, Image, Playlist, Series } from 'libs/shared/interfaces';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\nimport { ImageHelper, ImageOptions } from 'libs/shared/utils/ImageHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport styles from './shared-object-image.scss';\n\nconst namespace = 'shared.sharedObjectImage';\n\nconst BASE_IMAGE_CLASS_NAME = 'rounded overflow-hidden';\n\ninterface ImageProps {\n image: Image;\n imageType: ImageType;\n imageClassName?: string;\n imageFallbackComponent: JSX.Element;\n}\n\nfunction getImageProps(object: BaseObject): ImageProps {\n const image = ImageHelper.getDisplayImageFromObject(object);\n\n if (VideoHelper.isVideoType(object))\n return {\n image,\n imageType: ImageType.Thumbnails,\n imageClassName: BASE_IMAGE_CLASS_NAME,\n imageFallbackComponent: <ImageFallback type={ImageFallbackType.Video} />\n };\n\n switch (object.typeId) {\n case MasterType.Series:\n return {\n image,\n imageType: ImageType.TallPosters,\n imageClassName: BASE_IMAGE_CLASS_NAME,\n imageFallbackComponent:\n <ImageFallback type={ImageFallbackType.Series} svgContainerClassName={styles.posterFallbackSvg} />\n };\n\n case MasterType.Playlist:\n return {\n image,\n imageType: ImageType.Covers,\n imageClassName: !image?.url\n ? `${BASE_IMAGE_CLASS_NAME} ${getBgColorClass(object.name, BG_COLOUR_CLASS_NAMES)}`\n : BASE_IMAGE_CLASS_NAME,\n imageFallbackComponent: (\n <ImageFallback\n type={ImageFallbackType.Playlist}\n svgContainerClassName={image?.url ? styles.coverFallbackSvg : 'd-none'}\n extraClasses={!image?.url && 'bg-transparent'}\n />\n )\n };\n }\n}\n\nfunction InsightsMask() {\n return (\n <div className={`d-flex pointer-events-none position-absolute bottom-0 start-0 h-100 w-100 z-1 justify-content-center align-items-center`}>\n <div className='position-absolute bg-dark bg-gradient opacity-50 w-100 h-100 z-0 rounded-3'></div>\n <div className='d-flex align-items-end gap-2 h-50 z-1'>\n <div className='d-flex align-items-end h-50'>\n <div className={`${styles.bar} ${styles.a} rounded shadow`}></div>\n </div>\n <div className='d-flex align-items-end h-75'>\n <div className={`${styles.bar} ${styles.b} rounded shadow`}></div>\n </div>\n <div className='d-flex align-items-end h-100'>\n <div className={`${styles.bar} ${styles.c} rounded shadow`}></div>\n </div>\n </div>\n </div>\n );\n}\n\nfunction getImageRatio(object: BaseObject): ImageFallbackType {\n if (VideoHelper.isVideoType(object))\n return 16 / 9;\n\n if (object.typeId === MasterType.Playlist)\n return 1;\n\n if (object.typeId === MasterType.Series)\n return 9 / 16;\n}\n\nSharedObjectImage.defaultProps = {\n imageOptions: { size: ImageSize.Small }\n};\n\ninterface SharedObjectImageProps {\n object: BaseObject;\n locationContext: LocationContext;\n appLink?: Core.AppLink;\n showVideoMetadata?: boolean;\n fixedHeight?: boolean;\n requireMarking?: number;\n imageOptions?: ImageOptions;\n showInsightsMask?: boolean;\n showCollectionMask?: boolean;\n showVideoCount?: boolean;\n thumbnailSize?: 'sm' | 'md';\n}\n\nexport function SharedObjectImage(props: SharedObjectImageProps): JSX.Element {\n const ref = React.useCallback((el: HTMLDivElement) => {\n if (!el || !props.fixedHeight)\n return;\n\n el.style.width = `${el.offsetHeight * getImageRatio(props.object)}px`;\n }, []);\n\n const useVideoThumbnail = VideoHelper.isVideoType(props.object);\n\n const {\n image,\n imageType,\n imageClassName,\n imageFallbackComponent\n } = getImageProps(props.object);\n\n const metadataFlags = !props.showVideoMetadata ? {\n hideDuration: true,\n hideMask: true,\n hideRating: true,\n hideVideoTypeBadge: true\n } : {};\n\n return (\n <div className='d-flex align-items-center justify-content-center w-100 h-100'>\n <div ref={ref} className={props.fixedHeight ? 'h-100' : 'w-100'}>\n {useVideoThumbnail &&\n <div className={`${styles.thumbnailContainer} position-relative`}>\n {props.showInsightsMask && <InsightsMask />}\n <AppLink appLink={props.appLink}>\n <VideoThumbnail\n video={props.object}\n size={props.thumbnailSize}\n imageOptions={props.imageOptions}\n textPosition={ThumbnailTextPosition.Independent}\n type='cosmetic'\n {...metadataFlags}\n />\n </AppLink>\n {!!props.requireMarking && (\n <div className={`${props.showInsightsMask && styles.requireMarking} position-absolute bottom-0 end-0 z-1 m-2`}>\n <div className={`${styles.badge} d-flex align-items-center bg-light-ultramarine text-ultramarine fw-semibold rounded-pill w-fit mt-1 px-2`}>\n <Text namespace={namespace} phrase='requireMarking' options={{ smartCount: props.requireMarking }} />\n </div>\n </div>\n )}\n </div>\n }\n {!useVideoThumbnail &&\n <>\n {'videos' in (props.object as Playlist | Series) ? (\n <CollectionThumbnail\n collection={props.object}\n imageOptions={props.imageOptions}\n appLink={props.appLink}\n analyticsData={{\n id: props.object.id,\n name: props.object.name\n }}\n analyticsOptions={{\n entity: ShareViewHelper.getAnalyticsEntity(props.object.type),\n actionType: UserAction.Click,\n location: props.locationContext\n }}\n showMask={props.showCollectionMask}\n showVideoCount={props.showVideoCount}\n />\n ) : (\n <BaseImage\n data={image?.url}\n imageType={imageType}\n imageOptions={props.imageOptions}\n appLink={props.appLink}\n className={imageClassName}\n analyticsData={{\n id: props.object.id,\n name: props.object.name\n }}\n analyticsOptions={{\n entity: ShareViewHelper.getAnalyticsEntity(props.object.type),\n actionType: UserAction.Click,\n location: props.locationContext\n }}\n >\n {imageFallbackComponent}\n </BaseImage>\n )}\n </>\n }\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"thumbnailTitle\":\"OsWjL\"};","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './collection-thumbnail-title.scss';\n\ninterface BaseCollectionThumbnailTitleProps {\n title: string;\n}\n\nfunction BaseCollectionThumbnailTitle(props: BaseCollectionThumbnailTitleProps): JSX.Element {\n return (\n <h3 title={props.title} className='h6'>{props.title}</h3>\n );\n}\n\ninterface CollectionThumbnailTitleProps extends BaseCollectionThumbnailTitleProps {\n appLink: Core.AppLink;\n}\n\nexport function CollectionThumbnailTitle(props: CollectionThumbnailTitleProps) {\n if (!props.appLink) {\n return (\n <BaseCollectionThumbnailTitle {...props} />\n );\n }\n \n return (\n <AppLink appLink={props.appLink} className={`${styles.thumbnailTitle}`}>\n <BaseCollectionThumbnailTitle {...props} />\n </AppLink>\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"badge\":\"M4zat\",\"mask\":\"r0Ztg\",\"thumbnailContainer\":\"uD9dz\"};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { AnalyticsOptions, EntityType, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CollectionThumbnailTitle } from 'libs/shared/components/thumbnails/collection/title/CollectionThumbnailTitle';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { Playlist, Series } from 'libs/shared/interfaces';\nimport { ImageOptions } from 'libs/shared/utils/ImageHelper';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './collection-thumbnail.scss';\n\nconst namespace = 'shared.collectionThumbnail';\n\ntype SupportedContentType = Playlist | Series;\n\ninterface CollectionThumbnailProps {\n appLink?: Core.AppLink\n collection: SupportedContentType;\n imageOptions?: ImageOptions;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n showMask?: boolean;\n showVideoCount?: boolean;\n title?: string;\n titleAppLink?: Core.AppLink;\n subText?: string;\n subTextAppLink?: Core.AppLink;\n hoverText?: string;\n}\n\nexport function CollectionThumbnail(props: CollectionThumbnailProps) {\n function getFirstVideo() {\n let collectionVideos = props.collection?.videos;\n\n if (!collectionVideos)\n return;\n\n if (!collectionVideos.count && props.collection.typeId === MasterType.Playlist) {\n const playlist = props.collection as Playlist;\n\n if (playlist.clips.count)\n collectionVideos = playlist.clips;\n\n if (playlist.interactives.count)\n collectionVideos = playlist.interactives;\n }\n\n return ArrayHelper.first(collectionVideos.data);\n }\n\n function getVideoCount() {\n let totalCount = 0;\n\n if (props.collection.videos && props.collection.videos.count) {\n totalCount += props.collection.videos.count;\n }\n\n if (props.collection.typeId === MasterType.Playlist) {\n const playlist = props.collection as Playlist;\n\n if (playlist.interactives?.count)\n totalCount += playlist.interactives.count;\n\n if (playlist.clips?.count)\n totalCount += playlist.clips.count;\n }\n\n return totalCount;\n }\n\n function getEntityType(collection: SupportedContentType) {\n if (MasterTypeHelper.isType<Playlist>(collection, MasterType.Playlist)) {\n return EntityType.Playlist;\n }\n\n if (MasterTypeHelper.isType<Series>(collection, MasterType.Series)) {\n return EntityType.Series;\n }\n }\n\n const firstVideo = getFirstVideo();\n const videoCount = getVideoCount();\n const showTexts = props.title?.length || props.subText?.length;\n\n const analyticsData = {\n id: props.collection.id.toString(),\n name: props.collection.name,\n\n ...props.analyticsData\n };\n\n const analyticsOptions = {\n actionType: UserAction.Click,\n entity: getEntityType(props.collection),\n \n ...props.analyticsOptions\n };\n\n return (\n <div>\n <div className={`position-relative ${styles.thumbnailContainer} z-1`}>\n <AppLink\n appLink={props.appLink}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n preventFocus\n >\n {props.showMask &&\n <div className={`${styles.mask} position-absolute w-100 h-100 rounded-3 bg-dark bg-gradient z-1 bg-opacity-50 pointer-events-none`}>\n <div className={`${styles.badge} d-flex align-items-center w-fit flex-grow-0 bg-dark rounded-pill ps-1 m-2`}>\n <SvgContainer svgName={cvSvgLibrary.Play} className='svg-container text-white' />\n <p className='d-inline fw-medium text-white mb-0'>\n {props.hoverText?.length ?\n <span>{props.hoverText}</span> :\n <Text namespace={namespace} phrase='playAll' />\n }\n </p>\n </div>\n </div>\n }\n\n {firstVideo &&\n <VideoThumbnail\n video={firstVideo}\n imageOptions={props.imageOptions}\n textPosition={ThumbnailTextPosition.Independent}\n type='cosmetic'\n hideMask\n hideRating\n hideDuration\n hideVideoTypeBadge\n />\n }\n\n {!firstVideo &&\n <div className='ratio ratio-16x9 bg-light rounded-3'>\n <div className='d-flex justify-content-center align-items-center'>\n <SvgContainer svgName={cvSvgLibrary.Play} className='w-33 opacity-25 text-gray-400' />\n </div>\n </div>\n }\n\n {props.showVideoCount &&\n <div className={`${styles.badge} d-flex align-items-center w-fit bg-dark bg-opacity-75 rounded-pill position-absolute bottom-0 end-0 ps-1 m-2`}>\n <SvgContainer svgName={cvSvgLibrary.Series} className='svg-container text-white me-1' />\n <p className='d-inline fw-semibold text-white mb-0'>\n <Text namespace={namespace} phrase='videos' options={{ count: videoCount, smartCount: videoCount }} />\n </p>\n </div>\n }\n </AppLink>\n\n </div>\n \n {showTexts &&\n <div className='mt-2 d-flex flex-column'>\n {props.subText &&\n <TitleSubText title={props.subText} appLink={props.subTextAppLink}>\n {props.subText}\n </TitleSubText>\n }\n {props.title &&\n <CollectionThumbnailTitle\n title={props.collection.name}\n appLink={props.titleAppLink}\n />\n }\n </div>\n }\n </div>\n );\n}","import React from 'react';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { SharedObjectImage } from 'libs/shared/apps/share/components/shared-object-image/SharedObjectImage';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { ShareAvatar } from 'apps/share-v2/components/ShareAvatar';\nimport { Pincode } from 'apps/share-v2/interfaces/Pincode';\nimport { ShareLink } from 'apps/share-v2/interfaces/ShareLink';\n\ninterface ShareOptionsProps {\n sharedObject?: BaseObject;\n shareLink?: ShareLink;\n pinCode?: Pincode;\n}\n\nexport function ShareOptions(props: ShareOptionsProps) {\n console.log('ShareOptions', props);\n\n function onExpandCode() {\n console.log('Expanding code..');\n }\n\n const qrCodeValue = props.shareLink?.link?.shortenedUrl ?? '';\n \n return (\n <div className='mb-4'>\n <div className='d-flex gap-2'>\n\n { props.sharedObject && (\n <div style={{ minWidth: 180 }} className='d-flex flex-column'>\n <SharedObjectImage\n object={props.sharedObject}\n showVideoMetadata\n locationContext={LocationContext.Insights}\n imageOptions={{ size: ImageSize.Medium }}\n showCollectionMask\n showVideoCount\n />\n </div>\n )}\n \n <div className='d-flex flex-column justify-content-end'>\n <div className='flex-grow-1' />\n {props.shareLink && <ShareAvatar shareLink={props.shareLink} />}\n <div className='flex-grow-1' />\n <div className='d-flex gap-2'>\n <IconButton\n svgName={cvSvgLibrary.Share}\n className='btn btn-outline-dark'\n appLink={{\n application: AppChannels.SHARE_V2,\n action: Actions.ShareV2.LINK,\n args: [props.sharedObject?.id],\n params: {\n entityType: props.sharedObject?.type,\n shareId: props.shareLink?.shareId\n }\n }}\n >\n Share a link or embed\n </IconButton>\n <IconButton\n svgName={cvSvgLibrary.Download}\n onClick={() => console.log('QR code..')}\n className='btn btn-outline-dark'\n appLink={{\n application: AppChannels.INSIGHTS,\n action: Actions.Insights.QR_CODE,\n params: {\n value: qrCodeValue\n }\n }}\n >\n QR code\n </IconButton>\n </div>\n </div>\n\n <div className='flex-grow-1' />\n\n {props.pinCode && (\n <div className='border p-3 rounded-3 d-flex flex-column align-items-center'>\n <p>Go to <a href='https://staging.clickview.net/pin' target='_blank' className='text-info'>staging.clickview.net/pin</a> and enter PIN:</p>\n <div className='d-flex align-items-center'>\n <h4 className='mb-0 pb-0 me-1'>{props.pinCode?.code}</h4>\n <CopyToClipboard text={props.pinCode?.code}>\n <IconButton\n svgName={cvSvgLibrary.Copy}\n className='btn'\n />\n </CopyToClipboard>\n <IconButton\n svgName={cvSvgLibrary.NewWindow}\n onClick={onExpandCode}\n className='btn'\n />\n </div>\n </div>\n )}\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { EngagementTable } from 'libs/shared/apps/analytics/components/engagement-table/EngagementTable';\nimport { useAnonSessions } from 'libs/shared/apps/analytics/hooks/UseAnonSessions';\nimport { useChunkedUsersResponse } from 'libs/shared/apps/analytics/hooks/UseEngagementUsers';\nimport { AnalyticsFilterHelper } from 'libs/shared/apps/analytics/utils/AnalyticsFilterUtils';\nimport { getAudienceParams } from 'libs/shared/apps/analytics/utils/AudienceUtils';\nimport { getInsightsDateRangePresets, getStartEndParams } from 'libs/shared/apps/analytics/utils/DateRangeUtils';\nimport { getFilterParamsKey } from 'libs/shared/apps/analytics/utils/FilterParamUtils';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoViewRequests } from 'libs/shared/flight-requests/VideoViewRequests';\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 { AnalyticsRequestFilter, Config, CurrentUser, IndividualEngagementResponse, Playlist, Series, VideoTypes } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\n\nimport { ShareOptions } from 'apps/insights/components/share-options/ShareOptions';\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { getInsightsClipTabs, getInsightsInteractiveTabs, getInsightsPlaylistTabs, getInsightsSeriesTabs, getInsightsVideoTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\nimport { ShareType } from 'apps/share-v2/enums/ShareType';\nimport { ShareRequests } from 'apps/share-v2/flight-requests/ShareRequests';\nimport { Pincode } from 'apps/share-v2/interfaces/Pincode';\nimport { ShareLink } from 'apps/share-v2/interfaces/ShareLink';\n\ninterface ShareOptionsViewProps {\n objectId: string;\n typeId: MasterType;\n shareId?: string;\n}\n\nexport function ShareOptionsView(props: ShareOptionsViewProps) {\n const [anonymiseUsers] = useViewModel<boolean>(ViewModelKeys.ANONYMISE_USERS);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const shareLink = Flight.useBasicFetch<ShareLink>(props.shareId && ShareRequests.getShareLink(props.shareId));\n const pinCode = Flight.useBasicFetch<Pincode>(props.shareId && ShareRequests.getPincodeByShareId(props.shareId));\n\n const { hasShareFlowV2, publicInteractiveAttempts } = useSettings(null);\n const { hasPermissions } = usePermissions();\n\n const isVideo = () => [ MasterType.Video, MasterType.Clip, MasterType.Interactive ].includes(props.typeId);\n const isSeries = () => props.typeId === MasterType.Series;\n const isPlaylist = () => props.typeId === MasterType.Playlist;\n\n const videoRequest = isVideo() && VideoHelper.getVideoRequest(props.objectId, props.typeId);\n const video = Flight.useBasicFetch<VideoTypes>(videoRequest);\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const seriesRequest = isSeries() && SeriesRequests.series(props.objectId);\n const series = Flight.useBasicFetch<Series>(seriesRequest);\n\n const playlistRequest = isPlaylist() && PlaylistRequests.getPlaylist(props.objectId);\n const playlist = Flight.useBasicFetch<Playlist>(playlistRequest);\n\n const audienceAppLinkParams = AnalyticsFilterHelper.getAudienceAppLinkParams();\n const dateRangeAppLinkParams = AnalyticsFilterHelper.getDateRangeAppLinkParams();\n const params = {\n ...audienceAppLinkParams,\n ...dateRangeAppLinkParams,\n shareId: props.shareId\n };\n\n const requestFilter: AnalyticsRequestFilter = {\n ...getStartEndParams(getInsightsDateRangePresets(), dateRangeAppLinkParams),\n ...getAudienceParams(audienceAppLinkParams)\n };\n\n const individualEngagement = Flight.useBasicFetch<IndividualEngagementResponse>(currentUser.data &&\n VideoViewRequests.individualEngagement(\n props.objectId,\n requestFilter,\n currentUser.data?.id,\n publicInteractiveAttempts\n ));\n\n const userIds = individualEngagement.data?.data?.map(d => d.userId).filter(Boolean) || [];\n \n const { users, isLoading } = useChunkedUsersResponse(userIds);\n const anonSessions = useAnonSessions(props.shareId);\n\n useLockContentWidth();\n useSetPageMetadata({ title: video.data?.name ?? series.data?.name ?? playlist.data?.name });\n useHandleObjectError([ video, series, playlist ]);\n\n const tableDataLoaded = !!individualEngagement.data && (!userIds.length || !isLoading);\n const tableRowsWillBeEmpty = !individualEngagement.data?.data.length\n || (!userIds.length && !Object.keys(anonSessions).length);\n const showTableEmptyState = !tableDataLoaded || tableRowsWillBeEmpty;\n\n function getInsightsTabs() {\n if (props.typeId === MasterType.Interactive)\n return getInsightsInteractiveTabs(props.objectId, 'shareOptions', params, hasShareFlowV2);\n\n if (props.typeId === MasterType.Clip)\n return getInsightsClipTabs(props.objectId, 'shareOptions', params, hasShareFlowV2);\n\n if (props.typeId === MasterType.Video)\n return getInsightsVideoTabs(props.objectId, 'shareOptions', params, hasShareFlowV2);\n\n if (props.typeId === MasterType.Series)\n return getInsightsSeriesTabs(props.objectId, 'shareOptions', params);\n\n if (props.typeId === MasterType.Playlist)\n return getInsightsPlaylistTabs(props.objectId, 'shareOptions', params);\n }\n\n return (\n <div className='px-3'>\n <InsightsHeader\n video={video.data ?? series.data ?? playlist.data}\n dateRangeAppLinkParams={dateRangeAppLinkParams}\n tabs={getInsightsTabs()}\n hasAnalytics={hasPermissions(PermissionName.ViewCustomerAnalytics)}\n analyticsWebUrl={config.data?.analyticsWebUrl}\n hasShareFlowV2={hasShareFlowV2}\n shareId={props.shareId}\n />\n <ShareOptions\n sharedObject={video.data ?? series.data ?? playlist.data}\n shareLink={shareLink.data}\n pinCode={pinCode.data}\n />\n <div className='d-flex align-items-center mt-5'>\n <h3 className='p-0 m-0'>Students who have viewed this video</h3>\n {shareLink.data?.type === ShareType.Classroom && (\n <IconButton\n svgName={cvSvgLibrary.Plus}\n onClick={() => console.log('Add new student..')}\n className='btn btn-outline-dark ms-auto'\n >\n Add new student\n </IconButton>\n )}\n </div>\n <div className='col-12 mt-2 mb-5'>\n <EngagementTable\n key={getFilterParamsKey({ ...audienceAppLinkParams, ...dateRangeAppLinkParams })}\n engagement={individualEngagement.data?.data ?? []}\n users={users ?? []}\n imageCdnUrl={config.data?.imageCdnUrl}\n anonymiseUsers={anonymiseUsers}\n border\n anonSessions={anonSessions}\n hideWhenEmpty={false}\n theme={{\n header: showTableEmptyState ? 'border-0' : 'border-bottom',\n table: showTableEmptyState ? 'bg-white rounded px-0 rounded-bottom-0' : 'bg-white rounded px-0'\n }}\n />\n {showTableEmptyState && (\n <div style={{ minHeight: 400 }} className='border border-top-0 rounded-1 rounded-top-0 pt-5 pb-5 text-center'>\n <h4>Waiting for students to view...</h4>\n </div>\n )}\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ShareType } from '../enums/ShareType';\nimport { ShareLink } from '../interfaces/ShareLink';\n\ninterface ShareAvatarProps {\n shareLink: ShareLink;\n classroomName?: string;\n}\n\nexport function ShareAvatar(props: ShareAvatarProps): JSX.Element {\n return (\n <div className='d-flex align-items-center'>\n <div className='d-flex align-items-center justify-content-center'>\n <div>\n <IconCircle\n svgName={icons[props.shareLink.type]}\n variant={iconColours[props.shareLink.type]}\n textVariant='white'\n svgWrapperClassName='p-1'\n />\n </div>\n <div className='d-flex flex-column ms-2'>\n <label className='m-0'>{getTitle(props)}</label>\n <span className='text-secondary'>{getSubtitle(props)}</span>\n </div>\n </div>\n </div>\n );\n}\n\nconst icons = {\n [ShareType.Open]: cvSvgLibrary.School,\n [ShareType.Link]: cvSvgLibrary.Link,\n [ShareType.Classroom]: cvSvgLibrary.Classrooms,\n [ShareType.Live]: cvSvgLibrary.Play\n};\n\nconst iconColours = {\n [ShareType.Open]: 'blue',\n [ShareType.Link]: 'black',\n [ShareType.Classroom]: 'teal',\n [ShareType.Live]: 'purple'\n};\n\nconst titles = {\n [ShareType.Open]: 'Open classroom',\n [ShareType.Link]: 'Link',\n [ShareType.Classroom]: 'Classroom',\n [ShareType.Live]: 'Live'\n};\n\nfunction pluralize(count: number, singular: string, plural: string) {\n return count === 1 ? singular : plural;\n}\n\nfunction getTitle({ shareLink, classroomName }: ShareAvatarProps) {\n if (shareLink.type === ShareType.Classroom && classroomName)\n return classroomName;\n\n return titles[shareLink.type];\n}\n\nfunction getSubtitle({ shareLink }: ShareAvatarProps) {\n if (shareLink.type === ShareType.Classroom) {\n const groupCount = shareLink.recipients?.filter(r => r.recipientTypeId === MasterType.ClassroomGroup).length ?? 0;\n const studentCount = shareLink.recipients?.filter(r => r.recipientTypeId === MasterType.User).length ?? 0;\n\n if (groupCount && studentCount)\n return `${groupCount} ${pluralize(groupCount, 'group', 'groups')}, ${studentCount} ${pluralize(studentCount, 'student', 'students')}`;\n\n if (groupCount)\n return `${groupCount} ${pluralize(groupCount, 'group', 'groups')}`;\n\n if (studentCount)\n return `${studentCount} ${pluralize(studentCount, 'student', 'students')}`;\n\n return `All students in classroom can view`;\n }\n\n if (shareLink.type === ShareType.Open)\n return 'Anyone in my school can view';\n\n if (shareLink.type === ShareType.Link)\n return 'Anyone with a link can view';\n\n if (shareLink.type === ShareType.Live)\n return 'Live now';\n\n return 'Anyone can view for 30 days';\n}","export enum ShareType {\n Link = 'Link',\n Classroom = 'Classroom',\n Open = 'Open',\n Live = 'Live'\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 { MasterType } from 'libs/shared/enums/MasterType';\nimport { BasePaginatedCollection } from 'libs/shared/interfaces';\n\nimport { CreateShareLinkRequest } from 'apps/share-v2/interfaces/CreateShareLinkRequest';\nimport { ShareLink } from 'apps/share-v2/interfaces/ShareLink';\n\nconst normalizeOptions: Flight.NormalizeOptions = {\n namespace: 'share-v2'\n};\n\nexport interface GetSentSharesParams {\n cursor?: string;\n limit?: number;\n objectTypeId?: MasterType | MasterType[];\n recipientUserId?: string | string[];\n recipientGroupId?: string | string[];\n start?: string;\n end?: string;\n scopeId?: string;\n}\n\nexport const ShareRequests = {\n createShareLink(\n data: CreateShareLinkRequest,\n success?: (shareLink: ShareLink) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: '/api/share/v2/shares',\n key: 'create:share-v2:link',\n type: HttpVerbs.POST,\n data,\n normalizeOptions,\n invalidationKeys: [\n `share:link:object:${data.objectId}`,\n `privacy:${data.objectId}`,\n 'sent:shares',\n 'get:share-v2:shares:object'\n ],\n success,\n error,\n always\n };\n },\n\n getShareLink(\n shareId: string,\n success?: (shareLink: ShareLink) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/share/v2/shares/${shareId}`,\n key: `get:share-v2:link:${shareId}`,\n type: HttpVerbs.GET,\n normalizeOptions,\n success,\n error,\n always\n };\n },\n\n getSharesByObjectId(\n objectId: string | number,\n success?: (shares: ShareLink[]) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/share/v2/shares/objects/${objectId}`,\n key: `get:share-v2:shares:object:${objectId}`,\n type: HttpVerbs.GET,\n normalizeOptions,\n success,\n error,\n always\n };\n },\n\n getSentShares(\n params: GetSentSharesParams = {},\n success?: (response: BasePaginatedCollection<ShareLink>[]) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n const adaptedParams = {\n scopeId: params.scopeId,\n limit: params.limit || 25,\n offset: parseInt(params.cursor) || 0\n };\n\n const key = Object.values(adaptedParams).join(':');\n\n return {\n url: UrlHelper.urlBuilder('/api/share/v2/shares/sent', adaptedParams),\n key: `sent:shares-v2:${key}`,\n formatData: (response: ShareLink[]) => {\n return {\n data: response,\n count: response.length,\n pagination: {\n cursors: {\n next: adaptedParams.offset + response.length\n }\n }\n };\n },\n type: HttpVerbs.GET,\n normalize: false,\n success,\n error,\n always\n };\n },\n\n createPincode(shareId: string): Flight.Request {\n return {\n url: `/api/share/v2/shares/${shareId}/pincode`,\n key: 'create:share-v2:pincode',\n type: HttpVerbs.POST\n };\n },\n\n getPincode(code: string): Flight.Request {\n return {\n url: `/api/share/v2/shares/pincode?code=${code}`,\n key: `get:share-v2:pincode:${code}`\n };\n },\n\n getPincodeByShareId(shareId: string): Flight.Request {\n return {\n url: `/api/share/v2/shares/${shareId}/pincode`,\n key: `get:share-v2:${shareId}:pincode`\n };\n }\n};","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n"],"names":["namespace","BASE_IMAGE_CLASS_NAME","InsightsMask","className","SharedObjectImage","props","ref","el","object","fixedHeight","style","width","offsetHeight","VideoHelper","typeId","MasterType","useVideoThumbnail","image","ImageHelper","imageType","imageClassName","imageFallbackComponent","ImageFallback","type","svgContainerClassName","url","getBgColorClass","name","extraClasses","getImageProps","metadataFlags","showVideoMetadata","hideDuration","hideMask","hideRating","hideVideoTypeBadge","showInsightsMask","AppLink","appLink","VideoThumbnail","video","size","thumbnailSize","imageOptions","textPosition","ThumbnailTextPosition","requireMarking","Text","phrase","options","smartCount","CollectionThumbnail","collection","analyticsData","id","analyticsOptions","entity","ShareViewHelper","actionType","location","locationContext","showMask","showCollectionMask","showVideoCount","BaseImage","data","defaultProps","BaseCollectionThumbnailTitle","title","CollectionThumbnailTitle","firstVideo","collectionVideos","videos","count","playlist","clips","interactives","ArrayHelper","getFirstVideo","videoCount","totalCount","getVideoCount","showTexts","length","subText","toString","MasterTypeHelper","preventFocus","SvgContainer","svgName","hoverText","TitleSubText","subTextAppLink","titleAppLink","ShareOptions","console","log","qrCodeValue","shareLink","link","shortenedUrl","sharedObject","minWidth","ShareAvatar","IconButton","application","action","args","params","entityType","shareId","onClick","value","pinCode","href","target","code","CopyToClipboard","text","ShareOptionsView","anonymiseUsers","config","ConfigRequests","ShareRequests","useSettings","hasShareFlowV2","publicInteractiveAttempts","hasPermissions","usePermissions","videoRequest","includes","objectId","currentUser","UserRequests","seriesRequest","SeriesRequests","series","playlistRequest","PlaylistRequests","audienceAppLinkParams","dateRangeAppLinkParams","requestFilter","individualEngagement","VideoViewRequests","userIds","map","d","userId","filter","Boolean","users","isLoading","anonSessions","useLockContentWidth","useSetPageMetadata","tableDataLoaded","tableRowsWillBeEmpty","Object","keys","showTableEmptyState","InsightsHeader","tabs","hasAnalytics","PermissionName","analyticsWebUrl","ShareType","EngagementTable","key","engagement","imageCdnUrl","border","hideWhenEmpty","theme","header","table","minHeight","icons","variant","iconColours","textVariant","svgWrapperClassName","classroomName","titles","groupCount","recipients","r","recipientTypeId","studentCount","pluralize","getSubtitle","singular","plural","normalizeOptions","createShareLink","success","error","always","invalidationKeys","getShareLink","getSharesByObjectId","getSentShares","adaptedParams","scopeId","limit","offset","parseInt","cursor","values","join","formatData","response","pagination","cursors","next","normalize","createPincode","getPincode","getPincodeByShareId","deselectCurrent","clipboardToIE11Formatting","module","exports","debug","message","reselectPrevious","range","selection","mark","document","createRange","getSelection","createElement","textContent","ariaHidden","all","position","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","e","stopPropagation","format","preventDefault","clipboardData","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","Error","err","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","removeChild","_typeof","obj","Symbol","iterator","constructor","prototype","defineProperty","_react","_interopRequireDefault","_copyToClipboard","_excluded","__esModule","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","i","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_defineProperties","descriptor","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_assertThisInitialized","self","ReferenceError","_getPrototypeOf","getPrototypeOf","_React$PureComponent","subClass","superClass","TypeError","create","_inherits","Constructor","protoProps","Derived","hasNativeReflectConstruct","_super","Reflect","construct","sham","Proxy","valueOf","call","_isNativeReflectConstruct","result","Super","NewTarget","this","_possibleConstructorReturn","_this","instance","_classCallCheck","_len","Array","_key","concat","event","_this$props","children","elem","Children","only","_this$props2","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutProperties","cloneElement","PureComponent","undefined","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4845],{71553:(t,e,r)=>{r.d(e,{I:()=>s});var a=r(99940),n=r(62875);function i(t,e){return{currentUserId:t.id,currentCustomerId:t.customerId,dateRange:{start:e.start,end:e.end},userIds:e.userId,classroomsAndGroups:e.groupId}}var s={interactiveResultSet:function(t,e,r,s,o,c,u,l){return{url:o?"/api/domain/v3/analytics/interactives/".concat(t,"/metadata/").concat(e):"/api/domain/v2/analytics/interactives/".concat(t,"/metadata/").concat(e),key:(0,n.H)("interactive:result:set:".concat(t,":").concat(e),s),data:i(r,s),type:a.k.POST,normalize:!1,success:c,error:u,always:l}},mark:function(t,e,r,n,i,s,o){return{url:"/api/domain/v1/analytics/answers/".concat(r),key:"mark:answer:".concat(r,":").concat(n.resultId),type:a.k.PUT,data:n,normalize:!1,invalidationKeys:"interactive:result:set:".concat(t,":").concat(e),success:i,error:s,always:o}},pendingReviews:function(t){return{url:"/api/domain/v1/analytics/interactives/pending-reviews/summary",key:"interactives:pending:reviews",type:a.k.POST,data:t}},interactiveResultsReport:function(t){return{url:"{gateway}/v2/analytics/interactives/report",key:"interactive:results:report",data:t,type:a.k.POST,normalize:!1}}}},5255:(t,e,r)=>{r.d(e,{Y:()=>s});var a=r(20354),n=r(30439);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function s(t){var e,r=a.a.useBasicFetch(t&&n.o.getAnonSessions(t));return(null===(e=r.data)||void 0===e?void 0:e.length)?r.data.reduce((function(t,e){return Object.assign(Object.assign({},t),(r={},a=e.sessionId,n=e,(a=function(t){var e=function(t){if("object"!=i(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==i(e)?e:e+""}(a))in r?Object.defineProperty(r,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[a]=n,r));var r,a,n}),{}):{}}},41196:(t,e,r)=>{r.d(e,{W:()=>o});var a=r(20354),n=r(71553),i=r(20768),s=r(31949);function o(t,e,r){var o,c=a.a.useBasicFetch(s.N.currentUser()),u=a.a.useBasicFetch(!!t&&i.b.interactiveMetadata(t)),l=a.a.useBasicFetch(!!(null===(o=u.data)||void 0===o?void 0:o.interactiveId)&&i.b.interactive(u.data.interactiveId)),d=!!c.data&&!!l.data&&!!e;return a.a.useBasicFetch(d&&n.I.interactiveResultSet(u.data.interactiveId,u.data.id,c.data,e,r))}},74901:(t,e,r)=>{function a(t){return function(t){if(Array.isArray(t))return n(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return n(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,e):void 0}}(t)||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 n(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,a=Array(e);r<e;r++)a[r]=t[r];return a}r.d(e,{K:()=>i});var i=function(t){var e=[],r=[];return t.users&&e.push.apply(e,a(t.users)),t.classrooms&&r.push.apply(r,a(t.classrooms)),t.classroomGroups&&r.push.apply(r,a(t.classroomGroups)),{userId:e,groupId:r}}},62875:(t,e,r)=>{function a(t,e,r){var a="".concat(t,":").concat(e.start,":").concat(e.end),n=Array.isArray(e.userId)?e.userId.sort().join(":"):e.userId,i=Array.isArray(e.groupId)?e.groupId.sort().join(":"):e.groupId;return n&&(a+=":".concat(n)),i&&(a+=":".concat(i)),r&&(a+=":".concat(r)),a}r.d(e,{H:()=>a})},60003:(t,e,r)=>{r.r(e),r.d(e,{InteractiveInsightsStudentsView:()=>T});var a=r(32735),n=r(81886),i=r(23481),s=r(2948),o=r(20354),c=r(5255),u=r(41196),l=r(26025),d=r(74901),v=r(40003),y=r(
|
|
2
|
-
//# sourceMappingURL=4845-
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4845],{71553:(t,e,r)=>{r.d(e,{I:()=>s});var a=r(99940),n=r(62875);function i(t,e){return{currentUserId:t.id,currentCustomerId:t.customerId,dateRange:{start:e.start,end:e.end},userIds:e.userId,classroomsAndGroups:e.groupId}}var s={interactiveResultSet:function(t,e,r,s,o,c,u,l){return{url:o?"/api/domain/v3/analytics/interactives/".concat(t,"/metadata/").concat(e):"/api/domain/v2/analytics/interactives/".concat(t,"/metadata/").concat(e),key:(0,n.H)("interactive:result:set:".concat(t,":").concat(e),s),data:i(r,s),type:a.k.POST,normalize:!1,success:c,error:u,always:l}},mark:function(t,e,r,n,i,s,o){return{url:"/api/domain/v1/analytics/answers/".concat(r),key:"mark:answer:".concat(r,":").concat(n.resultId),type:a.k.PUT,data:n,normalize:!1,invalidationKeys:"interactive:result:set:".concat(t,":").concat(e),success:i,error:s,always:o}},pendingReviews:function(t){return{url:"/api/domain/v1/analytics/interactives/pending-reviews/summary",key:"interactives:pending:reviews",type:a.k.POST,data:t}},interactiveResultsReport:function(t){return{url:"{gateway}/v2/analytics/interactives/report",key:"interactive:results:report",data:t,type:a.k.POST,normalize:!1}}}},5255:(t,e,r)=>{r.d(e,{Y:()=>s});var a=r(20354),n=r(30439);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function s(t){var e,r=a.a.useBasicFetch(t&&n.o.getAnonSessions(t));return(null===(e=r.data)||void 0===e?void 0:e.length)?r.data.reduce((function(t,e){return Object.assign(Object.assign({},t),(r={},a=e.sessionId,n=e,(a=function(t){var e=function(t){if("object"!=i(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==i(e)?e:e+""}(a))in r?Object.defineProperty(r,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[a]=n,r));var r,a,n}),{}):{}}},41196:(t,e,r)=>{r.d(e,{W:()=>o});var a=r(20354),n=r(71553),i=r(20768),s=r(31949);function o(t,e,r){var o,c=a.a.useBasicFetch(s.N.currentUser()),u=a.a.useBasicFetch(!!t&&i.b.interactiveMetadata(t)),l=a.a.useBasicFetch(!!(null===(o=u.data)||void 0===o?void 0:o.interactiveId)&&i.b.interactive(u.data.interactiveId)),d=!!c.data&&!!l.data&&!!e;return a.a.useBasicFetch(d&&n.I.interactiveResultSet(u.data.interactiveId,u.data.id,c.data,e,r))}},74901:(t,e,r)=>{function a(t){return function(t){if(Array.isArray(t))return n(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return n(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,e):void 0}}(t)||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 n(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,a=Array(e);r<e;r++)a[r]=t[r];return a}r.d(e,{K:()=>i});var i=function(t){var e=[],r=[];return t.users&&e.push.apply(e,a(t.users)),t.classrooms&&r.push.apply(r,a(t.classrooms)),t.classroomGroups&&r.push.apply(r,a(t.classroomGroups)),{userId:e,groupId:r}}},62875:(t,e,r)=>{function a(t,e,r){var a="".concat(t,":").concat(e.start,":").concat(e.end),n=Array.isArray(e.userId)?e.userId.sort().join(":"):e.userId,i=Array.isArray(e.groupId)?e.groupId.sort().join(":"):e.groupId;return n&&(a+=":".concat(n)),i&&(a+=":".concat(i)),r&&(a+=":".concat(r)),a}r.d(e,{H:()=>a})},60003:(t,e,r)=>{r.r(e),r.d(e,{InteractiveInsightsStudentsView:()=>T});var a=r(32735),n=r(81886),i=r(23481),s=r(2948),o=r(20354),c=r(5255),u=r(41196),l=r(26025),d=r(74901),v=r(40003),y=r(38143),f=r(16714),p=r(39151),m=r(20768),I=r(22902),b=r(79612),g=r(37802),h=r(14070),S=r(97291),A=r(26203),w=r(78057),j=r(10447);function k(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,a=Array(e);r<e;r++)a[r]=t[r];return a}var O=i.T.encloseNamespace("insights.interactiveInsightsStudents");function T(t){var e,r,i,T,B,R=(T=(0,s.D)(y.g.ANONYMISE_USERS),B=1,function(t){if(Array.isArray(t))return t}(T)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var a,n,i,s,o=[],c=!0,u=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(a=i.call(r)).done)&&(o.push(a.value),o.length!==e);c=!0);}catch(t){u=!0,n=t}finally{try{if(!c&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw n}}return o}}(T,B)||function(t,e){if(t){if("string"==typeof t)return k(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?k(t,e):void 0}}(T,B)||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],E=(0,g.r)(null).hasShareFlowV2,F=(0,I.T)().hasPermissions,P=o.a.useBasicFetch(p.L.config()),U=o.a.useBasicFetch(m.b.interactiveMetadata(t.interactiveId)),C=o.a.useBasicFetch((null===(e=U.data)||void 0===e?void 0:e.interactiveId)&&m.b.interactive(U.data.interactiveId)),M=(0,c.Y)(t.shareId),N=l.B.getAudienceAppLinkParams(),_=l.B.getDateRangeAppLinkParams(),L=(0,u.W)(t.interactiveId,Object.assign(Object.assign({},(0,v.wO)((0,v.Hb)(),_)),(0,d.K)(N)),!0),V=C.data&&U.data&&!!L.data;(0,b.M)({title:U.data?O("pageTitle",{video:null===(r=U.data)||void 0===r?void 0:r.name}):null});var D=Object.assign(Object.assign(Object.assign({},N),_),{shareId:t.shareId});return a.createElement("div",{className:"px-3"},a.createElement(A.j,{dateRangeAppLinkParams:_,tabs:(0,j.kj)(t.interactiveId,"results",D),video:U.data,hasAnalytics:F(f.C.ViewCustomerAnalytics),analyticsWebUrl:null===(i=P.data)||void 0===i?void 0:i.analyticsWebUrl,hasShareFlowV2:E,shareId:t.shareId}),a.createElement(w.R,{interactiveMetadata:U.data,viewStudentResults:function(t,e,r){n.Q.C$.trigger({application:S.O.INSIGHTS,action:h.e.Insights.INTERACTIVE_STUDENT_RESULTS,params:{studentId:"id"in t?t.id:void 0,interactiveMetadataId:e,interactionId:r,sessionId:"sessionId"in t?t.sessionId:void 0}})},interactive:C.data,results:L.data,filterBy:t.filterBy,sortBy:t.sortBy,isFetching:L.isFetching,anonymiseUsers:R,hasDataLoaded:V,anonSessions:M}))}}}]);
|
|
2
|
+
//# sourceMappingURL=4845-9b4657e696-lite.chunk.js.map
|