@clickview/lite 0.0.24-rc.4 → 0.0.24
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/css/11.chunk.css.map +1 -1
- package/dist/css/12.chunk.css.map +1 -1
- package/dist/css/13.chunk.css.map +1 -1
- package/dist/css/14.chunk.css.map +1 -1
- package/dist/css/15.chunk.css.map +1 -1
- package/dist/css/16.chunk.css.map +1 -1
- package/dist/css/17.chunk.css.map +1 -1
- package/dist/css/18.chunk.css.map +1 -1
- package/dist/css/20.chunk.css.map +1 -1
- package/dist/css/29.chunk.css.map +1 -1
- package/dist/css/3.chunk.css.map +1 -1
- package/dist/css/30.chunk.css.map +1 -1
- package/dist/css/31.chunk.css.map +1 -1
- package/dist/css/33.chunk.css.map +1 -1
- package/dist/css/38.chunk.css +11 -34
- package/dist/css/38.chunk.css.map +1 -1
- package/dist/css/4.chunk.css +3 -3
- package/dist/css/44.chunk.css +11 -3
- package/dist/css/44.chunk.css.map +1 -1
- package/dist/css/45.chunk.css +38 -0
- package/dist/css/45.chunk.css.map +1 -0
- package/dist/css/5.chunk.css.map +1 -1
- package/dist/css/52.chunk.css +52 -0
- package/dist/css/52.chunk.css.map +1 -0
- package/dist/css/59.chunk.css +14 -0
- package/dist/css/59.chunk.css.map +1 -0
- package/dist/css/6.chunk.css.map +1 -1
- package/dist/css/60.chunk.css +43 -0
- package/dist/css/60.chunk.css.map +1 -0
- package/dist/en.json +1 -1
- package/dist/libs/shared/src/components/curriculum-links/CurriculumLinks.d.ts +9 -0
- package/dist/libs/shared/src/components/widgets/items/resource-widget-item/ResourceWidgetItem.d.ts +12 -0
- package/dist/libs/shared/src/enums/CurriculumType.d.ts +6 -0
- package/dist/libs/shared/src/flight-requests/ClassificationRequests.d.ts +1 -0
- package/dist/libs/shared/src/flight-requests/ResourceRequests.d.ts +11 -0
- package/dist/libs/shared/src/interfaces/collections/SubtitleCollection.d.ts +3 -0
- package/dist/libs/shared/src/interfaces/models/Curriculum.d.ts +14 -0
- package/dist/libs/shared/src/interfaces/models/FileUpload.d.ts +20 -0
- package/dist/libs/shared/src/interfaces/models/Language.d.ts +4 -0
- package/dist/libs/shared/src/interfaces/models/Pdf.d.ts +4 -0
- package/dist/libs/shared/src/interfaces/models/Subtitle.d.ts +7 -0
- package/dist/libs/shared/src/interfaces/models/index.d.ts +1 -0
- package/dist/libs/shared/src/interfaces/requests/UpdateObjectChannel.d.ts +3 -0
- package/dist/libs/shared/src/interfaces/requests/UpdateObjectRating.d.ts +3 -0
- package/dist/libs/shared/src/interfaces/requests/UpdateResourceRequest.d.ts +3 -0
- package/dist/projects/lite/src/app.d.ts +1 -0
- package/dist/projects/lite/src/shared/components/play-page/PlayPage.d.ts +2 -1
- package/dist/projects/lite/src/shared/components/synopsis/Synopsis.d.ts +3 -1
- package/dist/projects/lite/src/shared/components/video-details/VideoDetails.d.ts +2 -0
- package/dist/projects/lite/src/shared/constants/MinimumGlanceHeight.d.ts +1 -0
- package/dist/projects/lite/src/shared/views/preview-pdf/PreviewPdfView.d.ts +7 -0
- package/dist/scripts/0-b02efe11fb.chunk.js +1 -0
- package/dist/scripts/1-4f19a5caea.chunk.js +17 -0
- package/dist/scripts/1.chunk.js.map +1 -1
- package/dist/scripts/10.chunk.js +484 -1203
- package/dist/scripts/10.chunk.js.map +1 -1
- package/dist/scripts/11-32e30d10ce.chunk.js +1 -0
- package/dist/scripts/11.chunk.js +289 -1388
- package/dist/scripts/11.chunk.js.map +1 -1
- package/dist/scripts/12-72a5373486.chunk.js +1 -0
- package/dist/scripts/12.chunk.js +1371 -283
- package/dist/scripts/12.chunk.js.map +1 -1
- package/dist/scripts/13-1cd85ad3ee.chunk.js +1 -0
- package/dist/scripts/13.chunk.js +361 -394
- package/dist/scripts/13.chunk.js.map +1 -1
- package/dist/scripts/14-3d60b8ee85.chunk.js +1 -0
- package/dist/scripts/14.chunk.js +793 -332
- package/dist/scripts/14.chunk.js.map +1 -1
- package/dist/scripts/15-90226fb996.chunk.js +1 -0
- package/dist/scripts/15.chunk.js +295 -214
- package/dist/scripts/15.chunk.js.map +1 -1
- package/dist/scripts/16-913b2535ea.chunk.js +1 -0
- package/dist/scripts/16.chunk.js +530 -434
- package/dist/scripts/16.chunk.js.map +1 -1
- package/dist/scripts/17-d6c19ccb60.chunk.js +1 -0
- package/dist/scripts/17.chunk.js +296 -170
- package/dist/scripts/17.chunk.js.map +1 -1
- package/dist/scripts/18-33efcac0c6.chunk.js +1 -0
- package/dist/scripts/18.chunk.js +265 -199
- package/dist/scripts/18.chunk.js.map +1 -1
- package/dist/scripts/19-2380200cfb.chunk.js +1 -0
- package/dist/scripts/19.chunk.js +7 -3
- package/dist/scripts/19.chunk.js.map +1 -1
- package/dist/scripts/2-53e37c2047.chunk.js +1 -0
- package/dist/scripts/2.chunk.js +18673 -622
- package/dist/scripts/2.chunk.js.map +1 -1
- package/dist/scripts/20-ca85f0514e.chunk.js +1 -0
- package/dist/scripts/20.chunk.js +1824 -221
- package/dist/scripts/20.chunk.js.map +1 -1
- package/dist/scripts/21-ef4a226771.chunk.js +1 -0
- package/dist/scripts/22-99c04e164f.chunk.js +1 -0
- package/dist/scripts/23-028eb81a43.chunk.js +1 -0
- package/dist/scripts/23.chunk.js +1 -1
- package/dist/scripts/23.chunk.js.map +1 -1
- package/dist/scripts/24-68f8df3eca.chunk.js +1 -0
- package/dist/scripts/24.chunk.js.map +1 -1
- package/dist/scripts/25-7ad07f87d4.chunk.js +1 -0
- package/dist/scripts/25.chunk.js.map +1 -1
- package/dist/scripts/26-f3dcacfe4f.chunk.js +1 -0
- package/dist/scripts/26.chunk.js +1 -1
- package/dist/scripts/26.chunk.js.map +1 -1
- package/dist/scripts/27-e844268f38.chunk.js +1 -0
- package/dist/scripts/28-853bc5de1f.chunk.js +1 -0
- package/dist/scripts/29-b164ecafe9.chunk.js +1 -0
- package/dist/scripts/29.chunk.js +435 -500
- package/dist/scripts/29.chunk.js.map +1 -1
- package/dist/scripts/3-a1bd8c9016.chunk.js +7 -0
- package/dist/scripts/3.chunk.js +625 -18676
- package/dist/scripts/3.chunk.js.map +1 -1
- package/dist/scripts/30-2cfcf52ea1.chunk.js +1 -0
- package/dist/scripts/30.chunk.js +634 -429
- package/dist/scripts/30.chunk.js.map +1 -1
- package/dist/scripts/31-e6a8291d2f.chunk.js +1 -0
- package/dist/scripts/31.chunk.js +371 -670
- package/dist/scripts/31.chunk.js.map +1 -1
- package/dist/scripts/32-7030dc98ed.chunk.js +1 -0
- package/dist/scripts/32.chunk.js +27 -54
- package/dist/scripts/32.chunk.js.map +1 -1
- package/dist/scripts/33-47b0ac90bd.chunk.js +1 -0
- package/dist/scripts/33.chunk.js +700 -312
- package/dist/scripts/33.chunk.js.map +1 -1
- package/dist/scripts/34-2de007b628.chunk.js +1 -0
- package/dist/scripts/34.chunk.js +3 -3
- package/dist/scripts/34.chunk.js.map +1 -1
- package/dist/scripts/35-d2fb66920b.chunk.js +1 -0
- package/dist/scripts/36-bc85df33de.chunk.js +1 -0
- package/dist/scripts/36.chunk.js.map +1 -1
- package/dist/scripts/37-e26652840b.chunk.js +1 -0
- package/dist/scripts/37.chunk.js +288 -464
- package/dist/scripts/37.chunk.js.map +1 -1
- package/dist/scripts/38-0b6a6b9619.chunk.js +1 -0
- package/dist/scripts/39-6549f483c6.chunk.js +1 -0
- package/dist/scripts/39.chunk.js +1 -1
- package/dist/scripts/39.chunk.js.map +1 -1
- package/dist/scripts/4-9e83a22d7a.chunk.js +1 -0
- package/dist/scripts/4.chunk.js +259 -1021
- package/dist/scripts/4.chunk.js.map +1 -1
- package/dist/scripts/40-8e6e9d285f.chunk.js +1 -0
- package/dist/scripts/41-2b44a2e66f.chunk.js +1 -0
- package/dist/scripts/42-9e75f420d8.chunk.js +1 -0
- package/dist/scripts/42.chunk.js.map +1 -1
- package/dist/scripts/43-1141245420.chunk.js +1 -0
- package/dist/scripts/44-9bc4201e0f.chunk.js +1 -0
- package/dist/scripts/45-5ded8ca3db.chunk.js +1 -0
- package/dist/scripts/46-2afd7ee1fb.chunk.js +1 -0
- package/dist/scripts/47-ab30686138.chunk.js +1 -0
- package/dist/scripts/48-d9cd99d55e.chunk.js +1 -0
- package/dist/scripts/49-f43a08f90b.chunk.js +1 -0
- package/dist/scripts/5-974660e17b.chunk.js +1 -0
- package/dist/scripts/5.chunk.js +1017 -259
- package/dist/scripts/5.chunk.js.map +1 -1
- package/dist/scripts/50-af699c531e.chunk.js +1 -0
- package/dist/scripts/51-aa7b835007.chunk.js +1 -0
- package/dist/scripts/52-805f7fe04d.chunk.js +1 -0
- package/dist/scripts/53-d75ca53045.chunk.js +1 -0
- package/dist/scripts/54-2e75bad46f.chunk.js +1 -0
- package/dist/scripts/55-ed637c4847.chunk.js +1 -0
- package/dist/scripts/55.chunk.js.map +1 -1
- package/dist/scripts/56-2ed3b5764b.chunk.js +1 -0
- package/dist/scripts/57-e51101c8a1.chunk.js +1 -0
- package/dist/scripts/58-9a32a6fb2d.chunk.js +1 -0
- package/dist/scripts/59-da8a8c97a9.chunk.js +1 -0
- package/dist/scripts/6-6ac39034e0.chunk.js +1 -0
- package/dist/scripts/6.chunk.js +291 -1250
- package/dist/scripts/6.chunk.js.map +1 -1
- package/dist/scripts/60-5713de53e2.chunk.js +1 -0
- package/dist/scripts/61-7d2ad17963.chunk.js +1 -0
- package/dist/scripts/62-a0a69501ac.chunk.js +1 -0
- package/dist/scripts/63-c921b87f3f.chunk.js +1 -0
- package/dist/scripts/64-87c1cf6985.chunk.js +1 -0
- package/dist/scripts/65-2322082836.chunk.js +1 -0
- package/dist/scripts/66-6d5356f6ce.chunk.js +1 -0
- package/dist/scripts/67-2e0d661c52.chunk.js +1 -0
- package/dist/scripts/7-5ac5be64dd.chunk.js +1 -0
- package/dist/scripts/7.chunk.js +1 -1
- package/dist/scripts/76.chunk.js +3 -3
- package/dist/scripts/76.chunk.js.map +1 -1
- package/dist/scripts/79.chunk.js +931 -347
- package/dist/scripts/79.chunk.js.map +1 -1
- package/dist/scripts/8-95563e3d36.chunk.js +1 -0
- package/dist/scripts/8.chunk.js +14 -920
- package/dist/scripts/8.chunk.js.map +1 -1
- package/dist/scripts/80.chunk.js +22 -313
- package/dist/scripts/80.chunk.js.map +1 -1
- package/dist/scripts/9.chunk.js +320 -17
- package/dist/scripts/9.chunk.js.map +1 -1
- package/dist/scripts/bundle-9ed1e126dd.min.js +15 -0
- package/dist/scripts/bundle.js +147 -121
- package/dist/scripts/bundle.js.map +1 -1
- package/dist/scripts/bundles.json +2 -2
- package/dist/scripts/pdf.worker.entry.worker.js +46239 -0
- package/dist/scripts/pdf.worker.entry.worker.js.map +1 -0
- package/dist/scripts/polyfills-2723daf478.min.js +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/audience-item/AudienceItem.tsx","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/audience-item/audience-item.scss?e8ce","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/audience-item/partial-loading/PartialAudiences.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/bulk-preference-summary/BulkPreferenceSummary.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/bulk-preference-summary/bulk-preference-summary.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/footer/PreferenceFooter.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/footer/preference-footer.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/preference-item/PreferenceItem.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/preference-item/PreferenceItemStatus.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/preference-item/preference-item.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/subject-preference-grid/subject-preference-grid.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/subject-preference-item/SubjectPreferenceItem.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/subject-preference-item/partial-loading/PartialSubjectPreferences.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/subject-preference-item/partial-loading/partial-subject-preferences.scss","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/contexts/SubjectPreferencesContext.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseAlerts.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/subjects/views/preferences/summary/LitePreferencesSummaryView.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/subjects/views/preferences/summary/preferences-summary.scss"],"names":[],"mappings":"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","file":"scripts/23.chunk.js","sourcesContent":["import * as React from 'react';\r\n\r\nimport { PresentationAudience } from 'libs/shared/interfaces';\r\n\r\nimport styles from './audience-item.scss';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\n\r\nfunction lowerCaseToTitleCase(str: string): string {\r\n return str.split(' ').map((s: string) => s.charAt(0).toUpperCase() + s.substring(1)).join(' ');\r\n}\r\n\r\nfunction getColourClass(highlight: boolean, isDisabled: boolean): string {\r\n if (highlight) return isDisabled ? `${styles.disabledHighlighted} text-light` : 'badge-info text-light';\r\n if (isDisabled) return `${styles.disabled} text-muted`;\r\n return 'badge-light';\r\n}\r\n\r\ninterface AudienceItemProps {\r\n audience: PresentationAudience;\r\n highlight: boolean;\r\n setAudience?: (audience: PresentationAudience, highlight: boolean) => void;\r\n isDisabled?: boolean;\r\n extraClasses?: string;\r\n}\r\n\r\nAudienceItem.defaultProps = {\r\n extraClasses: ''\r\n};\r\n\r\nexport function AudienceItem(props: AudienceItemProps): React.ReactElement {\r\n const { audience, highlight, setAudience, isDisabled, extraClasses } = props;\r\n\r\n const colourClass = getColourClass(highlight, isDisabled);\r\n const cursorClass = isDisabled ? 'cursor-default' : 'cursor-pointer';\r\n const className = `badge-pill d-inline-block mr-1 ${cursorClass} ${colourClass} ${extraClasses}`;\r\n\r\n const onClick = () => {\r\n if (isDisabled || !FunctionHelper.isFunction(setAudience))\r\n return;\r\n\r\n setAudience(audience, !highlight);\r\n };\r\n\r\n return (\r\n <span\r\n className={className}\r\n onClick={onClick}\r\n role='checkbox'\r\n aria-checked={highlight}\r\n >\r\n {lowerCaseToTitleCase(audience.name)}\r\n </span>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"disabled\":\"cv--disabled--1KxF9\",\"disabledHighlighted\":\"cv--disabledHighlighted--pbuec\"};","import * as React from 'react';\r\n\r\ninterface PartialAudiencesProps {\r\n count?: number;\r\n width?: number;\r\n height?: number;\r\n align?: 'left' | 'center';\r\n}\r\n\r\nexport function PartialAudiences({ width = 90, height = 35, count = 5, align = 'left' }: PartialAudiencesProps): JSX.Element {\r\n const justifyClass = align === 'center' ? 'justify-content-center' : 'justify-content-start';\r\n\r\n return (\r\n <ul className={`d-flex flex-wrap pl-0 m-0 ${justifyClass}`}>\r\n {Array(count).fill(null).map((item, i) => (\r\n <li\r\n key={i}\r\n className='partial-loading-background mx-1 mb-1 badge-pill list-unstyled'\r\n style={{ height: `${height}px`, width: `${width}px` }}\r\n />\r\n ))}\r\n </ul>\r\n );\r\n}","import React from 'react';\r\n\r\nimport styles from './bulk-preference-summary.scss';\r\n\r\ninterface BulkPreferenceSummaryProps {\r\n imageUrl: string;\r\n text: string;\r\n}\r\n\r\nexport function BulkPreferenceSummary(props: BulkPreferenceSummaryProps): JSX.Element {\r\n return (\r\n <div className='position-relative'>\r\n <div\r\n className={`w-100 ${styles.image}`}\r\n style={{ backgroundImage: `url('${props.imageUrl}')` }}\r\n />\r\n <div className={`bg-white text-nowrap font-weight-500 py-1 px-3 badge-pill m-0 ${styles.text}`}>\r\n {props.text}\r\n </div>\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"image\":\"cv--image--1AhAp\",\"text\":\"cv--text--384Un\"};","import * as React from 'react';\r\n\r\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\r\n\r\nimport styles from './preference-footer.scss';\r\n\r\ninterface PreferenceFooterProps extends React.PropsWithChildren<{}> {\r\n justify?: 'end' | 'center' | 'between';\r\n}\r\n\r\nPreferenceFooter.defaultProps = {\r\n justify: 'between'\r\n};\r\n\r\nexport function PreferenceFooter(props: PreferenceFooterProps): JSX.Element {\r\n const mediaQuery = useGetMediaQueryString();\r\n const widthClass = (mediaQuery === MediaQueryStrings.SM || mediaQuery === MediaQueryStrings.XS) ? 'w-100' : 'w-75';\r\n\r\n let justifyClass = `justify-content-${props.justify}`;\r\n\r\n return (\r\n <div className={`${widthClass} ${justifyClass} ${styles.preferenceFooter} d-flex px-3`}>\r\n {props.children}\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"preferenceFooter\":\"cv--preferenceFooter--P29kw\"};","import React from 'react';\r\n\r\nimport { ExpandableItemStatus, SelectableItemStatus } from './PreferenceItemStatus';\r\n\r\nimport styles from './preference-item.scss';\r\n\r\ninterface PreferenceItemProps {\r\n name: string;\r\n imageUrl: string;\r\n\r\n onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>) => void;\r\n isDisabled?: boolean;\r\n isSelected: boolean;\r\n hideStatus?: boolean;\r\n radioButton?: boolean;\r\n\r\n isExpandable?: boolean;\r\n expand?: boolean;\r\n selectedChildCount?: number;\r\n\r\n extraClasses?: string;\r\n}\r\n\r\nexport function PreferenceItem(props: PreferenceItemProps): JSX.Element {\r\n function getContainerClass(): string {\r\n let baseClass = styles.preferenceItem;\r\n\r\n if (props.extraClasses)\r\n baseClass += ' ' + props.extraClasses;\r\n\r\n if (props.isDisabled)\r\n baseClass += ' ' + styles.disabled;\r\n\r\n if (props.isSelected && !props.isExpandable)\r\n baseClass += ' ' + styles.selected;\r\n\r\n if (props.hideStatus)\r\n baseClass += ' ' + styles.noBorder;\r\n\r\n return baseClass;\r\n }\r\n\r\n const caretClass = `${styles.expandCaret} ${props.expand ? styles.up : styles.down}`;\r\n\r\n return (\r\n <li\r\n className={getContainerClass()}\r\n onClick={props.onClick}\r\n aria-checked={props.isSelected}\r\n aria-haspopup={props.isExpandable}\r\n role={props.isExpandable ? 'button' : 'checkbox'}\r\n style={{ backgroundImage: `url(${props.imageUrl})` }}\r\n tabIndex={0}\r\n >\r\n <div className={`${styles.textBox} p-2`}>\r\n <p className='m-0 text-truncate'>\r\n {props.name}\r\n <span className={props.isExpandable ? caretClass : ''} />\r\n </p>\r\n\r\n {!props.hideStatus && (\r\n <>{props.isExpandable\r\n ? <ExpandableItemStatus selectedChildrenCount={props.selectedChildCount} />\r\n : <SelectableItemStatus selected={props.isSelected} radioButton={props.radioButton} />\r\n }</>\r\n )}\r\n </div>\r\n </li>\r\n );\r\n}","import * as React from 'react';\r\n\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport styles from './preference-item.scss';\r\n\r\ninterface ExpandableItemStatusProps {\r\n selectedChildrenCount: number;\r\n}\r\n\r\nexport const ExpandableItemStatus = (props: ExpandableItemStatusProps): JSX.Element => {\r\n if (!props.selectedChildrenCount)\r\n return <></>;\r\n\r\n return (\r\n <div className={`${styles.itemStatus} ${styles.green}`}>\r\n {props.selectedChildrenCount}\r\n </div>\r\n );\r\n};\r\n\r\ninterface SelectableItemStatusProps {\r\n selected: boolean;\r\n radioButton?: boolean;\r\n}\r\n\r\nexport const SelectableItemStatus = (props: SelectableItemStatusProps): JSX.Element => {\r\n let svg;\r\n\r\n if (props.selected)\r\n svg = <SvgContainer svgName={cvSvgLibrary.Check} />;\r\n else if (!props.radioButton)\r\n svg = <SvgContainer svgName={cvSvgLibrary.Plus} />;\r\n else\r\n svg = <> </>;\r\n\r\n return (\r\n <div className={`${styles.itemStatus} ${props.selected ? styles.green : styles.unchecked}`}>\r\n {svg}\r\n </div>\r\n );\r\n};\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"preferenceItem\":\"cv--preferenceItem--1LDb6\",\"expandCaret\":\"cv--expandCaret--3QEWB\",\"down\":\"cv--down--2y-iF\",\"up\":\"cv--up--1kGNY\",\"disabled\":\"cv--disabled--2w4FH\",\"selected\":\"cv--selected--1lSYv\",\"noBorder\":\"cv--noBorder--3Mxuo\",\"textBox\":\"cv--textBox--3HCeK\",\"itemStatus\":\"cv--itemStatus--2msq4\",\"unchecked\":\"cv--unchecked--2VQLv\",\"green\":\"cv--green--AHd64\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"grid\":\"cv--grid--G_RXX\",\"subgrid\":\"cv--subgrid--38ohZ\"};","import * as React from 'react';\r\n\r\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\r\nimport { ImageSize } from 'libs/shared/enums/Images';\r\nimport { SubjectPreferencesContext } from 'libs/shared/apps/subjects/contexts/SubjectPreferencesContext';\r\nimport { ClassificationPreference } from 'libs/shared/apps/subjects/interfaces/ClassificationPreference';\r\nimport { PreferenceItem } from 'libs/shared/apps/subjects/components/preferences/preference-item/PreferenceItem';\r\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\r\n\r\ninterface SubjectPreferenceItemProps {\r\n subject: ClassificationPreference;\r\n selected: boolean;\r\n disabled?: boolean;\r\n onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>) => void;\r\n extraClasses?: string;\r\n hideStatus?: boolean;\r\n hasSelectedBulk?: boolean;\r\n}\r\n\r\nexport function SubjectPreferenceItem(props: SubjectPreferenceItemProps): JSX.Element {\r\n const context = React.useContext(SubjectPreferencesContext);\r\n\r\n const coverUrl = props.subject.cover ? ImageHelper.createUrl(props.subject.cover.url, { size: ImageSize.Small }) : '';\r\n\r\n const childIds = props.subject.isExpandableOption ? props.subject.children.map(child => child.id) : [];\r\n const selectedChildCount = !props.hasSelectedBulk\r\n ? context?.selectedSubjects?.filter(selection => childIds.includes(selection)).length\r\n : 0;\r\n\r\n const component = (\r\n <PreferenceItem\r\n name={props.subject.name}\r\n imageUrl={coverUrl}\r\n onClick={props.onClick}\r\n isSelected={props.selected}\r\n isDisabled={props.disabled}\r\n isExpandable={props.subject.isExpandableOption}\r\n expand={context?.expandedSubject?.id === props.subject.id}\r\n selectedChildCount={selectedChildCount}\r\n extraClasses={props.extraClasses}\r\n hideStatus={props.hideStatus}\r\n />\r\n );\r\n\r\n return props.disabled\r\n ? <span>{component}</span>\r\n : <Tooltip title={props.subject.name}>{component}</Tooltip>;\r\n}","import * as React from 'react';\r\n\r\nimport gridStyles from '../../subject-preference-grid/subject-preference-grid.scss';\r\nimport styles from './partial-subject-preferences.scss';\r\n\r\ninterface PartialSubjectPreferencesProps {\r\n count: number;\r\n style: 'grid' | 'list';\r\n}\r\n\r\nexport function PartialSubjectPreferences(props: PartialSubjectPreferencesProps): JSX.Element {\r\n const className = props.style === 'grid' ? gridStyles.grid : styles.partialSubjectList;\r\n\r\n return (\r\n <ul className={className}>\r\n {Array(props.count).fill(null).map((item, i) => (\r\n <li key={i} className={`${styles.partialSubject} partial-loading-background`} />\r\n ))}\r\n </ul>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"partialSubject\":\"cv--partialSubject--1rrH2\",\"partialSubjectList\":\"cv--partialSubjectList--15Qdz\"};","import { createContext } from 'react';\r\nimport { ClassificationPreference } from '../interfaces/ClassificationPreference';\r\n\r\ninterface SubjectPreferencesContextFields {\r\n selectedSubjects: string[];\r\n expandedSubject: ClassificationPreference;\r\n}\r\n\r\nexport const SubjectPreferencesContext = createContext<SubjectPreferencesContextFields>(undefined);","import { useService } from 'libs/common/react/hooks/UseService';\r\nimport { BaseAlertService, BaseAlert, BaseAlertOptions, AlertType, DefaultAlertHeading } from 'libs/common/backbone/services/BaseAlertService';\r\nimport { CommonServices } from 'libs/common/backbone/constants/CommonServices';\r\n\r\nexport const useAlerts = () => {\r\n const alertService = useService<BaseAlertService>(CommonServices.ALERT);\r\n\r\n return {\r\n success(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.success(alertContent)();\r\n },\r\n error(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.error(alertContent)();\r\n },\r\n warning(alertContent: string): void {\r\n alertService.createAlert({\r\n type: AlertType.Warning,\r\n heading: DefaultAlertHeading.Warning,\r\n message: alertContent\r\n });\r\n }\r\n };\r\n};","import * as React from 'react';\r\nimport Cookies from 'js-cookie';\r\nimport { Button, Spinner } from 'react-bootstrap';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { Core } from 'libs/common/core';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { SettingRequests } from 'libs/shared/flight-requests/SettingRequests';\r\nimport { PresentationAudience, Classification, CurrentUser, EntitySetting } from 'libs/shared/interfaces';\r\nimport { PreferenceRequests } from 'libs/shared/flight-requests/PreferenceRequests';\r\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\nimport { SubjectPreferenceItem } from 'libs/shared/apps/subjects/components/preferences/subject-preference-item/SubjectPreferenceItem';\r\nimport { PartialSubjectPreferences } from 'libs/shared/apps/subjects/components/preferences/subject-preference-item/partial-loading/PartialSubjectPreferences';\r\nimport { PreferenceFooter } from 'libs/shared/apps/subjects/components/preferences/footer/PreferenceFooter';\r\nimport { ClassificationPreference } from 'libs/shared/apps/subjects/interfaces/ClassificationPreference';\r\nimport { AudienceItem } from 'libs/shared/apps/subjects/components/audience-item/AudienceItem';\r\nimport { PartialAudiences } from 'libs/shared/apps/subjects/components/audience-item/partial-loading/PartialAudiences';\r\nimport { SettingName } from 'libs/shared/enums/SettingName';\r\nimport { SettingKind } from 'libs/shared/enums/SettingKind';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { BulkOnboardingPreferencesState } from 'libs/shared/enums/BulkOnboardingPreferencesState';\r\nimport { BulkPreferenceSummary } from 'libs/shared/apps/subjects/components/preferences/bulk-preference-summary/BulkPreferenceSummary';\r\n\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\n\r\nimport { OnboardingHelper } from 'apps/subjects/utils/OnboardingHelper';\r\n\r\nimport styles from './preferences-summary.scss';\r\n\r\nconst namespace = 'subjects.preferencesSummary';\r\n\r\ninterface PreferencesSummaryViewProps {\r\n redirectUrl: string;\r\n}\r\n\r\nexport function PreferencesSummaryView(props: PreferencesSummaryViewProps): JSX.Element {\r\n const [ showSpinner, setShowSpinner ] = React.useState(false);\r\n\r\n const levelPreferences = Flight.useBasicFetch<PresentationAudience[]>(PreferenceRequests.myLevelPreferences());\r\n const subjectPreferences = Flight.useBasicFetch<Classification[]>(PreferenceRequests.mySubjectPreferences());\r\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\r\n const hasCompletedOnboarding = Flight.useBasicFetch<EntitySetting<boolean>>(\r\n currentUser.statusCode ? SettingRequests.setting(currentUser.data.id, SettingName.HasCompletedOnboarding) : null);\r\n const bulkOnboardingPreferencesState = Flight.useBasicFetch<EntitySetting<BulkOnboardingPreferencesState>>(\r\n currentUser.statusCode\r\n ? SettingRequests.setting(currentUser.data.id, SettingName.BulkOnboardingPreferencesState)\r\n : null\r\n );\r\n\r\n const dispatch = useDispatch();\r\n const alerts = useAlerts();\r\n\r\n function onClickNext(): void {\r\n if (showSpinner)\r\n return;\r\n\r\n setShowSpinner(true);\r\n\r\n if (!hasCompletedOnboarding.data?.value) {\r\n Flight.fetch(dispatch, SettingRequests.updateSetting(\r\n currentUser.data?.id,\r\n SettingName.HasCompletedOnboarding,\r\n true,\r\n SettingKind.Permanent,\r\n () => {\r\n Cookies.set('_onboardingComplete', currentUser.data?.id, { expires: 30 });\r\n\r\n /**\r\n * For users just completing onboarding, we want to do a full page load so that the top nav items\r\n * can be loaded back in. The top nav items are hidden for new users who are forced through onboarding.\r\n */\r\n Core.LocationUtils.PageLoad(props.redirectUrl || '/');\r\n },\r\n () => {\r\n alerts.error(LanguageService.getPhrase(namespace, 'onboardingOptionError'));\r\n setShowSpinner(false);\r\n }\r\n ));\r\n\r\n return;\r\n }\r\n\r\n // Timeout to create illusion of changes being saved\r\n window.setTimeout(() => {\r\n setShowSpinner(false);\r\n\r\n if (props.redirectUrl) {\r\n Core.LocationUtils.PageLoad(props.redirectUrl);\r\n return;\r\n }\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.DASHBOARD,\r\n action: Actions.Dashboard.HOME\r\n });\r\n }, 250);\r\n }\r\n\r\n const bulkPreferencesState = OnboardingHelper.getBulkPreferencesState(bulkOnboardingPreferencesState.data?.value);\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <div className={`p-3 pb-5 mx-auto ${styles.container}`}>\r\n <div className='position-relative'>\r\n {/* Heading */}\r\n <div className='text-center'>\r\n <h1 className='mb-3'><Text phrase='heading' /></h1>\r\n <p className='w-25 mx-auto h6 mb-3'><Text phrase='info' /></p>\r\n </div>\r\n\r\n {/* Levels */}\r\n <div className='pb-4 w-75 mx-auto'>\r\n <div className='pb-1 d-flex align-items-center'>\r\n <h2 className='h3 mb-1 pr-1'><Text phrase='levels' /></h2>\r\n <AppLink appLink={{\r\n application: AppChannels.SUBJECT,\r\n action: Actions.Subjects.PREFERENCES,\r\n params: { step: 'levels' }\r\n }}>\r\n <SvgContainer svgName={cvSvgLibrary.Edit} />\r\n </AppLink>\r\n </div>\r\n\r\n {(() => {\r\n if (!levelPreferences.data)\r\n return <PartialAudiences count={2} />;\r\n\r\n if (bulkPreferencesState.levels)\r\n return (\r\n <BulkPreferenceSummary\r\n imageUrl='/images/onboarding/all-year-levels.png'\r\n text={LanguageService.getPhrase(namespace, 'allLevels')}\r\n />\r\n );\r\n\r\n if (!levelPreferences.data.length)\r\n return <p className='h6'><Text phrase='noLevelPreferences' /></p>;\r\n\r\n return (\r\n <ul className='m-0 p-0'>\r\n {levelPreferences.data.map(level => (\r\n <AudienceItem\r\n key={level.masterId}\r\n audience={level}\r\n extraClasses='h4 py-1 px-3 mx-1 cursor-default'\r\n highlight\r\n />\r\n ))}\r\n </ul>\r\n );\r\n })()}\r\n </div>\r\n\r\n {/* Subjects */}\r\n <div className='w-75 mx-auto'>\r\n <div className='pb-1 d-flex align-items-center'>\r\n <h2 className='h3 mb-1 pr-1'><Text phrase='subjects' /></h2>\r\n <AppLink appLink={{\r\n application: AppChannels.SUBJECT,\r\n action: Actions.Subjects.PREFERENCES,\r\n params: { step: 'subjects' }\r\n }}>\r\n <SvgContainer svgName={cvSvgLibrary.Edit} />\r\n </AppLink>\r\n </div>\r\n\r\n {(() => {\r\n if (!subjectPreferences.data)\r\n return <PartialSubjectPreferences style='list' count={5} />;\r\n\r\n if (bulkPreferencesState.subjects)\r\n return (\r\n <BulkPreferenceSummary\r\n imageUrl='/images/onboarding/all-subjects.png'\r\n text={LanguageService.getPhrase(namespace, 'allSubjects')}\r\n />\r\n );\r\n\r\n if (!subjectPreferences.data.length)\r\n return <p className='h6'><Text phrase='noSubjectPreferences' /></p>;\r\n\r\n return (\r\n <ul className='m-0 p-0 d-flex flex-wrap'>\r\n {subjectPreferences.data.map(subject => (\r\n <SubjectPreferenceItem\r\n key={subject.id}\r\n subject={subject as ClassificationPreference}\r\n extraClasses='m-1 cursor-default'\r\n selected\r\n hideStatus\r\n />\r\n ))}\r\n </ul>\r\n );\r\n })()}\r\n </div>\r\n </div>\r\n\r\n {/* Footer */}\r\n <PreferenceFooter justify='center'>\r\n <Button variant='dark' onClick={onClickNext} disabled={showSpinner} className='px-4'>\r\n {showSpinner\r\n ? <Spinner as='span' animation='border' role='status' size='sm' />\r\n : <Text phrase={hasCompletedOnboarding.data?.value ? 'save' : 'getStarted'} />\r\n }\r\n </Button>\r\n </PreferenceFooter>\r\n </div>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"cv--container--VG65e\"};"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/audience-item/AudienceItem.tsx","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/audience-item/audience-item.scss?e8ce","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/audience-item/partial-loading/PartialAudiences.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/bulk-preference-summary/BulkPreferenceSummary.tsx","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/bulk-preference-summary/bulk-preference-summary.scss?a4fc","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/footer/PreferenceFooter.tsx","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/footer/preference-footer.scss?29ba","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/preference-item/PreferenceItem.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/preference-item/PreferenceItemStatus.tsx","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/preference-item/preference-item.scss?b5e6","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/subject-preference-grid/subject-preference-grid.scss?3ca9","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/subject-preference-item/SubjectPreferenceItem.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/subject-preference-item/partial-loading/PartialSubjectPreferences.tsx","webpack://@clickview/lite/C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/components/preferences/subject-preference-item/partial-loading/partial-subject-preferences.scss?5403","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/subjects/contexts/SubjectPreferencesContext.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseAlerts.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/subjects/views/preferences/summary/LitePreferencesSummaryView.tsx","webpack://@clickview/lite/./src/apps/subjects/views/preferences/summary/preferences-summary.scss?de02"],"names":[],"mappings":"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","file":"scripts/23.chunk.js","sourcesContent":["import * as React from 'react';\r\n\r\nimport { PresentationAudience } from 'libs/shared/interfaces';\r\n\r\nimport styles from './audience-item.scss';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\n\r\nfunction lowerCaseToTitleCase(str: string): string {\r\n return str.split(' ').map((s: string) => s.charAt(0).toUpperCase() + s.substring(1)).join(' ');\r\n}\r\n\r\nfunction getColourClass(highlight: boolean, isDisabled: boolean): string {\r\n if (highlight) return isDisabled ? `${styles.disabledHighlighted} text-light` : 'badge-info text-light';\r\n if (isDisabled) return `${styles.disabled} text-muted`;\r\n return 'badge-light';\r\n}\r\n\r\ninterface AudienceItemProps {\r\n audience: PresentationAudience;\r\n highlight: boolean;\r\n setAudience?: (audience: PresentationAudience, highlight: boolean) => void;\r\n isDisabled?: boolean;\r\n extraClasses?: string;\r\n}\r\n\r\nAudienceItem.defaultProps = {\r\n extraClasses: ''\r\n};\r\n\r\nexport function AudienceItem(props: AudienceItemProps): React.ReactElement {\r\n const { audience, highlight, setAudience, isDisabled, extraClasses } = props;\r\n\r\n const colourClass = getColourClass(highlight, isDisabled);\r\n const cursorClass = isDisabled ? 'cursor-default' : 'cursor-pointer';\r\n const className = `badge-pill d-inline-block mr-1 ${cursorClass} ${colourClass} ${extraClasses}`;\r\n\r\n const onClick = () => {\r\n if (isDisabled || !FunctionHelper.isFunction(setAudience))\r\n return;\r\n\r\n setAudience(audience, !highlight);\r\n };\r\n\r\n return (\r\n <span\r\n className={className}\r\n onClick={onClick}\r\n role='checkbox'\r\n aria-checked={highlight}\r\n >\r\n {lowerCaseToTitleCase(audience.name)}\r\n </span>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"disabled\":\"cv--disabled--1KxF9\",\"disabledHighlighted\":\"cv--disabledHighlighted--pbuec\"};","import * as React from 'react';\r\n\r\ninterface PartialAudiencesProps {\r\n count?: number;\r\n width?: number;\r\n height?: number;\r\n align?: 'left' | 'center';\r\n}\r\n\r\nexport function PartialAudiences({ width = 90, height = 35, count = 5, align = 'left' }: PartialAudiencesProps): JSX.Element {\r\n const justifyClass = align === 'center' ? 'justify-content-center' : 'justify-content-start';\r\n\r\n return (\r\n <ul className={`d-flex flex-wrap pl-0 m-0 ${justifyClass}`}>\r\n {Array(count).fill(null).map((item, i) => (\r\n <li\r\n key={i}\r\n className='partial-loading-background mx-1 mb-1 badge-pill list-unstyled'\r\n style={{ height: `${height}px`, width: `${width}px` }}\r\n />\r\n ))}\r\n </ul>\r\n );\r\n}","import React from 'react';\r\n\r\nimport styles from './bulk-preference-summary.scss';\r\n\r\ninterface BulkPreferenceSummaryProps {\r\n imageUrl: string;\r\n text: string;\r\n}\r\n\r\nexport function BulkPreferenceSummary(props: BulkPreferenceSummaryProps): JSX.Element {\r\n return (\r\n <div className='position-relative'>\r\n <div\r\n className={`w-100 ${styles.image}`}\r\n style={{ backgroundImage: `url('${props.imageUrl}')` }}\r\n />\r\n <div className={`bg-white text-nowrap font-weight-500 py-1 px-3 badge-pill m-0 ${styles.text}`}>\r\n {props.text}\r\n </div>\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"image\":\"cv--image--1AhAp\",\"text\":\"cv--text--384Un\"};","import * as React from 'react';\r\n\r\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\r\n\r\nimport styles from './preference-footer.scss';\r\n\r\ninterface PreferenceFooterProps extends React.PropsWithChildren<{}> {\r\n justify?: 'end' | 'center' | 'between';\r\n}\r\n\r\nPreferenceFooter.defaultProps = {\r\n justify: 'between'\r\n};\r\n\r\nexport function PreferenceFooter(props: PreferenceFooterProps): JSX.Element {\r\n const mediaQuery = useGetMediaQueryString();\r\n const widthClass = (mediaQuery === MediaQueryStrings.SM || mediaQuery === MediaQueryStrings.XS) ? 'w-100' : 'w-75';\r\n\r\n let justifyClass = `justify-content-${props.justify}`;\r\n\r\n return (\r\n <div className={`${widthClass} ${justifyClass} ${styles.preferenceFooter} d-flex px-3`}>\r\n {props.children}\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"preferenceFooter\":\"cv--preferenceFooter--P29kw\"};","import React from 'react';\r\n\r\nimport { ExpandableItemStatus, SelectableItemStatus } from './PreferenceItemStatus';\r\n\r\nimport styles from './preference-item.scss';\r\n\r\ninterface PreferenceItemProps {\r\n name: string;\r\n imageUrl: string;\r\n\r\n onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>) => void;\r\n isDisabled?: boolean;\r\n isSelected: boolean;\r\n hideStatus?: boolean;\r\n radioButton?: boolean;\r\n\r\n isExpandable?: boolean;\r\n expand?: boolean;\r\n selectedChildCount?: number;\r\n\r\n extraClasses?: string;\r\n}\r\n\r\nexport function PreferenceItem(props: PreferenceItemProps): JSX.Element {\r\n function getContainerClass(): string {\r\n let baseClass = styles.preferenceItem;\r\n\r\n if (props.extraClasses)\r\n baseClass += ' ' + props.extraClasses;\r\n\r\n if (props.isDisabled)\r\n baseClass += ' ' + styles.disabled;\r\n\r\n if (props.isSelected && !props.isExpandable)\r\n baseClass += ' ' + styles.selected;\r\n\r\n if (props.hideStatus)\r\n baseClass += ' ' + styles.noBorder;\r\n\r\n return baseClass;\r\n }\r\n\r\n const caretClass = `${styles.expandCaret} ${props.expand ? styles.up : styles.down}`;\r\n\r\n return (\r\n <li\r\n className={getContainerClass()}\r\n onClick={props.onClick}\r\n aria-checked={props.isSelected}\r\n aria-haspopup={props.isExpandable}\r\n role={props.isExpandable ? 'button' : 'checkbox'}\r\n style={{ backgroundImage: `url(${props.imageUrl})` }}\r\n tabIndex={0}\r\n >\r\n <div className={`${styles.textBox} p-2`}>\r\n <p className='m-0 text-truncate'>\r\n {props.name}\r\n <span className={props.isExpandable ? caretClass : ''} />\r\n </p>\r\n\r\n {!props.hideStatus && (\r\n <>{props.isExpandable\r\n ? <ExpandableItemStatus selectedChildrenCount={props.selectedChildCount} />\r\n : <SelectableItemStatus selected={props.isSelected} radioButton={props.radioButton} />\r\n }</>\r\n )}\r\n </div>\r\n </li>\r\n );\r\n}","import * as React from 'react';\r\n\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport styles from './preference-item.scss';\r\n\r\ninterface ExpandableItemStatusProps {\r\n selectedChildrenCount: number;\r\n}\r\n\r\nexport const ExpandableItemStatus = (props: ExpandableItemStatusProps): JSX.Element => {\r\n if (!props.selectedChildrenCount)\r\n return <></>;\r\n\r\n return (\r\n <div className={`${styles.itemStatus} ${styles.green}`}>\r\n {props.selectedChildrenCount}\r\n </div>\r\n );\r\n};\r\n\r\ninterface SelectableItemStatusProps {\r\n selected: boolean;\r\n radioButton?: boolean;\r\n}\r\n\r\nexport const SelectableItemStatus = (props: SelectableItemStatusProps): JSX.Element => {\r\n let svg;\r\n\r\n if (props.selected)\r\n svg = <SvgContainer svgName={cvSvgLibrary.Check} />;\r\n else if (!props.radioButton)\r\n svg = <SvgContainer svgName={cvSvgLibrary.Plus} />;\r\n else\r\n svg = <> </>;\r\n\r\n return (\r\n <div className={`${styles.itemStatus} ${props.selected ? styles.green : styles.unchecked}`}>\r\n {svg}\r\n </div>\r\n );\r\n};\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"preferenceItem\":\"cv--preferenceItem--1LDb6\",\"expandCaret\":\"cv--expandCaret--3QEWB\",\"down\":\"cv--down--2y-iF\",\"up\":\"cv--up--1kGNY\",\"disabled\":\"cv--disabled--2w4FH\",\"selected\":\"cv--selected--1lSYv\",\"noBorder\":\"cv--noBorder--3Mxuo\",\"textBox\":\"cv--textBox--3HCeK\",\"itemStatus\":\"cv--itemStatus--2msq4\",\"unchecked\":\"cv--unchecked--2VQLv\",\"green\":\"cv--green--AHd64\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"grid\":\"cv--grid--G_RXX\",\"subgrid\":\"cv--subgrid--38ohZ\"};","import * as React from 'react';\r\n\r\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\r\nimport { ImageSize } from 'libs/shared/enums/Images';\r\nimport { SubjectPreferencesContext } from 'libs/shared/apps/subjects/contexts/SubjectPreferencesContext';\r\nimport { ClassificationPreference } from 'libs/shared/apps/subjects/interfaces/ClassificationPreference';\r\nimport { PreferenceItem } from 'libs/shared/apps/subjects/components/preferences/preference-item/PreferenceItem';\r\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\r\n\r\ninterface SubjectPreferenceItemProps {\r\n subject: ClassificationPreference;\r\n selected: boolean;\r\n disabled?: boolean;\r\n onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>) => void;\r\n extraClasses?: string;\r\n hideStatus?: boolean;\r\n hasSelectedBulk?: boolean;\r\n}\r\n\r\nexport function SubjectPreferenceItem(props: SubjectPreferenceItemProps): JSX.Element {\r\n const context = React.useContext(SubjectPreferencesContext);\r\n\r\n const coverUrl = props.subject.cover ? ImageHelper.createUrl(props.subject.cover.url, { size: ImageSize.Small }) : '';\r\n\r\n const childIds = props.subject.isExpandableOption ? props.subject.children.map(child => child.id) : [];\r\n const selectedChildCount = !props.hasSelectedBulk\r\n ? context?.selectedSubjects?.filter(selection => childIds.includes(selection)).length\r\n : 0;\r\n\r\n const component = (\r\n <PreferenceItem\r\n name={props.subject.name}\r\n imageUrl={coverUrl}\r\n onClick={props.onClick}\r\n isSelected={props.selected}\r\n isDisabled={props.disabled}\r\n isExpandable={props.subject.isExpandableOption}\r\n expand={context?.expandedSubject?.id === props.subject.id}\r\n selectedChildCount={selectedChildCount}\r\n extraClasses={props.extraClasses}\r\n hideStatus={props.hideStatus}\r\n />\r\n );\r\n\r\n return props.disabled\r\n ? <span>{component}</span>\r\n : <Tooltip title={props.subject.name}><span>{component}</span></Tooltip>;\r\n}","import * as React from 'react';\r\n\r\nimport gridStyles from '../../subject-preference-grid/subject-preference-grid.scss';\r\nimport styles from './partial-subject-preferences.scss';\r\n\r\ninterface PartialSubjectPreferencesProps {\r\n count: number;\r\n style: 'grid' | 'list';\r\n}\r\n\r\nexport function PartialSubjectPreferences(props: PartialSubjectPreferencesProps): JSX.Element {\r\n const className = props.style === 'grid' ? gridStyles.grid : styles.partialSubjectList;\r\n\r\n return (\r\n <ul className={className}>\r\n {Array(props.count).fill(null).map((item, i) => (\r\n <li key={i} className={`${styles.partialSubject} partial-loading-background`} />\r\n ))}\r\n </ul>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"partialSubject\":\"cv--partialSubject--1rrH2\",\"partialSubjectList\":\"cv--partialSubjectList--15Qdz\"};","import { createContext } from 'react';\r\nimport { ClassificationPreference } from '../interfaces/ClassificationPreference';\r\n\r\ninterface SubjectPreferencesContextFields {\r\n selectedSubjects: string[];\r\n expandedSubject: ClassificationPreference;\r\n}\r\n\r\nexport const SubjectPreferencesContext = createContext<SubjectPreferencesContextFields>(undefined);","import { useService } from 'libs/common/react/hooks/UseService';\r\nimport { BaseAlertService, BaseAlert, BaseAlertOptions, AlertType, DefaultAlertHeading } from 'libs/common/backbone/services/BaseAlertService';\r\nimport { CommonServices } from 'libs/common/backbone/constants/CommonServices';\r\n\r\nexport const useAlerts = () => {\r\n const alertService = useService<BaseAlertService>(CommonServices.ALERT);\r\n\r\n return {\r\n success(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.success(alertContent)();\r\n },\r\n error(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.error(alertContent)();\r\n },\r\n warning(alertContent: string): void {\r\n alertService.createAlert({\r\n type: AlertType.Warning,\r\n heading: DefaultAlertHeading.Warning,\r\n message: alertContent\r\n });\r\n }\r\n };\r\n};","import * as React from 'react';\r\nimport Cookies from 'js-cookie';\r\nimport { Button, Spinner } from 'react-bootstrap';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { Core } from 'libs/common/core';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { SettingRequests } from 'libs/shared/flight-requests/SettingRequests';\r\nimport { PresentationAudience, Classification, CurrentUser, EntitySetting } from 'libs/shared/interfaces';\r\nimport { PreferenceRequests } from 'libs/shared/flight-requests/PreferenceRequests';\r\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\nimport { SubjectPreferenceItem } from 'libs/shared/apps/subjects/components/preferences/subject-preference-item/SubjectPreferenceItem';\r\nimport { PartialSubjectPreferences } from 'libs/shared/apps/subjects/components/preferences/subject-preference-item/partial-loading/PartialSubjectPreferences';\r\nimport { PreferenceFooter } from 'libs/shared/apps/subjects/components/preferences/footer/PreferenceFooter';\r\nimport { ClassificationPreference } from 'libs/shared/apps/subjects/interfaces/ClassificationPreference';\r\nimport { AudienceItem } from 'libs/shared/apps/subjects/components/audience-item/AudienceItem';\r\nimport { PartialAudiences } from 'libs/shared/apps/subjects/components/audience-item/partial-loading/PartialAudiences';\r\nimport { SettingName } from 'libs/shared/enums/SettingName';\r\nimport { SettingKind } from 'libs/shared/enums/SettingKind';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { BulkOnboardingPreferencesState } from 'libs/shared/enums/BulkOnboardingPreferencesState';\r\nimport { BulkPreferenceSummary } from 'libs/shared/apps/subjects/components/preferences/bulk-preference-summary/BulkPreferenceSummary';\r\n\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\n\r\nimport { OnboardingHelper } from 'apps/subjects/utils/OnboardingHelper';\r\n\r\nimport styles from './preferences-summary.scss';\r\n\r\nconst namespace = 'subjects.preferencesSummary';\r\n\r\ninterface PreferencesSummaryViewProps {\r\n redirectUrl: string;\r\n}\r\n\r\nexport function PreferencesSummaryView(props: PreferencesSummaryViewProps): JSX.Element {\r\n const [ showSpinner, setShowSpinner ] = React.useState(false);\r\n\r\n const levelPreferences = Flight.useBasicFetch<PresentationAudience[]>(PreferenceRequests.myLevelPreferences());\r\n const subjectPreferences = Flight.useBasicFetch<Classification[]>(PreferenceRequests.mySubjectPreferences());\r\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\r\n const hasCompletedOnboarding = Flight.useBasicFetch<EntitySetting<boolean>>(\r\n currentUser.statusCode ? SettingRequests.setting(currentUser.data.id, SettingName.HasCompletedOnboarding) : null);\r\n const bulkOnboardingPreferencesState = Flight.useBasicFetch<EntitySetting<BulkOnboardingPreferencesState>>(\r\n currentUser.statusCode\r\n ? SettingRequests.setting(currentUser.data.id, SettingName.BulkOnboardingPreferencesState)\r\n : null\r\n );\r\n\r\n const dispatch = useDispatch();\r\n const alerts = useAlerts();\r\n\r\n function onClickNext(): void {\r\n if (showSpinner)\r\n return;\r\n\r\n setShowSpinner(true);\r\n\r\n if (!hasCompletedOnboarding.data?.value) {\r\n Flight.fetch(dispatch, SettingRequests.updateSetting(\r\n currentUser.data?.id,\r\n SettingName.HasCompletedOnboarding,\r\n true,\r\n SettingKind.Permanent,\r\n () => {\r\n Cookies.set('_onboardingComplete', currentUser.data?.id, { expires: 30 });\r\n\r\n /**\r\n * For users just completing onboarding, we want to do a full page load so that the top nav items\r\n * can be loaded back in. The top nav items are hidden for new users who are forced through onboarding.\r\n */\r\n Core.LocationUtils.PageLoad(props.redirectUrl || '/');\r\n },\r\n () => {\r\n alerts.error(LanguageService.getPhrase(namespace, 'onboardingOptionError'));\r\n setShowSpinner(false);\r\n }\r\n ));\r\n\r\n return;\r\n }\r\n\r\n // Timeout to create illusion of changes being saved\r\n window.setTimeout(() => {\r\n setShowSpinner(false);\r\n\r\n if (props.redirectUrl) {\r\n Core.LocationUtils.PageLoad(props.redirectUrl);\r\n return;\r\n }\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.DASHBOARD,\r\n action: Actions.Dashboard.HOME\r\n });\r\n }, 250);\r\n }\r\n\r\n const bulkPreferencesState = OnboardingHelper.getBulkPreferencesState(bulkOnboardingPreferencesState.data?.value);\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <div className={`p-3 pb-5 mx-auto ${styles.container}`}>\r\n <div className='position-relative'>\r\n {/* Heading */}\r\n <div className='text-center'>\r\n <h1 className='mb-3'><Text phrase='heading' /></h1>\r\n <p className='w-25 mx-auto h6 mb-3'><Text phrase='info' /></p>\r\n </div>\r\n\r\n {/* Levels */}\r\n <div className='pb-4 w-75 mx-auto'>\r\n <div className='pb-1 d-flex align-items-center'>\r\n <h2 className='h3 mb-1 pr-1'><Text phrase='levels' /></h2>\r\n <AppLink appLink={{\r\n application: AppChannels.SUBJECT,\r\n action: Actions.Subjects.PREFERENCES,\r\n params: { step: 'levels' }\r\n }}>\r\n <SvgContainer svgName={cvSvgLibrary.Edit} />\r\n </AppLink>\r\n </div>\r\n\r\n {(() => {\r\n if (!levelPreferences.data)\r\n return <PartialAudiences count={2} />;\r\n\r\n if (bulkPreferencesState.levels)\r\n return (\r\n <BulkPreferenceSummary\r\n imageUrl='/images/onboarding/all-year-levels.png'\r\n text={LanguageService.getPhrase(namespace, 'allLevels')}\r\n />\r\n );\r\n\r\n if (!levelPreferences.data.length)\r\n return <p className='h6'><Text phrase='noLevelPreferences' /></p>;\r\n\r\n return (\r\n <ul className='m-0 p-0'>\r\n {levelPreferences.data.map(level => (\r\n <AudienceItem\r\n key={level.masterId}\r\n audience={level}\r\n extraClasses='h4 py-1 px-3 mx-1 cursor-default'\r\n highlight\r\n />\r\n ))}\r\n </ul>\r\n );\r\n })()}\r\n </div>\r\n\r\n {/* Subjects */}\r\n <div className='w-75 mx-auto'>\r\n <div className='pb-1 d-flex align-items-center'>\r\n <h2 className='h3 mb-1 pr-1'><Text phrase='subjects' /></h2>\r\n <AppLink appLink={{\r\n application: AppChannels.SUBJECT,\r\n action: Actions.Subjects.PREFERENCES,\r\n params: { step: 'subjects' }\r\n }}>\r\n <SvgContainer svgName={cvSvgLibrary.Edit} />\r\n </AppLink>\r\n </div>\r\n\r\n {(() => {\r\n if (!subjectPreferences.data)\r\n return <PartialSubjectPreferences style='list' count={5} />;\r\n\r\n if (bulkPreferencesState.subjects)\r\n return (\r\n <BulkPreferenceSummary\r\n imageUrl='/images/onboarding/all-subjects.png'\r\n text={LanguageService.getPhrase(namespace, 'allSubjects')}\r\n />\r\n );\r\n\r\n if (!subjectPreferences.data.length)\r\n return <p className='h6'><Text phrase='noSubjectPreferences' /></p>;\r\n\r\n return (\r\n <ul className='m-0 p-0 d-flex flex-wrap'>\r\n {subjectPreferences.data.map(subject => (\r\n <SubjectPreferenceItem\r\n key={subject.id}\r\n subject={subject as ClassificationPreference}\r\n extraClasses='m-1 cursor-default'\r\n selected\r\n hideStatus\r\n />\r\n ))}\r\n </ul>\r\n );\r\n })()}\r\n </div>\r\n </div>\r\n\r\n {/* Footer */}\r\n <PreferenceFooter justify='center'>\r\n <Button variant='dark' onClick={onClickNext} disabled={showSpinner} className='px-4'>\r\n {showSpinner\r\n ? <Spinner as='span' animation='border' role='status' size='sm' />\r\n : <Text phrase={hasCompletedOnboarding.data?.value ? 'save' : 'getStarted'} />\r\n }\r\n </Button>\r\n </PreferenceFooter>\r\n </div>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"cv--container--VG65e\"};"],"sourceRoot":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[24],{1023:function(e,a,t){e.exports={pillTabSelector:"_33p-_"}},1228:function(e,a,t){e.exports={partialSize:"_1HB_G"}},1229:function(e,a,t){e.exports={overviewLink:"_3Ubus",checkbox:"_11WXC",actionIcon:"_1K3UF",addStudents:"_1sqTe",studentName:"_3cfGe",group:"_2HHY1",sm:"_3_EMi",lg:"_3L-SN",moreActions:"_9PVrB"}},1230:function(e,a,t){e.exports={overviewLink:"_3Wfw9",nameHeading:"_1TlYf",colourHeading:"_3_Tfc",newGroup:"_3oBoz",group:"_3aWN8",colourPicker:"_2NcjR",actionIcon:"_3bhju"}},1303:function(e,a,t){"use strict";t.r(a);var n=t(0),o=t.n(n),r=t(73),s=t(51),c=t(14),l=t(7),i=t(2),u=t(5),m=t(10),d=t(825),p=t(1023),g=t.n(p);function v(e){return o.a.createElement("nav",null,o.a.createElement("ul",{className:"list-unstyled d-inline-block border border-dark m-0 ".concat(g.a.pillTabSelector)},e.tabs.map((function(e){return o.a.createElement("li",{className:"p-0 ".concat(e.active?"btn btn-dark":"btn btn-outline-dark"),key:e.name},o.a.createElement(d.a,{className:"cursor-pointer outline-none py-1",onClick:function(){return function(e){e.active||e.onSelect()}(e)}},e.name))}))))}var h=t(241),f=t(61),E=t(40),b=t(3),S=t(824),k=t(235),N=t(55),y=t(13),C=t(862),w=t(914),T=t(828),O=t(33),A=t(885),L=t(899);function x(e){var a="font-weight-normal text-nowrap rounded-pill py-1 px-2";return e.group.colour!==A.a.White?a+=" text-white":a+=" border border-dark",a+=" ".concat(Object(L.a)(e.group.colour)),o.a.createElement("div",{className:a},e.group.name)}var R="classrooms.classroomGroupDropdown";function M(e){var a=Object(w.a)(e.groups,{preselectedIds:e.preselections.map((function(e){return e.id}))}),t=a.onToggleItem,n=a.isChecked;var c,l,i={alignRight:!!e.alignRight};return e.disabled&&(i.show=!1),o.a.createElement(O.Dropdown,Object.assign({},i),o.a.createElement(O.Dropdown.Toggle,{as:"div",id:e.id,className:"".concat(e.disabled?"text-light":"cursor-pointer"," ").concat("mr-2 d-inline-block svg-container sm"," no-caret")},o.a.createElement(N.a,{svgName:y.b.Tag})),o.a.createElement(O.Dropdown.Menu,{className:"px-2"},o.a.createElement("p",{className:"mb-0"},o.a.createElement(r.b,{namespace:R,phrase:"groupAs"})),o.a.createElement("ul",{className:"list-unstyled pr-3"},e.groups.map((function(a){return o.a.createElement("li",{key:a.id,className:"d-flex align-items-center bg-white my-1"},o.a.createElement(C.a,{id:"".concat(e.id,":").concat(a.id),checked:n(a.id),onChange:function(){return function(a){e.onToggle(a,!n(a.id)),t(a.id)}(a)}}),o.a.createElement(x,{group:a}))}))),o.a.createElement(s.a,{onClick:function(){E.a.logUserAction({},E.a.mergeOptions(e.analyticsOptions,{actionType:b.n.Create,workflowPhase:b.o.Start,entity:b.d.ClassroomGroup}))},appLink:(c=e.classroom.id,l=e.studentIds,{application:u.a.CLASSROOMS,action:m.a.Classrooms.NEW_GROUP,args:[c],params:{addStudents:l}})},o.a.createElement(r.b,{namespace:R,phrase:"createNew"}))))}M.defaultProps={preselections:[]};var P=t(829),_=l.a.encloseNamespace("classrooms.manageClassroomStudentItem");function U(e){var a,t,n,r,s=Object(f.useDispatch)(),l=Object(S.a)(),i=c.a.useBasicFetch(P.a.getStudentsGroups(e.student.id));return o.a.createElement("div",{className:"d-flex align-items-center py-1 px-4"},o.a.createElement(C.a,{id:e.student.id,checked:e.checked,onChange:e.onToggleCheckbox,className:"mr-2"}),o.a.createElement("p",{className:"mb-0 w-25 text-truncate text-nowrap"},e.student.name," ",e.student.surname),o.a.createElement("div",{className:"mr-auto d-flex flex-wrap mt-n1"},!!(null===(a=i.data)||void 0===a?void 0:a.length)&&i.data.map((function(e){return o.a.createElement("div",{key:e.id,className:"mr-1 mt-1"},o.a.createElement(x,{group:e}))}))),o.a.createElement(M,{id:"add-group-".concat(e.student.id),classroom:e.classroom,groups:e.classroom.groups,studentIds:[e.student.id],preselections:i.data,onToggle:function(a,t){return function(e,a,t){t?c.a.fetch(s,h.a.addStudentsToGroup([e.id],a.id,(function(){E.a.logUserAction({id:a.id,studentCount:1},{actionType:b.n.Associate,entity:b.d.ClassroomGroup,descriptor:b.a.User,workflowPhase:b.o.Complete,location:b.j.ManageClassroomStudentListItem}),l.success(_("addSuccess",{studentName:e.name,groupName:a.name}))}),(function(){l.error(_("addError",{studentName:e.name,groupName:a.name}))}))):c.a.fetch(s,h.a.removeStudentsFromGroup([e.id],a.id,(function(){E.a.logUserAction({id:a.id,studentCount:1},{actionType:b.n.Dissociate,entity:b.d.ClassroomGroup,descriptor:b.a.User,workflowPhase:b.o.Complete,location:b.j.ManageClassroomStudentListItem}),l.success(_("removeSuccess",{studentName:e.name,groupName:a.name}))}),(function(){l.error(_("removeError",{studentName:e.name,groupName:a.name}))})))}(e.student,a,t)},analyticsOptions:{location:b.j.ManageClassroomStudentListItem},alignRight:!0}),o.a.createElement(T.a,{actions:[{label:_("editStudent"),appLink:(r=e.student.id,{application:u.a.USER_MANAGER,action:m.a.UserManager.EDIT_STUDENT,args:[r]}),onClick:function(){E.a.logUserAction({id:e.student.id},{actionType:b.n.Edit,entity:b.d.User,workflowPhase:b.o.Start,location:b.j.ManageClassroomStudentListItem})}},{label:_("removeStudent"),appLink:(t=e.student.id,n=e.classroom.id,{application:u.a.CLASSROOMS,action:m.a.Classrooms.REMOVE_STUDENTS,args:[n],params:{studentIds:[t]}}),onClick:function(){E.a.logUserAction({id:e.classroom.id,userId:e.student.id},{actionType:b.n.Dissociate,entity:b.d.Classroom,descriptor:b.a.User,workflowPhase:b.o.Start,location:b.j.ManageClassroomStudentListItem})}}],actionsDropdownClassName:"btn"}))}var G=l.a.encloseNamespace("classrooms.manageClassroomStudents");function j(e){var a=e.classroom.students,t=Object(f.useDispatch)(),o=Object(S.a)(),s=Object(w.a)(a),l=s.onToggleBulk,p=s.onToggleItem,g=s.getSelected,v=s.isChecked,T=s.bulkChecked,O=g().length,A=c.a.useBasicFetch(h.a.getGroupsWithAllStudents(a));return n.createElement(n.Fragment,null,n.createElement("div",{className:"d-flex align-items-center py-2 px-4"},n.createElement(C.a,{id:"manage-classroom-students-bulk",onChange:l,checked:T,className:"mr-4"}),n.createElement(M,{id:"bulk-add-group",classroom:e.classroom,studentIds:g(),groups:e.classroom.groups,onToggle:function(e,a){var n=g();a?c.a.fetch(t,h.a.addStudentsToGroup(n,e.id,(function(){E.a.logUserAction({id:e.id,studentCount:n.length},{actionType:b.n.Associate,entity:b.d.ClassroomGroup,descriptor:b.a.User,workflowPhase:b.o.Complete,location:b.j.ManageClassroomStudents}),o.success(G("addSuccess",{groupName:e.name}))}),(function(){o.error(G("addError",{groupName:e.name}))}))):c.a.fetch(t,h.a.removeStudentsFromGroup(n,e.id,(function(){E.a.logUserAction({id:e.id,studentCount:n.length},{actionType:b.n.Dissociate,entity:b.d.ClassroomGroup,descriptor:b.a.User,workflowPhase:b.o.Complete,location:b.j.ManageClassroomStudents}),o.success(G("removeSuccess",{groupName:e.name}))}),(function(){o.error(G("removeError",{groupName:e.name}))})))},disabled:!O,preselections:A.data,analyticsOptions:{location:b.j.ManageClassroomStudents}}),n.createElement(d.a,{className:"mr-auto ".concat(O?"":"text-light cursor-default"),onClick:function(){O&&(E.a.logUserAction({id:e.classroom.id},{entity:b.d.Classroom,descriptor:b.a.User,workflowPhase:b.o.Start,actionType:b.n.Dissociate,location:b.j.ManageClassroomStudents}),i.a.AppLinkHelper.trigger({application:u.a.CLASSROOMS,action:m.a.Classrooms.REMOVE_STUDENTS,args:[e.classroom.id],params:{studentIds:g()}}))}},n.createElement(N.a,{svgName:y.b.Delete})),n.createElement(k.a,{onClick:function(){E.a.logUserAction({id:e.classroom.id},{entity:b.d.Classroom,descriptor:b.a.User,workflowPhase:b.o.Start,actionType:b.n.Associate,location:b.j.ManageClassroomStudents}),i.a.AppLinkHelper.trigger({application:u.a.CLASSROOMS,action:m.a.Classrooms.ADD_STUDENTS,args:[e.classroom.id]})},svgName:y.b.Plus,className:"btn btn-outline-dark"},n.createElement(r.b,{namespace:"classrooms.manageClassroomStudents",phrase:"addStudent"}))),n.createElement("ul",{className:"striped-list list-unstyled"},a.map((function(a){return n.createElement("li",{key:a.id},n.createElement(U,{classroom:e.classroom,student:a,checked:v(a.id),onToggleCheckbox:function(){return p(a.id)}}))}))))}var D=t(925);function I(e){return o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"d-flex align-items-center"},o.a.createElement("p",{className:"w-50 m-0"},e.group.name),o.a.createElement("div",{className:"d-inline-block mr-4"},o.a.createElement(D.a,{selection:e.group.colour,id:"".concat(e.group.id,"-classroom-group-list-item"),disabled:!0})),o.a.createElement(d.a,{className:"mr-2",onClick:function(){E.a.logUserAction({id:e.group.id},{entity:b.d.ClassroomGroup,workflowPhase:b.o.Start,actionType:b.n.Edit,location:b.j.ManageClassroomGroupListItem}),i.a.AppLinkHelper.trigger({application:u.a.CLASSROOMS,action:m.a.Classrooms.EDIT_GROUP,args:[e.classroom.id,e.group.id]})}},o.a.createElement(N.a,{svgName:y.b.Edit})),o.a.createElement(d.a,{onClick:function(){E.a.logUserAction({id:e.group.id},{entity:b.d.ClassroomGroup,workflowPhase:b.o.Start,actionType:b.n.Delete,location:b.j.ManageClassroomGroupListItem}),i.a.AppLinkHelper.trigger({application:u.a.CLASSROOMS,action:m.a.Classrooms.DELETE_GROUP,args:[e.classroom.id,e.group.id]})}},o.a.createElement(N.a,{svgName:y.b.Delete}))))}function H(e){return n.createElement(r.a.Provider,{value:"classrooms.manageClassroomGroups"},n.createElement("div",{className:"px-4 py-2"},n.createElement("div",{className:"d-flex align-items-center"},n.createElement("h2",{className:"h6 w-50"},n.createElement(r.b,{phrase:"groupName"})),n.createElement("h2",{className:"h6 w-25"},n.createElement(r.b,{phrase:"colour"})),n.createElement(k.a,{appLink:(a=e.classroom.id,{application:u.a.CLASSROOMS,action:m.a.Classrooms.NEW_GROUP,args:[a]}),onClick:function(){E.a.logUserAction({classroomId:e.classroom.id},{workflowPhase:b.o.Start,entity:b.d.ClassroomGroup,actionType:b.n.Create,location:b.j.ManageClassroomGroups})},className:"btn btn-outline-dark ml-auto",svgName:y.b.Plus},n.createElement(r.b,{phrase:"createNew"}))),n.createElement("ul",{className:"list-unstyled"},e.classroom.groups.map((function(a){return n.createElement("li",{key:a.id,className:"mb-2"},n.createElement(I,{classroom:e.classroom,group:a}))})))));var a}var B=t(927);function F(e){return o.a.createElement(r.a.Provider,{value:"classrooms.manageClassroomStudentsEmptyState"},o.a.createElement("div",{className:"text-center pt-5"},o.a.createElement("img",{style:{width:"200px",height:"200px"},className:"pb-3",src:"/images/empty-states/classroom-students-empty.png",role:"presentation",alt:""}),o.a.createElement("h2",{className:"h6"},o.a.createElement(r.b,{phrase:"emptyStateHeading"})),o.a.createElement("p",{className:"mb-3"},o.a.createElement(r.b,{phrase:"emptyStateInfo"})),o.a.createElement(B.a,null,o.a.createElement(r.b,{phrase:"videoButton"})),o.a.createElement(k.a,{className:"btn btn-dark",onClick:function(){i.a.AppLinkHelper.trigger({application:u.a.CLASSROOMS,action:m.a.Classrooms.ADD_STUDENTS,args:[e.classroom.id]})},svgName:y.b.Plus},o.a.createElement(r.b,{phrase:"addStudents"}))))}var K=t(1228),W=t.n(K);function Y(){return o.a.createElement("div",{className:"partial-loading-background ".concat(g.a.pillTabSelector," ").concat(W.a.partialSize)})}var J=t(1229),q=t.n(J);function V(){return o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"mb-3 ml-4 partial-loading-background ".concat(q.a.overviewLink)}),o.a.createElement("div",{className:"pl-4 pb-2"},o.a.createElement(Y,null)),o.a.createElement("div",{className:"d-flex align-items-center py-2 px-4"},o.a.createElement("div",{className:"mr-4 partial-loading-background ".concat(q.a.checkbox)}),o.a.createElement("div",{className:"mr-2 partial-loading-background ".concat(q.a.actionIcon)}),o.a.createElement("div",{className:"mr-auto partial-loading-background ".concat(q.a.actionIcon)}),o.a.createElement("div",{className:"partial-loading-background ".concat(q.a.addStudents)})),o.a.createElement("ul",{className:"striped-list list-unstyled"},Array(20).fill(null).map((function(e,a){return o.a.createElement("li",{key:a},o.a.createElement("div",{className:"d-flex align-items-center py-1 px-4"},o.a.createElement("div",{className:"mr-2 partial-loading-background ".concat(q.a.checkbox)}),o.a.createElement("div",{className:"w-25"},o.a.createElement("div",{className:"partial-loading-background ".concat(q.a.studentName)})),o.a.createElement("div",{className:"mr-auto d-flex"},Math.random()>.5?o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"partial-loading-background rounded-pill mr-1 ".concat(q.a.group," ").concat(q.a.lg)}),o.a.createElement("div",{className:"partial-loading-background rounded-pill ".concat(q.a.group," ").concat(q.a.sm)})):o.a.createElement("div",{className:"partial-loading-background rounded-pill ".concat(q.a.group," ").concat(q.a.sm)})),o.a.createElement("div",{className:"mr-2 partial-loading-background ".concat(q.a.actionIcon)}),o.a.createElement("div",{className:"partial-loading-background ".concat(q.a.moreActions)})))}))))}var z=t(1230),Q=t.n(z);function X(){return o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"mb-3 ml-4 partial-loading-background ".concat(Q.a.overviewLink)}),o.a.createElement("div",{className:"pl-4 pb-2"},o.a.createElement(Y,null)),o.a.createElement("div",{className:"px-4 py-2"},o.a.createElement("div",{className:"d-flex align-items-center"},o.a.createElement("div",{className:"w-50 mb-2"},o.a.createElement("div",{className:"partial-loading-background ".concat(Q.a.nameHeading)})),o.a.createElement("div",{className:"w-25 mb-2"},o.a.createElement("div",{className:"partial-loading-background ".concat(Q.a.colourHeading)})),o.a.createElement("div",{className:"partial-loading-background ml-auto ".concat(Q.a.newGroup)})),o.a.createElement("ul",{className:"list-unstyled"},Array(8).fill(null).map((function(e,a){return o.a.createElement("li",{key:a,className:"mb-2"},o.a.createElement("div",{className:"d-flex align-items-center"},o.a.createElement("div",{className:"w-50"},o.a.createElement("div",{className:"partial-loading-background ".concat(Q.a.group)})),o.a.createElement("div",{className:"d-inline-block mr-4"},o.a.createElement("div",{className:"partial-loading-background ".concat(Q.a.colourPicker)})),o.a.createElement("div",{className:"partial-loading-background mr-2 ".concat(Q.a.actionIcon)}),o.a.createElement("div",{className:"partial-loading-background ".concat(Q.a.actionIcon)})))})))))}var Z=t(237);t.d(a,"ManageClassroomView",(function(){return ee}));var $=l.a.encloseNamespace("classrooms.manageClassroom");function ee(e){var a=c.a.useBasicFetch(h.a.getClassroom(e.id));Object(Z.a)($("students"===e.activeTab?"pageTitleStudents":"pageTitleGroups"));var t=[{name:$("students"),onSelect:function(){i.a.AppLinkHelper.trigger({application:u.a.CLASSROOMS,action:m.a.Classrooms.MANAGE_CLASSROOM,args:[e.id],params:{tab:"students"}})},active:"students"===e.activeTab},{name:$("groups"),onSelect:function(){i.a.AppLinkHelper.trigger({application:u.a.CLASSROOMS,action:m.a.Classrooms.MANAGE_CLASSROOM,args:[e.id],params:{tab:"groups"}})},active:"groups"===e.activeTab}];return o.a.createElement(r.a.Provider,{value:"classrooms.manageClassroom"},o.a.createElement("h1",{className:"mb-1 pl-4"},o.a.createElement(r.b,{phrase:"heading"})),function(){var n,c;if(!a.data)switch(e.activeTab){case"students":return o.a.createElement(V,null);case"groups":return o.a.createElement(X,null)}var l,i=!!(null===(n=a.data.students)||void 0===n?void 0:n.length);switch(e.activeTab){case"students":c=i?j:F;break;case"groups":c=H}return o.a.createElement("div",{className:"px-3"},o.a.createElement("p",{className:"pb-3 pl-4 mb-0"},o.a.createElement(r.b,{phrase:"goTo"}),o.a.createElement(s.a,{className:"info-link",appLink:(l=e.id,{application:u.a.CLASSROOMS,action:m.a.Classrooms.CLASSROOM,args:[l]})},a.data.name)),o.a.createElement("div",{className:"pl-4 pb-2"},o.a.createElement(v,{tabs:t})),o.a.createElement(c,{classroom:a.data}))}())}ee.defaultProps={activeTab:"students"}},829:function(e,a,t){"use strict";t.d(a,"a",(function(){return u}));var n=t(14),o=t(79),r=t(21),s=t(840),c=t(833),l=t(834),i=t(835),u={getSchoolStudents:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=e.filter,t=void 0===a?"":a,r=e.q,l=void 0===r?"":r,i=e.query,u=void 0===i?"":i,m=e.cursor,d=void 0===m?"1":m;return{url:o.a.urlBuilder("api/domain/v1/school/:id/students",e),key:"school:students:".concat(l,":").concat(u,":").concat(t,":").concat(d),successResponse:function(){var e=s.a.revertFilterString(t),a=n.a.Simulator.getAll("school:students",c).filter((function(a){var n,o;return!(l&&!a.name.toLowerCase().includes(l.toLowerCase()))&&(!t||(!e.yearLevel||e.yearLevel===a.yearLevel.id)&&!((null===(n=e.classroom)||void 0===n?void 0:n.length)&&!e.classroom.includes(null===(o=a.classroom)||void 0===o?void 0:o.id)))})),o=s.a.convertWithStatementToObject(u),r=o.sortValue||"name",i=a.sort((function(e,a){return e[r].toLowerCase()<a[r].toLowerCase()?-1:e[r].toLowerCase()>a[r].toLowerCase()?1:0}));o.sortKey&&"orderbydesc"===o.sortKey&&(i=i.reverse());var m=i.slice(25*(+d-1),25*+d),p=i.slice(25*+d).length?+d+1:void 0,g="1"===d?void 0:+d-1;return m.length||(m=i.slice(0,25),p=i.slice(25).length?2:void 0,g=void 0),{data:m,pagination:{cursors:{next:p,previous:g}},count:i.length}},timeout:500}},tempGetAllStudents:function(){return{url:"",key:"get:all:dem:students",successResponse:function(){return n.a.Simulator.getAll("school:students")}}},removeStudentsFromSchool:function(e,a){return{url:"",key:"remove:school:students",invalidationKeys:["school:students"],successResponse:function(){return n.a.Simulator.delete("school:students",e),{}},always:a}},getStudent:function(e){return{url:"/api/domain/v1/users/".concat(e),key:"students:".concat(e),successResponse:function(){return n.a.Simulator.get("school:students",e)}}},createStudent:function(e,a,t){return{url:"/api/domain/v1/users",key:"create:student",type:r.a.POST,invalidationKeys:["school:students"],successResponse:function(){return n.a.Simulator.create("school:students",e)},success:a,error:t}},bulkCreateStudents:function(e,a,t,o){return{url:"/api/domain/v1/users",key:"create:students",type:r.a.POST,invalidationKeys:["school:students"],successResponse:function(){return e.forEach((function(e){return n.a.Simulator.create("school:students",e)})),e},success:a,error:t,always:o}},updateStudent:function(e,a,t){return{url:"/api/domain/v1/users",key:"edit:student",type:r.a.PUT,invalidationKeys:["school:students"],successResponse:function(){return n.a.Simulator.update("school:students",e)},success:a,error:t}},getSchoolTeachers:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=e.filter,t=void 0===a?"":a,r=e.q,s=void 0===r?"":r,c=e.query,i=void 0===c?"":c,u=e.cursor,m=void 0===u?"":u;return{url:o.a.urlBuilder("api/domain/v1/school/:id/teachers",e),key:"school:teachers:".concat(s,":").concat(i,":").concat(t,":").concat(m),successResponse:function(){var e=n.a.Simulator.getAll("school:teachers",l);return{data:e,pagination:{cursors:{}},count:e.length}},timeout:2e3}},removeTeachersFromSchool:function(e,a){return{url:"",key:"remove:school:teachers",invalidationKeys:["school:teachers"],successResponse:function(){return n.a.Simulator.delete("school:teachers",e),{}},always:a}},getTeacher:function(e){return{url:"/api/domain/v1/users/".concat(e),key:"teachers:".concat(e),successResponse:function(){return n.a.Simulator.get("school:teachers",e)}}},createTeacher:function(e,a,t){return{url:"/api/domain/v1/users",key:"create:teacher",type:r.a.POST,invalidationKeys:["school:teachers"],successResponse:function(){return n.a.Simulator.create("school:teachers",e)},success:a,error:t}},bulkCreateTeachers:function(e,a,t,o){return{url:"/api/domain/v1/users",key:"create:teachers",type:r.a.POST,invalidationKeys:["school:teachers"],successResponse:function(){return e.forEach((function(e){return n.a.Simulator.create("school:teachers",e)})),e},success:a,error:t,always:o}},updateTeacher:function(e,a,t){return{url:"/api/domain/v1/users",key:"edit:teacher",type:r.a.PUT,invalidationKeys:["school:teachers"],successResponse:function(){return n.a.Simulator.update("school:teachers",e)},success:a,error:t}},getUserRoles:function(){return{url:"/api/domain/v1/users/roles",key:"user:roles",successResponse:function(){return n.a.Simulator.getAll("user:roles",i)}}},getStudentsGroups:function(e){return{url:"/api/domain/v1/users/".concat(e,"/groups"),key:"user:".concat(e,":groups"),successResponse:function(){return n.a.Simulator.getAll("groups").filter((function(a){return!!a.students.find((function(a){return a.id===e}))}))}}}}},833:function(e){e.exports=JSON.parse('[{"username":"Joosh","name":"Joshua","surname":"Taylor","email":"joshua.taylor@clickview.com.au","yearLevel":{"id":"year-2","name":"Year 2"},"classroom":{"id":"classroom-2-c","name":"Classroom 2-C"}},{"username":"Shale","name":"Shale","surname":"Kuzmanovski","email":"shale.kuzmanovski@clickview.com.au","yearLevel":{"id":"year-2","name":"Year 2"},"classroom":{"id":"classroom-2-a","name":"Classroom 2-A"}},{"username":"Mike","name":"Michael","surname":"O\'McDonald","email":"michael.mcdonnell@clickview.com.au","yearLevel":{"id":"year-2","name":"Year 2"},"classroom":{"id":"classroom-2-a","name":"Classroom 2-A"}},{"username":"Met","name":"Matt","surname":"Trengrove","email":"matt@clickview.com.au","yearLevel":{"id":"year-2","name":"Year 2"},"classroom":{"id":"classroom-2-b","name":"Classroom 2-B"}},{"username":"Big Kev","name":"Don Kevin","surname":"Wellalagodage","email":"kevin.wellalagoladegelagodage@clickview.com.au","yearLevel":{"id":"year-2","name":"Year 1"},"classroom":{"id":"classroom-1-a","name":"Classroom 1-A"}}]')},834:function(e){e.exports=JSON.parse('[{"username":"beb","name":"Beverly","surname":"Li","email":"beverly.li@clickview.com.au","userRole":{"id":"assistant-principal","name":"Assistant Principal"}},{"username":"Bort","name":"Cameron","surname":"Hill","email":"cameron.hill@clickview.com.au","userRole":{"id":"principal","name":"Principal"}},{"username":"jaynice","name":"Janice","surname":"Quach","email":"janice.quach@clickview.com.au","userRole":{"id":"head-of-science","name":"Head of Science"}},{"username":"bread","name":"Prad","surname":"Nepal","email":"prad.nepal@clickview.com.au","userRole":{"id":"head-of-conpiracy-theories","name":"Head of Conspiracy Theories"}}]')},835:function(e){e.exports=JSON.parse('[{"id":"teacher","name":"Teacher"},{"id":"assistant-principal","name":"Assistant Principal"},{"id":"principal","name":"Principal"},{"id":"head-of-science","name":"Head of Science"},{"id":"head-of-conpiracy-theories","name":"Head of Conspiracy Theories"}]')},885:function(e,a,t){"use strict";var n;t.d(a,"a",(function(){return n})),function(e){e.White="white",e.Pink="pink",e.YellowOrange="yellow-orange",e.Emerald="emerald",e.PuertoRico="puerto-rico",e.PictonBlue="picton-blue",e.EastSide="east-side",e.Portage="portage"}(n||(n={}))},899:function(e,a,t){"use strict";function n(e){return"bg-".concat(e)}t.d(a,"a",(function(){return n}))},925:function(e,a,t){"use strict";t.d(a,"a",(function(){return p}));var n=t(0),o=t.n(n),r=t(33),s=t(825),c=t(55),l=t(13),i=t(885),u=t(899),m=t(926),d=t.n(m);function p(e){function a(a){var t="".concat(d.a.colourOption," position-relative"),n=a===i.a.White?"border border-dark":"",o=e.disabled?"cursor-default":"",r=Object(u.a)(a);return"".concat(t," ").concat(n," ").concat(o," ").concat(r)}var t,n,m={};return e.disabled&&(m.show=!1),o.a.createElement(r.Dropdown,Object.assign({},m),o.a.createElement(r.Dropdown.Toggle,{id:e.id,variant:"link",className:(t="".concat(d.a.dropdownToggle," outline-none p-0 d-flex align-items-center text-decoration-none"),n=e.disabled?"cursor-default":"","".concat(t," ").concat(n))},o.a.createElement("div",{className:"border border-secondary rounded bg-white ".concat(d.a.colourButton)},o.a.createElement("div",{className:"px-0 py-1 rounded ".concat(Object(u.a)(e.selection))}," ")),!e.disabled&&o.a.createElement(c.a,{svgName:l.b.Caret})),o.a.createElement(r.Dropdown.Menu,null,o.a.createElement("ul",{className:"".concat(d.a.colourList," list-unstyled d-flex flex-wrap px-2 m-0")},Object.keys(i.a).map((function(t){var n=i.a[t];return o.a.createElement("li",{key:"".concat(e.id,":").concat(n),className:"m-1"},o.a.createElement(s.a,{onClick:function(){return e.onSelect(n)},className:a(n)},n===i.a.White?o.a.createElement("div",{className:d.a.lineThrough}):o.a.createElement(o.a.Fragment,null," ")))})))))}p.defaultProps={selection:i.a.White,onSelect:function(){}}},926:function(e,a,t){e.exports={dropdownToggle:"_347DY",colourButton:"_1rKvE",colourList:"_328-w",colourOption:"_1Tw7u",lineThrough:"_18oZq"}},927:function(e,a,t){"use strict";t.d(a,"a",(function(){return c}));var n=t(0),o=t.n(n),r=t(235),s=t(13);function c(e){return o.a.createElement(r.a,{className:"btn btn-outline-info d-block mx-auto mb-3",svgName:s.b.Video},e.children)}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/div-button/DivButton.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/forms/form-checkbox/Checkbox.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/toggle-switch/ToggleSwitch.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseAlerts.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/EmbedHelper.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/components/share/copy-embed-html/CopyEmbedHtml.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/components/share/copy-embed-html/copy-embed-html.scss","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/components/share/sharee-item/ShareeItem.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/components/share/tokenized-typeahead/InputSelection.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/components/share/tokenized-typeahead/TokenizedTypeahead.tsx","webpack://@clickview/lite/./src/shared/components/share/tokenized-typeahead/tokenized-typeahead.scss?e9fc","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/flight-requests/SeriesRequests.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/flight-requests/ShareRequests.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/views/share/ShareView.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/views/share/main-view/MainShareView.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/views/share/main-view/main-share.scss","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/views/share/settings-view/ShareSettingsView.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/views/share/settings-view/share-settings.scss"],"names":[],"mappings":"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","file":"scripts/24.chunk.js","sourcesContent":["import * as React from 'react';\r\n\r\ninterface DivButtonProps extends React.ButtonHTMLAttributes<HTMLDivElement> {\r\n onClick: (...args: any) => any;\r\n}\r\n\r\n/**\r\n * This element lets us use `div` elements as buttons without losing the accessibility of\r\n * a regular HTML button element\r\n */\r\nexport function DivButton(props: React.PropsWithChildren<DivButtonProps>): JSX.Element {\r\n return (\r\n <div\r\n role='button'\r\n tabIndex={0}\r\n className={`${props.className ? props.className : ''} cursor-pointer`}\r\n onKeyDown={(e: React.KeyboardEvent) => e.key === 'Enter' && props.onClick(e)}\r\n onClick={props.onClick}\r\n style={props.style ? props.style : {}}\r\n >\r\n {props.children}\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\n\r\ninterface CheckboxProps {\r\n id: string;\r\n checked: boolean;\r\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n label?: string;\r\n name?: string;\r\n className?: string;\r\n}\r\n\r\nCheckbox.defaultProps = {\r\n checked: false,\r\n label: '',\r\n className: ''\r\n};\r\n\r\n/**\r\n * Use this checkbox outside of Formik contexts\r\n */\r\nexport function Checkbox(props: CheckboxProps): JSX.Element {\r\n return (\r\n <div className={`custom-control custom-checkbox ${props.className}`}>\r\n <input\r\n type='checkbox'\r\n className='custom-control-input'\r\n id={props.id}\r\n name={props.name}\r\n checked={props.checked}\r\n onChange={props.onChange}\r\n />\r\n <label className='custom-control-label cursor-pointer' htmlFor={props.id}>{props.label}</label>\r\n </div>\r\n );\r\n}","import React from 'react';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\n\r\ninterface ToggleSwitchProps {\r\n onClick: (...args: any) => any;\r\n on: boolean;\r\n disabled?: boolean;\r\n\r\n // Using this goes against proper a11y practices, but it's been added for situations where it looks better\r\n hideOutline?: boolean;\r\n}\r\n\r\nexport function ToggleSwitch(props: ToggleSwitchProps): JSX.Element {\r\n function onClick(...args: any): void {\r\n if (props.disabled)\r\n return;\r\n\r\n props.onClick(...args);\r\n }\r\n\r\n const bootstrapClasses = 'd-inline-block float-right align-top custom-toggle toggle-option';\r\n const onClass = (props.on && !props.disabled) ? 'on' : '';\r\n const disabledClass = props.disabled ? 'disabled' : '';\r\n const outlineClass = props.hideOutline ? 'outline-none' : '';\r\n\r\n return (\r\n <DivButton\r\n onClick={onClick}\r\n className={`${bootstrapClasses} ${onClass} ${disabledClass} ${outlineClass}`}\r\n >\r\n <span className='handle' />\r\n </DivButton>\r\n );\r\n}","import { useService } from 'libs/common/react/hooks/UseService';\r\nimport { BaseAlertService, BaseAlert, BaseAlertOptions, AlertType, DefaultAlertHeading } from 'libs/common/backbone/services/BaseAlertService';\r\nimport { CommonServices } from 'libs/common/backbone/constants/CommonServices';\r\n\r\nexport const useAlerts = () => {\r\n const alertService = useService<BaseAlertService>(CommonServices.ALERT);\r\n\r\n return {\r\n success(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.success(alertContent)();\r\n },\r\n error(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.error(alertContent)();\r\n },\r\n warning(alertContent: string): void {\r\n alertService.createAlert({\r\n type: AlertType.Warning,\r\n heading: DefaultAlertHeading.Warning,\r\n message: alertContent\r\n });\r\n }\r\n };\r\n};","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nconst namespace = 'shared.shared-utils';\r\n\r\nexport interface EmbedResolution {\r\n width: '100%' | '640' | '1014' | '1280';\r\n height: '100%' | '360' | '576' | '720';\r\n label: string;\r\n}\r\n\r\nexport const EmbedHelper = {\r\n getEmbedResolutions(): EmbedResolution[] {\r\n return [\r\n {\r\n label: LanguageService.getPhrase(namespace, 'responsive'),\r\n width: '100%',\r\n height: '100%'\r\n },\r\n {\r\n label: LanguageService.getPhrase(namespace, 'small'),\r\n width: '640',\r\n height: '360'\r\n },\r\n {\r\n label: LanguageService.getPhrase(namespace, 'medium'),\r\n width: '1014',\r\n height: '576'\r\n },\r\n {\r\n label: LanguageService.getPhrase(namespace, 'large'),\r\n width: '1280',\r\n height: '720'\r\n }\r\n ];\r\n }\r\n};","import React from 'react';\r\nimport * as CopyToClipboard from 'react-copy-to-clipboard';\r\nimport { Dropdown } from 'react-bootstrap';\r\n\r\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\r\nimport { EmbedResolution, EmbedHelper } from 'libs/shared/utils/EmbedHelper';\r\nimport { Text, LanguageNamespaceContext } from 'libs/shared/components/text/Text';\r\n\r\nimport styles from './copy-embed-html.scss';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\r\nimport { UserAction, ClickDescriptor } from 'libs/analytics/interfaces';\r\n\r\nconst namespace = 'share.copyEmbedHtml';\r\n\r\ntype CopyEmbedHtmlProps = PropsWithAnalyticsOptions<{\r\n entityId: string;\r\n shortCode: string;\r\n}>;\r\n\r\nexport function CopyEmbedHtml(props: CopyEmbedHtmlProps): JSX.Element {\r\n const videoSizes = EmbedHelper.getEmbedResolutions();\r\n\r\n const [ copyBtnPhrase, setCopyBtnPhrase ] = React.useState<'copy' | 'copied'>('copy');\r\n const [ autoplay, setAutoplay ] = React.useState(false);\r\n const [ videoSize, setVideoSize ] = React.useState<EmbedResolution>(videoSizes.find(s => s.width === '100%'));\r\n\r\n // TODO: This embed string will likely get generated by the backend once that's done, so this will probably go.\r\n function getEmbedString(): string {\r\n const baseUrl = 'https://localhost:5001/share/embed';\r\n\r\n const dynamicAttributes = videoSize.width === '100%'\r\n ? 'style=\"position:absolute; top:0; left:0; width:100%; height:100%;\"'\r\n : `width=\"${videoSize.width}\" height=\"${videoSize.height}\"`;\r\n\r\n const fixedAttributes = 'frameborder=\"0\" allowfullscreen webkitallowfullscreen mozallowfullscreen';\r\n\r\n const src = `src=\"${baseUrl}/${props.shortCode}?a=${autoplay}\"`;\r\n\r\n return `<iframe ${dynamicAttributes} ${fixedAttributes} ${src}></iframe>`;\r\n }\r\n\r\n function onCopy(): void {\r\n setCopyBtnPhrase('copied');\r\n\r\n AnalyticsHelper.logUserAction({\r\n id: props.entityId,\r\n size: videoSize,\r\n autoplay\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Click,\r\n descriptor: ClickDescriptor.CopyEmbedHtml\r\n }));\r\n }\r\n\r\n const embedString = getEmbedString();\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <label className='m-0'><Text namespace={namespace} phrase='label' /></label>\r\n <div className='position-relative mb-2'>\r\n <textarea\r\n className='form-control rounded w-100 h-100 bg-white border-dark'\r\n spellCheck={false}\r\n value={embedString}\r\n rows={5}\r\n readOnly\r\n />\r\n <div className={`input-group-append rounded ${styles.copyBtnContainer}`}>\r\n <CopyToClipboard onCopy={onCopy} text={embedString}>\r\n <button className={`btn bg-white ${styles.copyBtn}`}>\r\n <Text phrase={copyBtnPhrase} />\r\n </button>\r\n </CopyToClipboard>\r\n </div>\r\n </div>\r\n\r\n <div className='d-flex align-items-center'>\r\n <div className='mr-1'>\r\n <Text phrase='videoSize' />\r\n </div>\r\n <div className='pr-3'>\r\n <Dropdown>\r\n <Dropdown.Toggle id='embed-resolution' variant='outline-dark'>\r\n {videoSize.label}\r\n </Dropdown.Toggle>\r\n\r\n <Dropdown.Menu>\r\n {videoSizes.map(size => (\r\n <Dropdown.Item\r\n key={`${size.width}x${size.height}`}\r\n onClick={() => setVideoSize(size)}\r\n >\r\n {size.label}\r\n </Dropdown.Item>\r\n ))}\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n </div>\r\n\r\n <div className='mr-1'>\r\n <Text phrase='autoplay' />\r\n </div>\r\n <Checkbox id={props.shortCode} checked={autoplay} onChange={() => setAutoplay(!autoplay)} />\r\n </div>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"copyBtnContainer\":\"cv--copyBtnContainer--3SR_7\",\"copyBtn\":\"cv--copyBtn--B_4l9\"};","import React from 'react';\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\nimport { Avatar } from 'libs/shared/components/avatar/Avatar';\r\n\r\ninterface ShareeItemProps {\r\n entity: BaseObject;\r\n}\r\n\r\nexport function ShareeItem(props: ShareeItemProps): JSX.Element {\r\n return (\r\n <div className='d-flex align-items-center'>\r\n <div className='pr-2'>\r\n {/* TODO: Add avatar to user and classroom models? */}\r\n <Avatar imageUrl='' imageCdnUrl='' initials='' />\r\n </div>\r\n\r\n <div>\r\n <h4 className='font-size-normal font-weight-normal m-0'>{props.entity.name}</h4>\r\n <p className='text-muted m-0'>Email or classroom count here idk</p>\r\n </div>\r\n\r\n <div>\r\n\r\n </div>\r\n </div>\r\n );\r\n}","import React from 'react';\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\n\r\nimport styles from './tokenized-typeahead.scss';\r\n\r\nfunction mapEntityTypeToBackgroundColor(entityType: string): string {\r\n switch (entityType) {\r\n case 'user': {\r\n return styles.selectedUser;\r\n }\r\n\r\n case 'classroom': {\r\n return styles.selectedClassroom;\r\n }\r\n }\r\n}\r\n\r\ninterface InputSelectionProps {\r\n selection: BaseObject;\r\n onClickRemove: (id: string) => void;\r\n}\r\n\r\nexport function InputSelection(props: InputSelectionProps): JSX.Element {\r\n const colourClass = mapEntityTypeToBackgroundColor('user');\r\n\r\n return (\r\n <div className={`${colourClass} d-flex align-items-center pl-2 pr-1 mr-1 mt-1`}>\r\n <span className='mr-1'>{props.selection.name}</span>\r\n\r\n <DivButton className='cursor-pointer' onClick={() => props.onClickRemove(props.selection.id)}>\r\n <SvgContainer svgName={cvSvgLibrary.Close} />\r\n </DivButton>\r\n </div>\r\n );\r\n}","import React from 'react';\r\n\r\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\nimport { SearchBar } from 'libs/shared/components/search-bar/SearchBar';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { ShareeItem } from 'shared/components/share/sharee-item/ShareeItem';\r\nimport { InputSelection } from './InputSelection';\r\n\r\nimport styles from './tokenized-typeahead.scss';\r\n\r\nconst namespace = 'shared.tokenizedTypeahead';\r\n\r\ninterface TokenizedTypeaheadProps {\r\n placeholder: string;\r\n selections: BaseObject[];\r\n updateSelections: (suggestion: BaseObject) => void;\r\n removeSelection: (id: string) => void;\r\n recentSearchHeading?: string;\r\n endpoint?: string;\r\n localSuggestions?: BaseObject[];\r\n}\r\n\r\n/**\r\n * This component extends the functionality of the `SearchBar` component by\r\n * displaying a list of selections as tokens inside the search bar.\r\n * \r\n * Any component using this component is responsible for managing the state of\r\n * these tokens (selections). See `MainShareView` for an example.\r\n */\r\nexport function TokenizedTypeahead(props: TokenizedTypeaheadProps): JSX.Element {\r\n function onSuggestionSelected(suggestion: any): void {\r\n props.updateSelections(suggestion);\r\n }\r\n\r\n return (\r\n <div className='form-control h-auto d-flex flex-wrap align-items-center py-1 px-0 position-relative'>\r\n <SvgContainer className='svg-container mx-1 h-100 align-self-start' svgName={cvSvgLibrary.Search} />\r\n\r\n <div className={`${styles.selectionContainer} d-flex flex-wrap align-items-center mt-n1`}>\r\n {props.selections.map(s => (\r\n <InputSelection\r\n key={s.id}\r\n selection={s}\r\n onClickRemove={(id: string) => props.removeSelection(id)}\r\n />\r\n ))}\r\n\r\n <SearchBar\r\n onSuggestionSelected={onSuggestionSelected}\r\n onBackspace={() => props.removeSelection(ArrayHelper.last(props.selections).id)}\r\n local={props.localSuggestions}\r\n recentSearchHeading={props.recentSearchHeading || LanguageService.getPhrase(namespace, 'recentSearchHeading')}\r\n recentSearches={[]}\r\n placeholder={props.placeholder}\r\n searchIconPlacement={false}\r\n activationLength={2}\r\n clearQueryOnSelect\r\n getSuggestionComponent={suggestion => <ShareeItem entity={suggestion} />}\r\n theme={{\r\n container: styles.container,\r\n suggestionsContainerOpen: `bg-white py-1 rounded border mt-1 ${styles.suggestionsContainerOpen}`,\r\n suggestionsList: 'list-unstyled m-0',\r\n suggestion: 'cursor-pointer py-1 px-2',\r\n suggestionHighlighted: styles.suggestionHighlighted\r\n }}\r\n />\r\n </div>\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"cv--container--16rdL\",\"suggestionsContainerOpen\":\"cv--suggestionsContainerOpen--2886c\",\"selectionContainer\":\"cv--selectionContainer--12TCg\",\"suggestionHighlighted\":\"cv--suggestionHighlighted--3HZFR\",\"selectedUser\":\"cv--selectedUser--3NTEb\",\"selectedClassroom\":\"cv--selectedClassroom--x8G1B\"};","import { Flight } from 'libs/common/flight';\r\nimport { WithStatements } from 'shared/constants/WithStatements';\r\n\r\nconst endpoints = {\r\n series: (id: string) => `/api/domain/v2/objects/${id}`,\r\n seriesVideos: (id: string, cursor: string) =>\r\n `/api/domain/v2/objects/${id}/videos?query=${WithStatements.VIDEO_COLLECTION}${addCursor(cursor)}`,\r\n\r\n breadcrumbs: (id: string) => `/api/domain/v1/subjects/${id}/path`\r\n};\r\n\r\nexport const SeriesRequests = {\r\n series(id: string): Flight.Request {\r\n return {\r\n url: endpoints.series(id),\r\n key: `series:${id}`\r\n };\r\n },\r\n seriesVideos(id: string, cursor: string): Flight.Request {\r\n return {\r\n url: endpoints.seriesVideos(id, cursor),\r\n key: `series:${id}:videos:${cursor}`\r\n };\r\n },\r\n breadcrumbs(classificationId: string): Flight.Request {\r\n if (!classificationId)\r\n return;\r\n\r\n return {\r\n url: endpoints.breadcrumbs(classificationId),\r\n key: `series:${classificationId}:breadcrumbs`\r\n };\r\n }\r\n};\r\n\r\nfunction addCursor(cursor: string): string {\r\n return cursor ? `&cursor=${cursor}` : '';\r\n}","import { Flight } from 'libs/common/flight';\r\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\r\nimport { WithStatements } from 'shared/constants/WithStatements';\r\n\r\nexport const ShareRequests = {\r\n getShareData(id: string): Flight.Request {\r\n if (!id)\r\n return;\r\n\r\n return {\r\n url: '/api/domain/v1/share',\r\n key: `share:${id}`,\r\n type: HttpVerbs.POST,\r\n data: {\r\n id,\r\n privacy: null\r\n }\r\n };\r\n },\r\n\r\n sharedResource(shortCode: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/share/${shortCode}?query=${WithStatements.VIDEO}`,\r\n key: `shared:resource:${shortCode}`\r\n };\r\n }\r\n};","import React from 'react';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Flight } from 'libs/common/flight';\r\nimport { PopupViewProps, Video, Share, Playlist, Classification, CurrentUser, Series } from 'libs/shared/interfaces';\r\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\r\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { LanguageNamespaceContext } from 'libs/shared/components/text/Text';\r\nimport { Popup } from 'libs/shared/components/popup/Popup';\r\n\r\nimport { VideoRequests } from 'shared/flight-requests/VideoRequests';\r\nimport { ShareRequests } from 'shared/flight-requests/ShareRequests';\r\nimport { MainShareView } from 'shared/views/share/main-view/MainShareView';\r\nimport { ShareSettingsView } from 'shared/views/share/settings-view/ShareSettingsView';\r\nimport { EntityType, LocationContext, WorkflowPhase } from 'libs/analytics/interfaces';\r\nimport { SeriesRequests } from 'shared/flight-requests/SeriesRequests';\r\n\r\nconst namespace = 'shared.share';\r\n\r\nexport type SharableEntity = 'video' | 'playlist' | 'subject' | 'series';\r\n\r\nconst getFetchFunctionByType = (type: SharableEntity) => {\r\n switch (type) {\r\n case 'video': {\r\n return (id: string) => Flight.useBasicFetch<Video>(VideoRequests.video(id));\r\n }\r\n\r\n case 'playlist': {\r\n return (id: string) => Flight.useBasicFetch<Playlist>(PlaylistRequests.getPlaylist(id));\r\n }\r\n\r\n case 'subject': {\r\n return (id: string, userId: string) => {\r\n return Flight.useBasicFetch<Classification>(ClassificationRequests.classification(id, userId));\r\n };\r\n }\r\n\r\n case 'series': {\r\n return (id: string) => Flight.useBasicFetch<Series>(SeriesRequests.series(id));\r\n }\r\n }\r\n};\r\n\r\ninterface ShareViewProps extends PopupViewProps {\r\n entityId: string;\r\n entityType: SharableEntity;\r\n}\r\n\r\nexport function ShareView(props: ShareViewProps): JSX.Element {\r\n const [ showSettings, setShowSettings ] = React.useState(false);\r\n\r\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\r\n\r\n const fetchFunction = getFetchFunctionByType(props.entityType);\r\n const entity = fetchFunction(props.entityId, currentUser.data?.id);\r\n\r\n const shareData = Flight.useBasicFetch<Share>(ShareRequests.getShareData(entity.data?.id));\r\n\r\n const popupTitle = !showSettings\r\n ? LanguageService.getPhrase(namespace, 'mainTitle', { name: entity.data?.name || '' })\r\n : LanguageService.getPhrase(namespace, 'settingsTitle', { name: entity.data?.name || '' });\r\n\r\n function getAnalyticsEntityType(): EntityType {\r\n switch (props.entityType) {\r\n case 'playlist':\r\n return EntityType.Playlist;\r\n case 'subject':\r\n return EntityType.Classification;\r\n case 'video':\r\n return EntityType.Video;\r\n case 'series':\r\n return EntityType.Series;\r\n }\r\n }\r\n\r\n const analyticsOptions = {\r\n entity: getAnalyticsEntityType(),\r\n location: LocationContext.Popup,\r\n workflowPhase: WorkflowPhase.Complete\r\n };\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <Popup\r\n title={popupTitle}\r\n closePopup={props.closePopup}\r\n showLoadingSpinner={!shareData.data}\r\n >\r\n {(() => {\r\n if (!shareData.data)\r\n return <></>;\r\n\r\n return !showSettings\r\n ? <MainShareView\r\n shareData={shareData.data}\r\n entity={entity.data}\r\n entityType={props.entityType}\r\n onClickShowSettings={() => setShowSettings(true)}\r\n analyticsOptions={analyticsOptions}\r\n />\r\n : <ShareSettingsView\r\n shareData={shareData.data}\r\n showMain={() => setShowSettings(false)}\r\n entityId={props.entityId}\r\n analyticsOptions={analyticsOptions}\r\n />;\r\n })()}\r\n </Popup>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","import React from 'react';\r\nimport * as CopyToClipboard from 'react-copy-to-clipboard';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { BaseObject, Share, PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\r\n\r\nimport { TokenizedTypeahead } from 'shared/components/share/tokenized-typeahead/TokenizedTypeahead';\r\nimport { ShareeItem } from 'shared/components/share/sharee-item/ShareeItem';\r\n\r\nimport { SharableEntity } from '../ShareView';\r\n\r\nimport styles from './main-share.scss';\r\nimport mockUsers from '../mocks/instant-search-users.json';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { LocationContext, WorkflowPhase, UserAction, EntityType } from 'libs/analytics/interfaces';\r\n\r\nconst namespace = 'shared.share';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\ntype MainShareViewProps = PropsWithAnalyticsOptions<{\r\n shareData: Share;\r\n entity: BaseObject;\r\n entityType: SharableEntity;\r\n onClickShowSettings: () => void;\r\n}>;\r\n\r\n// This will need to be updated a fair bit probs once we work out how the backend will look\r\nexport function MainShareView(props: MainShareViewProps): JSX.Element {\r\n const [ showingShareLink, setShowingShareLink ] = React.useState(false);\r\n const [ showCopiedText, setShowCopiedText ] = React.useState(false);\r\n const [ searchSuggestions, setSearchSuggestions ] = React.useState<BaseObject[]>([]);\r\n const [ selections, setSelections ] = React.useState<BaseObject[]>([]);\r\n const [ entitiesSharedTo, setEntitiesSharedTo ] = React.useState<BaseObject[]>([]);\r\n\r\n const alerts = useAlerts();\r\n\r\n React.useEffect(() => {\r\n // Filter out any suggestions that are currently selected\r\n const selectedIds = selections.map(s => s.id);\r\n const filteredSuggestions = mockUsers.filter(user => !selectedIds.includes(user.id));\r\n\r\n setSearchSuggestions(filteredSuggestions);\r\n }, [selections]);\r\n\r\n function onClickShare(): void {\r\n // TODO: Uncomment and move to success callback when backend is in use\r\n AnalyticsHelper.logUserAction({\r\n shareCount: selections.length\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Share\r\n }));\r\n\r\n setEntitiesSharedTo([ ...entitiesSharedTo, ...selections ]);\r\n setSelections([]);\r\n\r\n alerts.success(LanguageService.getPhrase(namespace, 'success', { name: props.entity.name }));\r\n }\r\n\r\n function onClickCreateShareLink(): void {\r\n setShowingShareLink(true);\r\n\r\n // The data used here will need to be updated when this is wired up to a backend\r\n AnalyticsHelper.logUserAction({\r\n shareLink: props.shareData.shortUrl\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Create,\r\n entity: EntityType.ShareLink\r\n }));\r\n }\r\n\r\n function onCopy(): void {\r\n if (showCopiedText)\r\n return;\r\n\r\n setShowCopiedText(true);\r\n setTimeout(() => setShowCopiedText(false), 2000);\r\n }\r\n\r\n return (\r\n <>\r\n <div className='d-flex justify-content-between align-items-center pb-3'>\r\n <TokenizedTypeahead\r\n localSuggestions={searchSuggestions}\r\n selections={selections}\r\n updateSelections={selection => setSelections([ ...selections, selection ])}\r\n removeSelection={id => setSelections(selections.filter(s => s.id !== id))}\r\n placeholder={getPhrase('searchPlaceholder')}\r\n />\r\n {props.entityType === 'playlist' &&\r\n <p className='text-secondary pl-3 mb-0 text-center text-nowrap'><Text phrase='viewOnly' /></p>\r\n }\r\n </div>\r\n\r\n {entitiesSharedTo.length\r\n ? <div>\r\n <h3 className='font-size-normal'><Text phrase='sharedTo' /></h3>\r\n <ul className='list-unstyled'>\r\n {entitiesSharedTo.map(e => (\r\n <li className='mb-2'>\r\n <ShareeItem key={e.id} entity={e} />\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n : <></>\r\n }\r\n\r\n <div className='mx-n3 px-3 pt-3 border-top'>\r\n {selections.length\r\n ? <button onClick={onClickShare} className='btn btn-dark float-right'>\r\n <Text phrase='share' />\r\n </button>\r\n : <>\r\n <div className={showingShareLink ? 'd-flex justify-content-between' : ''}>\r\n <h3 className='h6 mr-auto'><Text phrase='shareLinkInstead' /></h3>\r\n {showingShareLink &&\r\n <DivButton className='cursor-pointer' onClick={props.onClickShowSettings}>\r\n <SvgContainer svgName={cvSvgLibrary.Cog} />\r\n </DivButton>\r\n }\r\n </div>\r\n\r\n <div className='d-flex justify-content-between align-items-center'>\r\n <div className={`d-flex align-items-center ${showingShareLink ? 'w-100' : 'w-75'}`}>\r\n {showingShareLink\r\n ? <>\r\n <input\r\n type='text'\r\n id='share-link'\r\n autoComplete='off'\r\n className={`form-control bg-white border-dark ${styles.shareLink}`}\r\n spellCheck={false}\r\n value={props.shareData.shortUrl}\r\n readOnly\r\n />\r\n <CopyToClipboard text={props.shareData.shortUrl}>\r\n <DivButton\r\n className={`input-group-append border border-dark text-nowrap px-2 py-1 ${styles.copyBtn}`}\r\n onClick={onCopy}\r\n >\r\n <Text phrase={showCopiedText ? 'copiedLink' : 'copyLink'} />\r\n </DivButton>\r\n </CopyToClipboard>\r\n </>\r\n : <>\r\n <SvgContainer className='mr-1 svg-container' svgName={cvSvgLibrary.VisibleOn} />\r\n <Text phrase='publicLinkInfo' />\r\n </>\r\n }\r\n </div>\r\n {!showingShareLink &&\r\n <DivButton className='info-link' onClick={onClickCreateShareLink}>\r\n <Text phrase='createLink' />\r\n </DivButton>\r\n }\r\n </div>\r\n </>\r\n }\r\n </div>\r\n </>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"shareLink\":\"cv--shareLink--cFx7z\",\"copyBtn\":\"cv--copyBtn--mrGX3\"};","import React from 'react';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { UserAction, EntityType } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { Share, PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\r\n\r\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\r\nimport { CopyEmbedHtml } from 'shared/components/share/copy-embed-html/CopyEmbedHtml';\r\n\r\nimport styles from './share-settings.scss';\r\n\r\nconst namespace = 'shared.share';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\ntype ShareSettingsViewProps = PropsWithAnalyticsOptions<{\r\n shareData: Share;\r\n showMain: () => void;\r\n entityId: string;\r\n}>;\r\n\r\nexport function ShareSettingsView(props: ShareSettingsViewProps): JSX.Element {\r\n const [ expireLink, setExpireLink ] = React.useState(false);\r\n const [ passwordProtectLink, setPasswordProtectLink ] = React.useState(false);\r\n const [ revealPassword, setRevealPassword ] = React.useState(false);\r\n const [ linkPassword, setLinkPassword ] = React.useState('');\r\n\r\n function onClickDeleteLink(): void {\r\n // TODO: delete link\r\n\r\n AnalyticsHelper.logUserAction({\r\n shareLink: props.shareData.shortUrl\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Delete,\r\n entity: EntityType.ShareLink\r\n }));\r\n\r\n props.showMain();\r\n }\r\n\r\n function onClickSave(): void {\r\n // TODO: Wire up to backend\r\n\r\n AnalyticsHelper.logUserAction({\r\n hasPassword: !!linkPassword,\r\n willExpire: expireLink\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Edit,\r\n entity: EntityType.ShareLink\r\n }));\r\n\r\n props.showMain();\r\n }\r\n\r\n function onChangePassword(e: React.ChangeEvent<HTMLInputElement>): void {\r\n setLinkPassword(e.currentTarget.value);\r\n }\r\n\r\n return (\r\n <>\r\n <div className='d-flex align-items-center pb-3'>\r\n <SvgContainer className='mr-1 svg-container' svgName={cvSvgLibrary.VisibleOn} />\r\n <div className='mr-auto'><Text phrase='publicLinkInfo' /></div>\r\n <DivButton onClick={onClickDeleteLink} className='info-link'>\r\n <Text phrase='deleteLink' />\r\n </DivButton>\r\n </div>\r\n\r\n <div className='d-flex justify-content-between align-items-center pb-3'>\r\n <div>\r\n <label className='m-0' htmlFor=''><Text phrase='linkExpirationHeading' /></label>\r\n <p className='m-0'><Text phrase='linkExpirationInfo' /></p>\r\n </div>\r\n <ToggleSwitch onClick={() => setExpireLink(!expireLink)} on={expireLink} />\r\n </div>\r\n\r\n <div className='pb-3'>\r\n <div className='d-flex justify-content-between align-items-center'>\r\n <div>\r\n <label className='m-0' htmlFor=''><Text phrase='passwordProtectHeading' /></label>\r\n <p className='m-0'><Text phrase='passwordProtectInfo' /></p>\r\n </div>\r\n <ToggleSwitch onClick={() => setPasswordProtectLink(!passwordProtectLink)} on={passwordProtectLink} />\r\n </div>\r\n\r\n {passwordProtectLink &&\r\n <div className='position-relative w-75 mt-2'>\r\n <input\r\n className='form-control'\r\n value={linkPassword}\r\n onChange={onChangePassword}\r\n type={revealPassword ? 'text' : 'password'}\r\n placeholder={getPhrase('passwordPlaceholder')}\r\n />\r\n <DivButton className={styles.passwordVisibilityToggle} onClick={() => setRevealPassword(!revealPassword)}>\r\n <SvgContainer svgName={revealPassword ? cvSvgLibrary.VisibleOn : cvSvgLibrary.VisibleOff} />\r\n </DivButton>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div className='pb-3'>\r\n <CopyEmbedHtml\r\n entityId={props.entityId}\r\n shortCode={props.shareData.shortCode}\r\n analyticsOptions={props.analyticsOptions}\r\n />\r\n </div>\r\n\r\n <PopupButtons buttons={[\r\n {\r\n variant: 'outline-dark',\r\n onClick: props.showMain,\r\n buttonText: getPhrase('cancel')\r\n },\r\n {\r\n variant: 'dark',\r\n onClick: onClickSave,\r\n buttonText: getPhrase('save')\r\n }\r\n ]} />\r\n </>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"passwordVisibilityToggle\":\"cv--passwordVisibilityToggle--4X-7U\"};"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/div-button/DivButton.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/forms/form-checkbox/Checkbox.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/toggle-switch/ToggleSwitch.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseAlerts.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/EmbedHelper.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/components/share/copy-embed-html/CopyEmbedHtml.tsx","webpack://@clickview/lite/./src/shared/components/share/copy-embed-html/copy-embed-html.scss?d4b1","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/components/share/sharee-item/ShareeItem.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/components/share/tokenized-typeahead/InputSelection.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/components/share/tokenized-typeahead/TokenizedTypeahead.tsx","webpack://@clickview/lite/./src/shared/components/share/tokenized-typeahead/tokenized-typeahead.scss?e9fc","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/flight-requests/SeriesRequests.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/flight-requests/ShareRequests.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/views/share/ShareView.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/views/share/main-view/MainShareView.tsx","webpack://@clickview/lite/./src/shared/views/share/main-view/main-share.scss?bb9c","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/shared/views/share/settings-view/ShareSettingsView.tsx","webpack://@clickview/lite/./src/shared/views/share/settings-view/share-settings.scss?9755"],"names":[],"mappings":"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","file":"scripts/24.chunk.js","sourcesContent":["import * as React from 'react';\r\n\r\ninterface DivButtonProps extends React.ButtonHTMLAttributes<HTMLDivElement> {\r\n onClick: (...args: any) => any;\r\n}\r\n\r\n/**\r\n * This element lets us use `div` elements as buttons without losing the accessibility of\r\n * a regular HTML button element\r\n */\r\nexport function DivButton(props: React.PropsWithChildren<DivButtonProps>): JSX.Element {\r\n return (\r\n <div\r\n role='button'\r\n tabIndex={0}\r\n className={`${props.className ? props.className : ''} cursor-pointer`}\r\n onKeyDown={(e: React.KeyboardEvent) => e.key === 'Enter' && props.onClick(e)}\r\n onClick={props.onClick}\r\n style={props.style ? props.style : {}}\r\n >\r\n {props.children}\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\n\r\ninterface CheckboxProps {\r\n id: string;\r\n checked: boolean;\r\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n label?: string;\r\n name?: string;\r\n className?: string;\r\n}\r\n\r\nCheckbox.defaultProps = {\r\n checked: false,\r\n label: '',\r\n className: ''\r\n};\r\n\r\n/**\r\n * Use this checkbox outside of Formik contexts\r\n */\r\nexport function Checkbox(props: CheckboxProps): JSX.Element {\r\n return (\r\n <div className={`custom-control custom-checkbox ${props.className}`}>\r\n <input\r\n type='checkbox'\r\n className='custom-control-input'\r\n id={props.id}\r\n name={props.name}\r\n checked={props.checked}\r\n onChange={props.onChange}\r\n />\r\n <label className='custom-control-label cursor-pointer' htmlFor={props.id}>{props.label}</label>\r\n </div>\r\n );\r\n}","import React from 'react';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\n\r\ninterface ToggleSwitchProps {\r\n onClick: (...args: any) => any;\r\n on: boolean;\r\n disabled?: boolean;\r\n\r\n // Using this goes against proper a11y practices, but it's been added for situations where it looks better\r\n hideOutline?: boolean;\r\n}\r\n\r\nexport function ToggleSwitch(props: ToggleSwitchProps): JSX.Element {\r\n function onClick(...args: any): void {\r\n if (props.disabled)\r\n return;\r\n\r\n props.onClick(...args);\r\n }\r\n\r\n const bootstrapClasses = 'd-inline-block float-right align-top custom-toggle toggle-option';\r\n const onClass = (props.on && !props.disabled) ? 'on' : '';\r\n const disabledClass = props.disabled ? 'disabled' : '';\r\n const outlineClass = props.hideOutline ? 'outline-none' : '';\r\n\r\n return (\r\n <DivButton\r\n onClick={onClick}\r\n className={`${bootstrapClasses} ${onClass} ${disabledClass} ${outlineClass}`}\r\n >\r\n <span className='handle' />\r\n </DivButton>\r\n );\r\n}","import { useService } from 'libs/common/react/hooks/UseService';\r\nimport { BaseAlertService, BaseAlert, BaseAlertOptions, AlertType, DefaultAlertHeading } from 'libs/common/backbone/services/BaseAlertService';\r\nimport { CommonServices } from 'libs/common/backbone/constants/CommonServices';\r\n\r\nexport const useAlerts = () => {\r\n const alertService = useService<BaseAlertService>(CommonServices.ALERT);\r\n\r\n return {\r\n success(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.success(alertContent)();\r\n },\r\n error(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.error(alertContent)();\r\n },\r\n warning(alertContent: string): void {\r\n alertService.createAlert({\r\n type: AlertType.Warning,\r\n heading: DefaultAlertHeading.Warning,\r\n message: alertContent\r\n });\r\n }\r\n };\r\n};","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nconst namespace = 'shared.shared-utils';\r\n\r\nexport interface EmbedResolution {\r\n width: '100%' | '640' | '1014' | '1280';\r\n height: '100%' | '360' | '576' | '720';\r\n label: string;\r\n}\r\n\r\nexport const EmbedHelper = {\r\n getEmbedResolutions(): EmbedResolution[] {\r\n return [\r\n {\r\n label: LanguageService.getPhrase(namespace, 'responsive'),\r\n width: '100%',\r\n height: '100%'\r\n },\r\n {\r\n label: LanguageService.getPhrase(namespace, 'small'),\r\n width: '640',\r\n height: '360'\r\n },\r\n {\r\n label: LanguageService.getPhrase(namespace, 'medium'),\r\n width: '1014',\r\n height: '576'\r\n },\r\n {\r\n label: LanguageService.getPhrase(namespace, 'large'),\r\n width: '1280',\r\n height: '720'\r\n }\r\n ];\r\n }\r\n};","import React from 'react';\r\nimport * as CopyToClipboard from 'react-copy-to-clipboard';\r\nimport { Dropdown } from 'react-bootstrap';\r\n\r\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\r\nimport { EmbedResolution, EmbedHelper } from 'libs/shared/utils/EmbedHelper';\r\nimport { Text, LanguageNamespaceContext } from 'libs/shared/components/text/Text';\r\n\r\nimport styles from './copy-embed-html.scss';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\r\nimport { UserAction, ClickDescriptor } from 'libs/analytics/interfaces';\r\n\r\nconst namespace = 'share.copyEmbedHtml';\r\n\r\ntype CopyEmbedHtmlProps = PropsWithAnalyticsOptions<{\r\n entityId: string;\r\n shortCode: string;\r\n}>;\r\n\r\nexport function CopyEmbedHtml(props: CopyEmbedHtmlProps): JSX.Element {\r\n const videoSizes = EmbedHelper.getEmbedResolutions();\r\n\r\n const [ copyBtnPhrase, setCopyBtnPhrase ] = React.useState<'copy' | 'copied'>('copy');\r\n const [ autoplay, setAutoplay ] = React.useState(false);\r\n const [ videoSize, setVideoSize ] = React.useState<EmbedResolution>(videoSizes.find(s => s.width === '100%'));\r\n\r\n // TODO: This embed string will likely get generated by the backend once that's done, so this will probably go.\r\n function getEmbedString(): string {\r\n const baseUrl = 'https://localhost:5001/share/embed';\r\n\r\n const dynamicAttributes = videoSize.width === '100%'\r\n ? 'style=\"position:absolute; top:0; left:0; width:100%; height:100%;\"'\r\n : `width=\"${videoSize.width}\" height=\"${videoSize.height}\"`;\r\n\r\n const fixedAttributes = 'frameborder=\"0\" allowfullscreen webkitallowfullscreen mozallowfullscreen';\r\n\r\n const src = `src=\"${baseUrl}/${props.shortCode}?a=${autoplay}\"`;\r\n\r\n return `<iframe ${dynamicAttributes} ${fixedAttributes} ${src}></iframe>`;\r\n }\r\n\r\n function onCopy(): void {\r\n setCopyBtnPhrase('copied');\r\n\r\n AnalyticsHelper.logUserAction({\r\n id: props.entityId,\r\n size: videoSize,\r\n autoplay\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Click,\r\n descriptor: ClickDescriptor.CopyEmbedHtml\r\n }));\r\n }\r\n\r\n const embedString = getEmbedString();\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <label className='m-0'><Text namespace={namespace} phrase='label' /></label>\r\n <div className='position-relative mb-2'>\r\n <textarea\r\n className='form-control rounded w-100 h-100 bg-white border-dark'\r\n spellCheck={false}\r\n value={embedString}\r\n rows={5}\r\n readOnly\r\n />\r\n <div className={`input-group-append rounded ${styles.copyBtnContainer}`}>\r\n <CopyToClipboard onCopy={onCopy} text={embedString}>\r\n <button className={`btn bg-white ${styles.copyBtn}`}>\r\n <Text phrase={copyBtnPhrase} />\r\n </button>\r\n </CopyToClipboard>\r\n </div>\r\n </div>\r\n\r\n <div className='d-flex align-items-center'>\r\n <div className='mr-1'>\r\n <Text phrase='videoSize' />\r\n </div>\r\n <div className='pr-3'>\r\n <Dropdown>\r\n <Dropdown.Toggle id='embed-resolution' variant='outline-dark'>\r\n {videoSize.label}\r\n </Dropdown.Toggle>\r\n\r\n <Dropdown.Menu>\r\n {videoSizes.map(size => (\r\n <Dropdown.Item\r\n key={`${size.width}x${size.height}`}\r\n onClick={() => setVideoSize(size)}\r\n >\r\n {size.label}\r\n </Dropdown.Item>\r\n ))}\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n </div>\r\n\r\n <div className='mr-1'>\r\n <Text phrase='autoplay' />\r\n </div>\r\n <Checkbox id={props.shortCode} checked={autoplay} onChange={() => setAutoplay(!autoplay)} />\r\n </div>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"copyBtnContainer\":\"cv--copyBtnContainer--3SR_7\",\"copyBtn\":\"cv--copyBtn--B_4l9\"};","import React from 'react';\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\nimport { Avatar } from 'libs/shared/components/avatar/Avatar';\r\n\r\ninterface ShareeItemProps {\r\n entity: BaseObject;\r\n}\r\n\r\nexport function ShareeItem(props: ShareeItemProps): JSX.Element {\r\n return (\r\n <div className='d-flex align-items-center'>\r\n <div className='pr-2'>\r\n {/* TODO: Add avatar to user and classroom models? */}\r\n <Avatar imageUrl='' imageCdnUrl='' initials='' />\r\n </div>\r\n\r\n <div>\r\n <h4 className='font-size-normal font-weight-normal m-0'>{props.entity.name}</h4>\r\n <p className='text-muted m-0'>Email or classroom count here idk</p>\r\n </div>\r\n\r\n <div>\r\n\r\n </div>\r\n </div>\r\n );\r\n}","import React from 'react';\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\n\r\nimport styles from './tokenized-typeahead.scss';\r\n\r\nfunction mapEntityTypeToBackgroundColor(entityType: string): string {\r\n switch (entityType) {\r\n case 'user': {\r\n return styles.selectedUser;\r\n }\r\n\r\n case 'classroom': {\r\n return styles.selectedClassroom;\r\n }\r\n }\r\n}\r\n\r\ninterface InputSelectionProps {\r\n selection: BaseObject;\r\n onClickRemove: (id: string) => void;\r\n}\r\n\r\nexport function InputSelection(props: InputSelectionProps): JSX.Element {\r\n const colourClass = mapEntityTypeToBackgroundColor('user');\r\n\r\n return (\r\n <div className={`${colourClass} d-flex align-items-center pl-2 pr-1 mr-1 mt-1`}>\r\n <span className='mr-1'>{props.selection.name}</span>\r\n\r\n <DivButton className='cursor-pointer' onClick={() => props.onClickRemove(props.selection.id)}>\r\n <SvgContainer svgName={cvSvgLibrary.Close} />\r\n </DivButton>\r\n </div>\r\n );\r\n}","import React from 'react';\r\n\r\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\nimport { SearchBar } from 'libs/shared/components/search-bar/SearchBar';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { ShareeItem } from 'shared/components/share/sharee-item/ShareeItem';\r\nimport { InputSelection } from './InputSelection';\r\n\r\nimport styles from './tokenized-typeahead.scss';\r\n\r\nconst namespace = 'shared.tokenizedTypeahead';\r\n\r\ninterface TokenizedTypeaheadProps {\r\n placeholder: string;\r\n selections: BaseObject[];\r\n updateSelections: (suggestion: BaseObject) => void;\r\n removeSelection: (id: string) => void;\r\n recentSearchHeading?: string;\r\n endpoint?: string;\r\n localSuggestions?: BaseObject[];\r\n}\r\n\r\n/**\r\n * This component extends the functionality of the `SearchBar` component by\r\n * displaying a list of selections as tokens inside the search bar.\r\n * \r\n * Any component using this component is responsible for managing the state of\r\n * these tokens (selections). See `MainShareView` for an example.\r\n */\r\nexport function TokenizedTypeahead(props: TokenizedTypeaheadProps): JSX.Element {\r\n function onSuggestionSelected(suggestion: any): void {\r\n props.updateSelections(suggestion);\r\n }\r\n\r\n return (\r\n <div className='form-control h-auto d-flex flex-wrap align-items-center py-1 px-0 position-relative'>\r\n <SvgContainer className='svg-container mx-1 h-100 align-self-start' svgName={cvSvgLibrary.Search} />\r\n\r\n <div className={`${styles.selectionContainer} d-flex flex-wrap align-items-center mt-n1`}>\r\n {props.selections.map(s => (\r\n <InputSelection\r\n key={s.id}\r\n selection={s}\r\n onClickRemove={(id: string) => props.removeSelection(id)}\r\n />\r\n ))}\r\n\r\n <SearchBar\r\n onSuggestionSelected={onSuggestionSelected}\r\n onBackspace={() => props.removeSelection(ArrayHelper.last(props.selections).id)}\r\n local={props.localSuggestions}\r\n recentSearchHeading={props.recentSearchHeading || LanguageService.getPhrase(namespace, 'recentSearchHeading')}\r\n recentSearches={[]}\r\n placeholder={props.placeholder}\r\n searchIconPlacement={false}\r\n activationLength={2}\r\n clearQueryOnSelect\r\n getSuggestionComponent={suggestion => <ShareeItem entity={suggestion} />}\r\n theme={{\r\n container: styles.container,\r\n suggestionsContainerOpen: `bg-white py-1 rounded border mt-1 ${styles.suggestionsContainerOpen}`,\r\n suggestionsList: 'list-unstyled m-0',\r\n suggestion: 'cursor-pointer py-1 px-2',\r\n suggestionHighlighted: styles.suggestionHighlighted\r\n }}\r\n />\r\n </div>\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"cv--container--16rdL\",\"suggestionsContainerOpen\":\"cv--suggestionsContainerOpen--2886c\",\"selectionContainer\":\"cv--selectionContainer--12TCg\",\"suggestionHighlighted\":\"cv--suggestionHighlighted--3HZFR\",\"selectedUser\":\"cv--selectedUser--3NTEb\",\"selectedClassroom\":\"cv--selectedClassroom--x8G1B\"};","import { Flight } from 'libs/common/flight';\r\nimport { WithStatements } from 'shared/constants/WithStatements';\r\n\r\nconst endpoints = {\r\n series: (id: string) => `/api/domain/v2/objects/${id}`,\r\n seriesVideos: (id: string, cursor: string) =>\r\n `/api/domain/v2/objects/${id}/videos?query=${WithStatements.VIDEO_COLLECTION}${addCursor(cursor)}`,\r\n\r\n breadcrumbs: (id: string) => `/api/domain/v1/subjects/${id}/path`\r\n};\r\n\r\nexport const SeriesRequests = {\r\n series(id: string): Flight.Request {\r\n return {\r\n url: endpoints.series(id),\r\n key: `series:${id}`\r\n };\r\n },\r\n seriesVideos(id: string, cursor: string): Flight.Request {\r\n return {\r\n url: endpoints.seriesVideos(id, cursor),\r\n key: `series:${id}:videos:${cursor}`\r\n };\r\n },\r\n breadcrumbs(classificationId: string): Flight.Request {\r\n if (!classificationId)\r\n return;\r\n\r\n return {\r\n url: endpoints.breadcrumbs(classificationId),\r\n key: `series:${classificationId}:breadcrumbs`\r\n };\r\n }\r\n};\r\n\r\nfunction addCursor(cursor: string): string {\r\n return cursor ? `&cursor=${cursor}` : '';\r\n}","import { Flight } from 'libs/common/flight';\r\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\r\nimport { WithStatements } from 'shared/constants/WithStatements';\r\n\r\nexport const ShareRequests = {\r\n getShareData(id: string): Flight.Request {\r\n if (!id)\r\n return;\r\n\r\n return {\r\n url: '/api/domain/v1/share',\r\n key: `share:${id}`,\r\n type: HttpVerbs.POST,\r\n data: {\r\n id,\r\n privacy: null\r\n }\r\n };\r\n },\r\n\r\n sharedResource(shortCode: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/share/${shortCode}?query=${WithStatements.VIDEO}`,\r\n key: `shared:resource:${shortCode}`\r\n };\r\n }\r\n};","import React from 'react';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Flight } from 'libs/common/flight';\r\nimport { PopupViewProps, Video, Share, Playlist, Classification, CurrentUser, Series } from 'libs/shared/interfaces';\r\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\r\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { LanguageNamespaceContext } from 'libs/shared/components/text/Text';\r\nimport { Popup } from 'libs/shared/components/popup/Popup';\r\n\r\nimport { VideoRequests } from 'shared/flight-requests/VideoRequests';\r\nimport { ShareRequests } from 'shared/flight-requests/ShareRequests';\r\nimport { MainShareView } from 'shared/views/share/main-view/MainShareView';\r\nimport { ShareSettingsView } from 'shared/views/share/settings-view/ShareSettingsView';\r\nimport { EntityType, LocationContext, WorkflowPhase } from 'libs/analytics/interfaces';\r\nimport { SeriesRequests } from 'shared/flight-requests/SeriesRequests';\r\n\r\nconst namespace = 'shared.share';\r\n\r\nexport type SharableEntity = 'video' | 'playlist' | 'subject' | 'series';\r\n\r\nconst getFetchFunctionByType = (type: SharableEntity) => {\r\n switch (type) {\r\n case 'video': {\r\n return (id: string) => Flight.useBasicFetch<Video>(VideoRequests.video(id));\r\n }\r\n\r\n case 'playlist': {\r\n return (id: string) => Flight.useBasicFetch<Playlist>(PlaylistRequests.getPlaylist(id));\r\n }\r\n\r\n case 'subject': {\r\n return (id: string, userId: string) => {\r\n return Flight.useBasicFetch<Classification>(ClassificationRequests.classification(id, userId));\r\n };\r\n }\r\n\r\n case 'series': {\r\n return (id: string) => Flight.useBasicFetch<Series>(SeriesRequests.series(id));\r\n }\r\n }\r\n};\r\n\r\ninterface ShareViewProps extends PopupViewProps {\r\n entityId: string;\r\n entityType: SharableEntity;\r\n}\r\n\r\nexport function ShareView(props: ShareViewProps): JSX.Element {\r\n const [ showSettings, setShowSettings ] = React.useState(false);\r\n\r\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\r\n\r\n const fetchFunction = getFetchFunctionByType(props.entityType);\r\n const entity = fetchFunction(props.entityId, currentUser.data?.id);\r\n\r\n const shareData = Flight.useBasicFetch<Share>(ShareRequests.getShareData(entity.data?.id));\r\n\r\n const popupTitle = !showSettings\r\n ? LanguageService.getPhrase(namespace, 'mainTitle', { name: entity.data?.name || '' })\r\n : LanguageService.getPhrase(namespace, 'settingsTitle', { name: entity.data?.name || '' });\r\n\r\n function getAnalyticsEntityType(): EntityType {\r\n switch (props.entityType) {\r\n case 'playlist':\r\n return EntityType.Playlist;\r\n case 'subject':\r\n return EntityType.Classification;\r\n case 'video':\r\n return EntityType.Video;\r\n case 'series':\r\n return EntityType.Series;\r\n }\r\n }\r\n\r\n const analyticsOptions = {\r\n entity: getAnalyticsEntityType(),\r\n location: LocationContext.Popup,\r\n workflowPhase: WorkflowPhase.Complete\r\n };\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <Popup\r\n title={popupTitle}\r\n closePopup={props.closePopup}\r\n showLoadingSpinner={!shareData.data}\r\n >\r\n {(() => {\r\n if (!shareData.data)\r\n return <></>;\r\n\r\n return !showSettings\r\n ? <MainShareView\r\n shareData={shareData.data}\r\n entity={entity.data}\r\n entityType={props.entityType}\r\n onClickShowSettings={() => setShowSettings(true)}\r\n analyticsOptions={analyticsOptions}\r\n />\r\n : <ShareSettingsView\r\n shareData={shareData.data}\r\n showMain={() => setShowSettings(false)}\r\n entityId={props.entityId}\r\n analyticsOptions={analyticsOptions}\r\n />;\r\n })()}\r\n </Popup>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","import React from 'react';\r\nimport * as CopyToClipboard from 'react-copy-to-clipboard';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { BaseObject, Share, PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\r\n\r\nimport { TokenizedTypeahead } from 'shared/components/share/tokenized-typeahead/TokenizedTypeahead';\r\nimport { ShareeItem } from 'shared/components/share/sharee-item/ShareeItem';\r\n\r\nimport { SharableEntity } from '../ShareView';\r\n\r\nimport styles from './main-share.scss';\r\nimport mockUsers from '../mocks/instant-search-users.json';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { LocationContext, WorkflowPhase, UserAction, EntityType } from 'libs/analytics/interfaces';\r\n\r\nconst namespace = 'shared.share';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\ntype MainShareViewProps = PropsWithAnalyticsOptions<{\r\n shareData: Share;\r\n entity: BaseObject;\r\n entityType: SharableEntity;\r\n onClickShowSettings: () => void;\r\n}>;\r\n\r\n// This will need to be updated a fair bit probs once we work out how the backend will look\r\nexport function MainShareView(props: MainShareViewProps): JSX.Element {\r\n const [ showingShareLink, setShowingShareLink ] = React.useState(false);\r\n const [ showCopiedText, setShowCopiedText ] = React.useState(false);\r\n const [ searchSuggestions, setSearchSuggestions ] = React.useState<BaseObject[]>([]);\r\n const [ selections, setSelections ] = React.useState<BaseObject[]>([]);\r\n const [ entitiesSharedTo, setEntitiesSharedTo ] = React.useState<BaseObject[]>([]);\r\n\r\n const alerts = useAlerts();\r\n\r\n React.useEffect(() => {\r\n // Filter out any suggestions that are currently selected\r\n const selectedIds = selections.map(s => s.id);\r\n const filteredSuggestions = mockUsers.filter(user => !selectedIds.includes(user.id));\r\n\r\n setSearchSuggestions(filteredSuggestions);\r\n }, [selections]);\r\n\r\n function onClickShare(): void {\r\n // TODO: Uncomment and move to success callback when backend is in use\r\n AnalyticsHelper.logUserAction({\r\n shareCount: selections.length\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Share\r\n }));\r\n\r\n setEntitiesSharedTo([ ...entitiesSharedTo, ...selections ]);\r\n setSelections([]);\r\n\r\n alerts.success(LanguageService.getPhrase(namespace, 'success', { name: props.entity.name }));\r\n }\r\n\r\n function onClickCreateShareLink(): void {\r\n setShowingShareLink(true);\r\n\r\n // The data used here will need to be updated when this is wired up to a backend\r\n AnalyticsHelper.logUserAction({\r\n shareLink: props.shareData.shortUrl\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Create,\r\n entity: EntityType.ShareLink\r\n }));\r\n }\r\n\r\n function onCopy(): void {\r\n if (showCopiedText)\r\n return;\r\n\r\n setShowCopiedText(true);\r\n setTimeout(() => setShowCopiedText(false), 2000);\r\n }\r\n\r\n return (\r\n <>\r\n <div className='d-flex justify-content-between align-items-center pb-3'>\r\n <TokenizedTypeahead\r\n localSuggestions={searchSuggestions}\r\n selections={selections}\r\n updateSelections={selection => setSelections([ ...selections, selection ])}\r\n removeSelection={id => setSelections(selections.filter(s => s.id !== id))}\r\n placeholder={getPhrase('searchPlaceholder')}\r\n />\r\n {props.entityType === 'playlist' &&\r\n <p className='text-secondary pl-3 mb-0 text-center text-nowrap'><Text phrase='viewOnly' /></p>\r\n }\r\n </div>\r\n\r\n {entitiesSharedTo.length\r\n ? <div>\r\n <h3 className='font-size-normal'><Text phrase='sharedTo' /></h3>\r\n <ul className='list-unstyled'>\r\n {entitiesSharedTo.map(e => (\r\n <li className='mb-2'>\r\n <ShareeItem key={e.id} entity={e} />\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n : <></>\r\n }\r\n\r\n <div className='mx-n3 px-3 pt-3 border-top'>\r\n {selections.length\r\n ? <button onClick={onClickShare} className='btn btn-dark float-right'>\r\n <Text phrase='share' />\r\n </button>\r\n : <>\r\n <div className={showingShareLink ? 'd-flex justify-content-between' : ''}>\r\n <h3 className='h6 mr-auto'><Text phrase='shareLinkInstead' /></h3>\r\n {showingShareLink &&\r\n <DivButton className='cursor-pointer' onClick={props.onClickShowSettings}>\r\n <SvgContainer svgName={cvSvgLibrary.Cog} />\r\n </DivButton>\r\n }\r\n </div>\r\n\r\n <div className='d-flex justify-content-between align-items-center'>\r\n <div className={`d-flex align-items-center ${showingShareLink ? 'w-100' : 'w-75'}`}>\r\n {showingShareLink\r\n ? <>\r\n <input\r\n type='text'\r\n id='share-link'\r\n autoComplete='off'\r\n className={`form-control bg-white border-dark ${styles.shareLink}`}\r\n spellCheck={false}\r\n value={props.shareData.shortUrl}\r\n readOnly\r\n />\r\n <CopyToClipboard text={props.shareData.shortUrl}>\r\n <DivButton\r\n className={`input-group-append border border-dark text-nowrap px-2 py-1 ${styles.copyBtn}`}\r\n onClick={onCopy}\r\n >\r\n <Text phrase={showCopiedText ? 'copiedLink' : 'copyLink'} />\r\n </DivButton>\r\n </CopyToClipboard>\r\n </>\r\n : <>\r\n <SvgContainer className='mr-1 svg-container' svgName={cvSvgLibrary.VisibleOn} />\r\n <Text phrase='publicLinkInfo' />\r\n </>\r\n }\r\n </div>\r\n {!showingShareLink &&\r\n <DivButton className='info-link' onClick={onClickCreateShareLink}>\r\n <Text phrase='createLink' />\r\n </DivButton>\r\n }\r\n </div>\r\n </>\r\n }\r\n </div>\r\n </>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"shareLink\":\"cv--shareLink--cFx7z\",\"copyBtn\":\"cv--copyBtn--mrGX3\"};","import React from 'react';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { UserAction, EntityType } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { Share, PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\r\n\r\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\r\nimport { CopyEmbedHtml } from 'shared/components/share/copy-embed-html/CopyEmbedHtml';\r\n\r\nimport styles from './share-settings.scss';\r\n\r\nconst namespace = 'shared.share';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\ntype ShareSettingsViewProps = PropsWithAnalyticsOptions<{\r\n shareData: Share;\r\n showMain: () => void;\r\n entityId: string;\r\n}>;\r\n\r\nexport function ShareSettingsView(props: ShareSettingsViewProps): JSX.Element {\r\n const [ expireLink, setExpireLink ] = React.useState(false);\r\n const [ passwordProtectLink, setPasswordProtectLink ] = React.useState(false);\r\n const [ revealPassword, setRevealPassword ] = React.useState(false);\r\n const [ linkPassword, setLinkPassword ] = React.useState('');\r\n\r\n function onClickDeleteLink(): void {\r\n // TODO: delete link\r\n\r\n AnalyticsHelper.logUserAction({\r\n shareLink: props.shareData.shortUrl\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Delete,\r\n entity: EntityType.ShareLink\r\n }));\r\n\r\n props.showMain();\r\n }\r\n\r\n function onClickSave(): void {\r\n // TODO: Wire up to backend\r\n\r\n AnalyticsHelper.logUserAction({\r\n hasPassword: !!linkPassword,\r\n willExpire: expireLink\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Edit,\r\n entity: EntityType.ShareLink\r\n }));\r\n\r\n props.showMain();\r\n }\r\n\r\n function onChangePassword(e: React.ChangeEvent<HTMLInputElement>): void {\r\n setLinkPassword(e.currentTarget.value);\r\n }\r\n\r\n return (\r\n <>\r\n <div className='d-flex align-items-center pb-3'>\r\n <SvgContainer className='mr-1 svg-container' svgName={cvSvgLibrary.VisibleOn} />\r\n <div className='mr-auto'><Text phrase='publicLinkInfo' /></div>\r\n <DivButton onClick={onClickDeleteLink} className='info-link'>\r\n <Text phrase='deleteLink' />\r\n </DivButton>\r\n </div>\r\n\r\n <div className='d-flex justify-content-between align-items-center pb-3'>\r\n <div>\r\n <label className='m-0' htmlFor=''><Text phrase='linkExpirationHeading' /></label>\r\n <p className='m-0'><Text phrase='linkExpirationInfo' /></p>\r\n </div>\r\n <ToggleSwitch onClick={() => setExpireLink(!expireLink)} on={expireLink} />\r\n </div>\r\n\r\n <div className='pb-3'>\r\n <div className='d-flex justify-content-between align-items-center'>\r\n <div>\r\n <label className='m-0' htmlFor=''><Text phrase='passwordProtectHeading' /></label>\r\n <p className='m-0'><Text phrase='passwordProtectInfo' /></p>\r\n </div>\r\n <ToggleSwitch onClick={() => setPasswordProtectLink(!passwordProtectLink)} on={passwordProtectLink} />\r\n </div>\r\n\r\n {passwordProtectLink &&\r\n <div className='position-relative w-75 mt-2'>\r\n <input\r\n className='form-control'\r\n value={linkPassword}\r\n onChange={onChangePassword}\r\n type={revealPassword ? 'text' : 'password'}\r\n placeholder={getPhrase('passwordPlaceholder')}\r\n />\r\n <DivButton className={styles.passwordVisibilityToggle} onClick={() => setRevealPassword(!revealPassword)}>\r\n <SvgContainer svgName={revealPassword ? cvSvgLibrary.VisibleOn : cvSvgLibrary.VisibleOff} />\r\n </DivButton>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div className='pb-3'>\r\n <CopyEmbedHtml\r\n entityId={props.entityId}\r\n shortCode={props.shareData.shortCode}\r\n analyticsOptions={props.analyticsOptions}\r\n />\r\n </div>\r\n\r\n <PopupButtons buttons={[\r\n {\r\n variant: 'outline-dark',\r\n onClick: props.showMain,\r\n buttonText: getPhrase('cancel')\r\n },\r\n {\r\n variant: 'dark',\r\n onClick: onClickSave,\r\n buttonText: getPhrase('save')\r\n }\r\n ]} />\r\n </>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"passwordVisibilityToggle\":\"cv--passwordVisibilityToggle--4X-7U\"};"],"sourceRoot":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[25],{1266:function(e,t,a){e.exports={optionsContainer:"_1Ul2M",preferenceItem:"_3CD60"}},1300:function(e,t,a){"use strict";a.r(t),a.d(t,"CurriculumPresentationSelectorView",(function(){return j}));var n=a(0),r=a.n(n),c=a(33),i=a(61),l=a(14),u=a(2),s=(a(7),a(872)),o=a(73),d=a(879),m=a(51),f=a(1e3),p=a(155),b=a(115),v=a(824),h=a(898),E=a(1266),g=a.n(E);function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var a=[],n=!0,r=!1,c=void 0;try{for(var i,l=e[Symbol.iterator]();!(n=(i=l.next()).done)&&(a.push(i.value),!t||a.length!==t);n=!0);}catch(e){r=!0,c=e}finally{try{n||null==l.return||l.return()}finally{if(r)throw c}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return x(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return x(e,t)}(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 x(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}var y="subjects.curriculumPresentationSelector";function j(e){var t,a=S(r.a.useState(!1),2),n=a[0],E=a[1],x=S(r.a.useState(),2),j=x[0],k=x[1],C=l.a.useBasicFetch(d.a.availablePresentations()),w=l.a.useBasicFetch(d.a.currentPresentations(f.a.Curriculum));r.a.useEffect((function(){var e;(null===(e=w.data)||void 0===e?void 0:e.id)&&k(w.data.id)}),[null===(t=w.data)||void 0===t?void 0:t.id]);var O=Object(i.useDispatch)(),B=(Object(v.a)(),h.a.hasManyPresentationTypes(C.data).hasManySubjectPresentations);function N(){E(!1),u.a.AppLinkHelper.trigger(h.a.buildAppLink("levels",e.redirectUrl))}var _=!C.data||w.isFetching,F=h.a.buildAppLink(B?"school-level":"welcome",e.redirectUrl);return r.a.createElement(o.a.Provider,{value:y},r.a.createElement("form",{className:"p-3"},r.a.createElement("div",{className:"position-relative"},r.a.createElement("div",{className:"text-center mb-4"},r.a.createElement("h1",{className:"mb-3"},r.a.createElement(o.b,{phrase:"heading"})),r.a.createElement("p",{className:"m-0 h6"},r.a.createElement(o.b,{phrase:"info"}))),r.a.createElement("ul",{className:"".concat(g.a.optionsContainer," list-unstyled")},function(){var e;return _?r.a.createElement(r.a.Fragment,null,r.a.createElement("li",{className:"partial-loading-background ".concat(g.a.preferenceItem)}),r.a.createElement("li",{className:"partial-loading-background ".concat(g.a.preferenceItem)})):(null===(e=C.data)||void 0===e?void 0:e.length)?r.a.createElement(r.a.Fragment,null,C.data.map((function(e){var t;return e.type.toLowerCase()!==f.a.Curriculum?r.a.createElement(r.a.Fragment,{key:e.id}):r.a.createElement(s.b,{key:e.id,name:e.name,imageUrl:p.a.createUrl(null===(t=e.cover)||void 0===t?void 0:t.url,{size:b.a.Small})||"",onClick:function(){return function(e){j===e.id?k(null):k(e.id)}(e)},isSelected:j===e.id,extraClasses:g.a.preferenceItem,radioButton:!0})}))):r.a.createElement(r.a.Fragment,null)}())),r.a.createElement(s.a,null,r.a.createElement("div",null,r.a.createElement(m.a,{appLink:F,className:"btn btn-light"},r.a.createElement(o.b,{phrase:"back"}))),r.a.createElement("div",{className:"d-flex justify-content-right"},r.a.createElement(c.Button,{variant:"dark",disabled:!j||n,onClick:function(){var e;if(j&&!n)if(j!==(null===(e=w.data)||void 0===e?void 0:e.id)){E(!0);var t=C.data.find((function(e){return e.id===j}));l.a.fetch(O,d.a.setPresentation(t,f.a.Curriculum,N))}else N()}},n?r.a.createElement(c.Spinner,{as:"span",animation:"border",role:"status",size:"sm"}):r.a.createElement(o.b,{phrase:"next"}))))))}},824:function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(153),r=a(48),c=a(52),i=function(){var e=Object(n.a)(c.a.ALERT);return{success:function(t){e.success(t)()},error:function(t){e.error(t)()},warning:function(t){e.createAlert({type:r.a.Warning,heading:r.c.Warning,message:t})}}}},841:function(e,t,a){"use strict";var n=a(0),r=a.n(n),c=a(55),i=a(13),l=a(857),u=a.n(l),s=function(e){return e.selectedChildrenCount?n.createElement("div",{className:"".concat(u.a.itemStatus," ").concat(u.a.green)},e.selectedChildrenCount):n.createElement(n.Fragment,null)},o=function(e){var t;return t=e.selected?n.createElement(c.a,{svgName:i.b.Check}):e.radioButton?n.createElement(n.Fragment,null," "):n.createElement(c.a,{svgName:i.b.Plus}),n.createElement("div",{className:"".concat(u.a.itemStatus," ").concat(e.selected?u.a.green:u.a.unchecked)},t)};function d(e){var t,a="".concat(u.a.expandCaret," ").concat(e.expand?u.a.up:u.a.down);return r.a.createElement("li",{className:(t=u.a.preferenceItem,e.extraClasses&&(t+=" "+e.extraClasses),e.isDisabled&&(t+=" "+u.a.disabled),e.isSelected&&!e.isExpandable&&(t+=" "+u.a.selected),e.hideStatus&&(t+=" "+u.a.noBorder),t),onClick:e.onClick,"aria-checked":e.isSelected,"aria-haspopup":e.isExpandable,role:e.isExpandable?"button":"checkbox",style:{backgroundImage:"url(".concat(e.imageUrl,")")},tabIndex:0},r.a.createElement("div",{className:"".concat(u.a.textBox," p-2")},r.a.createElement("p",{className:"m-0 text-truncate"},e.name,r.a.createElement("span",{className:e.isExpandable?a:""})),!e.hideStatus&&r.a.createElement(r.a.Fragment,null,e.isExpandable?r.a.createElement(s,{selectedChildrenCount:e.selectedChildCount}):r.a.createElement(o,{selected:e.isSelected,radioButton:e.radioButton}))))}a.d(t,"a",(function(){return d}))},855:function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(0),r=a(45),c=a(236),i=a(883),l=a.n(i);function u(e){var t=Object(c.a)(),a=t===r.a.SM||t===r.a.XS?"w-100":"w-75",i="justify-content-".concat(e.justify);return n.createElement("div",{className:"".concat(a," ").concat(i," ").concat(l.a.preferenceFooter," d-flex px-3")},e.children)}u.defaultProps={justify:"between"}},856:function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(0),r=Object(n.createContext)(void 0)},857:function(e,t,a){e.exports={preferenceItem:"_1LDb6",expandCaret:"_3QEWB",down:"_2y-iF",up:"_1kGNY",disabled:"_2w4FH",selected:"_1lSYv",noBorder:"_3Mxuo",textBox:"_3HCeK",itemStatus:"_2msq4",unchecked:"_2VQLv",green:"AHd64"}},859:function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),r=a(155),c=a(115),i=a(856),l=a(841),u=a(156);function s(e){var t,a,s,o,d=n.useContext(i.a),m=e.subject.cover?r.a.createUrl(e.subject.cover.url,{size:c.a.Small}):"",f=e.subject.isExpandableOption?e.subject.children.map((function(e){return e.id})):[],p=e.hasSelectedBulk?0:null===(a=null===(t=d)||void 0===t?void 0:t.selectedSubjects)||void 0===a?void 0:a.filter((function(e){return f.includes(e)})).length,b=n.createElement(l.a,{name:e.subject.name,imageUrl:m,onClick:e.onClick,isSelected:e.selected,isDisabled:e.disabled,isExpandable:e.subject.isExpandableOption,expand:(null===(o=null===(s=d)||void 0===s?void 0:s.expandedSubject)||void 0===o?void 0:o.id)===e.subject.id,selectedChildCount:p,extraClasses:e.extraClasses,hideStatus:e.hideStatus});return e.disabled?n.createElement("span",null,b):n.createElement(u.a,{title:e.subject.name},n.createElement("span",null,b))}},866:function(e,t,a){"use strict";a.d(t,"a",(function(){return f}));var n=a(0),r=a(127),c=a(45),i=a(236),l=a(872),u=a(856),s=a(873),o=a.n(s),d=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a};function m(e){var t=n.useContext(u.a),a=t.expandedSubject,r=t.selectedSubjects;return n.createElement(n.Fragment,null,e.subjects.map((function(t){var c=function(e,t){return!(!t||e.id===t.id)&&!t.children.find((function(t){return t.id===e.id}))}(t,a),i=e.onSelect;return t.isExpandableOption&&(i=e.onExpand),c&&(i=e.onCollapse),e.hasSelectedBulk&&(i=function(){}),n.createElement(l.c,{key:t.id,subject:t,selected:!e.hasSelectedBulk&&r.includes(t.id),disabled:e.hasSelectedBulk||c,onClick:function(e){return i(t)},hasSelectedBulk:e.hasSelectedBulk})})))}function f(e){var t=e.subjects,a=e.hasSelectedBulk,l=d(e,["subjects","hasSelectedBulk"]),s=n.useContext(u.a).expandedSubject,p=function(){switch(Object(i.a)()){case c.a.LG:default:return 5;case c.a.MD:return 4;case c.a.SM:return 3;case c.a.XS:return 2}}(),b=t.reduce((function(e,t,a){return a%p==0?e.push([t]):r.a.last(e).push(t),e}),[]);return n.createElement("ul",{className:o.a.grid},b.map((function(e,t){var r=s&&!!e.find((function(e){return s.id===e.id&&e.isExpandableOption}));return n.createElement(n.Fragment,{key:t},n.createElement(m,Object.assign({subjects:e,hasSelectedBulk:a},l)),r&&n.createElement("li",{className:"".concat(o.a.subgrid," m-0")},n.createElement(f,Object.assign({subjects:s.children,hasSelectedBulk:a},l))))})))}},872:function(e,t,a){"use strict";var n=a(855);a.d(t,"a",(function(){return n.a}));a(880),a(866);var r=a(859);a.d(t,"c",(function(){return r.a}));var c=a(841);a.d(t,"b",(function(){return c.a}))},873:function(e,t,a){e.exports={grid:"G_RXX",subgrid:"_38ohZ"}},883:function(e,t,a){e.exports={preferenceFooter:"P29kw"}}}]);
|