studiokit-scaffolding-js 4.3.21 → 4.3.22

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 +30 -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 +84 -82
  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,31 +1,31 @@
1
- import { Component } from 'react';
2
- import { RoleDescription } from '../../types';
3
- export interface UserRolesAddProps {
4
- id: string;
5
- entityName?: string;
6
- addUsersToRole: any;
7
- shouldReset: boolean;
8
- isAddingUsersToRole: boolean;
9
- defaultRole: string;
10
- roleDescriptions: RoleDescription;
11
- renderAddDescription?: (entityName?: string) => JSX.Element;
12
- disabled?: boolean;
13
- textForRole?: (role: string) => string;
14
- }
15
- interface UserRolesAddState {
16
- identifiers: string;
17
- role: string;
18
- showErrorAlert: boolean;
19
- errorMessage?: string;
20
- }
21
- export default class UserRolesAdd extends Component<UserRolesAddProps, UserRolesAddState> {
22
- constructor(props: UserRolesAddProps);
23
- updateRole: (e: any) => void;
24
- componentDidUpdate(prevProps: UserRolesAddProps): void;
25
- handleSubmit: () => void;
26
- closeErrorAlert: () => void;
27
- updateIdentifiers: (e: any) => void;
28
- getValidationErrorMessage: (identifiers?: string[] | undefined) => string | undefined;
29
- render(): JSX.Element;
30
- }
31
- export {};
1
+ import { Component } from 'react';
2
+ import { RoleDescription } from '../../types';
3
+ export interface UserRolesAddProps {
4
+ id: string;
5
+ entityName?: string;
6
+ addUsersToRole: any;
7
+ shouldReset: boolean;
8
+ isAddingUsersToRole: boolean;
9
+ defaultRole: string;
10
+ roleDescriptions: RoleDescription;
11
+ renderAddDescription?: (entityName?: string) => JSX.Element;
12
+ disabled?: boolean;
13
+ textForRole?: (role: string) => string;
14
+ }
15
+ interface UserRolesAddState {
16
+ identifiers: string;
17
+ role: string;
18
+ showErrorAlert: boolean;
19
+ errorMessage?: string;
20
+ }
21
+ export default class UserRolesAdd extends Component<UserRolesAddProps, UserRolesAddState> {
22
+ constructor(props: UserRolesAddProps);
23
+ updateRole: (e: any) => void;
24
+ componentDidUpdate(prevProps: UserRolesAddProps): void;
25
+ handleSubmit: () => void;
26
+ closeErrorAlert: () => void;
27
+ updateIdentifiers: (e: any) => void;
28
+ getValidationErrorMessage: (identifiers?: string[] | undefined) => string | undefined;
29
+ render(): JSX.Element;
30
+ }
31
+ export {};
@@ -1,165 +1,165 @@
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 Button_1 = __importDefault(require("@material-ui/core/Button"));
39
- var AddCircle_1 = __importDefault(require("@material-ui/icons/AddCircle"));
40
- var lodash_1 = __importDefault(require("lodash"));
41
- var react_1 = __importStar(require("react"));
42
- var react_bootstrap_1 = require("react-bootstrap");
43
- var AlertDialog_1 = __importDefault(require("../../components/AlertDialog"));
44
- var Inline_1 = __importDefault(require("../../components/RefreshIndicator/Inline"));
45
- var Select_1 = __importDefault(require("../../components/UserRoles/Select"));
46
- var baseRole_1 = __importDefault(require("../../constants/baseRole"));
47
- var configuration_1 = require("../../constants/configuration");
48
- var domainIdentifier_1 = require("../../utils/domainIdentifier");
49
- var shard_1 = require("../../utils/shard");
50
- var string_1 = require("../../utils/string");
51
- var AlertWithIcon_1 = __importDefault(require("../AlertWithIcon"));
52
- var FERPA_ROLES = [baseRole_1.default.SUPER_ADMIN, baseRole_1.default.ADMIN, baseRole_1.default.GROUP_OWNER, baseRole_1.default.GROUP_GRADER];
53
- var UserRolesAdd = /** @class */ (function (_super) {
54
- __extends(UserRolesAdd, _super);
55
- function UserRolesAdd(props) {
56
- var _this = _super.call(this, props) || this;
57
- _this.updateRole = function (e) {
58
- _this.setState({
59
- role: e.target.value
60
- });
61
- };
62
- _this.handleSubmit = function () {
63
- var _a = _this.state, identifiers = _a.identifiers, role = _a.role;
64
- var identifiersArray = identifiers
65
- .split(/\r\n|\r|\n/g)
66
- .map(function (id) { return id.trim(); })
67
- .filter(function (id) { return id !== ''; }); // filter identifiers that are empty
68
- var errorMessage = _this.getValidationErrorMessage(identifiersArray);
69
- if (errorMessage) {
70
- _this.setState({
71
- showErrorAlert: true,
72
- errorMessage: errorMessage
73
- });
74
- }
75
- else {
76
- _this.props.addUsersToRole(identifiersArray, role);
77
- }
78
- };
79
- _this.closeErrorAlert = function () {
80
- _this.setState({
81
- showErrorAlert: false,
82
- errorMessage: undefined
83
- });
84
- };
85
- _this.updateIdentifiers = function (e) {
86
- _this.setState({
87
- identifiers: e.target.value
88
- });
89
- };
90
- _this.getValidationErrorMessage = function (identifiers) {
91
- if (!identifiers || identifiers.length === 0) {
92
- return "Please enter at least one " + domainIdentifier_1.getDomainIdentifierTypeString() + ".";
93
- }
94
- var invalidIdentifiers;
95
- if (shard_1.isPurdueShard() && !identifiers.every(function (id) { return string_1.isPurdueAliasOrPuid(id); })) {
96
- invalidIdentifiers = identifiers.filter(function (id) { return !string_1.isPurdueAliasOrPuid(id); });
97
- }
98
- if (!shard_1.isPurdueShard() && !identifiers.every(function (id) { return string_1.isEmail(id); })) {
99
- invalidIdentifiers = identifiers.filter(function (id) { return !string_1.isEmail(id); });
100
- }
101
- if (invalidIdentifiers) {
102
- return "Please enter valid " + domainIdentifier_1.getDomainIdentifierTypePluralString() + ". The following are invalid:\r\n" + invalidIdentifiers.join('\r\n');
103
- }
104
- return undefined;
105
- };
106
- _this.state = {
107
- identifiers: '',
108
- role: _this.props.defaultRole,
109
- showErrorAlert: false,
110
- errorMessage: undefined
111
- };
112
- return _this;
113
- }
114
- UserRolesAdd.prototype.componentDidUpdate = function (prevProps) {
115
- var prevShouldReset = prevProps.shouldReset;
116
- var shouldReset = this.props.shouldReset;
117
- if (prevShouldReset === false && shouldReset === true) {
118
- this.setState({
119
- identifiers: '',
120
- role: this.props.defaultRole
121
- });
122
- }
123
- };
124
- UserRolesAdd.prototype.render = function () {
125
- var _a = this.state, identifiers = _a.identifiers, role = _a.role, showErrorAlert = _a.showErrorAlert, errorMessage = _a.errorMessage;
126
- var _b = this.props, entityName = _b.entityName, isAddingUsersToRole = _b.isAddingUsersToRole, roleDescriptions = _b.roleDescriptions, renderAddDescription = _b.renderAddDescription, disabled = _b.disabled, textForRole = _b.textForRole;
127
- var roles = lodash_1.default.keys(roleDescriptions);
128
- var rolePopover = (react_1.default.createElement(react_bootstrap_1.Popover, { id: "role" },
129
- react_1.default.createElement("h3", null, "Role"),
130
- roles.map(function (r) { return (react_1.default.createElement(react_1.Fragment, { key: r }, roleDescriptions[r])); })));
131
- var appConfig = configuration_1.getAppConfig();
132
- var appName = appConfig.APP_NAME;
133
- var gradableDescriptor = appConfig.GRADABLE_DESCRIPTOR;
134
- return (react_1.default.createElement(react_bootstrap_1.Row, null,
135
- !!renderAddDescription && react_1.default.createElement(react_bootstrap_1.Col, { xs: 12 }, renderAddDescription(entityName)),
136
- react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 6 },
137
- react_1.default.createElement(react_bootstrap_1.FormGroup, { controlId: "UserEntry" },
138
- react_1.default.createElement(react_bootstrap_1.FormLabel, { className: "f6" },
139
- domainIdentifier_1.getDomainIdentifierTypePluralString(),
140
- " (separated by a new line)"),
141
- react_1.default.createElement(react_bootstrap_1.FormControl, { type: "text", as: "textarea", name: "account", "aria-label": "The account names to add", onChange: this.updateIdentifiers, value: identifiers, placeholder: domainIdentifier_1.getDomainIdentifierTypeString(), disabled: disabled }))),
142
- react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 4 },
143
- react_1.default.createElement(Select_1.default, { options: roles, value: role, onChange: this.updateRole, labelVisible: true, popoverContentComponent: rolePopover, textForRole: textForRole })),
144
- react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 2, className: "mt3-ns pt2-ns" },
145
- isAddingUsersToRole && react_1.default.createElement(Inline_1.default, { className: "mr3" }),
146
- !isAddingUsersToRole && (react_1.default.createElement(Button_1.default, { id: "userRolesAddButton", className: "btn btn-primary w-100-lt-xs", disabled: !identifiers || disabled, color: "primary", onClick: this.handleSubmit },
147
- react_1.default.createElement(AddCircle_1.default, { className: "v-mid" }),
148
- "Add")),
149
- react_1.default.createElement(AlertDialog_1.default, { isOpen: showErrorAlert, title: "Error Adding People to the " + entityName, description: react_1.default.createElement("div", { className: "pre-wrap" }, errorMessage), proceedText: "Got it. Thanks!", onProceed: this.closeErrorAlert, onCancel: this.closeErrorAlert })),
150
- lodash_1.default.includes(FERPA_ROLES, role) && (react_1.default.createElement(react_bootstrap_1.Col, { xs: 12 },
151
- react_1.default.createElement(AlertWithIcon_1.default, { id: "ferpaWarning", variant: "warning" },
152
- react_1.default.createElement("p", null,
153
- "This role includes ",
154
- gradableDescriptor,
155
- " scores in ",
156
- appName,
157
- ". Please consider whether",
158
- ' ',
159
- react_1.default.createElement("a", { href: "https://www.purdue.edu/registrar/FERPA/index.html", target: "_blank", rel: "noopener noreferrer" }, "FERPA"),
160
- ' ',
161
- "certification is needed."))))));
162
- };
163
- return UserRolesAdd;
164
- }(react_1.Component));
165
- exports.default = UserRolesAdd;
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 Button_1 = __importDefault(require("@material-ui/core/Button"));
39
+ var AddCircle_1 = __importDefault(require("@material-ui/icons/AddCircle"));
40
+ var lodash_1 = __importDefault(require("lodash"));
41
+ var react_1 = __importStar(require("react"));
42
+ var react_bootstrap_1 = require("react-bootstrap");
43
+ var AlertDialog_1 = __importDefault(require("../../components/AlertDialog"));
44
+ var Inline_1 = __importDefault(require("../../components/RefreshIndicator/Inline"));
45
+ var Select_1 = __importDefault(require("../../components/UserRoles/Select"));
46
+ var baseRole_1 = __importDefault(require("../../constants/baseRole"));
47
+ var configuration_1 = require("../../constants/configuration");
48
+ var domainIdentifier_1 = require("../../utils/domainIdentifier");
49
+ var shard_1 = require("../../utils/shard");
50
+ var string_1 = require("../../utils/string");
51
+ var AlertWithIcon_1 = __importDefault(require("../AlertWithIcon"));
52
+ var FERPA_ROLES = [baseRole_1.default.SUPER_ADMIN, baseRole_1.default.ADMIN, baseRole_1.default.GROUP_OWNER, baseRole_1.default.GROUP_GRADER];
53
+ var UserRolesAdd = /** @class */ (function (_super) {
54
+ __extends(UserRolesAdd, _super);
55
+ function UserRolesAdd(props) {
56
+ var _this = _super.call(this, props) || this;
57
+ _this.updateRole = function (e) {
58
+ _this.setState({
59
+ role: e.target.value
60
+ });
61
+ };
62
+ _this.handleSubmit = function () {
63
+ var _a = _this.state, identifiers = _a.identifiers, role = _a.role;
64
+ var identifiersArray = identifiers
65
+ .split(/\r\n|\r|\n/g)
66
+ .map(function (id) { return id.trim(); })
67
+ .filter(function (id) { return id !== ''; }); // filter identifiers that are empty
68
+ var errorMessage = _this.getValidationErrorMessage(identifiersArray);
69
+ if (errorMessage) {
70
+ _this.setState({
71
+ showErrorAlert: true,
72
+ errorMessage: errorMessage
73
+ });
74
+ }
75
+ else {
76
+ _this.props.addUsersToRole(identifiersArray, role);
77
+ }
78
+ };
79
+ _this.closeErrorAlert = function () {
80
+ _this.setState({
81
+ showErrorAlert: false,
82
+ errorMessage: undefined
83
+ });
84
+ };
85
+ _this.updateIdentifiers = function (e) {
86
+ _this.setState({
87
+ identifiers: e.target.value
88
+ });
89
+ };
90
+ _this.getValidationErrorMessage = function (identifiers) {
91
+ if (!identifiers || identifiers.length === 0) {
92
+ return "Please enter at least one " + domainIdentifier_1.getDomainIdentifierTypeString() + ".";
93
+ }
94
+ var invalidIdentifiers;
95
+ if (shard_1.isPurdueShard() && !identifiers.every(function (id) { return string_1.isPurdueAliasOrPuid(id); })) {
96
+ invalidIdentifiers = identifiers.filter(function (id) { return !string_1.isPurdueAliasOrPuid(id); });
97
+ }
98
+ if (!shard_1.isPurdueShard() && !identifiers.every(function (id) { return string_1.isEmail(id); })) {
99
+ invalidIdentifiers = identifiers.filter(function (id) { return !string_1.isEmail(id); });
100
+ }
101
+ if (invalidIdentifiers) {
102
+ return "Please enter valid " + domainIdentifier_1.getDomainIdentifierTypePluralString() + ". The following are invalid:\r\n" + invalidIdentifiers.join('\r\n');
103
+ }
104
+ return undefined;
105
+ };
106
+ _this.state = {
107
+ identifiers: '',
108
+ role: _this.props.defaultRole,
109
+ showErrorAlert: false,
110
+ errorMessage: undefined
111
+ };
112
+ return _this;
113
+ }
114
+ UserRolesAdd.prototype.componentDidUpdate = function (prevProps) {
115
+ var prevShouldReset = prevProps.shouldReset;
116
+ var shouldReset = this.props.shouldReset;
117
+ if (prevShouldReset === false && shouldReset === true) {
118
+ this.setState({
119
+ identifiers: '',
120
+ role: this.props.defaultRole
121
+ });
122
+ }
123
+ };
124
+ UserRolesAdd.prototype.render = function () {
125
+ var _a = this.state, identifiers = _a.identifiers, role = _a.role, showErrorAlert = _a.showErrorAlert, errorMessage = _a.errorMessage;
126
+ var _b = this.props, entityName = _b.entityName, isAddingUsersToRole = _b.isAddingUsersToRole, roleDescriptions = _b.roleDescriptions, renderAddDescription = _b.renderAddDescription, disabled = _b.disabled, textForRole = _b.textForRole;
127
+ var roles = lodash_1.default.keys(roleDescriptions);
128
+ var rolePopover = (react_1.default.createElement(react_bootstrap_1.Popover, { id: "role" },
129
+ react_1.default.createElement("h3", null, "Role"),
130
+ roles.map(function (r) { return (react_1.default.createElement(react_1.Fragment, { key: r }, roleDescriptions[r])); })));
131
+ var appConfig = configuration_1.getAppConfig();
132
+ var appName = appConfig.APP_NAME;
133
+ var gradableDescriptor = appConfig.GRADABLE_DESCRIPTOR;
134
+ return (react_1.default.createElement(react_bootstrap_1.Row, null,
135
+ !!renderAddDescription && react_1.default.createElement(react_bootstrap_1.Col, { xs: 12 }, renderAddDescription(entityName)),
136
+ react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 6 },
137
+ react_1.default.createElement(react_bootstrap_1.FormGroup, { controlId: "UserEntry" },
138
+ react_1.default.createElement(react_bootstrap_1.FormLabel, { className: "f6" },
139
+ domainIdentifier_1.getDomainIdentifierTypePluralString(),
140
+ " (separated by a new line)"),
141
+ react_1.default.createElement(react_bootstrap_1.FormControl, { type: "text", as: "textarea", name: "account", "aria-label": "The account names to add", onChange: this.updateIdentifiers, value: identifiers, placeholder: domainIdentifier_1.getDomainIdentifierTypeString(), disabled: disabled }))),
142
+ react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 4 },
143
+ react_1.default.createElement(Select_1.default, { options: roles, value: role, onChange: this.updateRole, labelVisible: true, popoverContentComponent: rolePopover, textForRole: textForRole })),
144
+ react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 2, className: "mt3-ns pt2-ns" },
145
+ isAddingUsersToRole && react_1.default.createElement(Inline_1.default, { className: "mr3" }),
146
+ !isAddingUsersToRole && (react_1.default.createElement(Button_1.default, { id: "userRolesAddButton", className: "btn btn-primary w-100-lt-xs", disabled: !identifiers || disabled, color: "primary", onClick: this.handleSubmit },
147
+ react_1.default.createElement(AddCircle_1.default, { className: "v-mid" }),
148
+ "Add")),
149
+ react_1.default.createElement(AlertDialog_1.default, { isOpen: showErrorAlert, title: "Error Adding People to the " + entityName, description: react_1.default.createElement("div", { className: "pre-wrap" }, errorMessage), proceedText: "Got it. Thanks!", onProceed: this.closeErrorAlert, onCancel: this.closeErrorAlert })),
150
+ lodash_1.default.includes(FERPA_ROLES, role) && (react_1.default.createElement(react_bootstrap_1.Col, { xs: 12 },
151
+ react_1.default.createElement(AlertWithIcon_1.default, { id: "ferpaWarning", variant: "warning" },
152
+ react_1.default.createElement("p", null,
153
+ "This role includes ",
154
+ gradableDescriptor,
155
+ " scores in ",
156
+ appName,
157
+ ". Please consider whether",
158
+ ' ',
159
+ react_1.default.createElement("a", { href: "https://www.purdue.edu/registrar/FERPA/index.html", target: "_blank", rel: "noopener noreferrer" }, "FERPA"),
160
+ ' ',
161
+ "certification is needed."))))));
162
+ };
163
+ return UserRolesAdd;
164
+ }(react_1.Component));
165
+ exports.default = UserRolesAdd;
@@ -1,21 +1,21 @@
1
- import React, { FunctionComponent } from 'react';
2
- import { BaseReduxState } from '../../types/BaseReduxState';
3
- import { UserWithRoles } from '../../types/UserRole';
4
- export interface RoleCellOwnProps {
5
- user: UserWithRoles;
6
- readOnly?: boolean;
7
- canModifySelf?: boolean;
8
- textForRole?: (role: string) => string;
9
- removeUserFromRole?: (user: UserWithRoles, role: string) => void;
10
- roles: string[];
11
- entityOwnerRole: string;
12
- }
13
- export interface RoleCellReduxProps {
14
- currentUserId: string;
15
- }
16
- export interface RoleCellProps extends RoleCellOwnProps, RoleCellReduxProps {
17
- }
18
- export declare const RoleCell: FunctionComponent<RoleCellProps>;
19
- export declare const mapStateToProps: (state: BaseReduxState) => RoleCellReduxProps;
20
- declare const _default: import("react-redux").ConnectedComponent<React.FunctionComponent<RoleCellProps>, Pick<RoleCellProps, "user" | "readOnly" | "textForRole" | "canModifySelf" | "removeUserFromRole" | "roles" | "entityOwnerRole">>;
21
- export default _default;
1
+ import React, { FunctionComponent } from 'react';
2
+ import { BaseReduxState } from '../../types/BaseReduxState';
3
+ import { UserWithRoles } from '../../types/UserRole';
4
+ export interface RoleCellOwnProps {
5
+ user: UserWithRoles;
6
+ readOnly?: boolean;
7
+ canModifySelf?: boolean;
8
+ textForRole?: (role: string) => string;
9
+ removeUserFromRole?: (user: UserWithRoles, role: string) => void;
10
+ roles: string[];
11
+ entityOwnerRole: string;
12
+ }
13
+ export interface RoleCellReduxProps {
14
+ currentUserId: string;
15
+ }
16
+ export interface RoleCellProps extends RoleCellOwnProps, RoleCellReduxProps {
17
+ }
18
+ export declare const RoleCell: FunctionComponent<RoleCellProps>;
19
+ export declare const mapStateToProps: (state: BaseReduxState) => RoleCellReduxProps;
20
+ declare const _default: import("react-redux").ConnectedComponent<React.FunctionComponent<RoleCellProps>, Pick<RoleCellProps, "user" | "readOnly" | "textForRole" | "canModifySelf" | "removeUserFromRole" | "roles" | "entityOwnerRole">>;
21
+ export default _default;
@@ -1,53 +1,53 @@
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
- exports.mapStateToProps = exports.RoleCell = void 0;
7
- var core_1 = require("@material-ui/core");
8
- var Delete_1 = __importDefault(require("@material-ui/icons/Delete"));
9
- var react_1 = __importDefault(require("react"));
10
- var react_bootstrap_1 = require("react-bootstrap");
11
- var react_redux_1 = require("react-redux");
12
- var userRole_1 = require("../../utils/userRole");
13
- var IconExternalUser_1 = require("../Icons/IconExternalUser");
14
- var RoleCell = function (_a) {
15
- var user = _a.user, currentUserId = _a.currentUserId, readOnly = _a.readOnly, canModifySelf = _a.canModifySelf, textForRole = _a.textForRole, removeUserFromRole = _a.removeUserFromRole, roles = _a.roles, entityOwnerRole = _a.entityOwnerRole;
16
- return (react_1.default.createElement("ul", { className: "mb0 list pa0 tr" }, user.roles.sort(userRole_1.sortByRole(roles)).map(function (userRole) {
17
- var roleText = userRole_1.getRoleText(textForRole)(userRole);
18
- var isUserRoleExternal = userRole_1.isExternal(userRole);
19
- var popover = (react_1.default.createElement(react_bootstrap_1.Popover, { id: "is-external-popover-" + userRole.userId + "-" + userRole.role },
20
- react_1.default.createElement("h3", null, "Added via Roster Sync"),
21
- react_1.default.createElement("p", { className: "mb2" }, "This person was added automatically via roster sync and cannot be manually removed.")));
22
- return (react_1.default.createElement("li", { key: user.id + "-" + roleText, className: "nowrap" },
23
- react_1.default.createElement("span", null, roleText),
24
- !isUserRoleExternal &&
25
- !readOnly &&
26
- (user.id !== currentUserId || canModifySelf || userRole.role !== entityOwnerRole) ? (react_1.default.createElement(core_1.IconButton, { className: "remove-user-button", "aria-label": "Remove " + roleText, onClick: function () {
27
- if (removeUserFromRole) {
28
- removeUserFromRole(user, userRole.role);
29
- }
30
- } },
31
- react_1.default.createElement(Delete_1.default, { color: "error" }))) : isUserRoleExternal ? (react_1.default.createElement(react_bootstrap_1.OverlayTrigger, { placement: "auto", trigger: ['click', 'hover', 'focus'], overlay: popover },
32
- react_1.default.createElement(IconExternalUser_1.IconExternalUser, { tabIndex: 0, style: { margin: '12px', opacity: 0.5 }, className: "external-icon" }))) : (
33
- // dummy spacer to keep items aligned
34
- react_1.default.createElement("span", { style: {
35
- margin: '12px',
36
- width: '24px',
37
- height: '24px',
38
- display: 'inline-block',
39
- verticalAlign: 'middle'
40
- } }))));
41
- })));
42
- };
43
- exports.RoleCell = RoleCell;
44
- var mapStateToProps = function (state) {
45
- if (!state.models.user || !state.models.user.userInfo) {
46
- throw new Error('Current user id is not stored in redux');
47
- }
48
- return {
49
- currentUserId: state.models.user.userInfo.id
50
- };
51
- };
52
- exports.mapStateToProps = mapStateToProps;
53
- exports.default = react_redux_1.connect(exports.mapStateToProps)(exports.RoleCell);
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
+ exports.mapStateToProps = exports.RoleCell = void 0;
7
+ var core_1 = require("@material-ui/core");
8
+ var Delete_1 = __importDefault(require("@material-ui/icons/Delete"));
9
+ var react_1 = __importDefault(require("react"));
10
+ var react_bootstrap_1 = require("react-bootstrap");
11
+ var react_redux_1 = require("react-redux");
12
+ var userRole_1 = require("../../utils/userRole");
13
+ var IconExternalUser_1 = require("../Icons/IconExternalUser");
14
+ var RoleCell = function (_a) {
15
+ var user = _a.user, currentUserId = _a.currentUserId, readOnly = _a.readOnly, canModifySelf = _a.canModifySelf, textForRole = _a.textForRole, removeUserFromRole = _a.removeUserFromRole, roles = _a.roles, entityOwnerRole = _a.entityOwnerRole;
16
+ return (react_1.default.createElement("ul", { className: "mb0 list pa0 tr" }, user.roles.sort(userRole_1.sortByRole(roles)).map(function (userRole) {
17
+ var roleText = userRole_1.getRoleText(textForRole)(userRole);
18
+ var isUserRoleExternal = userRole_1.isExternal(userRole);
19
+ var popover = (react_1.default.createElement(react_bootstrap_1.Popover, { id: "is-external-popover-" + userRole.userId + "-" + userRole.role },
20
+ react_1.default.createElement("h3", null, "Added via Roster Sync"),
21
+ react_1.default.createElement("p", { className: "mb2" }, "This person was added automatically via roster sync and cannot be manually removed.")));
22
+ return (react_1.default.createElement("li", { key: user.id + "-" + roleText, className: "nowrap" },
23
+ react_1.default.createElement("span", null, roleText),
24
+ !isUserRoleExternal &&
25
+ !readOnly &&
26
+ (user.id !== currentUserId || canModifySelf || userRole.role !== entityOwnerRole) ? (react_1.default.createElement(core_1.IconButton, { className: "remove-user-button", "aria-label": "Remove " + roleText, onClick: function () {
27
+ if (removeUserFromRole) {
28
+ removeUserFromRole(user, userRole.role);
29
+ }
30
+ } },
31
+ react_1.default.createElement(Delete_1.default, { color: "error" }))) : isUserRoleExternal ? (react_1.default.createElement(react_bootstrap_1.OverlayTrigger, { placement: "auto", trigger: ['click', 'hover', 'focus'], overlay: popover },
32
+ react_1.default.createElement(IconExternalUser_1.IconExternalUser, { tabIndex: 0, style: { margin: '12px', opacity: 0.5 }, className: "external-icon" }))) : (
33
+ // dummy spacer to keep items aligned
34
+ react_1.default.createElement("span", { style: {
35
+ margin: '12px',
36
+ width: '24px',
37
+ height: '24px',
38
+ display: 'inline-block',
39
+ verticalAlign: 'middle'
40
+ } }))));
41
+ })));
42
+ };
43
+ exports.RoleCell = RoleCell;
44
+ var mapStateToProps = function (state) {
45
+ if (!state.models.user || !state.models.user.userInfo) {
46
+ throw new Error('Current user id is not stored in redux');
47
+ }
48
+ return {
49
+ currentUserId: state.models.user.userInfo.id
50
+ };
51
+ };
52
+ exports.mapStateToProps = mapStateToProps;
53
+ exports.default = react_redux_1.connect(exports.mapStateToProps)(exports.RoleCell);
@@ -1,27 +1,27 @@
1
- import { ReactElement } from 'react';
2
- import { OverlayInjectedProps } from 'react-bootstrap/Overlay';
3
- export interface RoleSelectProps {
4
- className?: string;
5
- options: string[];
6
- value: string;
7
- onChange: any;
8
- controlId?: string;
9
- labelVisible?: boolean;
10
- popoverContentComponent?: ReactElement<OverlayInjectedProps>;
11
- textForRole?: (role: string) => string;
12
- }
13
- /**
14
- * Create a selector which will be properly labeled based on the number of options and provided content.
15
- *
16
- * @param {string} props.className - CSS class passed to the selector FormControl component
17
- * @param {string[]} props.options - Array of options the user can choose from
18
- * @param {string} props.value - Currently selected value
19
- * @param {function} props.onChange - Function that is called when the value changes
20
- * @param {string} props.controlId - Id for the selector
21
- * @param {boolean} props.labelVisible - Whether the label text should be visible
22
- * @param {ReactNode} props.popoverContentComponent - Content of the popover tooltip
23
- *
24
- * @returns {ReactElement} Selector and label component
25
- */
26
- declare const RoleSelect: (props: RoleSelectProps) => JSX.Element;
27
- export default RoleSelect;
1
+ import { ReactElement } from 'react';
2
+ import { OverlayInjectedProps } from 'react-bootstrap/Overlay';
3
+ export interface RoleSelectProps {
4
+ className?: string;
5
+ options: string[];
6
+ value: string;
7
+ onChange: any;
8
+ controlId?: string;
9
+ labelVisible?: boolean;
10
+ popoverContentComponent?: ReactElement<OverlayInjectedProps>;
11
+ textForRole?: (role: string) => string;
12
+ }
13
+ /**
14
+ * Create a selector which will be properly labeled based on the number of options and provided content.
15
+ *
16
+ * @param {string} props.className - CSS class passed to the selector FormControl component
17
+ * @param {string[]} props.options - Array of options the user can choose from
18
+ * @param {string} props.value - Currently selected value
19
+ * @param {function} props.onChange - Function that is called when the value changes
20
+ * @param {string} props.controlId - Id for the selector
21
+ * @param {boolean} props.labelVisible - Whether the label text should be visible
22
+ * @param {ReactNode} props.popoverContentComponent - Content of the popover tooltip
23
+ *
24
+ * @returns {ReactElement} Selector and label component
25
+ */
26
+ declare const RoleSelect: (props: RoleSelectProps) => JSX.Element;
27
+ export default RoleSelect;