@clickview/lite 0.69.1-dev.0 → 0.69.1-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/css/{2636-lite-f995954232.chunk.css → 6078-lite-4d1b877b3f.chunk.css} +4 -0
  3. package/dist/css/{1239-lite-8152f713c8.chunk.css → 7210-lite-a568e8ec1e.chunk.css} +1 -0
  4. package/dist/scripts/1210-7afb28caac-lite.chunk.js +2 -0
  5. package/dist/scripts/1210-7afb28caac-lite.chunk.js.map +1 -0
  6. package/dist/scripts/232-1522c00252-lite.chunk.js +3 -0
  7. package/dist/scripts/232-1522c00252-lite.chunk.js.map +1 -0
  8. package/dist/scripts/300-3d9f3cd4e3-lite.chunk.js +2 -0
  9. package/dist/scripts/300-3d9f3cd4e3-lite.chunk.js.map +1 -0
  10. package/dist/scripts/3079-0a333d6805-lite.chunk.js +2 -0
  11. package/dist/scripts/3079-0a333d6805-lite.chunk.js.map +1 -0
  12. package/dist/scripts/3110-eee18143c6-lite.chunk.js +2 -0
  13. package/dist/scripts/3110-eee18143c6-lite.chunk.js.map +1 -0
  14. package/dist/scripts/312-693aa30814-lite.chunk.js +2 -0
  15. package/dist/scripts/312-693aa30814-lite.chunk.js.map +1 -0
  16. package/dist/scripts/4229-477b1858dc-lite.chunk.js +2 -0
  17. package/dist/scripts/4229-477b1858dc-lite.chunk.js.map +1 -0
  18. package/dist/scripts/{4845-f3646fb657-lite.chunk.js → 4845-9b4657e696-lite.chunk.js} +2 -2
  19. package/dist/scripts/4845-9b4657e696-lite.chunk.js.map +1 -0
  20. package/dist/scripts/5679-b40a221c78-lite.chunk.js +2 -0
  21. package/dist/scripts/5679-b40a221c78-lite.chunk.js.map +1 -0
  22. package/dist/scripts/6046-104677f08c-lite.chunk.js +2 -0
  23. package/dist/scripts/6046-104677f08c-lite.chunk.js.map +1 -0
  24. package/dist/scripts/6078-0bc71f8768-lite.chunk.js +2 -0
  25. package/dist/scripts/6078-0bc71f8768-lite.chunk.js.map +1 -0
  26. package/dist/scripts/{6188-e108abca25-lite.chunk.js → 6188-77fc2f3ec5-lite.chunk.js} +2 -2
  27. package/dist/scripts/6188-77fc2f3ec5-lite.chunk.js.map +1 -0
  28. package/dist/scripts/6351-dff9edbb16-lite.chunk.js +3 -0
  29. package/dist/scripts/6351-dff9edbb16-lite.chunk.js.map +1 -0
  30. package/dist/scripts/6973-c4cb114bd7-lite.chunk.js +2 -0
  31. package/dist/scripts/6973-c4cb114bd7-lite.chunk.js.map +1 -0
  32. package/dist/scripts/7210-d8fa7ca624-lite.chunk.js +3 -0
  33. package/dist/scripts/7210-d8fa7ca624-lite.chunk.js.map +1 -0
  34. package/dist/scripts/7482-13e6f78c32-lite.chunk.js +2 -0
  35. package/dist/scripts/7482-13e6f78c32-lite.chunk.js.map +1 -0
  36. package/dist/scripts/9040-be65e4eb1e-lite.chunk.js +2 -0
  37. package/dist/scripts/9040-be65e4eb1e-lite.chunk.js.map +1 -0
  38. package/dist/scripts/{bundle-90d3c7fd15.min.js → bundle-bad2e20859.min.js} +3 -3
  39. package/dist/scripts/{bundle-90d3c7fd15.min.js.map → bundle-bad2e20859.min.js.map} +1 -1
  40. package/package.json +1 -1
  41. package/dist/scripts/1210-3cbdc62b0a-lite.chunk.js +0 -2
  42. package/dist/scripts/1210-3cbdc62b0a-lite.chunk.js.map +0 -1
  43. package/dist/scripts/1239-ed9b8aadb4-lite.chunk.js +0 -3
  44. package/dist/scripts/1239-ed9b8aadb4-lite.chunk.js.map +0 -1
  45. package/dist/scripts/2636-63e5f2c9e6-lite.chunk.js +0 -2
  46. package/dist/scripts/2636-63e5f2c9e6-lite.chunk.js.map +0 -1
  47. package/dist/scripts/3036-d18c598435-lite.chunk.js +0 -2
  48. package/dist/scripts/3036-d18c598435-lite.chunk.js.map +0 -1
  49. package/dist/scripts/4229-75ba28a266-lite.chunk.js +0 -2
  50. package/dist/scripts/4229-75ba28a266-lite.chunk.js.map +0 -1
  51. package/dist/scripts/4266-e856b96643-lite.chunk.js +0 -3
  52. package/dist/scripts/4266-e856b96643-lite.chunk.js.map +0 -1
  53. package/dist/scripts/4598-f326dc1aec-lite.chunk.js +0 -2
  54. package/dist/scripts/4598-f326dc1aec-lite.chunk.js.map +0 -1
  55. package/dist/scripts/4845-f3646fb657-lite.chunk.js.map +0 -1
  56. package/dist/scripts/6046-44c115a89c-lite.chunk.js +0 -2
  57. package/dist/scripts/6046-44c115a89c-lite.chunk.js.map +0 -1
  58. package/dist/scripts/6188-e108abca25-lite.chunk.js.map +0 -1
  59. package/dist/scripts/6317-49be898c73-lite.chunk.js +0 -2
  60. package/dist/scripts/6317-49be898c73-lite.chunk.js.map +0 -1
  61. package/dist/scripts/6973-ede6601614-lite.chunk.js +0 -2
  62. package/dist/scripts/6973-ede6601614-lite.chunk.js.map +0 -1
  63. package/dist/scripts/7075-9a76ce47c9-lite.chunk.js +0 -3
  64. package/dist/scripts/7075-9a76ce47c9-lite.chunk.js.map +0 -1
  65. package/dist/scripts/9040-9393c59004-lite.chunk.js +0 -2
  66. package/dist/scripts/9040-9393c59004-lite.chunk.js.map +0 -1
  67. /package/dist/css/{3036-lite-1b3e9aa905.chunk.css → 3079-lite-1b3e9aa905.chunk.css} +0 -0
  68. /package/dist/css/{7075-lite-a377febbb0.chunk.css → 6351-lite-a377febbb0.chunk.css} +0 -0
  69. /package/dist/scripts/{4266-e856b96643-lite.chunk.js.LICENSE.txt → 232-1522c00252-lite.chunk.js.LICENSE.txt} +0 -0
  70. /package/dist/scripts/{1239-ed9b8aadb4-lite.chunk.js.LICENSE.txt → 6351-dff9edbb16-lite.chunk.js.LICENSE.txt} +0 -0
  71. /package/dist/scripts/{7075-9a76ce47c9-lite.chunk.js.LICENSE.txt → 7210-d8fa7ca624-lite.chunk.js.LICENSE.txt} +0 -0
  72. /package/dist/scripts/{bundle-90d3c7fd15.min.js.LICENSE.txt → bundle-bad2e20859.min.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/3036-d18c598435-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/flight-requests/InsightsDemoRequests.ts","file:///app/packages/projects/lite/src/apps/my-shares/constants/MySharesDemoInsights.ts","file:///app/packages/projects/lite/src/apps/my-shares/components/share-info/ShareInfoDemo.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/demo/overview/InteractiveInsightsOverviewDemoView.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/demo/overview/InteractiveInsightsOverviewDemoUtils.ts","file:///app/packages/projects/lite/src/apps/share-v2/enums/ShareType.ts"],"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};","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","import React from 'react';\nimport { format as formatDate } from 'timeago.js';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ShareLinkHelper } from 'libs/shared/apps/share/utils/ShareLinkHelper';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { ShareLinkStatus } from 'libs/shared/enums/ShareLinkStatus';\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { getShareAppLink } from 'shared/utils/ObjectAppLinkHelper';\n\nimport { SharedToPill } from 'apps/my-shares/components/shared-to-pill/SharedToPill';\nimport { DEMO_INSIGHTS_SHARE } from 'apps/my-shares/constants/MySharesDemoInsights';\n\nconst namespace = 'insights.shareInfoDemo';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ShareInfoDemoProps {\n video: VideoTypes;\n imageCdnUrl: string;\n}\n\nexport function ShareInfoDemo(props: ShareInfoDemoProps) {\n const shareLinkText = props.video &&\n ShareLinkHelper.getIconAndText({\n entity: props.video,\n entityTypeId: props.video.typeId,\n hasStudentExp: false,\n isPasswordProtected: null,\n linkExpireDate: null,\n privacy: {\n privacy: 'public',\n overrideRestrictions: false\n },\n status: ShareLinkStatus.Active,\n yearGroups: null\n });\n\n return (\n <div className='mb-4'>\n <h2 className='h4'><Text namespace={namespace} phrase='shareInfo' /></h2>\n\n <div className='d-flex border p-3 rounded-3 align-items-center justify-content-between'>\n <div className='d-flex align-items-center gap-2'>\n <SharedToPill\n shareRecipients={null}\n imageCdnUrl={props.imageCdnUrl}\n hasShareLink={true}\n maxAvatars={4}\n shareLinkText={shareLinkText?.text}\n />\n ·\n <p className='mb-0'>{formatDate(DEMO_INSIGHTS_SHARE.dateShared)}</p>\n ·\n <p className='mb-0'><Text namespace={namespace} phrase='views' options={{ count: DEMO_INSIGHTS_SHARE.viewCount }} /></p>\n </div>\n <Tooltip id='shareButton' title={getPhrase('demoOnly')} spanHack>\n <IconButton\n appLink={getShareAppLink(props.video)}\n svgName={cvSvgLibrary.Share}\n className='btn btn-outline-dark pointer-events-none'\n >\n <Text namespace={namespace} phrase='share' />\n </IconButton>\n </Tooltip>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { BaseAnalyticsEventResponse } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { AnalyticsFilterHelper } from 'libs/shared/apps/analytics/utils/AnalyticsFilterUtils';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { InsightsDemoRequests } from 'libs/shared/flight-requests/InsightsDemoRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useLockContentWidth } from 'libs/shared/hooks/useLockContentWidth';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { BasePaginatedCollection, Config, CurrentUser, Engagement, Interactive, InteractiveMetadata, InteractiveResultSet, User } from 'libs/shared/interfaces';\n\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { InteractiveInsightsOverview } from 'apps/my-shares/components/interactive-insights-overview/InteractiveInsightsOverview';\nimport { ShareInfoDemo } from 'apps/my-shares/components/share-info/ShareInfoDemo';\nimport { getInsightsDemoInteractiveTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\nimport { getInteractiveInsightsAppLinks } from 'apps/my-shares/views/demo/overview/InteractiveInsightsOverviewDemoUtils';\n\nconst namespace = 'insights.interactiveInsightsOverviewView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function InteractiveInsightsOverviewDemoView() {\n const [anonymiseUsers] = useViewModel<boolean>(SharedViewModelKeys.ANONYMISE_USERS);\n\n useLockContentWidth();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InsightsDemoRequests.interactiveMetadata()\n );\n\n const interactive = Flight.useBasicFetch<Interactive>(InsightsDemoRequests.interactive());\n\n const audienceAppLinkParams = AnalyticsFilterHelper.getAudienceAppLinkParams();\n const dateRangeAppLinkParams = AnalyticsFilterHelper.getDateRangeAppLinkParams();\n\n const results = Flight.useBasicFetch<InteractiveResultSet>(InsightsDemoRequests.interactiveResults());\n\n const classroomFilterOnly =\n audienceAppLinkParams.classrooms?.length === 1 && !audienceAppLinkParams.classroomGroups?.length;\n const classroomStudents = Flight.useBasicFetch<BasePaginatedCollection<User>>(classroomFilterOnly &&\n ClassroomRequests.getClassroomStudents(ArrayHelper.first(audienceAppLinkParams.classrooms)));\n\n const aggregateEngagement = Flight.useBasicFetch<Engagement>(\n InsightsDemoRequests.aggregateHeatmap()\n );\n\n const videoViews = Flight.useBasicFetch<BaseAnalyticsEventResponse>(\n InsightsDemoRequests.videoViews()\n );\n\n useSetPageMetadata({ title: interactiveMetadata.data ? getPhrase('pageTitle', { video: interactiveMetadata.data?.name }) : null });\n\n const hasDataLoaded =\n currentUser.data &&\n config.data &&\n interactiveMetadata.data &&\n interactive.data &&\n results.data &&\n (!classroomFilterOnly || classroomStudents.data) &&\n aggregateEngagement.data &&\n !!videoViews.data;\n\n const params = {\n ...audienceAppLinkParams,\n ...dateRangeAppLinkParams\n };\n const interactiveInsightsAppLinks = getInteractiveInsightsAppLinks(\n '',\n params\n );\n\n return (\n <div className='px-3'>\n <InsightsHeader\n video={interactiveMetadata.data}\n tabs={getInsightsDemoInteractiveTabs(interactiveMetadata.data?.id, 'insights', params)}\n dateRangeAppLinkParams={dateRangeAppLinkParams}\n isDemo\n />\n\n <ShareInfoDemo video={interactiveMetadata.data} imageCdnUrl={config.data?.imageCdnUrl} />\n\n <InteractiveInsightsOverview\n aggregateEngagement={aggregateEngagement.data}\n interactive={interactive.data}\n interactiveMetadata={interactiveMetadata.data}\n classroomStudents={classroomStudents.data}\n results={results.data}\n videoViews={videoViews.data}\n config={config.data}\n interactiveInsightsAppLinks={interactiveInsightsAppLinks}\n classroomFilterOnly={false}\n anonymiseUsers={anonymiseUsers}\n params={params}\n hasDataLoaded={hasDataLoaded}\n hasShared={true}\n />\n </div>\n );\n}","import { HashObject } from 'libs/common/react/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport function getInteractiveInsightsAppLinks(id: string, params?: HashObject) {\n return {\n resultsAppLink: {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_STUDENTS_DEMO,\n args: [id],\n params\n },\n questionsAppLink: {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_QUESTIONS_DEMO,\n args: [id],\n params\n },\n heatmapAppLink: {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_HEATMAP_DEMO,\n args: [id],\n params\n }\n };\n}","export enum ShareType {\n Link = 'Link',\n Classroom = 'Classroom',\n Open = 'Open',\n Live = 'Live'\n}"],"names":["InsightsDemoRequests","interactive","url","key","normalize","interactiveMetadata","interactiveResults","videoViews","users","individualHeatmap","aggregateHeatmap","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","ShareInfoDemo","props","shareLinkText","video","ShareLinkHelper","entity","entityTypeId","typeId","hasStudentExp","isPasswordProtected","linkExpireDate","privacy","overrideRestrictions","status","ShareLinkStatus","yearGroups","Text","phrase","SharedToPill","imageCdnUrl","hasShareLink","maxAvatars","text","options","count","Tooltip","id","title","spanHack","IconButton","InteractiveInsightsOverviewDemoView","anonymiseUsers","SharedViewModelKeys","useLockContentWidth","currentUser","UserRequests","config","ConfigRequests","audienceAppLinkParams","dateRangeAppLinkParams","results","classroomFilterOnly","classrooms","length","classroomGroups","classroomStudents","ClassroomRequests","ArrayHelper","aggregateEngagement","useSetPageMetadata","data","name","hasDataLoaded","params","interactiveInsightsAppLinks","resultsAppLink","args","questionsAppLink","heatmapAppLink","getInteractiveInsightsAppLinks","InsightsHeader","tabs","isDemo","InteractiveInsightsOverview","hasShared","ShareType"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4229],{5255:(t,e,r)=>{r.d(e,{Y:()=>o});var n=r(20354),a=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=n.a.useBasicFetch(t&&a.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={},n=e.sessionId,a=e,(n=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+""}(n))in r?Object.defineProperty(r,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[n]=a,r));var r,n,a}),{}):{}}},41196:(t,e,r)=>{r.d(e,{W:()=>s});var n=r(20354),a=r(71553),i=r(20768),o=r(31949);function s(t,e,r){var s,c=n.a.useBasicFetch(o.N.currentUser()),u=n.a.useBasicFetch(!!t&&i.b.interactiveMetadata(t)),l=n.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 n.a.useBasicFetch(d&&a.I.interactiveResultSet(u.data.interactiveId,u.data.id,c.data,e,r))}},74901:(t,e,r)=>{function n(t){return function(t){if(Array.isArray(t))return a(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 a(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)?a(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 a(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}r.d(e,{K:()=>i});var i=function(t){var e=[],r=[];return t.users&&e.push.apply(e,n(t.users)),t.classrooms&&r.push.apply(r,n(t.classrooms)),t.classroomGroups&&r.push.apply(r,n(t.classroomGroups)),{userId:e,groupId:r}}},94644:(t,e,r)=>{r.d(e,{r:()=>l});var n=r(50242),a=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&&a.Q.Ry.isStatusCodeError(i)&&(i!==n.o.InternalServer?i!==n.o.NotFound?i!==n.o.Forbidden?r.badRequest||a.Q.Ry.throw(new o.badRequest):r.forbidden||a.Q.Ry.throw(new o.forbidden.privacy):r.notFound||a.Q.Ry.throw(new o.notFound):r.internalServerError||a.Q.Ry.throw(new c._))}}},91286:(t,e,r)=>{r.d(e,{v:()=>o});var n=r(32735),a=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,n.useEffect)((function(){o.forEach((function(t){(0,a.r)(t.statusCode,e,r)}))}),[i(o),e,r])}},24191:(t,e,r)=>{r.r(e),r.d(e,{InteractiveInsightsQuestionsView:()=>B});var n=r(32735),a=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(30439),f=r(38143),y=r(16714),b=r(39151),m=r(20768),h=r(91286),p=r(93322),g=r(22902),S=r(79612),I=r(37802),w=r(26203),A=r(68536),j=r(10447);function F(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var O=a.T.encloseNamespace("shared.interactiveInsightsQuestionsView");function B(t){var e,r,a,B,E,R,k=(E=(0,i.D)(f.g.ANONYMISE_USERS),R=1,function(t){if(Array.isArray(t))return t}(E)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,a,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=(n=i.call(r)).done)&&(s.push(n.value),s.length!==e);c=!0);}catch(t){u=!0,a=t}finally{try{if(!c&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(E,R)||function(t,e){if(t){if("string"==typeof t)return F(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)?F(t,e):void 0}}(E,R)||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,p.F)();var C=(0,I.r)(null).hasShareFlowV2,_=(0,g.T)().hasPermissions,q=o.a.useBasicFetch(b.L.config()),L=o.a.useBasicFetch(m.b.interactiveMetadata(t.interactiveId)),M=o.a.useBasicFetch((null===(e=L.data)||void 0===e?void 0:e.interactiveId)&&m.b.interactive(L.data.interactiveId)),P=o.a.useBasicFetch(v.o.getShareLinkByObjectId(t.interactiveId)),Q=(0,s.Y)(null===(r=P.data)||void 0===r?void 0:r.id),U=u.B.getAudienceAppLinkParams(),N=u.B.getDateRangeAppLinkParams(),T=(0,c.W)(t.interactiveId,Object.assign(Object.assign({},(0,d.wO)((0,d.Hb)(),N)),(0,l.K)(U)),!0);(0,S.M)({title:L.data?O("pageTitle",{video:null===(a=L.data)||void 0===a?void 0:a.name}):null}),(0,h.v)([M,L,T]);var V=M.data&&L.data&&!!T.data,W=Object.assign(Object.assign({},U),N);return n.createElement("div",{className:"px-3"},n.createElement(w.j,{dateRangeAppLinkParams:N,tabs:(0,j.kj)(t.interactiveId,"questions",W),video:L.data,hasAnalytics:_(y.C.ViewCustomerAnalytics),analyticsWebUrl:null===(B=q.data)||void 0===B?void 0:B.analyticsWebUrl,hasShareFlowV2:C}),n.createElement(A.x,{interactive:M.data,interactiveMetadata:L.data,interactionId:t.interactionId,config:q.data,sortBy:t.sortBy,isFetching:T.isFetching||M.isFetching,anonymiseUsers:k,results:T.data,hasDataLoaded:V,anonSessions:Q}))}}}]);
2
- //# sourceMappingURL=4229-75ba28a266-lite.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/4229-75ba28a266-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 { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\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, ShareLink } 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}\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 shareLink = Flight.useBasicFetch<ShareLink>(ShareRequests.getShareLinkByObjectId(props.interactiveId));\n const anonSessions = useAnonSessions(shareLink.data?.id);\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 };\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 />\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","shareLink","audienceAppLinkParams","dateRangeAppLinkParams","results","title","video","name","hasDataLoaded","params","className","tabs","hasAnalytics","analyticsWebUrl","interactionId","sortBy","isFetching"],"sourceRoot":""}