@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.
Files changed (194) hide show
  1. package/dist/css/11.chunk.css.map +1 -1
  2. package/dist/css/12.chunk.css.map +1 -1
  3. package/dist/css/13.chunk.css.map +1 -1
  4. package/dist/css/14.chunk.css.map +1 -1
  5. package/dist/css/15.chunk.css.map +1 -1
  6. package/dist/css/16.chunk.css.map +1 -1
  7. package/dist/css/17.chunk.css.map +1 -1
  8. package/dist/css/18.chunk.css.map +1 -1
  9. package/dist/css/20.chunk.css.map +1 -1
  10. package/dist/css/29.chunk.css.map +1 -1
  11. package/dist/css/3.chunk.css.map +1 -1
  12. package/dist/css/30.chunk.css.map +1 -1
  13. package/dist/css/31.chunk.css.map +1 -1
  14. package/dist/css/33.chunk.css.map +1 -1
  15. package/dist/css/38.chunk.css +11 -34
  16. package/dist/css/38.chunk.css.map +1 -1
  17. package/dist/css/4.chunk.css +3 -3
  18. package/dist/css/44.chunk.css +11 -3
  19. package/dist/css/44.chunk.css.map +1 -1
  20. package/dist/css/45.chunk.css +38 -0
  21. package/dist/css/45.chunk.css.map +1 -0
  22. package/dist/css/5.chunk.css.map +1 -1
  23. package/dist/css/52.chunk.css +52 -0
  24. package/dist/css/52.chunk.css.map +1 -0
  25. package/dist/css/59.chunk.css +14 -0
  26. package/dist/css/59.chunk.css.map +1 -0
  27. package/dist/css/6.chunk.css.map +1 -1
  28. package/dist/css/60.chunk.css +43 -0
  29. package/dist/css/60.chunk.css.map +1 -0
  30. package/dist/en.json +1 -1
  31. package/dist/libs/shared/src/components/curriculum-links/CurriculumLinks.d.ts +9 -0
  32. package/dist/libs/shared/src/components/widgets/items/resource-widget-item/ResourceWidgetItem.d.ts +12 -0
  33. package/dist/libs/shared/src/enums/CurriculumType.d.ts +6 -0
  34. package/dist/libs/shared/src/flight-requests/ClassificationRequests.d.ts +1 -0
  35. package/dist/libs/shared/src/flight-requests/ResourceRequests.d.ts +11 -0
  36. package/dist/libs/shared/src/interfaces/collections/SubtitleCollection.d.ts +3 -0
  37. package/dist/libs/shared/src/interfaces/models/Curriculum.d.ts +14 -0
  38. package/dist/libs/shared/src/interfaces/models/FileUpload.d.ts +20 -0
  39. package/dist/libs/shared/src/interfaces/models/Language.d.ts +4 -0
  40. package/dist/libs/shared/src/interfaces/models/Pdf.d.ts +4 -0
  41. package/dist/libs/shared/src/interfaces/models/Subtitle.d.ts +7 -0
  42. package/dist/libs/shared/src/interfaces/models/index.d.ts +1 -0
  43. package/dist/libs/shared/src/interfaces/requests/UpdateObjectChannel.d.ts +3 -0
  44. package/dist/libs/shared/src/interfaces/requests/UpdateObjectRating.d.ts +3 -0
  45. package/dist/libs/shared/src/interfaces/requests/UpdateResourceRequest.d.ts +3 -0
  46. package/dist/projects/lite/src/app.d.ts +1 -0
  47. package/dist/projects/lite/src/shared/components/play-page/PlayPage.d.ts +2 -1
  48. package/dist/projects/lite/src/shared/components/synopsis/Synopsis.d.ts +3 -1
  49. package/dist/projects/lite/src/shared/components/video-details/VideoDetails.d.ts +2 -0
  50. package/dist/projects/lite/src/shared/constants/MinimumGlanceHeight.d.ts +1 -0
  51. package/dist/projects/lite/src/shared/views/preview-pdf/PreviewPdfView.d.ts +7 -0
  52. package/dist/scripts/0-b02efe11fb.chunk.js +1 -0
  53. package/dist/scripts/1-4f19a5caea.chunk.js +17 -0
  54. package/dist/scripts/1.chunk.js.map +1 -1
  55. package/dist/scripts/10.chunk.js +484 -1203
  56. package/dist/scripts/10.chunk.js.map +1 -1
  57. package/dist/scripts/11-32e30d10ce.chunk.js +1 -0
  58. package/dist/scripts/11.chunk.js +289 -1388
  59. package/dist/scripts/11.chunk.js.map +1 -1
  60. package/dist/scripts/12-72a5373486.chunk.js +1 -0
  61. package/dist/scripts/12.chunk.js +1371 -283
  62. package/dist/scripts/12.chunk.js.map +1 -1
  63. package/dist/scripts/13-1cd85ad3ee.chunk.js +1 -0
  64. package/dist/scripts/13.chunk.js +361 -394
  65. package/dist/scripts/13.chunk.js.map +1 -1
  66. package/dist/scripts/14-3d60b8ee85.chunk.js +1 -0
  67. package/dist/scripts/14.chunk.js +793 -332
  68. package/dist/scripts/14.chunk.js.map +1 -1
  69. package/dist/scripts/15-90226fb996.chunk.js +1 -0
  70. package/dist/scripts/15.chunk.js +295 -214
  71. package/dist/scripts/15.chunk.js.map +1 -1
  72. package/dist/scripts/16-913b2535ea.chunk.js +1 -0
  73. package/dist/scripts/16.chunk.js +530 -434
  74. package/dist/scripts/16.chunk.js.map +1 -1
  75. package/dist/scripts/17-d6c19ccb60.chunk.js +1 -0
  76. package/dist/scripts/17.chunk.js +296 -170
  77. package/dist/scripts/17.chunk.js.map +1 -1
  78. package/dist/scripts/18-33efcac0c6.chunk.js +1 -0
  79. package/dist/scripts/18.chunk.js +265 -199
  80. package/dist/scripts/18.chunk.js.map +1 -1
  81. package/dist/scripts/19-2380200cfb.chunk.js +1 -0
  82. package/dist/scripts/19.chunk.js +7 -3
  83. package/dist/scripts/19.chunk.js.map +1 -1
  84. package/dist/scripts/2-53e37c2047.chunk.js +1 -0
  85. package/dist/scripts/2.chunk.js +18673 -622
  86. package/dist/scripts/2.chunk.js.map +1 -1
  87. package/dist/scripts/20-ca85f0514e.chunk.js +1 -0
  88. package/dist/scripts/20.chunk.js +1824 -221
  89. package/dist/scripts/20.chunk.js.map +1 -1
  90. package/dist/scripts/21-ef4a226771.chunk.js +1 -0
  91. package/dist/scripts/22-99c04e164f.chunk.js +1 -0
  92. package/dist/scripts/23-028eb81a43.chunk.js +1 -0
  93. package/dist/scripts/23.chunk.js +1 -1
  94. package/dist/scripts/23.chunk.js.map +1 -1
  95. package/dist/scripts/24-68f8df3eca.chunk.js +1 -0
  96. package/dist/scripts/24.chunk.js.map +1 -1
  97. package/dist/scripts/25-7ad07f87d4.chunk.js +1 -0
  98. package/dist/scripts/25.chunk.js.map +1 -1
  99. package/dist/scripts/26-f3dcacfe4f.chunk.js +1 -0
  100. package/dist/scripts/26.chunk.js +1 -1
  101. package/dist/scripts/26.chunk.js.map +1 -1
  102. package/dist/scripts/27-e844268f38.chunk.js +1 -0
  103. package/dist/scripts/28-853bc5de1f.chunk.js +1 -0
  104. package/dist/scripts/29-b164ecafe9.chunk.js +1 -0
  105. package/dist/scripts/29.chunk.js +435 -500
  106. package/dist/scripts/29.chunk.js.map +1 -1
  107. package/dist/scripts/3-a1bd8c9016.chunk.js +7 -0
  108. package/dist/scripts/3.chunk.js +625 -18676
  109. package/dist/scripts/3.chunk.js.map +1 -1
  110. package/dist/scripts/30-2cfcf52ea1.chunk.js +1 -0
  111. package/dist/scripts/30.chunk.js +634 -429
  112. package/dist/scripts/30.chunk.js.map +1 -1
  113. package/dist/scripts/31-e6a8291d2f.chunk.js +1 -0
  114. package/dist/scripts/31.chunk.js +371 -670
  115. package/dist/scripts/31.chunk.js.map +1 -1
  116. package/dist/scripts/32-7030dc98ed.chunk.js +1 -0
  117. package/dist/scripts/32.chunk.js +27 -54
  118. package/dist/scripts/32.chunk.js.map +1 -1
  119. package/dist/scripts/33-47b0ac90bd.chunk.js +1 -0
  120. package/dist/scripts/33.chunk.js +700 -312
  121. package/dist/scripts/33.chunk.js.map +1 -1
  122. package/dist/scripts/34-2de007b628.chunk.js +1 -0
  123. package/dist/scripts/34.chunk.js +3 -3
  124. package/dist/scripts/34.chunk.js.map +1 -1
  125. package/dist/scripts/35-d2fb66920b.chunk.js +1 -0
  126. package/dist/scripts/36-bc85df33de.chunk.js +1 -0
  127. package/dist/scripts/36.chunk.js.map +1 -1
  128. package/dist/scripts/37-e26652840b.chunk.js +1 -0
  129. package/dist/scripts/37.chunk.js +288 -464
  130. package/dist/scripts/37.chunk.js.map +1 -1
  131. package/dist/scripts/38-0b6a6b9619.chunk.js +1 -0
  132. package/dist/scripts/39-6549f483c6.chunk.js +1 -0
  133. package/dist/scripts/39.chunk.js +1 -1
  134. package/dist/scripts/39.chunk.js.map +1 -1
  135. package/dist/scripts/4-9e83a22d7a.chunk.js +1 -0
  136. package/dist/scripts/4.chunk.js +259 -1021
  137. package/dist/scripts/4.chunk.js.map +1 -1
  138. package/dist/scripts/40-8e6e9d285f.chunk.js +1 -0
  139. package/dist/scripts/41-2b44a2e66f.chunk.js +1 -0
  140. package/dist/scripts/42-9e75f420d8.chunk.js +1 -0
  141. package/dist/scripts/42.chunk.js.map +1 -1
  142. package/dist/scripts/43-1141245420.chunk.js +1 -0
  143. package/dist/scripts/44-9bc4201e0f.chunk.js +1 -0
  144. package/dist/scripts/45-5ded8ca3db.chunk.js +1 -0
  145. package/dist/scripts/46-2afd7ee1fb.chunk.js +1 -0
  146. package/dist/scripts/47-ab30686138.chunk.js +1 -0
  147. package/dist/scripts/48-d9cd99d55e.chunk.js +1 -0
  148. package/dist/scripts/49-f43a08f90b.chunk.js +1 -0
  149. package/dist/scripts/5-974660e17b.chunk.js +1 -0
  150. package/dist/scripts/5.chunk.js +1017 -259
  151. package/dist/scripts/5.chunk.js.map +1 -1
  152. package/dist/scripts/50-af699c531e.chunk.js +1 -0
  153. package/dist/scripts/51-aa7b835007.chunk.js +1 -0
  154. package/dist/scripts/52-805f7fe04d.chunk.js +1 -0
  155. package/dist/scripts/53-d75ca53045.chunk.js +1 -0
  156. package/dist/scripts/54-2e75bad46f.chunk.js +1 -0
  157. package/dist/scripts/55-ed637c4847.chunk.js +1 -0
  158. package/dist/scripts/55.chunk.js.map +1 -1
  159. package/dist/scripts/56-2ed3b5764b.chunk.js +1 -0
  160. package/dist/scripts/57-e51101c8a1.chunk.js +1 -0
  161. package/dist/scripts/58-9a32a6fb2d.chunk.js +1 -0
  162. package/dist/scripts/59-da8a8c97a9.chunk.js +1 -0
  163. package/dist/scripts/6-6ac39034e0.chunk.js +1 -0
  164. package/dist/scripts/6.chunk.js +291 -1250
  165. package/dist/scripts/6.chunk.js.map +1 -1
  166. package/dist/scripts/60-5713de53e2.chunk.js +1 -0
  167. package/dist/scripts/61-7d2ad17963.chunk.js +1 -0
  168. package/dist/scripts/62-a0a69501ac.chunk.js +1 -0
  169. package/dist/scripts/63-c921b87f3f.chunk.js +1 -0
  170. package/dist/scripts/64-87c1cf6985.chunk.js +1 -0
  171. package/dist/scripts/65-2322082836.chunk.js +1 -0
  172. package/dist/scripts/66-6d5356f6ce.chunk.js +1 -0
  173. package/dist/scripts/67-2e0d661c52.chunk.js +1 -0
  174. package/dist/scripts/7-5ac5be64dd.chunk.js +1 -0
  175. package/dist/scripts/7.chunk.js +1 -1
  176. package/dist/scripts/76.chunk.js +3 -3
  177. package/dist/scripts/76.chunk.js.map +1 -1
  178. package/dist/scripts/79.chunk.js +931 -347
  179. package/dist/scripts/79.chunk.js.map +1 -1
  180. package/dist/scripts/8-95563e3d36.chunk.js +1 -0
  181. package/dist/scripts/8.chunk.js +14 -920
  182. package/dist/scripts/8.chunk.js.map +1 -1
  183. package/dist/scripts/80.chunk.js +22 -313
  184. package/dist/scripts/80.chunk.js.map +1 -1
  185. package/dist/scripts/9.chunk.js +320 -17
  186. package/dist/scripts/9.chunk.js.map +1 -1
  187. package/dist/scripts/bundle-9ed1e126dd.min.js +15 -0
  188. package/dist/scripts/bundle.js +147 -121
  189. package/dist/scripts/bundle.js.map +1 -1
  190. package/dist/scripts/bundles.json +2 -2
  191. package/dist/scripts/pdf.worker.entry.worker.js +46239 -0
  192. package/dist/scripts/pdf.worker.entry.worker.js.map +1 -0
  193. package/dist/scripts/polyfills-2723daf478.min.js +1 -0
  194. 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/index.ts","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/components/div-button/DivButton.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/toggle-switch/ToggleSwitch.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/subjects/views/preferences/level-preferences/LiteLevelPreferencesView.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/subjects/views/preferences/level-preferences/level-preferences.scss"],"names":[],"mappings":"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","file":"scripts/36.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\"};","export * from './AudienceItem';\r\nexport * from './partial-loading/PartialAudiences';","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 * 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 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 * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Button, Spinner } from 'react-bootstrap';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { Core } from 'libs/common/core';\r\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { PresentationAudience, Presentation, EntitySetting, CurrentUser } from 'libs/shared/interfaces';\r\nimport { PreferenceRequests } from 'libs/shared/flight-requests/PreferenceRequests';\r\nimport { Text, LanguageNamespaceContext } from 'libs/shared/components/text/Text';\r\nimport { PreferenceFooter } from 'libs/shared/apps/subjects/components/preferences';\r\nimport { AudienceItem, PartialAudiences } from 'libs/shared/apps/subjects/components/audience-item';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\r\nimport { BulkOnboardingPreferencesState } from 'libs/shared/enums/BulkOnboardingPreferencesState';\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\nimport { SettingName } from 'libs/shared/enums/SettingName';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { SettingRequests } from 'libs/shared/flight-requests/SettingRequests';\r\nimport { SettingKind } from 'libs/shared/enums/SettingKind';\r\n\r\nimport { OnboardingHelper } from 'apps/subjects/utils/OnboardingHelper';\r\n\r\nimport styles from './level-preferences.scss';\r\n\r\nconst namespace = 'subjects.levelPreferences';\r\n\r\ninterface LevelPreferencesViewProps {\r\n redirectUrl: string;\r\n}\r\n\r\nexport function LevelPreferencesView({ redirectUrl }: LevelPreferencesViewProps): JSX.Element {\r\n const [ , setAsyncSaveCounter ] = React.useState(0);\r\n const [ selectedLevels, setSelectedLevels ] = React.useState<string[]>([]);\r\n const [ disableNext, setDisableNext ] = React.useState(!selectedLevels.length);\r\n const [ showSpinner, setShowSpinner ] = React.useState<boolean>(false);\r\n const [ bulkPreferencesState, setBulkPreferencesState ] = React.useState<BulkOnboardingPreferencesState>(null);\r\n\r\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\r\n const preferenceOptions = Flight.useBasicFetch<PresentationAudience[]>(\r\n PreferenceRequests.allLevelPreferences());\r\n const preselections = Flight.useBasicFetch<PresentationAudience[]>(\r\n PreferenceRequests.myLevelPreferences());\r\n const availablePresentations = Flight.useBasicFetch<Presentation[]>(PreferenceRequests.availablePresentations());\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 const hasBulkSelectedLevels = OnboardingHelper.hasBulkSelectedLevels(bulkPreferencesState);\r\n\r\n /**\r\n * Set initial selections\r\n */\r\n React.useEffect(() => {\r\n if (!preselections.data?.length) {\r\n setSelectedLevels([]);\r\n return;\r\n }\r\n\r\n const preselectedIds = preselections.data.map(level => level.masterId);\r\n setSelectedLevels(ArrayHelper.uniq([ ...selectedLevels, ...preselectedIds ]));\r\n }, [preselections.data]);\r\n\r\n React.useEffect(() => {\r\n if (!bulkOnboardingPreferencesState.data || bulkPreferencesState)\r\n return;\r\n\r\n setBulkPreferencesState(bulkOnboardingPreferencesState.data.value);\r\n }, [bulkOnboardingPreferencesState.data?.value]);\r\n\r\n React.useEffect(() => {\r\n setDisableNext(!hasBulkSelectedLevels && !selectedLevels.length);\r\n }, [ selectedLevels, hasBulkSelectedLevels ]);\r\n\r\n function onSelectLevel(level: PresentationAudience): void {\r\n const newSelections = ArrayHelper.addOrRemoveImmutable(selectedLevels, level.masterId);\r\n setSelectedLevels(newSelections);\r\n }\r\n\r\n function onSave(): void {\r\n if (!selectedLevels.length && !hasBulkSelectedLevels)\r\n return;\r\n\r\n if (!hasChanged()) {\r\n Core.AppLinkHelper.trigger(OnboardingHelper.buildAppLink('subjects', redirectUrl));\r\n return;\r\n }\r\n\r\n setAsyncSaveCounter(0);\r\n setShowSpinner(true);\r\n setDisableNext(true);\r\n\r\n const addedLevels = selectedLevels.filter(id => !preselections.data?.find(level => level.masterId === id));\r\n const removedLevels = preselections.data?.filter(level => !selectedLevels.includes(level.masterId));\r\n\r\n if (addedLevels?.length) {\r\n setAsyncSaveCounter(currentVal => currentVal + 1);\r\n Flight.fetch(dispatch, PreferenceRequests.followLevels(addedLevels, onSaveSuccess, onSaveError));\r\n }\r\n\r\n if (removedLevels?.length) {\r\n setAsyncSaveCounter(currentVal => currentVal + 1);\r\n Flight.fetch(\r\n dispatch,\r\n PreferenceRequests.unfollowLevels(removedLevels.map(l => l.masterId), onSaveSuccess, onSaveError)\r\n );\r\n }\r\n }\r\n\r\n function onSaveSuccess(): void {\r\n setAsyncSaveCounter(currentValue => {\r\n if (currentValue === 1) {\r\n setShowSpinner(false);\r\n\r\n Core.AppLinkHelper.trigger(OnboardingHelper.buildAppLink('subjects', redirectUrl));\r\n }\r\n\r\n return currentValue - 1;\r\n });\r\n }\r\n\r\n function onSaveError(): void {\r\n setAsyncSaveCounter(0);\r\n setShowSpinner(false);\r\n setDisableNext(false);\r\n alerts.error(LanguageService.getPhrase(namespace, 'error'));\r\n }\r\n\r\n function hasChanged(): boolean {\r\n if (!preselections.data)\r\n return false;\r\n\r\n const preselectedIds = preselections.data.map(p => p.masterId);\r\n return preselectedIds.sort().toString() !== selectedLevels.sort().toString();\r\n }\r\n\r\n function onToggleSelectAll(): void {\r\n let newBulkState: BulkOnboardingPreferencesState = null;\r\n\r\n switch (bulkOnboardingPreferencesState.data?.value) {\r\n case BulkOnboardingPreferencesState.None:\r\n default:\r\n newBulkState = BulkOnboardingPreferencesState.AllLevels;\r\n break;\r\n case BulkOnboardingPreferencesState.AllLevels:\r\n newBulkState = BulkOnboardingPreferencesState.None;\r\n break;\r\n case BulkOnboardingPreferencesState.AllSubjects:\r\n newBulkState = BulkOnboardingPreferencesState.AllSubjectsAndAllLevels;\r\n break;\r\n case BulkOnboardingPreferencesState.AllSubjectsAndAllLevels:\r\n newBulkState = BulkOnboardingPreferencesState.AllSubjects;\r\n break;\r\n }\r\n\r\n if (OnboardingHelper.hasBulkSelectedLevels(newBulkState))\r\n setSelectedLevels([]);\r\n\r\n setBulkPreferencesState(newBulkState);\r\n\r\n Flight.fetch(dispatch, SettingRequests.updateSetting(\r\n currentUser.data.id,\r\n SettingName.BulkOnboardingPreferencesState,\r\n newBulkState,\r\n SettingKind.Permanent\r\n ));\r\n }\r\n\r\n function getBackButtonAppLink(): Core.AppLink {\r\n if (hasCompletedOnboarding.data?.value)\r\n return null;\r\n\r\n const {\r\n hasManyCurriculumPresentations,\r\n hasManySubjectPresentations\r\n } = OnboardingHelper.hasManyPresentationTypes(availablePresentations.data);\r\n\r\n // We only want to show these views if there are many options available to the user.\r\n if (hasManyCurriculumPresentations)\r\n return OnboardingHelper.buildAppLink('curriculum', redirectUrl);\r\n\r\n if (hasManySubjectPresentations)\r\n return OnboardingHelper.buildAppLink('school-level', redirectUrl);\r\n\r\n return OnboardingHelper.buildAppLink('welcome', redirectUrl);\r\n }\r\n\r\n const backButtonAppLink = getBackButtonAppLink();\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <form className='p-3'>\r\n <div className='position-relative'>\r\n <div className='text-center mb-3'>\r\n <h1 className='mb-3'>\r\n <Text phrase='heading' />\r\n </h1>\r\n <p className='h6'><Text phrase='info' /></p>\r\n </div>\r\n\r\n {preferenceOptions.data\r\n ? <ul className={`d-flex flex-wrap justify-content-center mx-auto mb-0 pl-0 py-3 ${styles.levelList}`}>\r\n {preferenceOptions.data.map(option => (\r\n <AudienceItem\r\n key={option.masterId}\r\n audience={option}\r\n highlight={selectedLevels.includes(option.masterId)}\r\n setAudience={onSelectLevel}\r\n extraClasses='h4 py-1 px-3 mx-1 mb-1'\r\n isDisabled={hasBulkSelectedLevels}\r\n />\r\n ))}\r\n </ul>\r\n : <div className='w-33 mx-auto py-3'><PartialAudiences align='center' /></div>\r\n }\r\n </div>\r\n\r\n <div className={`mx-auto ${styles.imageContainer}`}>\r\n <img\r\n className='img-fluid'\r\n src='/images/onboarding/year-levels.png'\r\n alt=''\r\n role='presentation'\r\n />\r\n </div>\r\n\r\n <PreferenceFooter justify={backButtonAppLink ? 'between' : 'end'}>\r\n {!!backButtonAppLink && (\r\n <div>\r\n <AppLink appLink={backButtonAppLink} className='btn btn-light'>\r\n <Text phrase='back' />\r\n </AppLink>\r\n </div>\r\n )}\r\n\r\n <div className='d-flex align-items-center justify-content-right'>\r\n <div className='d-flex mr-3'>\r\n <p onClick={onToggleSelectAll} className='mr-2 mb-0 font-weight-bold'>\r\n <Text phrase='allLevels' />\r\n </p>\r\n <ToggleSwitch\r\n onClick={onToggleSelectAll}\r\n on={hasBulkSelectedLevels}\r\n hideOutline\r\n />\r\n </div>\r\n\r\n <Button variant='dark' disabled={disableNext} onClick={onSave} >\r\n {showSpinner\r\n ? <Spinner as='span' animation='border' role='status' size='sm' />\r\n : <Text phrase='next' />\r\n }\r\n </Button>\r\n </div>\r\n </PreferenceFooter>\r\n </form>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"levelList\":\"cv--levelList--3ClyO\",\"imageContainer\":\"cv--imageContainer--2I-AB\"};"],"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/index.ts","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/components/div-button/DivButton.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/toggle-switch/ToggleSwitch.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/subjects/views/preferences/level-preferences/LiteLevelPreferencesView.tsx","webpack://@clickview/lite/./src/apps/subjects/views/preferences/level-preferences/level-preferences.scss?eff2"],"names":[],"mappings":"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","file":"scripts/36.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\"};","export * from './AudienceItem';\r\nexport * from './partial-loading/PartialAudiences';","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 * 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 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 * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Button, Spinner } from 'react-bootstrap';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { Core } from 'libs/common/core';\r\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { PresentationAudience, Presentation, EntitySetting, CurrentUser } from 'libs/shared/interfaces';\r\nimport { PreferenceRequests } from 'libs/shared/flight-requests/PreferenceRequests';\r\nimport { Text, LanguageNamespaceContext } from 'libs/shared/components/text/Text';\r\nimport { PreferenceFooter } from 'libs/shared/apps/subjects/components/preferences';\r\nimport { AudienceItem, PartialAudiences } from 'libs/shared/apps/subjects/components/audience-item';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\r\nimport { BulkOnboardingPreferencesState } from 'libs/shared/enums/BulkOnboardingPreferencesState';\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\nimport { SettingName } from 'libs/shared/enums/SettingName';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { SettingRequests } from 'libs/shared/flight-requests/SettingRequests';\r\nimport { SettingKind } from 'libs/shared/enums/SettingKind';\r\n\r\nimport { OnboardingHelper } from 'apps/subjects/utils/OnboardingHelper';\r\n\r\nimport styles from './level-preferences.scss';\r\n\r\nconst namespace = 'subjects.levelPreferences';\r\n\r\ninterface LevelPreferencesViewProps {\r\n redirectUrl: string;\r\n}\r\n\r\nexport function LevelPreferencesView({ redirectUrl }: LevelPreferencesViewProps): JSX.Element {\r\n const [ , setAsyncSaveCounter ] = React.useState(0);\r\n const [ selectedLevels, setSelectedLevels ] = React.useState<string[]>([]);\r\n const [ disableNext, setDisableNext ] = React.useState(!selectedLevels.length);\r\n const [ showSpinner, setShowSpinner ] = React.useState<boolean>(false);\r\n const [ bulkPreferencesState, setBulkPreferencesState ] = React.useState<BulkOnboardingPreferencesState>(null);\r\n\r\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\r\n const preferenceOptions = Flight.useBasicFetch<PresentationAudience[]>(\r\n PreferenceRequests.allLevelPreferences());\r\n const preselections = Flight.useBasicFetch<PresentationAudience[]>(\r\n PreferenceRequests.myLevelPreferences());\r\n const availablePresentations = Flight.useBasicFetch<Presentation[]>(PreferenceRequests.availablePresentations());\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 const hasBulkSelectedLevels = OnboardingHelper.hasBulkSelectedLevels(bulkPreferencesState);\r\n\r\n /**\r\n * Set initial selections\r\n */\r\n React.useEffect(() => {\r\n if (!preselections.data?.length) {\r\n setSelectedLevels([]);\r\n return;\r\n }\r\n\r\n const preselectedIds = preselections.data.map(level => level.masterId);\r\n setSelectedLevels(ArrayHelper.uniq([ ...selectedLevels, ...preselectedIds ]));\r\n }, [preselections.data]);\r\n\r\n React.useEffect(() => {\r\n if (!bulkOnboardingPreferencesState.data || bulkPreferencesState)\r\n return;\r\n\r\n setBulkPreferencesState(bulkOnboardingPreferencesState.data.value);\r\n }, [bulkOnboardingPreferencesState.data?.value]);\r\n\r\n React.useEffect(() => {\r\n setDisableNext(!hasBulkSelectedLevels && !selectedLevels.length);\r\n }, [ selectedLevels, hasBulkSelectedLevels ]);\r\n\r\n function onSelectLevel(level: PresentationAudience): void {\r\n const newSelections = ArrayHelper.addOrRemoveImmutable(selectedLevels, level.masterId);\r\n setSelectedLevels(newSelections);\r\n }\r\n\r\n function onSave(): void {\r\n if (!selectedLevels.length && !hasBulkSelectedLevels)\r\n return;\r\n\r\n if (!hasChanged()) {\r\n Core.AppLinkHelper.trigger(OnboardingHelper.buildAppLink('subjects', redirectUrl));\r\n return;\r\n }\r\n\r\n setAsyncSaveCounter(0);\r\n setShowSpinner(true);\r\n setDisableNext(true);\r\n\r\n const addedLevels = selectedLevels.filter(id => !preselections.data?.find(level => level.masterId === id));\r\n const removedLevels = preselections.data?.filter(level => !selectedLevels.includes(level.masterId));\r\n\r\n if (addedLevels?.length) {\r\n setAsyncSaveCounter(currentVal => currentVal + 1);\r\n Flight.fetch(dispatch, PreferenceRequests.followLevels(addedLevels, onSaveSuccess, onSaveError));\r\n }\r\n\r\n if (removedLevels?.length) {\r\n setAsyncSaveCounter(currentVal => currentVal + 1);\r\n Flight.fetch(\r\n dispatch,\r\n PreferenceRequests.unfollowLevels(removedLevels.map(l => l.masterId), onSaveSuccess, onSaveError)\r\n );\r\n }\r\n }\r\n\r\n function onSaveSuccess(): void {\r\n setAsyncSaveCounter(currentValue => {\r\n if (currentValue === 1) {\r\n setShowSpinner(false);\r\n\r\n Core.AppLinkHelper.trigger(OnboardingHelper.buildAppLink('subjects', redirectUrl));\r\n }\r\n\r\n return currentValue - 1;\r\n });\r\n }\r\n\r\n function onSaveError(): void {\r\n setAsyncSaveCounter(0);\r\n setShowSpinner(false);\r\n setDisableNext(false);\r\n alerts.error(LanguageService.getPhrase(namespace, 'error'));\r\n }\r\n\r\n function hasChanged(): boolean {\r\n if (!preselections.data)\r\n return false;\r\n\r\n const preselectedIds = preselections.data.map(p => p.masterId);\r\n return preselectedIds.sort().toString() !== selectedLevels.sort().toString();\r\n }\r\n\r\n function onToggleSelectAll(): void {\r\n let newBulkState: BulkOnboardingPreferencesState = null;\r\n\r\n switch (bulkOnboardingPreferencesState.data?.value) {\r\n case BulkOnboardingPreferencesState.None:\r\n default:\r\n newBulkState = BulkOnboardingPreferencesState.AllLevels;\r\n break;\r\n case BulkOnboardingPreferencesState.AllLevels:\r\n newBulkState = BulkOnboardingPreferencesState.None;\r\n break;\r\n case BulkOnboardingPreferencesState.AllSubjects:\r\n newBulkState = BulkOnboardingPreferencesState.AllSubjectsAndAllLevels;\r\n break;\r\n case BulkOnboardingPreferencesState.AllSubjectsAndAllLevels:\r\n newBulkState = BulkOnboardingPreferencesState.AllSubjects;\r\n break;\r\n }\r\n\r\n if (OnboardingHelper.hasBulkSelectedLevels(newBulkState))\r\n setSelectedLevels([]);\r\n\r\n setBulkPreferencesState(newBulkState);\r\n\r\n Flight.fetch(dispatch, SettingRequests.updateSetting(\r\n currentUser.data.id,\r\n SettingName.BulkOnboardingPreferencesState,\r\n newBulkState,\r\n SettingKind.Permanent\r\n ));\r\n }\r\n\r\n function getBackButtonAppLink(): Core.AppLink {\r\n if (hasCompletedOnboarding.data?.value)\r\n return null;\r\n\r\n const {\r\n hasManyCurriculumPresentations,\r\n hasManySubjectPresentations\r\n } = OnboardingHelper.hasManyPresentationTypes(availablePresentations.data);\r\n\r\n // We only want to show these views if there are many options available to the user.\r\n if (hasManyCurriculumPresentations)\r\n return OnboardingHelper.buildAppLink('curriculum', redirectUrl);\r\n\r\n if (hasManySubjectPresentations)\r\n return OnboardingHelper.buildAppLink('school-level', redirectUrl);\r\n\r\n return OnboardingHelper.buildAppLink('welcome', redirectUrl);\r\n }\r\n\r\n const backButtonAppLink = getBackButtonAppLink();\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <form className='p-3'>\r\n <div className='position-relative'>\r\n <div className='text-center mb-3'>\r\n <h1 className='mb-3'>\r\n <Text phrase='heading' />\r\n </h1>\r\n <p className='h6'><Text phrase='info' /></p>\r\n </div>\r\n\r\n {preferenceOptions.data\r\n ? <ul className={`d-flex flex-wrap justify-content-center mx-auto mb-0 pl-0 py-3 ${styles.levelList}`}>\r\n {preferenceOptions.data.map(option => (\r\n <AudienceItem\r\n key={option.masterId}\r\n audience={option}\r\n highlight={selectedLevels.includes(option.masterId)}\r\n setAudience={onSelectLevel}\r\n extraClasses='h4 py-1 px-3 mx-1 mb-1'\r\n isDisabled={hasBulkSelectedLevels}\r\n />\r\n ))}\r\n </ul>\r\n : <div className='w-33 mx-auto py-3'><PartialAudiences align='center' /></div>\r\n }\r\n </div>\r\n\r\n <div className={`mx-auto ${styles.imageContainer}`}>\r\n <img\r\n className='img-fluid'\r\n src='/images/onboarding/year-levels.png'\r\n alt=''\r\n role='presentation'\r\n />\r\n </div>\r\n\r\n <PreferenceFooter justify={backButtonAppLink ? 'between' : 'end'}>\r\n {!!backButtonAppLink && (\r\n <div>\r\n <AppLink appLink={backButtonAppLink} className='btn btn-light'>\r\n <Text phrase='back' />\r\n </AppLink>\r\n </div>\r\n )}\r\n\r\n <div className='d-flex align-items-center justify-content-right'>\r\n <div className='d-flex mr-3'>\r\n <p onClick={onToggleSelectAll} className='mr-2 mb-0 font-weight-bold'>\r\n <Text phrase='allLevels' />\r\n </p>\r\n <ToggleSwitch\r\n onClick={onToggleSelectAll}\r\n on={hasBulkSelectedLevels}\r\n hideOutline\r\n />\r\n </div>\r\n\r\n <Button variant='dark' disabled={disableNext} onClick={onSave} >\r\n {showSpinner\r\n ? <Spinner as='span' animation='border' role='status' size='sm' />\r\n : <Text phrase='next' />\r\n }\r\n </Button>\r\n </div>\r\n </PreferenceFooter>\r\n </form>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"levelList\":\"cv--levelList--3ClyO\",\"imageContainer\":\"cv--imageContainer--2I-AB\"};"],"sourceRoot":""}
@@ -0,0 +1 @@
1
+ (window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[37],{1079:function(e,a,t){e.exports={studentCard:"wZAHT",studentCardContent:"G006q",actionsContainer:"_3boP_",toggleAction:"_28bC8"}},1080:function(e,a,t){e.exports={star:"_3Lb-b",heading:"_2_3Jc",overview:"mHSNP",manageLink:"_2cJBD",studentsHeading:"_1mKV4",studentItem:"K6dTd"}},1305:function(e,a,t){"use strict";t.r(a);var n=t(0),r=t.n(n),s=t(61),c=t(14),o=t(7),l=t(237),i=t(40),m=t(3),u=t(73),d=t(13),f=t(55),v=t(824),p=t(51),g=t(5),E=t(10),b=t(241),N=t(825),y=t(960),C=t(1079),w=t.n(C);function h(e,a){return function(e){if(Array.isArray(e))return e}(e)||function(e,a){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],n=!0,r=!1,s=void 0;try{for(var c,o=e[Symbol.iterator]();!(n=(c=o.next()).done)&&(t.push(c.value),!a||t.length!==a);n=!0);}catch(e){r=!0,s=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw s}}return t}(e,a)||function(e,a){if(!e)return;if("string"==typeof e)return k(e,a);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return k(e,a)}(e,a)||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 k(e,a){(null==a||a>e.length)&&(a=e.length);for(var t=0,n=new Array(a);t<a;t++)n[t]=e[t];return n}var S="classrooms.classroomStudentsList";function x(e){var a,t,n,s=h(r.a.useState(!1),2),c=s[0],l=s[1],u=[{text:o.a.getPhrase(S,"editStudentDetails"),appLink:(n=e.student.id,{application:g.a.USER_MANAGER,action:E.a.UserManager.EDIT_STUDENT,args:[n]}),onClick:function(){i.a.logUserAction({id:e.student.id},{actionType:m.n.Edit,entity:m.d.User,workflowPhase:m.o.Start,location:m.j.ClassroomOverviewStudentListItem})}},{text:o.a.getPhrase(S,"removeFromClassroom"),appLink:(a=e.classroom.id,t=e.student.id,{application:g.a.CLASSROOMS,action:E.a.Classrooms.REMOVE_STUDENTS,args:[a],params:{studentIds:[t]}}),onClick:function(){i.a.logUserAction({id:e.student.id},{actionType:m.n.Dissociate,entity:m.d.Classroom,descriptor:m.a.User,workflowPhase:m.o.Start,location:m.j.ClassroomOverviewStudentListItem})}}];return r.a.createElement("li",{className:"".concat(w.a.studentCard," m-2 bg-white shadow position-relative rounded-lg")},c?r.a.createElement(r.a.Fragment,null,r.a.createElement(N.a,{className:w.a.toggleAction,onClick:function(){return l(!1)}},r.a.createElement(f.a,{svgName:d.b.Close,size:f.b.Large})),r.a.createElement("div",{className:w.a.actionsContainer},r.a.createElement(y.a,{actions:u}))):r.a.createElement(r.a.Fragment,null,r.a.createElement(N.a,{className:w.a.toggleAction,onClick:function(){return l(!0)}},r.a.createElement(f.a,{svgName:d.b.Edit,size:f.b.Large})),r.a.createElement("div",{className:"".concat(w.a.studentCardContent," w-100 px-1")},r.a.createElement("img",{className:"mb-1",src:"/images/student-avatar-placeholder.png",alt:o.a.getPhrase(S,"avatarAlt",{name:e.student.name})}),r.a.createElement("h3",{className:"h6 text-center text-truncate pb-1 w-100"},e.student.name," ",e.student.surname))))}function A(e){return r.a.createElement("ul",{className:"list-unstyled d-flex flex-wrap mx-n2"},e.students.map((function(a){return r.a.createElement(x,{key:a.id,student:a,classroom:e.classroom})})))}function O(e){return r.a.createElement(r.a.Fragment,null,"Students empty state")}var L=t(959),_=t(1080),T=t.n(_);function j(){return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:"d-flex justify-content-between mb-4"},r.a.createElement("div",{className:"d-flex"},r.a.createElement("div",{className:"m-1 mb-0"},r.a.createElement("div",{className:"".concat(T.a.star," partial-loading-background")})),r.a.createElement("div",null,r.a.createElement("div",{className:"".concat(T.a.heading," mb-1 partial-loading-background")}),r.a.createElement("div",{className:"".concat(T.a.overview," partial-loading-background")}))),r.a.createElement("div",{className:"d-flex align-items-center"},r.a.createElement("div",{className:"".concat(T.a.manageLink," partial-loading-background")}))),r.a.createElement("div",null,r.a.createElement("div",{className:"".concat(T.a.studentsHeading," partial-loading-background mb-2")}),r.a.createElement("div",{className:"d-flex flex-wrap mx-n2"},Array(15).fill(null).map((function(e,a){return r.a.createElement("div",{key:a,className:"".concat(T.a.studentItem," partial-loading-background m-2 rounded-lg")})})))))}t.d(a,"ClassroomView",(function(){return F}));var U=o.a.encloseNamespace("classrooms.classroom");function F(e){var a,t=c.a.useBasicFetch(b.a.getClassroom(e.id));Object(l.a)(null===(a=t.data)||void 0===a?void 0:a.name);var n,o=Object(s.useDispatch)(),N=Object(v.a)();return t.data?r.a.createElement(u.a.Provider,{value:"classrooms.classroom"},r.a.createElement("div",{className:"d-flex justify-content-between p-3 pt-0"},r.a.createElement("div",{className:"d-flex"},r.a.createElement("div",{className:"mt-1 mr-1"},r.a.createElement(L.a,{isActive:t.data.isFavourited,onToggle:function(){t.data.isFavourited?c.a.fetch(o,b.a.unstarClassroom(t.data,(function(){i.a.logUserAction({id:t.data.id},{location:m.j.ClassroomOverview,actionType:m.n.Favourite,descriptor:m.m.Off,entity:m.d.Classroom,workflowPhase:m.o.Complete}),N.success(U("unstarSuccess",{classroomName:t.data.name}))}),(function(){N.error(U("unstarError",{classroomName:t.data.name}))}))):c.a.fetch(o,b.a.starClassroom(t.data,(function(){i.a.logUserAction({id:t.data.id},{location:m.j.ClassroomOverview,actionType:m.n.Favourite,descriptor:m.m.On,entity:m.d.Classroom,workflowPhase:m.o.Complete}),N.success(U("starSuccess",{classroomName:t.data.name}))}),(function(){N.error(U("starError",{classroomName:t.data.name}))})))}})),r.a.createElement("div",null,r.a.createElement("h1",{className:"mb-1"},t.data.name),r.a.createElement("p",{className:"h6"},r.a.createElement(u.b,{phrase:"overview"})))),r.a.createElement(p.a,{className:"d-flex align-items-center",appLink:(n=t.data.id,{application:g.a.CLASSROOMS,action:E.a.Classrooms.MANAGE_CLASSROOM,args:[n]})},r.a.createElement(f.a,{className:"mr-1 svg-container",svgName:d.b.Cog}),r.a.createElement(u.b,{phrase:"manageClassroom"}))),r.a.createElement("div",null,r.a.createElement("h2",{className:"h5"},r.a.createElement(u.b,{phrase:"students"})),t.data.students.length?r.a.createElement(A,{students:t.data.students,classroom:t.data}):r.a.createElement(O,null))):r.a.createElement(j,null)}},824:function(e,a,t){"use strict";t.d(a,"a",(function(){return c}));var n=t(153),r=t(48),s=t(52),c=function(){var e=Object(n.a)(s.a.ALERT);return{success:function(a){e.success(a)()},error:function(a){e.error(a)()},warning:function(a){e.createAlert({type:r.a.Warning,heading:r.c.Warning,message:a})}}}},825:function(e,a,t){"use strict";t.d(a,"a",(function(){return r}));var n=t(0);function r(e){return n.createElement("div",{role:"button",tabIndex:0,className:"".concat(e.className?e.className:""," cursor-pointer"),onKeyDown:function(a){return"Enter"===a.key&&e.onClick(a)},onClick:e.onClick,style:e.style?e.style:{}},e.children)}},959:function(e,a,t){"use strict";t.d(a,"a",(function(){return l}));var n=t(0),r=t.n(n),s=t(825),c=t(55),o=t(13);function l(e){var a=e.isActive,t=e.onToggle,n=e.invisible,l="".concat(a?"text-yellow":""," ").concat(n?"invisible":"");return r.a.createElement(s.a,{onClick:t,className:l},r.a.createElement(c.a,{svgName:a?o.b.Star:o.b.StarOutline,size:c.b.Large}))}},960:function(e,a,t){"use strict";t.d(a,"a",(function(){return l}));var n=t(0),r=t.n(n),s=t(51),c=t(961),o=t.n(c);function l(e){return r.a.createElement("div",{className:"w-100 d-flex flex-column"},e.actions.map((function(e){return r.a.createElement(s.a,{key:e.text,className:"".concat(o.a.option," py-1"),appLink:e.appLink,onClick:e.onClick||function(){}},r.a.createElement("span",{className:"pl-2"},e.text))})))}},961:function(e,a,t){e.exports={option:"_2LGMe"}}}]);