studiokit-scaffolding-js 7.0.12-next.2.9 → 7.0.13-alpha.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/LICENSE +21 -21
- package/README.md +137 -137
- package/lib/components/ActionList.d.ts +2 -2
- package/lib/components/ActionList.js +87 -166
- package/lib/components/AlertDialog.d.ts +3 -3
- package/lib/components/AlertDialog.js +18 -133
- package/lib/components/AlertWithIcon.js +52 -93
- package/lib/components/ConnectedModal.d.ts +2 -1
- package/lib/components/ConnectedModal.js +37 -43
- package/lib/components/Dropdowns/GroupsDropdown.d.ts +4 -4
- package/lib/components/Dropdowns/GroupsDropdown.js +82 -69
- package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +2 -2
- package/lib/components/Dropdowns/ManagedNavDropdown.js +111 -99
- package/lib/components/Dropdowns/UserDropdown.js +70 -109
- package/lib/components/Dropdowns/index.js +11 -27
- package/lib/components/EntityOwnerList.d.ts +3 -3
- package/lib/components/EntityOwnerList.js +60 -52
- package/lib/components/Error.js +27 -107
- package/lib/components/ErrorBoundary.js +94 -133
- package/lib/components/ErrorMessage.d.ts +2 -2
- package/lib/components/ErrorMessage.js +14 -44
- package/lib/components/Forms/DateField.d.ts +2 -2
- package/lib/components/Forms/DateField.js +95 -63
- package/lib/components/Forms/TimeField.d.ts +2 -2
- package/lib/components/Forms/TimeField.js +108 -84
- package/lib/components/Forms/index.js +13 -27
- package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +2 -2
- package/lib/components/Groups/CreateEditCopySaveButtons.js +14 -102
- package/lib/components/Groups/ExternalGroups/Attach.d.ts +7 -6
- package/lib/components/Groups/ExternalGroups/Attach.js +188 -213
- package/lib/components/Groups/ExternalGroups/Table.js +76 -183
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +1 -5
- package/lib/components/Groups/RosterSyncInfo.js +49 -140
- package/lib/components/HOC/AccessibleAppComponent.d.ts +2 -2
- package/lib/components/HOC/AccessibleAppComponent.js +124 -101
- package/lib/components/HOC/ActivityRequiredComponent.d.ts +14 -14
- package/lib/components/HOC/ActivityRequiredComponent.js +107 -93
- package/lib/components/HOC/AsyncComponent.d.ts +9 -9
- package/lib/components/HOC/AsyncComponent.js +129 -53
- package/lib/components/HOC/AuthenticatedComponent.d.ts +4 -4
- package/lib/components/HOC/AuthenticatedComponent.js +96 -59
- package/lib/components/HOC/CollectionComponent.d.ts +12 -12
- package/lib/components/HOC/CollectionComponent.js +171 -171
- package/lib/components/HOC/CollectionFirstItemComponent.d.ts +13 -13
- package/lib/components/HOC/CollectionFirstItemComponent.js +94 -52
- package/lib/components/HOC/CollectionItemComponent.d.ts +9 -9
- package/lib/components/HOC/CollectionItemComponent.js +168 -169
- package/lib/components/HOC/ConnectedModalComponent.d.ts +9 -9
- package/lib/components/HOC/ConnectedModalComponent.js +140 -110
- package/lib/components/HOC/DataDependentComponent.d.ts +55 -3
- package/lib/components/HOC/DataDependentComponent.js +79 -30
- package/lib/components/HOC/EntityComponent.d.ts +13 -13
- package/lib/components/HOC/EntityComponent.js +112 -74
- package/lib/components/HOC/FullscreenModalComponent.d.ts +9 -9
- package/lib/components/HOC/FullscreenModalComponent.js +185 -165
- package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +2 -2
- package/lib/components/HOC/GroupActivityRequiredComponent.js +47 -48
- package/lib/components/HOC/GuidComponent.d.ts +1 -1
- package/lib/components/HOC/GuidComponent.js +68 -29
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +29 -28
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +65 -42
- package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +10 -10
- package/lib/components/HOC/ModelErrorRedirectComponent.js +94 -51
- package/lib/components/HOC/SearchPersistorComponent.d.ts +4 -4
- package/lib/components/HOC/SearchPersistorComponent.js +216 -243
- package/lib/components/HOC/UnauthenticatedComponent.d.ts +12 -12
- package/lib/components/HOC/UnauthenticatedComponent.js +82 -37
- package/lib/components/HOC/UserComponent.d.ts +1 -1
- package/lib/components/HOC/UserComponent.js +11 -12
- package/lib/components/Icons/IconAlphaList.js +20 -34
- package/lib/components/Icons/IconExternalUser.js +20 -34
- package/lib/components/Icons/IconImpersonation.js +20 -34
- package/lib/components/Icons/IconStopImpersonating.js +20 -34
- package/lib/components/Icons/IconTable.js +21 -35
- package/lib/components/Icons/IconTableDeleteCol.js +20 -34
- package/lib/components/Icons/IconTableDeleteRow.js +20 -34
- package/lib/components/Icons/IconTableInsertCol.js +20 -34
- package/lib/components/Icons/IconTableInsertRow.js +20 -34
- package/lib/components/Impersonation/Button.d.ts +2 -2
- package/lib/components/Impersonation/Button.js +56 -76
- package/lib/components/Impersonation/Link.d.ts +2 -2
- package/lib/components/Impersonation/Link.js +53 -76
- package/lib/components/Impersonation/UserDetail.css +22 -22
- package/lib/components/Impersonation/UserDetail.d.ts +2 -2
- package/lib/components/Impersonation/UserDetail.js +17 -66
- package/lib/components/Loading.js +21 -27
- package/lib/components/LockDownBrowser/Check.js +107 -194
- package/lib/components/LockDownBrowser/ExitButton.js +14 -27
- package/lib/components/LockDownBrowser/Launch.js +85 -70
- package/lib/components/Lti/Confirm.js +33 -152
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +2 -4
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +78 -170
- package/lib/components/Lti/Launch.js +49 -105
- package/lib/components/Lti/LaunchGroup.js +39 -85
- package/lib/components/ManageTable.d.ts +2 -1
- package/lib/components/ManageTable.js +104 -309
- package/lib/components/ManageTableNoDataComponent.js +22 -42
- package/lib/components/NewVersionAlert.d.ts +2 -2
- package/lib/components/NewVersionAlert.js +91 -82
- package/lib/components/NotFound.js +28 -87
- package/lib/components/Notifications.d.ts +4 -4
- package/lib/components/Notifications.js +169 -187
- package/lib/components/PaginationNextButton.js +21 -33
- package/lib/components/PaginationPreviousButton.js +21 -33
- package/lib/components/Quill/CustomToolbar.d.ts +2 -2
- package/lib/components/Quill/CustomToolbar.js +257 -432
- package/lib/components/Quill/Formats/Image.d.ts +25 -10
- package/lib/components/Quill/Formats/Image.js +86 -80
- package/lib/components/Quill/Formats/List.d.ts +3 -6
- package/lib/components/Quill/Formats/List.js +74 -52
- package/lib/components/Quill/Formats/Video.d.ts +1 -2
- package/lib/components/Quill/Formats/Video.js +45 -31
- package/lib/components/Quill/ImageDropModule.d.ts +1 -1
- package/lib/components/Quill/ImageDropModule.js +122 -149
- package/lib/components/Quill/ImageWarning.d.ts +2 -2
- package/lib/components/Quill/ImageWarning.js +32 -45
- package/lib/components/Quill/ImageWithAltTextModal.d.ts +1 -0
- package/lib/components/Quill/ImageWithAltTextModal.js +141 -425
- package/lib/components/Quill/Specs/CustomImageSpec.d.ts +1 -1
- package/lib/components/Quill/Specs/CustomImageSpec.js +51 -43
- package/lib/components/Quill/Specs/CustomVideoSpec.d.ts +1 -1
- package/lib/components/Quill/Specs/CustomVideoSpec.js +44 -35
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.d.ts +1 -2
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +121 -105
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +66 -53
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +67 -54
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.d.ts +1 -1
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +241 -225
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +99 -82
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +87 -76
- package/lib/components/Quill/TableModule/constants.js +41 -45
- package/lib/components/Quill/TableModule/index.css +171 -171
- package/lib/components/Quill/TableModule/index.d.ts +5 -14
- package/lib/components/Quill/TableModule/index.js +313 -373
- package/lib/components/Quill/TableModule/utils.js +45 -45
- package/lib/components/Quill/accessibilityFix.d.ts +1 -0
- package/lib/components/Quill/accessibilityFix.js +251 -235
- package/lib/components/Quill/index.js +32 -36
- package/lib/components/RefreshIndicator/Bordered.js +32 -48
- package/lib/components/RefreshIndicator/Inline.js +33 -48
- package/lib/components/RefreshIndicator/index.d.ts +2 -2
- package/lib/components/RefreshIndicator/index.js +113 -263
- package/lib/components/SearchControls.js +31 -216
- package/lib/components/SentryRoute.js +23 -10
- package/lib/components/Tables/RoleFilter.d.ts +4 -3
- package/lib/components/Tables/RoleFilter.js +46 -71
- package/lib/components/Tables/TextFilter.d.ts +3 -2
- package/lib/components/Tables/TextFilter.js +20 -62
- package/lib/components/UserRoles/Add.d.ts +3 -3
- package/lib/components/UserRoles/Add.js +161 -199
- package/lib/components/UserRoles/Context.js +9 -11
- package/lib/components/UserRoles/RoleCell.js +100 -180
- package/lib/components/UserRoles/Select.js +54 -157
- package/lib/components/UserRoles/Table.js +102 -221
- package/lib/components/UserRoles/index.d.ts +6 -6
- package/lib/components/UserRoles/index.js +466 -537
- package/lib/config/eslint/index.cjs +21 -0
- package/lib/config/eslint/lib/order.cjs +22 -0
- package/lib/config/eslint/lib/prettier.cjs +18 -0
- package/lib/config/eslint/lib/typescript.cjs +86 -0
- package/lib/config/eslint/react.cjs +9 -0
- package/lib/constants/baseActivity.js +26 -30
- package/lib/constants/baseRole.js +10 -14
- package/lib/constants/configuration.d.ts +1 -1
- package/lib/constants/configuration.js +39 -43
- package/lib/constants/externalProviderType.js +6 -10
- package/lib/constants/fetchErrorData.js +11 -15
- package/lib/constants/index.js +23 -137
- package/lib/constants/lockDownBrowser.js +24 -28
- package/lib/constants/mockData.d.ts +6 -4
- package/lib/constants/mockData.js +326 -385
- package/lib/constants/modelStatus.js +11 -15
- package/lib/constants/notificationType.js +8 -12
- package/lib/constants/operatingSystem.js +8 -12
- package/lib/constants/shard.js +7 -11
- package/lib/constants/table.js +21 -21
- package/lib/constants/tier.js +8 -12
- package/lib/constants/userRole.d.ts +2 -1
- package/lib/constants/userRole.js +17 -15
- package/lib/css/base/_base.css +98 -98
- package/lib/css/base/_typography.css +130 -130
- package/lib/css/components/_alert.css +86 -86
- package/lib/css/components/_bootstrap-grid.css +28 -28
- package/lib/css/components/_buttons.css +397 -397
- package/lib/css/components/_forms.css +101 -101
- package/lib/css/components/_menu.css +56 -56
- package/lib/css/components/_modals.css +46 -46
- package/lib/css/components/_quill.css +315 -315
- package/lib/css/components/_tables.css +497 -497
- package/lib/css/components/_tags.css +12 -12
- package/lib/css/index-with-variables.css +15 -15
- package/lib/css/index.css +14 -14
- package/lib/css/utils/_border.css +463 -463
- package/lib/css/utils/_color.css +317 -317
- package/lib/css/utils/_display.css +312 -305
- package/lib/css/utils/_general.css +48 -48
- package/lib/css/utils/_icon.css +16 -16
- package/lib/css/utils/_text.css +24 -25
- package/lib/css/utils/_width.css +60 -60
- package/lib/css/variables.css +84 -84
- package/lib/endpointMappings.js +193 -197
- package/lib/hooks/useCollection.js +65 -83
- package/lib/hooks/useCollectionConfiguration.d.ts +1 -0
- package/lib/hooks/useCollectionConfiguration.js +88 -185
- package/lib/hooks/useCollectionItem.js +58 -155
- package/lib/hooks/useGuid.js +10 -21
- package/lib/hooks/usePrevious.d.ts +1 -24
- package/lib/hooks/usePrevious.js +14 -84
- package/lib/index.js +36 -156
- package/lib/redux/actionCreator.d.ts +6 -6
- package/lib/redux/actionCreator.js +40 -51
- package/lib/redux/actions/AuthAction.js +31 -44
- package/lib/redux/actions/ModalAction.d.ts +1 -1
- package/lib/redux/actions/ModalAction.js +6 -10
- package/lib/redux/actions/ModelAction.d.ts +1 -1
- package/lib/redux/actions/ModelAction.js +49 -77
- package/lib/redux/actions/NotificationAction.js +6 -10
- package/lib/redux/actions/SearchAction.js +5 -9
- package/lib/redux/actions/index.js +16 -60
- package/lib/redux/configureReducers.d.ts +5 -2
- package/lib/redux/configureReducers.js +78 -67
- package/lib/redux/configureStore.d.ts +2 -2
- package/lib/redux/configureStore.js +115 -83
- package/lib/redux/helpers.js +2 -7
- package/lib/redux/reducers/authReducer.js +46 -52
- package/lib/redux/reducers/index.js +15 -41
- package/lib/redux/reducers/modalsReducer.js +52 -49
- package/lib/redux/reducers/modelsReducer.d.ts +2 -2
- package/lib/redux/reducers/modelsReducer.js +182 -183
- package/lib/redux/reducers/notificationsReducer.js +21 -26
- package/lib/redux/reducers/searchReducer.js +20 -26
- package/lib/redux/sagas/appInsightsSaga.js +62 -24
- package/lib/redux/sagas/authSaga.js +414 -287
- package/lib/redux/sagas/caliperSaga.js +263 -169
- package/lib/redux/sagas/clockOffsetSaga.js +77 -36
- package/lib/redux/sagas/configurationSaga.js +46 -13
- package/lib/redux/sagas/downtimeApiErrorSaga.d.ts +1 -0
- package/lib/redux/sagas/downtimeApiErrorSaga.js +64 -23
- package/lib/redux/sagas/errorSaga.d.ts +1 -0
- package/lib/redux/sagas/errorSaga.js +63 -29
- package/lib/redux/sagas/googleAnalyticsSaga.js +69 -29
- package/lib/redux/sagas/identityProviderSaga.js +69 -24
- package/lib/redux/sagas/initialDataLoadSaga.js +29 -38
- package/lib/redux/sagas/lockDownBrowserErrorSaga.d.ts +1 -0
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +81 -32
- package/lib/redux/sagas/modelFetchSaga.js +459 -379
- package/lib/redux/sagas/noStoreSaga.d.ts +1 -1
- package/lib/redux/sagas/noStoreSaga.js +101 -68
- package/lib/redux/sagas/postLoginDataSaga.js +79 -47
- package/lib/redux/sagas/postLoginRedirectSaga.js +71 -30
- package/lib/redux/sagas/rootSaga.js +137 -85
- package/lib/redux/sagas/sentrySaga.js +85 -29
- package/lib/redux/sagas/userIdSaga.js +54 -18
- package/lib/services/codeProviderService.js +29 -25
- package/lib/services/dateService.js +12 -14
- package/lib/services/documentService.js +13 -18
- package/lib/services/fetchService.js +168 -134
- package/lib/services/persistenceService.d.ts +4 -4
- package/lib/services/persistenceService.js +43 -45
- package/lib/services/ticketProviderService.js +33 -29
- package/lib/services/tokenPersistenceService.js +9 -13
- package/lib/services/windowService.js +17 -21
- package/lib/startup.d.ts +1 -1
- package/lib/startup.js +135 -132
- package/lib/types/AppConfiguration.js +1 -5
- package/lib/types/Artifact.js +7 -11
- package/lib/types/BaseReduxState.js +1 -5
- package/lib/types/Client.js +1 -5
- package/lib/types/Collection.d.ts +3 -3
- package/lib/types/Collection.js +1 -5
- package/lib/types/Configuration.js +1 -5
- package/lib/types/DeepLinkingResponseRequest.js +1 -5
- package/lib/types/DeletableModel.js +1 -5
- package/lib/types/Event.js +1 -5
- package/lib/types/ExternalGroup.js +1 -5
- package/lib/types/ExternalProvider.js +1 -5
- package/lib/types/ExternalTerm.js +1 -5
- package/lib/types/Group.js +1 -5
- package/lib/types/IdentityProvider.js +1 -5
- package/lib/types/LtiLaunch.js +1 -5
- package/lib/types/NameOnlyEntity.js +1 -5
- package/lib/types/Notification.d.ts +2 -2
- package/lib/types/Notification.js +1 -5
- package/lib/types/OptionalRecord.d.ts +1 -1
- package/lib/types/OptionalRecord.js +1 -5
- package/lib/types/OwnerSchedule.d.ts +1 -3
- package/lib/types/OwnerSchedule.js +1 -5
- package/lib/types/PropertyOfType.d.ts +3 -3
- package/lib/types/PropertyOfType.js +1 -5
- package/lib/types/Quill.js +1 -5
- package/lib/types/RoleDescription.d.ts +1 -0
- package/lib/types/RoleDescription.js +1 -5
- package/lib/types/Search.js +1 -5
- package/lib/types/SimpleLocation.js +1 -5
- package/lib/types/UniTime.js +1 -5
- package/lib/types/User.js +1 -5
- package/lib/types/UserRole.js +1 -5
- package/lib/types/auth/AuthState.js +1 -5
- package/lib/types/auth/CasV1LoginRequestBody.js +1 -5
- package/lib/types/auth/ClientCredentials.js +1 -5
- package/lib/types/auth/CodeProviderService.js +1 -5
- package/lib/types/auth/LocalLoginRequestBody.js +1 -5
- package/lib/types/auth/TicketProviderService.js +1 -5
- package/lib/types/auth/TokenPersistenceService.js +1 -5
- package/lib/types/auth/index.js +18 -82
- package/lib/types/index.js +39 -313
- package/lib/types/net/EndpointConfig.js +1 -5
- package/lib/types/net/EndpointMapping.js +1 -5
- package/lib/types/net/EndpointMappings.js +1 -5
- package/lib/types/net/ErrorHandler.d.ts +1 -1
- package/lib/types/net/ErrorHandler.js +1 -5
- package/lib/types/net/FetchConfig.d.ts +1 -1
- package/lib/types/net/FetchConfig.js +1 -5
- package/lib/types/net/FetchErrorData.js +6 -10
- package/lib/types/net/FetchResult.d.ts +2 -2
- package/lib/types/net/FetchResult.js +1 -5
- package/lib/types/net/HTTPMethod.d.ts +1 -1
- package/lib/types/net/HTTPMethod.js +1 -5
- package/lib/types/net/HTTPStatusCode.js +12 -16
- package/lib/types/net/Metadata.js +1 -5
- package/lib/types/net/Model.js +1 -5
- package/lib/types/net/ModelCollection.js +1 -5
- package/lib/types/net/ModelsState.js +1 -5
- package/lib/types/net/OAuthToken.js +1 -5
- package/lib/types/net/OAuthTokenOrNull.d.ts +1 -1
- package/lib/types/net/OAuthTokenOrNull.js +1 -5
- package/lib/types/net/TokenAccessFunction.d.ts +1 -1
- package/lib/types/net/TokenAccessFunction.js +1 -5
- package/lib/types/net/index.js +27 -181
- package/lib/utils/baseActivity.d.ts +2 -2
- package/lib/utils/baseActivity.js +136 -138
- package/lib/utils/baseRole.js +33 -37
- package/lib/utils/collection.js +310 -432
- package/lib/utils/cookies.js +37 -22
- package/lib/utils/date.js +320 -320
- package/lib/utils/dom.js +174 -186
- package/lib/utils/domainIdentifier.js +9 -9
- package/lib/utils/entityUserRole.js +2 -6
- package/lib/utils/error.d.ts +1 -1
- package/lib/utils/error.js +16 -18
- package/lib/utils/events.js +33 -40
- package/lib/utils/externalGroup.js +21 -25
- package/lib/utils/externalProviders.js +4 -8
- package/lib/utils/externalTerms.js +6 -9
- package/lib/utils/fetch.d.ts +1 -1
- package/lib/utils/fetch.js +185 -188
- package/lib/utils/group.js +9 -17
- package/lib/utils/groupDates.d.ts +1 -1
- package/lib/utils/groupDates.js +39 -43
- package/lib/utils/groupRoles.js +28 -28
- package/lib/utils/lockDownBrowser.js +12 -16
- package/lib/utils/logger.js +25 -30
- package/lib/utils/lti.js +5 -10
- package/lib/utils/model.d.ts +2 -2
- package/lib/utils/model.js +48 -39
- package/lib/utils/number.js +26 -23
- package/lib/utils/promise.d.ts +1 -6
- package/lib/utils/promise.js +15 -34
- package/lib/utils/quill.js +77 -66
- package/lib/utils/route.d.ts +2 -2
- package/lib/utils/route.js +60 -61
- package/lib/utils/search.d.ts +1 -1
- package/lib/utils/search.js +85 -78
- package/lib/utils/shard.js +41 -38
- package/lib/utils/sort.d.ts +3 -3
- package/lib/utils/sort.js +58 -62
- package/lib/utils/string.js +10 -14
- package/lib/utils/table.d.ts +3 -3
- package/lib/utils/table.js +36 -39
- package/lib/utils/timezone.js +26 -12
- package/lib/utils/url.d.ts +1 -2
- package/lib/utils/url.js +201 -146
- package/lib/utils/user.js +61 -59
- package/lib/utils/userAgent.js +11 -11
- package/lib/utils/userRole.d.ts +3 -3
- package/lib/utils/userRole.js +56 -58
- package/package.json +207 -226
- package/lib/config/eslint/index.d.ts +0 -2
- package/lib/config/eslint/index.js +0 -36
- package/lib/config/eslint/lib/order.d.ts +0 -3
- package/lib/config/eslint/lib/order.js +0 -30
- package/lib/config/eslint/lib/prettier.d.ts +0 -3
- package/lib/config/eslint/lib/prettier.js +0 -23
- package/lib/config/eslint/lib/typescript.d.ts +0 -2
- package/lib/config/eslint/lib/typescript.js +0 -98
- package/lib/config/eslint/react.d.ts +0 -2
- package/lib/config/eslint/react.js +0 -30
- package/lib/hooks/useEventCalback.d.ts +0 -14
- package/lib/hooks/useEventCalback.js +0 -51
- package/lib/types/externals.d.js +0 -2
|
@@ -1,228 +1,109 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(
|
|
5
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
6
13
|
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
25
|
exports.UserRolesTable = void 0;
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
$[5] = t1;
|
|
56
|
-
$[6] = t2;
|
|
57
|
-
$[7] = t3;
|
|
58
|
-
} else {
|
|
59
|
-
t1 = $[5];
|
|
60
|
-
t2 = $[6];
|
|
61
|
-
t3 = $[7];
|
|
62
|
-
}
|
|
63
|
-
columns = [t1, t2, t3];
|
|
64
|
-
if (roles.length > 0) {
|
|
65
|
-
let t4;
|
|
66
|
-
if ($[8] !== requiredRole || $[9] !== users) {
|
|
67
|
-
t4 = cell => {
|
|
68
|
-
const user = cell.value;
|
|
69
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_RoleCell.RoleCell, {
|
|
70
|
-
user: user,
|
|
71
|
-
requiredRoleCount: requiredRole ? users.filter(u_0 => u_0.roles.some(r_1 => r_1.role === requiredRole)).length : undefined
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
|
-
$[8] = requiredRole;
|
|
75
|
-
$[9] = users;
|
|
76
|
-
$[10] = t4;
|
|
77
|
-
} else {
|
|
78
|
-
t4 = $[10];
|
|
79
|
-
}
|
|
80
|
-
const t5 = (0, _RoleFilter.RoleFilter)(roles, textForRole, hasExternal);
|
|
81
|
-
let t6;
|
|
82
|
-
if ($[11] !== roles) {
|
|
83
|
-
t6 = (0, _userRole.sortByHighestAccessRole)(roles);
|
|
84
|
-
$[11] = roles;
|
|
85
|
-
$[12] = t6;
|
|
86
|
-
} else {
|
|
87
|
-
t6 = $[12];
|
|
88
|
-
}
|
|
89
|
-
let t7;
|
|
90
|
-
if ($[13] === Symbol.for("react.memo_cache_sentinel")) {
|
|
91
|
-
t7 = {
|
|
92
|
-
padding: "4px"
|
|
93
|
-
};
|
|
94
|
-
$[13] = t7;
|
|
95
|
-
} else {
|
|
96
|
-
t7 = $[13];
|
|
97
|
-
}
|
|
98
|
-
columns.push({
|
|
99
|
-
id: "role",
|
|
100
|
-
Header: "Role",
|
|
101
|
-
accessor: _temp3,
|
|
102
|
-
Cell: t4,
|
|
103
|
-
filterMethod: _RoleFilter.roleFilterMethod,
|
|
104
|
-
Filter: t5,
|
|
105
|
-
sortMethod: t6,
|
|
106
|
-
style: t7
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
$[0] = requiredRole;
|
|
110
|
-
$[1] = roles;
|
|
111
|
-
$[2] = textForRole;
|
|
112
|
-
$[3] = users;
|
|
113
|
-
$[4] = columns;
|
|
114
|
-
} else {
|
|
115
|
-
columns = $[4];
|
|
116
|
-
}
|
|
117
|
-
const [usersState, setUsersState] = (0, _react.useState)(users);
|
|
118
|
-
const [roleFilter, setRoleFilter] = (0, _react.useState)();
|
|
119
|
-
let t1;
|
|
120
|
-
if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
|
|
121
|
-
t1 = newFiltering => {
|
|
122
|
-
const newRoleFilter = newFiltering.find(_temp4);
|
|
123
|
-
setRoleFilter(newRoleFilter);
|
|
124
|
-
};
|
|
125
|
-
$[14] = t1;
|
|
126
|
-
} else {
|
|
127
|
-
t1 = $[14];
|
|
128
|
-
}
|
|
129
|
-
const onFilteredChange = t1;
|
|
130
|
-
let t2;
|
|
131
|
-
let t3;
|
|
132
|
-
if ($[15] !== roleFilter || $[16] !== users || $[17] !== usersState) {
|
|
133
|
-
t2 = () => {
|
|
134
|
-
let usersToDisplay = users;
|
|
135
|
-
if (roleFilter) {
|
|
136
|
-
usersToDisplay = users.map(u_1 => {
|
|
137
|
-
const newUser = (0, _lodash.merge)({}, u_1);
|
|
138
|
-
newUser.roles = u_1.roles.filter(r_2 => (0, _RoleFilter.roleUserRoleFilterMethod)(roleFilter, r_2));
|
|
139
|
-
return newUser;
|
|
26
|
+
var lodash_1 = require("lodash");
|
|
27
|
+
var react_1 = __importStar(require("react"));
|
|
28
|
+
var react_table_1 = __importDefault(require("react-table"));
|
|
29
|
+
var userRole_1 = require("../../utils/userRole");
|
|
30
|
+
var RoleFilter_1 = require("../Tables/RoleFilter");
|
|
31
|
+
var TextFilter_1 = require("../Tables/TextFilter");
|
|
32
|
+
var Context_1 = require("./Context");
|
|
33
|
+
var RoleCell_1 = require("./RoleCell");
|
|
34
|
+
var UserRolesTableComponent = function (_a) {
|
|
35
|
+
var id = _a.id, users = _a.users;
|
|
36
|
+
var _b = react_1.useContext(Context_1.UserRolesContext), roles = _b.roles, requiredRole = _b.requiredRole, textForRole = _b.textForRole;
|
|
37
|
+
var hasExternal = users.some(function (r) { return r.roles.some(function (r) { return userRole_1.isExternal(r); }); });
|
|
38
|
+
var columns = [
|
|
39
|
+
{
|
|
40
|
+
Header: 'First Name',
|
|
41
|
+
accessor: 'firstName',
|
|
42
|
+
filterMethod: TextFilter_1.textFilterMethod,
|
|
43
|
+
Filter: TextFilter_1.TextFilter
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
Header: 'Last Name',
|
|
47
|
+
accessor: 'lastName',
|
|
48
|
+
filterMethod: TextFilter_1.textFilterMethod,
|
|
49
|
+
Filter: TextFilter_1.TextFilter
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
Header: 'Email',
|
|
53
|
+
accessor: 'email',
|
|
54
|
+
filterMethod: TextFilter_1.textFilterMethod,
|
|
55
|
+
Filter: TextFilter_1.TextFilter
|
|
56
|
+
}
|
|
57
|
+
];
|
|
58
|
+
if (roles && roles.length > 0) {
|
|
59
|
+
columns.push({
|
|
60
|
+
id: 'role',
|
|
61
|
+
Header: 'Role',
|
|
62
|
+
accessor: function (u) { return u; },
|
|
63
|
+
Cell: function (cell) {
|
|
64
|
+
var user = cell.value;
|
|
65
|
+
return (react_1.default.createElement(RoleCell_1.RoleCell, { user: user, requiredRoleCount: requiredRole
|
|
66
|
+
? users.filter(function (u) { return u.roles.some(function (r) { return r.role === requiredRole; }); }).length
|
|
67
|
+
: undefined }));
|
|
68
|
+
},
|
|
69
|
+
filterMethod: RoleFilter_1.roleFilterMethod,
|
|
70
|
+
Filter: RoleFilter_1.RoleFilter(roles, textForRole, hasExternal),
|
|
71
|
+
sortMethod: userRole_1.sortByHighestAccessRole(roles),
|
|
72
|
+
style: { padding: '4px' }
|
|
140
73
|
});
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
74
|
+
}
|
|
75
|
+
var _c = react_1.useState(users), usersState = _c[0], setUsersState = _c[1];
|
|
76
|
+
var _d = react_1.useState(), roleFilter = _d[0], setRoleFilter = _d[1];
|
|
77
|
+
var onFilteredChange = function (newFiltering, column, value) {
|
|
78
|
+
var newRoleFilter = newFiltering.find(function (f) { return f.id === 'role'; });
|
|
79
|
+
setRoleFilter(newRoleFilter);
|
|
145
80
|
};
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
t5 = Object.keys(usersState);
|
|
173
|
-
$[21] = usersState;
|
|
174
|
-
$[22] = t5;
|
|
175
|
-
} else {
|
|
176
|
-
t5 = $[22];
|
|
177
|
-
}
|
|
178
|
-
let t6;
|
|
179
|
-
if ($[23] !== columns || $[24] !== t5.length || $[25] !== usersState) {
|
|
180
|
-
t6 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactTable.default, {
|
|
181
|
-
className: "-striped",
|
|
182
|
-
columns: columns,
|
|
183
|
-
data: usersState,
|
|
184
|
-
resizable: false,
|
|
185
|
-
filterable: true,
|
|
186
|
-
onFilteredChange: onFilteredChange,
|
|
187
|
-
defaultSorted: t4,
|
|
188
|
-
pageSize: t5.length,
|
|
189
|
-
showPagination: false
|
|
190
|
-
});
|
|
191
|
-
$[23] = columns;
|
|
192
|
-
$[24] = t5.length;
|
|
193
|
-
$[25] = usersState;
|
|
194
|
-
$[26] = t6;
|
|
195
|
-
} else {
|
|
196
|
-
t6 = $[26];
|
|
197
|
-
}
|
|
198
|
-
let t7;
|
|
199
|
-
if ($[27] !== id || $[28] !== t6) {
|
|
200
|
-
t7 = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
201
|
-
id: id,
|
|
202
|
-
className: "table-container",
|
|
203
|
-
children: t6
|
|
204
|
-
});
|
|
205
|
-
$[27] = id;
|
|
206
|
-
$[28] = t6;
|
|
207
|
-
$[29] = t7;
|
|
208
|
-
} else {
|
|
209
|
-
t7 = $[29];
|
|
210
|
-
}
|
|
211
|
-
return t7;
|
|
81
|
+
// update `usersState` when `users` or `roleFilter` changes
|
|
82
|
+
react_1.useEffect(function () {
|
|
83
|
+
var usersToDisplay = users;
|
|
84
|
+
// when the role filter is set, only show the matching userRoles in the table
|
|
85
|
+
if (roleFilter) {
|
|
86
|
+
usersToDisplay = users.map(function (u) {
|
|
87
|
+
var newUser = lodash_1.merge({}, u);
|
|
88
|
+
newUser.roles = u.roles.filter(function (r) { return RoleFilter_1.roleUserRoleFilterMethod(roleFilter, r); });
|
|
89
|
+
return newUser;
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
if (!lodash_1.isEqual(usersToDisplay, usersState)) {
|
|
93
|
+
setUsersState(usersToDisplay);
|
|
94
|
+
}
|
|
95
|
+
}, [users, roleFilter, usersState]);
|
|
96
|
+
return (react_1.default.createElement("div", { id: id, className: "table-container" },
|
|
97
|
+
react_1.default.createElement(react_table_1.default, { className: "-striped", columns: columns, data: usersState, resizable: false, filterable: true, onFilteredChange: onFilteredChange, defaultSorted: [
|
|
98
|
+
{
|
|
99
|
+
id: 'lastName',
|
|
100
|
+
desc: false
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
id: 'firstName',
|
|
104
|
+
desc: false
|
|
105
|
+
}
|
|
106
|
+
], pageSize: Object.keys(usersState).length, showPagination: false })));
|
|
212
107
|
};
|
|
213
|
-
|
|
214
108
|
// similar to "shouldComponentUpdate", prevent unnecessary renders
|
|
215
|
-
|
|
216
|
-
function _temp(r_0) {
|
|
217
|
-
return (0, _userRole.isExternal)(r_0);
|
|
218
|
-
}
|
|
219
|
-
function _temp2(r) {
|
|
220
|
-
return r.roles.some(_temp);
|
|
221
|
-
}
|
|
222
|
-
function _temp3(u) {
|
|
223
|
-
return u;
|
|
224
|
-
}
|
|
225
|
-
function _temp4(f) {
|
|
226
|
-
return f.id === "role";
|
|
227
|
-
}
|
|
228
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3JlYWN0VGFibGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3VzZXJSb2xlIiwiX1JvbGVGaWx0ZXIiLCJfVGV4dEZpbHRlciIsIl9Db250ZXh0IiwiX1JvbGVDZWxsIiwiX2pzeFJ1bnRpbWUiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJkZWZhdWx0IiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJVc2VyUm9sZXNUYWJsZUNvbXBvbmVudCIsInQwIiwiJCIsIl9yZWFjdENvbXBpbGVyUnVudGltZSIsImMiLCJpZCIsInVzZXJzIiwicm9sZXMiLCJyZXF1aXJlZFJvbGUiLCJ0ZXh0Rm9yUm9sZSIsInVzZUNvbnRleHQiLCJVc2VyUm9sZXNDb250ZXh0IiwiY29sdW1ucyIsImhhc0V4dGVybmFsIiwic29tZSIsIl90ZW1wMiIsInQxIiwidDIiLCJ0MyIsIlN5bWJvbCIsImZvciIsIkhlYWRlciIsImFjY2Vzc29yIiwiZmlsdGVyTWV0aG9kIiwidGV4dEZpbHRlck1ldGhvZCIsIkZpbHRlciIsIlRleHRGaWx0ZXIiLCJsZW5ndGgiLCJ0NCIsImNlbGwiLCJ1c2VyIiwidmFsdWUiLCJqc3giLCJSb2xlQ2VsbCIsInJlcXVpcmVkUm9sZUNvdW50IiwiZmlsdGVyIiwidV8wIiwidSIsInJfMSIsInJvbGUiLCJ1bmRlZmluZWQiLCJ0NSIsIlJvbGVGaWx0ZXIiLCJ0NiIsInNvcnRCeUhpZ2hlc3RBY2Nlc3NSb2xlIiwidDciLCJwYWRkaW5nIiwicHVzaCIsIl90ZW1wMyIsIkNlbGwiLCJyb2xlRmlsdGVyTWV0aG9kIiwic29ydE1ldGhvZCIsInN0eWxlIiwidXNlcnNTdGF0ZSIsInNldFVzZXJzU3RhdGUiLCJ1c2VTdGF0ZSIsInJvbGVGaWx0ZXIiLCJzZXRSb2xlRmlsdGVyIiwibmV3RmlsdGVyaW5nIiwibmV3Um9sZUZpbHRlciIsImZpbmQiLCJfdGVtcDQiLCJvbkZpbHRlcmVkQ2hhbmdlIiwidXNlcnNUb0Rpc3BsYXkiLCJtYXAiLCJ1XzEiLCJuZXdVc2VyIiwibWVyZ2UiLCJyXzIiLCJyb2xlVXNlclJvbGVGaWx0ZXJNZXRob2QiLCJpc0VxdWFsIiwidXNlRWZmZWN0IiwiZGVzYyIsImtleXMiLCJjbGFzc05hbWUiLCJyZXNpemFibGUiLCJmaWx0ZXJhYmxlIiwiZGVmYXVsdFNvcnRlZCIsInBhZ2VTaXplIiwic2hvd1BhZ2luYXRpb24iLCJjaGlsZHJlbiIsIlVzZXJSb2xlc1RhYmxlIiwiZXhwb3J0cyIsIlJlYWN0IiwibWVtbyIsInByZXZQcm9wcyIsIm5leHRQcm9wcyIsIl90ZW1wIiwicl8wIiwiaXNFeHRlcm5hbCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1VzZXJSb2xlcy9UYWJsZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFcXVhbCwgbWVyZ2UgfSBmcm9tICdsb2Rhc2gnXHJcbmltcG9ydCBSZWFjdCwgeyBGdW5jdGlvbkNvbXBvbmVudCwgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQgUmVhY3RUYWJsZSwgeyBDb2x1bW4sIEZpbHRlciB9IGZyb20gJ3JlYWN0LXRhYmxlJ1xyXG5pbXBvcnQgeyBVc2VyV2l0aFJvbGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnXHJcbmltcG9ydCB7IGlzRXh0ZXJuYWwsIHNvcnRCeUhpZ2hlc3RBY2Nlc3NSb2xlIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXNlclJvbGUnXHJcbmltcG9ydCB7IFJvbGVGaWx0ZXIsIHJvbGVGaWx0ZXJNZXRob2QsIHJvbGVVc2VyUm9sZUZpbHRlck1ldGhvZCB9IGZyb20gJy4uL1RhYmxlcy9Sb2xlRmlsdGVyJ1xyXG5pbXBvcnQgeyBUZXh0RmlsdGVyLCB0ZXh0RmlsdGVyTWV0aG9kIH0gZnJvbSAnLi4vVGFibGVzL1RleHRGaWx0ZXInXHJcbmltcG9ydCB7IFVzZXJSb2xlc0NvbnRleHQgfSBmcm9tICcuL0NvbnRleHQnXHJcbmltcG9ydCB7IFJvbGVDZWxsIH0gZnJvbSAnLi9Sb2xlQ2VsbCdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlclJvbGVzVGFibGVQcm9wcyB7XHJcblx0aWQ/OiBzdHJpbmdcclxuXHR1c2VyczogVXNlcldpdGhSb2xlc1tdXHJcbn1cclxuXHJcbmNvbnN0IFVzZXJSb2xlc1RhYmxlQ29tcG9uZW50OiBGdW5jdGlvbkNvbXBvbmVudDxVc2VyUm9sZXNUYWJsZVByb3BzPiA9ICh7IGlkLCB1c2VycyB9KSA9PiB7XHJcblx0Y29uc3QgeyByb2xlcywgcmVxdWlyZWRSb2xlLCB0ZXh0Rm9yUm9sZSB9ID0gdXNlQ29udGV4dChVc2VyUm9sZXNDb250ZXh0KVxyXG5cclxuXHRjb25zdCBoYXNFeHRlcm5hbCA9IHVzZXJzLnNvbWUociA9PiByLnJvbGVzLnNvbWUociA9PiBpc0V4dGVybmFsKHIpKSlcclxuXHRjb25zdCBjb2x1bW5zOiBDb2x1bW5bXSA9IFtcclxuXHRcdHtcclxuXHRcdFx0SGVhZGVyOiAnRmlyc3QgTmFtZScsXHJcblx0XHRcdGFjY2Vzc29yOiAnZmlyc3ROYW1lJyxcclxuXHRcdFx0ZmlsdGVyTWV0aG9kOiB0ZXh0RmlsdGVyTWV0aG9kLFxyXG5cdFx0XHRGaWx0ZXI6IFRleHRGaWx0ZXJcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdEhlYWRlcjogJ0xhc3QgTmFtZScsXHJcblx0XHRcdGFjY2Vzc29yOiAnbGFzdE5hbWUnLFxyXG5cdFx0XHRmaWx0ZXJNZXRob2Q6IHRleHRGaWx0ZXJNZXRob2QsXHJcblx0XHRcdEZpbHRlcjogVGV4dEZpbHRlclxyXG5cdFx0fSxcclxuXHRcdHtcclxuXHRcdFx0SGVhZGVyOiAnRW1haWwnLFxyXG5cdFx0XHRhY2Nlc3NvcjogJ2VtYWlsJyxcclxuXHRcdFx0ZmlsdGVyTWV0aG9kOiB0ZXh0RmlsdGVyTWV0aG9kLFxyXG5cdFx0XHRGaWx0ZXI6IFRleHRGaWx0ZXJcclxuXHRcdH1cclxuXHRdXHJcblx0aWYgKHJvbGVzLmxlbmd0aCA+IDApIHtcclxuXHRcdGNvbHVtbnMucHVzaCh7XHJcblx0XHRcdGlkOiAncm9sZScsXHJcblx0XHRcdEhlYWRlcjogJ1JvbGUnLFxyXG5cdFx0XHRhY2Nlc3NvcjogdSA9PiB1LFxyXG5cdFx0XHRDZWxsOiBjZWxsID0+IHtcclxuXHRcdFx0XHRjb25zdCB1c2VyOiBVc2VyV2l0aFJvbGVzID0gY2VsbC52YWx1ZVxyXG5cdFx0XHRcdHJldHVybiAoXHJcblx0XHRcdFx0XHQ8Um9sZUNlbGxcclxuXHRcdFx0XHRcdFx0dXNlcj17dXNlcn1cclxuXHRcdFx0XHRcdFx0cmVxdWlyZWRSb2xlQ291bnQ9e1xyXG5cdFx0XHRcdFx0XHRcdHJlcXVpcmVkUm9sZVxyXG5cdFx0XHRcdFx0XHRcdFx0PyB1c2Vycy5maWx0ZXIodSA9PiB1LnJvbGVzLnNvbWUociA9PiByLnJvbGUgPT09IHJlcXVpcmVkUm9sZSkpLmxlbmd0aFxyXG5cdFx0XHRcdFx0XHRcdFx0OiB1bmRlZmluZWRcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHQpXHJcblx0XHRcdH0sXHJcblx0XHRcdGZpbHRlck1ldGhvZDogcm9sZUZpbHRlck1ldGhvZCxcclxuXHRcdFx0RmlsdGVyOiBSb2xlRmlsdGVyKHJvbGVzLCB0ZXh0Rm9yUm9sZSwgaGFzRXh0ZXJuYWwpLFxyXG5cdFx0XHRzb3J0TWV0aG9kOiBzb3J0QnlIaWdoZXN0QWNjZXNzUm9sZShyb2xlcyksXHJcblx0XHRcdHN0eWxlOiB7IHBhZGRpbmc6ICc0cHgnIH1cclxuXHRcdH0pXHJcblx0fVxyXG5cclxuXHRjb25zdCBbdXNlcnNTdGF0ZSwgc2V0VXNlcnNTdGF0ZV0gPSB1c2VTdGF0ZSh1c2VycylcclxuXHRjb25zdCBbcm9sZUZpbHRlciwgc2V0Um9sZUZpbHRlcl0gPSB1c2VTdGF0ZTxGaWx0ZXIgfCB1bmRlZmluZWQ+KClcclxuXHJcblx0Y29uc3Qgb25GaWx0ZXJlZENoYW5nZSA9IChuZXdGaWx0ZXJpbmc6IEZpbHRlcltdKSA9PiB7XHJcblx0XHRjb25zdCBuZXdSb2xlRmlsdGVyID0gbmV3RmlsdGVyaW5nLmZpbmQoZiA9PiBmLmlkID09PSAncm9sZScpXHJcblx0XHRzZXRSb2xlRmlsdGVyKG5ld1JvbGVGaWx0ZXIpXHJcblx0fVxyXG5cclxuXHQvLyB1cGRhdGUgYHVzZXJzU3RhdGVgIHdoZW4gYHVzZXJzYCBvciBgcm9sZUZpbHRlcmAgY2hhbmdlc1xyXG5cdHVzZUVmZmVjdCgoKSA9PiB7XHJcblx0XHRsZXQgdXNlcnNUb0Rpc3BsYXkgPSB1c2Vyc1xyXG5cdFx0Ly8gd2hlbiB0aGUgcm9sZSBmaWx0ZXIgaXMgc2V0LCBvbmx5IHNob3cgdGhlIG1hdGNoaW5nIHVzZXJSb2xlcyBpbiB0aGUgdGFibGVcclxuXHRcdGlmIChyb2xlRmlsdGVyKSB7XHJcblx0XHRcdHVzZXJzVG9EaXNwbGF5ID0gdXNlcnMubWFwKHUgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IG5ld1VzZXIgPSBtZXJnZSh7fSwgdSlcclxuXHRcdFx0XHRuZXdVc2VyLnJvbGVzID0gdS5yb2xlcy5maWx0ZXIociA9PiByb2xlVXNlclJvbGVGaWx0ZXJNZXRob2Qocm9sZUZpbHRlciwgcikpXHJcblx0XHRcdFx0cmV0dXJuIG5ld1VzZXJcclxuXHRcdFx0fSlcclxuXHRcdH1cclxuXHRcdGlmICghaXNFcXVhbCh1c2Vyc1RvRGlzcGxheSwgdXNlcnNTdGF0ZSkpIHtcclxuXHRcdFx0c2V0VXNlcnNTdGF0ZSh1c2Vyc1RvRGlzcGxheSlcclxuXHRcdH1cclxuXHR9LCBbdXNlcnMsIHJvbGVGaWx0ZXIsIHVzZXJzU3RhdGVdKVxyXG5cclxuXHRyZXR1cm4gKFxyXG5cdFx0PGRpdiBpZD17aWR9IGNsYXNzTmFtZT1cInRhYmxlLWNvbnRhaW5lclwiPlxyXG5cdFx0XHQ8UmVhY3RUYWJsZVxyXG5cdFx0XHRcdGNsYXNzTmFtZT17YC1zdHJpcGVkYH1cclxuXHRcdFx0XHRjb2x1bW5zPXtjb2x1bW5zfVxyXG5cdFx0XHRcdGRhdGE9e3VzZXJzU3RhdGV9XHJcblx0XHRcdFx0cmVzaXphYmxlPXtmYWxzZX1cclxuXHRcdFx0XHRmaWx0ZXJhYmxlXHJcblx0XHRcdFx0b25GaWx0ZXJlZENoYW5nZT17b25GaWx0ZXJlZENoYW5nZX1cclxuXHRcdFx0XHRkZWZhdWx0U29ydGVkPXtbXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdGlkOiAnbGFzdE5hbWUnLFxyXG5cdFx0XHRcdFx0XHRkZXNjOiBmYWxzZVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0aWQ6ICdmaXJzdE5hbWUnLFxyXG5cdFx0XHRcdFx0XHRkZXNjOiBmYWxzZVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdF19XHJcblx0XHRcdFx0cGFnZVNpemU9e09iamVjdC5rZXlzKHVzZXJzU3RhdGUpLmxlbmd0aH1cclxuXHRcdFx0XHRzaG93UGFnaW5hdGlvbj17ZmFsc2V9XHJcblx0XHRcdC8+XHJcblx0XHQ8L2Rpdj5cclxuXHQpXHJcbn1cclxuXHJcbi8vIHNpbWlsYXIgdG8gXCJzaG91bGRDb21wb25lbnRVcGRhdGVcIiwgcHJldmVudCB1bm5lY2Vzc2FyeSByZW5kZXJzXHJcbmV4cG9ydCBjb25zdCBVc2VyUm9sZXNUYWJsZSA9IFJlYWN0Lm1lbW8oXHJcblx0VXNlclJvbGVzVGFibGVDb21wb25lbnQsXHJcblx0KHByZXZQcm9wczogVXNlclJvbGVzVGFibGVQcm9wcywgbmV4dFByb3BzOiBVc2VyUm9sZXNUYWJsZVByb3BzKSA9PiBpc0VxdWFsKHByZXZQcm9wcywgbmV4dFByb3BzKVxyXG4pXHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFB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
|
|
109
|
+
exports.UserRolesTable = react_1.default.memo(UserRolesTableComponent, function (prevProps, nextProps) { return lodash_1.isEqual(prevProps, nextProps); });
|
|
@@ -47,9 +47,9 @@ export interface UserRolesOwnProps extends CollectionComponentWrappedProps<UserR
|
|
|
47
47
|
/** (Optional) Callback that is called after a user role is removed */
|
|
48
48
|
onRemove?: (userRole: UserRole) => void;
|
|
49
49
|
/** (Optional) Render custom components between the Add and Table components */
|
|
50
|
-
renderTableDescription?: (canModify?: boolean) =>
|
|
50
|
+
renderTableDescription?: (canModify?: boolean) => JSX.Element;
|
|
51
51
|
/** (Optional) Render custom components at the start of the Add component */
|
|
52
|
-
renderAddDescription?: (entityName?: string) =>
|
|
52
|
+
renderAddDescription?: (entityName?: string) => JSX.Element;
|
|
53
53
|
/** (Optional) Provide custom user-friendly names for displayed roles */
|
|
54
54
|
textForRole?: (role: string) => string;
|
|
55
55
|
/** (Optional) Provide custom user-friendly names for displayed roles that require custom casing */
|
|
@@ -61,7 +61,7 @@ export interface UserRolesProps extends UserRolesReduxProps, UserRolesOwnProps {
|
|
|
61
61
|
}
|
|
62
62
|
interface UserRolesState {
|
|
63
63
|
sortedUsers: UserWithRoles[];
|
|
64
|
-
addUsersHookId:
|
|
64
|
+
addUsersHookId: any;
|
|
65
65
|
isAdding: boolean;
|
|
66
66
|
identifiersToAdd?: string[];
|
|
67
67
|
roleForAdd?: string;
|
|
@@ -101,11 +101,11 @@ export declare class UserRoles extends Component<UserRolesProps, UserRolesState>
|
|
|
101
101
|
didUpdate: (isSuccess: boolean) => void;
|
|
102
102
|
alertRemoveUserRole: (userRoleToRemove: UserRole) => void;
|
|
103
103
|
removeUserRoleTitle: (roleForRemove: string) => string;
|
|
104
|
-
renderRemoveUserRoleDescription: (userRoleToRemove: UserRole, warning?:
|
|
104
|
+
renderRemoveUserRoleDescription: (userRoleToRemove: UserRole, warning?: JSX.Element | undefined) => React.JSX.Element;
|
|
105
105
|
removeUserRole: (shouldRemove: boolean) => void;
|
|
106
106
|
didRemove: (isSuccess: boolean) => void;
|
|
107
|
-
render():
|
|
107
|
+
render(): React.JSX.Element;
|
|
108
108
|
}
|
|
109
109
|
export declare const mapStateToProps: (state: BaseReduxState, ownProps: UserRolesOwnProps) => UserRolesReduxProps;
|
|
110
|
-
declare const _default: import("react-redux").ConnectedComponent<typeof UserRoles,
|
|
110
|
+
declare const _default: import("react-redux").ConnectedComponent<typeof UserRoles, Pick<React.ClassAttributes<UserRoles> & UserRolesProps, "guid" | "ref" | "modelName" | "pathParams" | "queryParams" | "externalProviders" | "model" | "key" | "readOnly" | "entityName" | "load" | "disableAutoLoad" | "disableAutoLoadOnParamsChange" | "modelArray" | "stopPeriodicLoad" | "create" | "update" | "delete" | "modelStatus" | "previousModelStatus" | "fetchingId" | "textForRole" | "defaultRole" | "roleDescriptions" | "renderAddDescription" | "isUpdateDisabled" | "isDeleteDisabled" | "allowMultipleRoles" | "requiredRole" | "isAddDisabled" | "modifyUserRoleActivityName" | "deleteOwnUserRoleActivityName" | "addRoleExcludeList" | "entity" | "filterUsers" | "onAdd" | "onUpdate" | "onRemove" | "renderTableDescription" | "lowercaseTextForRole" | "singularArticleForRole"> & UserRolesOwnProps>;
|
|
111
111
|
export default _default;
|