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.
- package/lib/components/ActionList.js +164 -37
- package/lib/components/AlertDialog.js +128 -12
- package/lib/components/AlertWithIcon.js +88 -29
- package/lib/components/ConnectedModal.js +35 -12
- package/lib/components/Dropdowns/GroupsDropdown.js +63 -45
- package/lib/components/Dropdowns/ManagedNavDropdown.js +92 -67
- package/lib/components/Dropdowns/UserDropdown.js +105 -24
- package/lib/components/Dropdowns/index.js +4 -10
- package/lib/components/EntityOwnerList.js +47 -21
- package/lib/components/Error.js +101 -12
- package/lib/components/ErrorBoundary.js +127 -38
- package/lib/components/ErrorMessage.js +39 -12
- package/lib/components/Forms/DateField.js +56 -45
- package/lib/components/Forms/TimeField.js +76 -45
- package/lib/components/Forms/index.js +3 -5
- package/lib/components/Groups/CreateEditCopySaveButtons.js +109 -14
- package/lib/components/Groups/ExternalGroups/Attach.js +206 -151
- package/lib/components/Groups/ExternalGroups/Table.js +176 -48
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
- package/lib/components/Groups/RosterSyncInfo.js +142 -23
- package/lib/components/HOC/AccessibleAppComponent.js +88 -72
- package/lib/components/HOC/ActivityRequiredComponent.js +68 -33
- package/lib/components/HOC/AsyncComponent.js +49 -41
- package/lib/components/HOC/AuthenticatedComponent.js +55 -44
- package/lib/components/HOC/CollectionComponent.js +154 -104
- package/lib/components/HOC/CollectionFirstItemComponent.js +45 -40
- package/lib/components/HOC/CollectionItemComponent.js +152 -100
- package/lib/components/HOC/ConnectedModalComponent.js +87 -69
- package/lib/components/HOC/DataDependentComponent.js +26 -27
- package/lib/components/HOC/EntityComponent.js +57 -53
- package/lib/components/HOC/FullscreenModalComponent.js +139 -108
- package/lib/components/HOC/GroupActivityRequiredComponent.js +27 -20
- package/lib/components/HOC/GuidComponent.js +20 -20
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +32 -29
- package/lib/components/HOC/ModelErrorRedirectComponent.js +37 -39
- package/lib/components/HOC/SearchPersistorComponent.js +237 -173
- package/lib/components/HOC/UnauthenticatedComponent.js +32 -30
- package/lib/components/HOC/UserComponent.js +6 -8
- package/lib/components/Icons/IconAlphaList.js +28 -8
- package/lib/components/Icons/IconExternalUser.js +28 -8
- package/lib/components/Icons/IconImpersonation.js +28 -8
- package/lib/components/Icons/IconStopImpersonating.js +28 -8
- package/lib/components/Icons/IconTable.js +29 -9
- package/lib/components/Icons/IconTableDeleteCol.js +28 -8
- package/lib/components/Icons/IconTableDeleteRow.js +28 -8
- package/lib/components/Icons/IconTableInsertCol.js +28 -8
- package/lib/components/Icons/IconTableInsertRow.js +28 -8
- package/lib/components/Impersonation/Button.js +71 -16
- package/lib/components/Impersonation/Link.js +72 -16
- package/lib/components/Impersonation/UserDetail.js +60 -11
- package/lib/components/Loading.js +23 -8
- package/lib/components/LockDownBrowser/Check.js +188 -51
- package/lib/components/LockDownBrowser/ExitButton.js +22 -13
- package/lib/components/LockDownBrowser/Launch.js +64 -64
- package/lib/components/Lti/Confirm.js +147 -14
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +165 -36
- package/lib/components/Lti/Launch.js +99 -25
- package/lib/components/Lti/LaunchGroup.js +81 -16
- package/lib/components/ManageTable.js +304 -90
- package/lib/components/ManageTableNoDataComponent.js +38 -7
- package/lib/components/NewVersionAlert.js +76 -49
- package/lib/components/NotFound.js +81 -11
- package/lib/components/Notifications.js +179 -129
- package/lib/components/PaginationNextButton.js +28 -9
- package/lib/components/PaginationPreviousButton.js +28 -9
- package/lib/components/Quill/CustomToolbar.js +427 -222
- package/lib/components/Quill/Formats/Image.js +67 -67
- package/lib/components/Quill/Formats/List.js +38 -47
- package/lib/components/Quill/Formats/Video.js +23 -26
- package/lib/components/Quill/ImageDropModule.js +136 -114
- package/lib/components/Quill/ImageWarning.js +41 -12
- package/lib/components/Quill/ImageWithAltTextModal.js +420 -89
- package/lib/components/Quill/Specs/CustomImageSpec.js +32 -31
- package/lib/components/Quill/Specs/CustomVideoSpec.js +22 -23
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +89 -97
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +47 -50
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +48 -51
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +219 -224
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +75 -86
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +70 -73
- package/lib/components/Quill/TableModule/constants.js +40 -42
- package/lib/components/Quill/TableModule/index.js +357 -305
- package/lib/components/Quill/TableModule/utils.js +39 -48
- package/lib/components/Quill/accessibilityFix.js +219 -223
- package/lib/components/Quill/index.js +30 -33
- package/lib/components/RefreshIndicator/Bordered.js +44 -10
- package/lib/components/RefreshIndicator/Inline.js +43 -12
- package/lib/components/RefreshIndicator/index.js +257 -62
- package/lib/components/SearchControls.js +211 -14
- package/lib/components/SentryRoute.js +5 -7
- package/lib/components/Tables/RoleFilter.js +66 -38
- package/lib/components/Tables/TextFilter.js +58 -18
- package/lib/components/UserRoles/Add.js +193 -99
- package/lib/components/UserRoles/Context.js +3 -6
- package/lib/components/UserRoles/RoleCell.js +176 -75
- package/lib/components/UserRoles/Select.js +151 -20
- package/lib/components/UserRoles/Table.js +215 -82
- package/lib/components/UserRoles/index.js +526 -386
- package/lib/config/eslint/index.js +26 -29
- package/lib/config/eslint/lib/order.js +21 -28
- package/lib/config/eslint/lib/prettier.js +15 -19
- package/lib/config/eslint/lib/typescript.js +87 -113
- package/lib/config/eslint/react.js +18 -15
- package/lib/constants/baseActivity.js +26 -28
- package/lib/constants/baseRole.js +10 -12
- package/lib/constants/configuration.js +43 -55
- package/lib/constants/externalProviderType.js +6 -8
- package/lib/constants/fetchErrorData.js +10 -12
- package/lib/constants/index.js +13 -15
- package/lib/constants/lockDownBrowser.js +23 -25
- package/lib/constants/mockData.js +370 -300
- package/lib/constants/modelStatus.js +11 -13
- package/lib/constants/notificationType.js +8 -10
- package/lib/constants/operatingSystem.js +8 -10
- package/lib/constants/shard.js +7 -9
- package/lib/constants/table.js +18 -22
- package/lib/constants/tier.js +8 -10
- package/lib/constants/userRole.js +11 -8
- package/lib/endpointMappings.js +191 -182
- package/lib/hooks/useCollection.js +79 -65
- package/lib/hooks/useCollectionConfiguration.js +220 -80
- package/lib/hooks/useCollectionItem.js +151 -57
- package/lib/hooks/useGuid.js +16 -9
- package/lib/hooks/usePrevious.js +14 -13
- package/lib/index.js +11 -26
- package/lib/redux/actionCreator.js +44 -35
- package/lib/redux/actions/AuthAction.js +45 -32
- package/lib/redux/actions/ModalAction.js +6 -8
- package/lib/redux/actions/ModelAction.js +95 -43
- package/lib/redux/actions/NotificationAction.js +6 -8
- package/lib/redux/actions/SearchAction.js +5 -7
- package/lib/redux/actions/index.js +6 -8
- package/lib/redux/configureReducers.js +48 -46
- package/lib/redux/configureStore.js +77 -91
- package/lib/redux/helpers.js +2 -5
- package/lib/redux/reducers/authReducer.js +44 -43
- package/lib/redux/reducers/index.js +7 -14
- package/lib/redux/reducers/modalsReducer.js +43 -31
- package/lib/redux/reducers/modelsReducer.js +131 -137
- package/lib/redux/reducers/notificationsReducer.js +20 -20
- package/lib/redux/reducers/searchReducer.js +13 -13
- package/lib/redux/sagas/appInsightsSaga.js +19 -21
- package/lib/redux/sagas/authSaga.js +248 -234
- package/lib/redux/sagas/caliperSaga.js +142 -131
- package/lib/redux/sagas/clockOffsetSaga.js +29 -32
- package/lib/redux/sagas/configurationSaga.js +8 -10
- package/lib/redux/sagas/downtimeApiErrorSaga.js +16 -19
- package/lib/redux/sagas/errorSaga.js +23 -24
- package/lib/redux/sagas/googleAnalyticsSaga.js +24 -27
- package/lib/redux/sagas/identityProviderSaga.js +19 -21
- package/lib/redux/sagas/initialDataLoadSaga.js +34 -31
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +25 -22
- package/lib/redux/sagas/modelFetchSaga.js +302 -286
- package/lib/redux/sagas/noStoreSaga.js +60 -61
- package/lib/redux/sagas/postLoginDataSaga.js +37 -32
- package/lib/redux/sagas/postLoginRedirectSaga.js +22 -27
- package/lib/redux/sagas/rootSaga.js +77 -60
- package/lib/redux/sagas/sentrySaga.js +25 -28
- package/lib/redux/sagas/userIdSaga.js +13 -15
- package/lib/services/codeProviderService.js +21 -21
- package/lib/services/dateService.js +6 -8
- package/lib/services/documentService.js +10 -11
- package/lib/services/fetchService.js +103 -95
- package/lib/services/persistenceService.js +27 -30
- package/lib/services/ticketProviderService.js +25 -25
- package/lib/services/tokenPersistenceService.js +8 -10
- package/lib/services/windowService.js +14 -16
- package/lib/startup.js +110 -101
- package/lib/types/AppConfiguration.js +2 -2
- package/lib/types/Artifact.js +7 -9
- package/lib/types/BaseReduxState.js +2 -2
- package/lib/types/Client.js +2 -2
- package/lib/types/Collection.js +2 -2
- package/lib/types/Configuration.js +2 -2
- package/lib/types/DeepLinkingResponseRequest.js +2 -2
- package/lib/types/DeletableModel.js +2 -2
- package/lib/types/Event.js +2 -2
- package/lib/types/ExternalGroup.js +2 -2
- package/lib/types/ExternalProvider.js +2 -2
- package/lib/types/ExternalTerm.js +2 -2
- package/lib/types/Group.js +2 -2
- package/lib/types/IdentityProvider.js +2 -2
- package/lib/types/LtiLaunch.js +2 -2
- package/lib/types/NameOnlyEntity.js +2 -2
- package/lib/types/Notification.js +2 -2
- package/lib/types/OptionalRecord.js +2 -2
- package/lib/types/OwnerSchedule.js +2 -2
- package/lib/types/PropertyOfType.js +2 -2
- package/lib/types/Quill.js +2 -2
- package/lib/types/RoleDescription.js +2 -2
- package/lib/types/Search.js +2 -2
- package/lib/types/SimpleLocation.js +2 -2
- package/lib/types/UniTime.js +2 -2
- package/lib/types/User.js +2 -2
- package/lib/types/UserRole.js +2 -2
- package/lib/types/auth/AuthState.js +2 -2
- package/lib/types/auth/CasV1LoginRequestBody.js +2 -2
- package/lib/types/auth/ClientCredentials.js +2 -2
- package/lib/types/auth/CodeProviderService.js +2 -2
- package/lib/types/auth/LocalLoginRequestBody.js +2 -2
- package/lib/types/auth/TicketProviderService.js +2 -2
- package/lib/types/auth/TokenPersistenceService.js +2 -2
- package/lib/types/auth/index.js +8 -10
- package/lib/types/externals.d.js +2 -0
- package/lib/types/index.js +29 -31
- package/lib/types/net/EndpointConfig.js +2 -2
- package/lib/types/net/EndpointMapping.js +2 -2
- package/lib/types/net/EndpointMappings.js +2 -2
- package/lib/types/net/ErrorHandler.js +2 -2
- package/lib/types/net/FetchConfig.js +2 -2
- package/lib/types/net/FetchErrorData.js +6 -8
- package/lib/types/net/FetchResult.js +2 -2
- package/lib/types/net/HTTPMethod.js +2 -2
- package/lib/types/net/HTTPStatusCode.js +12 -14
- package/lib/types/net/Metadata.js +2 -2
- package/lib/types/net/Model.js +2 -2
- package/lib/types/net/ModelCollection.js +2 -2
- package/lib/types/net/ModelsState.js +2 -2
- package/lib/types/net/OAuthToken.js +2 -2
- package/lib/types/net/OAuthTokenOrNull.js +2 -2
- package/lib/types/net/TokenAccessFunction.js +2 -2
- package/lib/types/net/index.js +17 -19
- package/lib/utils/baseActivity.js +83 -85
- package/lib/utils/baseRole.js +32 -36
- package/lib/utils/collection.js +403 -297
- package/lib/utils/cookies.js +19 -23
- package/lib/utils/date.js +188 -205
- package/lib/utils/dom.js +130 -131
- package/lib/utils/domainIdentifier.js +4 -8
- package/lib/utils/entityUserRole.js +2 -5
- package/lib/utils/error.js +14 -19
- package/lib/utils/events.js +32 -31
- package/lib/utils/externalGroup.js +20 -25
- package/lib/utils/externalProviders.js +4 -7
- package/lib/utils/externalTerms.js +6 -6
- package/lib/utils/fetch.js +168 -176
- package/lib/utils/group.js +14 -11
- package/lib/utils/groupDates.js +38 -46
- package/lib/utils/groupRoles.js +23 -32
- package/lib/utils/lockDownBrowser.js +12 -15
- package/lib/utils/logger.js +23 -28
- package/lib/utils/lti.js +4 -7
- package/lib/utils/model.js +28 -43
- package/lib/utils/number.js +9 -13
- package/lib/utils/promise.js +23 -26
- package/lib/utils/quill.js +55 -60
- package/lib/utils/route.js +52 -60
- package/lib/utils/search.js +72 -87
- package/lib/utils/shard.js +33 -42
- package/lib/utils/sort.js +47 -50
- package/lib/utils/string.js +10 -12
- package/lib/utils/table.js +29 -33
- package/lib/utils/timezone.js +7 -12
- package/lib/utils/url.js +130 -144
- package/lib/utils/user.js +54 -64
- package/lib/utils/userAgent.js +7 -14
- package/lib/utils/userRole.js +36 -39
- package/package.json +17 -3
|
@@ -1,54 +1,182 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
-
|
|
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 =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
2
|
-
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvR3JvdXBzL0dyb3VwQ3JlYXRlT3JFZGl0Q29tbW9uUHJvcHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTHRpTGF1bmNoIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBDcmVhdGVPckVkaXRDb21tb25Qcm9wcyB7XG5cdGx0aUxhdW5jaD86IEx0aUxhdW5jaFxuXHRzZXROZXdHcm91cElkPzogKGV4dGVybmFsR3JvdXBJZDogbnVtYmVyKSA9PiB2b2lkXG5cdG9uQ2FuY2VsPzogKCkgPT4gdm9pZFxufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,24 +1,143 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
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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
|