studiokit-scaffolding-js 4.3.20 → 4.3.21

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 (334) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +127 -127
  3. package/lib/components/ActionList.d.ts +20 -20
  4. package/lib/components/ActionList.js +94 -94
  5. package/lib/components/AlertDialog.d.ts +18 -18
  6. package/lib/components/AlertDialog.js +21 -21
  7. package/lib/components/AlertWithIcon.d.ts +7 -7
  8. package/lib/components/AlertWithIcon.js +57 -57
  9. package/lib/components/Blots/CustomImageSpec.d.ts +14 -14
  10. package/lib/components/Blots/CustomImageSpec.js +45 -45
  11. package/lib/components/Blots/CustomVideoSpec.d.ts +16 -16
  12. package/lib/components/Blots/CustomVideoSpec.js +47 -47
  13. package/lib/components/ConnectedModal.d.ts +6 -6
  14. package/lib/components/ConnectedModal.js +11 -11
  15. package/lib/components/Dropdowns/GroupsDropdown.d.ts +18 -18
  16. package/lib/components/Dropdowns/GroupsDropdown.js +90 -90
  17. package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +32 -32
  18. package/lib/components/Dropdowns/ManagedNavDropdown.js +118 -118
  19. package/lib/components/Dropdowns/UserDropdown.d.ts +6 -6
  20. package/lib/components/Dropdowns/UserDropdown.js +76 -76
  21. package/lib/components/Dropdowns/index.d.ts +3 -3
  22. package/lib/components/Dropdowns/index.js +12 -12
  23. package/lib/components/EntityOwnerList.d.ts +11 -11
  24. package/lib/components/EntityOwnerList.js +63 -63
  25. package/lib/components/ErrorBoundary.d.ts +11 -11
  26. package/lib/components/ErrorBoundary.js +74 -74
  27. package/lib/components/Forms/DateField.d.ts +13 -13
  28. package/lib/components/Forms/DateField.js +99 -99
  29. package/lib/components/Forms/TimeField.d.ts +11 -11
  30. package/lib/components/Forms/TimeField.js +112 -112
  31. package/lib/components/Forms/index.d.ts +2 -2
  32. package/lib/components/Forms/index.js +14 -14
  33. package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +10 -10
  34. package/lib/components/Groups/CreateEditCopySaveButtons.js +18 -18
  35. package/lib/components/Groups/GroupCreateOrEditCommonProps.d.ts +6 -6
  36. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
  37. package/lib/components/Groups/RosterSyncInfo.d.ts +5 -5
  38. package/lib/components/Groups/RosterSyncInfo.js +54 -54
  39. package/lib/components/HOC/AccessibleAppComponent.d.ts +15 -15
  40. package/lib/components/HOC/AccessibleAppComponent.js +135 -135
  41. package/lib/components/HOC/ActivityRequiredComponent.d.ts +105 -105
  42. package/lib/components/HOC/ActivityRequiredComponent.js +101 -101
  43. package/lib/components/HOC/AsyncComponent.d.ts +37 -37
  44. package/lib/components/HOC/AsyncComponent.js +136 -136
  45. package/lib/components/HOC/AuthenticatedComponent.d.ts +10 -10
  46. package/lib/components/HOC/AuthenticatedComponent.js +104 -104
  47. package/lib/components/HOC/CollectionComponent.d.ts +61 -61
  48. package/lib/components/HOC/CollectionComponent.js +175 -175
  49. package/lib/components/HOC/CollectionFirstItemComponent.d.ts +67 -67
  50. package/lib/components/HOC/CollectionFirstItemComponent.js +94 -94
  51. package/lib/components/HOC/CollectionItemComponent.d.ts +61 -61
  52. package/lib/components/HOC/CollectionItemComponent.js +172 -172
  53. package/lib/components/HOC/ConnectedModalComponent.d.ts +26 -26
  54. package/lib/components/HOC/ConnectedModalComponent.js +110 -110
  55. package/lib/components/HOC/DataDependentComponent.d.ts +61 -61
  56. package/lib/components/HOC/DataDependentComponent.js +90 -90
  57. package/lib/components/HOC/EntityComponent.d.ts +83 -83
  58. package/lib/components/HOC/EntityComponent.js +120 -120
  59. package/lib/components/HOC/FullscreenModalComponent.d.ts +74 -74
  60. package/lib/components/HOC/FullscreenModalComponent.js +173 -173
  61. package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +29 -29
  62. package/lib/components/HOC/GroupActivityRequiredComponent.js +49 -49
  63. package/lib/components/HOC/GuidComponent.d.ts +14 -14
  64. package/lib/components/HOC/GuidComponent.js +72 -72
  65. package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +172 -172
  66. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +72 -72
  67. package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +69 -69
  68. package/lib/components/HOC/ModelErrorRedirectComponent.js +101 -101
  69. package/lib/components/HOC/SearchPersistorComponent.d.ts +85 -85
  70. package/lib/components/HOC/SearchPersistorComponent.js +198 -198
  71. package/lib/components/HOC/UnauthenticatedComponent.d.ts +62 -62
  72. package/lib/components/HOC/UnauthenticatedComponent.js +90 -90
  73. package/lib/components/HOC/UserComponent.d.ts +3 -3
  74. package/lib/components/HOC/UserComponent.js +12 -12
  75. package/lib/components/Icons/IconExternalUser.d.ts +3 -3
  76. package/lib/components/Icons/IconExternalUser.js +24 -24
  77. package/lib/components/Icons/IconImpersonation.d.ts +3 -3
  78. package/lib/components/Icons/IconImpersonation.js +24 -24
  79. package/lib/components/Icons/IconStopImpersonating.d.ts +3 -3
  80. package/lib/components/Icons/IconStopImpersonating.js +24 -24
  81. package/lib/components/Impersonation/Button.d.ts +7 -7
  82. package/lib/components/Impersonation/Button.js +61 -61
  83. package/lib/components/Impersonation/Link.d.ts +7 -7
  84. package/lib/components/Impersonation/Link.js +58 -58
  85. package/lib/components/Impersonation/UserDetail.css +22 -22
  86. package/lib/components/Impersonation/UserDetail.d.ts +22 -22
  87. package/lib/components/Impersonation/UserDetail.js +23 -23
  88. package/lib/components/Loading.d.ts +4 -4
  89. package/lib/components/Loading.js +24 -24
  90. package/lib/components/Lti/Confirm.d.ts +8 -8
  91. package/lib/components/Lti/Confirm.js +37 -37
  92. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +15 -15
  93. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +83 -83
  94. package/lib/components/Lti/Launch.d.ts +21 -21
  95. package/lib/components/Lti/Launch.js +52 -52
  96. package/lib/components/Lti/LaunchGroup.d.ts +9 -9
  97. package/lib/components/Lti/LaunchGroup.js +45 -45
  98. package/lib/components/NewVersionAlert.d.ts +18 -18
  99. package/lib/components/NewVersionAlert.js +97 -97
  100. package/lib/components/NotFound.d.ts +3 -3
  101. package/lib/components/NotFound.js +28 -28
  102. package/lib/components/Notifications.d.ts +39 -39
  103. package/lib/components/Notifications.js +175 -175
  104. package/lib/components/RefreshIndicator/Bordered.d.ts +7 -7
  105. package/lib/components/RefreshIndicator/Bordered.js +35 -35
  106. package/lib/components/RefreshIndicator/Inline.d.ts +4 -4
  107. package/lib/components/RefreshIndicator/Inline.js +36 -36
  108. package/lib/components/RefreshIndicator/index.d.ts +21 -21
  109. package/lib/components/RefreshIndicator/index.js +116 -116
  110. package/lib/components/SearchControls.d.ts +14 -14
  111. package/lib/components/SearchControls.js +34 -34
  112. package/lib/components/SentryRoute.d.ts +3 -3
  113. package/lib/components/SentryRoute.js +25 -25
  114. package/lib/components/Tables/RoleFilter.d.ts +14 -14
  115. package/lib/components/Tables/RoleFilter.js +53 -53
  116. package/lib/components/Tables/TextFilter.d.ts +7 -7
  117. package/lib/components/Tables/TextFilter.js +26 -26
  118. package/lib/components/UserRoles/Add.d.ts +31 -31
  119. package/lib/components/UserRoles/Add.js +165 -165
  120. package/lib/components/UserRoles/RoleCell.d.ts +21 -21
  121. package/lib/components/UserRoles/RoleCell.js +53 -53
  122. package/lib/components/UserRoles/Select.d.ts +27 -27
  123. package/lib/components/UserRoles/Select.js +44 -44
  124. package/lib/components/UserRoles/Table.d.ts +16 -16
  125. package/lib/components/UserRoles/Table.js +99 -99
  126. package/lib/components/UserRoles/index.d.ts +76 -76
  127. package/lib/components/UserRoles/index.js +361 -361
  128. package/lib/constants/baseActivity.d.ts +25 -25
  129. package/lib/constants/baseActivity.js +29 -29
  130. package/lib/constants/baseRole.d.ts +9 -9
  131. package/lib/constants/baseRole.js +13 -13
  132. package/lib/constants/configuration.d.ts +8 -8
  133. package/lib/constants/configuration.js +39 -39
  134. package/lib/constants/externalProviderType.d.ts +5 -5
  135. package/lib/constants/externalProviderType.js +9 -9
  136. package/lib/constants/index.d.ts +8 -8
  137. package/lib/constants/index.js +20 -20
  138. package/lib/constants/mockData.d.ts +82 -84
  139. package/lib/constants/mockData.js +379 -379
  140. package/lib/constants/modelStatus.d.ts +10 -10
  141. package/lib/constants/modelStatus.js +14 -14
  142. package/lib/constants/notificationType.d.ts +7 -7
  143. package/lib/constants/notificationType.js +11 -11
  144. package/lib/constants/shard.d.ts +6 -6
  145. package/lib/constants/shard.js +10 -10
  146. package/lib/constants/tier.d.ts +6 -6
  147. package/lib/constants/tier.js +10 -10
  148. package/lib/constants/userRole.d.ts +2 -2
  149. package/lib/constants/userRole.js +21 -21
  150. package/lib/css/base/_base.css +98 -98
  151. package/lib/css/base/_typography.css +130 -130
  152. package/lib/css/components/_alert.css +85 -85
  153. package/lib/css/components/_bootstrap-grid.css +28 -28
  154. package/lib/css/components/_buttons.css +325 -325
  155. package/lib/css/components/_forms.css +91 -91
  156. package/lib/css/components/_menu.css +56 -56
  157. package/lib/css/components/_modals.css +41 -41
  158. package/lib/css/components/_tables.css +426 -426
  159. package/lib/css/components/_tags.css +12 -12
  160. package/lib/css/index-with-variables.css +14 -14
  161. package/lib/css/index.css +13 -13
  162. package/lib/css/utils/_border.css +463 -463
  163. package/lib/css/utils/_color.css +271 -271
  164. package/lib/css/utils/_display.css +312 -312
  165. package/lib/css/utils/_general.css +48 -48
  166. package/lib/css/utils/_icon.css +16 -16
  167. package/lib/css/utils/_text.css +24 -24
  168. package/lib/css/utils/_width.css +60 -60
  169. package/lib/css/variables.css +70 -70
  170. package/lib/endpointMappings.d.ts +4 -4
  171. package/lib/endpointMappings.js +173 -173
  172. package/lib/hooks/useCollection.d.ts +6 -6
  173. package/lib/hooks/useCollection.js +61 -61
  174. package/lib/hooks/useCollectionConfiguration.d.ts +27 -27
  175. package/lib/hooks/useCollectionConfiguration.js +67 -67
  176. package/lib/hooks/useCollectionItem.d.ts +6 -6
  177. package/lib/hooks/useCollectionItem.js +54 -54
  178. package/lib/hooks/useGuid.d.ts +4 -4
  179. package/lib/hooks/useGuid.js +14 -14
  180. package/lib/hooks/usePrevious.d.ts +5 -5
  181. package/lib/hooks/usePrevious.js +18 -18
  182. package/lib/index.d.ts +8 -8
  183. package/lib/index.js +30 -30
  184. package/lib/redux/actionCreator.d.ts +5 -5
  185. package/lib/redux/actionCreator.js +16 -16
  186. package/lib/redux/actions.d.ts +12 -12
  187. package/lib/redux/actions.js +30 -30
  188. package/lib/redux/configureReducers.d.ts +22 -22
  189. package/lib/redux/configureReducers.js +94 -94
  190. package/lib/redux/configureStore.d.ts +14 -14
  191. package/lib/redux/configureStore.js +118 -118
  192. package/lib/redux/helpers.d.ts +2 -2
  193. package/lib/redux/helpers.js +7 -7
  194. package/lib/redux/reducers/index.d.ts +4 -4
  195. package/lib/redux/reducers/index.js +12 -12
  196. package/lib/redux/reducers/modalsReducer.d.ts +8 -8
  197. package/lib/redux/reducers/modalsReducer.js +54 -54
  198. package/lib/redux/reducers/notificationsReducer.d.ts +9 -9
  199. package/lib/redux/reducers/notificationsReducer.js +27 -27
  200. package/lib/redux/reducers/searchReducer.d.ts +17 -17
  201. package/lib/redux/reducers/searchReducer.js +26 -26
  202. package/lib/redux/sagas/caliperSaga.d.ts +2 -2
  203. package/lib/redux/sagas/caliperSaga.js +296 -296
  204. package/lib/redux/sagas/clockOffsetSaga.d.ts +10 -10
  205. package/lib/redux/sagas/clockOffsetSaga.js +81 -81
  206. package/lib/redux/sagas/configurationSaga.d.ts +1 -1
  207. package/lib/redux/sagas/configurationSaga.js +48 -48
  208. package/lib/redux/sagas/errorSaga.d.ts +2 -2
  209. package/lib/redux/sagas/errorSaga.js +66 -66
  210. package/lib/redux/sagas/identityProviderSaga.d.ts +2 -2
  211. package/lib/redux/sagas/identityProviderSaga.js +91 -91
  212. package/lib/redux/sagas/initialDataLoadSaga.d.ts +1 -1
  213. package/lib/redux/sagas/initialDataLoadSaga.js +33 -33
  214. package/lib/redux/sagas/postLoginDataSaga.d.ts +9 -9
  215. package/lib/redux/sagas/postLoginDataSaga.js +87 -87
  216. package/lib/redux/sagas/postLoginRedirectSaga.d.ts +6 -6
  217. package/lib/redux/sagas/postLoginRedirectSaga.js +96 -96
  218. package/lib/redux/sagas/rootSaga.d.ts +5 -5
  219. package/lib/redux/sagas/rootSaga.js +144 -144
  220. package/lib/redux/sagas/sentrySaga.d.ts +1 -1
  221. package/lib/redux/sagas/sentrySaga.js +103 -103
  222. package/lib/services/codeProviderService.d.ts +3 -3
  223. package/lib/services/codeProviderService.js +36 -36
  224. package/lib/services/documentService.d.ts +10 -10
  225. package/lib/services/documentService.js +17 -17
  226. package/lib/services/persistenceService.d.ts +13 -13
  227. package/lib/services/persistenceService.js +45 -45
  228. package/lib/services/ticketProviderService.d.ts +3 -3
  229. package/lib/services/ticketProviderService.js +40 -40
  230. package/lib/services/windowService.d.ts +9 -9
  231. package/lib/services/windowService.js +15 -15
  232. package/lib/setupTests.d.ts +1 -1
  233. package/lib/setupTests.js +25 -25
  234. package/lib/startup.d.ts +29 -29
  235. package/lib/startup.js +128 -128
  236. package/lib/types/AppConfiguration.d.ts +32 -32
  237. package/lib/types/AppConfiguration.js +2 -2
  238. package/lib/types/Artifact.d.ts +14 -14
  239. package/lib/types/Artifact.js +9 -9
  240. package/lib/types/BaseReduxState.d.ts +57 -57
  241. package/lib/types/BaseReduxState.js +2 -2
  242. package/lib/types/Client.d.ts +6 -6
  243. package/lib/types/Client.js +2 -2
  244. package/lib/types/Collection.d.ts +175 -175
  245. package/lib/types/Collection.js +2 -2
  246. package/lib/types/Configuration.d.ts +12 -12
  247. package/lib/types/Configuration.js +2 -2
  248. package/lib/types/DeepLinkingResponseRequest.d.ts +4 -4
  249. package/lib/types/DeepLinkingResponseRequest.js +2 -2
  250. package/lib/types/DeletableModel.d.ts +4 -4
  251. package/lib/types/DeletableModel.js +2 -2
  252. package/lib/types/External.d.ts +31 -31
  253. package/lib/types/External.js +2 -2
  254. package/lib/types/Group.d.ts +19 -19
  255. package/lib/types/Group.js +2 -2
  256. package/lib/types/IdentityProvider.d.ts +11 -11
  257. package/lib/types/IdentityProvider.js +2 -2
  258. package/lib/types/LtiLaunch.d.ts +20 -20
  259. package/lib/types/LtiLaunch.js +2 -2
  260. package/lib/types/NameOnlyEntity.d.ts +3 -3
  261. package/lib/types/NameOnlyEntity.js +2 -2
  262. package/lib/types/Notification.d.ts +15 -15
  263. package/lib/types/Notification.js +2 -2
  264. package/lib/types/OptionalRecord.d.ts +4 -4
  265. package/lib/types/OptionalRecord.js +2 -2
  266. package/lib/types/OwnerSchedule.d.ts +9 -9
  267. package/lib/types/OwnerSchedule.js +2 -2
  268. package/lib/types/PropertyOfType.d.ts +12 -12
  269. package/lib/types/PropertyOfType.js +2 -2
  270. package/lib/types/RoleDescription.d.ts +4 -4
  271. package/lib/types/RoleDescription.js +2 -2
  272. package/lib/types/Search.d.ts +11 -11
  273. package/lib/types/Search.js +2 -2
  274. package/lib/types/SimpleLocation.d.ts +46 -46
  275. package/lib/types/SimpleLocation.js +2 -2
  276. package/lib/types/UniTime.d.ts +17 -17
  277. package/lib/types/UniTime.js +2 -2
  278. package/lib/types/User.d.ts +68 -68
  279. package/lib/types/User.js +2 -2
  280. package/lib/types/UserRole.d.ts +19 -19
  281. package/lib/types/UserRole.js +2 -2
  282. package/lib/types/index.d.ts +21 -21
  283. package/lib/types/index.js +33 -33
  284. package/lib/utils/baseActivity.d.ts +63 -63
  285. package/lib/utils/baseActivity.js +155 -155
  286. package/lib/utils/baseRole.d.ts +2 -2
  287. package/lib/utils/baseRole.js +38 -38
  288. package/lib/utils/collection.d.ts +43 -43
  289. package/lib/utils/collection.js +337 -337
  290. package/lib/utils/date.d.ts +162 -162
  291. package/lib/utils/date.js +401 -401
  292. package/lib/utils/domainIdentifier.d.ts +2 -2
  293. package/lib/utils/domainIdentifier.js +12 -12
  294. package/lib/utils/entityUserRole.d.ts +3 -3
  295. package/lib/utils/entityUserRole.js +7 -7
  296. package/lib/utils/externalGroup.d.ts +4 -4
  297. package/lib/utils/externalGroup.js +32 -32
  298. package/lib/utils/externalProviders.d.ts +2 -2
  299. package/lib/utils/externalProviders.js +11 -11
  300. package/lib/utils/externalTerms.d.ts +2 -2
  301. package/lib/utils/externalTerms.js +10 -10
  302. package/lib/utils/group.d.ts +15 -15
  303. package/lib/utils/group.js +15 -15
  304. package/lib/utils/groupDates.d.ts +9 -9
  305. package/lib/utils/groupDates.js +52 -52
  306. package/lib/utils/groupRoles.d.ts +8 -8
  307. package/lib/utils/groupRoles.js +42 -42
  308. package/lib/utils/logger.d.ts +10 -10
  309. package/lib/utils/logger.js +34 -34
  310. package/lib/utils/lti.d.ts +3 -3
  311. package/lib/utils/lti.js +9 -9
  312. package/lib/utils/model.d.ts +15 -15
  313. package/lib/utils/model.js +58 -58
  314. package/lib/utils/number.d.ts +13 -13
  315. package/lib/utils/number.js +32 -32
  316. package/lib/utils/promise.d.ts +5 -5
  317. package/lib/utils/promise.js +17 -17
  318. package/lib/utils/route.d.ts +5 -5
  319. package/lib/utils/route.js +69 -69
  320. package/lib/utils/shard.d.ts +3 -3
  321. package/lib/utils/shard.js +45 -45
  322. package/lib/utils/sort.d.ts +11 -11
  323. package/lib/utils/sort.js +69 -69
  324. package/lib/utils/string.d.ts +2 -2
  325. package/lib/utils/string.js +16 -16
  326. package/lib/utils/timezone.d.ts +2 -2
  327. package/lib/utils/timezone.js +32 -32
  328. package/lib/utils/url.d.ts +23 -23
  329. package/lib/utils/url.js +163 -163
  330. package/lib/utils/user.d.ts +8 -8
  331. package/lib/utils/user.js +73 -73
  332. package/lib/utils/userRole.d.ts +21 -21
  333. package/lib/utils/userRole.js +48 -48
  334. package/package.json +192 -192
@@ -1,57 +1,57 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
- var __importDefault = (this && this.__importDefault) || function (mod) {
25
- return (mod && mod.__esModule) ? mod : { "default": mod };
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- var CheckCircle_1 = __importDefault(require("@material-ui/icons/CheckCircle"));
29
- var Error_1 = __importDefault(require("@material-ui/icons/Error"));
30
- var Info_1 = __importDefault(require("@material-ui/icons/Info"));
31
- var Warning_1 = __importDefault(require("@material-ui/icons/Warning"));
32
- var react_1 = __importDefault(require("react"));
33
- var react_bootstrap_1 = require("react-bootstrap");
34
- function getIconForVariant(variant, iconClassName) {
35
- var combinedIconClassName = "self-start mr2 " + (iconClassName ? " " + iconClassName : '');
36
- switch (variant) {
37
- case 'success':
38
- return react_1.default.createElement(CheckCircle_1.default, { className: combinedIconClassName });
39
- case 'info':
40
- return react_1.default.createElement(Info_1.default, { className: combinedIconClassName });
41
- case 'warning':
42
- return react_1.default.createElement(Warning_1.default, { className: combinedIconClassName });
43
- case 'danger':
44
- return react_1.default.createElement(Error_1.default, { className: combinedIconClassName });
45
- default:
46
- return null;
47
- }
48
- }
49
- var AlertWithIcon = function (props) {
50
- var iconClassName = props.iconClassName, className = props.className, children = props.children, variant = props.variant, otherProps = __rest(props, ["iconClassName", "className", "children", "variant"]);
51
- var combinedClassName = "alert-with-icon" + (className ? " " + className : '');
52
- var Icon = getIconForVariant(variant, iconClassName);
53
- return (react_1.default.createElement(react_bootstrap_1.Alert, __assign({ className: combinedClassName, variant: variant }, otherProps),
54
- Icon,
55
- props.children));
56
- };
57
- exports.default = AlertWithIcon;
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ var CheckCircle_1 = __importDefault(require("@material-ui/icons/CheckCircle"));
29
+ var Error_1 = __importDefault(require("@material-ui/icons/Error"));
30
+ var Info_1 = __importDefault(require("@material-ui/icons/Info"));
31
+ var Warning_1 = __importDefault(require("@material-ui/icons/Warning"));
32
+ var react_1 = __importDefault(require("react"));
33
+ var react_bootstrap_1 = require("react-bootstrap");
34
+ function getIconForVariant(variant, iconClassName) {
35
+ var combinedIconClassName = "self-start mr2 " + (iconClassName ? " " + iconClassName : '');
36
+ switch (variant) {
37
+ case 'success':
38
+ return react_1.default.createElement(CheckCircle_1.default, { className: combinedIconClassName });
39
+ case 'info':
40
+ return react_1.default.createElement(Info_1.default, { className: combinedIconClassName });
41
+ case 'warning':
42
+ return react_1.default.createElement(Warning_1.default, { className: combinedIconClassName });
43
+ case 'danger':
44
+ return react_1.default.createElement(Error_1.default, { className: combinedIconClassName });
45
+ default:
46
+ return null;
47
+ }
48
+ }
49
+ var AlertWithIcon = function (props) {
50
+ var iconClassName = props.iconClassName, className = props.className, children = props.children, variant = props.variant, otherProps = __rest(props, ["iconClassName", "className", "children", "variant"]);
51
+ var combinedClassName = "alert-with-icon" + (className ? " " + className : '');
52
+ var Icon = getIconForVariant(variant, iconClassName);
53
+ return (react_1.default.createElement(react_bootstrap_1.Alert, __assign({ className: combinedClassName, variant: variant }, otherProps),
54
+ Icon,
55
+ props.children));
56
+ };
57
+ exports.default = AlertWithIcon;
@@ -1,14 +1,14 @@
1
- import { DeleteAction, ImageSpec, ResizeAction } from 'quill-blot-formatter';
2
- /**
3
- * This is a custom Spec for the Blot Formatter.
4
- * https://github.com/Fandom-OSS/quill-blot-formatter
5
- * Uses the default actions, align, resize, and delete
6
- * Additionally, the overlay is repositioned correctly after scroll or resize events.
7
- * Unfortunately the alignment formatting is not supported by quill/react quill.
8
- */
9
- declare class CustomImageSpec extends ImageSpec {
10
- init(): void;
11
- getActions(): (typeof ResizeAction | typeof DeleteAction)[];
12
- reposition: (e: any) => void;
13
- }
14
- export default CustomImageSpec;
1
+ import { DeleteAction, ImageSpec, ResizeAction } from 'quill-blot-formatter';
2
+ /**
3
+ * This is a custom Spec for the Blot Formatter.
4
+ * https://github.com/Fandom-OSS/quill-blot-formatter
5
+ * Uses the default actions, align, resize, and delete
6
+ * Additionally, the overlay is repositioned correctly after scroll or resize events.
7
+ * Unfortunately the alignment formatting is not supported by quill/react quill.
8
+ */
9
+ declare class CustomImageSpec extends ImageSpec {
10
+ init(): void;
11
+ getActions(): (typeof ResizeAction | typeof DeleteAction)[];
12
+ reposition: (e: any) => void;
13
+ }
14
+ export default CustomImageSpec;
@@ -1,45 +1,45 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- var quill_blot_formatter_1 = require("quill-blot-formatter");
17
- /**
18
- * This is a custom Spec for the Blot Formatter.
19
- * https://github.com/Fandom-OSS/quill-blot-formatter
20
- * Uses the default actions, align, resize, and delete
21
- * Additionally, the overlay is repositioned correctly after scroll or resize events.
22
- * Unfortunately the alignment formatting is not supported by quill/react quill.
23
- */
24
- var CustomImageSpec = /** @class */ (function (_super) {
25
- __extends(CustomImageSpec, _super);
26
- function CustomImageSpec() {
27
- var _this = _super !== null && _super.apply(this, arguments) || this;
28
- _this.reposition = function (e) {
29
- if (_this.img) {
30
- _this.formatter.repositionOverlay();
31
- }
32
- };
33
- return _this;
34
- }
35
- CustomImageSpec.prototype.init = function () {
36
- _super.prototype.init.call(this);
37
- this.formatter.quill.root.addEventListener('scroll', this.reposition);
38
- window.addEventListener('resize', this.reposition);
39
- };
40
- CustomImageSpec.prototype.getActions = function () {
41
- return [quill_blot_formatter_1.ResizeAction, quill_blot_formatter_1.DeleteAction];
42
- };
43
- return CustomImageSpec;
44
- }(quill_blot_formatter_1.ImageSpec));
45
- exports.default = CustomImageSpec;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ var quill_blot_formatter_1 = require("quill-blot-formatter");
17
+ /**
18
+ * This is a custom Spec for the Blot Formatter.
19
+ * https://github.com/Fandom-OSS/quill-blot-formatter
20
+ * Uses the default actions, align, resize, and delete
21
+ * Additionally, the overlay is repositioned correctly after scroll or resize events.
22
+ * Unfortunately the alignment formatting is not supported by quill/react quill.
23
+ */
24
+ var CustomImageSpec = /** @class */ (function (_super) {
25
+ __extends(CustomImageSpec, _super);
26
+ function CustomImageSpec() {
27
+ var _this = _super !== null && _super.apply(this, arguments) || this;
28
+ _this.reposition = function (e) {
29
+ if (_this.img) {
30
+ _this.formatter.repositionOverlay();
31
+ }
32
+ };
33
+ return _this;
34
+ }
35
+ CustomImageSpec.prototype.init = function () {
36
+ _super.prototype.init.call(this);
37
+ this.formatter.quill.root.addEventListener('scroll', this.reposition);
38
+ window.addEventListener('resize', this.reposition);
39
+ };
40
+ CustomImageSpec.prototype.getActions = function () {
41
+ return [quill_blot_formatter_1.ResizeAction, quill_blot_formatter_1.DeleteAction];
42
+ };
43
+ return CustomImageSpec;
44
+ }(quill_blot_formatter_1.ImageSpec));
45
+ exports.default = CustomImageSpec;
@@ -1,16 +1,16 @@
1
- import { DeleteAction, IframeVideoSpec, ResizeAction } from 'quill-blot-formatter';
2
- /**
3
- * This is a custom Spec for the Blot Formatter.
4
- * https://github.com/Fandom-OSS/quill-blot-formatter
5
- * Uses the default actions, align, resize, and delete
6
- * Additionally, the overlay is repositioned correctly after scroll or resize events.
7
- * Unfortunately the alignment formatting is not supported by quill/react quill.
8
- * Also this class uses an 'imageProxy' which will prevent the embedded
9
- * video from being played in editing mode
10
- */
11
- declare class CustomVideoSpec extends IframeVideoSpec {
12
- init(): void;
13
- getActions(): (typeof ResizeAction | typeof DeleteAction)[];
14
- reposition: (e: any) => void;
15
- }
16
- export default CustomVideoSpec;
1
+ import { DeleteAction, IframeVideoSpec, ResizeAction } from 'quill-blot-formatter';
2
+ /**
3
+ * This is a custom Spec for the Blot Formatter.
4
+ * https://github.com/Fandom-OSS/quill-blot-formatter
5
+ * Uses the default actions, align, resize, and delete
6
+ * Additionally, the overlay is repositioned correctly after scroll or resize events.
7
+ * Unfortunately the alignment formatting is not supported by quill/react quill.
8
+ * Also this class uses an 'imageProxy' which will prevent the embedded
9
+ * video from being played in editing mode
10
+ */
11
+ declare class CustomVideoSpec extends IframeVideoSpec {
12
+ init(): void;
13
+ getActions(): (typeof ResizeAction | typeof DeleteAction)[];
14
+ reposition: (e: any) => void;
15
+ }
16
+ export default CustomVideoSpec;
@@ -1,47 +1,47 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- var quill_blot_formatter_1 = require("quill-blot-formatter");
17
- /**
18
- * This is a custom Spec for the Blot Formatter.
19
- * https://github.com/Fandom-OSS/quill-blot-formatter
20
- * Uses the default actions, align, resize, and delete
21
- * Additionally, the overlay is repositioned correctly after scroll or resize events.
22
- * Unfortunately the alignment formatting is not supported by quill/react quill.
23
- * Also this class uses an 'imageProxy' which will prevent the embedded
24
- * video from being played in editing mode
25
- */
26
- var CustomVideoSpec = /** @class */ (function (_super) {
27
- __extends(CustomVideoSpec, _super);
28
- function CustomVideoSpec() {
29
- var _this = _super !== null && _super.apply(this, arguments) || this;
30
- _this.reposition = function (e) {
31
- if (_this.proxyImage) {
32
- _this.formatter.repositionOverlay();
33
- }
34
- };
35
- return _this;
36
- }
37
- CustomVideoSpec.prototype.init = function () {
38
- _super.prototype.init.call(this);
39
- this.formatter.quill.root.addEventListener('scroll', this.reposition);
40
- window.addEventListener('resize', this.reposition);
41
- };
42
- CustomVideoSpec.prototype.getActions = function () {
43
- return [quill_blot_formatter_1.ResizeAction, quill_blot_formatter_1.DeleteAction];
44
- };
45
- return CustomVideoSpec;
46
- }(quill_blot_formatter_1.IframeVideoSpec));
47
- exports.default = CustomVideoSpec;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ var quill_blot_formatter_1 = require("quill-blot-formatter");
17
+ /**
18
+ * This is a custom Spec for the Blot Formatter.
19
+ * https://github.com/Fandom-OSS/quill-blot-formatter
20
+ * Uses the default actions, align, resize, and delete
21
+ * Additionally, the overlay is repositioned correctly after scroll or resize events.
22
+ * Unfortunately the alignment formatting is not supported by quill/react quill.
23
+ * Also this class uses an 'imageProxy' which will prevent the embedded
24
+ * video from being played in editing mode
25
+ */
26
+ var CustomVideoSpec = /** @class */ (function (_super) {
27
+ __extends(CustomVideoSpec, _super);
28
+ function CustomVideoSpec() {
29
+ var _this = _super !== null && _super.apply(this, arguments) || this;
30
+ _this.reposition = function (e) {
31
+ if (_this.proxyImage) {
32
+ _this.formatter.repositionOverlay();
33
+ }
34
+ };
35
+ return _this;
36
+ }
37
+ CustomVideoSpec.prototype.init = function () {
38
+ _super.prototype.init.call(this);
39
+ this.formatter.quill.root.addEventListener('scroll', this.reposition);
40
+ window.addEventListener('resize', this.reposition);
41
+ };
42
+ CustomVideoSpec.prototype.getActions = function () {
43
+ return [quill_blot_formatter_1.ResizeAction, quill_blot_formatter_1.DeleteAction];
44
+ };
45
+ return CustomVideoSpec;
46
+ }(quill_blot_formatter_1.IframeVideoSpec));
47
+ exports.default = CustomVideoSpec;
@@ -1,6 +1,6 @@
1
- /// <reference types="react" />
2
- declare const _default: import("react").ComponentClass<import("react-bootstrap/esm/helpers").ReplaceProps<import("react").ElementType<any>, import("react-bootstrap/esm/helpers").BsPrefixProps<import("react").ElementType<any>> & import("react-bootstrap").ModalProps>, any>;
3
- /**
4
- * Wrapped version of "react-bootstrap"'s `Modal` component. Uses `ConnectedModalComponent` to coordinate modal state in redux.
5
- */
6
- export default _default;
1
+ /// <reference types="react" />
2
+ declare const _default: import("react").ComponentClass<import("react-bootstrap/esm/helpers").ReplaceProps<import("react").ElementType<any>, import("react-bootstrap/esm/helpers").BsPrefixProps<import("react").ElementType<any>> & import("react-bootstrap").ModalProps>, any>;
3
+ /**
4
+ * Wrapped version of "react-bootstrap"'s `Modal` component. Uses `ConnectedModalComponent` to coordinate modal state in redux.
5
+ */
6
+ export default _default;
@@ -1,11 +1,11 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var react_bootstrap_1 = require("react-bootstrap");
7
- var ConnectedModalComponent_1 = __importDefault(require("./HOC/ConnectedModalComponent"));
8
- /**
9
- * Wrapped version of "react-bootstrap"'s `Modal` component. Uses `ConnectedModalComponent` to coordinate modal state in redux.
10
- */
11
- exports.default = ConnectedModalComponent_1.default(react_bootstrap_1.Modal);
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_bootstrap_1 = require("react-bootstrap");
7
+ var ConnectedModalComponent_1 = __importDefault(require("./HOC/ConnectedModalComponent"));
8
+ /**
9
+ * Wrapped version of "react-bootstrap"'s `Modal` component. Uses `ConnectedModalComponent` to coordinate modal state in redux.
10
+ */
11
+ exports.default = ConnectedModalComponent_1.default(react_bootstrap_1.Modal);
@@ -1,18 +1,18 @@
1
- import React, { Component } from 'react';
2
- import { ModelCollection } from 'studiokit-net-js';
3
- import { ExternalTerm, Group } from '../../types';
4
- interface Props {
5
- title: string;
6
- id: string;
7
- groups: ModelCollection<Group>;
8
- anyRoleButLearner?: boolean;
9
- externalTerms: ModelCollection<ExternalTerm>;
10
- }
11
- declare class GroupsDropdown extends Component<Props> {
12
- loadGroups: () => void;
13
- didToggle: (isOpen: boolean) => void;
14
- renderGroupMenu: (groups: Group[]) => JSX.Element[] | null;
15
- render(): JSX.Element | null;
16
- }
17
- declare const _default: import("react-redux").ConnectedComponent<typeof GroupsDropdown, Pick<React.ClassAttributes<GroupsDropdown> & Props, "id" | "title" | "ref" | "key" | "anyRoleButLearner">>;
18
- export default _default;
1
+ import React, { Component } from 'react';
2
+ import { ModelCollection } from 'studiokit-net-js';
3
+ import { ExternalTerm, Group } from '../../types';
4
+ interface Props {
5
+ title: string;
6
+ id: string;
7
+ groups: ModelCollection<Group>;
8
+ anyRoleButLearner?: boolean;
9
+ externalTerms: ModelCollection<ExternalTerm>;
10
+ }
11
+ declare class GroupsDropdown extends Component<Props> {
12
+ loadGroups: () => void;
13
+ didToggle: (isOpen: boolean) => void;
14
+ renderGroupMenu: (groups: Group[]) => JSX.Element[] | null;
15
+ render(): JSX.Element | null;
16
+ }
17
+ declare const _default: import("react-redux").ConnectedComponent<typeof GroupsDropdown, Pick<React.ClassAttributes<GroupsDropdown> & Props, "id" | "title" | "ref" | "key" | "anyRoleButLearner">>;
18
+ export default _default;
@@ -1,90 +1,90 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
18
- }) : (function(o, m, k, k2) {
19
- if (k2 === undefined) k2 = k;
20
- o[k2] = m[k];
21
- }));
22
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
- Object.defineProperty(o, "default", { enumerable: true, value: v });
24
- }) : function(o, v) {
25
- o["default"] = v;
26
- });
27
- var __importStar = (this && this.__importStar) || function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- var react_1 = __importStar(require("react"));
39
- var react_bootstrap_1 = require("react-bootstrap");
40
- var react_redux_1 = require("react-redux");
41
- var react_router_bootstrap_1 = require("react-router-bootstrap");
42
- var studiokit_net_js_1 = require("studiokit-net-js");
43
- var actionCreator_1 = require("../../redux/actionCreator");
44
- var date_1 = require("../../utils/date");
45
- var groupDates_1 = require("../../utils/groupDates");
46
- var groupRoles_1 = require("../../utils/groupRoles");
47
- var sort_1 = require("../../utils/sort");
48
- var ManagedNavDropdown_1 = __importDefault(require("./ManagedNavDropdown"));
49
- var GroupsDropdown = /** @class */ (function (_super) {
50
- __extends(GroupsDropdown, _super);
51
- function GroupsDropdown() {
52
- var _this = _super !== null && _super.apply(this, arguments) || this;
53
- _this.loadGroups = function () {
54
- actionCreator_1.dispatchAction(studiokit_net_js_1.NET_ACTION.DATA_REQUESTED, { modelName: 'groups' });
55
- };
56
- _this.didToggle = function (isOpen) {
57
- if (isOpen) {
58
- _this.loadGroups();
59
- }
60
- };
61
- _this.renderGroupMenu = function (groups) {
62
- if (!groups) {
63
- return null;
64
- }
65
- return groups.sort(sort_1.sortByNameNatural).map(function (group) {
66
- var groupURL = "/courses/" + group.id;
67
- return (react_1.default.createElement(react_router_bootstrap_1.LinkContainer, { key: group.id, to: "" + groupURL },
68
- react_1.default.createElement(react_bootstrap_1.Dropdown.Item, null, group.name)));
69
- });
70
- };
71
- return _this;
72
- }
73
- GroupsDropdown.prototype.render = function () {
74
- var _a = this.props, title = _a.title, id = _a.id, groups = _a.groups, externalTerms = _a.externalTerms, anyRoleButLearner = _a.anyRoleButLearner;
75
- var groupsFilteredByRole = anyRoleButLearner ? groupRoles_1.groupsAsAnythingButLearner(groups) : groupRoles_1.groupsAsLearner(groups);
76
- var currentGroups = groupDates_1.filterGroupsByEndDate(groupsFilteredByRole, externalTerms, date_1.isNowBeforeDate);
77
- if (currentGroups.length === 0) {
78
- return null;
79
- }
80
- return (react_1.default.createElement(ManagedNavDropdown_1.default, { title: title, id: id, didToggle: this.didToggle }, this.renderGroupMenu(currentGroups)));
81
- };
82
- return GroupsDropdown;
83
- }(react_1.Component));
84
- var mapStateToProps = function (state) {
85
- return {
86
- groups: !!state.models && !!state.models.groups ? state.models.groups : {},
87
- externalTerms: state.models.externalTerms
88
- };
89
- };
90
- exports.default = react_redux_1.connect(mapStateToProps)(GroupsDropdown);
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ var react_1 = __importStar(require("react"));
39
+ var react_bootstrap_1 = require("react-bootstrap");
40
+ var react_redux_1 = require("react-redux");
41
+ var react_router_bootstrap_1 = require("react-router-bootstrap");
42
+ var studiokit_net_js_1 = require("studiokit-net-js");
43
+ var actionCreator_1 = require("../../redux/actionCreator");
44
+ var date_1 = require("../../utils/date");
45
+ var groupDates_1 = require("../../utils/groupDates");
46
+ var groupRoles_1 = require("../../utils/groupRoles");
47
+ var sort_1 = require("../../utils/sort");
48
+ var ManagedNavDropdown_1 = __importDefault(require("./ManagedNavDropdown"));
49
+ var GroupsDropdown = /** @class */ (function (_super) {
50
+ __extends(GroupsDropdown, _super);
51
+ function GroupsDropdown() {
52
+ var _this = _super !== null && _super.apply(this, arguments) || this;
53
+ _this.loadGroups = function () {
54
+ actionCreator_1.dispatchAction(studiokit_net_js_1.NET_ACTION.DATA_REQUESTED, { modelName: 'groups' });
55
+ };
56
+ _this.didToggle = function (isOpen) {
57
+ if (isOpen) {
58
+ _this.loadGroups();
59
+ }
60
+ };
61
+ _this.renderGroupMenu = function (groups) {
62
+ if (!groups) {
63
+ return null;
64
+ }
65
+ return groups.sort(sort_1.sortByNameNatural).map(function (group) {
66
+ var groupURL = "/courses/" + group.id;
67
+ return (react_1.default.createElement(react_router_bootstrap_1.LinkContainer, { key: group.id, to: "" + groupURL },
68
+ react_1.default.createElement(react_bootstrap_1.Dropdown.Item, null, group.name)));
69
+ });
70
+ };
71
+ return _this;
72
+ }
73
+ GroupsDropdown.prototype.render = function () {
74
+ var _a = this.props, title = _a.title, id = _a.id, groups = _a.groups, externalTerms = _a.externalTerms, anyRoleButLearner = _a.anyRoleButLearner;
75
+ var groupsFilteredByRole = anyRoleButLearner ? groupRoles_1.groupsAsAnythingButLearner(groups) : groupRoles_1.groupsAsLearner(groups);
76
+ var currentGroups = groupDates_1.filterGroupsByEndDate(groupsFilteredByRole, externalTerms, date_1.isNowBeforeDate);
77
+ if (currentGroups.length === 0) {
78
+ return null;
79
+ }
80
+ return (react_1.default.createElement(ManagedNavDropdown_1.default, { title: title, id: id, didToggle: this.didToggle }, this.renderGroupMenu(currentGroups)));
81
+ };
82
+ return GroupsDropdown;
83
+ }(react_1.Component));
84
+ var mapStateToProps = function (state) {
85
+ return {
86
+ groups: !!state.models && !!state.models.groups ? state.models.groups : {},
87
+ externalTerms: state.models.externalTerms
88
+ };
89
+ };
90
+ exports.default = react_redux_1.connect(mapStateToProps)(GroupsDropdown);