@clickview/lite 0.70.1-dev.0 → 0.70.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.
- package/dist/bundles.json +1 -1
- package/dist/css/{2018-lite-4aa02cdb17.chunk.css → 581-lite-a1cdc302ab.chunk.css} +3 -1
- package/dist/css/{2614-lite-0503112afe.chunk.css → 6156-lite-1b21a4e130.chunk.css} +3 -2
- package/dist/languages/en.json +1 -1
- package/dist/scripts/2154-6da16cef10-lite.chunk.js +2 -0
- package/dist/scripts/2154-6da16cef10-lite.chunk.js.map +1 -0
- package/dist/scripts/{2952-4f5abfce6d-lite.chunk.js → 2952-c5ec8f135e-lite.chunk.js} +2 -2
- package/dist/scripts/2952-c5ec8f135e-lite.chunk.js.map +1 -0
- package/dist/scripts/{52-9d13c36f9b-lite.chunk.js → 52-d91751eafb-lite.chunk.js} +2 -2
- package/dist/scripts/52-d91751eafb-lite.chunk.js.map +1 -0
- package/dist/scripts/581-6e9a9afba8-lite.chunk.js +2 -0
- package/dist/scripts/{2018-693740d206-lite.chunk.js.map → 581-6e9a9afba8-lite.chunk.js.map} +1 -1
- package/dist/scripts/5829-1c696c8446-lite.chunk.js +3 -0
- package/dist/scripts/5829-1c696c8446-lite.chunk.js.map +1 -0
- package/dist/scripts/6156-d9a351e53f-lite.chunk.js +2 -0
- package/dist/scripts/{2614-bc2fef6ae0-lite.chunk.js.map → 6156-d9a351e53f-lite.chunk.js.map} +1 -1
- package/dist/scripts/6629-3ea157aef8-lite.chunk.js +3 -0
- package/dist/scripts/6629-3ea157aef8-lite.chunk.js.map +1 -0
- package/dist/scripts/{bundle-f9b9be2d02.min.js → bundle-4735d8d159.min.js} +3 -3
- package/dist/scripts/{bundle-f9b9be2d02.min.js.map → bundle-4735d8d159.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/1386-3be201d425-lite.chunk.js +0 -2
- package/dist/scripts/1386-3be201d425-lite.chunk.js.map +0 -1
- package/dist/scripts/2018-693740d206-lite.chunk.js +0 -2
- package/dist/scripts/2614-bc2fef6ae0-lite.chunk.js +0 -2
- package/dist/scripts/2952-4f5abfce6d-lite.chunk.js.map +0 -1
- package/dist/scripts/52-9d13c36f9b-lite.chunk.js.map +0 -1
- package/dist/scripts/5829-82562ea6c2-lite.chunk.js +0 -3
- package/dist/scripts/5829-82562ea6c2-lite.chunk.js.map +0 -1
- package/dist/scripts/6629-55dc1fdb80-lite.chunk.js +0 -3
- package/dist/scripts/6629-55dc1fdb80-lite.chunk.js.map +0 -1
- /package/dist/scripts/{5829-82562ea6c2-lite.chunk.js.LICENSE.txt → 5829-1c696c8446-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6629-55dc1fdb80-lite.chunk.js.LICENSE.txt → 6629-3ea157aef8-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-f9b9be2d02.min.js.LICENSE.txt → bundle-4735d8d159.min.js.LICENSE.txt} +0 -0
package/dist/scripts/{2614-bc2fef6ae0-lite.chunk.js.map → 6156-d9a351e53f-lite.chunk.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/2614-bc2fef6ae0-lite.chunk.js","mappings":"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","sources":["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":["// 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":["PartialManageClassroomStudents","className","numItems","PartialPillTabSelector","Array","fill","map","student","i","key","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":""}
|
|
1
|
+
{"version":3,"file":"scripts/6156-d9a351e53f-lite.chunk.js","mappings":"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","sources":["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":["// 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-v2/MySharesTable';\nimport { PartialMySharesTable } from 'apps/my-shares/components/my-shares-table-v2/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":["PartialManageClassroomStudents","className","numItems","PartialPillTabSelector","Array","fill","map","student","i","key","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,3 @@
|
|
|
1
|
+
/*! For license information please see 6629-3ea157aef8-lite.chunk.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6629],{86995:(e,t,r)=>{r.d(t,{a:()=>p});var n=r(32735),o=r(68050),i=r(69111),a=r(42272),c=r(93975),s=r(89965);function u(e){var t=n.useId();return n.createElement("div",{className:"d-flex"},n.createElement(s.X,{id:t,onChange:e.onClick,checked:e.toggled}),n.createElement("div",{className:"d-flex flex-column"},n.createElement("label",{className:"m-0",htmlFor:""},e.title),n.createElement("p",{className:"m-0 text-secondary"},e.description)))}var l=r(82444),f=r(4315);function h(e){return"classroom"===e.type?n.createElement(l.b,{selectedClassroom:e.selectedClassroom,onChangeClassroom:e.onChangeClassroom}):"open-classroom"===e.type?n.createElement(f.e,{shareLink:{type:c.y.Open,privacy:a.e.PinCode}}):void 0}function p(e){return n.createElement("div",{className:"d-flex flex-column gap-4 ".concat(e.className)},n.createElement(h,Object.assign({},e)),n.createElement(o.Z,null,n.createElement(i.Z,{sm:12,lg:6},n.createElement(u,{title:"Prevent skipping ahead",description:"Students cannot skip ahead to parts of the video they have not watched",toggled:e.preventSkippingAhead,onClick:e.onTogglePreventSkippingAhead})),e.isInteractive&&n.createElement(i.Z,{sm:12,lg:6},n.createElement(u,{title:"Enable instant feedback",description:"Allow students to see feedback on their answers before continuing",toggled:e.enableInstantFeedback,onClick:e.onToggleEnableInstantFeedback}))),n.createElement("div",null,n.createElement("label",null,"Add a message for your students (optional)"),n.createElement("br",null),n.createElement("textarea",{className:"form-control",placeholder:"Type a message...",value:e.message,onChange:function(t){return e.onChangeMessage(t.target.value)}})))}},82444:(e,t,r)=>{r.d(t,{b:()=>c});var n=r(32735),o=r(42272),i=r(93975),a=r(4315);function c(e){return n.createElement("div",{className:"d-flex align-items-center w-100 rounded gap-2 justify-content-between"},n.createElement("div",{className:"flex-grow-1"},n.createElement(a.e,{shareLink:{type:i.y.Classroom,privacy:o.e.Direct},classroomName:e.selectedClassroom.name})),n.createElement("div",{className:"d-flex align-items-center"},n.createElement("a",{className:"cursor-pointer text-info",onClick:e.onChangeClassroom},"Change classroom")))}},4315:(e,t,r)=>{r.d(t,{e:()=>h});var n=r(32735),o=r(12528),i=r(83914),a=r(4594),c=r(35223),s=r(42272),u=r(93975);function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function f(e,t,r){return(t=function(e){var t=function(e){if("object"!=l(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==l(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e){var t,r,c,l,f;return n.createElement("div",{className:"d-flex align-items-center"},n.createElement("div",{className:"d-flex align-items-center justify-content-center"},n.createElement("div",null,n.createElement(o.f,{svgName:p[e.shareLink.type],variant:y[e.shareLink.type],textVariant:"white",svgWrapperClassName:null!==(t=e.svgWrapperClassName)&&void 0!==t?t:"p-1",svgSize:null!==(r=e.svgSize)&&void 0!==r?r:i.S.Standard})),n.createElement("div",{className:"d-flex flex-column ms-2"},n.createElement("label",{className:"m-0"},(l=(c=e).shareLink,f=c.classroomName,l.type===u.y.Classroom&&f?f:d[l.type])),!e.hideSubtitle&&n.createElement("span",{className:"text-secondary"},function(e){var t,r,n,o,i=e.shareLink;if(i.type===u.y.Classroom){var c=null!==(r=null===(t=i.recipients)||void 0===t?void 0:t.filter((function(e){return e.recipientTypeId===a.E.ClassroomGroup})).length)&&void 0!==r?r:0,l=null!==(o=null===(n=i.recipients)||void 0===n?void 0:n.filter((function(e){return e.recipientTypeId===a.E.User})).length)&&void 0!==o?o:0;return c&&l?"".concat(c," ").concat(v(c,"group","groups"),", ").concat(l," ").concat(v(l,"student","students")," can view"):c?"".concat(c," ").concat(v(c,"group","groups")," can view"):l?"".concat(l," ").concat(v(l,"student","students")," can view"):"All students in classroom can view"}if(i.type===u.y.Open)return"Students watch using a PIN code";if(i.type===u.y.Link){if([s.e.JustMySchool,s.e.Protected].includes(i.privacy))return"Respect ratings and restrictions";if(i.privacy===s.e.JustMySchoolOverrideRestriction)return"Anyone in your school can view";if(i.privacy===s.e.ProtectedOverrideRestriction)return"Anyone signed into ClickView can view";if(i.privacy===s.e.Public)return"Anyone with a link can view";if(i.privacy===s.e.PinCode)return"Anyone with a PIN code can view"}return i.type===u.y.Live?"Live now":"Anyone signed into ClickView can view"}(e)))))}var p=f(f(f(f({},u.y.Open,c.vn.School),u.y.Link,c.vn.Link),u.y.Classroom,c.vn.Classrooms),u.y.Live,c.vn.Play),y=f(f(f(f({},u.y.Open,"blue"),u.y.Link,"black"),u.y.Classroom,"teal"),u.y.Live,"purple"),d=f(f(f(f({},u.y.Open,"Open classroom"),u.y.Link,"Link"),u.y.Classroom,"Classroom"),u.y.Live,"Live");function v(e,t,r){return 1===e?t:r}},42272:(e,t,r)=>{var n;r.d(t,{e:()=>n}),function(e){e.Public="Public",e.PinCode="PinCode",e.PasswordProtected="PasswordProtected",e.ProtectedOverrideRestriction="ProtectedOverrideRestriction",e.JustMySchoolOverrideRestriction="JustMySchoolOverrideRestriction",e.Protected="Protected",e.JustMySchool="JustMySchool",e.Direct="Direct"}(n||(n={}))},93975:(e,t,r)=>{var n;r.d(t,{y:()=>n}),function(e){e.Link="Link",e.Classroom="Classroom",e.Open="Open",e.Live="Live"}(n||(n={}))},91574:(e,t,r)=>{r.d(t,{o:()=>a});var n=r(99940),o=r(97395),i={namespace:"share-v2"},a={createShareLink:function(e,t,r,o){return{url:"/api/share/v2/shares",key:"create:share-v2:link",type:n.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:r,always:o}},getShareLink:function(e,t,r,o){return{url:"/api/share/v2/shares/".concat(e),key:"get:share-v2:link:".concat(e),type:n.k.GET,normalizeOptions:i,success:t,error:r,always:o}},getSharesByObjectId:function(e,t,r,o){return{url:"/api/share/v2/shares/objects/".concat(e),key:"get:share-v2:shares:object:".concat(e),type:n.k.GET,normalizeOptions:i,success:t,error:r,always:o}},getSentShares:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,a={scopeId:e.scopeId,limit:e.limit||25,offset:parseInt(e.cursor)||0},c=Object.values(a).join(":");return{url:o._.urlBuilder("/api/share/v2/shares/sent",a),key:"sent:shares-v2:".concat(c),formatData:function(e){return{data:e,count:e.length,pagination:{cursors:{next:a.offset+e.length}}}},type:n.k.GET,normalize:!1,success:t,error:r,always:i}},createPincode:function(e){return{url:"/api/share/v2/shares/".concat(e,"/pincode"),key:"create:share-v2:pincode",type:n.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")}}}},93779:(e,t,r)=>{r.d(t,{t:()=>f});var n=r(20354),o=r(30439),i=r(42272),a=r(93975),c=r(91574);function s(e){return s="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},s(e)}function u(){u=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",l=i.toStringTag||"@@toStringTag";function f(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{f({},"")}catch(e){f=function(e,t,r){return e[t]=r}}function h(e,t,r,n){var i=t&&t.prototype instanceof b?t:b,a=Object.create(i.prototype),c=new _(n||[]);return o(a,"_invoke",{value:P(e,r,c)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=h;var y="suspendedStart",d="suspendedYield",v="executing",m="completed",g={};function b(){}function w(){}function k(){}var S={};f(S,a,(function(){return this}));var E=Object.getPrototypeOf,x=E&&E(E(T([])));x&&x!==r&&n.call(x,a)&&(S=x);var L=k.prototype=b.prototype=Object.create(S);function O(e){["next","throw","return"].forEach((function(t){f(e,t,(function(e){return this._invoke(t,e)}))}))}function I(e,t){function r(o,i,a,c){var u=p(e[o],e,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==s(f)&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,a,c)}),(function(e){r("throw",e,a,c)})):t.resolve(f).then((function(e){l.value=e,a(l)}),(function(e){return r("throw",e,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return i=i?i.then(o,o):o()}})}function P(t,r,n){var o=y;return function(i,a){if(o===v)throw Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:e,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var s=j(c,n);if(s){if(s===g)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===y)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var u=p(t,r,n);if("normal"===u.type){if(o=n.done?m:d,u.arg===g)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=m,n.method="throw",n.arg=u.arg)}}}function j(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,j(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var i=p(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,g;var a=i.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,g):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,g)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function N(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function T(t){if(t||""===t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(s(t)+" is not iterable")}return w.prototype=k,o(L,"constructor",{value:k,configurable:!0}),o(k,"constructor",{value:w,configurable:!0}),w.displayName=f(k,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===w||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,k):(e.__proto__=k,f(e,l,"GeneratorFunction")),e.prototype=Object.create(L),e},t.awrap=function(e){return{__await:e}},O(I.prototype),f(I.prototype,c,(function(){return this})),t.AsyncIterator=I,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new I(h(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},O(L),f(L,l,"Generator"),f(L,a,(function(){return this})),f(L,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=T,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(N),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return c.type="throw",c.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(s&&u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),N(r),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;N(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:T(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),g}},t}var l=function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{s(n.next(e))}catch(e){i(e)}}function c(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,c)}s((n=n.apply(e,t||[])).next())}))};function f(e){var t,r=n.a.useBasicFetch(o.o.getPrivacy(e)),s=n.a.useGetFetchAsync(),f=null===(t=r.data)||void 0===t?void 0:t.canManageAccess;return{createShareLink:function(e){return l(this,void 0,void 0,u().mark((function t(){var n;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r.data){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,s(c.o.createShareLink({objectId:e.objectId,type:a.y.Link,privacy:e.privacy,optionRequest:{preventSkipping:e.preventSkipping,instantFeedback:e.instantFeedback}}));case 4:return n=t.sent,t.abrupt("return",n);case 6:case"end":return t.stop()}}),t)})))},createDirectShare:function(e){return l(this,void 0,void 0,u().mark((function t(){var n,o;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r.data){t.next=2;break}return t.abrupt("return");case 2:return n=e.requireSignIn?i.e.Direct:i.e.PinCode,t.next=5,s(c.o.createShareLink({objectId:e.objectId,type:a.y.Classroom,privacy:n,optionRequest:{preventSkipping:e.preventShipping,instantFeedback:e.instantFeedback},recipientRequest:e.recipients.map((function(t){return{recipientId:t,message:e.message,scopeId:e.scopeId}}))}));case 5:if(o=t.sent,n!==i.e.PinCode){t.next=9;break}return t.next=9,s(c.o.createPincode(o.shareId));case 9:return t.abrupt("return",o);case 10:case"end":return t.stop()}}),t)})))},createOpenSession:function(e){return l(this,void 0,void 0,u().mark((function t(){var n,o;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r.data){t.next=2;break}return t.abrupt("return");case 2:return n=i.e.PinCode,e.requireSignIn&&(n=e.respectRatingsAndRestrictions?f?i.e.JustMySchool:i.e.Protected:f?i.e.JustMySchoolOverrideRestriction:i.e.ProtectedOverrideRestriction),t.next=6,s(c.o.createShareLink({objectId:e.objectId,type:a.y.Open,privacy:n,optionRequest:{preventSkipping:e.preventSkipping,instantFeedback:e.instantFeedback}}));case 6:if(o=t.sent,n!==i.e.PinCode){t.next=10;break}return t.next=10,s(c.o.createPincode(o.shareId));case 10:return t.abrupt("return",o);case 11:case"end":return t.stop()}}),t)})))},canManageAccess:f,hasCompleted:r.hasCompleted}}},6629:(e,t,r)=>{r.r(t),r.d(t,{SessionFlowView:()=>v});var n=r(32735),o=r(39202),i=r(9111),a=r(13876),c=r(14070),s=r(97291),u=r(93779),l=r(86995);function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function h(){h=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var i=t&&t.prototype instanceof b?t:b,a=Object.create(i.prototype),c=new _(n||[]);return o(a,"_invoke",{value:P(e,r,c)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var y="suspendedStart",d="suspendedYield",v="executing",m="completed",g={};function b(){}function w(){}function k(){}var S={};u(S,a,(function(){return this}));var E=Object.getPrototypeOf,x=E&&E(E(T([])));x&&x!==r&&n.call(x,a)&&(S=x);var L=k.prototype=b.prototype=Object.create(S);function O(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function I(e,t){function r(o,i,a,c){var s=p(e[o],e,i);if("throw"!==s.type){var u=s.arg,l=u.value;return l&&"object"==f(l)&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){r("next",e,a,c)}),(function(e){r("throw",e,a,c)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return r("throw",e,a,c)}))}c(s.arg)}var i;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return i=i?i.then(o,o):o()}})}function P(t,r,n){var o=y;return function(i,a){if(o===v)throw Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:e,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var s=j(c,n);if(s){if(s===g)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===y)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var u=p(t,r,n);if("normal"===u.type){if(o=n.done?m:d,u.arg===g)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=m,n.method="throw",n.arg=u.arg)}}}function j(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,j(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var i=p(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,g;var a=i.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,g):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,g)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function N(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function T(t){if(t||""===t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(f(t)+" is not iterable")}return w.prototype=k,o(L,"constructor",{value:k,configurable:!0}),o(k,"constructor",{value:w,configurable:!0}),w.displayName=u(k,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===w||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,k):(e.__proto__=k,u(e,s,"GeneratorFunction")),e.prototype=Object.create(L),e},t.awrap=function(e){return{__await:e}},O(I.prototype),u(I.prototype,c,(function(){return this})),t.AsyncIterator=I,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new I(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},O(L),u(L,s,"Generator"),u(L,a,(function(){return this})),u(L,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=T,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(N),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return c.type="throw",c.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(s&&u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),N(r),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;N(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:T(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),g}},t}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,c=[],s=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(c.push(n.value),c.length!==t);s=!0);}catch(e){u=!0,o=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return y(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var d=function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{s(n.next(e))}catch(e){i(e)}}function c(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,c)}s((n=n.apply(e,t||[])).next())}))};function v(e){var t=(0,u.t)(e.objectId).createOpenSession,r=p(n.useState(!1),2),f=r[0],y=r[1],v=p(n.useState(!1),2),m=v[0],g=v[1],b=p(n.useState(""),2),w=b[0],k=b[1],S=p(n.useState(!1),2),E=S[0],x=S[1];return n.createElement(i.G,Object.assign({title:"Assign to an Open classroom",showLoadingSpinner:!1,size:"lg",bodyClassName:"d-flex flex-column gap-3"},e),n.createElement(l.a,{type:"open-classroom",enableInstantFeedback:m,preventSkippingAhead:f,isInteractive:"interactive"===e.entityType,message:w,onTogglePreventSkippingAhead:function(){return y(!f)},onToggleEnableInstantFeedback:function(){return g(!m)},onChangeMessage:k}),n.createElement(a.u,null,n.createElement(a.u.Cancel,{variant:"link",onClick:function(){e.closePopup()},text:"Back"}),n.createElement(a.u.Submit,{variant:"dark",onClick:function(){return d(this,void 0,void 0,h().mark((function r(){var n,i;return h().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return x(!0),r.next=3,t({instantFeedback:m,preventSkipping:f,requireSignIn:!1,respectRatingsAndRestrictions:!1,objectId:e.objectId});case 3:n=r.sent,i={video:c.e.Insights.VIDEO_SHARE_OPTIONS,clip:c.e.Insights.CLIP_SHARE_OPTIONS,interactive:c.e.Insights.INTERACTIVE_SHARE_OPTIONS,series:c.e.Insights.SERIES_SHARE_OPTIONS,playlist:c.e.Insights.PLAYLIST_SHARE_OPTIONS},o.C$.trigger({application:s.O.INSIGHTS,action:i[e.entityType],args:[e.objectId],params:{shareId:n.shareId}});case 6:case"end":return r.stop()}}),r)})))},showSpinner:E,text:"Assign"})))}}}]);
|
|
3
|
+
//# sourceMappingURL=6629-3ea157aef8-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/6629-3ea157aef8-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/apps/share-v2/components/section-setting-toggle-item/SectionSettingToggleItem.tsx","file:///app/packages/projects/lite/src/apps/share-v2/components/ClassroomSettingsSectioned.tsx","file:///app/packages/projects/lite/src/apps/share-v2/components/SelectedClassroomHeader.tsx","file:///app/packages/projects/lite/src/apps/share-v2/components/ShareAvatar.tsx","file:///app/packages/projects/lite/src/apps/share-v2/enums/SharePrivacy.ts","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/packages/projects/lite/src/apps/share-v2/hooks/useCreateShare.ts","file:///app/packages/projects/lite/src/apps/share-v2/views/SessionFlowView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\n\ninterface SectionSettingToggleItemProps {\n title: string;\n description: string;\n toggled: boolean;\n onClick: () => void;\n}\n\nexport function SectionSettingToggleItem(props: SectionSettingToggleItemProps): JSX.Element {\n const id = React.useId();\n \n return (\n <div className='d-flex'>\n <Checkbox\n id={id}\n onChange={props.onClick}\n checked={props.toggled}\n />\n <div className='d-flex flex-column'>\n <label className='m-0' htmlFor=''>{props.title}</label>\n <p className='m-0 text-secondary'>{props.description}</p>\n </div>\n </div>\n );\n}\n","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { Classroom } from 'libs/shared/interfaces';\n\nimport { SharePrivacy } from '../enums/SharePrivacy';\nimport { ShareType } from '../enums/ShareType';\n\nimport { SectionSettingToggleItem } from './section-setting-toggle-item/SectionSettingToggleItem';\nimport { SelectedClassroomHeader } from './SelectedClassroomHeader';\nimport { ShareAvatar } from './ShareAvatar';\n\ntype ClassroomSettingsType = 'open-classroom' | 'classroom';\n\ntype ClassroomSettingsTypeOptions = ({\n type: 'open-classroom'\n} | {\n type: 'classroom';\n selectedClassroom: Classroom;\n onChangeClassroom: () => void;\n});\n\ntype ClassroomSettingsSectionedProps = {\n type: ClassroomSettingsType;\n preventSkippingAhead: boolean;\n enableInstantFeedback: boolean;\n isInteractive: boolean;\n className?: string;\n message?: string;\n onTogglePreventSkippingAhead: () => void;\n onToggleEnableInstantFeedback: () => void;\n onChangeMessage: (message: string) => void;\n} & ClassroomSettingsTypeOptions;\n\n\ntype ClassroomSettingsSectionedDynamicProps = {\n type: ClassroomSettingsType;\n} & ClassroomSettingsTypeOptions;\n\nfunction ClassroomSettingsSectionedHeader(props: ClassroomSettingsSectionedDynamicProps): JSX.Element {\n if (props.type === 'classroom') {\n return (\n <SelectedClassroomHeader\n selectedClassroom={props.selectedClassroom}\n onChangeClassroom={props.onChangeClassroom}\n />\n );\n }\n\n if (props.type === 'open-classroom') {\n return (\n <ShareAvatar shareLink={{ type: ShareType.Open, privacy: SharePrivacy.PinCode }}/>\n );\n }\n}\n\nexport function ClassroomSettingsSectioned(props: ClassroomSettingsSectionedProps): JSX.Element {\n return (\n <div className={`d-flex flex-column gap-4 ${props.className}`}>\n <ClassroomSettingsSectionedHeader {...props} />\n\n <Row>\n <Col sm={12} lg={6}>\n <SectionSettingToggleItem\n title='Prevent skipping ahead'\n description='Students cannot skip ahead to parts of the video they have not watched'\n toggled={props.preventSkippingAhead}\n onClick={props.onTogglePreventSkippingAhead}\n />\n </Col>\n {props.isInteractive &&\n <Col sm={12} lg={6}>\n <SectionSettingToggleItem\n title='Enable instant feedback'\n description='Allow students to see feedback on their answers before continuing'\n toggled={props.enableInstantFeedback}\n onClick={props.onToggleEnableInstantFeedback}\n />\n </Col>\n }\n </Row>\n\n <div>\n <label>Add a message for your students (optional)</label>\n <br />\n <textarea className='form-control' placeholder='Type a message...' value={props.message} onChange={e => props.onChangeMessage(e.target.value)} />\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { Classroom } from 'libs/shared/interfaces';\n\nimport { SharePrivacy } from '../enums/SharePrivacy';\nimport { ShareType } from '../enums/ShareType';\n\nimport { ShareAvatar } from './ShareAvatar';\n\ninterface SelectedClassroomHeaderProps {\n selectedClassroom: Classroom;\n onChangeClassroom: () => void;\n}\n\nexport function SelectedClassroomHeader(props: SelectedClassroomHeaderProps): JSX.Element {\n return (\n <div className={`d-flex align-items-center w-100 rounded gap-2 justify-content-between`}>\n <div className='flex-grow-1'>\n <ShareAvatar\n shareLink={{ type: ShareType.Classroom, privacy: SharePrivacy.Direct }}\n classroomName={props.selectedClassroom.name}\n />\n </div>\n <div className='d-flex align-items-center'>\n <a\n className='cursor-pointer text-info'\n onClick={props.onChangeClassroom}\n >\n Change classroom\n </a>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SharePrivacy } from '../enums/SharePrivacy';\nimport { ShareType } from '../enums/ShareType';\nimport { ShareLink } from '../interfaces/ShareLink';\n\ninterface ShareAvatarProps {\n shareLink: Partial<ShareLink>;\n classroomName?: string;\n hideSubtitle?: boolean;\n svgSize?: SvgContainerSize;\n svgWrapperClassName?: 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={props.svgWrapperClassName ?? 'p-1'}\n svgSize={props.svgSize ?? SvgContainerSize.Standard}\n />\n </div>\n <div className='d-flex flex-column ms-2'>\n <label className='m-0'>{getTitle(props)}</label>\n {!props.hideSubtitle && <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')} can view`;\n\n if (groupCount)\n return `${groupCount} ${pluralize(groupCount, 'group', 'groups')} can view`;\n\n if (studentCount)\n return `${studentCount} ${pluralize(studentCount, 'student', 'students')} can view`;\n\n return `All students in classroom can view`;\n }\n\n if (shareLink.type === ShareType.Open)\n return 'Students watch using a PIN code';\n\n if (shareLink.type === ShareType.Link) {\n if ([ SharePrivacy.JustMySchool, SharePrivacy.Protected ].includes(shareLink.privacy))\n return 'Respect ratings and restrictions';\n\n if (shareLink.privacy === SharePrivacy.JustMySchoolOverrideRestriction)\n return 'Anyone in your school can view';\n\n if (shareLink.privacy === SharePrivacy.ProtectedOverrideRestriction)\n return 'Anyone signed into ClickView can view';\n\n if (shareLink.privacy === SharePrivacy.Public)\n return 'Anyone with a link can view';\n\n if (shareLink.privacy === SharePrivacy.PinCode)\n return 'Anyone with a PIN code can view';\n }\n\n if (shareLink.type === ShareType.Live)\n return 'Live now';\n\n return 'Anyone signed into ClickView can view';\n}","export enum SharePrivacy {\n Public = 'Public',\n PinCode = 'PinCode',\n PasswordProtected = 'PasswordProtected',\n ProtectedOverrideRestriction = 'ProtectedOverrideRestriction',\n JustMySchoolOverrideRestriction = 'JustMySchoolOverrideRestriction',\n Protected = 'Protected',\n JustMySchool = 'JustMySchool',\n Direct = 'Direct'\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};","import { Flight } from 'libs/common/react/index';\n\nimport { ShareRequests as ShareRequestsV1 } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { SharePrivacyResponse } from 'libs/shared/apps/share/interfaces/responses/SharePrivacyResponse';\n\nimport { SharePrivacy } from 'apps/share-v2/enums/SharePrivacy';\nimport { ShareType } from 'apps/share-v2/enums/ShareType';\nimport { ShareRequests as ShareRequestsV2 } from 'apps/share-v2/flight-requests/ShareRequests';\nimport { ShareLink } from 'apps/share-v2/interfaces/ShareLink';\n\ninterface CreateShareLinkOptions {\n objectId: string;\n privacy: SharePrivacy;\n preventSkipping: boolean;\n instantFeedback: boolean;\n}\n\ninterface CreateDirectShareOptions {\n objectId: string;\n preventShipping: boolean;\n instantFeedback: boolean;\n requireSignIn: boolean;\n message?: string;\n recipients: string[];\n scopeId: string | number;\n}\n\ninterface CreateOpenSessionOptions {\n objectId: string;\n preventSkipping: boolean;\n instantFeedback: boolean;\n requireSignIn: boolean;\n respectRatingsAndRestrictions: boolean;\n}\n\nexport function useCreateShare(objectId: string) {\n const accessPermissions = Flight.useBasicFetch<SharePrivacyResponse>(ShareRequestsV1.getPrivacy(objectId));\n const fetchAsync = Flight.useGetFetchAsync();\n const canManageAccess = accessPermissions.data?.canManageAccess;\n\n async function createShareLink(options: CreateShareLinkOptions) {\n if (!accessPermissions.data) return;\n\n const shareLink = await fetchAsync<ShareLink>(ShareRequestsV2.createShareLink({\n objectId: options.objectId,\n type: ShareType.Link,\n privacy: options.privacy,\n optionRequest: {\n preventSkipping: options.preventSkipping,\n instantFeedback: options.instantFeedback\n }\n }));\n\n return shareLink;\n }\n\n async function createDirectShare(options: CreateDirectShareOptions) {\n if (!accessPermissions.data) return;\n\n const privacy = options.requireSignIn ? SharePrivacy.Direct : SharePrivacy.PinCode;\n\n const shareLink = await fetchAsync<ShareLink>(ShareRequestsV2.createShareLink({\n objectId: options.objectId,\n type: ShareType.Classroom,\n privacy,\n optionRequest: {\n preventSkipping: options.preventShipping,\n instantFeedback: options.instantFeedback\n },\n recipientRequest: options\n .recipients\n .map(recipientId => ({ recipientId, message: options.message, scopeId: options.scopeId }))\n }));\n\n if (privacy === SharePrivacy.PinCode)\n await fetchAsync(ShareRequestsV2.createPincode(shareLink.shareId));\n\n return shareLink;\n }\n\n async function createOpenSession(options: CreateOpenSessionOptions) {\n if (!accessPermissions.data) return;\n\n let privacy = SharePrivacy.PinCode;\n\n if (options.requireSignIn) {\n if (options.respectRatingsAndRestrictions) {\n privacy = canManageAccess ? SharePrivacy.JustMySchool : SharePrivacy.Protected;\n } else {\n privacy = canManageAccess\n ? SharePrivacy.JustMySchoolOverrideRestriction\n : SharePrivacy.ProtectedOverrideRestriction;\n }\n }\n\n const shareLink = await fetchAsync<ShareLink>(ShareRequestsV2.createShareLink({\n objectId: options.objectId,\n type: ShareType.Open,\n privacy,\n optionRequest: {\n preventSkipping: options.preventSkipping,\n instantFeedback: options.instantFeedback\n }\n }));\n\n if (privacy === SharePrivacy.PinCode)\n await fetchAsync(ShareRequestsV2.createPincode(shareLink.shareId));\n\n return shareLink;\n }\n\n return {\n createShareLink,\n createDirectShare,\n createOpenSession,\n canManageAccess,\n hasCompleted: accessPermissions.hasCompleted\n };\n}","import React from 'react';\n\nimport { AppLinkHelper } from 'libs/common/backbone/core';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { PopupViewProps } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { useCreateShare } from 'apps/share-v2/hooks/useCreateShare';\n\nimport { ClassroomSettingsSectioned } from '../components/ClassroomSettingsSectioned';\n\ninterface SessionFlowViewProps extends PopupViewProps {\n objectId: string;\n entityType: 'video' | 'clip' | 'interactive' | 'series' | 'playlist';\n}\n\nexport function SessionFlowView(props: SessionFlowViewProps): JSX.Element {\n const { createOpenSession } = useCreateShare(props.objectId);\n const [ preventSkippingAhead, setPreventSkippingAhead ] = React.useState(false);\n const [ enableInstantFeedback, setEnableInstantFeedback ] = React.useState(false);\n const [ message, setMessage ] = React.useState('');\n const [ working, setWorking ] = React.useState(false);\n\n function onBack() {\n props.closePopup();\n }\n\n async function onCreate() {\n setWorking(true);\n\n const shareLink = await createOpenSession({\n instantFeedback: enableInstantFeedback,\n preventSkipping: preventSkippingAhead,\n requireSignIn: false,\n respectRatingsAndRestrictions: false,\n objectId: props.objectId\n });\n\n const actions = {\n video: Actions.Insights.VIDEO_SHARE_OPTIONS,\n clip: Actions.Insights.CLIP_SHARE_OPTIONS,\n interactive: Actions.Insights.INTERACTIVE_SHARE_OPTIONS,\n series: Actions.Insights.SERIES_SHARE_OPTIONS,\n playlist: Actions.Insights.PLAYLIST_SHARE_OPTIONS\n };\n\n AppLinkHelper.trigger({\n application: AppChannels.INSIGHTS,\n action: actions[props.entityType],\n args: [props.objectId],\n params: {\n shareId: shareLink.shareId\n }\n });\n }\n\n return (\n <Popup\n title={'Assign to an Open classroom'}\n showLoadingSpinner={false}\n size='lg'\n bodyClassName='d-flex flex-column gap-3'\n {...props}\n >\n <ClassroomSettingsSectioned\n type='open-classroom'\n enableInstantFeedback={enableInstantFeedback}\n preventSkippingAhead={preventSkippingAhead}\n isInteractive={props.entityType === 'interactive'}\n message={message}\n onTogglePreventSkippingAhead={() => setPreventSkippingAhead(!preventSkippingAhead)}\n onToggleEnableInstantFeedback={() => setEnableInstantFeedback(!enableInstantFeedback)}\n onChangeMessage={setMessage}\n />\n <PopupButtons>\n <PopupButtons.Cancel variant='link' onClick={onBack} text='Back' />\n <PopupButtons.Submit variant='dark' onClick={onCreate} showSpinner={working} text='Assign' />\n </PopupButtons>\n </Popup>\n );\n}"],"names":["SectionSettingToggleItem","props","id","className","Checkbox","onChange","onClick","checked","toggled","htmlFor","title","description","ClassroomSettingsSectionedHeader","type","SelectedClassroomHeader","selectedClassroom","onChangeClassroom","ShareAvatar","shareLink","ShareType","privacy","SharePrivacy","ClassroomSettingsSectioned","Row","Col","sm","lg","preventSkippingAhead","onTogglePreventSkippingAhead","isInteractive","enableInstantFeedback","onToggleEnableInstantFeedback","placeholder","value","message","e","onChangeMessage","target","classroomName","name","svgName","icons","variant","iconColours","textVariant","svgWrapperClassName","svgSize","S","titles","hideSubtitle","groupCount","recipients","filter","r","recipientTypeId","length","studentCount","pluralize","includes","getSubtitle","count","singular","plural","normalizeOptions","namespace","ShareRequests","createShareLink","data","success","error","always","url","key","invalidationKeys","objectId","getShareLink","shareId","getSharesByObjectId","getSentShares","params","adaptedParams","scopeId","limit","offset","parseInt","cursor","Object","values","join","formatData","response","pagination","cursors","next","normalize","createPincode","getPincode","code","getPincodeByShareId","useCreateShare","accessPermissions","fetchAsync","canManageAccess","options","optionRequest","preventSkipping","instantFeedback","createDirectShare","requireSignIn","preventShipping","recipientRequest","map","recipientId","createOpenSession","respectRatingsAndRestrictions","hasCompleted","SessionFlowView","setPreventSkippingAhead","setEnableInstantFeedback","setMessage","working","setWorking","showLoadingSpinner","size","bodyClassName","entityType","closePopup","text","actions","video","clip","interactive","series","playlist","application","action","args","showSpinner"],"sourceRoot":""}
|