studiokit-scaffolding-js 7.0.12-next.1.4 → 7.0.12-next.2.2
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 +170 -34
- package/lib/components/AlertDialog.js +133 -9
- package/lib/components/AlertWithIcon.js +92 -25
- package/lib/components/ConnectedModal.js +43 -13
- package/lib/components/Dropdowns/GroupsDropdown.js +69 -44
- package/lib/components/Dropdowns/ManagedNavDropdown.js +100 -67
- package/lib/components/Dropdowns/UserDropdown.js +111 -21
- package/lib/components/Dropdowns/index.js +27 -9
- package/lib/components/EntityOwnerList.js +52 -18
- package/lib/components/Error.js +106 -11
- package/lib/components/ErrorBoundary.js +134 -35
- package/lib/components/ErrorMessage.js +44 -9
- package/lib/components/Forms/DateField.js +61 -42
- package/lib/components/Forms/TimeField.js +81 -42
- package/lib/components/Forms/index.js +27 -4
- package/lib/components/Groups/CreateEditCopySaveButtons.js +114 -11
- package/lib/components/Groups/ExternalGroups/Attach.js +212 -148
- package/lib/components/Groups/ExternalGroups/Table.js +181 -45
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +5 -1
- package/lib/components/Groups/RosterSyncInfo.js +147 -20
- package/lib/components/HOC/AccessibleAppComponent.js +98 -73
- package/lib/components/HOC/ActivityRequiredComponent.js +92 -49
- package/lib/components/HOC/AsyncComponent.js +54 -39
- package/lib/components/HOC/AuthenticatedComponent.js +58 -38
- package/lib/components/HOC/CollectionComponent.js +170 -110
- package/lib/components/HOC/CollectionFirstItemComponent.js +51 -38
- package/lib/components/HOC/CollectionItemComponent.js +168 -106
- package/lib/components/HOC/ConnectedModalComponent.js +109 -80
- package/lib/components/HOC/DataDependentComponent.js +29 -21
- package/lib/components/HOC/EntityComponent.js +71 -57
- package/lib/components/HOC/FullscreenModalComponent.js +163 -123
- package/lib/components/HOC/GroupActivityRequiredComponent.js +45 -31
- package/lib/components/HOC/GuidComponent.js +29 -22
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +41 -31
- package/lib/components/HOC/ModelErrorRedirectComponent.js +51 -47
- package/lib/components/HOC/SearchPersistorComponent.js +240 -166
- package/lib/components/HOC/UnauthenticatedComponent.js +37 -25
- package/lib/components/HOC/UserComponent.js +12 -7
- package/lib/components/Icons/IconAlphaList.js +33 -5
- package/lib/components/Icons/IconExternalUser.js +33 -5
- package/lib/components/Icons/IconImpersonation.js +33 -5
- package/lib/components/Icons/IconStopImpersonating.js +33 -5
- package/lib/components/Icons/IconTable.js +35 -7
- package/lib/components/Icons/IconTableDeleteCol.js +33 -5
- package/lib/components/Icons/IconTableDeleteRow.js +33 -5
- package/lib/components/Icons/IconTableInsertCol.js +33 -5
- package/lib/components/Icons/IconTableInsertRow.js +33 -5
- package/lib/components/Impersonation/Button.js +77 -13
- package/lib/components/Impersonation/Link.js +77 -13
- package/lib/components/Impersonation/UserDetail.js +66 -9
- package/lib/components/Loading.js +26 -4
- package/lib/components/LockDownBrowser/Check.js +194 -49
- package/lib/components/LockDownBrowser/ExitButton.js +26 -9
- package/lib/components/LockDownBrowser/Launch.js +70 -62
- package/lib/components/Lti/Confirm.js +152 -11
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +170 -33
- package/lib/components/Lti/Launch.js +105 -24
- package/lib/components/Lti/LaunchGroup.js +85 -13
- package/lib/components/ManageTable.js +309 -87
- package/lib/components/ManageTableNoDataComponent.js +42 -4
- package/lib/components/NewVersionAlert.js +82 -46
- package/lib/components/NotFound.js +86 -10
- package/lib/components/Notifications.js +185 -126
- package/lib/components/PaginationNextButton.js +33 -6
- package/lib/components/PaginationPreviousButton.js +33 -6
- package/lib/components/Quill/CustomToolbar.js +432 -218
- package/lib/components/Quill/Formats/Image.js +73 -63
- package/lib/components/Quill/Formats/List.js +45 -45
- package/lib/components/Quill/Formats/Video.js +28 -24
- package/lib/components/Quill/ImageDropModule.js +147 -117
- package/lib/components/Quill/ImageWarning.js +47 -9
- package/lib/components/Quill/ImageWithAltTextModal.js +425 -86
- package/lib/components/Quill/Specs/CustomImageSpec.js +42 -34
- package/lib/components/Quill/Specs/CustomVideoSpec.js +34 -28
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +98 -98
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +52 -47
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +53 -48
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +224 -221
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +80 -83
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +75 -70
- package/lib/components/Quill/TableModule/constants.js +45 -41
- package/lib/components/Quill/TableModule/index.js +362 -301
- package/lib/components/Quill/TableModule/utils.js +42 -38
- package/lib/components/Quill/accessibilityFix.js +234 -232
- package/lib/components/Quill/index.js +34 -28
- package/lib/components/RefreshIndicator/Bordered.js +47 -6
- package/lib/components/RefreshIndicator/Inline.js +47 -8
- package/lib/components/RefreshIndicator/index.js +263 -59
- package/lib/components/SearchControls.js +216 -11
- package/lib/components/SentryRoute.js +11 -6
- package/lib/components/Tables/RoleFilter.js +69 -32
- package/lib/components/Tables/TextFilter.js +62 -13
- package/lib/components/UserRoles/Add.js +199 -96
- package/lib/components/UserRoles/Context.js +11 -7
- package/lib/components/UserRoles/RoleCell.js +181 -72
- package/lib/components/UserRoles/Select.js +157 -17
- package/lib/components/UserRoles/Table.js +221 -80
- package/lib/components/UserRoles/index.js +534 -384
- package/lib/config/eslint/index.js +32 -28
- package/lib/config/eslint/lib/order.js +26 -27
- package/lib/config/eslint/lib/prettier.js +20 -18
- package/lib/config/eslint/lib/typescript.js +93 -112
- package/lib/config/eslint/react.js +24 -14
- package/lib/constants/baseActivity.js +30 -26
- package/lib/constants/baseRole.js +14 -10
- package/lib/constants/configuration.js +33 -29
- package/lib/constants/externalProviderType.js +10 -6
- package/lib/constants/fetchErrorData.js +15 -11
- package/lib/constants/index.js +137 -14
- package/lib/constants/lockDownBrowser.js +28 -24
- package/lib/constants/mockData.js +382 -297
- package/lib/constants/modelStatus.js +15 -11
- package/lib/constants/notificationType.js +12 -8
- package/lib/constants/operatingSystem.js +12 -8
- package/lib/constants/shard.js +11 -7
- package/lib/constants/table.js +21 -21
- package/lib/constants/tier.js +12 -8
- package/lib/constants/userRole.js +15 -5
- package/lib/endpointMappings.js +197 -181
- package/lib/hooks/useCollection.js +82 -62
- package/lib/hooks/useCollectionConfiguration.js +228 -83
- package/lib/hooks/useCollectionItem.js +154 -54
- package/lib/hooks/useGuid.js +20 -8
- package/lib/hooks/usePrevious.js +19 -13
- package/lib/index.js +157 -25
- package/lib/redux/actionCreator.js +50 -28
- package/lib/redux/actions/AuthAction.js +44 -31
- package/lib/redux/actions/ModalAction.js +10 -6
- package/lib/redux/actions/ModelAction.js +77 -39
- package/lib/redux/actions/NotificationAction.js +10 -6
- package/lib/redux/actions/SearchAction.js +9 -5
- package/lib/redux/actions/index.js +60 -7
- package/lib/redux/configureReducers.js +60 -49
- package/lib/redux/configureStore.js +83 -87
- package/lib/redux/helpers.js +6 -2
- package/lib/redux/reducers/authReducer.js +50 -43
- package/lib/redux/reducers/index.js +41 -13
- package/lib/redux/reducers/modalsReducer.js +47 -29
- package/lib/redux/reducers/modelsReducer.js +178 -173
- package/lib/redux/reducers/notificationsReducer.js +24 -18
- package/lib/redux/reducers/searchReducer.js +25 -19
- package/lib/redux/sagas/appInsightsSaga.js +22 -18
- package/lib/redux/sagas/authSaga.js +253 -218
- package/lib/redux/sagas/caliperSaga.js +159 -143
- package/lib/redux/sagas/clockOffsetSaga.js +34 -31
- package/lib/redux/sagas/configurationSaga.js +11 -7
- package/lib/redux/sagas/downtimeApiErrorSaga.js +20 -17
- package/lib/redux/sagas/errorSaga.js +27 -21
- package/lib/redux/sagas/googleAnalyticsSaga.js +28 -24
- package/lib/redux/sagas/identityProviderSaga.js +22 -18
- package/lib/redux/sagas/initialDataLoadSaga.js +37 -28
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +29 -20
- package/lib/redux/sagas/modelFetchSaga.js +355 -322
- package/lib/redux/sagas/noStoreSaga.js +61 -48
- package/lib/redux/sagas/postLoginDataSaga.js +45 -34
- package/lib/redux/sagas/postLoginRedirectSaga.js +27 -27
- package/lib/redux/sagas/rootSaga.js +82 -57
- package/lib/redux/sagas/sentrySaga.js +29 -25
- package/lib/redux/sagas/userIdSaga.js +16 -12
- package/lib/services/codeProviderService.js +25 -19
- package/lib/services/dateService.js +12 -7
- package/lib/services/documentService.js +17 -12
- package/lib/services/fetchService.js +129 -112
- package/lib/services/persistenceService.js +33 -29
- package/lib/services/ticketProviderService.js +29 -23
- package/lib/services/tokenPersistenceService.js +12 -8
- package/lib/services/windowService.js +18 -14
- package/lib/startup.js +132 -114
- package/lib/types/AppConfiguration.js +5 -1
- package/lib/types/Artifact.js +11 -7
- package/lib/types/BaseReduxState.js +5 -1
- package/lib/types/Client.js +5 -1
- package/lib/types/Collection.js +5 -1
- package/lib/types/Configuration.js +5 -1
- package/lib/types/DeepLinkingResponseRequest.js +5 -1
- package/lib/types/DeletableModel.js +5 -1
- package/lib/types/Event.js +5 -1
- package/lib/types/ExternalGroup.js +5 -1
- package/lib/types/ExternalProvider.js +5 -1
- package/lib/types/ExternalTerm.js +5 -1
- package/lib/types/Group.js +5 -1
- package/lib/types/IdentityProvider.js +5 -1
- package/lib/types/LtiLaunch.js +5 -1
- package/lib/types/NameOnlyEntity.js +5 -1
- package/lib/types/Notification.js +5 -1
- package/lib/types/OptionalRecord.js +5 -1
- package/lib/types/OwnerSchedule.js +5 -1
- package/lib/types/PropertyOfType.js +5 -1
- package/lib/types/Quill.js +5 -1
- package/lib/types/RoleDescription.js +5 -1
- package/lib/types/Search.js +5 -1
- package/lib/types/SimpleLocation.js +5 -1
- package/lib/types/UniTime.js +5 -1
- package/lib/types/User.js +5 -1
- package/lib/types/UserRole.js +5 -1
- package/lib/types/auth/AuthState.js +5 -1
- package/lib/types/auth/CasV1LoginRequestBody.js +5 -1
- package/lib/types/auth/ClientCredentials.js +5 -1
- package/lib/types/auth/CodeProviderService.js +5 -1
- package/lib/types/auth/LocalLoginRequestBody.js +5 -1
- package/lib/types/auth/TicketProviderService.js +5 -1
- package/lib/types/auth/TokenPersistenceService.js +5 -1
- package/lib/types/auth/index.js +82 -9
- package/lib/types/externals.d.js +2 -0
- package/lib/types/index.js +313 -30
- package/lib/types/net/EndpointConfig.js +5 -1
- package/lib/types/net/EndpointMapping.js +5 -1
- package/lib/types/net/EndpointMappings.js +5 -1
- package/lib/types/net/ErrorHandler.js +5 -1
- package/lib/types/net/FetchConfig.js +5 -1
- package/lib/types/net/FetchErrorData.js +10 -6
- package/lib/types/net/FetchResult.js +5 -1
- package/lib/types/net/HTTPMethod.js +5 -1
- package/lib/types/net/HTTPStatusCode.js +16 -12
- package/lib/types/net/Metadata.js +5 -1
- package/lib/types/net/Model.js +5 -1
- package/lib/types/net/ModelCollection.js +5 -1
- package/lib/types/net/ModelsState.js +5 -1
- package/lib/types/net/OAuthToken.js +5 -1
- package/lib/types/net/OAuthTokenOrNull.js +5 -1
- package/lib/types/net/TokenAccessFunction.js +5 -1
- package/lib/types/net/index.js +181 -18
- package/lib/utils/baseActivity.js +133 -123
- package/lib/utils/baseRole.js +37 -33
- package/lib/utils/collection.js +425 -298
- package/lib/utils/cookies.js +22 -19
- package/lib/utils/date.js +303 -279
- package/lib/utils/dom.js +176 -165
- package/lib/utils/domainIdentifier.js +9 -5
- package/lib/utils/entityUserRole.js +6 -2
- package/lib/utils/error.js +17 -15
- package/lib/utils/events.js +40 -31
- package/lib/utils/externalGroup.js +22 -18
- package/lib/utils/externalProviders.js +8 -4
- package/lib/utils/externalTerms.js +10 -3
- package/lib/utils/fetch.js +179 -180
- package/lib/utils/group.js +18 -7
- package/lib/utils/groupDates.js +37 -33
- package/lib/utils/groupRoles.js +25 -21
- package/lib/utils/lockDownBrowser.js +15 -11
- package/lib/utils/logger.js +26 -22
- package/lib/utils/lti.js +9 -4
- package/lib/utils/model.js +36 -41
- package/lib/utils/number.js +21 -18
- package/lib/utils/promise.js +28 -21
- package/lib/utils/quill.js +65 -62
- package/lib/utils/route.js +58 -55
- package/lib/utils/search.js +76 -80
- package/lib/utils/shard.js +37 -37
- package/lib/utils/sort.js +50 -42
- package/lib/utils/string.js +13 -8
- package/lib/utils/table.js +38 -33
- package/lib/utils/timezone.js +10 -6
- package/lib/utils/url.js +142 -142
- package/lib/utils/user.js +58 -55
- package/lib/utils/userAgent.js +10 -10
- package/lib/utils/userRole.js +57 -49
- package/package.json +17 -3
package/lib/utils/user.js
CHANGED
|
@@ -1,67 +1,70 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.stopImpersonation = exports.startImpersonation = exports.filterUsersByRole = exports.displayNamePossessive = exports.displayName = exports.displayFirstNamePossessive = exports.displayFirstName = void 0;
|
|
7
|
+
var _constants = require("../constants");
|
|
8
|
+
var _actionCreator = require("../redux/actionCreator");
|
|
9
|
+
var _noStoreSaga = require("../redux/sagas/noStoreSaga");
|
|
10
|
+
var _fetch = require("./fetch");
|
|
11
|
+
const makePossessive = word => word.endsWith('s') ? `${word}’` : `${word}’s`;
|
|
12
|
+
const displayName = function (u) {
|
|
13
|
+
let shouldReverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
14
|
+
return !!u.firstName && !!u.lastName ? shouldReverse ? `${u.lastName}, ${u.firstName}` : `${u.firstName} ${u.lastName}` : u.email;
|
|
15
|
+
};
|
|
14
16
|
exports.displayName = displayName;
|
|
15
|
-
const displayNamePossessive =
|
|
17
|
+
const displayNamePossessive = u => !!u.firstName && !!u.lastName ? `${u.firstName} ${makePossessive(u.lastName)}` : `${u.email}’s`;
|
|
16
18
|
exports.displayNamePossessive = displayNamePossessive;
|
|
17
|
-
const displayFirstName =
|
|
19
|
+
const displayFirstName = u => u.firstName ? u.firstName : u.email;
|
|
18
20
|
exports.displayFirstName = displayFirstName;
|
|
19
|
-
const displayFirstNamePossessive =
|
|
21
|
+
const displayFirstNamePossessive = u => u.firstName ? makePossessive(u.firstName) : `${u.email}’s`;
|
|
20
22
|
exports.displayFirstNamePossessive = displayFirstNamePossessive;
|
|
21
|
-
const filterUsersByRole =
|
|
22
|
-
|
|
23
|
+
const filterUsersByRole = role => userRoles => {
|
|
24
|
+
return userRoles.filter(userRole => userRole.roles.some(r => r.role === role));
|
|
23
25
|
};
|
|
24
26
|
exports.filterUsersByRole = filterUsersByRole;
|
|
25
27
|
const startImpersonation = (guid, userId) => {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
28
|
+
(0, _noStoreSaga.registerNoStoreActionHook)(guid, data => {
|
|
29
|
+
(0, _noStoreSaga.unregisterNoStoreActionHook)(guid);
|
|
30
|
+
if (!data || (0, _fetch.isFetchErrorData)(data)) {
|
|
31
|
+
(0, _actionCreator.addNotification)({
|
|
32
|
+
text: data?.detail || 'Could not start impersonation',
|
|
33
|
+
type: _constants.NOTIFICATION_TYPE.ERROR
|
|
34
|
+
});
|
|
35
|
+
} else {
|
|
36
|
+
const response = data;
|
|
37
|
+
window.location.href = `/?code=${encodeURIComponent(response.code)}`;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
(0, _actionCreator.dispatchModelFetchRequest)({
|
|
41
|
+
modelName: 'startImpersonation',
|
|
42
|
+
noStore: true,
|
|
43
|
+
guid,
|
|
44
|
+
queryParams: {
|
|
45
|
+
userId
|
|
46
|
+
}
|
|
47
|
+
});
|
|
45
48
|
};
|
|
46
49
|
exports.startImpersonation = startImpersonation;
|
|
47
|
-
const stopImpersonation =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
});
|
|
50
|
+
const stopImpersonation = guid => {
|
|
51
|
+
(0, _noStoreSaga.registerNoStoreActionHook)(guid, data => {
|
|
52
|
+
(0, _noStoreSaga.unregisterNoStoreActionHook)(guid);
|
|
53
|
+
if (!data || (0, _fetch.isFetchErrorData)(data)) {
|
|
54
|
+
(0, _actionCreator.addNotification)({
|
|
55
|
+
text: data?.detail || 'Could not stop impersonation',
|
|
56
|
+
type: _constants.NOTIFICATION_TYPE.ERROR
|
|
57
|
+
});
|
|
58
|
+
} else {
|
|
59
|
+
const response = data;
|
|
60
|
+
window.location.href = `/?code=${encodeURIComponent(response.code)}`;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
(0, _actionCreator.dispatchModelFetchRequest)({
|
|
64
|
+
modelName: 'stopImpersonation',
|
|
65
|
+
noStore: true,
|
|
66
|
+
guid
|
|
67
|
+
});
|
|
66
68
|
};
|
|
67
69
|
exports.stopImpersonation = stopImpersonation;
|
|
70
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29uc3RhbnRzIiwicmVxdWlyZSIsIl9hY3Rpb25DcmVhdG9yIiwiX25vU3RvcmVTYWdhIiwiX2ZldGNoIiwibWFrZVBvc3Nlc3NpdmUiLCJ3b3JkIiwiZW5kc1dpdGgiLCJkaXNwbGF5TmFtZSIsInUiLCJzaG91bGRSZXZlcnNlIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiZmlyc3ROYW1lIiwibGFzdE5hbWUiLCJlbWFpbCIsImV4cG9ydHMiLCJkaXNwbGF5TmFtZVBvc3Nlc3NpdmUiLCJkaXNwbGF5Rmlyc3ROYW1lIiwiZGlzcGxheUZpcnN0TmFtZVBvc3Nlc3NpdmUiLCJmaWx0ZXJVc2Vyc0J5Um9sZSIsInJvbGUiLCJ1c2VyUm9sZXMiLCJmaWx0ZXIiLCJ1c2VyUm9sZSIsInJvbGVzIiwic29tZSIsInIiLCJzdGFydEltcGVyc29uYXRpb24iLCJndWlkIiwidXNlcklkIiwicmVnaXN0ZXJOb1N0b3JlQWN0aW9uSG9vayIsImRhdGEiLCJ1bnJlZ2lzdGVyTm9TdG9yZUFjdGlvbkhvb2siLCJpc0ZldGNoRXJyb3JEYXRhIiwiYWRkTm90aWZpY2F0aW9uIiwidGV4dCIsImRldGFpbCIsInR5cGUiLCJOT1RJRklDQVRJT05fVFlQRSIsIkVSUk9SIiwicmVzcG9uc2UiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJlbmNvZGVVUklDb21wb25lbnQiLCJjb2RlIiwiZGlzcGF0Y2hNb2RlbEZldGNoUmVxdWVzdCIsIm1vZGVsTmFtZSIsIm5vU3RvcmUiLCJxdWVyeVBhcmFtcyIsInN0b3BJbXBlcnNvbmF0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3VzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTk9USUZJQ0FUSU9OX1RZUEUgfSBmcm9tICcuLi9jb25zdGFudHMnXHJcbmltcG9ydCB7IGFkZE5vdGlmaWNhdGlvbiwgZGlzcGF0Y2hNb2RlbEZldGNoUmVxdWVzdCB9IGZyb20gJy4uL3JlZHV4L2FjdGlvbkNyZWF0b3InXHJcbmltcG9ydCB7IHJlZ2lzdGVyTm9TdG9yZUFjdGlvbkhvb2ssIHVucmVnaXN0ZXJOb1N0b3JlQWN0aW9uSG9vayB9IGZyb20gJy4uL3JlZHV4L3NhZ2FzL25vU3RvcmVTYWdhJ1xyXG5pbXBvcnQgeyBGZXRjaEVycm9yRGF0YSwgVXNlciwgVXNlcldpdGhSb2xlcyB9IGZyb20gJy4uL3R5cGVzJ1xyXG5pbXBvcnQgeyBpc0ZldGNoRXJyb3JEYXRhIH0gZnJvbSAnLi9mZXRjaCdcclxuXHJcbmNvbnN0IG1ha2VQb3NzZXNzaXZlID0gKHdvcmQ6IHN0cmluZykgPT4gKHdvcmQuZW5kc1dpdGgoJ3MnKSA/IGAke3dvcmR94oCZYCA6IGAke3dvcmR94oCZc2ApXHJcblxyXG5leHBvcnQgY29uc3QgZGlzcGxheU5hbWUgPSAodTogVXNlciwgc2hvdWxkUmV2ZXJzZSA9IGZhbHNlKSA9PlxyXG5cdCEhdS5maXJzdE5hbWUgJiYgISF1Lmxhc3ROYW1lXHJcblx0XHQ/IHNob3VsZFJldmVyc2VcclxuXHRcdFx0PyBgJHt1Lmxhc3ROYW1lfSwgJHt1LmZpcnN0TmFtZX1gXHJcblx0XHRcdDogYCR7dS5maXJzdE5hbWV9ICR7dS5sYXN0TmFtZX1gXHJcblx0XHQ6IHUuZW1haWxcclxuXHJcbmV4cG9ydCBjb25zdCBkaXNwbGF5TmFtZVBvc3Nlc3NpdmUgPSAodTogVXNlcikgPT5cclxuXHQhIXUuZmlyc3ROYW1lICYmICEhdS5sYXN0TmFtZSA/IGAke3UuZmlyc3ROYW1lfSAke21ha2VQb3NzZXNzaXZlKHUubGFzdE5hbWUpfWAgOiBgJHt1LmVtYWlsfeKAmXNgXHJcblxyXG5leHBvcnQgY29uc3QgZGlzcGxheUZpcnN0TmFtZSA9ICh1OiBVc2VyKSA9PiAodS5maXJzdE5hbWUgPyB1LmZpcnN0TmFtZSA6IHUuZW1haWwpXHJcblxyXG5leHBvcnQgY29uc3QgZGlzcGxheUZpcnN0TmFtZVBvc3Nlc3NpdmUgPSAodTogVXNlcikgPT4gKHUuZmlyc3ROYW1lID8gbWFrZVBvc3Nlc3NpdmUodS5maXJzdE5hbWUpIDogYCR7dS5lbWFpbH3igJlzYClcclxuXHJcbmV4cG9ydCBjb25zdCBmaWx0ZXJVc2Vyc0J5Um9sZSA9IChyb2xlOiBzdHJpbmcpID0+ICh1c2VyUm9sZXM6IFVzZXJXaXRoUm9sZXNbXSkgPT4ge1xyXG5cdHJldHVybiB1c2VyUm9sZXMuZmlsdGVyKHVzZXJSb2xlID0+IHVzZXJSb2xlLnJvbGVzLnNvbWUociA9PiByLnJvbGUgPT09IHJvbGUpKVxyXG59XHJcblxyXG5leHBvcnQgY29uc3Qgc3RhcnRJbXBlcnNvbmF0aW9uID0gKGd1aWQ6IHN0cmluZywgdXNlcklkOiBzdHJpbmcpID0+IHtcclxuXHRyZWdpc3Rlck5vU3RvcmVBY3Rpb25Ib29rKGd1aWQsIChkYXRhOiB7IGNvZGU6IHN0cmluZyB9IHwgRmV0Y2hFcnJvckRhdGEgfCBudWxsKSA9PiB7XHJcblx0XHR1bnJlZ2lzdGVyTm9TdG9yZUFjdGlvbkhvb2soZ3VpZClcclxuXHRcdGlmICghZGF0YSB8fCBpc0ZldGNoRXJyb3JEYXRhKGRhdGEpKSB7XHJcblx0XHRcdGFkZE5vdGlmaWNhdGlvbih7XHJcblx0XHRcdFx0dGV4dDogZGF0YT8uZGV0YWlsIHx8ICdDb3VsZCBub3Qgc3RhcnQgaW1wZXJzb25hdGlvbicsXHJcblx0XHRcdFx0dHlwZTogTk9USUZJQ0FUSU9OX1RZUEUuRVJST1JcclxuXHRcdFx0fSlcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGNvbnN0IHJlc3BvbnNlID0gZGF0YSBhcyB7IGNvZGU6IHN0cmluZyB9XHJcblx0XHRcdHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYC8/Y29kZT0ke2VuY29kZVVSSUNvbXBvbmVudChyZXNwb25zZS5jb2RlKX1gXHJcblx0XHR9XHJcblx0fSlcclxuXHJcblx0ZGlzcGF0Y2hNb2RlbEZldGNoUmVxdWVzdCh7XHJcblx0XHRtb2RlbE5hbWU6ICdzdGFydEltcGVyc29uYXRpb24nLFxyXG5cdFx0bm9TdG9yZTogdHJ1ZSxcclxuXHRcdGd1aWQsXHJcblx0XHRxdWVyeVBhcmFtczogeyB1c2VySWQgfVxyXG5cdH0pXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBzdG9wSW1wZXJzb25hdGlvbiA9IChndWlkOiBzdHJpbmcpID0+IHtcclxuXHRyZWdpc3Rlck5vU3RvcmVBY3Rpb25Ib29rKGd1aWQsIChkYXRhOiB7IGNvZGU6IHN0cmluZyB9IHwgRmV0Y2hFcnJvckRhdGEgfCBudWxsKSA9PiB7XHJcblx0XHR1bnJlZ2lzdGVyTm9TdG9yZUFjdGlvbkhvb2soZ3VpZClcclxuXHRcdGlmICghZGF0YSB8fCBpc0ZldGNoRXJyb3JEYXRhKGRhdGEpKSB7XHJcblx0XHRcdGFkZE5vdGlmaWNhdGlvbih7XHJcblx0XHRcdFx0dGV4dDogZGF0YT8uZGV0YWlsIHx8ICdDb3VsZCBub3Qgc3RvcCBpbXBlcnNvbmF0aW9uJyxcclxuXHRcdFx0XHR0eXBlOiBOT1RJRklDQVRJT05fVFlQRS5FUlJPUlxyXG5cdFx0XHR9KVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Y29uc3QgcmVzcG9uc2UgPSBkYXRhIGFzIHsgY29kZTogc3RyaW5nIH1cclxuXHRcdFx0d2luZG93LmxvY2F0aW9uLmhyZWYgPSBgLz9jb2RlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHJlc3BvbnNlLmNvZGUpfWBcclxuXHRcdH1cclxuXHR9KVxyXG5cclxuXHRkaXNwYXRjaE1vZGVsRmV0Y2hSZXF1ZXN0KHtcclxuXHRcdG1vZGVsTmFtZTogJ3N0b3BJbXBlcnNvbmF0aW9uJyxcclxuXHRcdG5vU3RvcmU6IHRydWUsXHJcblx0XHRndWlkXHJcblx0fSlcclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGNBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFlBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUVBLE1BQU1JLGNBQWMsR0FBSUMsSUFBWSxJQUFNQSxJQUFJLENBQUNDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FB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
|
package/lib/utils/userAgent.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
3
6
|
exports.getOperatingSystem = void 0;
|
|
4
|
-
|
|
7
|
+
var _operatingSystem = require("../constants/operatingSystem");
|
|
5
8
|
const getOperatingSystem = () => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
? operatingSystem_1.OPERATING_SYSTEM.MAC
|
|
11
|
-
: windowsPlatforms.test(userAgent)
|
|
12
|
-
? operatingSystem_1.OPERATING_SYSTEM.WINDOWS
|
|
13
|
-
: operatingSystem_1.OPERATING_SYSTEM.UNKNOWN;
|
|
9
|
+
const userAgent = window.navigator.userAgent.toLowerCase();
|
|
10
|
+
const macOSPlatforms = /(macintosh|macintel|macppc|mac68k|macos)/i;
|
|
11
|
+
const windowsPlatforms = /(win32|win64|windows|wince)/i;
|
|
12
|
+
return macOSPlatforms.test(userAgent) ? _operatingSystem.OPERATING_SYSTEM.MAC : windowsPlatforms.test(userAgent) ? _operatingSystem.OPERATING_SYSTEM.WINDOWS : _operatingSystem.OPERATING_SYSTEM.UNKNOWN;
|
|
14
13
|
};
|
|
15
14
|
exports.getOperatingSystem = getOperatingSystem;
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfb3BlcmF0aW5nU3lzdGVtIiwicmVxdWlyZSIsImdldE9wZXJhdGluZ1N5c3RlbSIsInVzZXJBZ2VudCIsIndpbmRvdyIsIm5hdmlnYXRvciIsInRvTG93ZXJDYXNlIiwibWFjT1NQbGF0Zm9ybXMiLCJ3aW5kb3dzUGxhdGZvcm1zIiwidGVzdCIsIk9QRVJBVElOR19TWVNURU0iLCJNQUMiLCJXSU5ET1dTIiwiVU5LTk9XTiIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdXNlckFnZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9QRVJBVElOR19TWVNURU0gfSBmcm9tICcuLi9jb25zdGFudHMvb3BlcmF0aW5nU3lzdGVtJ1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldE9wZXJhdGluZ1N5c3RlbSA9ICgpID0+IHtcclxuXHRjb25zdCB1c2VyQWdlbnQgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpXHJcblx0Y29uc3QgbWFjT1NQbGF0Zm9ybXMgPSAvKG1hY2ludG9zaHxtYWNpbnRlbHxtYWNwcGN8bWFjNjhrfG1hY29zKS9pXHJcblx0Y29uc3Qgd2luZG93c1BsYXRmb3JtcyA9IC8od2luMzJ8d2luNjR8d2luZG93c3x3aW5jZSkvaVxyXG5cclxuXHRyZXR1cm4gbWFjT1NQbGF0Zm9ybXMudGVzdCh1c2VyQWdlbnQpXHJcblx0XHQ/IE9QRVJBVElOR19TWVNURU0uTUFDXHJcblx0XHQ6IHdpbmRvd3NQbGF0Zm9ybXMudGVzdCh1c2VyQWdlbnQpXHJcblx0XHRcdD8gT1BFUkFUSU5HX1NZU1RFTS5XSU5ET1dTXHJcblx0XHRcdDogT1BFUkFUSU5HX1NZU1RFTS5VTktOT1dOXHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxnQkFBQSxHQUFBQyxPQUFBO0FBRU8sTUFBTUMsa0JBQWtCLEdBQUdBLENBQUEsS0FBTTtFQUN2QyxNQUFNQyxTQUFTLEdBQUdDLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDRixTQUFTLENBQUNHLFdBQVcsQ0FBQyxDQUFDO0VBQzFELE1BQU1DLGNBQWMsR0FBRywyQ0FBMkM7RUFDbEUsTUFBTUMsZ0JBQWdCLEdBQUcsOEJBQThCO0VBRXZELE9BQU9ELGNBQWMsQ0FBQ0UsSUFBSSxDQUFDTixTQUFTLENBQUMsR0FDbENPLGlDQUFnQixDQUFDQyxHQUFHLEdBQ3BCSCxnQkFBZ0IsQ0FBQ0MsSUFBSSxDQUFDTixTQUFTLENBQUMsR0FDL0JPLGlDQUFnQixDQUFDRSxPQUFPLEdBQ3hCRixpQ0FBZ0IsQ0FBQ0csT0FBTztBQUM3QixDQUFDO0FBQUFDLE9BQUEsQ0FBQVosa0JBQUEsR0FBQUEsa0JBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/lib/utils/userRole.js
CHANGED
|
@@ -1,62 +1,70 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.sortByRole = exports.sortByHighestAccessRole = exports.isExternal = exports.getUserId = exports.getRoleText = exports.convertToUserWithRoles = void 0;
|
|
7
|
+
var _baseRole = require("./baseRole");
|
|
8
|
+
/**
|
|
9
|
+
* Get the user id for a `userRole`, either a `UserRole` or `EntityUserRole`.
|
|
10
|
+
* @param userRole The user role
|
|
11
|
+
*/
|
|
12
|
+
const getUserId = userRole => Object.prototype.hasOwnProperty.call(userRole, 'userId') ? userRole.userId : userRole.id;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Get whether or not the `userRole` has a prop `isExternal` and it is `true`.
|
|
16
|
+
* @param userRole The user role
|
|
8
17
|
*/
|
|
9
|
-
const getUserId = (userRole) => Object.prototype.hasOwnProperty.call(userRole, 'userId') ? userRole.userId : userRole.id;
|
|
10
18
|
exports.getUserId = getUserId;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
19
|
+
const isExternal = userRole => Object.prototype.hasOwnProperty.call(userRole, 'isExternal') && userRole.isExternal === true;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Get the text for the given `userRole.role`. Defaults to using `textForBaseRole`.
|
|
23
|
+
* @param textForRole Override method for providing role text
|
|
14
24
|
*/
|
|
15
|
-
const isExternal = (userRole) => Object.prototype.hasOwnProperty.call(userRole, 'isExternal') && userRole.isExternal === true;
|
|
16
25
|
exports.isExternal = isExternal;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
26
|
+
const getRoleText = textForRole => a => textForRole ? textForRole(a.role) : (0, _baseRole.textForBaseRole)(a.role);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Sort the userRoles by role, using the provided `roles` order
|
|
30
|
+
* @param roles Roles ordered in descing access level
|
|
20
31
|
*/
|
|
21
|
-
const getRoleText = (textForRole) => (a) => textForRole ? textForRole(a.role) : (0, baseRole_1.textForBaseRole)(a.role);
|
|
22
32
|
exports.getRoleText = getRoleText;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
if (aIndex !== bIndex) {
|
|
31
|
-
return aIndex > bIndex ? 1 : -1;
|
|
32
|
-
}
|
|
33
|
-
return 0;
|
|
33
|
+
const sortByRole = roles => (a, b) => {
|
|
34
|
+
const aIndex = roles.indexOf(a.role);
|
|
35
|
+
const bIndex = roles.indexOf(b.role);
|
|
36
|
+
if (aIndex !== bIndex) {
|
|
37
|
+
return aIndex > bIndex ? 1 : -1;
|
|
38
|
+
}
|
|
39
|
+
return 0;
|
|
34
40
|
};
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Sort the users by role, using the provided `roles` order
|
|
38
|
-
* @param roles Roles ordered in descing access level
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Sort the users by role, using the provided `roles` order
|
|
44
|
+
* @param roles Roles ordered in descing access level
|
|
39
45
|
*/
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
exports.sortByRole = sortByRole;
|
|
47
|
+
const sortByHighestAccessRole = roles => (a, b) => {
|
|
48
|
+
const aRole = a.roles.sort(sortByRole(roles))[0].role;
|
|
49
|
+
const bRole = b.roles.sort(sortByRole(roles))[0].role;
|
|
50
|
+
const aIndex = roles.indexOf(aRole);
|
|
51
|
+
const bIndex = roles.indexOf(bRole);
|
|
52
|
+
if (aIndex !== bIndex) {
|
|
53
|
+
return aIndex > bIndex ? 1 : -1;
|
|
54
|
+
}
|
|
55
|
+
return 0;
|
|
49
56
|
};
|
|
50
57
|
exports.sortByHighestAccessRole = sortByHighestAccessRole;
|
|
51
|
-
const convertToUserWithRoles =
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
const convertToUserWithRoles = userRole => {
|
|
59
|
+
const userId = getUserId(userRole);
|
|
60
|
+
return {
|
|
61
|
+
id: userId,
|
|
62
|
+
firstName: userRole.firstName,
|
|
63
|
+
lastName: userRole.lastName,
|
|
64
|
+
email: userRole.email,
|
|
65
|
+
uid: userRole.uid,
|
|
66
|
+
roles: [userRole]
|
|
67
|
+
};
|
|
61
68
|
};
|
|
62
69
|
exports.convertToUserWithRoles = convertToUserWithRoles;
|
|
70
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYmFzZVJvbGUiLCJyZXF1aXJlIiwiZ2V0VXNlcklkIiwidXNlclJvbGUiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJ1c2VySWQiLCJpZCIsImV4cG9ydHMiLCJpc0V4dGVybmFsIiwiZ2V0Um9sZVRleHQiLCJ0ZXh0Rm9yUm9sZSIsImEiLCJyb2xlIiwidGV4dEZvckJhc2VSb2xlIiwic29ydEJ5Um9sZSIsInJvbGVzIiwiYiIsImFJbmRleCIsImluZGV4T2YiLCJiSW5kZXgiLCJzb3J0QnlIaWdoZXN0QWNjZXNzUm9sZSIsImFSb2xlIiwic29ydCIsImJSb2xlIiwiY29udmVydFRvVXNlcldpdGhSb2xlcyIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiZW1haWwiLCJ1aWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdXNlclJvbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlclJvbGUsIFVzZXJXaXRoUm9sZXMgfSBmcm9tICcuLi90eXBlcy9Vc2VyUm9sZSdcclxuaW1wb3J0IHsgdGV4dEZvckJhc2VSb2xlIH0gZnJvbSAnLi9iYXNlUm9sZSdcclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIHVzZXIgaWQgZm9yIGEgYHVzZXJSb2xlYCwgZWl0aGVyIGEgYFVzZXJSb2xlYCBvciBgRW50aXR5VXNlclJvbGVgLlxyXG4gKiBAcGFyYW0gdXNlclJvbGUgVGhlIHVzZXIgcm9sZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGdldFVzZXJJZCA9ICh1c2VyUm9sZTogVXNlclJvbGUpOiBzdHJpbmcgPT5cclxuXHRPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodXNlclJvbGUsICd1c2VySWQnKSA/ICh1c2VyUm9sZSBhcyBhbnkpLnVzZXJJZCA6IHVzZXJSb2xlLmlkXHJcblxyXG4vKipcclxuICogR2V0IHdoZXRoZXIgb3Igbm90IHRoZSBgdXNlclJvbGVgIGhhcyBhIHByb3AgYGlzRXh0ZXJuYWxgIGFuZCBpdCBpcyBgdHJ1ZWAuXHJcbiAqIEBwYXJhbSB1c2VyUm9sZSBUaGUgdXNlciByb2xlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNFeHRlcm5hbCA9ICh1c2VyUm9sZTogVXNlclJvbGUpOiBib29sZWFuID0+XHJcblx0T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHVzZXJSb2xlLCAnaXNFeHRlcm5hbCcpICYmICh1c2VyUm9sZSBhcyBhbnkpLmlzRXh0ZXJuYWwgPT09IHRydWVcclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIHRleHQgZm9yIHRoZSBnaXZlbiBgdXNlclJvbGUucm9sZWAuIERlZmF1bHRzIHRvIHVzaW5nIGB0ZXh0Rm9yQmFzZVJvbGVgLlxyXG4gKiBAcGFyYW0gdGV4dEZvclJvbGUgT3ZlcnJpZGUgbWV0aG9kIGZvciBwcm92aWRpbmcgcm9sZSB0ZXh0XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZ2V0Um9sZVRleHQgPSAodGV4dEZvclJvbGU/OiAocm9sZTogc3RyaW5nKSA9PiBzdHJpbmcpID0+IChhOiBVc2VyUm9sZSkgPT5cclxuXHR0ZXh0Rm9yUm9sZSA/IHRleHRGb3JSb2xlKGEucm9sZSkgOiB0ZXh0Rm9yQmFzZVJvbGUoYS5yb2xlKVxyXG5cclxuLyoqXHJcbiAqIFNvcnQgdGhlIHVzZXJSb2xlcyBieSByb2xlLCB1c2luZyB0aGUgcHJvdmlkZWQgYHJvbGVzYCBvcmRlclxyXG4gKiBAcGFyYW0gcm9sZXMgUm9sZXMgb3JkZXJlZCBpbiBkZXNjaW5nIGFjY2VzcyBsZXZlbFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHNvcnRCeVJvbGUgPSAocm9sZXM6IHN0cmluZ1tdKSA9PiAoYTogVXNlclJvbGUsIGI6IFVzZXJSb2xlKSA9PiB7XHJcblx0Y29uc3QgYUluZGV4ID0gcm9sZXMuaW5kZXhPZihhLnJvbGUpXHJcblx0Y29uc3QgYkluZGV4ID0gcm9sZXMuaW5kZXhPZihiLnJvbGUpXHJcblx0aWYgKGFJbmRleCAhPT0gYkluZGV4KSB7XHJcblx0XHRyZXR1cm4gYUluZGV4ID4gYkluZGV4ID8gMSA6IC0xXHJcblx0fVxyXG5cdHJldHVybiAwXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTb3J0IHRoZSB1c2VycyBieSByb2xlLCB1c2luZyB0aGUgcHJvdmlkZWQgYHJvbGVzYCBvcmRlclxyXG4gKiBAcGFyYW0gcm9sZXMgUm9sZXMgb3JkZXJlZCBpbiBkZXNjaW5nIGFjY2VzcyBsZXZlbFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHNvcnRCeUhpZ2hlc3RBY2Nlc3NSb2xlID0gKHJvbGVzOiBzdHJpbmdbXSkgPT4gKGE6IFVzZXJXaXRoUm9sZXMsIGI6IFVzZXJXaXRoUm9sZXMpID0+IHtcclxuXHRjb25zdCBhUm9sZSA9IGEucm9sZXMuc29ydChzb3J0QnlSb2xlKHJvbGVzKSlbMF0ucm9sZVxyXG5cdGNvbnN0IGJSb2xlID0gYi5yb2xlcy5zb3J0KHNvcnRCeVJvbGUocm9sZXMpKVswXS5yb2xlXHJcblx0Y29uc3QgYUluZGV4ID0gcm9sZXMuaW5kZXhPZihhUm9sZSlcclxuXHRjb25zdCBiSW5kZXggPSByb2xlcy5pbmRleE9mKGJSb2xlKVxyXG5cdGlmIChhSW5kZXggIT09IGJJbmRleCkge1xyXG5cdFx0cmV0dXJuIGFJbmRleCA+IGJJbmRleCA/IDEgOiAtMVxyXG5cdH1cclxuXHRyZXR1cm4gMFxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydFRvVXNlcldpdGhSb2xlcyA9IDxUVXNlclJvbGUgZXh0ZW5kcyBVc2VyUm9sZSA9IFVzZXJSb2xlPihcclxuXHR1c2VyUm9sZTogVFVzZXJSb2xlXHJcbik6IFVzZXJXaXRoUm9sZXM8VFVzZXJSb2xlPiA9PiB7XHJcblx0Y29uc3QgdXNlcklkID0gZ2V0VXNlcklkKHVzZXJSb2xlKVxyXG5cdHJldHVybiB7XHJcblx0XHRpZDogdXNlcklkLFxyXG5cdFx0Zmlyc3ROYW1lOiB1c2VyUm9sZS5maXJzdE5hbWUsXHJcblx0XHRsYXN0TmFtZTogdXNlclJvbGUubGFzdE5hbWUsXHJcblx0XHRlbWFpbDogdXNlclJvbGUuZW1haWwsXHJcblx0XHR1aWQ6IHVzZXJSb2xlLnVpZCxcclxuXHRcdHJvbGVzOiBbdXNlclJvbGVdXHJcblx0fVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsU0FBQSxHQUFBQyxPQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDTyxNQUFNQyxTQUFTLEdBQUlDLFFBQWtCLElBQzNDQyxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNKLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBSUEsUUFBUSxDQUFTSyxNQUFNLEdBQUdMLFFBQVEsQ0FBQ00sRUFBRTs7QUFFbEc7QUFDQTtBQUNBO0FBQ0E7QUFIQUMsT0FBQSxDQUFBUixTQUFBLEdBQUFBLFNBQUE7QUFJTyxNQUFNUyxVQUFVLEdBQUlSLFFBQWtCLElBQzVDQyxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNKLFFBQVEsRUFBRSxZQUFZLENBQUMsSUFBS0EsUUFBUSxDQUFTUSxVQUFVLEtBQUssSUFBSTs7QUFFdEc7QUFDQTtBQUNBO0FBQ0E7QUFIQUQsT0FBQSxDQUFBQyxVQUFBLEdBQUFBLFVBQUE7QUFJTyxNQUFNQyxXQUFXLEdBQUlDLFdBQXNDLElBQU1DLENBQVcsSUFDbEZELFdBQVcsR0FBR0EsV0FBVyxDQUFDQyxDQUFDLENBQUNDLElBQUksQ0FBQyxHQUFHLElBQUFDLHlCQUFlLEVBQUNGLENBQUMsQ0FBQ0MsSUFBSSxDQUFDOztBQUU1RDtBQUNBO0FBQ0E7QUFDQTtBQUhBTCxPQUFBLENBQUFFLFdBQUEsR0FBQUEsV0FBQTtBQUlPLE1BQU1LLFVBQVUsR0FBSUMsS0FBZSxJQUFLLENBQUNKLENBQVcsRUFBRUssQ0FBVyxLQUFLO0VBQzVFLE1BQU1DLE1BQU0sR0FBR0YsS0FBSyxDQUFDRyxPQUFPLENBQUNQLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO0VBQ3BDLE1BQU1PLE1BQU0sR0FBR0osS0FBSyxDQUFDRyxPQUFPLENBQUNGLENBQUMsQ0FBQ0osSUFBSSxDQUFDO0VBQ3BDLElBQUlLLE1BQU0sS0FBS0UsTUFBTSxFQUFFO0lBQ3RCLE9BQU9GLE1BQU0sR0FBR0UsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDaEM7RUFDQSxPQUFPLENBQUM7QUFDVCxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBSEFaLE9BQUEsQ0FBQU8sVUFBQSxHQUFBQSxVQUFBO0FBSU8sTUFBTU0sdUJBQXVCLEdBQUlMLEtBQWUsSUFBSyxDQUFDSixDQUFnQixFQUFFSyxDQUFnQixLQUFLO0VBQ25HLE1BQU1LLEtBQUssR0FBR1YsQ0FBQyxDQUFDSSxLQUFLLENBQUNPLElBQUksQ0FBQ1IsVUFBVSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDSCxJQUFJO0VBQ3JELE1BQU1XLEtBQUssR0FBR1AsQ0FBQyxDQUFDRCxLQUFLLENBQUNPLElBQUksQ0FBQ1IsVUFBVSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDSCxJQUFJO0VBQ3JELE1BQU1LLE1BQU0sR0FBR0YsS0FBSyxDQUFDRyxPQUFPLENBQUNHLEtBQUssQ0FBQztFQUNuQyxNQUFNRixNQUFNLEdBQUdKLEtBQUssQ0FBQ0csT0FBTyxDQUFDSyxLQUFLLENBQUM7RUFDbkMsSUFBSU4sTUFBTSxLQUFLRSxNQUFNLEVBQUU7SUFDdEIsT0FBT0YsTUFBTSxHQUFHRSxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNoQztFQUNBLE9BQU8sQ0FBQztBQUNULENBQUM7QUFBQVosT0FBQSxDQUFBYSx1QkFBQSxHQUFBQSx1QkFBQTtBQUVNLE1BQU1JLHNCQUFzQixHQUNsQ3hCLFFBQW1CLElBQ1c7RUFDOUIsTUFBTUssTUFBTSxHQUFHTixTQUFTLENBQUNDLFFBQVEsQ0FBQztFQUNsQyxPQUFPO0lBQ05NLEVBQUUsRUFBRUQsTUFBTTtJQUNWb0IsU0FBUyxFQUFFekIsUUFBUSxDQUFDeUIsU0FBUztJQUM3QkMsUUFBUSxFQUFFMUIsUUFBUSxDQUFDMEIsUUFBUTtJQUMzQkMsS0FBSyxFQUFFM0IsUUFBUSxDQUFDMkIsS0FBSztJQUNyQkMsR0FBRyxFQUFFNUIsUUFBUSxDQUFDNEIsR0FBRztJQUNqQmIsS0FBSyxFQUFFLENBQUNmLFFBQVE7RUFDakIsQ0FBQztBQUNGLENBQUM7QUFBQU8sT0FBQSxDQUFBaUIsc0JBQUEsR0FBQUEsc0JBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "studiokit-scaffolding-js",
|
|
3
|
-
"version": "7.0.12-next.
|
|
3
|
+
"version": "7.0.12-next.2.2",
|
|
4
4
|
"description": "Common scaffolding for Studio apps at Purdue",
|
|
5
5
|
"repository": "https://gitlab.com/purdue-informatics/studiokit/studiokit-scaffolding-js",
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,8 +10,9 @@
|
|
|
10
10
|
"lib"
|
|
11
11
|
],
|
|
12
12
|
"scripts": {
|
|
13
|
-
"build": "yarn clean && tsc -p ./tsconfig.build.json && yarn copy",
|
|
14
|
-
"build:
|
|
13
|
+
"build": "yarn clean && tsc -p ./tsconfig.build.json && yarn build:babel && yarn copy",
|
|
14
|
+
"build:babel": "yarn babel src --extensions \".ts,.tsx,.js,.jsx\" --out-dir lib --ignore \"**/*.test.ts,**/*.test.tsx,src/setupTests.ts\" --source-maps inline",
|
|
15
|
+
"typecheck": "tsc -p ./tsconfig.build.json --noEmit",
|
|
15
16
|
"clean": "rimraf ./lib",
|
|
16
17
|
"copy": "copyfiles -u 1 \"src/**/*.css\" lib && copyfiles lib",
|
|
17
18
|
"coverage": "jest --coverage",
|
|
@@ -92,6 +93,7 @@
|
|
|
92
93
|
"set-value": "^2.0.1"
|
|
93
94
|
},
|
|
94
95
|
"dependencies": {
|
|
96
|
+
"@babel/runtime": "^7.28.4",
|
|
95
97
|
"@material-ui/core": "^4.12.4",
|
|
96
98
|
"@material-ui/icons": "^4.11.3",
|
|
97
99
|
"@material-ui/lab": "^4.0.0-alpha.57",
|
|
@@ -128,6 +130,7 @@
|
|
|
128
130
|
"quill": "^1.3.7",
|
|
129
131
|
"quill-blot-formatter": "purdue-tlt/quill-blot-formatter#a01562a213eb615abcdf2963457890e81ebc1ab3",
|
|
130
132
|
"react-bootstrap": "^1.6.8",
|
|
133
|
+
"react-compiler-runtime": "^1.0.0",
|
|
131
134
|
"react-ga4": "^2.1.0",
|
|
132
135
|
"react-helmet": "^6.1.0",
|
|
133
136
|
"react-modal": "^3.16.3",
|
|
@@ -149,8 +152,18 @@
|
|
|
149
152
|
"uuid": "^11.1.0"
|
|
150
153
|
},
|
|
151
154
|
"devDependencies": {
|
|
155
|
+
"@babel/cli": "^7.28.3",
|
|
156
|
+
"@babel/core": "^7.28.4",
|
|
157
|
+
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
158
|
+
"@babel/plugin-transform-runtime": "^7.28.3",
|
|
159
|
+
"@babel/preset-env": "^7.28.3",
|
|
160
|
+
"@babel/preset-react": "^7.27.1",
|
|
161
|
+
"@babel/preset-typescript": "^7.27.1",
|
|
152
162
|
"@eslint/js": "^9.38.0",
|
|
153
163
|
"@redux-saga/testing-utils": "^1.1.5",
|
|
164
|
+
"@types/babel__core": "^7",
|
|
165
|
+
"@types/babel__plugin-transform-runtime": "^7",
|
|
166
|
+
"@types/babel__preset-env": "^7",
|
|
154
167
|
"@types/enzyme": "^3.10.19",
|
|
155
168
|
"@types/enzyme-adapter-react-16": "^1.0.9",
|
|
156
169
|
"@types/jest": "^30.0.0",
|
|
@@ -159,6 +172,7 @@
|
|
|
159
172
|
"@types/react": "^17.0.89",
|
|
160
173
|
"@typescript-eslint/parser": "^8.46.1",
|
|
161
174
|
"@wojtekmaj/enzyme-adapter-react-17": "^0.8.0",
|
|
175
|
+
"babel-plugin-react-compiler": "^1.0.0",
|
|
162
176
|
"copyfiles": "^2.4.1",
|
|
163
177
|
"cross-env": "^7.0.3",
|
|
164
178
|
"enzyme": "^3.11.0",
|