studiokit-scaffolding-js 7.0.12-next.1.3 → 7.0.12-next.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/lib/components/ActionList.js +164 -37
  2. package/lib/components/AlertDialog.js +128 -12
  3. package/lib/components/AlertWithIcon.js +88 -29
  4. package/lib/components/ConnectedModal.js +35 -12
  5. package/lib/components/Dropdowns/GroupsDropdown.js +63 -45
  6. package/lib/components/Dropdowns/ManagedNavDropdown.js +92 -67
  7. package/lib/components/Dropdowns/UserDropdown.js +105 -24
  8. package/lib/components/Dropdowns/index.js +4 -10
  9. package/lib/components/EntityOwnerList.js +47 -21
  10. package/lib/components/Error.js +101 -12
  11. package/lib/components/ErrorBoundary.js +127 -38
  12. package/lib/components/ErrorMessage.js +39 -12
  13. package/lib/components/Forms/DateField.js +56 -45
  14. package/lib/components/Forms/TimeField.js +76 -45
  15. package/lib/components/Forms/index.js +3 -5
  16. package/lib/components/Groups/CreateEditCopySaveButtons.js +109 -14
  17. package/lib/components/Groups/ExternalGroups/Attach.js +206 -151
  18. package/lib/components/Groups/ExternalGroups/Table.js +176 -48
  19. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
  20. package/lib/components/Groups/RosterSyncInfo.js +142 -23
  21. package/lib/components/HOC/AccessibleAppComponent.js +88 -72
  22. package/lib/components/HOC/ActivityRequiredComponent.js +68 -33
  23. package/lib/components/HOC/AsyncComponent.js +49 -41
  24. package/lib/components/HOC/AuthenticatedComponent.js +55 -44
  25. package/lib/components/HOC/CollectionComponent.js +154 -104
  26. package/lib/components/HOC/CollectionFirstItemComponent.js +45 -40
  27. package/lib/components/HOC/CollectionItemComponent.js +152 -100
  28. package/lib/components/HOC/ConnectedModalComponent.js +87 -69
  29. package/lib/components/HOC/DataDependentComponent.js +26 -27
  30. package/lib/components/HOC/EntityComponent.js +57 -53
  31. package/lib/components/HOC/FullscreenModalComponent.js +139 -108
  32. package/lib/components/HOC/GroupActivityRequiredComponent.js +27 -20
  33. package/lib/components/HOC/GuidComponent.js +20 -20
  34. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +32 -29
  35. package/lib/components/HOC/ModelErrorRedirectComponent.js +37 -39
  36. package/lib/components/HOC/SearchPersistorComponent.js +237 -173
  37. package/lib/components/HOC/UnauthenticatedComponent.js +32 -30
  38. package/lib/components/HOC/UserComponent.js +6 -8
  39. package/lib/components/Icons/IconAlphaList.js +28 -8
  40. package/lib/components/Icons/IconExternalUser.js +28 -8
  41. package/lib/components/Icons/IconImpersonation.js +28 -8
  42. package/lib/components/Icons/IconStopImpersonating.js +28 -8
  43. package/lib/components/Icons/IconTable.js +29 -9
  44. package/lib/components/Icons/IconTableDeleteCol.js +28 -8
  45. package/lib/components/Icons/IconTableDeleteRow.js +28 -8
  46. package/lib/components/Icons/IconTableInsertCol.js +28 -8
  47. package/lib/components/Icons/IconTableInsertRow.js +28 -8
  48. package/lib/components/Impersonation/Button.js +71 -16
  49. package/lib/components/Impersonation/Link.js +72 -16
  50. package/lib/components/Impersonation/UserDetail.js +60 -11
  51. package/lib/components/Loading.js +23 -8
  52. package/lib/components/LockDownBrowser/Check.js +188 -51
  53. package/lib/components/LockDownBrowser/ExitButton.js +22 -13
  54. package/lib/components/LockDownBrowser/Launch.js +64 -64
  55. package/lib/components/Lti/Confirm.js +147 -14
  56. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +165 -36
  57. package/lib/components/Lti/Launch.js +99 -25
  58. package/lib/components/Lti/LaunchGroup.js +81 -16
  59. package/lib/components/ManageTable.js +304 -90
  60. package/lib/components/ManageTableNoDataComponent.js +38 -7
  61. package/lib/components/NewVersionAlert.js +76 -49
  62. package/lib/components/NotFound.js +81 -11
  63. package/lib/components/Notifications.js +179 -129
  64. package/lib/components/PaginationNextButton.js +28 -9
  65. package/lib/components/PaginationPreviousButton.js +28 -9
  66. package/lib/components/Quill/CustomToolbar.js +427 -222
  67. package/lib/components/Quill/Formats/Image.js +67 -67
  68. package/lib/components/Quill/Formats/List.js +38 -47
  69. package/lib/components/Quill/Formats/Video.js +23 -26
  70. package/lib/components/Quill/ImageDropModule.js +136 -114
  71. package/lib/components/Quill/ImageWarning.js +41 -12
  72. package/lib/components/Quill/ImageWithAltTextModal.js +420 -89
  73. package/lib/components/Quill/Specs/CustomImageSpec.js +32 -31
  74. package/lib/components/Quill/Specs/CustomVideoSpec.js +22 -23
  75. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +89 -97
  76. package/lib/components/Quill/TableModule/Blots/TableBlot.js +47 -50
  77. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +48 -51
  78. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +219 -224
  79. package/lib/components/Quill/TableModule/Blots/TableContainer.js +75 -86
  80. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +70 -73
  81. package/lib/components/Quill/TableModule/constants.js +40 -42
  82. package/lib/components/Quill/TableModule/index.js +357 -305
  83. package/lib/components/Quill/TableModule/utils.js +39 -48
  84. package/lib/components/Quill/accessibilityFix.js +219 -223
  85. package/lib/components/Quill/index.js +30 -33
  86. package/lib/components/RefreshIndicator/Bordered.js +44 -10
  87. package/lib/components/RefreshIndicator/Inline.js +43 -12
  88. package/lib/components/RefreshIndicator/index.js +257 -62
  89. package/lib/components/SearchControls.js +211 -14
  90. package/lib/components/SentryRoute.js +5 -7
  91. package/lib/components/Tables/RoleFilter.js +66 -38
  92. package/lib/components/Tables/TextFilter.js +58 -18
  93. package/lib/components/UserRoles/Add.js +193 -99
  94. package/lib/components/UserRoles/Context.js +3 -6
  95. package/lib/components/UserRoles/RoleCell.js +176 -75
  96. package/lib/components/UserRoles/Select.js +151 -20
  97. package/lib/components/UserRoles/Table.js +215 -82
  98. package/lib/components/UserRoles/index.js +526 -386
  99. package/lib/config/eslint/index.js +26 -29
  100. package/lib/config/eslint/lib/order.js +21 -28
  101. package/lib/config/eslint/lib/prettier.js +15 -19
  102. package/lib/config/eslint/lib/typescript.js +87 -113
  103. package/lib/config/eslint/react.js +18 -15
  104. package/lib/constants/baseActivity.js +26 -28
  105. package/lib/constants/baseRole.js +10 -12
  106. package/lib/constants/configuration.js +43 -55
  107. package/lib/constants/externalProviderType.js +6 -8
  108. package/lib/constants/fetchErrorData.js +10 -12
  109. package/lib/constants/index.js +13 -15
  110. package/lib/constants/lockDownBrowser.js +23 -25
  111. package/lib/constants/mockData.js +370 -300
  112. package/lib/constants/modelStatus.js +11 -13
  113. package/lib/constants/notificationType.js +8 -10
  114. package/lib/constants/operatingSystem.js +8 -10
  115. package/lib/constants/shard.js +7 -9
  116. package/lib/constants/table.js +18 -22
  117. package/lib/constants/tier.js +8 -10
  118. package/lib/constants/userRole.js +11 -8
  119. package/lib/endpointMappings.js +191 -182
  120. package/lib/hooks/useCollection.js +79 -65
  121. package/lib/hooks/useCollectionConfiguration.js +220 -80
  122. package/lib/hooks/useCollectionItem.js +151 -57
  123. package/lib/hooks/useGuid.js +16 -9
  124. package/lib/hooks/usePrevious.js +14 -13
  125. package/lib/index.js +11 -26
  126. package/lib/redux/actionCreator.js +44 -35
  127. package/lib/redux/actions/AuthAction.js +45 -32
  128. package/lib/redux/actions/ModalAction.js +6 -8
  129. package/lib/redux/actions/ModelAction.js +95 -43
  130. package/lib/redux/actions/NotificationAction.js +6 -8
  131. package/lib/redux/actions/SearchAction.js +5 -7
  132. package/lib/redux/actions/index.js +6 -8
  133. package/lib/redux/configureReducers.js +48 -46
  134. package/lib/redux/configureStore.js +77 -91
  135. package/lib/redux/helpers.js +2 -5
  136. package/lib/redux/reducers/authReducer.js +44 -43
  137. package/lib/redux/reducers/index.js +7 -14
  138. package/lib/redux/reducers/modalsReducer.js +43 -31
  139. package/lib/redux/reducers/modelsReducer.js +131 -137
  140. package/lib/redux/reducers/notificationsReducer.js +20 -20
  141. package/lib/redux/reducers/searchReducer.js +13 -13
  142. package/lib/redux/sagas/appInsightsSaga.js +19 -21
  143. package/lib/redux/sagas/authSaga.js +248 -234
  144. package/lib/redux/sagas/caliperSaga.js +142 -131
  145. package/lib/redux/sagas/clockOffsetSaga.js +29 -32
  146. package/lib/redux/sagas/configurationSaga.js +8 -10
  147. package/lib/redux/sagas/downtimeApiErrorSaga.js +16 -19
  148. package/lib/redux/sagas/errorSaga.js +23 -24
  149. package/lib/redux/sagas/googleAnalyticsSaga.js +24 -27
  150. package/lib/redux/sagas/identityProviderSaga.js +19 -21
  151. package/lib/redux/sagas/initialDataLoadSaga.js +34 -31
  152. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +25 -22
  153. package/lib/redux/sagas/modelFetchSaga.js +302 -286
  154. package/lib/redux/sagas/noStoreSaga.js +60 -61
  155. package/lib/redux/sagas/postLoginDataSaga.js +37 -32
  156. package/lib/redux/sagas/postLoginRedirectSaga.js +22 -27
  157. package/lib/redux/sagas/rootSaga.js +77 -60
  158. package/lib/redux/sagas/sentrySaga.js +25 -28
  159. package/lib/redux/sagas/userIdSaga.js +13 -15
  160. package/lib/services/codeProviderService.js +21 -21
  161. package/lib/services/dateService.js +6 -8
  162. package/lib/services/documentService.js +10 -11
  163. package/lib/services/fetchService.js +103 -95
  164. package/lib/services/persistenceService.js +27 -30
  165. package/lib/services/ticketProviderService.js +25 -25
  166. package/lib/services/tokenPersistenceService.js +8 -10
  167. package/lib/services/windowService.js +14 -16
  168. package/lib/startup.js +110 -101
  169. package/lib/types/AppConfiguration.js +2 -2
  170. package/lib/types/Artifact.js +7 -9
  171. package/lib/types/BaseReduxState.js +2 -2
  172. package/lib/types/Client.js +2 -2
  173. package/lib/types/Collection.js +2 -2
  174. package/lib/types/Configuration.js +2 -2
  175. package/lib/types/DeepLinkingResponseRequest.js +2 -2
  176. package/lib/types/DeletableModel.js +2 -2
  177. package/lib/types/Event.js +2 -2
  178. package/lib/types/ExternalGroup.js +2 -2
  179. package/lib/types/ExternalProvider.js +2 -2
  180. package/lib/types/ExternalTerm.js +2 -2
  181. package/lib/types/Group.js +2 -2
  182. package/lib/types/IdentityProvider.js +2 -2
  183. package/lib/types/LtiLaunch.js +2 -2
  184. package/lib/types/NameOnlyEntity.js +2 -2
  185. package/lib/types/Notification.js +2 -2
  186. package/lib/types/OptionalRecord.js +2 -2
  187. package/lib/types/OwnerSchedule.js +2 -2
  188. package/lib/types/PropertyOfType.js +2 -2
  189. package/lib/types/Quill.js +2 -2
  190. package/lib/types/RoleDescription.js +2 -2
  191. package/lib/types/Search.js +2 -2
  192. package/lib/types/SimpleLocation.js +2 -2
  193. package/lib/types/UniTime.js +2 -2
  194. package/lib/types/User.js +2 -2
  195. package/lib/types/UserRole.js +2 -2
  196. package/lib/types/auth/AuthState.js +2 -2
  197. package/lib/types/auth/CasV1LoginRequestBody.js +2 -2
  198. package/lib/types/auth/ClientCredentials.js +2 -2
  199. package/lib/types/auth/CodeProviderService.js +2 -2
  200. package/lib/types/auth/LocalLoginRequestBody.js +2 -2
  201. package/lib/types/auth/TicketProviderService.js +2 -2
  202. package/lib/types/auth/TokenPersistenceService.js +2 -2
  203. package/lib/types/auth/index.js +8 -10
  204. package/lib/types/externals.d.js +2 -0
  205. package/lib/types/index.js +29 -31
  206. package/lib/types/net/EndpointConfig.js +2 -2
  207. package/lib/types/net/EndpointMapping.js +2 -2
  208. package/lib/types/net/EndpointMappings.js +2 -2
  209. package/lib/types/net/ErrorHandler.js +2 -2
  210. package/lib/types/net/FetchConfig.js +2 -2
  211. package/lib/types/net/FetchErrorData.js +6 -8
  212. package/lib/types/net/FetchResult.js +2 -2
  213. package/lib/types/net/HTTPMethod.js +2 -2
  214. package/lib/types/net/HTTPStatusCode.js +12 -14
  215. package/lib/types/net/Metadata.js +2 -2
  216. package/lib/types/net/Model.js +2 -2
  217. package/lib/types/net/ModelCollection.js +2 -2
  218. package/lib/types/net/ModelsState.js +2 -2
  219. package/lib/types/net/OAuthToken.js +2 -2
  220. package/lib/types/net/OAuthTokenOrNull.js +2 -2
  221. package/lib/types/net/TokenAccessFunction.js +2 -2
  222. package/lib/types/net/index.js +17 -19
  223. package/lib/utils/baseActivity.js +83 -85
  224. package/lib/utils/baseRole.js +32 -36
  225. package/lib/utils/collection.js +403 -297
  226. package/lib/utils/cookies.js +19 -23
  227. package/lib/utils/date.js +188 -205
  228. package/lib/utils/dom.js +130 -131
  229. package/lib/utils/domainIdentifier.js +4 -8
  230. package/lib/utils/entityUserRole.js +2 -5
  231. package/lib/utils/error.js +14 -19
  232. package/lib/utils/events.js +32 -31
  233. package/lib/utils/externalGroup.js +20 -25
  234. package/lib/utils/externalProviders.js +4 -7
  235. package/lib/utils/externalTerms.js +6 -6
  236. package/lib/utils/fetch.js +168 -176
  237. package/lib/utils/group.js +14 -11
  238. package/lib/utils/groupDates.js +38 -46
  239. package/lib/utils/groupRoles.js +23 -32
  240. package/lib/utils/lockDownBrowser.js +12 -15
  241. package/lib/utils/logger.js +23 -28
  242. package/lib/utils/lti.js +4 -7
  243. package/lib/utils/model.js +28 -43
  244. package/lib/utils/number.js +9 -13
  245. package/lib/utils/promise.js +23 -26
  246. package/lib/utils/quill.js +55 -60
  247. package/lib/utils/route.js +52 -60
  248. package/lib/utils/search.js +72 -87
  249. package/lib/utils/shard.js +33 -42
  250. package/lib/utils/sort.js +47 -50
  251. package/lib/utils/string.js +10 -12
  252. package/lib/utils/table.js +29 -33
  253. package/lib/utils/timezone.js +7 -12
  254. package/lib/utils/url.js +130 -144
  255. package/lib/utils/user.js +54 -64
  256. package/lib/utils/userAgent.js +7 -14
  257. package/lib/utils/userRole.js +36 -39
  258. package/package.json +17 -3
@@ -1,54 +1,182 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExternalGroupsTable = void 0;
4
- const tslib_1 = require("tslib");
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- const ToggleButton_1 = tslib_1.__importDefault(require("@material-ui/lab/ToggleButton"));
7
- const ToggleButtonGroup_1 = tslib_1.__importDefault(require("@material-ui/lab/ToggleButtonGroup"));
8
- const lodash_1 = require("lodash");
9
- const react_super_responsive_table_1 = require("react-super-responsive-table");
10
- const constants_1 = require("../../../constants");
11
- const model_1 = require("../../../utils/model");
12
- const user_1 = require("../../../utils/user");
13
- const shouldShowAutoGradePushColumn = (hasAnyLtiExternalGroup, group, hasGradePushEnabled) => (hasAnyLtiExternalGroup && (0, lodash_1.isEmpty)(group)) || hasGradePushEnabled;
1
+ import { c as _c } from "react-compiler-runtime";
2
+ import ToggleButton from '@material-ui/lab/ToggleButton';
3
+ import ToggleButtonGroup from '@material-ui/lab/ToggleButtonGroup';
4
+ import { isEmpty } from 'lodash';
5
+ import React from 'react';
6
+ import { Table, Tbody, Td, Th, Thead, Tr } from 'react-super-responsive-table';
7
+ import { BASE_ROLE } from '../../../constants';
8
+ import { getModelArray } from '../../../utils/model';
9
+ import { displayName } from '../../../utils/user';
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const shouldShowAutoGradePushColumn = (hasAnyLtiExternalGroup, group, hasGradePushEnabled) => hasAnyLtiExternalGroup && isEmpty(group) || hasGradePushEnabled;
14
12
  const renderTableHeaderRow = (hasAnyLtiExternalGroup, group, hasGradePushEnabled) => {
15
- const headerCells = ['Course Name', 'Course Description', 'Instructor'];
16
- if (shouldShowAutoGradePushColumn(hasAnyLtiExternalGroup, group, hasGradePushEnabled)) {
17
- headerCells.push('Grade Push');
18
- }
19
- return ((0, jsx_runtime_1.jsx)(react_super_responsive_table_1.Tr, { children: headerCells.map((value, i) => ((0, jsx_runtime_1.jsx)(react_super_responsive_table_1.Th, { children: value }, i))) }));
13
+ const headerCells = ['Course Name', 'Course Description', 'Instructor'];
14
+ if (shouldShowAutoGradePushColumn(hasAnyLtiExternalGroup, group, hasGradePushEnabled)) {
15
+ headerCells.push('Grade Push');
16
+ }
17
+ return /*#__PURE__*/_jsx(Tr, {
18
+ children: headerCells.map((value, i) => /*#__PURE__*/_jsx(Th, {
19
+ children: value
20
+ }, i))
21
+ });
20
22
  };
21
23
  const renderTableBodyRow = (key, externalGroup, owner, hasGradePushEnabled, hasAnyLtiExternalGroup, canEditExternalGroups, group, updateExternalGroup) => {
22
- const cells = [
23
- externalGroup.name,
24
- (0, jsx_runtime_1.jsx)("span", { style: { overflowWrap: 'anywhere' }, children: externalGroup.description }),
25
- owner ? `${(0, user_1.displayName)(owner)}` : ''
26
- ];
27
- // brand new LTI group or editing a group that has grade push enabled
28
- if (shouldShowAutoGradePushColumn(hasAnyLtiExternalGroup, group, hasGradePushEnabled)) {
29
- if (canEditExternalGroups) {
30
- cells.push((0, jsx_runtime_1.jsxs)(ToggleButtonGroup_1.default, { value: externalGroup.isAutoGradePushEnabled, exclusive: true, onChange: (_, newValue) => {
31
- // do not allow "turning off" any of the selections
32
- if (newValue === null)
33
- return;
34
- updateExternalGroup(Object.assign(Object.assign({}, externalGroup), { isAutoGradePushEnabled: newValue }));
35
- }, "aria-label": "auto grade push", children: [(0, jsx_runtime_1.jsx)(ToggleButton_1.default, { value: true, children: "Automatic" }), (0, jsx_runtime_1.jsx)(ToggleButton_1.default, { value: false, children: "Manual" })] }));
36
- }
37
- else {
38
- cells.push(externalGroup.isAutoGradePushEnabled ? 'Automatic' : 'Manual');
39
- }
24
+ const cells = [externalGroup.name, /*#__PURE__*/_jsx("span", {
25
+ style: {
26
+ overflowWrap: 'anywhere'
27
+ },
28
+ children: externalGroup.description
29
+ }), owner ? `${displayName(owner)}` : ''];
30
+ // brand new LTI group or editing a group that has grade push enabled
31
+ if (shouldShowAutoGradePushColumn(hasAnyLtiExternalGroup, group, hasGradePushEnabled)) {
32
+ if (canEditExternalGroups) {
33
+ cells.push(/*#__PURE__*/_jsxs(ToggleButtonGroup, {
34
+ value: externalGroup.isAutoGradePushEnabled,
35
+ exclusive: true,
36
+ onChange: (_, newValue) => {
37
+ // do not allow "turning off" any of the selections
38
+ if (newValue === null) return;
39
+ updateExternalGroup({
40
+ ...externalGroup,
41
+ isAutoGradePushEnabled: newValue
42
+ });
43
+ },
44
+ "aria-label": "auto grade push",
45
+ children: [/*#__PURE__*/_jsx(ToggleButton, {
46
+ value: true,
47
+ children: "Automatic"
48
+ }), /*#__PURE__*/_jsx(ToggleButton, {
49
+ value: false,
50
+ children: "Manual"
51
+ })]
52
+ }));
53
+ } else {
54
+ cells.push(externalGroup.isAutoGradePushEnabled ? 'Automatic' : 'Manual');
40
55
  }
41
- return ((0, jsx_runtime_1.jsx)(react_super_responsive_table_1.Tr, { children: cells.map((value, i) => ((0, jsx_runtime_1.jsx)(react_super_responsive_table_1.Td, { children: value }, i))) }, key));
56
+ }
57
+ return /*#__PURE__*/_jsx(Tr, {
58
+ children: cells.map((value, i) => /*#__PURE__*/_jsx(Td, {
59
+ children: value
60
+ }, i))
61
+ }, key);
42
62
  };
43
- const ExternalGroupsTable = (_a) => {
44
- var { group, externalGroups, hasGradePushEnabled, hasAnyLtiExternalGroup, canEditExternalGroups, groupUserRoles, updateExternalGroup } = _a, other = tslib_1.__rest(_a, ["group", "externalGroups", "hasGradePushEnabled", "hasAnyLtiExternalGroup", "canEditExternalGroups", "groupUserRoles", "updateExternalGroup"]) // for passing aria-describedby to tables
45
- ;
46
- return ((0, jsx_runtime_1.jsx)("div", { className: "table-container", children: (0, jsx_runtime_1.jsxs)(react_super_responsive_table_1.Table, Object.assign({}, other, { className: "w-100 mb4", children: [(0, jsx_runtime_1.jsx)(react_super_responsive_table_1.Thead, { children: renderTableHeaderRow(hasAnyLtiExternalGroup, group, hasGradePushEnabled) }), (0, jsx_runtime_1.jsx)(react_super_responsive_table_1.Tbody, { children: externalGroups.map((externalGroup, i) => {
47
- var _a;
48
- const owner = (0, lodash_1.isEmpty)(group) && !!groupUserRoles
49
- ? (0, model_1.getModelArray)(groupUserRoles).find(gur => gur.userId === externalGroup.userId && gur.role === constants_1.BASE_ROLE.GROUP_OWNER)
50
- : (_a = group.owners) === null || _a === void 0 ? void 0 : _a.find(o => o.id === externalGroup.userId);
51
- return renderTableBodyRow(i, externalGroup, owner, hasGradePushEnabled, hasAnyLtiExternalGroup, canEditExternalGroups, group, updateExternalGroup);
52
- }) })] })) }));
63
+ export const ExternalGroupsTable = t0 => {
64
+ const $ = _c(36);
65
+ let canEditExternalGroups;
66
+ let externalGroups;
67
+ let group;
68
+ let groupUserRoles;
69
+ let hasAnyLtiExternalGroup;
70
+ let hasGradePushEnabled;
71
+ let other;
72
+ let updateExternalGroup;
73
+ if ($[0] !== t0) {
74
+ ({
75
+ group,
76
+ externalGroups,
77
+ hasGradePushEnabled,
78
+ hasAnyLtiExternalGroup,
79
+ canEditExternalGroups,
80
+ groupUserRoles,
81
+ updateExternalGroup,
82
+ ...other
83
+ } = t0);
84
+ $[0] = t0;
85
+ $[1] = canEditExternalGroups;
86
+ $[2] = externalGroups;
87
+ $[3] = group;
88
+ $[4] = groupUserRoles;
89
+ $[5] = hasAnyLtiExternalGroup;
90
+ $[6] = hasGradePushEnabled;
91
+ $[7] = other;
92
+ $[8] = updateExternalGroup;
93
+ } else {
94
+ canEditExternalGroups = $[1];
95
+ externalGroups = $[2];
96
+ group = $[3];
97
+ groupUserRoles = $[4];
98
+ hasAnyLtiExternalGroup = $[5];
99
+ hasGradePushEnabled = $[6];
100
+ other = $[7];
101
+ updateExternalGroup = $[8];
102
+ }
103
+ let t1;
104
+ if ($[9] !== group || $[10] !== hasAnyLtiExternalGroup || $[11] !== hasGradePushEnabled) {
105
+ t1 = renderTableHeaderRow(hasAnyLtiExternalGroup, group, hasGradePushEnabled);
106
+ $[9] = group;
107
+ $[10] = hasAnyLtiExternalGroup;
108
+ $[11] = hasGradePushEnabled;
109
+ $[12] = t1;
110
+ } else {
111
+ t1 = $[12];
112
+ }
113
+ let t2;
114
+ if ($[13] !== t1) {
115
+ t2 = /*#__PURE__*/_jsx(Thead, {
116
+ children: t1
117
+ });
118
+ $[13] = t1;
119
+ $[14] = t2;
120
+ } else {
121
+ t2 = $[14];
122
+ }
123
+ let t3;
124
+ if ($[15] !== canEditExternalGroups || $[16] !== externalGroups || $[17] !== group || $[18] !== groupUserRoles || $[19] !== hasAnyLtiExternalGroup || $[20] !== hasGradePushEnabled || $[21] !== updateExternalGroup) {
125
+ let t4;
126
+ if ($[23] !== canEditExternalGroups || $[24] !== group || $[25] !== groupUserRoles || $[26] !== hasAnyLtiExternalGroup || $[27] !== hasGradePushEnabled || $[28] !== updateExternalGroup) {
127
+ t4 = (externalGroup, i) => {
128
+ const owner = isEmpty(group) && !!groupUserRoles ? getModelArray(groupUserRoles).find(gur => gur.userId === externalGroup.userId && gur.role === BASE_ROLE.GROUP_OWNER) : group.owners?.find(o => o.id === externalGroup.userId);
129
+ return renderTableBodyRow(i, externalGroup, owner, hasGradePushEnabled, hasAnyLtiExternalGroup, canEditExternalGroups, group, updateExternalGroup);
130
+ };
131
+ $[23] = canEditExternalGroups;
132
+ $[24] = group;
133
+ $[25] = groupUserRoles;
134
+ $[26] = hasAnyLtiExternalGroup;
135
+ $[27] = hasGradePushEnabled;
136
+ $[28] = updateExternalGroup;
137
+ $[29] = t4;
138
+ } else {
139
+ t4 = $[29];
140
+ }
141
+ t3 = externalGroups.map(t4);
142
+ $[15] = canEditExternalGroups;
143
+ $[16] = externalGroups;
144
+ $[17] = group;
145
+ $[18] = groupUserRoles;
146
+ $[19] = hasAnyLtiExternalGroup;
147
+ $[20] = hasGradePushEnabled;
148
+ $[21] = updateExternalGroup;
149
+ $[22] = t3;
150
+ } else {
151
+ t3 = $[22];
152
+ }
153
+ let t4;
154
+ if ($[30] !== t3) {
155
+ t4 = /*#__PURE__*/_jsx(Tbody, {
156
+ children: t3
157
+ });
158
+ $[30] = t3;
159
+ $[31] = t4;
160
+ } else {
161
+ t4 = $[31];
162
+ }
163
+ let t5;
164
+ if ($[32] !== other || $[33] !== t2 || $[34] !== t4) {
165
+ t5 = /*#__PURE__*/_jsx("div", {
166
+ className: "table-container",
167
+ children: /*#__PURE__*/_jsxs(Table, {
168
+ ...other,
169
+ className: "w-100 mb4",
170
+ children: [t2, t4]
171
+ })
172
+ });
173
+ $[32] = other;
174
+ $[33] = t2;
175
+ $[34] = t4;
176
+ $[35] = t5;
177
+ } else {
178
+ t5 = $[35];
179
+ }
180
+ return t5;
53
181
  };
54
- exports.ExternalGroupsTable = ExternalGroupsTable;
182
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUb2dnbGVCdXR0b24iLCJUb2dnbGVCdXR0b25Hcm91cCIsImlzRW1wdHkiLCJSZWFjdCIsIlRhYmxlIiwiVGJvZHkiLCJUZCIsIlRoIiwiVGhlYWQiLCJUciIsIkJBU0VfUk9MRSIsImdldE1vZGVsQXJyYXkiLCJkaXNwbGF5TmFtZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJzaG91bGRTaG93QXV0b0dyYWRlUHVzaENvbHVtbiIsImhhc0FueUx0aUV4dGVybmFsR3JvdXAiLCJncm91cCIsImhhc0dyYWRlUHVzaEVuYWJsZWQiLCJyZW5kZXJUYWJsZUhlYWRlclJvdyIsImhlYWRlckNlbGxzIiwicHVzaCIsImNoaWxkcmVuIiwibWFwIiwidmFsdWUiLCJpIiwicmVuZGVyVGFibGVCb2R5Um93Iiwia2V5IiwiZXh0ZXJuYWxHcm91cCIsIm93bmVyIiwiY2FuRWRpdEV4dGVybmFsR3JvdXBzIiwidXBkYXRlRXh0ZXJuYWxHcm91cCIsImNlbGxzIiwibmFtZSIsInN0eWxlIiwib3ZlcmZsb3dXcmFwIiwiZGVzY3JpcHRpb24iLCJpc0F1dG9HcmFkZVB1c2hFbmFibGVkIiwiZXhjbHVzaXZlIiwib25DaGFuZ2UiLCJfIiwibmV3VmFsdWUiLCJFeHRlcm5hbEdyb3Vwc1RhYmxlIiwidDAiLCIkIiwiX2MiLCJleHRlcm5hbEdyb3VwcyIsImdyb3VwVXNlclJvbGVzIiwib3RoZXIiLCJ0MSIsInQyIiwidDMiLCJ0NCIsImZpbmQiLCJndXIiLCJ1c2VySWQiLCJyb2xlIiwiR1JPVVBfT1dORVIiLCJvd25lcnMiLCJvIiwiaWQiLCJ0NSIsImNsYXNzTmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0dyb3Vwcy9FeHRlcm5hbEdyb3Vwcy9UYWJsZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRvZ2dsZUJ1dHRvbiBmcm9tICdAbWF0ZXJpYWwtdWkvbGFiL1RvZ2dsZUJ1dHRvbidcbmltcG9ydCBUb2dnbGVCdXR0b25Hcm91cCBmcm9tICdAbWF0ZXJpYWwtdWkvbGFiL1RvZ2dsZUJ1dHRvbkdyb3VwJ1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaCdcbmltcG9ydCBSZWFjdCwgeyBGdW5jdGlvbkNvbXBvbmVudCwgVGFibGVIVE1MQXR0cmlidXRlcyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVGFibGUsIFRib2R5LCBUZCwgVGgsIFRoZWFkLCBUciB9IGZyb20gJ3JlYWN0LXN1cGVyLXJlc3BvbnNpdmUtdGFibGUnXG5pbXBvcnQgeyBCQVNFX1JPTEUgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnXG5pbXBvcnQgeyBFeHRlcm5hbEdyb3VwLCBHcm91cCwgR3JvdXBVc2VyUm9sZSwgTHRpTGF1bmNoLCBNb2RlbENvbGxlY3Rpb24sIFVuaVRpbWVHcm91cCwgVXNlciB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0TW9kZWxBcnJheSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL21vZGVsJ1xuaW1wb3J0IHsgZGlzcGxheU5hbWUgfSBmcm9tICcuLi8uLi8uLi91dGlscy91c2VyJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVybmFsR3JvdXBzVGFibGVQcm9wcyBleHRlbmRzIFRhYmxlSFRNTEF0dHJpYnV0ZXM8RWxlbWVudD4ge1xuXHRncm91cDogUGFydGlhbDxHcm91cD5cblx0ZXh0ZXJuYWxHcm91cHM6IEFycmF5PEV4dGVybmFsR3JvdXAgfCBMdGlMYXVuY2ggfCBVbmlUaW1lR3JvdXA+XG5cdGhhc0dyYWRlUHVzaEVuYWJsZWQ6IGJvb2xlYW5cblx0aGFzQW55THRpRXh0ZXJuYWxHcm91cDogYm9vbGVhblxuXHRjYW5FZGl0RXh0ZXJuYWxHcm91cHM6IGJvb2xlYW5cblx0Z3JvdXBVc2VyUm9sZXM/OiBNb2RlbENvbGxlY3Rpb248R3JvdXBVc2VyUm9sZT5cblx0dXBkYXRlRXh0ZXJuYWxHcm91cDogKGV4dGVybmFsR3JvdXA6IEV4dGVybmFsR3JvdXAgfCBMdGlMYXVuY2ggfCBVbmlUaW1lR3JvdXApID0+IHZvaWRcbn1cblxuY29uc3Qgc2hvdWxkU2hvd0F1dG9HcmFkZVB1c2hDb2x1bW4gPSAoXG5cdGhhc0FueUx0aUV4dGVybmFsR3JvdXA6IGJvb2xlYW4sXG5cdGdyb3VwOiBQYXJ0aWFsPEdyb3VwPixcblx0aGFzR3JhZGVQdXNoRW5hYmxlZDogYm9vbGVhblxuKSA9PiAoaGFzQW55THRpRXh0ZXJuYWxHcm91cCAmJiBpc0VtcHR5KGdyb3VwKSkgfHwgaGFzR3JhZGVQdXNoRW5hYmxlZFxuXG5jb25zdCByZW5kZXJUYWJsZUhlYWRlclJvdyA9IChoYXNBbnlMdGlFeHRlcm5hbEdyb3VwOiBib29sZWFuLCBncm91cDogUGFydGlhbDxHcm91cD4sIGhhc0dyYWRlUHVzaEVuYWJsZWQ6IGJvb2xlYW4pID0+IHtcblx0Y29uc3QgaGVhZGVyQ2VsbHMgPSBbJ0NvdXJzZSBOYW1lJywgJ0NvdXJzZSBEZXNjcmlwdGlvbicsICdJbnN0cnVjdG9yJ11cblx0aWYgKHNob3VsZFNob3dBdXRvR3JhZGVQdXNoQ29sdW1uKGhhc0FueUx0aUV4dGVybmFsR3JvdXAsIGdyb3VwLCBoYXNHcmFkZVB1c2hFbmFibGVkKSkge1xuXHRcdGhlYWRlckNlbGxzLnB1c2goJ0dyYWRlIFB1c2gnKVxuXHR9XG5cdHJldHVybiAoXG5cdFx0PFRyPlxuXHRcdFx0e2hlYWRlckNlbGxzLm1hcCgodmFsdWUsIGkpID0+IChcblx0XHRcdFx0PFRoIGtleT17aX0+e3ZhbHVlfTwvVGg+XG5cdFx0XHQpKX1cblx0XHQ8L1RyPlxuXHQpXG59XG5cbmNvbnN0IHJlbmRlclRhYmxlQm9keVJvdyA9IChcblx0a2V5OiBudW1iZXIsXG5cdGV4dGVybmFsR3JvdXA6IEV4dGVybmFsR3JvdXAgfCBMdGlMYXVuY2ggfCBVbmlUaW1lR3JvdXAsXG5cdG93bmVyOiBVc2VyIHwgdW5kZWZpbmVkLFxuXHRoYXNHcmFkZVB1c2hFbmFibGVkOiBib29sZWFuLFxuXHRoYXNBbnlMdGlFeHRlcm5hbEdyb3VwOiBib29sZWFuLFxuXHRjYW5FZGl0RXh0ZXJuYWxHcm91cHM6IGJvb2xlYW4sXG5cdGdyb3VwOiBQYXJ0aWFsPEdyb3VwPixcblx0dXBkYXRlRXh0ZXJuYWxHcm91cDogKGV4dGVybmFsR3JvdXA6IEV4dGVybmFsR3JvdXAgfCBMdGlMYXVuY2ggfCBVbmlUaW1lR3JvdXApID0+IHZvaWRcbikgPT4ge1xuXHRjb25zdCBjZWxsczogQXJyYXk8c3RyaW5nIHwgUmVhY3QuSlNYLkVsZW1lbnQgfCBudWxsPiA9IFtcblx0XHRleHRlcm5hbEdyb3VwLm5hbWUsXG5cdFx0PHNwYW4gc3R5bGU9e3sgb3ZlcmZsb3dXcmFwOiAnYW55d2hlcmUnIH19PntleHRlcm5hbEdyb3VwLmRlc2NyaXB0aW9ufTwvc3Bhbj4sXG5cdFx0b3duZXIgPyBgJHtkaXNwbGF5TmFtZShvd25lcil9YCA6ICcnXG5cdF1cblx0Ly8gYnJhbmQgbmV3IExUSSBncm91cCBvciBlZGl0aW5nIGEgZ3JvdXAgdGhhdCBoYXMgZ3JhZGUgcHVzaCBlbmFibGVkXG5cdGlmIChzaG91bGRTaG93QXV0b0dyYWRlUHVzaENvbHVtbihoYXNBbnlMdGlFeHRlcm5hbEdyb3VwLCBncm91cCwgaGFzR3JhZGVQdXNoRW5hYmxlZCkpIHtcblx0XHRpZiAoY2FuRWRpdEV4dGVybmFsR3JvdXBzKSB7XG5cdFx0XHRjZWxscy5wdXNoKFxuXHRcdFx0XHQ8VG9nZ2xlQnV0dG9uR3JvdXBcblx0XHRcdFx0XHR2YWx1ZT17ZXh0ZXJuYWxHcm91cC5pc0F1dG9HcmFkZVB1c2hFbmFibGVkfVxuXHRcdFx0XHRcdGV4Y2x1c2l2ZVxuXHRcdFx0XHRcdG9uQ2hhbmdlPXsoXzogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudD4sIG5ld1ZhbHVlOiBib29sZWFuIHwgbnVsbCkgPT4ge1xuXHRcdFx0XHRcdFx0Ly8gZG8gbm90IGFsbG93IFwidHVybmluZyBvZmZcIiBhbnkgb2YgdGhlIHNlbGVjdGlvbnNcblx0XHRcdFx0XHRcdGlmIChuZXdWYWx1ZSA9PT0gbnVsbCkgcmV0dXJuXG5cdFx0XHRcdFx0XHR1cGRhdGVFeHRlcm5hbEdyb3VwKHsgLi4uZXh0ZXJuYWxHcm91cCwgaXNBdXRvR3JhZGVQdXNoRW5hYmxlZDogbmV3VmFsdWUgfSlcblx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdGFyaWEtbGFiZWw9XCJhdXRvIGdyYWRlIHB1c2hcIj5cblx0XHRcdFx0XHQ8VG9nZ2xlQnV0dG9uIHZhbHVlPXt0cnVlfT5BdXRvbWF0aWM8L1RvZ2dsZUJ1dHRvbj5cblx0XHRcdFx0XHQ8VG9nZ2xlQnV0dG9uIHZhbHVlPXtmYWxzZX0+TWFudWFsPC9Ub2dnbGVCdXR0b24+XG5cdFx0XHRcdDwvVG9nZ2xlQnV0dG9uR3JvdXA+XG5cdFx0XHQpXG5cdFx0fSBlbHNlIHtcblx0XHRcdGNlbGxzLnB1c2goZXh0ZXJuYWxHcm91cC5pc0F1dG9HcmFkZVB1c2hFbmFibGVkID8gJ0F1dG9tYXRpYycgOiAnTWFudWFsJylcblx0XHR9XG5cdH1cblx0cmV0dXJuIChcblx0XHQ8VHIga2V5PXtrZXl9PlxuXHRcdFx0e2NlbGxzLm1hcCgodmFsdWUsIGkpID0+IChcblx0XHRcdFx0PFRkIGtleT17aX0+e3ZhbHVlfTwvVGQ+XG5cdFx0XHQpKX1cblx0XHQ8L1RyPlxuXHQpXG59XG5cbmV4cG9ydCBjb25zdCBFeHRlcm5hbEdyb3Vwc1RhYmxlOiBGdW5jdGlvbkNvbXBvbmVudDxFeHRlcm5hbEdyb3Vwc1RhYmxlUHJvcHM+ID0gKHtcblx0Z3JvdXAsXG5cdGV4dGVybmFsR3JvdXBzLFxuXHRoYXNHcmFkZVB1c2hFbmFibGVkLFxuXHRoYXNBbnlMdGlFeHRlcm5hbEdyb3VwLFxuXHRjYW5FZGl0RXh0ZXJuYWxHcm91cHMsXG5cdGdyb3VwVXNlclJvbGVzLFxuXHR1cGRhdGVFeHRlcm5hbEdyb3VwLFxuXHQuLi5vdGhlciAvLyBmb3IgcGFzc2luZyBhcmlhLWRlc2NyaWJlZGJ5IHRvIHRhYmxlc1xufSkgPT4gKFxuXHQ8ZGl2IGNsYXNzTmFtZT1cInRhYmxlLWNvbnRhaW5lclwiPlxuXHRcdDxUYWJsZSB7Li4ub3RoZXJ9IGNsYXNzTmFtZT1cInctMTAwIG1iNFwiPlxuXHRcdFx0PFRoZWFkPntyZW5kZXJUYWJsZUhlYWRlclJvdyhoYXNBbnlMdGlFeHRlcm5hbEdyb3VwLCBncm91cCwgaGFzR3JhZGVQdXNoRW5hYmxlZCl9PC9UaGVhZD5cblx0XHRcdDxUYm9keT5cblx0XHRcdFx0e2V4dGVybmFsR3JvdXBzLm1hcCgoZXh0ZXJuYWxHcm91cCwgaSkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IG93bmVyID1cblx0XHRcdFx0XHRcdGlzRW1wdHkoZ3JvdXApICYmICEhZ3JvdXBVc2VyUm9sZXNcblx0XHRcdFx0XHRcdFx0PyAoZ2V0TW9kZWxBcnJheShncm91cFVzZXJSb2xlcykuZmluZChcblx0XHRcdFx0XHRcdFx0XHRcdGd1ciA9PiBndXIudXNlcklkID09PSBleHRlcm5hbEdyb3VwLnVzZXJJZCAmJiBndXIucm9sZSA9PT0gQkFTRV9ST0xFLkdST1VQX09XTkVSXG5cdFx0XHRcdFx0XHRcdFx0KSBhcyBVc2VyIHwgdW5kZWZpbmVkKVxuXHRcdFx0XHRcdFx0XHQ6IChncm91cC5vd25lcnM/LmZpbmQobyA9PiBvLmlkID09PSBleHRlcm5hbEdyb3VwLnVzZXJJZCkgYXMgVXNlciB8IHVuZGVmaW5lZClcblx0XHRcdFx0XHRyZXR1cm4gcmVuZGVyVGFibGVCb2R5Um93KFxuXHRcdFx0XHRcdFx0aSxcblx0XHRcdFx0XHRcdGV4dGVybmFsR3JvdXAsXG5cdFx0XHRcdFx0XHRvd25lcixcblx0XHRcdFx0XHRcdGhhc0dyYWRlUHVzaEVuYWJsZWQsXG5cdFx0XHRcdFx0XHRoYXNBbnlMdGlFeHRlcm5hbEdyb3VwLFxuXHRcdFx0XHRcdFx0Y2FuRWRpdEV4dGVybmFsR3JvdXBzLFxuXHRcdFx0XHRcdFx0Z3JvdXAsXG5cdFx0XHRcdFx0XHR1cGRhdGVFeHRlcm5hbEdyb3VwXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHR9KX1cblx0XHRcdDwvVGJvZHk+XG5cdFx0PC9UYWJsZT5cblx0PC9kaXY+XG4pXG4iXSwibWFwcGluZ3MiOiI7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
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvR3JvdXBzL0dyb3VwQ3JlYXRlT3JFZGl0Q29tbW9uUHJvcHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTHRpTGF1bmNoIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBDcmVhdGVPckVkaXRDb21tb25Qcm9wcyB7XG5cdGx0aUxhdW5jaD86IEx0aUxhdW5jaFxuXHRzZXROZXdHcm91cElkPzogKGV4dGVybmFsR3JvdXBJZDogbnVtYmVyKSA9PiB2b2lkXG5cdG9uQ2FuY2VsPzogKCkgPT4gdm9pZFxufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
@@ -1,24 +1,143 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RosterSyncInfo = void 0;
4
- const tslib_1 = require("tslib");
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- const Button_1 = tslib_1.__importDefault(require("@material-ui/core/Button"));
7
- const Highlight_1 = tslib_1.__importDefault(require("@material-ui/icons/Highlight"));
8
- const react_1 = require("react");
9
- const react_bootstrap_1 = require("react-bootstrap");
10
- const configuration_1 = require("../../constants/configuration");
11
- const ConnectedModal_1 = tslib_1.__importDefault(require("../ConnectedModal"));
12
- const RosterSyncInfo = ({ hasLtiRosterSync }) => {
13
- const [isModalOpen, setIsModalOpen] = (0, react_1.useState)(false);
14
- const lmsName = (0, configuration_1.getAppConfig)().LMS_NAME;
15
- const title = `${hasLtiRosterSync ? `${lmsName} ` : ''}Roster Sync`;
16
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(Button_1.default, { color: "primary", className: "mb0 mr1-ns pv2 ph2 fr-ns btn-text", onClick: () => {
17
- setIsModalOpen(true);
18
- }, children: [(0, jsx_runtime_1.jsx)(Highlight_1.default, { className: "v-mid mr1" }), (0, jsx_runtime_1.jsx)("span", { className: "mb0 b", children: title })] }), (0, jsx_runtime_1.jsxs)(ConnectedModal_1.default, { show: isModalOpen, onHide: () => {
19
- setIsModalOpen(false);
20
- }, children: [(0, jsx_runtime_1.jsx)(react_bootstrap_1.Modal.Header, { closeButton: true, children: (0, jsx_runtime_1.jsx)(react_bootstrap_1.Modal.Title, { className: "f4", children: title }) }), (0, jsx_runtime_1.jsxs)(react_bootstrap_1.Modal.Body, { children: [(0, jsx_runtime_1.jsx)("h3", { children: "When is the roster synced?" }), (0, jsx_runtime_1.jsxs)("p", { children: ["The roster is synced nightly throughout the duration of the course. People are added and removed automatically as the", ' ', hasLtiRosterSync ? `roster changes in ${lmsName}` : 'external roster changes', "."] })] }), (0, jsx_runtime_1.jsx)(react_bootstrap_1.Modal.Footer, { children: (0, jsx_runtime_1.jsx)(Button_1.default, { color: "primary", className: "ma0 btn-primary", onClick: () => {
21
- setIsModalOpen(false);
22
- }, children: "Close" }) })] })] }));
1
+ import { c as _c } from "react-compiler-runtime";
2
+ import Button from '@material-ui/core/Button';
3
+ import IconHighlight from '@material-ui/icons/Highlight';
4
+ import { useState } from 'react';
5
+ import { Modal } from 'react-bootstrap';
6
+ import { getAppConfig } from '../../constants/configuration';
7
+ import ConnectedModal from '../ConnectedModal';
8
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
+ export const RosterSyncInfo = t0 => {
10
+ const $ = _c(19);
11
+ const {
12
+ hasLtiRosterSync
13
+ } = t0;
14
+ const [isModalOpen, setIsModalOpen] = useState(false);
15
+ let t1;
16
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
17
+ t1 = getAppConfig();
18
+ $[0] = t1;
19
+ } else {
20
+ t1 = $[0];
21
+ }
22
+ const lmsName = t1.LMS_NAME;
23
+ const title = `${hasLtiRosterSync ? `${lmsName} ` : ""}Roster Sync`;
24
+ let t2;
25
+ let t3;
26
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
27
+ t2 = () => {
28
+ setIsModalOpen(true);
29
+ };
30
+ t3 = /*#__PURE__*/_jsx(IconHighlight, {
31
+ className: "v-mid mr1"
32
+ });
33
+ $[1] = t2;
34
+ $[2] = t3;
35
+ } else {
36
+ t2 = $[1];
37
+ t3 = $[2];
38
+ }
39
+ let t4;
40
+ if ($[3] !== title) {
41
+ t4 = /*#__PURE__*/_jsxs(Button, {
42
+ color: "primary",
43
+ className: "mb0 mr1-ns pv2 ph2 fr-ns btn-text",
44
+ onClick: t2,
45
+ children: [t3, /*#__PURE__*/_jsx("span", {
46
+ className: "mb0 b",
47
+ children: title
48
+ })]
49
+ });
50
+ $[3] = title;
51
+ $[4] = t4;
52
+ } else {
53
+ t4 = $[4];
54
+ }
55
+ let t5;
56
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
57
+ t5 = () => {
58
+ setIsModalOpen(false);
59
+ };
60
+ $[5] = t5;
61
+ } else {
62
+ t5 = $[5];
63
+ }
64
+ let t6;
65
+ if ($[6] !== title) {
66
+ t6 = /*#__PURE__*/_jsx(Modal.Header, {
67
+ closeButton: true,
68
+ children: /*#__PURE__*/_jsx(Modal.Title, {
69
+ className: "f4",
70
+ children: title
71
+ })
72
+ });
73
+ $[6] = title;
74
+ $[7] = t6;
75
+ } else {
76
+ t6 = $[7];
77
+ }
78
+ let t7;
79
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
80
+ t7 = /*#__PURE__*/_jsx("h3", {
81
+ children: "When is the roster synced?"
82
+ });
83
+ $[8] = t7;
84
+ } else {
85
+ t7 = $[8];
86
+ }
87
+ const t8 = hasLtiRosterSync ? `roster changes in ${lmsName}` : "external roster changes";
88
+ let t9;
89
+ if ($[9] !== t8) {
90
+ t9 = /*#__PURE__*/_jsxs(Modal.Body, {
91
+ children: [t7, /*#__PURE__*/_jsxs("p", {
92
+ children: ["The roster is synced nightly throughout the duration of the course. People are added and removed automatically as the", " ", t8, "."]
93
+ })]
94
+ });
95
+ $[9] = t8;
96
+ $[10] = t9;
97
+ } else {
98
+ t9 = $[10];
99
+ }
100
+ let t10;
101
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
102
+ t10 = /*#__PURE__*/_jsx(Modal.Footer, {
103
+ children: /*#__PURE__*/_jsx(Button, {
104
+ color: "primary",
105
+ className: "ma0 btn-primary",
106
+ onClick: () => {
107
+ setIsModalOpen(false);
108
+ },
109
+ children: "Close"
110
+ })
111
+ });
112
+ $[11] = t10;
113
+ } else {
114
+ t10 = $[11];
115
+ }
116
+ let t11;
117
+ if ($[12] !== isModalOpen || $[13] !== t6 || $[14] !== t9) {
118
+ t11 = /*#__PURE__*/_jsxs(ConnectedModal, {
119
+ show: isModalOpen,
120
+ onHide: t5,
121
+ children: [t6, t9, t10]
122
+ });
123
+ $[12] = isModalOpen;
124
+ $[13] = t6;
125
+ $[14] = t9;
126
+ $[15] = t11;
127
+ } else {
128
+ t11 = $[15];
129
+ }
130
+ let t12;
131
+ if ($[16] !== t11 || $[17] !== t4) {
132
+ t12 = /*#__PURE__*/_jsxs(_Fragment, {
133
+ children: [t4, t11]
134
+ });
135
+ $[16] = t11;
136
+ $[17] = t4;
137
+ $[18] = t12;
138
+ } else {
139
+ t12 = $[18];
140
+ }
141
+ return t12;
23
142
  };
24
- exports.RosterSyncInfo = RosterSyncInfo;
143
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdXR0b24iLCJJY29uSGlnaGxpZ2h0IiwidXNlU3RhdGUiLCJNb2RhbCIsImdldEFwcENvbmZpZyIsIkNvbm5lY3RlZE1vZGFsIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiUm9zdGVyU3luY0luZm8iLCJ0MCIsIiQiLCJfYyIsImhhc0x0aVJvc3RlclN5bmMiLCJpc01vZGFsT3BlbiIsInNldElzTW9kYWxPcGVuIiwidDEiLCJTeW1ib2wiLCJmb3IiLCJsbXNOYW1lIiwiTE1TX05BTUUiLCJ0aXRsZSIsInQyIiwidDMiLCJjbGFzc05hbWUiLCJ0NCIsImNvbG9yIiwib25DbGljayIsImNoaWxkcmVuIiwidDUiLCJ0NiIsIkhlYWRlciIsImNsb3NlQnV0dG9uIiwiVGl0bGUiLCJ0NyIsInQ4IiwidDkiLCJCb2R5IiwidDEwIiwiRm9vdGVyIiwidDExIiwib25IaWRlIiwidDEyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvR3JvdXBzL1Jvc3RlclN5bmNJbmZvLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnV0dG9uIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0J1dHRvbidcbmltcG9ydCBJY29uSGlnaGxpZ2h0IGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9IaWdobGlnaHQnXG5pbXBvcnQgeyBGdW5jdGlvbkNvbXBvbmVudCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IE1vZGFsIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJ1xuaW1wb3J0IHsgZ2V0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbmZpZ3VyYXRpb24nXG5pbXBvcnQgQ29ubmVjdGVkTW9kYWwgZnJvbSAnLi4vQ29ubmVjdGVkTW9kYWwnXG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9zdGVyU3luY0luZm9Qcm9wcyB7XG5cdGhhc0x0aVJvc3RlclN5bmM/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBSb3N0ZXJTeW5jSW5mbzogRnVuY3Rpb25Db21wb25lbnQ8Um9zdGVyU3luY0luZm9Qcm9wcz4gPSAoeyBoYXNMdGlSb3N0ZXJTeW5jIH0pID0+IHtcblx0Y29uc3QgW2lzTW9kYWxPcGVuLCBzZXRJc01vZGFsT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcblx0Y29uc3QgbG1zTmFtZSA9IGdldEFwcENvbmZpZygpLkxNU19OQU1FXG5cdGNvbnN0IHRpdGxlID0gYCR7aGFzTHRpUm9zdGVyU3luYyA/IGAke2xtc05hbWV9IGAgOiAnJ31Sb3N0ZXIgU3luY2Bcblx0cmV0dXJuIChcblx0XHQ8PlxuXHRcdFx0PEJ1dHRvblxuXHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxuXHRcdFx0XHRjbGFzc05hbWU9XCJtYjAgbXIxLW5zIHB2MiBwaDIgZnItbnMgYnRuLXRleHRcIlxuXHRcdFx0XHRvbkNsaWNrPXsoKSA9PiB7XG5cdFx0XHRcdFx0c2V0SXNNb2RhbE9wZW4odHJ1ZSlcblx0XHRcdFx0fX0+XG5cdFx0XHRcdDxJY29uSGlnaGxpZ2h0IGNsYXNzTmFtZT1cInYtbWlkIG1yMVwiIC8+XG5cdFx0XHRcdDxzcGFuIGNsYXNzTmFtZT1cIm1iMCBiXCI+e3RpdGxlfTwvc3Bhbj5cblx0XHRcdDwvQnV0dG9uPlxuXHRcdFx0PENvbm5lY3RlZE1vZGFsXG5cdFx0XHRcdHNob3c9e2lzTW9kYWxPcGVufVxuXHRcdFx0XHRvbkhpZGU9eygpID0+IHtcblx0XHRcdFx0XHRzZXRJc01vZGFsT3BlbihmYWxzZSlcblx0XHRcdFx0fX0+XG5cdFx0XHRcdDxNb2RhbC5IZWFkZXIgY2xvc2VCdXR0b24+XG5cdFx0XHRcdFx0PE1vZGFsLlRpdGxlIGNsYXNzTmFtZT1cImY0XCI+e3RpdGxlfTwvTW9kYWwuVGl0bGU+XG5cdFx0XHRcdDwvTW9kYWwuSGVhZGVyPlxuXG5cdFx0XHRcdDxNb2RhbC5Cb2R5PlxuXHRcdFx0XHRcdDxoMz5XaGVuIGlzIHRoZSByb3N0ZXIgc3luY2VkPzwvaDM+XG5cdFx0XHRcdFx0PHA+XG5cdFx0XHRcdFx0XHRUaGUgcm9zdGVyIGlzIHN5bmNlZCBuaWdodGx5IHRocm91Z2hvdXQgdGhlIGR1cmF0aW9uIG9mIHRoZSBjb3Vyc2UuIFBlb3BsZSBhcmUgYWRkZWQgYW5kIHJlbW92ZWRcblx0XHRcdFx0XHRcdGF1dG9tYXRpY2FsbHkgYXMgdGhleycgJ31cblx0XHRcdFx0XHRcdHtoYXNMdGlSb3N0ZXJTeW5jID8gYHJvc3RlciBjaGFuZ2VzIGluICR7bG1zTmFtZX1gIDogJ2V4dGVybmFsIHJvc3RlciBjaGFuZ2VzJ30uXG5cdFx0XHRcdFx0PC9wPlxuXHRcdFx0XHQ8L01vZGFsLkJvZHk+XG5cblx0XHRcdFx0PE1vZGFsLkZvb3Rlcj5cblx0XHRcdFx0XHQ8QnV0dG9uXG5cdFx0XHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxuXHRcdFx0XHRcdFx0Y2xhc3NOYW1lPVwibWEwIGJ0bi1wcmltYXJ5XCJcblx0XHRcdFx0XHRcdG9uQ2xpY2s9eygpID0+IHtcblx0XHRcdFx0XHRcdFx0c2V0SXNNb2RhbE9wZW4oZmFsc2UpXG5cdFx0XHRcdFx0XHR9fT5cblx0XHRcdFx0XHRcdENsb3NlXG5cdFx0XHRcdFx0PC9CdXR0b24+XG5cdFx0XHRcdDwvTW9kYWwuRm9vdGVyPlxuXHRcdFx0PC9Db25uZWN0ZWRNb2RhbD5cblx0XHQ8Lz5cblx0KVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsTUFBTSxNQUFNLDBCQUEwQjtBQUM3QyxPQUFPQyxhQUFhLE1BQU0sOEJBQThCO0FBQ3hELFNBQTRCQyxRQUFRLFFBQVEsT0FBTztBQUNuRCxTQUFTQyxLQUFLLFFBQVEsaUJBQWlCO0FBQ3ZDLFNBQVNDLFlBQVksUUFBUSwrQkFBK0I7QUFDNUQsT0FBT0MsY0FBYyxNQUFNLG1CQUFtQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUEsRUFBQUMsUUFBQSxJQUFBQyxTQUFBO0FBTTlDLE9BQU8sTUFBTUMsY0FBc0QsR0FBR0MsRUFBQTtF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