studiokit-scaffolding-js 7.0.12-next.1.3 → 7.0.12-next.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/ActionList.js +164 -37
- package/lib/components/AlertDialog.js +128 -12
- package/lib/components/AlertWithIcon.js +88 -29
- package/lib/components/ConnectedModal.js +35 -12
- package/lib/components/Dropdowns/GroupsDropdown.js +63 -45
- package/lib/components/Dropdowns/ManagedNavDropdown.js +92 -67
- package/lib/components/Dropdowns/UserDropdown.js +105 -24
- package/lib/components/Dropdowns/index.js +4 -10
- package/lib/components/EntityOwnerList.js +47 -21
- package/lib/components/Error.js +101 -12
- package/lib/components/ErrorBoundary.js +127 -38
- package/lib/components/ErrorMessage.js +39 -12
- package/lib/components/Forms/DateField.js +56 -45
- package/lib/components/Forms/TimeField.js +76 -45
- package/lib/components/Forms/index.js +3 -5
- package/lib/components/Groups/CreateEditCopySaveButtons.js +109 -14
- package/lib/components/Groups/ExternalGroups/Attach.js +206 -151
- package/lib/components/Groups/ExternalGroups/Table.js +176 -48
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
- package/lib/components/Groups/RosterSyncInfo.js +142 -23
- package/lib/components/HOC/AccessibleAppComponent.js +88 -72
- package/lib/components/HOC/ActivityRequiredComponent.js +68 -33
- package/lib/components/HOC/AsyncComponent.js +49 -41
- package/lib/components/HOC/AuthenticatedComponent.js +55 -44
- package/lib/components/HOC/CollectionComponent.js +154 -104
- package/lib/components/HOC/CollectionFirstItemComponent.js +45 -40
- package/lib/components/HOC/CollectionItemComponent.js +152 -100
- package/lib/components/HOC/ConnectedModalComponent.js +87 -69
- package/lib/components/HOC/DataDependentComponent.js +26 -27
- package/lib/components/HOC/EntityComponent.js +57 -53
- package/lib/components/HOC/FullscreenModalComponent.js +139 -108
- package/lib/components/HOC/GroupActivityRequiredComponent.js +27 -20
- package/lib/components/HOC/GuidComponent.js +20 -20
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +32 -29
- package/lib/components/HOC/ModelErrorRedirectComponent.js +37 -39
- package/lib/components/HOC/SearchPersistorComponent.js +237 -173
- package/lib/components/HOC/UnauthenticatedComponent.js +32 -30
- package/lib/components/HOC/UserComponent.js +6 -8
- package/lib/components/Icons/IconAlphaList.js +28 -8
- package/lib/components/Icons/IconExternalUser.js +28 -8
- package/lib/components/Icons/IconImpersonation.js +28 -8
- package/lib/components/Icons/IconStopImpersonating.js +28 -8
- package/lib/components/Icons/IconTable.js +29 -9
- package/lib/components/Icons/IconTableDeleteCol.js +28 -8
- package/lib/components/Icons/IconTableDeleteRow.js +28 -8
- package/lib/components/Icons/IconTableInsertCol.js +28 -8
- package/lib/components/Icons/IconTableInsertRow.js +28 -8
- package/lib/components/Impersonation/Button.js +71 -16
- package/lib/components/Impersonation/Link.js +72 -16
- package/lib/components/Impersonation/UserDetail.js +60 -11
- package/lib/components/Loading.js +23 -8
- package/lib/components/LockDownBrowser/Check.js +188 -51
- package/lib/components/LockDownBrowser/ExitButton.js +22 -13
- package/lib/components/LockDownBrowser/Launch.js +64 -64
- package/lib/components/Lti/Confirm.js +147 -14
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +165 -36
- package/lib/components/Lti/Launch.js +99 -25
- package/lib/components/Lti/LaunchGroup.js +81 -16
- package/lib/components/ManageTable.js +304 -90
- package/lib/components/ManageTableNoDataComponent.js +38 -7
- package/lib/components/NewVersionAlert.js +76 -49
- package/lib/components/NotFound.js +81 -11
- package/lib/components/Notifications.js +179 -129
- package/lib/components/PaginationNextButton.js +28 -9
- package/lib/components/PaginationPreviousButton.js +28 -9
- package/lib/components/Quill/CustomToolbar.js +427 -222
- package/lib/components/Quill/Formats/Image.js +67 -67
- package/lib/components/Quill/Formats/List.js +38 -47
- package/lib/components/Quill/Formats/Video.js +23 -26
- package/lib/components/Quill/ImageDropModule.js +136 -114
- package/lib/components/Quill/ImageWarning.js +41 -12
- package/lib/components/Quill/ImageWithAltTextModal.js +420 -89
- package/lib/components/Quill/Specs/CustomImageSpec.js +32 -31
- package/lib/components/Quill/Specs/CustomVideoSpec.js +22 -23
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +89 -97
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +47 -50
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +48 -51
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +219 -224
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +75 -86
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +70 -73
- package/lib/components/Quill/TableModule/constants.js +40 -42
- package/lib/components/Quill/TableModule/index.js +357 -305
- package/lib/components/Quill/TableModule/utils.js +39 -48
- package/lib/components/Quill/accessibilityFix.js +219 -223
- package/lib/components/Quill/index.js +30 -33
- package/lib/components/RefreshIndicator/Bordered.js +44 -10
- package/lib/components/RefreshIndicator/Inline.js +43 -12
- package/lib/components/RefreshIndicator/index.js +257 -62
- package/lib/components/SearchControls.js +211 -14
- package/lib/components/SentryRoute.js +5 -7
- package/lib/components/Tables/RoleFilter.js +66 -38
- package/lib/components/Tables/TextFilter.js +58 -18
- package/lib/components/UserRoles/Add.js +193 -99
- package/lib/components/UserRoles/Context.js +3 -6
- package/lib/components/UserRoles/RoleCell.js +176 -75
- package/lib/components/UserRoles/Select.js +151 -20
- package/lib/components/UserRoles/Table.js +215 -82
- package/lib/components/UserRoles/index.js +526 -386
- package/lib/config/eslint/index.js +26 -29
- package/lib/config/eslint/lib/order.js +21 -28
- package/lib/config/eslint/lib/prettier.js +15 -19
- package/lib/config/eslint/lib/typescript.js +87 -113
- package/lib/config/eslint/react.js +18 -15
- package/lib/constants/baseActivity.js +26 -28
- package/lib/constants/baseRole.js +10 -12
- package/lib/constants/configuration.js +43 -55
- package/lib/constants/externalProviderType.js +6 -8
- package/lib/constants/fetchErrorData.js +10 -12
- package/lib/constants/index.js +13 -15
- package/lib/constants/lockDownBrowser.js +23 -25
- package/lib/constants/mockData.js +370 -300
- package/lib/constants/modelStatus.js +11 -13
- package/lib/constants/notificationType.js +8 -10
- package/lib/constants/operatingSystem.js +8 -10
- package/lib/constants/shard.js +7 -9
- package/lib/constants/table.js +18 -22
- package/lib/constants/tier.js +8 -10
- package/lib/constants/userRole.js +11 -8
- package/lib/endpointMappings.js +191 -182
- package/lib/hooks/useCollection.js +79 -65
- package/lib/hooks/useCollectionConfiguration.js +220 -80
- package/lib/hooks/useCollectionItem.js +151 -57
- package/lib/hooks/useGuid.js +16 -9
- package/lib/hooks/usePrevious.js +14 -13
- package/lib/index.js +11 -26
- package/lib/redux/actionCreator.js +44 -35
- package/lib/redux/actions/AuthAction.js +45 -32
- package/lib/redux/actions/ModalAction.js +6 -8
- package/lib/redux/actions/ModelAction.js +95 -43
- package/lib/redux/actions/NotificationAction.js +6 -8
- package/lib/redux/actions/SearchAction.js +5 -7
- package/lib/redux/actions/index.js +6 -8
- package/lib/redux/configureReducers.js +48 -46
- package/lib/redux/configureStore.js +77 -91
- package/lib/redux/helpers.js +2 -5
- package/lib/redux/reducers/authReducer.js +44 -43
- package/lib/redux/reducers/index.js +7 -14
- package/lib/redux/reducers/modalsReducer.js +43 -31
- package/lib/redux/reducers/modelsReducer.js +131 -137
- package/lib/redux/reducers/notificationsReducer.js +20 -20
- package/lib/redux/reducers/searchReducer.js +13 -13
- package/lib/redux/sagas/appInsightsSaga.js +19 -21
- package/lib/redux/sagas/authSaga.js +248 -234
- package/lib/redux/sagas/caliperSaga.js +142 -131
- package/lib/redux/sagas/clockOffsetSaga.js +29 -32
- package/lib/redux/sagas/configurationSaga.js +8 -10
- package/lib/redux/sagas/downtimeApiErrorSaga.js +16 -19
- package/lib/redux/sagas/errorSaga.js +23 -24
- package/lib/redux/sagas/googleAnalyticsSaga.js +24 -27
- package/lib/redux/sagas/identityProviderSaga.js +19 -21
- package/lib/redux/sagas/initialDataLoadSaga.js +34 -31
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +25 -22
- package/lib/redux/sagas/modelFetchSaga.js +302 -286
- package/lib/redux/sagas/noStoreSaga.js +60 -61
- package/lib/redux/sagas/postLoginDataSaga.js +37 -32
- package/lib/redux/sagas/postLoginRedirectSaga.js +22 -27
- package/lib/redux/sagas/rootSaga.js +77 -60
- package/lib/redux/sagas/sentrySaga.js +25 -28
- package/lib/redux/sagas/userIdSaga.js +13 -15
- package/lib/services/codeProviderService.js +21 -21
- package/lib/services/dateService.js +6 -8
- package/lib/services/documentService.js +10 -11
- package/lib/services/fetchService.js +103 -95
- package/lib/services/persistenceService.js +27 -30
- package/lib/services/ticketProviderService.js +25 -25
- package/lib/services/tokenPersistenceService.js +8 -10
- package/lib/services/windowService.js +14 -16
- package/lib/startup.js +110 -101
- package/lib/types/AppConfiguration.js +2 -2
- package/lib/types/Artifact.js +7 -9
- package/lib/types/BaseReduxState.js +2 -2
- package/lib/types/Client.js +2 -2
- package/lib/types/Collection.js +2 -2
- package/lib/types/Configuration.js +2 -2
- package/lib/types/DeepLinkingResponseRequest.js +2 -2
- package/lib/types/DeletableModel.js +2 -2
- package/lib/types/Event.js +2 -2
- package/lib/types/ExternalGroup.js +2 -2
- package/lib/types/ExternalProvider.js +2 -2
- package/lib/types/ExternalTerm.js +2 -2
- package/lib/types/Group.js +2 -2
- package/lib/types/IdentityProvider.js +2 -2
- package/lib/types/LtiLaunch.js +2 -2
- package/lib/types/NameOnlyEntity.js +2 -2
- package/lib/types/Notification.js +2 -2
- package/lib/types/OptionalRecord.js +2 -2
- package/lib/types/OwnerSchedule.js +2 -2
- package/lib/types/PropertyOfType.js +2 -2
- package/lib/types/Quill.js +2 -2
- package/lib/types/RoleDescription.js +2 -2
- package/lib/types/Search.js +2 -2
- package/lib/types/SimpleLocation.js +2 -2
- package/lib/types/UniTime.js +2 -2
- package/lib/types/User.js +2 -2
- package/lib/types/UserRole.js +2 -2
- package/lib/types/auth/AuthState.js +2 -2
- package/lib/types/auth/CasV1LoginRequestBody.js +2 -2
- package/lib/types/auth/ClientCredentials.js +2 -2
- package/lib/types/auth/CodeProviderService.js +2 -2
- package/lib/types/auth/LocalLoginRequestBody.js +2 -2
- package/lib/types/auth/TicketProviderService.js +2 -2
- package/lib/types/auth/TokenPersistenceService.js +2 -2
- package/lib/types/auth/index.js +8 -10
- package/lib/types/externals.d.js +2 -0
- package/lib/types/index.js +29 -31
- package/lib/types/net/EndpointConfig.js +2 -2
- package/lib/types/net/EndpointMapping.js +2 -2
- package/lib/types/net/EndpointMappings.js +2 -2
- package/lib/types/net/ErrorHandler.js +2 -2
- package/lib/types/net/FetchConfig.js +2 -2
- package/lib/types/net/FetchErrorData.js +6 -8
- package/lib/types/net/FetchResult.js +2 -2
- package/lib/types/net/HTTPMethod.js +2 -2
- package/lib/types/net/HTTPStatusCode.js +12 -14
- package/lib/types/net/Metadata.js +2 -2
- package/lib/types/net/Model.js +2 -2
- package/lib/types/net/ModelCollection.js +2 -2
- package/lib/types/net/ModelsState.js +2 -2
- package/lib/types/net/OAuthToken.js +2 -2
- package/lib/types/net/OAuthTokenOrNull.js +2 -2
- package/lib/types/net/TokenAccessFunction.js +2 -2
- package/lib/types/net/index.js +17 -19
- package/lib/utils/baseActivity.js +83 -85
- package/lib/utils/baseRole.js +32 -36
- package/lib/utils/collection.js +403 -297
- package/lib/utils/cookies.js +19 -23
- package/lib/utils/date.js +188 -205
- package/lib/utils/dom.js +130 -131
- package/lib/utils/domainIdentifier.js +4 -8
- package/lib/utils/entityUserRole.js +2 -5
- package/lib/utils/error.js +14 -19
- package/lib/utils/events.js +32 -31
- package/lib/utils/externalGroup.js +20 -25
- package/lib/utils/externalProviders.js +4 -7
- package/lib/utils/externalTerms.js +6 -6
- package/lib/utils/fetch.js +168 -176
- package/lib/utils/group.js +14 -11
- package/lib/utils/groupDates.js +38 -46
- package/lib/utils/groupRoles.js +23 -32
- package/lib/utils/lockDownBrowser.js +12 -15
- package/lib/utils/logger.js +23 -28
- package/lib/utils/lti.js +4 -7
- package/lib/utils/model.js +28 -43
- package/lib/utils/number.js +9 -13
- package/lib/utils/promise.js +23 -26
- package/lib/utils/quill.js +55 -60
- package/lib/utils/route.js +52 -60
- package/lib/utils/search.js +72 -87
- package/lib/utils/shard.js +33 -42
- package/lib/utils/sort.js +47 -50
- package/lib/utils/string.js +10 -12
- package/lib/utils/table.js +29 -33
- package/lib/utils/timezone.js +7 -12
- package/lib/utils/url.js +130 -144
- package/lib/utils/user.js +54 -64
- package/lib/utils/userAgent.js +7 -14
- package/lib/utils/userRole.js +36 -39
- package/package.json +17 -3
|
@@ -1,48 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import { Component } from 'react';
|
|
3
|
+
import { Dropdown } from 'react-bootstrap';
|
|
4
|
+
import { connect } from 'react-redux';
|
|
5
|
+
import { LinkContainer } from 'react-router-bootstrap';
|
|
6
|
+
import { dispatchModelFetchRequest } from '../../redux/actionCreator';
|
|
7
|
+
import { isNowBeforeDate } from '../../utils/date';
|
|
8
|
+
import { filterGroupsByEndDate } from '../../utils/groupDates';
|
|
9
|
+
import { groupsAsAnythingButLearner, groupsAsLearner } from '../../utils/groupRoles';
|
|
10
|
+
import { sortByNameNatural } from '../../utils/sort';
|
|
11
|
+
import { ManagedNavDropdown } from './ManagedNavDropdown';
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
class GroupsDropdown extends Component {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
_defineProperty(this, "loadGroups", () => {
|
|
17
|
+
dispatchModelFetchRequest({
|
|
18
|
+
modelName: 'groups'
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
_defineProperty(this, "didToggle", isOpen => {
|
|
22
|
+
if (isOpen) {
|
|
23
|
+
this.loadGroups();
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
_defineProperty(this, "renderGroupMenu", groups => {
|
|
27
|
+
return groups.sort(sortByNameNatural).map(group => {
|
|
28
|
+
const groupURL = `/courses/${group.id}`;
|
|
29
|
+
return /*#__PURE__*/_jsx(LinkContainer, {
|
|
30
|
+
to: groupURL,
|
|
31
|
+
children: /*#__PURE__*/_jsx(Dropdown.Item, {
|
|
32
|
+
children: group.name
|
|
33
|
+
})
|
|
34
|
+
}, group.id);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
render() {
|
|
39
|
+
const {
|
|
40
|
+
title,
|
|
41
|
+
id,
|
|
42
|
+
groups,
|
|
43
|
+
externalTerms,
|
|
44
|
+
anyRoleButLearner
|
|
45
|
+
} = this.props;
|
|
46
|
+
const groupsFilteredByRole = anyRoleButLearner ? groupsAsAnythingButLearner(groups) : groupsAsLearner(groups);
|
|
47
|
+
const currentGroups = filterGroupsByEndDate(groupsFilteredByRole, externalTerms, isNowBeforeDate);
|
|
48
|
+
if (currentGroups.length === 0) {
|
|
49
|
+
return null;
|
|
40
50
|
}
|
|
51
|
+
return /*#__PURE__*/_jsx(ManagedNavDropdown, {
|
|
52
|
+
title: title,
|
|
53
|
+
id: id,
|
|
54
|
+
didToggle: this.didToggle,
|
|
55
|
+
children: this.renderGroupMenu(currentGroups)
|
|
56
|
+
});
|
|
57
|
+
}
|
|
41
58
|
}
|
|
42
|
-
const mapStateToProps =
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
59
|
+
const mapStateToProps = state => {
|
|
60
|
+
return {
|
|
61
|
+
groups: !!state.models && !!state.models.groups ? state.models.groups : {},
|
|
62
|
+
externalTerms: state.models.externalTerms
|
|
63
|
+
};
|
|
47
64
|
};
|
|
48
|
-
|
|
65
|
+
export default connect(mapStateToProps)(GroupsDropdown);
|
|
66
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJEcm9wZG93biIsImNvbm5lY3QiLCJMaW5rQ29udGFpbmVyIiwiZGlzcGF0Y2hNb2RlbEZldGNoUmVxdWVzdCIsImlzTm93QmVmb3JlRGF0ZSIsImZpbHRlckdyb3Vwc0J5RW5kRGF0ZSIsImdyb3Vwc0FzQW55dGhpbmdCdXRMZWFybmVyIiwiZ3JvdXBzQXNMZWFybmVyIiwic29ydEJ5TmFtZU5hdHVyYWwiLCJNYW5hZ2VkTmF2RHJvcGRvd24iLCJqc3giLCJfanN4IiwiR3JvdXBzRHJvcGRvd24iLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsIm1vZGVsTmFtZSIsImlzT3BlbiIsImxvYWRHcm91cHMiLCJncm91cHMiLCJzb3J0IiwibWFwIiwiZ3JvdXAiLCJncm91cFVSTCIsImlkIiwidG8iLCJjaGlsZHJlbiIsIkl0ZW0iLCJuYW1lIiwicmVuZGVyIiwidGl0bGUiLCJleHRlcm5hbFRlcm1zIiwiYW55Um9sZUJ1dExlYXJuZXIiLCJwcm9wcyIsImdyb3Vwc0ZpbHRlcmVkQnlSb2xlIiwiY3VycmVudEdyb3VwcyIsImxlbmd0aCIsImRpZFRvZ2dsZSIsInJlbmRlckdyb3VwTWVudSIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwibW9kZWxzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRHJvcGRvd25zL0dyb3Vwc0Ryb3Bkb3duLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJ1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4J1xuaW1wb3J0IHsgTGlua0NvbnRhaW5lciB9IGZyb20gJ3JlYWN0LXJvdXRlci1ib290c3RyYXAnXG5pbXBvcnQgeyBkaXNwYXRjaE1vZGVsRmV0Y2hSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vcmVkdXgvYWN0aW9uQ3JlYXRvcidcbmltcG9ydCB7IEV4dGVybmFsVGVybSwgR3JvdXAsIE1vZGVsQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgaXNOb3dCZWZvcmVEYXRlIH0gZnJvbSAnLi4vLi4vdXRpbHMvZGF0ZSdcbmltcG9ydCB7IGZpbHRlckdyb3Vwc0J5RW5kRGF0ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2dyb3VwRGF0ZXMnXG5pbXBvcnQgeyBncm91cHNBc0FueXRoaW5nQnV0TGVhcm5lciwgZ3JvdXBzQXNMZWFybmVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvZ3JvdXBSb2xlcydcbmltcG9ydCB7IHNvcnRCeU5hbWVOYXR1cmFsIH0gZnJvbSAnLi4vLi4vdXRpbHMvc29ydCdcbmltcG9ydCB7IE1hbmFnZWROYXZEcm9wZG93biB9IGZyb20gJy4vTWFuYWdlZE5hdkRyb3Bkb3duJ1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuXHR0aXRsZTogc3RyaW5nXG5cdGlkOiBzdHJpbmdcblx0Z3JvdXBzOiBNb2RlbENvbGxlY3Rpb248R3JvdXA+XG5cdGFueVJvbGVCdXRMZWFybmVyPzogYm9vbGVhblxuXHRleHRlcm5hbFRlcm1zOiBNb2RlbENvbGxlY3Rpb248RXh0ZXJuYWxUZXJtPlxufVxuXG5jbGFzcyBHcm91cHNEcm9wZG93biBleHRlbmRzIENvbXBvbmVudDxQcm9wcz4ge1xuXHRsb2FkR3JvdXBzID0gKCkgPT4ge1xuXHRcdGRpc3BhdGNoTW9kZWxGZXRjaFJlcXVlc3QoeyBtb2RlbE5hbWU6ICdncm91cHMnIH0pXG5cdH1cblxuXHRkaWRUb2dnbGUgPSAoaXNPcGVuOiBib29sZWFuKSA9PiB7XG5cdFx0aWYgKGlzT3Blbikge1xuXHRcdFx0dGhpcy5sb2FkR3JvdXBzKClcblx0XHR9XG5cdH1cblxuXHRyZW5kZXJHcm91cE1lbnUgPSAoZ3JvdXBzOiBHcm91cFtdKSA9PiB7XG5cdFx0cmV0dXJuIGdyb3Vwcy5zb3J0KHNvcnRCeU5hbWVOYXR1cmFsKS5tYXAoZ3JvdXAgPT4ge1xuXHRcdFx0Y29uc3QgZ3JvdXBVUkwgPSBgL2NvdXJzZXMvJHtncm91cC5pZH1gXG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHQ8TGlua0NvbnRhaW5lciBrZXk9e2dyb3VwLmlkfSB0bz17Z3JvdXBVUkx9PlxuXHRcdFx0XHRcdDxEcm9wZG93bi5JdGVtPntncm91cC5uYW1lfTwvRHJvcGRvd24uSXRlbT5cblx0XHRcdFx0PC9MaW5rQ29udGFpbmVyPlxuXHRcdFx0KVxuXHRcdH0pXG5cdH1cblxuXHRyZW5kZXIoKSB7XG5cdFx0Y29uc3QgeyB0aXRsZSwgaWQsIGdyb3VwcywgZXh0ZXJuYWxUZXJtcywgYW55Um9sZUJ1dExlYXJuZXIgfSA9IHRoaXMucHJvcHNcblx0XHRjb25zdCBncm91cHNGaWx0ZXJlZEJ5Um9sZSA9IGFueVJvbGVCdXRMZWFybmVyID8gZ3JvdXBzQXNBbnl0aGluZ0J1dExlYXJuZXIoZ3JvdXBzKSA6IGdyb3Vwc0FzTGVhcm5lcihncm91cHMpXG5cdFx0Y29uc3QgY3VycmVudEdyb3VwcyA9IGZpbHRlckdyb3Vwc0J5RW5kRGF0ZShncm91cHNGaWx0ZXJlZEJ5Um9sZSwgZXh0ZXJuYWxUZXJtcywgaXNOb3dCZWZvcmVEYXRlKVxuXHRcdGlmIChjdXJyZW50R3JvdXBzLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuIG51bGxcblx0XHR9XG5cdFx0cmV0dXJuIChcblx0XHRcdDxNYW5hZ2VkTmF2RHJvcGRvd24gdGl0bGU9e3RpdGxlfSBpZD17aWR9IGRpZFRvZ2dsZT17dGhpcy5kaWRUb2dnbGV9PlxuXHRcdFx0XHR7dGhpcy5yZW5kZXJHcm91cE1lbnUoY3VycmVudEdyb3Vwcyl9XG5cdFx0XHQ8L01hbmFnZWROYXZEcm9wZG93bj5cblx0XHQpXG5cdH1cbn1cblxuY29uc3QgbWFwU3RhdGVUb1Byb3BzID0gKHN0YXRlOiBhbnkpID0+IHtcblx0cmV0dXJuIHtcblx0XHRncm91cHM6ICEhc3RhdGUubW9kZWxzICYmICEhc3RhdGUubW9kZWxzLmdyb3VwcyA/IHN0YXRlLm1vZGVscy5ncm91cHMgOiB7fSxcblx0XHRleHRlcm5hbFRlcm1zOiBzdGF0ZS5tb2RlbHMuZXh0ZXJuYWxUZXJtc1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKShHcm91cHNEcm9wZG93bilcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFNBQVMsUUFBUSxPQUFPO0FBQ2pDLFNBQVNDLFFBQVEsUUFBUSxpQkFBaUI7QUFDMUMsU0FBU0MsT0FBTyxRQUFRLGFBQWE7QUFDckMsU0FBU0MsYUFBYSxRQUFRLHdCQUF3QjtBQUN0RCxTQUFTQyx5QkFBeUIsUUFBUSwyQkFBMkI7QUFFckUsU0FBU0MsZUFBZSxRQUFRLGtCQUFrQjtBQUNsRCxTQUFTQyxxQkFBcUIsUUFBUSx3QkFBd0I7QUFDOUQsU0FBU0MsMEJBQTBCLEVBQUVDLGVBQWUsUUFBUSx3QkFBd0I7QUFDcEYsU0FBU0MsaUJBQWlCLFFBQVEsa0JBQWtCO0FBQ3BELFNBQVNDLGtCQUFrQixRQUFRLHNCQUFzQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQVV6RCxNQUFNQyxjQUFjLFNBQVNiLFNBQVMsQ0FBUTtFQUFBYyxZQUFBO0lBQUEsU0FBQUMsU0FBQTtJQUFBQyxlQUFBLHFCQUNoQyxNQUFNO01BQ2xCWix5QkFBeUIsQ0FBQztRQUFFYSxTQUFTLEVBQUU7TUFBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUFBRCxlQUFBLG9CQUVZRSxNQUFlLElBQUs7TUFDaEMsSUFBSUEsTUFBTSxFQUFFO1FBQ1gsSUFBSSxDQUFDQyxVQUFVLENBQUMsQ0FBQztNQUNsQjtJQUNELENBQUM7SUFBQUgsZUFBQSwwQkFFa0JJLE1BQWUsSUFBSztNQUN0QyxPQUFPQSxNQUFNLENBQUNDLElBQUksQ0FBQ1osaUJBQWlCLENBQUMsQ0FBQ2EsR0FBRyxDQUFDQyxLQUFLLElBQUk7UUFDbEQsTUFBTUMsUUFBUSxHQUFHLFlBQVlELEtBQUssQ0FBQ0UsRUFBRSxFQUFFO1FBQ3ZDLG9CQUNDYixJQUFBLENBQUNULGFBQWE7VUFBZ0J1QixFQUFFLEVBQUVGLFFBQVM7VUFBQUcsUUFBQSxlQUMxQ2YsSUFBQSxDQUFDWCxRQUFRLENBQUMyQixJQUFJO1lBQUFELFFBQUEsRUFBRUosS0FBSyxDQUFDTTtVQUFJLENBQWdCO1FBQUMsR0FEeEJOLEtBQUssQ0FBQ0UsRUFFWCxDQUFDO01BRWxCLENBQUMsQ0FBQztJQUNILENBQUM7RUFBQTtFQUVESyxNQUFNQSxDQUFBLEVBQUc7SUFDUixNQUFNO01BQUVDLEtBQUs7TUFBRU4sRUFBRTtNQUFFTCxNQUFNO01BQUVZLGFBQWE7TUFBRUM7SUFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQ0MsS0FBSztJQUMxRSxNQUFNQyxvQkFBb0IsR0FBR0YsaUJBQWlCLEdBQUcxQiwwQkFBMEIsQ0FBQ2EsTUFBTSxDQUFDLEdBQUdaLGVBQWUsQ0FBQ1ksTUFBTSxDQUFDO0lBQzdHLE1BQU1nQixhQUFhLEdBQUc5QixxQkFBcUIsQ0FBQzZCLG9CQUFvQixFQUFFSCxhQUFhLEVBQUUzQixlQUFlLENBQUM7SUFDakcsSUFBSStCLGFBQWEsQ0FBQ0MsTUFBTSxLQUFLLENBQUMsRUFBRTtNQUMvQixPQUFPLElBQUk7SUFDWjtJQUNBLG9CQUNDekIsSUFBQSxDQUFDRixrQkFBa0I7TUFBQ3FCLEtBQUssRUFBRUEsS0FBTTtNQUFDTixFQUFFLEVBQUVBLEVBQUc7TUFBQ2EsU0FBUyxFQUFFLElBQUksQ0FBQ0EsU0FBVTtNQUFBWCxRQUFBLEVBQ2xFLElBQUksQ0FBQ1ksZUFBZSxDQUFDSCxhQUFhO0lBQUMsQ0FDakIsQ0FBQztFQUV2QjtBQUNEO0FBRUEsTUFBTUksZUFBZSxHQUFJQyxLQUFVLElBQUs7RUFDdkMsT0FBTztJQUNOckIsTUFBTSxFQUFFLENBQUMsQ0FBQ3FCLEtBQUssQ0FBQ0MsTUFBTSxJQUFJLENBQUMsQ0FBQ0QsS0FBSyxDQUFDQyxNQUFNLENBQUN0QixNQUFNLEdBQUdxQixLQUFLLENBQUNDLE1BQU0sQ0FBQ3RCLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDMUVZLGFBQWEsRUFBRVMsS0FBSyxDQUFDQyxNQUFNLENBQUNWO0VBQzdCLENBQUM7QUFDRixDQUFDO0FBRUQsZUFBZTlCLE9BQU8sQ0FBQ3NDLGVBQWUsQ0FBQyxDQUFDM0IsY0FBYyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,72 +1,97 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
EVENT_SOURCE["MOUSE_LEAVE"] = "mouseLeave";
|
|
11
|
-
})(EVENT_SOURCE || (EVENT_SOURCE = {}));
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import { Component } from 'react';
|
|
3
|
+
import { NavDropdown } from 'react-bootstrap';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
var EVENT_SOURCE = /*#__PURE__*/function (EVENT_SOURCE) {
|
|
6
|
+
EVENT_SOURCE["MOUSE_ENTER"] = "mouseEnter";
|
|
7
|
+
EVENT_SOURCE["MOUSE_LEAVE"] = "mouseLeave";
|
|
8
|
+
return EVENT_SOURCE;
|
|
9
|
+
}(EVENT_SOURCE || {});
|
|
12
10
|
/**
|
|
13
11
|
* @remarks
|
|
14
12
|
* A Wrapper around NavDropdown that manages its own `open` status, adding mouse enter and mouse leave triggers, as well as a `didToggle` callback.
|
|
15
13
|
*/
|
|
16
|
-
class ManagedNavDropdown extends
|
|
17
|
-
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
14
|
+
export class ManagedNavDropdown extends Component {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
_defineProperty(this, "state", {
|
|
18
|
+
isOpen: false,
|
|
19
|
+
lastSource: undefined,
|
|
20
|
+
areMouseEventsEnabled: true
|
|
21
|
+
});
|
|
22
|
+
_defineProperty(this, "updateWindowDimensions", () => {
|
|
23
|
+
this.setState({
|
|
24
|
+
areMouseEventsEnabled: window.innerWidth >= 815
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
_defineProperty(this, "onMouseEnter", () => {
|
|
28
|
+
if (!this.state.areMouseEventsEnabled) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this.setState({
|
|
32
|
+
isOpen: true,
|
|
33
|
+
lastSource: EVENT_SOURCE.MOUSE_ENTER
|
|
34
|
+
}, this.didToggle);
|
|
35
|
+
});
|
|
36
|
+
_defineProperty(this, "onMouseLeave", () => {
|
|
37
|
+
if (!this.state.areMouseEventsEnabled) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
this.setState({
|
|
41
|
+
isOpen: false,
|
|
42
|
+
lastSource: EVENT_SOURCE.MOUSE_LEAVE
|
|
43
|
+
}, this.didToggle);
|
|
44
|
+
});
|
|
45
|
+
// Source is an object with a source property, but we set it to be a string in our methods. If it's an object we know
|
|
46
|
+
// the last change wasn't from our mouse hover event
|
|
47
|
+
_defineProperty(this, "onToggle", (nextIsOpen, event, source) => {
|
|
48
|
+
const {
|
|
49
|
+
isOpen,
|
|
50
|
+
lastSource
|
|
51
|
+
} = this.state;
|
|
52
|
+
this.setState({
|
|
53
|
+
// do not toggle if we just opened the dropdown from a mouse event
|
|
54
|
+
isOpen: lastSource === EVENT_SOURCE.MOUSE_ENTER && isOpen ? isOpen : nextIsOpen,
|
|
55
|
+
lastSource: source
|
|
56
|
+
}, this.didToggle);
|
|
57
|
+
});
|
|
58
|
+
_defineProperty(this, "didToggle", () => {
|
|
59
|
+
const {
|
|
60
|
+
didToggle
|
|
61
|
+
} = this.props;
|
|
62
|
+
const {
|
|
63
|
+
isOpen
|
|
64
|
+
} = this.state;
|
|
65
|
+
if (didToggle) {
|
|
66
|
+
didToggle(isOpen);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
componentDidMount() {
|
|
71
|
+
this.updateWindowDimensions();
|
|
72
|
+
window.addEventListener('resize', this.updateWindowDimensions);
|
|
73
|
+
}
|
|
74
|
+
componentWillUnmount() {
|
|
75
|
+
window.removeEventListener('resize', this.updateWindowDimensions);
|
|
76
|
+
}
|
|
77
|
+
render() {
|
|
78
|
+
const {
|
|
79
|
+
isOpen
|
|
80
|
+
} = this.state;
|
|
81
|
+
|
|
82
|
+
// prevent custom props from being passed to child
|
|
83
|
+
const newProps = {
|
|
84
|
+
...this.props
|
|
85
|
+
};
|
|
86
|
+
delete newProps.didToggle;
|
|
87
|
+
return /*#__PURE__*/_jsx(NavDropdown, {
|
|
88
|
+
onToggle: this.onToggle,
|
|
89
|
+
onMouseEnter: this.onMouseEnter,
|
|
90
|
+
onMouseLeave: this.onMouseLeave,
|
|
91
|
+
show: isOpen,
|
|
92
|
+
alignRight: true,
|
|
93
|
+
...newProps
|
|
94
|
+
});
|
|
95
|
+
}
|
|
71
96
|
}
|
|
72
|
-
|
|
97
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJOYXZEcm9wZG93biIsImpzeCIsIl9qc3giLCJFVkVOVF9TT1VSQ0UiLCJNYW5hZ2VkTmF2RHJvcGRvd24iLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsImlzT3BlbiIsImxhc3RTb3VyY2UiLCJ1bmRlZmluZWQiLCJhcmVNb3VzZUV2ZW50c0VuYWJsZWQiLCJzZXRTdGF0ZSIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJzdGF0ZSIsIk1PVVNFX0VOVEVSIiwiZGlkVG9nZ2xlIiwiTU9VU0VfTEVBVkUiLCJuZXh0SXNPcGVuIiwiZXZlbnQiLCJzb3VyY2UiLCJwcm9wcyIsImNvbXBvbmVudERpZE1vdW50IiwidXBkYXRlV2luZG93RGltZW5zaW9ucyIsImFkZEV2ZW50TGlzdGVuZXIiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZW5kZXIiLCJuZXdQcm9wcyIsIm9uVG9nZ2xlIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwic2hvdyIsImFsaWduUmlnaHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Ecm9wZG93bnMvTWFuYWdlZE5hdkRyb3Bkb3duLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IE5hdkRyb3Bkb3duLCBOYXZEcm9wZG93blByb3BzIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJ1xuXG5lbnVtIEVWRU5UX1NPVVJDRSB7XG5cdE1PVVNFX0VOVEVSID0gJ21vdXNlRW50ZXInLFxuXHRNT1VTRV9MRUFWRSA9ICdtb3VzZUxlYXZlJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hbmFnZWROYXZEcm9wZG93blByb3BzIHtcblx0ZGlkVG9nZ2xlPzogKGlzT3BlbjogYm9vbGVhbikgPT4gdm9pZFxuXHRpZD86IHN0cmluZ1xuXHRjbGFzc05hbWU/OiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIFN0YXRlIHtcblx0aXNPcGVuOiBib29sZWFuXG5cdGxhc3RTb3VyY2U6IEVWRU5UX1NPVVJDRSB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkXG5cdGFyZU1vdXNlRXZlbnRzRW5hYmxlZDogYm9vbGVhblxufVxuXG4vKipcbiAqIEByZW1hcmtzXG4gKiBBIFdyYXBwZXIgYXJvdW5kIE5hdkRyb3Bkb3duIHRoYXQgbWFuYWdlcyBpdHMgb3duIGBvcGVuYCBzdGF0dXMsIGFkZGluZyBtb3VzZSBlbnRlciBhbmQgbW91c2UgbGVhdmUgdHJpZ2dlcnMsIGFzIHdlbGwgYXMgYSBgZGlkVG9nZ2xlYCBjYWxsYmFjay5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hbmFnZWROYXZEcm9wZG93biBleHRlbmRzIENvbXBvbmVudDxNYW5hZ2VkTmF2RHJvcGRvd25Qcm9wcyAmIE5hdkRyb3Bkb3duUHJvcHMsIFN0YXRlPiB7XG5cdHN0YXRlOiBTdGF0ZSA9IHtcblx0XHRpc09wZW46IGZhbHNlLFxuXHRcdGxhc3RTb3VyY2U6IHVuZGVmaW5lZCxcblx0XHRhcmVNb3VzZUV2ZW50c0VuYWJsZWQ6IHRydWVcblx0fVxuXG5cdGNvbXBvbmVudERpZE1vdW50KCkge1xuXHRcdHRoaXMudXBkYXRlV2luZG93RGltZW5zaW9ucygpXG5cdFx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMudXBkYXRlV2luZG93RGltZW5zaW9ucylcblx0fVxuXG5cdGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuXHRcdHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnVwZGF0ZVdpbmRvd0RpbWVuc2lvbnMpXG5cdH1cblxuXHR1cGRhdGVXaW5kb3dEaW1lbnNpb25zID0gKCkgPT4ge1xuXHRcdHRoaXMuc2V0U3RhdGUoeyBhcmVNb3VzZUV2ZW50c0VuYWJsZWQ6IHdpbmRvdy5pbm5lcldpZHRoID49IDgxNSB9KVxuXHR9XG5cblx0b25Nb3VzZUVudGVyID0gKCkgPT4ge1xuXHRcdGlmICghdGhpcy5zdGF0ZS5hcmVNb3VzZUV2ZW50c0VuYWJsZWQpIHtcblx0XHRcdHJldHVyblxuXHRcdH1cblx0XHR0aGlzLnNldFN0YXRlKHsgaXNPcGVuOiB0cnVlLCBsYXN0U291cmNlOiBFVkVOVF9TT1VSQ0UuTU9VU0VfRU5URVIgfSwgdGhpcy5kaWRUb2dnbGUpXG5cdH1cblxuXHRvbk1vdXNlTGVhdmUgPSAoKSA9PiB7XG5cdFx0aWYgKCF0aGlzLnN0YXRlLmFyZU1vdXNlRXZlbnRzRW5hYmxlZCkge1xuXHRcdFx0cmV0dXJuXG5cdFx0fVxuXHRcdHRoaXMuc2V0U3RhdGUoeyBpc09wZW46IGZhbHNlLCBsYXN0U291cmNlOiBFVkVOVF9TT1VSQ0UuTU9VU0VfTEVBVkUgfSwgdGhpcy5kaWRUb2dnbGUpXG5cdH1cblxuXHQvLyBTb3VyY2UgaXMgYW4gb2JqZWN0IHdpdGggYSBzb3VyY2UgcHJvcGVydHksIGJ1dCB3ZSBzZXQgaXQgdG8gYmUgYSBzdHJpbmcgaW4gb3VyIG1ldGhvZHMuIElmIGl0J3MgYW4gb2JqZWN0IHdlIGtub3dcblx0Ly8gdGhlIGxhc3QgY2hhbmdlIHdhc24ndCBmcm9tIG91ciBtb3VzZSBob3ZlciBldmVudFxuXHRvblRvZ2dsZSA9IChuZXh0SXNPcGVuOiBib29sZWFuLCBldmVudDogYW55LCBzb3VyY2U6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB7XG5cdFx0Y29uc3QgeyBpc09wZW4sIGxhc3RTb3VyY2UgfSA9IHRoaXMuc3RhdGVcblx0XHR0aGlzLnNldFN0YXRlKFxuXHRcdFx0e1xuXHRcdFx0XHQvLyBkbyBub3QgdG9nZ2xlIGlmIHdlIGp1c3Qgb3BlbmVkIHRoZSBkcm9wZG93biBmcm9tIGEgbW91c2UgZXZlbnRcblx0XHRcdFx0aXNPcGVuOiBsYXN0U291cmNlID09PSBFVkVOVF9TT1VSQ0UuTU9VU0VfRU5URVIgJiYgaXNPcGVuID8gaXNPcGVuIDogbmV4dElzT3Blbixcblx0XHRcdFx0bGFzdFNvdXJjZTogc291cmNlXG5cdFx0XHR9LFxuXHRcdFx0dGhpcy5kaWRUb2dnbGVcblx0XHQpXG5cdH1cblxuXHRkaWRUb2dnbGUgPSAoKSA9PiB7XG5cdFx0Y29uc3QgeyBkaWRUb2dnbGUgfSA9IHRoaXMucHJvcHNcblx0XHRjb25zdCB7IGlzT3BlbiB9ID0gdGhpcy5zdGF0ZVxuXHRcdGlmIChkaWRUb2dnbGUpIHtcblx0XHRcdGRpZFRvZ2dsZShpc09wZW4pXG5cdFx0fVxuXHR9XG5cblx0cmVuZGVyKCkge1xuXHRcdGNvbnN0IHsgaXNPcGVuIH0gPSB0aGlzLnN0YXRlXG5cblx0XHQvLyBwcmV2ZW50IGN1c3RvbSBwcm9wcyBmcm9tIGJlaW5nIHBhc3NlZCB0byBjaGlsZFxuXHRcdGNvbnN0IG5ld1Byb3BzOiBNYW5hZ2VkTmF2RHJvcGRvd25Qcm9wcyAmIE5hdkRyb3Bkb3duUHJvcHMgPSB7IC4uLnRoaXMucHJvcHMgfVxuXHRcdGRlbGV0ZSBuZXdQcm9wcy5kaWRUb2dnbGVcblxuXHRcdHJldHVybiAoXG5cdFx0XHQ8TmF2RHJvcGRvd25cblx0XHRcdFx0b25Ub2dnbGU9e3RoaXMub25Ub2dnbGV9XG5cdFx0XHRcdG9uTW91c2VFbnRlcj17dGhpcy5vbk1vdXNlRW50ZXJ9XG5cdFx0XHRcdG9uTW91c2VMZWF2ZT17dGhpcy5vbk1vdXNlTGVhdmV9XG5cdFx0XHRcdHNob3c9e2lzT3Blbn1cblx0XHRcdFx0YWxpZ25SaWdodFxuXHRcdFx0XHR7Li4ubmV3UHJvcHN9XG5cdFx0XHQvPlxuXHRcdClcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsU0FBUyxRQUFRLE9BQU87QUFDakMsU0FBU0MsV0FBVyxRQUEwQixpQkFBaUI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFBQSxJQUUxREMsWUFBWSwwQkFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBQSxPQUFaQSxZQUFZO0FBQUEsRUFBWkEsWUFBWTtBQWlCakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLE1B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
|
|
@@ -1,27 +1,108 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const IconStopImpersonating_1 = require("../Icons/IconStopImpersonating");
|
|
14
|
-
const UserDetail_1 = require("../Impersonation/UserDetail");
|
|
15
|
-
const ManagedNavDropdown_1 = require("./ManagedNavDropdown");
|
|
1
|
+
import { c as _c } from "react-compiler-runtime";
|
|
2
|
+
import Lock from '@material-ui/icons/Lock';
|
|
3
|
+
import React, { useState } from 'react';
|
|
4
|
+
import { NavDropdown } from 'react-bootstrap';
|
|
5
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
6
|
+
import { dispatchAction } from '../../redux/actionCreator';
|
|
7
|
+
import { AUTH_ACTION_TYPE } from '../../redux/actions';
|
|
8
|
+
import { displayFirstName, stopImpersonation } from '../../utils/user';
|
|
9
|
+
import { IconStopImpersonating } from '../Icons/IconStopImpersonating';
|
|
10
|
+
import { ImpersonationUserDetail } from '../Impersonation/UserDetail';
|
|
11
|
+
import { ManagedNavDropdown } from './ManagedNavDropdown';
|
|
12
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
13
|
const doLogOut = () => {
|
|
17
|
-
|
|
14
|
+
dispatchAction({
|
|
15
|
+
type: AUTH_ACTION_TYPE.LOG_OUT_REQUESTED
|
|
16
|
+
});
|
|
18
17
|
};
|
|
19
|
-
const UserDropdown =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
export const UserDropdown = t0 => {
|
|
19
|
+
const $ = _c(17);
|
|
20
|
+
let children;
|
|
21
|
+
let props;
|
|
22
|
+
let userInfo;
|
|
23
|
+
if ($[0] !== t0) {
|
|
24
|
+
({
|
|
25
|
+
userInfo,
|
|
26
|
+
children,
|
|
27
|
+
...props
|
|
28
|
+
} = t0);
|
|
29
|
+
$[0] = t0;
|
|
30
|
+
$[1] = children;
|
|
31
|
+
$[2] = props;
|
|
32
|
+
$[3] = userInfo;
|
|
33
|
+
} else {
|
|
34
|
+
children = $[1];
|
|
35
|
+
props = $[2];
|
|
36
|
+
userInfo = $[3];
|
|
37
|
+
}
|
|
38
|
+
let t1;
|
|
39
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
40
|
+
t1 = uuidv4();
|
|
41
|
+
$[4] = t1;
|
|
42
|
+
} else {
|
|
43
|
+
t1 = $[4];
|
|
44
|
+
}
|
|
45
|
+
const [guid] = useState(t1);
|
|
46
|
+
let t2;
|
|
47
|
+
if ($[5] !== props || $[6] !== userInfo) {
|
|
48
|
+
t2 = userInfo.isImpersonated ? /*#__PURE__*/_jsx(ImpersonationUserDetail, {
|
|
49
|
+
userInfo: userInfo,
|
|
50
|
+
...props
|
|
51
|
+
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
52
|
+
children: ["Hi, ", displayFirstName(userInfo)]
|
|
53
|
+
});
|
|
54
|
+
$[5] = props;
|
|
55
|
+
$[6] = userInfo;
|
|
56
|
+
$[7] = t2;
|
|
57
|
+
} else {
|
|
58
|
+
t2 = $[7];
|
|
59
|
+
}
|
|
60
|
+
const dropdownTitle = t2;
|
|
61
|
+
const t3 = `user-menu${userInfo.isImpersonated ? " user-menu-impersonated" : ""}`;
|
|
62
|
+
let t4;
|
|
63
|
+
if ($[8] !== guid || $[9] !== userInfo.isImpersonated) {
|
|
64
|
+
t4 = userInfo.isImpersonated && /*#__PURE__*/_jsxs(NavDropdown.Item, {
|
|
65
|
+
onSelect: () => {
|
|
66
|
+
stopImpersonation(guid);
|
|
67
|
+
},
|
|
68
|
+
children: [/*#__PURE__*/_jsx(IconStopImpersonating, {
|
|
69
|
+
className: "menu-icon"
|
|
70
|
+
}), "Stop Impersonating"]
|
|
71
|
+
});
|
|
72
|
+
$[8] = guid;
|
|
73
|
+
$[9] = userInfo.isImpersonated;
|
|
74
|
+
$[10] = t4;
|
|
75
|
+
} else {
|
|
76
|
+
t4 = $[10];
|
|
77
|
+
}
|
|
78
|
+
let t5;
|
|
79
|
+
if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
|
|
80
|
+
t5 = /*#__PURE__*/_jsxs(NavDropdown.Item, {
|
|
81
|
+
onSelect: doLogOut,
|
|
82
|
+
children: [/*#__PURE__*/_jsx(Lock, {
|
|
83
|
+
className: "menu-icon"
|
|
84
|
+
}), "Log Out"]
|
|
85
|
+
});
|
|
86
|
+
$[11] = t5;
|
|
87
|
+
} else {
|
|
88
|
+
t5 = $[11];
|
|
89
|
+
}
|
|
90
|
+
let t6;
|
|
91
|
+
if ($[12] !== children || $[13] !== dropdownTitle || $[14] !== t3 || $[15] !== t4) {
|
|
92
|
+
t6 = /*#__PURE__*/_jsxs(ManagedNavDropdown, {
|
|
93
|
+
id: "user-menu",
|
|
94
|
+
className: t3,
|
|
95
|
+
title: dropdownTitle,
|
|
96
|
+
children: [children, t4, t5]
|
|
97
|
+
});
|
|
98
|
+
$[12] = children;
|
|
99
|
+
$[13] = dropdownTitle;
|
|
100
|
+
$[14] = t3;
|
|
101
|
+
$[15] = t4;
|
|
102
|
+
$[16] = t6;
|
|
103
|
+
} else {
|
|
104
|
+
t6 = $[16];
|
|
105
|
+
}
|
|
106
|
+
return t6;
|
|
26
107
|
};
|
|
27
|
-
|
|
108
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMb2NrIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsIk5hdkRyb3Bkb3duIiwidjQiLCJ1dWlkdjQiLCJkaXNwYXRjaEFjdGlvbiIsIkFVVEhfQUNUSU9OX1RZUEUiLCJkaXNwbGF5Rmlyc3ROYW1lIiwic3RvcEltcGVyc29uYXRpb24iLCJJY29uU3RvcEltcGVyc29uYXRpbmciLCJJbXBlcnNvbmF0aW9uVXNlckRldGFpbCIsIk1hbmFnZWROYXZEcm9wZG93biIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsImRvTG9nT3V0IiwidHlwZSIsIkxPR19PVVRfUkVRVUVTVEVEIiwiVXNlckRyb3Bkb3duIiwidDAiLCIkIiwiX2MiLCJjaGlsZHJlbiIsInByb3BzIiwidXNlckluZm8iLCJ0MSIsIlN5bWJvbCIsImZvciIsImd1aWQiLCJ0MiIsImlzSW1wZXJzb25hdGVkIiwiZHJvcGRvd25UaXRsZSIsInQzIiwidDQiLCJJdGVtIiwib25TZWxlY3QiLCJjbGFzc05hbWUiLCJ0NSIsInQ2IiwiaWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Ecm9wZG93bnMvVXNlckRyb3Bkb3duLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9jayBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvTG9jaydcbmltcG9ydCBSZWFjdCwgeyBGdW5jdGlvbkNvbXBvbmVudCwgUmVhY3ROb2RlLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgTmF2RHJvcGRvd24gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJ1xuaW1wb3J0IHsgZGlzcGF0Y2hBY3Rpb24gfSBmcm9tICcuLi8uLi9yZWR1eC9hY3Rpb25DcmVhdG9yJ1xuaW1wb3J0IHsgQVVUSF9BQ1RJT05fVFlQRSwgQXV0aEFjdGlvbiB9IGZyb20gJy4uLy4uL3JlZHV4L2FjdGlvbnMnXG5pbXBvcnQgeyBkaXNwbGF5Rmlyc3ROYW1lLCBzdG9wSW1wZXJzb25hdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL3VzZXInXG5pbXBvcnQgeyBJY29uU3RvcEltcGVyc29uYXRpbmcgfSBmcm9tICcuLi9JY29ucy9JY29uU3RvcEltcGVyc29uYXRpbmcnXG5pbXBvcnQgeyBJbXBlcnNvbmF0aW9uVXNlckRldGFpbCwgSW1wZXJzb25hdGlvblVzZXJEZXRhaWxQcm9wcyB9IGZyb20gJy4uL0ltcGVyc29uYXRpb24vVXNlckRldGFpbCdcbmltcG9ydCB7IE1hbmFnZWROYXZEcm9wZG93biB9IGZyb20gJy4vTWFuYWdlZE5hdkRyb3Bkb3duJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJEcm9wZG93blByb3BzIGV4dGVuZHMgSW1wZXJzb25hdGlvblVzZXJEZXRhaWxQcm9wcyB7XG5cdGNoaWxkcmVuPzogUmVhY3ROb2RlXG59XG5cbmNvbnN0IGRvTG9nT3V0ID0gKCkgPT4ge1xuXHRkaXNwYXRjaEFjdGlvbjxBdXRoQWN0aW9uPih7IHR5cGU6IEFVVEhfQUNUSU9OX1RZUEUuTE9HX09VVF9SRVFVRVNURUQgfSlcbn1cblxuZXhwb3J0IGNvbnN0IFVzZXJEcm9wZG93bjogRnVuY3Rpb25Db21wb25lbnQ8VXNlckRyb3Bkb3duUHJvcHM+ID0gKHsgdXNlckluZm8sIGNoaWxkcmVuLCAuLi5wcm9wcyB9KSA9PiB7XG5cdGNvbnN0IFtndWlkXSA9IHVzZVN0YXRlKHV1aWR2NCgpKVxuXG5cdGNvbnN0IGRyb3Bkb3duVGl0bGU6IFJlYWN0LkpTWC5FbGVtZW50ID0gdXNlckluZm8uaXNJbXBlcnNvbmF0ZWQgPyAoXG5cdFx0PEltcGVyc29uYXRpb25Vc2VyRGV0YWlsIHVzZXJJbmZvPXt1c2VySW5mb30gey4uLnByb3BzfSAvPlxuXHQpIDogKFxuXHRcdDw+SGksIHtkaXNwbGF5Rmlyc3ROYW1lKHVzZXJJbmZvKX08Lz5cblx0KVxuXG5cdHJldHVybiAoXG5cdFx0PE1hbmFnZWROYXZEcm9wZG93blxuXHRcdFx0aWQ9XCJ1c2VyLW1lbnVcIlxuXHRcdFx0Y2xhc3NOYW1lPXtgdXNlci1tZW51JHt1c2VySW5mby5pc0ltcGVyc29uYXRlZCA/ICcgdXNlci1tZW51LWltcGVyc29uYXRlZCcgOiAnJ31gfVxuXHRcdFx0dGl0bGU9e2Ryb3Bkb3duVGl0bGV9PlxuXHRcdFx0e2NoaWxkcmVufVxuXHRcdFx0e3VzZXJJbmZvLmlzSW1wZXJzb25hdGVkICYmIChcblx0XHRcdFx0PE5hdkRyb3Bkb3duLkl0ZW1cblx0XHRcdFx0XHRvblNlbGVjdD17KCkgPT4ge1xuXHRcdFx0XHRcdFx0c3RvcEltcGVyc29uYXRpb24oZ3VpZClcblx0XHRcdFx0XHR9fT5cblx0XHRcdFx0XHQ8SWNvblN0b3BJbXBlcnNvbmF0aW5nIGNsYXNzTmFtZT1cIm1lbnUtaWNvblwiIC8+XG5cdFx0XHRcdFx0U3RvcCBJbXBlcnNvbmF0aW5nXG5cdFx0XHRcdDwvTmF2RHJvcGRvd24uSXRlbT5cblx0XHRcdCl9XG5cdFx0XHQ8TmF2RHJvcGRvd24uSXRlbSBvblNlbGVjdD17ZG9Mb2dPdXR9PlxuXHRcdFx0XHQ8TG9jayBjbGFzc05hbWU9XCJtZW51LWljb25cIiAvPlxuXHRcdFx0XHRMb2cgT3V0XG5cdFx0XHQ8L05hdkRyb3Bkb3duLkl0ZW0+XG5cdFx0PC9NYW5hZ2VkTmF2RHJvcGRvd24+XG5cdClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLElBQUksTUFBTSx5QkFBeUI7QUFDMUMsT0FBT0MsS0FBSyxJQUFrQ0MsUUFBUSxRQUFRLE9BQU87QUFDckUsU0FBU0MsV0FBVyxRQUFRLGlCQUFpQjtBQUM3QyxTQUFTQyxFQUFFLElBQUlDLE1BQU0sUUFBUSxNQUFNO0FBQ25DLFNBQVNDLGNBQWMsUUFBUSwyQkFBMkI7QUFDMUQsU0FBU0MsZ0JBQWdCLFFBQW9CLHFCQUFxQjtBQUNsRSxTQUFTQyxnQkFBZ0IsRUFBRUMsaUJBQWlCLFFBQVEsa0JBQWtCO0FBQ3RFLFNBQVNDLHFCQUFxQixRQUFRLGdDQUFnQztBQUN0RSxTQUFTQyx1QkFBdUIsUUFBc0MsNkJBQTZCO0FBQ25HLFNBQVNDLGtCQUFrQixRQUFRLHNCQUFzQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBTXpELE1BQU1DLFFBQVEsR0FBR0EsQ0FBQSxLQUFNO0VBQ3RCYixjQUFjLENBQWE7SUFBRWMsSUFBSSxFQUFFYixnQkFBZ0IsQ0FBQ2M7RUFBa0IsQ0FBQyxDQUFDO0FBQ3pFLENBQUM7QUFFRCxPQUFPLE1BQU1DLFlBQWtELEdBQUdDLEVBQUE7RUFBQSxNQUFBQyxDQUFBLEdBQUFDLEVBQUE7RUFBQSxJQUFBQyxRQUFBO0VBQUEsSUFBQUMsS0FBQTtFQUFBLElBQUFDLFFBQUE7RUFBQSxJQUFBSixDQUFBLFFBQUFELEVBQUE7SUFBQztNQUFBSyxRQUFBO01BQUFGLFFBQUE7TUFBQSxHQUFBQztJQUFBLElBQUFKLEVBQWdDO0lBQUFDLENBQUEsTUFBQUQsRUFBQTtJQUFBQyxDQUFBLE1BQUFFLFFBQUE7SUFBQUYsQ0FBQSxNQUFBRyxLQUFBO0lBQUFILENBQUEsTUFBQUksUUFBQTtFQUFBO0lBQUFGLFFBQUEsR0FBQUYsQ0FBQTtJQUFBRyxLQUFBLEdBQUFILENBQUE7SUFBQUksUUFBQSxHQUFBSixDQUFBO0VBQUE7RUFBQSxJQUFBSyxFQUFBO0VBQUEsSUFBQUwsQ0FBQSxRQUFBTSxNQUFBLENBQUFDLEdBQUE7SUFDMUVGLEVBQUEsR0FBQXhCLE1BQU0sQ0FBQyxDQUFDO0lBQUFtQixDQUFBLE1BQUFLLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFMLENBQUE7RUFBQTtFQUFoQyxPQUFBUSxJQUFBLElBQWU5QixRQUFRLENBQUMyQixFQUFRLENBQUM7RUFBQSxJQUFBSSxFQUFBO0VBQUEsSUFBQVQsQ0FBQSxRQUFBRyxLQUFBLElBQUFILENBQUEsUUFBQUksUUFBQTtJQUVRSyxFQUFBLEdBQUFMLFFBQVEsQ0FBQU0sY0FJaEQsZ0JBSndDcEIsSUFBQSxDQUN2Q0gsdUJBQXVCO01BQVdpQixRQUFRLEVBQVJBLFFBQVE7TUFBQSxHQUFNRDtJQUFLLENBR3ZELENBQUMsZ0JBSndDVCxLQUFBLENBQUFGLFNBQUE7TUFBQVUsUUFBQSxHQUd0QyxNQUFJLEVBQUNsQixnQkFBZ0IsQ0FBQ29CLFFBQVEsQ0FBQztJQUFBLENBQ2xDLENBQUM7SUFBQUosQ0FBQSxNQUFBRyxLQUFBO0lBQUFILENBQUEsTUFBQUksUUFBQTtJQUFBSixDQUFBLE1BQUFTLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFULENBQUE7RUFBQTtFQUpELE1BQUFXLGFBQUEsR0FBeUNGLEVBSXhDO0VBS1ksTUFBQUcsRUFBQSxlQUFZUixRQUFRLENBQUFNLGNBQWdELEdBQXhELHlCQUF3RCxHQUF4RCxFQUF3RCxFQUFFO0VBQUEsSUFBQUcsRUFBQTtFQUFBLElBQUFiLENBQUEsUUFBQVEsSUFBQSxJQUFBUixDQUFBLFFBQUFJLFFBQUEsQ0FBQU0sY0FBQTtJQUdoRkcsRUFBQSxHQUFBVCxRQUFRLENBQUFNLGNBUVIsaUJBUkFoQixLQUFBLENBQUFmLFdBQUEsQ0FBQW1DLElBQUE7TUFFV0MsUUFFVCxFQUZTQSxDQUFBO1FBQ1Q5QixpQkFBaUIsQ0FBQ3VCLElBQUksQ0FBQztNQUFBLENBQ3ZCO01BQUFOLFFBQUEsZ0JBQ0RaLElBQUEsQ0FBQ0oscUJBQXFCO1FBQVc4QixTQUFXLEVBQVg7TUFBVyxDQUFFLENBQUMsc0JBRWhEO0lBQUEsQ0FDRCxDQUFDO0lBQUFoQixDQUFBLE1BQUFRLElBQUE7SUFBQVIsQ0FBQSxNQUFBSSxRQUFBLENBQUFNLGNBQUE7SUFBQVYsQ0FBQSxPQUFBYSxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBYixDQUFBO0VBQUE7RUFBQSxJQUFBaUIsRUFBQTtFQUFBLElBQUFqQixDQUFBLFNBQUFNLE1BQUEsQ0FBQUMsR0FBQTtJQUNEVSxFQUFBLGdCQUFBdkIsS0FBQSxDQUFBZixXQUFBLENBQUFtQyxJQUFBO01BQTRCbkIsUUFBUSxFQUFSQSxRQUFRO01BQUFPLFFBQUEsZ0JBQ25DWixJQUFBLENBQUNkLElBQUk7UUFBV3dDLFNBQVcsRUFBWDtNQUFXLENBQUUsQ0FBQyxXQUUvQjtJQUFBLENBQWtCLENBQUM7SUFBQWhCLENBQUEsT0FBQWlCLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFqQixDQUFBO0VBQUE7RUFBQSxJQUFBa0IsRUFBQTtFQUFBLElBQUFsQixDQUFBLFNBQUFFLFFBQUEsSUFBQUYsQ0FBQSxTQUFBVyxhQUFBLElBQUFYLENBQUEsU0FBQVksRUFBQSxJQUFBWixDQUFBLFNBQUFhLEVBQUE7SUFqQnBCSyxFQUFBLGdCQUFBeEIsS0FBQSxDQUFDTixrQkFBa0I7TUFDZitCLEVBQVcsRUFBWCxXQUFXO01BQ0hILFNBQXNFLEVBQXRFSixFQUFzRTtNQUMxRUQsS0FBYSxFQUFiQSxhQUFhO01BQUFULFFBQUEsR0FDbkJBLFFBQVEsRUFDUlcsRUFRQSxFQUNESSxFQUdtQjtJQUFBLENBQ0EsQ0FBQztJQUFBakIsQ0FBQSxPQUFBRSxRQUFBO0lBQUFGLENBQUEsT0FBQVcsYUFBQTtJQUFBWCxDQUFBLE9BQUFZLEVBQUE7SUFBQVosQ0FBQSxPQUFBYSxFQUFBO0lBQUFiLENBQUEsT0FBQWtCLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFsQixDQUFBO0VBQUE7RUFBQSxPQWxCckJrQixFQWtCcUI7QUFBQSxDQUV0QiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var GroupsDropdown_1 = require("./GroupsDropdown");
|
|
6
|
-
Object.defineProperty(exports, "GroupsDropdown", { enumerable: true, get: function () { return tslib_1.__importDefault(GroupsDropdown_1).default; } });
|
|
7
|
-
var ManagedNavDropdown_1 = require("./ManagedNavDropdown");
|
|
8
|
-
Object.defineProperty(exports, "ManagedNavDropdown", { enumerable: true, get: function () { return ManagedNavDropdown_1.ManagedNavDropdown; } });
|
|
9
|
-
var UserDropdown_1 = require("./UserDropdown");
|
|
10
|
-
Object.defineProperty(exports, "UserDropdown", { enumerable: true, get: function () { return UserDropdown_1.UserDropdown; } });
|
|
1
|
+
export { default as GroupsDropdown } from './GroupsDropdown';
|
|
2
|
+
export { ManagedNavDropdown } from './ManagedNavDropdown';
|
|
3
|
+
export { UserDropdown } from './UserDropdown';
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwiR3JvdXBzRHJvcGRvd24iLCJNYW5hZ2VkTmF2RHJvcGRvd24iLCJVc2VyRHJvcGRvd24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Ecm9wZG93bnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCBhcyBHcm91cHNEcm9wZG93biB9IGZyb20gJy4vR3JvdXBzRHJvcGRvd24nXG5leHBvcnQgeyBNYW5hZ2VkTmF2RHJvcGRvd24gfSBmcm9tICcuL01hbmFnZWROYXZEcm9wZG93bidcbmV4cG9ydCB7IFVzZXJEcm9wZG93biB9IGZyb20gJy4vVXNlckRyb3Bkb3duJ1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxPQUFPLElBQUlDLGNBQWMsUUFBUSxrQkFBa0I7QUFDNUQsU0FBU0Msa0JBQWtCLFFBQVEsc0JBQXNCO0FBQ3pELFNBQVNDLFlBQVksUUFBUSxnQkFBZ0IiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,22 +1,48 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import { Component } from 'react';
|
|
3
|
+
import { Link } from 'react-router-dom';
|
|
4
|
+
import { displayName } from '../utils/user';
|
|
5
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
+
export class EntityOwnerList extends Component {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
_defineProperty(this, "renderOwner", (owner, className) => {
|
|
10
|
+
const {
|
|
11
|
+
canReadAnyUserGlobally
|
|
12
|
+
} = this.props;
|
|
13
|
+
const name = canReadAnyUserGlobally ? /*#__PURE__*/_jsx(Link, {
|
|
14
|
+
to: `/users/${owner.id}`,
|
|
15
|
+
className: `ownerLink ${className}`,
|
|
16
|
+
children: /*#__PURE__*/_jsx("strong", {
|
|
17
|
+
children: displayName(owner)
|
|
18
|
+
})
|
|
19
|
+
}) : /*#__PURE__*/_jsx("strong", {
|
|
20
|
+
className: className,
|
|
21
|
+
children: displayName(owner)
|
|
22
|
+
});
|
|
23
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
24
|
+
children: [name, " (", /*#__PURE__*/_jsx("a", {
|
|
25
|
+
href: `mailto:${owner.email}`,
|
|
26
|
+
children: owner.email
|
|
27
|
+
}), ")"]
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
render() {
|
|
32
|
+
const {
|
|
33
|
+
owners,
|
|
34
|
+
displayAsInstructors
|
|
35
|
+
} = this.props;
|
|
36
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
37
|
+
className: "mb4",
|
|
38
|
+
children: [/*#__PURE__*/_jsx("h3", {
|
|
39
|
+
children: displayAsInstructors ? 'Instructors' : 'Owners'
|
|
40
|
+
}), owners.length > 1 ? /*#__PURE__*/_jsx("ul", {
|
|
41
|
+
children: owners.map((owner, i) => /*#__PURE__*/_jsx("li", {
|
|
42
|
+
children: this.renderOwner(owner, 'owner')
|
|
43
|
+
}, i))
|
|
44
|
+
}) : this.renderOwner(owners[0], 'ml3 owner')]
|
|
45
|
+
});
|
|
46
|
+
}
|
|
21
47
|
}
|
|
22
|
-
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJMaW5rIiwiZGlzcGxheU5hbWUiLCJqc3giLCJfanN4IiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJqc3hzIiwiX2pzeHMiLCJFbnRpdHlPd25lckxpc3QiLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsIm93bmVyIiwiY2xhc3NOYW1lIiwiY2FuUmVhZEFueVVzZXJHbG9iYWxseSIsInByb3BzIiwibmFtZSIsInRvIiwiaWQiLCJjaGlsZHJlbiIsImhyZWYiLCJlbWFpbCIsInJlbmRlciIsIm93bmVycyIsImRpc3BsYXlBc0luc3RydWN0b3JzIiwibGVuZ3RoIiwibWFwIiwiaSIsInJlbmRlck93bmVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvRW50aXR5T3duZXJMaXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3R5cGVzL1VzZXInXG5pbXBvcnQgeyBkaXNwbGF5TmFtZSB9IGZyb20gJy4uL3V0aWxzL3VzZXInXG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5T3duZXJMaXN0UHJvcHMge1xuXHRvd25lcnM6IFVzZXJbXVxuXHRjYW5SZWFkQW55VXNlckdsb2JhbGx5OiBib29sZWFuXG5cdGRpc3BsYXlBc0luc3RydWN0b3JzPzogYm9vbGVhblxufVxuXG5leHBvcnQgY2xhc3MgRW50aXR5T3duZXJMaXN0IGV4dGVuZHMgQ29tcG9uZW50PEVudGl0eU93bmVyTGlzdFByb3BzPiB7XG5cdHJlbmRlck93bmVyID0gKG93bmVyOiBVc2VyLCBjbGFzc05hbWU6IHN0cmluZykgPT4ge1xuXHRcdGNvbnN0IHsgY2FuUmVhZEFueVVzZXJHbG9iYWxseSB9ID0gdGhpcy5wcm9wc1xuXHRcdGNvbnN0IG5hbWUgPSBjYW5SZWFkQW55VXNlckdsb2JhbGx5ID8gKFxuXHRcdFx0PExpbmsgdG89e2AvdXNlcnMvJHtvd25lci5pZH1gfSBjbGFzc05hbWU9e2Bvd25lckxpbmsgJHtjbGFzc05hbWV9YH0+XG5cdFx0XHRcdDxzdHJvbmc+e2Rpc3BsYXlOYW1lKG93bmVyKX08L3N0cm9uZz5cblx0XHRcdDwvTGluaz5cblx0XHQpIDogKFxuXHRcdFx0PHN0cm9uZyBjbGFzc05hbWU9e2NsYXNzTmFtZX0+e2Rpc3BsYXlOYW1lKG93bmVyKX08L3N0cm9uZz5cblx0XHQpXG5cdFx0cmV0dXJuIChcblx0XHRcdDw+XG5cdFx0XHRcdHtuYW1lfSAoPGEgaHJlZj17YG1haWx0bzoke293bmVyLmVtYWlsfWB9Pntvd25lci5lbWFpbH08L2E+KVxuXHRcdFx0PC8+XG5cdFx0KVxuXHR9XG5cblx0cmVuZGVyKCkge1xuXHRcdGNvbnN0IHsgb3duZXJzLCBkaXNwbGF5QXNJbnN0cnVjdG9ycyB9ID0gdGhpcy5wcm9wc1xuXG5cdFx0cmV0dXJuIChcblx0XHRcdDxkaXYgY2xhc3NOYW1lPVwibWI0XCI+XG5cdFx0XHRcdDxoMz57ZGlzcGxheUFzSW5zdHJ1Y3RvcnMgPyAnSW5zdHJ1Y3RvcnMnIDogJ093bmVycyd9PC9oMz5cblx0XHRcdFx0e293bmVycy5sZW5ndGggPiAxID8gKFxuXHRcdFx0XHRcdDx1bD5cblx0XHRcdFx0XHRcdHtvd25lcnMubWFwKChvd25lciwgaSkgPT4gKFxuXHRcdFx0XHRcdFx0XHQ8bGkga2V5PXtpfT57dGhpcy5yZW5kZXJPd25lcihvd25lciwgJ293bmVyJyl9PC9saT5cblx0XHRcdFx0XHRcdCkpfVxuXHRcdFx0XHRcdDwvdWw+XG5cdFx0XHRcdCkgOiAoXG5cdFx0XHRcdFx0dGhpcy5yZW5kZXJPd25lcihvd25lcnNbMF0sICdtbDMgb3duZXInKVxuXHRcdFx0XHQpfVxuXHRcdFx0PC9kaXY+XG5cdFx0KVxuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxTQUFTLFFBQVEsT0FBTztBQUNqQyxTQUFTQyxJQUFJLFFBQVEsa0JBQWtCO0FBRXZDLFNBQVNDLFdBQVcsUUFBUSxlQUFlO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFRM0MsT0FBTyxNQUFNQyxlQUFlLFNBQVNULFNBQVMsQ0FBdUI7RUFBQVUsWUFBQTtJQUFBLFNBQUFDLFNBQUE7SUFBQUMsZUFBQSxzQkFDdEQsQ0FBQ0MsS0FBVyxFQUFFQyxTQUFpQixLQUFLO01BQ2pELE1BQU07UUFBRUM7TUFBdUIsQ0FBQyxHQUFHLElBQUksQ0FBQ0MsS0FBSztNQUM3QyxNQUFNQyxJQUFJLEdBQUdGLHNCQUFzQixnQkFDbENYLElBQUEsQ0FBQ0gsSUFBSTtRQUFDaUIsRUFBRSxFQUFFLFVBQVVMLEtBQUssQ0FBQ00sRUFBRSxFQUFHO1FBQUNMLFNBQVMsRUFBRSxhQUFhQSxTQUFTLEVBQUc7UUFBQU0sUUFBQSxlQUNuRWhCLElBQUE7VUFBQWdCLFFBQUEsRUFBU2xCLFdBQVcsQ0FBQ1csS0FBSztRQUFDLENBQVM7TUFBQyxDQUNoQyxDQUFDLGdCQUVQVCxJQUFBO1FBQVFVLFNBQVMsRUFBRUEsU0FBVTtRQUFBTSxRQUFBLEVBQUVsQixXQUFXLENBQUNXLEtBQUs7TUFBQyxDQUFTLENBQzFEO01BQ0Qsb0JBQ0NMLEtBQUEsQ0FBQUYsU0FBQTtRQUFBYyxRQUFBLEdBQ0VILElBQUksRUFBQyxJQUFFLGVBQUFiLElBQUE7VUFBR2lCLElBQUksRUFBRSxVQUFVUixLQUFLLENBQUNTLEtBQUssRUFBRztVQUFBRixRQUFBLEVBQUVQLEtBQUssQ0FBQ1M7UUFBSyxDQUFJLENBQUMsS0FDNUQ7TUFBQSxDQUFFLENBQUM7SUFFTCxDQUFDO0VBQUE7RUFFREMsTUFBTUEsQ0FBQSxFQUFHO0lBQ1IsTUFBTTtNQUFFQyxNQUFNO01BQUVDO0lBQXFCLENBQUMsR0FBRyxJQUFJLENBQUNULEtBQUs7SUFFbkQsb0JBQ0NSLEtBQUE7TUFBS00sU0FBUyxFQUFDLEtBQUs7TUFBQU0sUUFBQSxnQkFDbkJoQixJQUFBO1FBQUFnQixRQUFBLEVBQUtLLG9CQUFvQixHQUFHLGFBQWEsR0FBRztNQUFRLENBQUssQ0FBQyxFQUN6REQsTUFBTSxDQUFDRSxNQUFNLEdBQUcsQ0FBQyxnQkFDakJ0QixJQUFBO1FBQUFnQixRQUFBLEVBQ0VJLE1BQU0sQ0FBQ0csR0FBRyxDQUFDLENBQUNkLEtBQUssRUFBRWUsQ0FBQyxrQkFDcEJ4QixJQUFBO1VBQUFnQixRQUFBLEVBQWEsSUFBSSxDQUFDUyxXQUFXLENBQUNoQixLQUFLLEVBQUUsT0FBTztRQUFDLEdBQXBDZSxDQUF5QyxDQUNsRDtNQUFDLENBQ0MsQ0FBQyxHQUVMLElBQUksQ0FBQ0MsV0FBVyxDQUFDTCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUN2QztJQUFBLENBQ0csQ0FBQztFQUVSO0FBQ0QiLCJpZ25vcmVMaXN0IjpbXX0=
|