studiokit-scaffolding-js 4.3.21 → 4.3.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +127 -127
- package/lib/components/ActionList.d.ts +20 -20
- package/lib/components/ActionList.js +94 -94
- package/lib/components/AlertDialog.d.ts +18 -18
- package/lib/components/AlertDialog.js +21 -21
- package/lib/components/AlertWithIcon.d.ts +7 -7
- package/lib/components/AlertWithIcon.js +57 -57
- package/lib/components/Blots/CustomImageSpec.d.ts +14 -14
- package/lib/components/Blots/CustomImageSpec.js +45 -45
- package/lib/components/Blots/CustomVideoSpec.d.ts +16 -16
- package/lib/components/Blots/CustomVideoSpec.js +47 -47
- package/lib/components/ConnectedModal.d.ts +6 -6
- package/lib/components/ConnectedModal.js +11 -11
- package/lib/components/Dropdowns/GroupsDropdown.d.ts +18 -18
- package/lib/components/Dropdowns/GroupsDropdown.js +90 -90
- package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +32 -32
- package/lib/components/Dropdowns/ManagedNavDropdown.js +118 -118
- package/lib/components/Dropdowns/UserDropdown.d.ts +6 -6
- package/lib/components/Dropdowns/UserDropdown.js +76 -76
- package/lib/components/Dropdowns/index.d.ts +3 -3
- package/lib/components/Dropdowns/index.js +12 -12
- package/lib/components/EntityOwnerList.d.ts +11 -11
- package/lib/components/EntityOwnerList.js +63 -63
- package/lib/components/ErrorBoundary.d.ts +11 -11
- package/lib/components/ErrorBoundary.js +74 -74
- package/lib/components/Forms/DateField.d.ts +13 -13
- package/lib/components/Forms/DateField.js +99 -99
- package/lib/components/Forms/TimeField.d.ts +11 -11
- package/lib/components/Forms/TimeField.js +112 -112
- package/lib/components/Forms/index.d.ts +2 -2
- package/lib/components/Forms/index.js +14 -14
- package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +10 -10
- package/lib/components/Groups/CreateEditCopySaveButtons.js +18 -18
- package/lib/components/Groups/GroupCreateOrEditCommonProps.d.ts +6 -6
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
- package/lib/components/Groups/RosterSyncInfo.d.ts +5 -5
- package/lib/components/Groups/RosterSyncInfo.js +54 -54
- package/lib/components/HOC/AccessibleAppComponent.d.ts +15 -15
- package/lib/components/HOC/AccessibleAppComponent.js +135 -135
- package/lib/components/HOC/ActivityRequiredComponent.d.ts +105 -105
- package/lib/components/HOC/ActivityRequiredComponent.js +101 -101
- package/lib/components/HOC/AsyncComponent.d.ts +37 -37
- package/lib/components/HOC/AsyncComponent.js +136 -136
- package/lib/components/HOC/AuthenticatedComponent.d.ts +10 -10
- package/lib/components/HOC/AuthenticatedComponent.js +104 -104
- package/lib/components/HOC/CollectionComponent.d.ts +61 -61
- package/lib/components/HOC/CollectionComponent.js +175 -175
- package/lib/components/HOC/CollectionFirstItemComponent.d.ts +67 -67
- package/lib/components/HOC/CollectionFirstItemComponent.js +94 -94
- package/lib/components/HOC/CollectionItemComponent.d.ts +61 -61
- package/lib/components/HOC/CollectionItemComponent.js +172 -172
- package/lib/components/HOC/ConnectedModalComponent.d.ts +26 -26
- package/lib/components/HOC/ConnectedModalComponent.js +110 -110
- package/lib/components/HOC/DataDependentComponent.d.ts +61 -61
- package/lib/components/HOC/DataDependentComponent.js +90 -90
- package/lib/components/HOC/EntityComponent.d.ts +83 -83
- package/lib/components/HOC/EntityComponent.js +120 -120
- package/lib/components/HOC/FullscreenModalComponent.d.ts +74 -74
- package/lib/components/HOC/FullscreenModalComponent.js +173 -173
- package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +29 -29
- package/lib/components/HOC/GroupActivityRequiredComponent.js +49 -49
- package/lib/components/HOC/GuidComponent.d.ts +14 -14
- package/lib/components/HOC/GuidComponent.js +72 -72
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +172 -172
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +72 -72
- package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +69 -69
- package/lib/components/HOC/ModelErrorRedirectComponent.js +101 -101
- package/lib/components/HOC/SearchPersistorComponent.d.ts +85 -85
- package/lib/components/HOC/SearchPersistorComponent.js +198 -198
- package/lib/components/HOC/UnauthenticatedComponent.d.ts +62 -62
- package/lib/components/HOC/UnauthenticatedComponent.js +90 -90
- package/lib/components/HOC/UserComponent.d.ts +3 -3
- package/lib/components/HOC/UserComponent.js +12 -12
- package/lib/components/Icons/IconExternalUser.d.ts +3 -3
- package/lib/components/Icons/IconExternalUser.js +24 -24
- package/lib/components/Icons/IconImpersonation.d.ts +3 -3
- package/lib/components/Icons/IconImpersonation.js +24 -24
- package/lib/components/Icons/IconStopImpersonating.d.ts +3 -3
- package/lib/components/Icons/IconStopImpersonating.js +24 -24
- package/lib/components/Impersonation/Button.d.ts +7 -7
- package/lib/components/Impersonation/Button.js +61 -61
- package/lib/components/Impersonation/Link.d.ts +7 -7
- package/lib/components/Impersonation/Link.js +58 -58
- package/lib/components/Impersonation/UserDetail.css +22 -22
- package/lib/components/Impersonation/UserDetail.d.ts +22 -22
- package/lib/components/Impersonation/UserDetail.js +23 -23
- package/lib/components/Loading.d.ts +4 -4
- package/lib/components/Loading.js +24 -24
- package/lib/components/Lti/Confirm.d.ts +8 -8
- package/lib/components/Lti/Confirm.js +37 -37
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +15 -15
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +83 -83
- package/lib/components/Lti/Launch.d.ts +21 -21
- package/lib/components/Lti/Launch.js +52 -52
- package/lib/components/Lti/LaunchGroup.d.ts +9 -9
- package/lib/components/Lti/LaunchGroup.js +45 -45
- package/lib/components/NewVersionAlert.d.ts +18 -18
- package/lib/components/NewVersionAlert.js +97 -97
- package/lib/components/NotFound.d.ts +3 -3
- package/lib/components/NotFound.js +30 -28
- package/lib/components/Notifications.d.ts +39 -39
- package/lib/components/Notifications.js +175 -175
- package/lib/components/RefreshIndicator/Bordered.d.ts +7 -7
- package/lib/components/RefreshIndicator/Bordered.js +35 -35
- package/lib/components/RefreshIndicator/Inline.d.ts +4 -4
- package/lib/components/RefreshIndicator/Inline.js +36 -36
- package/lib/components/RefreshIndicator/index.d.ts +21 -21
- package/lib/components/RefreshIndicator/index.js +116 -116
- package/lib/components/SearchControls.d.ts +14 -14
- package/lib/components/SearchControls.js +34 -34
- package/lib/components/SentryRoute.d.ts +3 -3
- package/lib/components/SentryRoute.js +25 -25
- package/lib/components/Tables/RoleFilter.d.ts +14 -14
- package/lib/components/Tables/RoleFilter.js +53 -53
- package/lib/components/Tables/TextFilter.d.ts +7 -7
- package/lib/components/Tables/TextFilter.js +26 -26
- package/lib/components/UserRoles/Add.d.ts +31 -31
- package/lib/components/UserRoles/Add.js +165 -165
- package/lib/components/UserRoles/RoleCell.d.ts +21 -21
- package/lib/components/UserRoles/RoleCell.js +53 -53
- package/lib/components/UserRoles/Select.d.ts +27 -27
- package/lib/components/UserRoles/Select.js +44 -44
- package/lib/components/UserRoles/Table.d.ts +16 -16
- package/lib/components/UserRoles/Table.js +99 -99
- package/lib/components/UserRoles/index.d.ts +76 -76
- package/lib/components/UserRoles/index.js +361 -361
- package/lib/constants/baseActivity.d.ts +25 -25
- package/lib/constants/baseActivity.js +29 -29
- package/lib/constants/baseRole.d.ts +9 -9
- package/lib/constants/baseRole.js +13 -13
- package/lib/constants/configuration.d.ts +8 -8
- package/lib/constants/configuration.js +39 -39
- package/lib/constants/externalProviderType.d.ts +5 -5
- package/lib/constants/externalProviderType.js +9 -9
- package/lib/constants/index.d.ts +8 -8
- package/lib/constants/index.js +20 -20
- package/lib/constants/mockData.d.ts +84 -82
- package/lib/constants/mockData.js +379 -379
- package/lib/constants/modelStatus.d.ts +10 -10
- package/lib/constants/modelStatus.js +14 -14
- package/lib/constants/notificationType.d.ts +7 -7
- package/lib/constants/notificationType.js +11 -11
- package/lib/constants/shard.d.ts +6 -6
- package/lib/constants/shard.js +10 -10
- package/lib/constants/tier.d.ts +6 -6
- package/lib/constants/tier.js +10 -10
- package/lib/constants/userRole.d.ts +2 -2
- package/lib/constants/userRole.js +21 -21
- package/lib/css/base/_base.css +98 -98
- package/lib/css/base/_typography.css +130 -130
- package/lib/css/components/_alert.css +85 -85
- package/lib/css/components/_bootstrap-grid.css +28 -28
- package/lib/css/components/_buttons.css +325 -325
- package/lib/css/components/_forms.css +91 -91
- package/lib/css/components/_menu.css +56 -56
- package/lib/css/components/_modals.css +41 -41
- package/lib/css/components/_tables.css +426 -426
- package/lib/css/components/_tags.css +12 -12
- package/lib/css/index-with-variables.css +14 -14
- package/lib/css/index.css +13 -13
- package/lib/css/utils/_border.css +463 -463
- package/lib/css/utils/_color.css +271 -271
- package/lib/css/utils/_display.css +312 -312
- package/lib/css/utils/_general.css +48 -48
- package/lib/css/utils/_icon.css +16 -16
- package/lib/css/utils/_text.css +24 -24
- package/lib/css/utils/_width.css +60 -60
- package/lib/css/variables.css +70 -70
- package/lib/endpointMappings.d.ts +4 -4
- package/lib/endpointMappings.js +173 -173
- package/lib/hooks/useCollection.d.ts +6 -6
- package/lib/hooks/useCollection.js +61 -61
- package/lib/hooks/useCollectionConfiguration.d.ts +27 -27
- package/lib/hooks/useCollectionConfiguration.js +67 -67
- package/lib/hooks/useCollectionItem.d.ts +6 -6
- package/lib/hooks/useCollectionItem.js +54 -54
- package/lib/hooks/useGuid.d.ts +4 -4
- package/lib/hooks/useGuid.js +14 -14
- package/lib/hooks/usePrevious.d.ts +5 -5
- package/lib/hooks/usePrevious.js +18 -18
- package/lib/index.d.ts +8 -8
- package/lib/index.js +30 -30
- package/lib/redux/actionCreator.d.ts +5 -5
- package/lib/redux/actionCreator.js +16 -16
- package/lib/redux/actions.d.ts +12 -12
- package/lib/redux/actions.js +30 -30
- package/lib/redux/configureReducers.d.ts +22 -22
- package/lib/redux/configureReducers.js +94 -94
- package/lib/redux/configureStore.d.ts +14 -14
- package/lib/redux/configureStore.js +118 -118
- package/lib/redux/helpers.d.ts +2 -2
- package/lib/redux/helpers.js +7 -7
- package/lib/redux/reducers/index.d.ts +4 -4
- package/lib/redux/reducers/index.js +12 -12
- package/lib/redux/reducers/modalsReducer.d.ts +8 -8
- package/lib/redux/reducers/modalsReducer.js +54 -54
- package/lib/redux/reducers/notificationsReducer.d.ts +9 -9
- package/lib/redux/reducers/notificationsReducer.js +27 -27
- package/lib/redux/reducers/searchReducer.d.ts +17 -17
- package/lib/redux/reducers/searchReducer.js +26 -26
- package/lib/redux/sagas/caliperSaga.d.ts +2 -2
- package/lib/redux/sagas/caliperSaga.js +296 -296
- package/lib/redux/sagas/clockOffsetSaga.d.ts +10 -10
- package/lib/redux/sagas/clockOffsetSaga.js +81 -81
- package/lib/redux/sagas/configurationSaga.d.ts +1 -1
- package/lib/redux/sagas/configurationSaga.js +48 -48
- package/lib/redux/sagas/errorSaga.d.ts +2 -2
- package/lib/redux/sagas/errorSaga.js +66 -66
- package/lib/redux/sagas/identityProviderSaga.d.ts +2 -2
- package/lib/redux/sagas/identityProviderSaga.js +91 -91
- package/lib/redux/sagas/initialDataLoadSaga.d.ts +1 -1
- package/lib/redux/sagas/initialDataLoadSaga.js +33 -33
- package/lib/redux/sagas/postLoginDataSaga.d.ts +9 -9
- package/lib/redux/sagas/postLoginDataSaga.js +87 -87
- package/lib/redux/sagas/postLoginRedirectSaga.d.ts +6 -6
- package/lib/redux/sagas/postLoginRedirectSaga.js +96 -96
- package/lib/redux/sagas/rootSaga.d.ts +5 -5
- package/lib/redux/sagas/rootSaga.js +144 -144
- package/lib/redux/sagas/sentrySaga.d.ts +1 -1
- package/lib/redux/sagas/sentrySaga.js +103 -103
- package/lib/services/codeProviderService.d.ts +3 -3
- package/lib/services/codeProviderService.js +36 -36
- package/lib/services/documentService.d.ts +10 -10
- package/lib/services/documentService.js +17 -17
- package/lib/services/persistenceService.d.ts +13 -13
- package/lib/services/persistenceService.js +45 -45
- package/lib/services/ticketProviderService.d.ts +3 -3
- package/lib/services/ticketProviderService.js +40 -40
- package/lib/services/windowService.d.ts +9 -9
- package/lib/services/windowService.js +15 -15
- package/lib/setupTests.d.ts +1 -1
- package/lib/setupTests.js +25 -25
- package/lib/startup.d.ts +29 -29
- package/lib/startup.js +128 -128
- package/lib/types/AppConfiguration.d.ts +32 -32
- package/lib/types/AppConfiguration.js +2 -2
- package/lib/types/Artifact.d.ts +14 -14
- package/lib/types/Artifact.js +9 -9
- package/lib/types/BaseReduxState.d.ts +57 -57
- package/lib/types/BaseReduxState.js +2 -2
- package/lib/types/Client.d.ts +6 -6
- package/lib/types/Client.js +2 -2
- package/lib/types/Collection.d.ts +175 -175
- package/lib/types/Collection.js +2 -2
- package/lib/types/Configuration.d.ts +12 -12
- package/lib/types/Configuration.js +2 -2
- package/lib/types/DeepLinkingResponseRequest.d.ts +4 -4
- package/lib/types/DeepLinkingResponseRequest.js +2 -2
- package/lib/types/DeletableModel.d.ts +4 -4
- package/lib/types/DeletableModel.js +2 -2
- package/lib/types/External.d.ts +31 -31
- package/lib/types/External.js +2 -2
- package/lib/types/Group.d.ts +19 -19
- package/lib/types/Group.js +2 -2
- package/lib/types/IdentityProvider.d.ts +11 -11
- package/lib/types/IdentityProvider.js +2 -2
- package/lib/types/LtiLaunch.d.ts +20 -20
- package/lib/types/LtiLaunch.js +2 -2
- package/lib/types/NameOnlyEntity.d.ts +3 -3
- package/lib/types/NameOnlyEntity.js +2 -2
- package/lib/types/Notification.d.ts +15 -15
- package/lib/types/Notification.js +2 -2
- package/lib/types/OptionalRecord.d.ts +4 -4
- package/lib/types/OptionalRecord.js +2 -2
- package/lib/types/OwnerSchedule.d.ts +9 -9
- package/lib/types/OwnerSchedule.js +2 -2
- package/lib/types/PropertyOfType.d.ts +12 -12
- package/lib/types/PropertyOfType.js +2 -2
- package/lib/types/RoleDescription.d.ts +4 -4
- package/lib/types/RoleDescription.js +2 -2
- package/lib/types/Search.d.ts +11 -11
- package/lib/types/Search.js +2 -2
- package/lib/types/SimpleLocation.d.ts +46 -46
- package/lib/types/SimpleLocation.js +2 -2
- package/lib/types/UniTime.d.ts +17 -17
- package/lib/types/UniTime.js +2 -2
- package/lib/types/User.d.ts +68 -68
- package/lib/types/User.js +2 -2
- package/lib/types/UserRole.d.ts +19 -19
- package/lib/types/UserRole.js +2 -2
- package/lib/types/index.d.ts +21 -21
- package/lib/types/index.js +33 -33
- package/lib/utils/baseActivity.d.ts +63 -63
- package/lib/utils/baseActivity.js +155 -155
- package/lib/utils/baseRole.d.ts +2 -2
- package/lib/utils/baseRole.js +38 -38
- package/lib/utils/collection.d.ts +43 -43
- package/lib/utils/collection.js +337 -337
- package/lib/utils/date.d.ts +162 -162
- package/lib/utils/date.js +401 -401
- package/lib/utils/domainIdentifier.d.ts +2 -2
- package/lib/utils/domainIdentifier.js +12 -12
- package/lib/utils/entityUserRole.d.ts +3 -3
- package/lib/utils/entityUserRole.js +7 -7
- package/lib/utils/externalGroup.d.ts +4 -4
- package/lib/utils/externalGroup.js +32 -32
- package/lib/utils/externalProviders.d.ts +2 -2
- package/lib/utils/externalProviders.js +11 -11
- package/lib/utils/externalTerms.d.ts +2 -2
- package/lib/utils/externalTerms.js +10 -10
- package/lib/utils/group.d.ts +15 -15
- package/lib/utils/group.js +15 -15
- package/lib/utils/groupDates.d.ts +9 -9
- package/lib/utils/groupDates.js +52 -52
- package/lib/utils/groupRoles.d.ts +8 -8
- package/lib/utils/groupRoles.js +42 -42
- package/lib/utils/logger.d.ts +10 -10
- package/lib/utils/logger.js +34 -34
- package/lib/utils/lti.d.ts +3 -3
- package/lib/utils/lti.js +9 -9
- package/lib/utils/model.d.ts +15 -15
- package/lib/utils/model.js +58 -58
- package/lib/utils/number.d.ts +13 -13
- package/lib/utils/number.js +32 -32
- package/lib/utils/promise.d.ts +5 -5
- package/lib/utils/promise.js +17 -17
- package/lib/utils/route.d.ts +5 -5
- package/lib/utils/route.js +69 -69
- package/lib/utils/shard.d.ts +3 -3
- package/lib/utils/shard.js +45 -45
- package/lib/utils/sort.d.ts +11 -11
- package/lib/utils/sort.js +69 -69
- package/lib/utils/string.d.ts +2 -2
- package/lib/utils/string.js +16 -16
- package/lib/utils/timezone.d.ts +2 -2
- package/lib/utils/timezone.js +32 -32
- package/lib/utils/url.d.ts +23 -23
- package/lib/utils/url.js +163 -163
- package/lib/utils/user.d.ts +8 -8
- package/lib/utils/user.js +73 -73
- package/lib/utils/userRole.d.ts +21 -21
- package/lib/utils/userRole.js +48 -48
- package/package.json +192 -192
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { Component } from 'react';
|
|
2
|
-
import { RoleDescription } from '../../types';
|
|
3
|
-
export interface UserRolesAddProps {
|
|
4
|
-
id: string;
|
|
5
|
-
entityName?: string;
|
|
6
|
-
addUsersToRole: any;
|
|
7
|
-
shouldReset: boolean;
|
|
8
|
-
isAddingUsersToRole: boolean;
|
|
9
|
-
defaultRole: string;
|
|
10
|
-
roleDescriptions: RoleDescription;
|
|
11
|
-
renderAddDescription?: (entityName?: string) => JSX.Element;
|
|
12
|
-
disabled?: boolean;
|
|
13
|
-
textForRole?: (role: string) => string;
|
|
14
|
-
}
|
|
15
|
-
interface UserRolesAddState {
|
|
16
|
-
identifiers: string;
|
|
17
|
-
role: string;
|
|
18
|
-
showErrorAlert: boolean;
|
|
19
|
-
errorMessage?: string;
|
|
20
|
-
}
|
|
21
|
-
export default class UserRolesAdd extends Component<UserRolesAddProps, UserRolesAddState> {
|
|
22
|
-
constructor(props: UserRolesAddProps);
|
|
23
|
-
updateRole: (e: any) => void;
|
|
24
|
-
componentDidUpdate(prevProps: UserRolesAddProps): void;
|
|
25
|
-
handleSubmit: () => void;
|
|
26
|
-
closeErrorAlert: () => void;
|
|
27
|
-
updateIdentifiers: (e: any) => void;
|
|
28
|
-
getValidationErrorMessage: (identifiers?: string[] | undefined) => string | undefined;
|
|
29
|
-
render(): JSX.Element;
|
|
30
|
-
}
|
|
31
|
-
export {};
|
|
1
|
+
import { Component } from 'react';
|
|
2
|
+
import { RoleDescription } from '../../types';
|
|
3
|
+
export interface UserRolesAddProps {
|
|
4
|
+
id: string;
|
|
5
|
+
entityName?: string;
|
|
6
|
+
addUsersToRole: any;
|
|
7
|
+
shouldReset: boolean;
|
|
8
|
+
isAddingUsersToRole: boolean;
|
|
9
|
+
defaultRole: string;
|
|
10
|
+
roleDescriptions: RoleDescription;
|
|
11
|
+
renderAddDescription?: (entityName?: string) => JSX.Element;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
textForRole?: (role: string) => string;
|
|
14
|
+
}
|
|
15
|
+
interface UserRolesAddState {
|
|
16
|
+
identifiers: string;
|
|
17
|
+
role: string;
|
|
18
|
+
showErrorAlert: boolean;
|
|
19
|
+
errorMessage?: string;
|
|
20
|
+
}
|
|
21
|
+
export default class UserRolesAdd extends Component<UserRolesAddProps, UserRolesAddState> {
|
|
22
|
+
constructor(props: UserRolesAddProps);
|
|
23
|
+
updateRole: (e: any) => void;
|
|
24
|
+
componentDidUpdate(prevProps: UserRolesAddProps): void;
|
|
25
|
+
handleSubmit: () => void;
|
|
26
|
+
closeErrorAlert: () => void;
|
|
27
|
+
updateIdentifiers: (e: any) => void;
|
|
28
|
+
getValidationErrorMessage: (identifiers?: string[] | undefined) => string | undefined;
|
|
29
|
+
render(): JSX.Element;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -1,165 +1,165 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
extendStatics(d, b);
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
-
if (k2 === undefined) k2 = k;
|
|
17
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
18
|
-
}) : (function(o, m, k, k2) {
|
|
19
|
-
if (k2 === undefined) k2 = k;
|
|
20
|
-
o[k2] = m[k];
|
|
21
|
-
}));
|
|
22
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
-
}) : function(o, v) {
|
|
25
|
-
o["default"] = v;
|
|
26
|
-
});
|
|
27
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
var Button_1 = __importDefault(require("@material-ui/core/Button"));
|
|
39
|
-
var AddCircle_1 = __importDefault(require("@material-ui/icons/AddCircle"));
|
|
40
|
-
var lodash_1 = __importDefault(require("lodash"));
|
|
41
|
-
var react_1 = __importStar(require("react"));
|
|
42
|
-
var react_bootstrap_1 = require("react-bootstrap");
|
|
43
|
-
var AlertDialog_1 = __importDefault(require("../../components/AlertDialog"));
|
|
44
|
-
var Inline_1 = __importDefault(require("../../components/RefreshIndicator/Inline"));
|
|
45
|
-
var Select_1 = __importDefault(require("../../components/UserRoles/Select"));
|
|
46
|
-
var baseRole_1 = __importDefault(require("../../constants/baseRole"));
|
|
47
|
-
var configuration_1 = require("../../constants/configuration");
|
|
48
|
-
var domainIdentifier_1 = require("../../utils/domainIdentifier");
|
|
49
|
-
var shard_1 = require("../../utils/shard");
|
|
50
|
-
var string_1 = require("../../utils/string");
|
|
51
|
-
var AlertWithIcon_1 = __importDefault(require("../AlertWithIcon"));
|
|
52
|
-
var FERPA_ROLES = [baseRole_1.default.SUPER_ADMIN, baseRole_1.default.ADMIN, baseRole_1.default.GROUP_OWNER, baseRole_1.default.GROUP_GRADER];
|
|
53
|
-
var UserRolesAdd = /** @class */ (function (_super) {
|
|
54
|
-
__extends(UserRolesAdd, _super);
|
|
55
|
-
function UserRolesAdd(props) {
|
|
56
|
-
var _this = _super.call(this, props) || this;
|
|
57
|
-
_this.updateRole = function (e) {
|
|
58
|
-
_this.setState({
|
|
59
|
-
role: e.target.value
|
|
60
|
-
});
|
|
61
|
-
};
|
|
62
|
-
_this.handleSubmit = function () {
|
|
63
|
-
var _a = _this.state, identifiers = _a.identifiers, role = _a.role;
|
|
64
|
-
var identifiersArray = identifiers
|
|
65
|
-
.split(/\r\n|\r|\n/g)
|
|
66
|
-
.map(function (id) { return id.trim(); })
|
|
67
|
-
.filter(function (id) { return id !== ''; }); // filter identifiers that are empty
|
|
68
|
-
var errorMessage = _this.getValidationErrorMessage(identifiersArray);
|
|
69
|
-
if (errorMessage) {
|
|
70
|
-
_this.setState({
|
|
71
|
-
showErrorAlert: true,
|
|
72
|
-
errorMessage: errorMessage
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
_this.props.addUsersToRole(identifiersArray, role);
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
_this.closeErrorAlert = function () {
|
|
80
|
-
_this.setState({
|
|
81
|
-
showErrorAlert: false,
|
|
82
|
-
errorMessage: undefined
|
|
83
|
-
});
|
|
84
|
-
};
|
|
85
|
-
_this.updateIdentifiers = function (e) {
|
|
86
|
-
_this.setState({
|
|
87
|
-
identifiers: e.target.value
|
|
88
|
-
});
|
|
89
|
-
};
|
|
90
|
-
_this.getValidationErrorMessage = function (identifiers) {
|
|
91
|
-
if (!identifiers || identifiers.length === 0) {
|
|
92
|
-
return "Please enter at least one " + domainIdentifier_1.getDomainIdentifierTypeString() + ".";
|
|
93
|
-
}
|
|
94
|
-
var invalidIdentifiers;
|
|
95
|
-
if (shard_1.isPurdueShard() && !identifiers.every(function (id) { return string_1.isPurdueAliasOrPuid(id); })) {
|
|
96
|
-
invalidIdentifiers = identifiers.filter(function (id) { return !string_1.isPurdueAliasOrPuid(id); });
|
|
97
|
-
}
|
|
98
|
-
if (!shard_1.isPurdueShard() && !identifiers.every(function (id) { return string_1.isEmail(id); })) {
|
|
99
|
-
invalidIdentifiers = identifiers.filter(function (id) { return !string_1.isEmail(id); });
|
|
100
|
-
}
|
|
101
|
-
if (invalidIdentifiers) {
|
|
102
|
-
return "Please enter valid " + domainIdentifier_1.getDomainIdentifierTypePluralString() + ". The following are invalid:\r\n" + invalidIdentifiers.join('\r\n');
|
|
103
|
-
}
|
|
104
|
-
return undefined;
|
|
105
|
-
};
|
|
106
|
-
_this.state = {
|
|
107
|
-
identifiers: '',
|
|
108
|
-
role: _this.props.defaultRole,
|
|
109
|
-
showErrorAlert: false,
|
|
110
|
-
errorMessage: undefined
|
|
111
|
-
};
|
|
112
|
-
return _this;
|
|
113
|
-
}
|
|
114
|
-
UserRolesAdd.prototype.componentDidUpdate = function (prevProps) {
|
|
115
|
-
var prevShouldReset = prevProps.shouldReset;
|
|
116
|
-
var shouldReset = this.props.shouldReset;
|
|
117
|
-
if (prevShouldReset === false && shouldReset === true) {
|
|
118
|
-
this.setState({
|
|
119
|
-
identifiers: '',
|
|
120
|
-
role: this.props.defaultRole
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
UserRolesAdd.prototype.render = function () {
|
|
125
|
-
var _a = this.state, identifiers = _a.identifiers, role = _a.role, showErrorAlert = _a.showErrorAlert, errorMessage = _a.errorMessage;
|
|
126
|
-
var _b = this.props, entityName = _b.entityName, isAddingUsersToRole = _b.isAddingUsersToRole, roleDescriptions = _b.roleDescriptions, renderAddDescription = _b.renderAddDescription, disabled = _b.disabled, textForRole = _b.textForRole;
|
|
127
|
-
var roles = lodash_1.default.keys(roleDescriptions);
|
|
128
|
-
var rolePopover = (react_1.default.createElement(react_bootstrap_1.Popover, { id: "role" },
|
|
129
|
-
react_1.default.createElement("h3", null, "Role"),
|
|
130
|
-
roles.map(function (r) { return (react_1.default.createElement(react_1.Fragment, { key: r }, roleDescriptions[r])); })));
|
|
131
|
-
var appConfig = configuration_1.getAppConfig();
|
|
132
|
-
var appName = appConfig.APP_NAME;
|
|
133
|
-
var gradableDescriptor = appConfig.GRADABLE_DESCRIPTOR;
|
|
134
|
-
return (react_1.default.createElement(react_bootstrap_1.Row, null,
|
|
135
|
-
!!renderAddDescription && react_1.default.createElement(react_bootstrap_1.Col, { xs: 12 }, renderAddDescription(entityName)),
|
|
136
|
-
react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 6 },
|
|
137
|
-
react_1.default.createElement(react_bootstrap_1.FormGroup, { controlId: "UserEntry" },
|
|
138
|
-
react_1.default.createElement(react_bootstrap_1.FormLabel, { className: "f6" },
|
|
139
|
-
domainIdentifier_1.getDomainIdentifierTypePluralString(),
|
|
140
|
-
" (separated by a new line)"),
|
|
141
|
-
react_1.default.createElement(react_bootstrap_1.FormControl, { type: "text", as: "textarea", name: "account", "aria-label": "The account names to add", onChange: this.updateIdentifiers, value: identifiers, placeholder: domainIdentifier_1.getDomainIdentifierTypeString(), disabled: disabled }))),
|
|
142
|
-
react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 4 },
|
|
143
|
-
react_1.default.createElement(Select_1.default, { options: roles, value: role, onChange: this.updateRole, labelVisible: true, popoverContentComponent: rolePopover, textForRole: textForRole })),
|
|
144
|
-
react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 2, className: "mt3-ns pt2-ns" },
|
|
145
|
-
isAddingUsersToRole && react_1.default.createElement(Inline_1.default, { className: "mr3" }),
|
|
146
|
-
!isAddingUsersToRole && (react_1.default.createElement(Button_1.default, { id: "userRolesAddButton", className: "btn btn-primary w-100-lt-xs", disabled: !identifiers || disabled, color: "primary", onClick: this.handleSubmit },
|
|
147
|
-
react_1.default.createElement(AddCircle_1.default, { className: "v-mid" }),
|
|
148
|
-
"Add")),
|
|
149
|
-
react_1.default.createElement(AlertDialog_1.default, { isOpen: showErrorAlert, title: "Error Adding People to the " + entityName, description: react_1.default.createElement("div", { className: "pre-wrap" }, errorMessage), proceedText: "Got it. Thanks!", onProceed: this.closeErrorAlert, onCancel: this.closeErrorAlert })),
|
|
150
|
-
lodash_1.default.includes(FERPA_ROLES, role) && (react_1.default.createElement(react_bootstrap_1.Col, { xs: 12 },
|
|
151
|
-
react_1.default.createElement(AlertWithIcon_1.default, { id: "ferpaWarning", variant: "warning" },
|
|
152
|
-
react_1.default.createElement("p", null,
|
|
153
|
-
"This role includes ",
|
|
154
|
-
gradableDescriptor,
|
|
155
|
-
" scores in ",
|
|
156
|
-
appName,
|
|
157
|
-
". Please consider whether",
|
|
158
|
-
' ',
|
|
159
|
-
react_1.default.createElement("a", { href: "https://www.purdue.edu/registrar/FERPA/index.html", target: "_blank", rel: "noopener noreferrer" }, "FERPA"),
|
|
160
|
-
' ',
|
|
161
|
-
"certification is needed."))))));
|
|
162
|
-
};
|
|
163
|
-
return UserRolesAdd;
|
|
164
|
-
}(react_1.Component));
|
|
165
|
-
exports.default = UserRolesAdd;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
var Button_1 = __importDefault(require("@material-ui/core/Button"));
|
|
39
|
+
var AddCircle_1 = __importDefault(require("@material-ui/icons/AddCircle"));
|
|
40
|
+
var lodash_1 = __importDefault(require("lodash"));
|
|
41
|
+
var react_1 = __importStar(require("react"));
|
|
42
|
+
var react_bootstrap_1 = require("react-bootstrap");
|
|
43
|
+
var AlertDialog_1 = __importDefault(require("../../components/AlertDialog"));
|
|
44
|
+
var Inline_1 = __importDefault(require("../../components/RefreshIndicator/Inline"));
|
|
45
|
+
var Select_1 = __importDefault(require("../../components/UserRoles/Select"));
|
|
46
|
+
var baseRole_1 = __importDefault(require("../../constants/baseRole"));
|
|
47
|
+
var configuration_1 = require("../../constants/configuration");
|
|
48
|
+
var domainIdentifier_1 = require("../../utils/domainIdentifier");
|
|
49
|
+
var shard_1 = require("../../utils/shard");
|
|
50
|
+
var string_1 = require("../../utils/string");
|
|
51
|
+
var AlertWithIcon_1 = __importDefault(require("../AlertWithIcon"));
|
|
52
|
+
var FERPA_ROLES = [baseRole_1.default.SUPER_ADMIN, baseRole_1.default.ADMIN, baseRole_1.default.GROUP_OWNER, baseRole_1.default.GROUP_GRADER];
|
|
53
|
+
var UserRolesAdd = /** @class */ (function (_super) {
|
|
54
|
+
__extends(UserRolesAdd, _super);
|
|
55
|
+
function UserRolesAdd(props) {
|
|
56
|
+
var _this = _super.call(this, props) || this;
|
|
57
|
+
_this.updateRole = function (e) {
|
|
58
|
+
_this.setState({
|
|
59
|
+
role: e.target.value
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
_this.handleSubmit = function () {
|
|
63
|
+
var _a = _this.state, identifiers = _a.identifiers, role = _a.role;
|
|
64
|
+
var identifiersArray = identifiers
|
|
65
|
+
.split(/\r\n|\r|\n/g)
|
|
66
|
+
.map(function (id) { return id.trim(); })
|
|
67
|
+
.filter(function (id) { return id !== ''; }); // filter identifiers that are empty
|
|
68
|
+
var errorMessage = _this.getValidationErrorMessage(identifiersArray);
|
|
69
|
+
if (errorMessage) {
|
|
70
|
+
_this.setState({
|
|
71
|
+
showErrorAlert: true,
|
|
72
|
+
errorMessage: errorMessage
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
_this.props.addUsersToRole(identifiersArray, role);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
_this.closeErrorAlert = function () {
|
|
80
|
+
_this.setState({
|
|
81
|
+
showErrorAlert: false,
|
|
82
|
+
errorMessage: undefined
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
_this.updateIdentifiers = function (e) {
|
|
86
|
+
_this.setState({
|
|
87
|
+
identifiers: e.target.value
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
_this.getValidationErrorMessage = function (identifiers) {
|
|
91
|
+
if (!identifiers || identifiers.length === 0) {
|
|
92
|
+
return "Please enter at least one " + domainIdentifier_1.getDomainIdentifierTypeString() + ".";
|
|
93
|
+
}
|
|
94
|
+
var invalidIdentifiers;
|
|
95
|
+
if (shard_1.isPurdueShard() && !identifiers.every(function (id) { return string_1.isPurdueAliasOrPuid(id); })) {
|
|
96
|
+
invalidIdentifiers = identifiers.filter(function (id) { return !string_1.isPurdueAliasOrPuid(id); });
|
|
97
|
+
}
|
|
98
|
+
if (!shard_1.isPurdueShard() && !identifiers.every(function (id) { return string_1.isEmail(id); })) {
|
|
99
|
+
invalidIdentifiers = identifiers.filter(function (id) { return !string_1.isEmail(id); });
|
|
100
|
+
}
|
|
101
|
+
if (invalidIdentifiers) {
|
|
102
|
+
return "Please enter valid " + domainIdentifier_1.getDomainIdentifierTypePluralString() + ". The following are invalid:\r\n" + invalidIdentifiers.join('\r\n');
|
|
103
|
+
}
|
|
104
|
+
return undefined;
|
|
105
|
+
};
|
|
106
|
+
_this.state = {
|
|
107
|
+
identifiers: '',
|
|
108
|
+
role: _this.props.defaultRole,
|
|
109
|
+
showErrorAlert: false,
|
|
110
|
+
errorMessage: undefined
|
|
111
|
+
};
|
|
112
|
+
return _this;
|
|
113
|
+
}
|
|
114
|
+
UserRolesAdd.prototype.componentDidUpdate = function (prevProps) {
|
|
115
|
+
var prevShouldReset = prevProps.shouldReset;
|
|
116
|
+
var shouldReset = this.props.shouldReset;
|
|
117
|
+
if (prevShouldReset === false && shouldReset === true) {
|
|
118
|
+
this.setState({
|
|
119
|
+
identifiers: '',
|
|
120
|
+
role: this.props.defaultRole
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
UserRolesAdd.prototype.render = function () {
|
|
125
|
+
var _a = this.state, identifiers = _a.identifiers, role = _a.role, showErrorAlert = _a.showErrorAlert, errorMessage = _a.errorMessage;
|
|
126
|
+
var _b = this.props, entityName = _b.entityName, isAddingUsersToRole = _b.isAddingUsersToRole, roleDescriptions = _b.roleDescriptions, renderAddDescription = _b.renderAddDescription, disabled = _b.disabled, textForRole = _b.textForRole;
|
|
127
|
+
var roles = lodash_1.default.keys(roleDescriptions);
|
|
128
|
+
var rolePopover = (react_1.default.createElement(react_bootstrap_1.Popover, { id: "role" },
|
|
129
|
+
react_1.default.createElement("h3", null, "Role"),
|
|
130
|
+
roles.map(function (r) { return (react_1.default.createElement(react_1.Fragment, { key: r }, roleDescriptions[r])); })));
|
|
131
|
+
var appConfig = configuration_1.getAppConfig();
|
|
132
|
+
var appName = appConfig.APP_NAME;
|
|
133
|
+
var gradableDescriptor = appConfig.GRADABLE_DESCRIPTOR;
|
|
134
|
+
return (react_1.default.createElement(react_bootstrap_1.Row, null,
|
|
135
|
+
!!renderAddDescription && react_1.default.createElement(react_bootstrap_1.Col, { xs: 12 }, renderAddDescription(entityName)),
|
|
136
|
+
react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 6 },
|
|
137
|
+
react_1.default.createElement(react_bootstrap_1.FormGroup, { controlId: "UserEntry" },
|
|
138
|
+
react_1.default.createElement(react_bootstrap_1.FormLabel, { className: "f6" },
|
|
139
|
+
domainIdentifier_1.getDomainIdentifierTypePluralString(),
|
|
140
|
+
" (separated by a new line)"),
|
|
141
|
+
react_1.default.createElement(react_bootstrap_1.FormControl, { type: "text", as: "textarea", name: "account", "aria-label": "The account names to add", onChange: this.updateIdentifiers, value: identifiers, placeholder: domainIdentifier_1.getDomainIdentifierTypeString(), disabled: disabled }))),
|
|
142
|
+
react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 4 },
|
|
143
|
+
react_1.default.createElement(Select_1.default, { options: roles, value: role, onChange: this.updateRole, labelVisible: true, popoverContentComponent: rolePopover, textForRole: textForRole })),
|
|
144
|
+
react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 2, className: "mt3-ns pt2-ns" },
|
|
145
|
+
isAddingUsersToRole && react_1.default.createElement(Inline_1.default, { className: "mr3" }),
|
|
146
|
+
!isAddingUsersToRole && (react_1.default.createElement(Button_1.default, { id: "userRolesAddButton", className: "btn btn-primary w-100-lt-xs", disabled: !identifiers || disabled, color: "primary", onClick: this.handleSubmit },
|
|
147
|
+
react_1.default.createElement(AddCircle_1.default, { className: "v-mid" }),
|
|
148
|
+
"Add")),
|
|
149
|
+
react_1.default.createElement(AlertDialog_1.default, { isOpen: showErrorAlert, title: "Error Adding People to the " + entityName, description: react_1.default.createElement("div", { className: "pre-wrap" }, errorMessage), proceedText: "Got it. Thanks!", onProceed: this.closeErrorAlert, onCancel: this.closeErrorAlert })),
|
|
150
|
+
lodash_1.default.includes(FERPA_ROLES, role) && (react_1.default.createElement(react_bootstrap_1.Col, { xs: 12 },
|
|
151
|
+
react_1.default.createElement(AlertWithIcon_1.default, { id: "ferpaWarning", variant: "warning" },
|
|
152
|
+
react_1.default.createElement("p", null,
|
|
153
|
+
"This role includes ",
|
|
154
|
+
gradableDescriptor,
|
|
155
|
+
" scores in ",
|
|
156
|
+
appName,
|
|
157
|
+
". Please consider whether",
|
|
158
|
+
' ',
|
|
159
|
+
react_1.default.createElement("a", { href: "https://www.purdue.edu/registrar/FERPA/index.html", target: "_blank", rel: "noopener noreferrer" }, "FERPA"),
|
|
160
|
+
' ',
|
|
161
|
+
"certification is needed."))))));
|
|
162
|
+
};
|
|
163
|
+
return UserRolesAdd;
|
|
164
|
+
}(react_1.Component));
|
|
165
|
+
exports.default = UserRolesAdd;
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import React, { FunctionComponent } from 'react';
|
|
2
|
-
import { BaseReduxState } from '../../types/BaseReduxState';
|
|
3
|
-
import { UserWithRoles } from '../../types/UserRole';
|
|
4
|
-
export interface RoleCellOwnProps {
|
|
5
|
-
user: UserWithRoles;
|
|
6
|
-
readOnly?: boolean;
|
|
7
|
-
canModifySelf?: boolean;
|
|
8
|
-
textForRole?: (role: string) => string;
|
|
9
|
-
removeUserFromRole?: (user: UserWithRoles, role: string) => void;
|
|
10
|
-
roles: string[];
|
|
11
|
-
entityOwnerRole: string;
|
|
12
|
-
}
|
|
13
|
-
export interface RoleCellReduxProps {
|
|
14
|
-
currentUserId: string;
|
|
15
|
-
}
|
|
16
|
-
export interface RoleCellProps extends RoleCellOwnProps, RoleCellReduxProps {
|
|
17
|
-
}
|
|
18
|
-
export declare const RoleCell: FunctionComponent<RoleCellProps>;
|
|
19
|
-
export declare const mapStateToProps: (state: BaseReduxState) => RoleCellReduxProps;
|
|
20
|
-
declare const _default: import("react-redux").ConnectedComponent<React.FunctionComponent<RoleCellProps>, Pick<RoleCellProps, "user" | "readOnly" | "textForRole" | "canModifySelf" | "removeUserFromRole" | "roles" | "entityOwnerRole">>;
|
|
21
|
-
export default _default;
|
|
1
|
+
import React, { FunctionComponent } from 'react';
|
|
2
|
+
import { BaseReduxState } from '../../types/BaseReduxState';
|
|
3
|
+
import { UserWithRoles } from '../../types/UserRole';
|
|
4
|
+
export interface RoleCellOwnProps {
|
|
5
|
+
user: UserWithRoles;
|
|
6
|
+
readOnly?: boolean;
|
|
7
|
+
canModifySelf?: boolean;
|
|
8
|
+
textForRole?: (role: string) => string;
|
|
9
|
+
removeUserFromRole?: (user: UserWithRoles, role: string) => void;
|
|
10
|
+
roles: string[];
|
|
11
|
+
entityOwnerRole: string;
|
|
12
|
+
}
|
|
13
|
+
export interface RoleCellReduxProps {
|
|
14
|
+
currentUserId: string;
|
|
15
|
+
}
|
|
16
|
+
export interface RoleCellProps extends RoleCellOwnProps, RoleCellReduxProps {
|
|
17
|
+
}
|
|
18
|
+
export declare const RoleCell: FunctionComponent<RoleCellProps>;
|
|
19
|
+
export declare const mapStateToProps: (state: BaseReduxState) => RoleCellReduxProps;
|
|
20
|
+
declare const _default: import("react-redux").ConnectedComponent<React.FunctionComponent<RoleCellProps>, Pick<RoleCellProps, "user" | "readOnly" | "textForRole" | "canModifySelf" | "removeUserFromRole" | "roles" | "entityOwnerRole">>;
|
|
21
|
+
export default _default;
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.mapStateToProps = exports.RoleCell = void 0;
|
|
7
|
-
var core_1 = require("@material-ui/core");
|
|
8
|
-
var Delete_1 = __importDefault(require("@material-ui/icons/Delete"));
|
|
9
|
-
var react_1 = __importDefault(require("react"));
|
|
10
|
-
var react_bootstrap_1 = require("react-bootstrap");
|
|
11
|
-
var react_redux_1 = require("react-redux");
|
|
12
|
-
var userRole_1 = require("../../utils/userRole");
|
|
13
|
-
var IconExternalUser_1 = require("../Icons/IconExternalUser");
|
|
14
|
-
var RoleCell = function (_a) {
|
|
15
|
-
var user = _a.user, currentUserId = _a.currentUserId, readOnly = _a.readOnly, canModifySelf = _a.canModifySelf, textForRole = _a.textForRole, removeUserFromRole = _a.removeUserFromRole, roles = _a.roles, entityOwnerRole = _a.entityOwnerRole;
|
|
16
|
-
return (react_1.default.createElement("ul", { className: "mb0 list pa0 tr" }, user.roles.sort(userRole_1.sortByRole(roles)).map(function (userRole) {
|
|
17
|
-
var roleText = userRole_1.getRoleText(textForRole)(userRole);
|
|
18
|
-
var isUserRoleExternal = userRole_1.isExternal(userRole);
|
|
19
|
-
var popover = (react_1.default.createElement(react_bootstrap_1.Popover, { id: "is-external-popover-" + userRole.userId + "-" + userRole.role },
|
|
20
|
-
react_1.default.createElement("h3", null, "Added via Roster Sync"),
|
|
21
|
-
react_1.default.createElement("p", { className: "mb2" }, "This person was added automatically via roster sync and cannot be manually removed.")));
|
|
22
|
-
return (react_1.default.createElement("li", { key: user.id + "-" + roleText, className: "nowrap" },
|
|
23
|
-
react_1.default.createElement("span", null, roleText),
|
|
24
|
-
!isUserRoleExternal &&
|
|
25
|
-
!readOnly &&
|
|
26
|
-
(user.id !== currentUserId || canModifySelf || userRole.role !== entityOwnerRole) ? (react_1.default.createElement(core_1.IconButton, { className: "remove-user-button", "aria-label": "Remove " + roleText, onClick: function () {
|
|
27
|
-
if (removeUserFromRole) {
|
|
28
|
-
removeUserFromRole(user, userRole.role);
|
|
29
|
-
}
|
|
30
|
-
} },
|
|
31
|
-
react_1.default.createElement(Delete_1.default, { color: "error" }))) : isUserRoleExternal ? (react_1.default.createElement(react_bootstrap_1.OverlayTrigger, { placement: "auto", trigger: ['click', 'hover', 'focus'], overlay: popover },
|
|
32
|
-
react_1.default.createElement(IconExternalUser_1.IconExternalUser, { tabIndex: 0, style: { margin: '12px', opacity: 0.5 }, className: "external-icon" }))) : (
|
|
33
|
-
// dummy spacer to keep items aligned
|
|
34
|
-
react_1.default.createElement("span", { style: {
|
|
35
|
-
margin: '12px',
|
|
36
|
-
width: '24px',
|
|
37
|
-
height: '24px',
|
|
38
|
-
display: 'inline-block',
|
|
39
|
-
verticalAlign: 'middle'
|
|
40
|
-
} }))));
|
|
41
|
-
})));
|
|
42
|
-
};
|
|
43
|
-
exports.RoleCell = RoleCell;
|
|
44
|
-
var mapStateToProps = function (state) {
|
|
45
|
-
if (!state.models.user || !state.models.user.userInfo) {
|
|
46
|
-
throw new Error('Current user id is not stored in redux');
|
|
47
|
-
}
|
|
48
|
-
return {
|
|
49
|
-
currentUserId: state.models.user.userInfo.id
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
exports.mapStateToProps = mapStateToProps;
|
|
53
|
-
exports.default = react_redux_1.connect(exports.mapStateToProps)(exports.RoleCell);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.mapStateToProps = exports.RoleCell = void 0;
|
|
7
|
+
var core_1 = require("@material-ui/core");
|
|
8
|
+
var Delete_1 = __importDefault(require("@material-ui/icons/Delete"));
|
|
9
|
+
var react_1 = __importDefault(require("react"));
|
|
10
|
+
var react_bootstrap_1 = require("react-bootstrap");
|
|
11
|
+
var react_redux_1 = require("react-redux");
|
|
12
|
+
var userRole_1 = require("../../utils/userRole");
|
|
13
|
+
var IconExternalUser_1 = require("../Icons/IconExternalUser");
|
|
14
|
+
var RoleCell = function (_a) {
|
|
15
|
+
var user = _a.user, currentUserId = _a.currentUserId, readOnly = _a.readOnly, canModifySelf = _a.canModifySelf, textForRole = _a.textForRole, removeUserFromRole = _a.removeUserFromRole, roles = _a.roles, entityOwnerRole = _a.entityOwnerRole;
|
|
16
|
+
return (react_1.default.createElement("ul", { className: "mb0 list pa0 tr" }, user.roles.sort(userRole_1.sortByRole(roles)).map(function (userRole) {
|
|
17
|
+
var roleText = userRole_1.getRoleText(textForRole)(userRole);
|
|
18
|
+
var isUserRoleExternal = userRole_1.isExternal(userRole);
|
|
19
|
+
var popover = (react_1.default.createElement(react_bootstrap_1.Popover, { id: "is-external-popover-" + userRole.userId + "-" + userRole.role },
|
|
20
|
+
react_1.default.createElement("h3", null, "Added via Roster Sync"),
|
|
21
|
+
react_1.default.createElement("p", { className: "mb2" }, "This person was added automatically via roster sync and cannot be manually removed.")));
|
|
22
|
+
return (react_1.default.createElement("li", { key: user.id + "-" + roleText, className: "nowrap" },
|
|
23
|
+
react_1.default.createElement("span", null, roleText),
|
|
24
|
+
!isUserRoleExternal &&
|
|
25
|
+
!readOnly &&
|
|
26
|
+
(user.id !== currentUserId || canModifySelf || userRole.role !== entityOwnerRole) ? (react_1.default.createElement(core_1.IconButton, { className: "remove-user-button", "aria-label": "Remove " + roleText, onClick: function () {
|
|
27
|
+
if (removeUserFromRole) {
|
|
28
|
+
removeUserFromRole(user, userRole.role);
|
|
29
|
+
}
|
|
30
|
+
} },
|
|
31
|
+
react_1.default.createElement(Delete_1.default, { color: "error" }))) : isUserRoleExternal ? (react_1.default.createElement(react_bootstrap_1.OverlayTrigger, { placement: "auto", trigger: ['click', 'hover', 'focus'], overlay: popover },
|
|
32
|
+
react_1.default.createElement(IconExternalUser_1.IconExternalUser, { tabIndex: 0, style: { margin: '12px', opacity: 0.5 }, className: "external-icon" }))) : (
|
|
33
|
+
// dummy spacer to keep items aligned
|
|
34
|
+
react_1.default.createElement("span", { style: {
|
|
35
|
+
margin: '12px',
|
|
36
|
+
width: '24px',
|
|
37
|
+
height: '24px',
|
|
38
|
+
display: 'inline-block',
|
|
39
|
+
verticalAlign: 'middle'
|
|
40
|
+
} }))));
|
|
41
|
+
})));
|
|
42
|
+
};
|
|
43
|
+
exports.RoleCell = RoleCell;
|
|
44
|
+
var mapStateToProps = function (state) {
|
|
45
|
+
if (!state.models.user || !state.models.user.userInfo) {
|
|
46
|
+
throw new Error('Current user id is not stored in redux');
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
currentUserId: state.models.user.userInfo.id
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
exports.mapStateToProps = mapStateToProps;
|
|
53
|
+
exports.default = react_redux_1.connect(exports.mapStateToProps)(exports.RoleCell);
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { ReactElement } from 'react';
|
|
2
|
-
import { OverlayInjectedProps } from 'react-bootstrap/Overlay';
|
|
3
|
-
export interface RoleSelectProps {
|
|
4
|
-
className?: string;
|
|
5
|
-
options: string[];
|
|
6
|
-
value: string;
|
|
7
|
-
onChange: any;
|
|
8
|
-
controlId?: string;
|
|
9
|
-
labelVisible?: boolean;
|
|
10
|
-
popoverContentComponent?: ReactElement<OverlayInjectedProps>;
|
|
11
|
-
textForRole?: (role: string) => string;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Create a selector which will be properly labeled based on the number of options and provided content.
|
|
15
|
-
*
|
|
16
|
-
* @param {string} props.className - CSS class passed to the selector FormControl component
|
|
17
|
-
* @param {string[]} props.options - Array of options the user can choose from
|
|
18
|
-
* @param {string} props.value - Currently selected value
|
|
19
|
-
* @param {function} props.onChange - Function that is called when the value changes
|
|
20
|
-
* @param {string} props.controlId - Id for the selector
|
|
21
|
-
* @param {boolean} props.labelVisible - Whether the label text should be visible
|
|
22
|
-
* @param {ReactNode} props.popoverContentComponent - Content of the popover tooltip
|
|
23
|
-
*
|
|
24
|
-
* @returns {ReactElement} Selector and label component
|
|
25
|
-
*/
|
|
26
|
-
declare const RoleSelect: (props: RoleSelectProps) => JSX.Element;
|
|
27
|
-
export default RoleSelect;
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { OverlayInjectedProps } from 'react-bootstrap/Overlay';
|
|
3
|
+
export interface RoleSelectProps {
|
|
4
|
+
className?: string;
|
|
5
|
+
options: string[];
|
|
6
|
+
value: string;
|
|
7
|
+
onChange: any;
|
|
8
|
+
controlId?: string;
|
|
9
|
+
labelVisible?: boolean;
|
|
10
|
+
popoverContentComponent?: ReactElement<OverlayInjectedProps>;
|
|
11
|
+
textForRole?: (role: string) => string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Create a selector which will be properly labeled based on the number of options and provided content.
|
|
15
|
+
*
|
|
16
|
+
* @param {string} props.className - CSS class passed to the selector FormControl component
|
|
17
|
+
* @param {string[]} props.options - Array of options the user can choose from
|
|
18
|
+
* @param {string} props.value - Currently selected value
|
|
19
|
+
* @param {function} props.onChange - Function that is called when the value changes
|
|
20
|
+
* @param {string} props.controlId - Id for the selector
|
|
21
|
+
* @param {boolean} props.labelVisible - Whether the label text should be visible
|
|
22
|
+
* @param {ReactNode} props.popoverContentComponent - Content of the popover tooltip
|
|
23
|
+
*
|
|
24
|
+
* @returns {ReactElement} Selector and label component
|
|
25
|
+
*/
|
|
26
|
+
declare const RoleSelect: (props: RoleSelectProps) => JSX.Element;
|
|
27
|
+
export default RoleSelect;
|