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.
Files changed (258) hide show
  1. package/lib/components/ActionList.js +164 -37
  2. package/lib/components/AlertDialog.js +128 -12
  3. package/lib/components/AlertWithIcon.js +88 -29
  4. package/lib/components/ConnectedModal.js +35 -12
  5. package/lib/components/Dropdowns/GroupsDropdown.js +63 -45
  6. package/lib/components/Dropdowns/ManagedNavDropdown.js +92 -67
  7. package/lib/components/Dropdowns/UserDropdown.js +105 -24
  8. package/lib/components/Dropdowns/index.js +4 -10
  9. package/lib/components/EntityOwnerList.js +47 -21
  10. package/lib/components/Error.js +101 -12
  11. package/lib/components/ErrorBoundary.js +127 -38
  12. package/lib/components/ErrorMessage.js +39 -12
  13. package/lib/components/Forms/DateField.js +56 -45
  14. package/lib/components/Forms/TimeField.js +76 -45
  15. package/lib/components/Forms/index.js +3 -5
  16. package/lib/components/Groups/CreateEditCopySaveButtons.js +109 -14
  17. package/lib/components/Groups/ExternalGroups/Attach.js +206 -151
  18. package/lib/components/Groups/ExternalGroups/Table.js +176 -48
  19. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
  20. package/lib/components/Groups/RosterSyncInfo.js +142 -23
  21. package/lib/components/HOC/AccessibleAppComponent.js +88 -72
  22. package/lib/components/HOC/ActivityRequiredComponent.js +68 -33
  23. package/lib/components/HOC/AsyncComponent.js +49 -41
  24. package/lib/components/HOC/AuthenticatedComponent.js +55 -44
  25. package/lib/components/HOC/CollectionComponent.js +154 -104
  26. package/lib/components/HOC/CollectionFirstItemComponent.js +45 -40
  27. package/lib/components/HOC/CollectionItemComponent.js +152 -100
  28. package/lib/components/HOC/ConnectedModalComponent.js +87 -69
  29. package/lib/components/HOC/DataDependentComponent.js +26 -27
  30. package/lib/components/HOC/EntityComponent.js +57 -53
  31. package/lib/components/HOC/FullscreenModalComponent.js +139 -108
  32. package/lib/components/HOC/GroupActivityRequiredComponent.js +27 -20
  33. package/lib/components/HOC/GuidComponent.js +20 -20
  34. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +32 -29
  35. package/lib/components/HOC/ModelErrorRedirectComponent.js +37 -39
  36. package/lib/components/HOC/SearchPersistorComponent.js +237 -173
  37. package/lib/components/HOC/UnauthenticatedComponent.js +32 -30
  38. package/lib/components/HOC/UserComponent.js +6 -8
  39. package/lib/components/Icons/IconAlphaList.js +28 -8
  40. package/lib/components/Icons/IconExternalUser.js +28 -8
  41. package/lib/components/Icons/IconImpersonation.js +28 -8
  42. package/lib/components/Icons/IconStopImpersonating.js +28 -8
  43. package/lib/components/Icons/IconTable.js +29 -9
  44. package/lib/components/Icons/IconTableDeleteCol.js +28 -8
  45. package/lib/components/Icons/IconTableDeleteRow.js +28 -8
  46. package/lib/components/Icons/IconTableInsertCol.js +28 -8
  47. package/lib/components/Icons/IconTableInsertRow.js +28 -8
  48. package/lib/components/Impersonation/Button.js +71 -16
  49. package/lib/components/Impersonation/Link.js +72 -16
  50. package/lib/components/Impersonation/UserDetail.js +60 -11
  51. package/lib/components/Loading.js +23 -8
  52. package/lib/components/LockDownBrowser/Check.js +188 -51
  53. package/lib/components/LockDownBrowser/ExitButton.js +22 -13
  54. package/lib/components/LockDownBrowser/Launch.js +64 -64
  55. package/lib/components/Lti/Confirm.js +147 -14
  56. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +165 -36
  57. package/lib/components/Lti/Launch.js +99 -25
  58. package/lib/components/Lti/LaunchGroup.js +81 -16
  59. package/lib/components/ManageTable.js +304 -90
  60. package/lib/components/ManageTableNoDataComponent.js +38 -7
  61. package/lib/components/NewVersionAlert.js +76 -49
  62. package/lib/components/NotFound.js +81 -11
  63. package/lib/components/Notifications.js +179 -129
  64. package/lib/components/PaginationNextButton.js +28 -9
  65. package/lib/components/PaginationPreviousButton.js +28 -9
  66. package/lib/components/Quill/CustomToolbar.js +427 -222
  67. package/lib/components/Quill/Formats/Image.js +67 -67
  68. package/lib/components/Quill/Formats/List.js +38 -47
  69. package/lib/components/Quill/Formats/Video.js +23 -26
  70. package/lib/components/Quill/ImageDropModule.js +136 -114
  71. package/lib/components/Quill/ImageWarning.js +41 -12
  72. package/lib/components/Quill/ImageWithAltTextModal.js +420 -89
  73. package/lib/components/Quill/Specs/CustomImageSpec.js +32 -31
  74. package/lib/components/Quill/Specs/CustomVideoSpec.js +22 -23
  75. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +89 -97
  76. package/lib/components/Quill/TableModule/Blots/TableBlot.js +47 -50
  77. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +48 -51
  78. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +219 -224
  79. package/lib/components/Quill/TableModule/Blots/TableContainer.js +75 -86
  80. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +70 -73
  81. package/lib/components/Quill/TableModule/constants.js +40 -42
  82. package/lib/components/Quill/TableModule/index.js +357 -305
  83. package/lib/components/Quill/TableModule/utils.js +39 -48
  84. package/lib/components/Quill/accessibilityFix.js +219 -223
  85. package/lib/components/Quill/index.js +30 -33
  86. package/lib/components/RefreshIndicator/Bordered.js +44 -10
  87. package/lib/components/RefreshIndicator/Inline.js +43 -12
  88. package/lib/components/RefreshIndicator/index.js +257 -62
  89. package/lib/components/SearchControls.js +211 -14
  90. package/lib/components/SentryRoute.js +5 -7
  91. package/lib/components/Tables/RoleFilter.js +66 -38
  92. package/lib/components/Tables/TextFilter.js +58 -18
  93. package/lib/components/UserRoles/Add.js +193 -99
  94. package/lib/components/UserRoles/Context.js +3 -6
  95. package/lib/components/UserRoles/RoleCell.js +176 -75
  96. package/lib/components/UserRoles/Select.js +151 -20
  97. package/lib/components/UserRoles/Table.js +215 -82
  98. package/lib/components/UserRoles/index.js +526 -386
  99. package/lib/config/eslint/index.js +26 -29
  100. package/lib/config/eslint/lib/order.js +21 -28
  101. package/lib/config/eslint/lib/prettier.js +15 -19
  102. package/lib/config/eslint/lib/typescript.js +87 -113
  103. package/lib/config/eslint/react.js +18 -15
  104. package/lib/constants/baseActivity.js +26 -28
  105. package/lib/constants/baseRole.js +10 -12
  106. package/lib/constants/configuration.js +43 -55
  107. package/lib/constants/externalProviderType.js +6 -8
  108. package/lib/constants/fetchErrorData.js +10 -12
  109. package/lib/constants/index.js +13 -15
  110. package/lib/constants/lockDownBrowser.js +23 -25
  111. package/lib/constants/mockData.js +370 -300
  112. package/lib/constants/modelStatus.js +11 -13
  113. package/lib/constants/notificationType.js +8 -10
  114. package/lib/constants/operatingSystem.js +8 -10
  115. package/lib/constants/shard.js +7 -9
  116. package/lib/constants/table.js +18 -22
  117. package/lib/constants/tier.js +8 -10
  118. package/lib/constants/userRole.js +11 -8
  119. package/lib/endpointMappings.js +191 -182
  120. package/lib/hooks/useCollection.js +79 -65
  121. package/lib/hooks/useCollectionConfiguration.js +220 -80
  122. package/lib/hooks/useCollectionItem.js +151 -57
  123. package/lib/hooks/useGuid.js +16 -9
  124. package/lib/hooks/usePrevious.js +14 -13
  125. package/lib/index.js +11 -26
  126. package/lib/redux/actionCreator.js +44 -35
  127. package/lib/redux/actions/AuthAction.js +45 -32
  128. package/lib/redux/actions/ModalAction.js +6 -8
  129. package/lib/redux/actions/ModelAction.js +95 -43
  130. package/lib/redux/actions/NotificationAction.js +6 -8
  131. package/lib/redux/actions/SearchAction.js +5 -7
  132. package/lib/redux/actions/index.js +6 -8
  133. package/lib/redux/configureReducers.js +48 -46
  134. package/lib/redux/configureStore.js +77 -91
  135. package/lib/redux/helpers.js +2 -5
  136. package/lib/redux/reducers/authReducer.js +44 -43
  137. package/lib/redux/reducers/index.js +7 -14
  138. package/lib/redux/reducers/modalsReducer.js +43 -31
  139. package/lib/redux/reducers/modelsReducer.js +131 -137
  140. package/lib/redux/reducers/notificationsReducer.js +20 -20
  141. package/lib/redux/reducers/searchReducer.js +13 -13
  142. package/lib/redux/sagas/appInsightsSaga.js +19 -21
  143. package/lib/redux/sagas/authSaga.js +248 -234
  144. package/lib/redux/sagas/caliperSaga.js +142 -131
  145. package/lib/redux/sagas/clockOffsetSaga.js +29 -32
  146. package/lib/redux/sagas/configurationSaga.js +8 -10
  147. package/lib/redux/sagas/downtimeApiErrorSaga.js +16 -19
  148. package/lib/redux/sagas/errorSaga.js +23 -24
  149. package/lib/redux/sagas/googleAnalyticsSaga.js +24 -27
  150. package/lib/redux/sagas/identityProviderSaga.js +19 -21
  151. package/lib/redux/sagas/initialDataLoadSaga.js +34 -31
  152. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +25 -22
  153. package/lib/redux/sagas/modelFetchSaga.js +302 -286
  154. package/lib/redux/sagas/noStoreSaga.js +60 -61
  155. package/lib/redux/sagas/postLoginDataSaga.js +37 -32
  156. package/lib/redux/sagas/postLoginRedirectSaga.js +22 -27
  157. package/lib/redux/sagas/rootSaga.js +77 -60
  158. package/lib/redux/sagas/sentrySaga.js +25 -28
  159. package/lib/redux/sagas/userIdSaga.js +13 -15
  160. package/lib/services/codeProviderService.js +21 -21
  161. package/lib/services/dateService.js +6 -8
  162. package/lib/services/documentService.js +10 -11
  163. package/lib/services/fetchService.js +103 -95
  164. package/lib/services/persistenceService.js +27 -30
  165. package/lib/services/ticketProviderService.js +25 -25
  166. package/lib/services/tokenPersistenceService.js +8 -10
  167. package/lib/services/windowService.js +14 -16
  168. package/lib/startup.js +110 -101
  169. package/lib/types/AppConfiguration.js +2 -2
  170. package/lib/types/Artifact.js +7 -9
  171. package/lib/types/BaseReduxState.js +2 -2
  172. package/lib/types/Client.js +2 -2
  173. package/lib/types/Collection.js +2 -2
  174. package/lib/types/Configuration.js +2 -2
  175. package/lib/types/DeepLinkingResponseRequest.js +2 -2
  176. package/lib/types/DeletableModel.js +2 -2
  177. package/lib/types/Event.js +2 -2
  178. package/lib/types/ExternalGroup.js +2 -2
  179. package/lib/types/ExternalProvider.js +2 -2
  180. package/lib/types/ExternalTerm.js +2 -2
  181. package/lib/types/Group.js +2 -2
  182. package/lib/types/IdentityProvider.js +2 -2
  183. package/lib/types/LtiLaunch.js +2 -2
  184. package/lib/types/NameOnlyEntity.js +2 -2
  185. package/lib/types/Notification.js +2 -2
  186. package/lib/types/OptionalRecord.js +2 -2
  187. package/lib/types/OwnerSchedule.js +2 -2
  188. package/lib/types/PropertyOfType.js +2 -2
  189. package/lib/types/Quill.js +2 -2
  190. package/lib/types/RoleDescription.js +2 -2
  191. package/lib/types/Search.js +2 -2
  192. package/lib/types/SimpleLocation.js +2 -2
  193. package/lib/types/UniTime.js +2 -2
  194. package/lib/types/User.js +2 -2
  195. package/lib/types/UserRole.js +2 -2
  196. package/lib/types/auth/AuthState.js +2 -2
  197. package/lib/types/auth/CasV1LoginRequestBody.js +2 -2
  198. package/lib/types/auth/ClientCredentials.js +2 -2
  199. package/lib/types/auth/CodeProviderService.js +2 -2
  200. package/lib/types/auth/LocalLoginRequestBody.js +2 -2
  201. package/lib/types/auth/TicketProviderService.js +2 -2
  202. package/lib/types/auth/TokenPersistenceService.js +2 -2
  203. package/lib/types/auth/index.js +8 -10
  204. package/lib/types/externals.d.js +2 -0
  205. package/lib/types/index.js +29 -31
  206. package/lib/types/net/EndpointConfig.js +2 -2
  207. package/lib/types/net/EndpointMapping.js +2 -2
  208. package/lib/types/net/EndpointMappings.js +2 -2
  209. package/lib/types/net/ErrorHandler.js +2 -2
  210. package/lib/types/net/FetchConfig.js +2 -2
  211. package/lib/types/net/FetchErrorData.js +6 -8
  212. package/lib/types/net/FetchResult.js +2 -2
  213. package/lib/types/net/HTTPMethod.js +2 -2
  214. package/lib/types/net/HTTPStatusCode.js +12 -14
  215. package/lib/types/net/Metadata.js +2 -2
  216. package/lib/types/net/Model.js +2 -2
  217. package/lib/types/net/ModelCollection.js +2 -2
  218. package/lib/types/net/ModelsState.js +2 -2
  219. package/lib/types/net/OAuthToken.js +2 -2
  220. package/lib/types/net/OAuthTokenOrNull.js +2 -2
  221. package/lib/types/net/TokenAccessFunction.js +2 -2
  222. package/lib/types/net/index.js +17 -19
  223. package/lib/utils/baseActivity.js +83 -85
  224. package/lib/utils/baseRole.js +32 -36
  225. package/lib/utils/collection.js +403 -297
  226. package/lib/utils/cookies.js +19 -23
  227. package/lib/utils/date.js +188 -205
  228. package/lib/utils/dom.js +130 -131
  229. package/lib/utils/domainIdentifier.js +4 -8
  230. package/lib/utils/entityUserRole.js +2 -5
  231. package/lib/utils/error.js +14 -19
  232. package/lib/utils/events.js +32 -31
  233. package/lib/utils/externalGroup.js +20 -25
  234. package/lib/utils/externalProviders.js +4 -7
  235. package/lib/utils/externalTerms.js +6 -6
  236. package/lib/utils/fetch.js +168 -176
  237. package/lib/utils/group.js +14 -11
  238. package/lib/utils/groupDates.js +38 -46
  239. package/lib/utils/groupRoles.js +23 -32
  240. package/lib/utils/lockDownBrowser.js +12 -15
  241. package/lib/utils/logger.js +23 -28
  242. package/lib/utils/lti.js +4 -7
  243. package/lib/utils/model.js +28 -43
  244. package/lib/utils/number.js +9 -13
  245. package/lib/utils/promise.js +23 -26
  246. package/lib/utils/quill.js +55 -60
  247. package/lib/utils/route.js +52 -60
  248. package/lib/utils/search.js +72 -87
  249. package/lib/utils/shard.js +33 -42
  250. package/lib/utils/sort.js +47 -50
  251. package/lib/utils/string.js +10 -12
  252. package/lib/utils/table.js +29 -33
  253. package/lib/utils/timezone.js +7 -12
  254. package/lib/utils/url.js +130 -144
  255. package/lib/utils/user.js +54 -64
  256. package/lib/utils/userAgent.js +7 -14
  257. package/lib/utils/userRole.js +36 -39
  258. package/package.json +17 -3
@@ -1,48 +1,66 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const react_1 = require("react");
5
- const react_bootstrap_1 = require("react-bootstrap");
6
- const react_redux_1 = require("react-redux");
7
- const react_router_bootstrap_1 = require("react-router-bootstrap");
8
- const actionCreator_1 = require("../../redux/actionCreator");
9
- const date_1 = require("../../utils/date");
10
- const groupDates_1 = require("../../utils/groupDates");
11
- const groupRoles_1 = require("../../utils/groupRoles");
12
- const sort_1 = require("../../utils/sort");
13
- const ManagedNavDropdown_1 = require("./ManagedNavDropdown");
14
- class GroupsDropdown extends react_1.Component {
15
- constructor() {
16
- super(...arguments);
17
- this.loadGroups = () => {
18
- (0, actionCreator_1.dispatchModelFetchRequest)({ modelName: 'groups' });
19
- };
20
- this.didToggle = (isOpen) => {
21
- if (isOpen) {
22
- this.loadGroups();
23
- }
24
- };
25
- this.renderGroupMenu = (groups) => {
26
- return groups.sort(sort_1.sortByNameNatural).map(group => {
27
- const groupURL = `/courses/${group.id}`;
28
- return ((0, jsx_runtime_1.jsx)(react_router_bootstrap_1.LinkContainer, { to: groupURL, children: (0, jsx_runtime_1.jsx)(react_bootstrap_1.Dropdown.Item, { children: group.name }) }, group.id));
29
- });
30
- };
31
- }
32
- render() {
33
- const { title, id, groups, externalTerms, anyRoleButLearner } = this.props;
34
- const groupsFilteredByRole = anyRoleButLearner ? (0, groupRoles_1.groupsAsAnythingButLearner)(groups) : (0, groupRoles_1.groupsAsLearner)(groups);
35
- const currentGroups = (0, groupDates_1.filterGroupsByEndDate)(groupsFilteredByRole, externalTerms, date_1.isNowBeforeDate);
36
- if (currentGroups.length === 0) {
37
- return null;
38
- }
39
- return ((0, jsx_runtime_1.jsx)(ManagedNavDropdown_1.ManagedNavDropdown, { title: title, id: id, didToggle: this.didToggle, children: this.renderGroupMenu(currentGroups) }));
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 = (state) => {
43
- return {
44
- groups: !!state.models && !!state.models.groups ? state.models.groups : {},
45
- externalTerms: state.models.externalTerms
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
- exports.default = (0, react_redux_1.connect)(mapStateToProps)(GroupsDropdown);
65
+ export default connect(mapStateToProps)(GroupsDropdown);
66
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJEcm9wZG93biIsImNvbm5lY3QiLCJMaW5rQ29udGFpbmVyIiwiZGlzcGF0Y2hNb2RlbEZldGNoUmVxdWVzdCIsImlzTm93QmVmb3JlRGF0ZSIsImZpbHRlckdyb3Vwc0J5RW5kRGF0ZSIsImdyb3Vwc0FzQW55dGhpbmdCdXRMZWFybmVyIiwiZ3JvdXBzQXNMZWFybmVyIiwic29ydEJ5TmFtZU5hdHVyYWwiLCJNYW5hZ2VkTmF2RHJvcGRvd24iLCJqc3giLCJfanN4IiwiR3JvdXBzRHJvcGRvd24iLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsIm1vZGVsTmFtZSIsImlzT3BlbiIsImxvYWRHcm91cHMiLCJncm91cHMiLCJzb3J0IiwibWFwIiwiZ3JvdXAiLCJncm91cFVSTCIsImlkIiwidG8iLCJjaGlsZHJlbiIsIkl0ZW0iLCJuYW1lIiwicmVuZGVyIiwidGl0bGUiLCJleHRlcm5hbFRlcm1zIiwiYW55Um9sZUJ1dExlYXJuZXIiLCJwcm9wcyIsImdyb3Vwc0ZpbHRlcmVkQnlSb2xlIiwiY3VycmVudEdyb3VwcyIsImxlbmd0aCIsImRpZFRvZ2dsZSIsInJlbmRlckdyb3VwTWVudSIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwibW9kZWxzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRHJvcGRvd25zL0dyb3Vwc0Ryb3Bkb3duLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJ1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4J1xuaW1wb3J0IHsgTGlua0NvbnRhaW5lciB9IGZyb20gJ3JlYWN0LXJvdXRlci1ib290c3RyYXAnXG5pbXBvcnQgeyBkaXNwYXRjaE1vZGVsRmV0Y2hSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vcmVkdXgvYWN0aW9uQ3JlYXRvcidcbmltcG9ydCB7IEV4dGVybmFsVGVybSwgR3JvdXAsIE1vZGVsQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgaXNOb3dCZWZvcmVEYXRlIH0gZnJvbSAnLi4vLi4vdXRpbHMvZGF0ZSdcbmltcG9ydCB7IGZpbHRlckdyb3Vwc0J5RW5kRGF0ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2dyb3VwRGF0ZXMnXG5pbXBvcnQgeyBncm91cHNBc0FueXRoaW5nQnV0TGVhcm5lciwgZ3JvdXBzQXNMZWFybmVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvZ3JvdXBSb2xlcydcbmltcG9ydCB7IHNvcnRCeU5hbWVOYXR1cmFsIH0gZnJvbSAnLi4vLi4vdXRpbHMvc29ydCdcbmltcG9ydCB7IE1hbmFnZWROYXZEcm9wZG93biB9IGZyb20gJy4vTWFuYWdlZE5hdkRyb3Bkb3duJ1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuXHR0aXRsZTogc3RyaW5nXG5cdGlkOiBzdHJpbmdcblx0Z3JvdXBzOiBNb2RlbENvbGxlY3Rpb248R3JvdXA+XG5cdGFueVJvbGVCdXRMZWFybmVyPzogYm9vbGVhblxuXHRleHRlcm5hbFRlcm1zOiBNb2RlbENvbGxlY3Rpb248RXh0ZXJuYWxUZXJtPlxufVxuXG5jbGFzcyBHcm91cHNEcm9wZG93biBleHRlbmRzIENvbXBvbmVudDxQcm9wcz4ge1xuXHRsb2FkR3JvdXBzID0gKCkgPT4ge1xuXHRcdGRpc3BhdGNoTW9kZWxGZXRjaFJlcXVlc3QoeyBtb2RlbE5hbWU6ICdncm91cHMnIH0pXG5cdH1cblxuXHRkaWRUb2dnbGUgPSAoaXNPcGVuOiBib29sZWFuKSA9PiB7XG5cdFx0aWYgKGlzT3Blbikge1xuXHRcdFx0dGhpcy5sb2FkR3JvdXBzKClcblx0XHR9XG5cdH1cblxuXHRyZW5kZXJHcm91cE1lbnUgPSAoZ3JvdXBzOiBHcm91cFtdKSA9PiB7XG5cdFx0cmV0dXJuIGdyb3Vwcy5zb3J0KHNvcnRCeU5hbWVOYXR1cmFsKS5tYXAoZ3JvdXAgPT4ge1xuXHRcdFx0Y29uc3QgZ3JvdXBVUkwgPSBgL2NvdXJzZXMvJHtncm91cC5pZH1gXG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHQ8TGlua0NvbnRhaW5lciBrZXk9e2dyb3VwLmlkfSB0bz17Z3JvdXBVUkx9PlxuXHRcdFx0XHRcdDxEcm9wZG93bi5JdGVtPntncm91cC5uYW1lfTwvRHJvcGRvd24uSXRlbT5cblx0XHRcdFx0PC9MaW5rQ29udGFpbmVyPlxuXHRcdFx0KVxuXHRcdH0pXG5cdH1cblxuXHRyZW5kZXIoKSB7XG5cdFx0Y29uc3QgeyB0aXRsZSwgaWQsIGdyb3VwcywgZXh0ZXJuYWxUZXJtcywgYW55Um9sZUJ1dExlYXJuZXIgfSA9IHRoaXMucHJvcHNcblx0XHRjb25zdCBncm91cHNGaWx0ZXJlZEJ5Um9sZSA9IGFueVJvbGVCdXRMZWFybmVyID8gZ3JvdXBzQXNBbnl0aGluZ0J1dExlYXJuZXIoZ3JvdXBzKSA6IGdyb3Vwc0FzTGVhcm5lcihncm91cHMpXG5cdFx0Y29uc3QgY3VycmVudEdyb3VwcyA9IGZpbHRlckdyb3Vwc0J5RW5kRGF0ZShncm91cHNGaWx0ZXJlZEJ5Um9sZSwgZXh0ZXJuYWxUZXJtcywgaXNOb3dCZWZvcmVEYXRlKVxuXHRcdGlmIChjdXJyZW50R3JvdXBzLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuIG51bGxcblx0XHR9XG5cdFx0cmV0dXJuIChcblx0XHRcdDxNYW5hZ2VkTmF2RHJvcGRvd24gdGl0bGU9e3RpdGxlfSBpZD17aWR9IGRpZFRvZ2dsZT17dGhpcy5kaWRUb2dnbGV9PlxuXHRcdFx0XHR7dGhpcy5yZW5kZXJHcm91cE1lbnUoY3VycmVudEdyb3Vwcyl9XG5cdFx0XHQ8L01hbmFnZWROYXZEcm9wZG93bj5cblx0XHQpXG5cdH1cbn1cblxuY29uc3QgbWFwU3RhdGVUb1Byb3BzID0gKHN0YXRlOiBhbnkpID0+IHtcblx0cmV0dXJuIHtcblx0XHRncm91cHM6ICEhc3RhdGUubW9kZWxzICYmICEhc3RhdGUubW9kZWxzLmdyb3VwcyA/IHN0YXRlLm1vZGVscy5ncm91cHMgOiB7fSxcblx0XHRleHRlcm5hbFRlcm1zOiBzdGF0ZS5tb2RlbHMuZXh0ZXJuYWxUZXJtc1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKShHcm91cHNEcm9wZG93bilcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFNBQVMsUUFBUSxPQUFPO0FBQ2pDLFNBQVNDLFFBQVEsUUFBUSxpQkFBaUI7QUFDMUMsU0FBU0MsT0FBTyxRQUFRLGFBQWE7QUFDckMsU0FBU0MsYUFBYSxRQUFRLHdCQUF3QjtBQUN0RCxTQUFTQyx5QkFBeUIsUUFBUSwyQkFBMkI7QUFFckUsU0FBU0MsZUFBZSxRQUFRLGtCQUFrQjtBQUNsRCxTQUFTQyxxQkFBcUIsUUFBUSx3QkFBd0I7QUFDOUQsU0FBU0MsMEJBQTBCLEVBQUVDLGVBQWUsUUFBUSx3QkFBd0I7QUFDcEYsU0FBU0MsaUJBQWlCLFFBQVEsa0JBQWtCO0FBQ3BELFNBQVNDLGtCQUFrQixRQUFRLHNCQUFzQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQVV6RCxNQUFNQyxjQUFjLFNBQVNiLFNBQVMsQ0FBUTtFQUFBYyxZQUFBO0lBQUEsU0FBQUMsU0FBQTtJQUFBQyxlQUFBLHFCQUNoQyxNQUFNO01BQ2xCWix5QkFBeUIsQ0FBQztRQUFFYSxTQUFTLEVBQUU7TUFBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUFBRCxlQUFBLG9CQUVZRSxNQUFlLElBQUs7TUFDaEMsSUFBSUEsTUFBTSxFQUFFO1FBQ1gsSUFBSSxDQUFDQyxVQUFVLENBQUMsQ0FBQztNQUNsQjtJQUNELENBQUM7SUFBQUgsZUFBQSwwQkFFa0JJLE1BQWUsSUFBSztNQUN0QyxPQUFPQSxNQUFNLENBQUNDLElBQUksQ0FBQ1osaUJBQWlCLENBQUMsQ0FBQ2EsR0FBRyxDQUFDQyxLQUFLLElBQUk7UUFDbEQsTUFBTUMsUUFBUSxHQUFHLFlBQVlELEtBQUssQ0FBQ0UsRUFBRSxFQUFFO1FBQ3ZDLG9CQUNDYixJQUFBLENBQUNULGFBQWE7VUFBZ0J1QixFQUFFLEVBQUVGLFFBQVM7VUFBQUcsUUFBQSxlQUMxQ2YsSUFBQSxDQUFDWCxRQUFRLENBQUMyQixJQUFJO1lBQUFELFFBQUEsRUFBRUosS0FBSyxDQUFDTTtVQUFJLENBQWdCO1FBQUMsR0FEeEJOLEtBQUssQ0FBQ0UsRUFFWCxDQUFDO01BRWxCLENBQUMsQ0FBQztJQUNILENBQUM7RUFBQTtFQUVESyxNQUFNQSxDQUFBLEVBQUc7SUFDUixNQUFNO01BQUVDLEtBQUs7TUFBRU4sRUFBRTtNQUFFTCxNQUFNO01BQUVZLGFBQWE7TUFBRUM7SUFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQ0MsS0FBSztJQUMxRSxNQUFNQyxvQkFBb0IsR0FBR0YsaUJBQWlCLEdBQUcxQiwwQkFBMEIsQ0FBQ2EsTUFBTSxDQUFDLEdBQUdaLGVBQWUsQ0FBQ1ksTUFBTSxDQUFDO0lBQzdHLE1BQU1nQixhQUFhLEdBQUc5QixxQkFBcUIsQ0FBQzZCLG9CQUFvQixFQUFFSCxhQUFhLEVBQUUzQixlQUFlLENBQUM7SUFDakcsSUFBSStCLGFBQWEsQ0FBQ0MsTUFBTSxLQUFLLENBQUMsRUFBRTtNQUMvQixPQUFPLElBQUk7SUFDWjtJQUNBLG9CQUNDekIsSUFBQSxDQUFDRixrQkFBa0I7TUFBQ3FCLEtBQUssRUFBRUEsS0FBTTtNQUFDTixFQUFFLEVBQUVBLEVBQUc7TUFBQ2EsU0FBUyxFQUFFLElBQUksQ0FBQ0EsU0FBVTtNQUFBWCxRQUFBLEVBQ2xFLElBQUksQ0FBQ1ksZUFBZSxDQUFDSCxhQUFhO0lBQUMsQ0FDakIsQ0FBQztFQUV2QjtBQUNEO0FBRUEsTUFBTUksZUFBZSxHQUFJQyxLQUFVLElBQUs7RUFDdkMsT0FBTztJQUNOckIsTUFBTSxFQUFFLENBQUMsQ0FBQ3FCLEtBQUssQ0FBQ0MsTUFBTSxJQUFJLENBQUMsQ0FBQ0QsS0FBSyxDQUFDQyxNQUFNLENBQUN0QixNQUFNLEdBQUdxQixLQUFLLENBQUNDLE1BQU0sQ0FBQ3RCLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDMUVZLGFBQWEsRUFBRVMsS0FBSyxDQUFDQyxNQUFNLENBQUNWO0VBQzdCLENBQUM7QUFDRixDQUFDO0FBRUQsZUFBZTlCLE9BQU8sQ0FBQ3NDLGVBQWUsQ0FBQyxDQUFDM0IsY0FBYyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -1,72 +1,97 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ManagedNavDropdown = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const react_bootstrap_1 = require("react-bootstrap");
7
- var EVENT_SOURCE;
8
- (function (EVENT_SOURCE) {
9
- EVENT_SOURCE["MOUSE_ENTER"] = "mouseEnter";
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 react_1.Component {
17
- constructor() {
18
- super(...arguments);
19
- this.state = {
20
- isOpen: false,
21
- lastSource: undefined,
22
- areMouseEventsEnabled: true
23
- };
24
- this.updateWindowDimensions = () => {
25
- this.setState({ areMouseEventsEnabled: window.innerWidth >= 815 });
26
- };
27
- this.onMouseEnter = () => {
28
- if (!this.state.areMouseEventsEnabled) {
29
- return;
30
- }
31
- this.setState({ isOpen: true, lastSource: EVENT_SOURCE.MOUSE_ENTER }, this.didToggle);
32
- };
33
- this.onMouseLeave = () => {
34
- if (!this.state.areMouseEventsEnabled) {
35
- return;
36
- }
37
- this.setState({ isOpen: false, lastSource: EVENT_SOURCE.MOUSE_LEAVE }, this.didToggle);
38
- };
39
- // 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
40
- // the last change wasn't from our mouse hover event
41
- this.onToggle = (nextIsOpen, event, source) => {
42
- const { isOpen, lastSource } = this.state;
43
- this.setState({
44
- // do not toggle if we just opened the dropdown from a mouse event
45
- isOpen: lastSource === EVENT_SOURCE.MOUSE_ENTER && isOpen ? isOpen : nextIsOpen,
46
- lastSource: source
47
- }, this.didToggle);
48
- };
49
- this.didToggle = () => {
50
- const { didToggle } = this.props;
51
- const { isOpen } = this.state;
52
- if (didToggle) {
53
- didToggle(isOpen);
54
- }
55
- };
56
- }
57
- componentDidMount() {
58
- this.updateWindowDimensions();
59
- window.addEventListener('resize', this.updateWindowDimensions);
60
- }
61
- componentWillUnmount() {
62
- window.removeEventListener('resize', this.updateWindowDimensions);
63
- }
64
- render() {
65
- const { isOpen } = this.state;
66
- // prevent custom props from being passed to child
67
- const newProps = Object.assign({}, this.props);
68
- delete newProps.didToggle;
69
- return ((0, jsx_runtime_1.jsx)(react_bootstrap_1.NavDropdown, Object.assign({ onToggle: this.onToggle, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, show: isOpen, alignRight: true }, newProps)));
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
- exports.ManagedNavDropdown = ManagedNavDropdown;
97
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJOYXZEcm9wZG93biIsImpzeCIsIl9qc3giLCJFVkVOVF9TT1VSQ0UiLCJNYW5hZ2VkTmF2RHJvcGRvd24iLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsImlzT3BlbiIsImxhc3RTb3VyY2UiLCJ1bmRlZmluZWQiLCJhcmVNb3VzZUV2ZW50c0VuYWJsZWQiLCJzZXRTdGF0ZSIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJzdGF0ZSIsIk1PVVNFX0VOVEVSIiwiZGlkVG9nZ2xlIiwiTU9VU0VfTEVBVkUiLCJuZXh0SXNPcGVuIiwiZXZlbnQiLCJzb3VyY2UiLCJwcm9wcyIsImNvbXBvbmVudERpZE1vdW50IiwidXBkYXRlV2luZG93RGltZW5zaW9ucyIsImFkZEV2ZW50TGlzdGVuZXIiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZW5kZXIiLCJuZXdQcm9wcyIsIm9uVG9nZ2xlIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwic2hvdyIsImFsaWduUmlnaHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Ecm9wZG93bnMvTWFuYWdlZE5hdkRyb3Bkb3duLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IE5hdkRyb3Bkb3duLCBOYXZEcm9wZG93blByb3BzIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJ1xuXG5lbnVtIEVWRU5UX1NPVVJDRSB7XG5cdE1PVVNFX0VOVEVSID0gJ21vdXNlRW50ZXInLFxuXHRNT1VTRV9MRUFWRSA9ICdtb3VzZUxlYXZlJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hbmFnZWROYXZEcm9wZG93blByb3BzIHtcblx0ZGlkVG9nZ2xlPzogKGlzT3BlbjogYm9vbGVhbikgPT4gdm9pZFxuXHRpZD86IHN0cmluZ1xuXHRjbGFzc05hbWU/OiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIFN0YXRlIHtcblx0aXNPcGVuOiBib29sZWFuXG5cdGxhc3RTb3VyY2U6IEVWRU5UX1NPVVJDRSB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkXG5cdGFyZU1vdXNlRXZlbnRzRW5hYmxlZDogYm9vbGVhblxufVxuXG4vKipcbiAqIEByZW1hcmtzXG4gKiBBIFdyYXBwZXIgYXJvdW5kIE5hdkRyb3Bkb3duIHRoYXQgbWFuYWdlcyBpdHMgb3duIGBvcGVuYCBzdGF0dXMsIGFkZGluZyBtb3VzZSBlbnRlciBhbmQgbW91c2UgbGVhdmUgdHJpZ2dlcnMsIGFzIHdlbGwgYXMgYSBgZGlkVG9nZ2xlYCBjYWxsYmFjay5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hbmFnZWROYXZEcm9wZG93biBleHRlbmRzIENvbXBvbmVudDxNYW5hZ2VkTmF2RHJvcGRvd25Qcm9wcyAmIE5hdkRyb3Bkb3duUHJvcHMsIFN0YXRlPiB7XG5cdHN0YXRlOiBTdGF0ZSA9IHtcblx0XHRpc09wZW46IGZhbHNlLFxuXHRcdGxhc3RTb3VyY2U6IHVuZGVmaW5lZCxcblx0XHRhcmVNb3VzZUV2ZW50c0VuYWJsZWQ6IHRydWVcblx0fVxuXG5cdGNvbXBvbmVudERpZE1vdW50KCkge1xuXHRcdHRoaXMudXBkYXRlV2luZG93RGltZW5zaW9ucygpXG5cdFx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMudXBkYXRlV2luZG93RGltZW5zaW9ucylcblx0fVxuXG5cdGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuXHRcdHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnVwZGF0ZVdpbmRvd0RpbWVuc2lvbnMpXG5cdH1cblxuXHR1cGRhdGVXaW5kb3dEaW1lbnNpb25zID0gKCkgPT4ge1xuXHRcdHRoaXMuc2V0U3RhdGUoeyBhcmVNb3VzZUV2ZW50c0VuYWJsZWQ6IHdpbmRvdy5pbm5lcldpZHRoID49IDgxNSB9KVxuXHR9XG5cblx0b25Nb3VzZUVudGVyID0gKCkgPT4ge1xuXHRcdGlmICghdGhpcy5zdGF0ZS5hcmVNb3VzZUV2ZW50c0VuYWJsZWQpIHtcblx0XHRcdHJldHVyblxuXHRcdH1cblx0XHR0aGlzLnNldFN0YXRlKHsgaXNPcGVuOiB0cnVlLCBsYXN0U291cmNlOiBFVkVOVF9TT1VSQ0UuTU9VU0VfRU5URVIgfSwgdGhpcy5kaWRUb2dnbGUpXG5cdH1cblxuXHRvbk1vdXNlTGVhdmUgPSAoKSA9PiB7XG5cdFx0aWYgKCF0aGlzLnN0YXRlLmFyZU1vdXNlRXZlbnRzRW5hYmxlZCkge1xuXHRcdFx0cmV0dXJuXG5cdFx0fVxuXHRcdHRoaXMuc2V0U3RhdGUoeyBpc09wZW46IGZhbHNlLCBsYXN0U291cmNlOiBFVkVOVF9TT1VSQ0UuTU9VU0VfTEVBVkUgfSwgdGhpcy5kaWRUb2dnbGUpXG5cdH1cblxuXHQvLyBTb3VyY2UgaXMgYW4gb2JqZWN0IHdpdGggYSBzb3VyY2UgcHJvcGVydHksIGJ1dCB3ZSBzZXQgaXQgdG8gYmUgYSBzdHJpbmcgaW4gb3VyIG1ldGhvZHMuIElmIGl0J3MgYW4gb2JqZWN0IHdlIGtub3dcblx0Ly8gdGhlIGxhc3QgY2hhbmdlIHdhc24ndCBmcm9tIG91ciBtb3VzZSBob3ZlciBldmVudFxuXHRvblRvZ2dsZSA9IChuZXh0SXNPcGVuOiBib29sZWFuLCBldmVudDogYW55LCBzb3VyY2U6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB7XG5cdFx0Y29uc3QgeyBpc09wZW4sIGxhc3RTb3VyY2UgfSA9IHRoaXMuc3RhdGVcblx0XHR0aGlzLnNldFN0YXRlKFxuXHRcdFx0e1xuXHRcdFx0XHQvLyBkbyBub3QgdG9nZ2xlIGlmIHdlIGp1c3Qgb3BlbmVkIHRoZSBkcm9wZG93biBmcm9tIGEgbW91c2UgZXZlbnRcblx0XHRcdFx0aXNPcGVuOiBsYXN0U291cmNlID09PSBFVkVOVF9TT1VSQ0UuTU9VU0VfRU5URVIgJiYgaXNPcGVuID8gaXNPcGVuIDogbmV4dElzT3Blbixcblx0XHRcdFx0bGFzdFNvdXJjZTogc291cmNlXG5cdFx0XHR9LFxuXHRcdFx0dGhpcy5kaWRUb2dnbGVcblx0XHQpXG5cdH1cblxuXHRkaWRUb2dnbGUgPSAoKSA9PiB7XG5cdFx0Y29uc3QgeyBkaWRUb2dnbGUgfSA9IHRoaXMucHJvcHNcblx0XHRjb25zdCB7IGlzT3BlbiB9ID0gdGhpcy5zdGF0ZVxuXHRcdGlmIChkaWRUb2dnbGUpIHtcblx0XHRcdGRpZFRvZ2dsZShpc09wZW4pXG5cdFx0fVxuXHR9XG5cblx0cmVuZGVyKCkge1xuXHRcdGNvbnN0IHsgaXNPcGVuIH0gPSB0aGlzLnN0YXRlXG5cblx0XHQvLyBwcmV2ZW50IGN1c3RvbSBwcm9wcyBmcm9tIGJlaW5nIHBhc3NlZCB0byBjaGlsZFxuXHRcdGNvbnN0IG5ld1Byb3BzOiBNYW5hZ2VkTmF2RHJvcGRvd25Qcm9wcyAmIE5hdkRyb3Bkb3duUHJvcHMgPSB7IC4uLnRoaXMucHJvcHMgfVxuXHRcdGRlbGV0ZSBuZXdQcm9wcy5kaWRUb2dnbGVcblxuXHRcdHJldHVybiAoXG5cdFx0XHQ8TmF2RHJvcGRvd25cblx0XHRcdFx0b25Ub2dnbGU9e3RoaXMub25Ub2dnbGV9XG5cdFx0XHRcdG9uTW91c2VFbnRlcj17dGhpcy5vbk1vdXNlRW50ZXJ9XG5cdFx0XHRcdG9uTW91c2VMZWF2ZT17dGhpcy5vbk1vdXNlTGVhdmV9XG5cdFx0XHRcdHNob3c9e2lzT3Blbn1cblx0XHRcdFx0YWxpZ25SaWdodFxuXHRcdFx0XHR7Li4ubmV3UHJvcHN9XG5cdFx0XHQvPlxuXHRcdClcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsU0FBUyxRQUFRLE9BQU87QUFDakMsU0FBU0MsV0FBVyxRQUEwQixpQkFBaUI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFBQSxJQUUxREMsWUFBWSwwQkFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBQSxPQUFaQSxZQUFZO0FBQUEsRUFBWkEsWUFBWTtBQWlCakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLE1B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
@@ -1,27 +1,108 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UserDropdown = void 0;
4
- const tslib_1 = require("tslib");
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- const Lock_1 = tslib_1.__importDefault(require("@material-ui/icons/Lock"));
7
- const react_1 = require("react");
8
- const react_bootstrap_1 = require("react-bootstrap");
9
- const uuid_1 = require("uuid");
10
- const actionCreator_1 = require("../../redux/actionCreator");
11
- const actions_1 = require("../../redux/actions");
12
- const user_1 = require("../../utils/user");
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
- (0, actionCreator_1.dispatchAction)({ type: actions_1.AUTH_ACTION_TYPE.LOG_OUT_REQUESTED });
14
+ dispatchAction({
15
+ type: AUTH_ACTION_TYPE.LOG_OUT_REQUESTED
16
+ });
18
17
  };
19
- const UserDropdown = (_a) => {
20
- var { userInfo, children } = _a, props = tslib_1.__rest(_a, ["userInfo", "children"]);
21
- const [guid] = (0, react_1.useState)((0, uuid_1.v4)());
22
- const dropdownTitle = userInfo.isImpersonated ? ((0, jsx_runtime_1.jsx)(UserDetail_1.ImpersonationUserDetail, Object.assign({ userInfo: userInfo }, props))) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Hi, ", (0, user_1.displayFirstName)(userInfo)] }));
23
- return ((0, jsx_runtime_1.jsxs)(ManagedNavDropdown_1.ManagedNavDropdown, { id: "user-menu", className: `user-menu${userInfo.isImpersonated ? ' user-menu-impersonated' : ''}`, title: dropdownTitle, children: [children, userInfo.isImpersonated && ((0, jsx_runtime_1.jsxs)(react_bootstrap_1.NavDropdown.Item, { onSelect: () => {
24
- (0, user_1.stopImpersonation)(guid);
25
- }, children: [(0, jsx_runtime_1.jsx)(IconStopImpersonating_1.IconStopImpersonating, { className: "menu-icon" }), "Stop Impersonating"] })), (0, jsx_runtime_1.jsxs)(react_bootstrap_1.NavDropdown.Item, { onSelect: doLogOut, children: [(0, jsx_runtime_1.jsx)(Lock_1.default, { className: "menu-icon" }), "Log Out"] })] }));
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
- exports.UserDropdown = UserDropdown;
108
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMb2NrIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsIk5hdkRyb3Bkb3duIiwidjQiLCJ1dWlkdjQiLCJkaXNwYXRjaEFjdGlvbiIsIkFVVEhfQUNUSU9OX1RZUEUiLCJkaXNwbGF5Rmlyc3ROYW1lIiwic3RvcEltcGVyc29uYXRpb24iLCJJY29uU3RvcEltcGVyc29uYXRpbmciLCJJbXBlcnNvbmF0aW9uVXNlckRldGFpbCIsIk1hbmFnZWROYXZEcm9wZG93biIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsImRvTG9nT3V0IiwidHlwZSIsIkxPR19PVVRfUkVRVUVTVEVEIiwiVXNlckRyb3Bkb3duIiwidDAiLCIkIiwiX2MiLCJjaGlsZHJlbiIsInByb3BzIiwidXNlckluZm8iLCJ0MSIsIlN5bWJvbCIsImZvciIsImd1aWQiLCJ0MiIsImlzSW1wZXJzb25hdGVkIiwiZHJvcGRvd25UaXRsZSIsInQzIiwidDQiLCJJdGVtIiwib25TZWxlY3QiLCJjbGFzc05hbWUiLCJ0NSIsInQ2IiwiaWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Ecm9wZG93bnMvVXNlckRyb3Bkb3duLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9jayBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvTG9jaydcbmltcG9ydCBSZWFjdCwgeyBGdW5jdGlvbkNvbXBvbmVudCwgUmVhY3ROb2RlLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgTmF2RHJvcGRvd24gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJ1xuaW1wb3J0IHsgZGlzcGF0Y2hBY3Rpb24gfSBmcm9tICcuLi8uLi9yZWR1eC9hY3Rpb25DcmVhdG9yJ1xuaW1wb3J0IHsgQVVUSF9BQ1RJT05fVFlQRSwgQXV0aEFjdGlvbiB9IGZyb20gJy4uLy4uL3JlZHV4L2FjdGlvbnMnXG5pbXBvcnQgeyBkaXNwbGF5Rmlyc3ROYW1lLCBzdG9wSW1wZXJzb25hdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL3VzZXInXG5pbXBvcnQgeyBJY29uU3RvcEltcGVyc29uYXRpbmcgfSBmcm9tICcuLi9JY29ucy9JY29uU3RvcEltcGVyc29uYXRpbmcnXG5pbXBvcnQgeyBJbXBlcnNvbmF0aW9uVXNlckRldGFpbCwgSW1wZXJzb25hdGlvblVzZXJEZXRhaWxQcm9wcyB9IGZyb20gJy4uL0ltcGVyc29uYXRpb24vVXNlckRldGFpbCdcbmltcG9ydCB7IE1hbmFnZWROYXZEcm9wZG93biB9IGZyb20gJy4vTWFuYWdlZE5hdkRyb3Bkb3duJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJEcm9wZG93blByb3BzIGV4dGVuZHMgSW1wZXJzb25hdGlvblVzZXJEZXRhaWxQcm9wcyB7XG5cdGNoaWxkcmVuPzogUmVhY3ROb2RlXG59XG5cbmNvbnN0IGRvTG9nT3V0ID0gKCkgPT4ge1xuXHRkaXNwYXRjaEFjdGlvbjxBdXRoQWN0aW9uPih7IHR5cGU6IEFVVEhfQUNUSU9OX1RZUEUuTE9HX09VVF9SRVFVRVNURUQgfSlcbn1cblxuZXhwb3J0IGNvbnN0IFVzZXJEcm9wZG93bjogRnVuY3Rpb25Db21wb25lbnQ8VXNlckRyb3Bkb3duUHJvcHM+ID0gKHsgdXNlckluZm8sIGNoaWxkcmVuLCAuLi5wcm9wcyB9KSA9PiB7XG5cdGNvbnN0IFtndWlkXSA9IHVzZVN0YXRlKHV1aWR2NCgpKVxuXG5cdGNvbnN0IGRyb3Bkb3duVGl0bGU6IFJlYWN0LkpTWC5FbGVtZW50ID0gdXNlckluZm8uaXNJbXBlcnNvbmF0ZWQgPyAoXG5cdFx0PEltcGVyc29uYXRpb25Vc2VyRGV0YWlsIHVzZXJJbmZvPXt1c2VySW5mb30gey4uLnByb3BzfSAvPlxuXHQpIDogKFxuXHRcdDw+SGksIHtkaXNwbGF5Rmlyc3ROYW1lKHVzZXJJbmZvKX08Lz5cblx0KVxuXG5cdHJldHVybiAoXG5cdFx0PE1hbmFnZWROYXZEcm9wZG93blxuXHRcdFx0aWQ9XCJ1c2VyLW1lbnVcIlxuXHRcdFx0Y2xhc3NOYW1lPXtgdXNlci1tZW51JHt1c2VySW5mby5pc0ltcGVyc29uYXRlZCA/ICcgdXNlci1tZW51LWltcGVyc29uYXRlZCcgOiAnJ31gfVxuXHRcdFx0dGl0bGU9e2Ryb3Bkb3duVGl0bGV9PlxuXHRcdFx0e2NoaWxkcmVufVxuXHRcdFx0e3VzZXJJbmZvLmlzSW1wZXJzb25hdGVkICYmIChcblx0XHRcdFx0PE5hdkRyb3Bkb3duLkl0ZW1cblx0XHRcdFx0XHRvblNlbGVjdD17KCkgPT4ge1xuXHRcdFx0XHRcdFx0c3RvcEltcGVyc29uYXRpb24oZ3VpZClcblx0XHRcdFx0XHR9fT5cblx0XHRcdFx0XHQ8SWNvblN0b3BJbXBlcnNvbmF0aW5nIGNsYXNzTmFtZT1cIm1lbnUtaWNvblwiIC8+XG5cdFx0XHRcdFx0U3RvcCBJbXBlcnNvbmF0aW5nXG5cdFx0XHRcdDwvTmF2RHJvcGRvd24uSXRlbT5cblx0XHRcdCl9XG5cdFx0XHQ8TmF2RHJvcGRvd24uSXRlbSBvblNlbGVjdD17ZG9Mb2dPdXR9PlxuXHRcdFx0XHQ8TG9jayBjbGFzc05hbWU9XCJtZW51LWljb25cIiAvPlxuXHRcdFx0XHRMb2cgT3V0XG5cdFx0XHQ8L05hdkRyb3Bkb3duLkl0ZW0+XG5cdFx0PC9NYW5hZ2VkTmF2RHJvcGRvd24+XG5cdClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLElBQUksTUFBTSx5QkFBeUI7QUFDMUMsT0FBT0MsS0FBSyxJQUFrQ0MsUUFBUSxRQUFRLE9BQU87QUFDckUsU0FBU0MsV0FBVyxRQUFRLGlCQUFpQjtBQUM3QyxTQUFTQyxFQUFFLElBQUlDLE1BQU0sUUFBUSxNQUFNO0FBQ25DLFNBQVNDLGNBQWMsUUFBUSwyQkFBMkI7QUFDMUQsU0FBU0MsZ0JBQWdCLFFBQW9CLHFCQUFxQjtBQUNsRSxTQUFTQyxnQkFBZ0IsRUFBRUMsaUJBQWlCLFFBQVEsa0JBQWtCO0FBQ3RFLFNBQVNDLHFCQUFxQixRQUFRLGdDQUFnQztBQUN0RSxTQUFTQyx1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
@@ -1,10 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UserDropdown = exports.ManagedNavDropdown = exports.GroupsDropdown = void 0;
4
- const tslib_1 = require("tslib");
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
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityOwnerList = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const react_router_dom_1 = require("react-router-dom");
7
- const user_1 = require("../utils/user");
8
- class EntityOwnerList extends react_1.Component {
9
- constructor() {
10
- super(...arguments);
11
- this.renderOwner = (owner, className) => {
12
- const { canReadAnyUserGlobally } = this.props;
13
- const name = canReadAnyUserGlobally ? ((0, jsx_runtime_1.jsx)(react_router_dom_1.Link, { to: `/users/${owner.id}`, className: `ownerLink ${className}`, children: (0, jsx_runtime_1.jsx)("strong", { children: (0, user_1.displayName)(owner) }) })) : ((0, jsx_runtime_1.jsx)("strong", { className: className, children: (0, user_1.displayName)(owner) }));
14
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [name, " (", (0, jsx_runtime_1.jsx)("a", { href: `mailto:${owner.email}`, children: owner.email }), ")"] }));
15
- };
16
- }
17
- render() {
18
- const { owners, displayAsInstructors } = this.props;
19
- return ((0, jsx_runtime_1.jsxs)("div", { className: "mb4", children: [(0, jsx_runtime_1.jsx)("h3", { children: displayAsInstructors ? 'Instructors' : 'Owners' }), owners.length > 1 ? ((0, jsx_runtime_1.jsx)("ul", { children: owners.map((owner, i) => ((0, jsx_runtime_1.jsx)("li", { children: this.renderOwner(owner, 'owner') }, i))) })) : (this.renderOwner(owners[0], 'ml3 owner'))] }));
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
- exports.EntityOwnerList = EntityOwnerList;
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJMaW5rIiwiZGlzcGxheU5hbWUiLCJqc3giLCJfanN4IiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJqc3hzIiwiX2pzeHMiLCJFbnRpdHlPd25lckxpc3QiLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsIm93bmVyIiwiY2xhc3NOYW1lIiwiY2FuUmVhZEFueVVzZXJHbG9iYWxseSIsInByb3BzIiwibmFtZSIsInRvIiwiaWQiLCJjaGlsZHJlbiIsImhyZWYiLCJlbWFpbCIsInJlbmRlciIsIm93bmVycyIsImRpc3BsYXlBc0luc3RydWN0b3JzIiwibGVuZ3RoIiwibWFwIiwiaSIsInJlbmRlck93bmVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvRW50aXR5T3duZXJMaXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3R5cGVzL1VzZXInXG5pbXBvcnQgeyBkaXNwbGF5TmFtZSB9IGZyb20gJy4uL3V0aWxzL3VzZXInXG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5T3duZXJMaXN0UHJvcHMge1xuXHRvd25lcnM6IFVzZXJbXVxuXHRjYW5SZWFkQW55VXNlckdsb2JhbGx5OiBib29sZWFuXG5cdGRpc3BsYXlBc0luc3RydWN0b3JzPzogYm9vbGVhblxufVxuXG5leHBvcnQgY2xhc3MgRW50aXR5T3duZXJMaXN0IGV4dGVuZHMgQ29tcG9uZW50PEVudGl0eU93bmVyTGlzdFByb3BzPiB7XG5cdHJlbmRlck93bmVyID0gKG93bmVyOiBVc2VyLCBjbGFzc05hbWU6IHN0cmluZykgPT4ge1xuXHRcdGNvbnN0IHsgY2FuUmVhZEFueVVzZXJHbG9iYWxseSB9ID0gdGhpcy5wcm9wc1xuXHRcdGNvbnN0IG5hbWUgPSBjYW5SZWFkQW55VXNlckdsb2JhbGx5ID8gKFxuXHRcdFx0PExpbmsgdG89e2AvdXNlcnMvJHtvd25lci5pZH1gfSBjbGFzc05hbWU9e2Bvd25lckxpbmsgJHtjbGFzc05hbWV9YH0+XG5cdFx0XHRcdDxzdHJvbmc+e2Rpc3BsYXlOYW1lKG93bmVyKX08L3N0cm9uZz5cblx0XHRcdDwvTGluaz5cblx0XHQpIDogKFxuXHRcdFx0PHN0cm9uZyBjbGFzc05hbWU9e2NsYXNzTmFtZX0+e2Rpc3BsYXlOYW1lKG93bmVyKX08L3N0cm9uZz5cblx0XHQpXG5cdFx0cmV0dXJuIChcblx0XHRcdDw+XG5cdFx0XHRcdHtuYW1lfSAoPGEgaHJlZj17YG1haWx0bzoke293bmVyLmVtYWlsfWB9Pntvd25lci5lbWFpbH08L2E+KVxuXHRcdFx0PC8+XG5cdFx0KVxuXHR9XG5cblx0cmVuZGVyKCkge1xuXHRcdGNvbnN0IHsgb3duZXJzLCBkaXNwbGF5QXNJbnN0cnVjdG9ycyB9ID0gdGhpcy5wcm9wc1xuXG5cdFx0cmV0dXJuIChcblx0XHRcdDxkaXYgY2xhc3NOYW1lPVwibWI0XCI+XG5cdFx0XHRcdDxoMz57ZGlzcGxheUFzSW5zdHJ1Y3RvcnMgPyAnSW5zdHJ1Y3RvcnMnIDogJ093bmVycyd9PC9oMz5cblx0XHRcdFx0e293bmVycy5sZW5ndGggPiAxID8gKFxuXHRcdFx0XHRcdDx1bD5cblx0XHRcdFx0XHRcdHtvd25lcnMubWFwKChvd25lciwgaSkgPT4gKFxuXHRcdFx0XHRcdFx0XHQ8bGkga2V5PXtpfT57dGhpcy5yZW5kZXJPd25lcihvd25lciwgJ293bmVyJyl9PC9saT5cblx0XHRcdFx0XHRcdCkpfVxuXHRcdFx0XHRcdDwvdWw+XG5cdFx0XHRcdCkgOiAoXG5cdFx0XHRcdFx0dGhpcy5yZW5kZXJPd25lcihvd25lcnNbMF0sICdtbDMgb3duZXInKVxuXHRcdFx0XHQpfVxuXHRcdFx0PC9kaXY+XG5cdFx0KVxuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxTQUFTLFFBQVEsT0FBTztBQUNqQyxTQUFTQyxJQUFJLFFBQVEsa0JBQWtCO0FBRXZDLFNBQVNDLFdBQVcsUUFBUSxlQUFlO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFRM0MsT0FBTyxNQUFNQyxlQUFlLFNBQVNULFNBQVMsQ0FBdUI7RUFBQVUsWUFBQTtJQUFBLFNBQUFDLFNBQUE7SUFBQUMsZUFBQSxzQkFDdEQsQ0FBQ0MsS0FBVyxFQUFFQyxTQUFpQixLQUFLO01BQ2pELE1BQU07UUFBRUM7TUFBdUIsQ0FBQyxHQUFHLElBQUksQ0FBQ0MsS0FBSztNQUM3QyxNQUFNQyxJQUFJLEdBQUdGLHNCQUFzQixnQkFDbENYLElBQUEsQ0FBQ0gsSUFBSTtRQUFDaUIsRUFBRSxFQUFFLFVBQVVMLEtBQUssQ0FBQ00sRUFBRSxFQUFHO1FBQUNMLFNBQVMsRUFBRSxhQUFhQSxTQUFTLEVBQUc7UUFBQU0sUUFBQSxlQUNuRWhCLElBQUE7VUFBQWdCLFFBQUEsRUFBU2xCLFdBQVcsQ0FBQ1csS0FBSztRQUFDLENBQVM7TUFBQyxDQUNoQyxDQUFDLGdCQUVQVCxJQUFBO1FBQVFVLFNBQVMsRUFBRUEsU0FBVTtRQUFBTSxRQUFBLEVBQUVsQixXQUFXLENBQUNXLEtBQUs7TUFBQyxDQUFTLENBQzFEO01BQ0Qsb0JBQ0NMLEtBQUEsQ0FBQUYsU0FBQTtRQUFBYyxRQUFBLEdBQ0VILElBQUksRUFBQyxJQUFFLGVBQUFiLElBQUE7VUFBR2lCLElBQUksRUFBRSxVQUFVUixLQUFLLENBQUNTLEtBQUssRUFBRztVQUFBRixRQUFBLEVBQUVQLEtBQUssQ0FBQ1M7UUFBSyxDQUFJLENBQUMsS0FDNUQ7TUFBQSxDQUFFLENBQUM7SUFFTCxDQUFDO0VBQUE7RUFFREMsTUFBTUEsQ0FBQSxFQUFHO0lBQ1IsTUFBTTtNQUFFQyxNQUFNO01BQUVDO0lBQXFCLENBQUMsR0FBRyxJQUFJLENBQUNULEtBQUs7SUFFbkQsb0JBQ0NSLEtBQUE7TUFBS00sU0FBUyxFQUFDLEtBQUs7TUFBQU0sUUFBQSxnQkFDbkJoQixJQUFBO1FBQUFnQixRQUFBLEVBQUtLLG9CQUFvQixHQUFHLGFBQWEsR0FBRztNQUFRLENBQUssQ0FBQyxFQUN6REQsTUFBTSxDQUFDRSxNQUFNLEdBQUcsQ0FBQyxnQkFDakJ0QixJQUFBO1FBQUFnQixRQUFBLEVBQ0VJLE1BQU0sQ0FBQ0csR0FBRyxDQUFDLENBQUNkLEtBQUssRUFBRWUsQ0FBQyxrQkFDcEJ4QixJQUFBO1VBQUFnQixRQUFBLEVBQWEsSUFBSSxDQUFDUyxXQUFXLENBQUNoQixLQUFLLEVBQUUsT0FBTztRQUFDLEdBQXBDZSxDQUF5QyxDQUNsRDtNQUFDLENBQ0MsQ0FBQyxHQUVMLElBQUksQ0FBQ0MsV0FBVyxDQUFDTCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUN2QztJQUFBLENBQ0csQ0FBQztFQUVSO0FBQ0QiLCJpZ25vcmVMaXN0IjpbXX0=