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,100 +1,151 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureMapStateToProps = void 0;
4
- exports.configureCollectionItemComponent = configureCollectionItemComponent;
5
- exports.default = collectionItemComponent;
6
- const tslib_1 = require("tslib");
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const memoize_one_1 = tslib_1.__importDefault(require("memoize-one"));
9
- const react_1 = require("react");
10
- const react_redux_1 = require("react-redux");
11
- const react_router_1 = require("react-router");
12
- const modelStatus_1 = require("../../constants/modelStatus");
13
- const collection_1 = require("../../utils/collection");
14
- const model_1 = require("../../utils/model");
15
- const Loading_1 = require("../Loading");
16
- const GuidComponent_1 = require("./GuidComponent");
17
- function configureCollectionItemComponent(WrappedComponent, LoaderComponent = Loading_1.Loading) {
18
- return class CollectionItemComponent extends react_1.Component {
19
- constructor(props) {
20
- super(props);
21
- this.setModelStatus = (newModelStatus) => {
22
- this.setState(prevState => ({
23
- previousModelStatus: prevState.modelStatus,
24
- modelStatus: newModelStatus
25
- }));
26
- };
27
- this.getCollectionMethodConfig = () => {
28
- const { guid, modelName, pathParams, queryParams, disableAutoLoad } = this.props;
29
- const { modelStatus } = this.state;
30
- const collectionMethodConfig = {
31
- modelName,
32
- pathParams,
33
- queryParams,
34
- disableAutoLoad,
35
- guid,
36
- isInitialized: modelStatus !== modelStatus_1.MODEL_STATUS.UNINITIALIZED,
37
- changeModelStatus: this.setModelStatus
38
- };
39
- return collectionMethodConfig;
40
- };
41
- this.load = (params = {}) => {
42
- (0, collection_1.loadCollectionItem)(this.getCollectionMethodConfig(), params);
43
- };
44
- this.stopPeriodicLoad = (taskId) => {
45
- (0, collection_1.stopCollectionPeriodicLoad)(taskId);
46
- };
47
- this.create = (params) => {
48
- const { model } = this.props;
49
- (0, collection_1.createCollectionItem)(model, this.getCollectionMethodConfig(), params);
50
- };
51
- this.update = (params) => {
52
- const { model } = this.props;
53
- (0, collection_1.updateCollectionItem)(model, this.getCollectionMethodConfig(), params);
54
- };
55
- this.delete = (params = {}) => {
56
- const { model } = this.props;
57
- (0, collection_1.deleteCollectionItem)(model, this.getCollectionMethodConfig(), params);
58
- };
59
- this.getModelMinusRelations = (0, memoize_one_1.default)((model) => (0, model_1.getModelMinusRelations)(model));
60
- this.state = {
61
- // initializing until model is loaded, or if no model
62
- modelStatus: modelStatus_1.MODEL_STATUS.UNINITIALIZED,
63
- previousModelStatus: modelStatus_1.MODEL_STATUS.UNINITIALIZED
64
- };
65
- }
66
- componentDidMount() {
67
- const { model } = this.props;
68
- (0, collection_1.initializeCollectionItem)(model, this.load, this.getCollectionMethodConfig());
69
- }
70
- componentDidUpdate(prevProps) {
71
- const { model: prevModel, modelName: prevModelName, pathParams: prevPathParams, queryParams: prevQueryParams } = prevProps;
72
- const { modelName, model, pathParams, queryParams, disableAutoLoadOnParamsChange } = this.props;
73
- (0, model_1.handleModelFetchFinish)(model, prevModel, undefined, this.setModelStatus);
74
- if (!disableAutoLoadOnParamsChange) {
75
- (0, collection_1.handleCollectionItemParamsChange)(modelName, prevModelName, pathParams, prevPathParams, queryParams, prevQueryParams, this.load);
76
- }
77
- }
78
- render() {
79
- const _a = this.props, { history, match, location, staticContext } = _a, otherProps = tslib_1.__rest(_a, ["history", "match", "location", "staticContext"]);
80
- const { modelStatus, previousModelStatus } = this.state;
81
- if (modelStatus === modelStatus_1.MODEL_STATUS.UNINITIALIZED) {
82
- return (0, jsx_runtime_1.jsx)(LoaderComponent, {});
83
- }
84
- return ((0, jsx_runtime_1.jsx)(WrappedComponent, Object.assign({}, otherProps, { model: this.props.model, modelMinusRelations: this.getModelMinusRelations(this.props.model), modelStatus: modelStatus, previousModelStatus: previousModelStatus, load: this.load, stopPeriodicLoad: this.stopPeriodicLoad, create: this.create, update: this.update, delete: this.delete })));
85
- }
86
- };
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import memoizeOne from 'memoize-one';
3
+ import { Component } from 'react';
4
+ import { connect } from 'react-redux';
5
+ import { withRouter } from 'react-router';
6
+ import { MODEL_STATUS } from '../../constants/modelStatus';
7
+ import { createCollectionItem, deleteCollectionItem, handleCollectionItemParamsChange, initializeCollectionItem, loadCollectionItem, selectCollectionItemFromState, stopCollectionPeriodicLoad, updateCollectionItem } from '../../utils/collection';
8
+ import { getModelMinusRelations, handleModelFetchFinish } from '../../utils/model';
9
+ import { Loading } from '../Loading';
10
+ import { guidComponent } from './GuidComponent';
11
+
12
+ /** The props passed into `CollectionItemComponent` from the user and other HOCs. */
13
+
14
+ /** The props passed down to the `WrappedComponent`. */
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
+ export function configureCollectionItemComponent(WrappedComponent) {
17
+ let LoaderComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Loading;
18
+ return class CollectionItemComponent extends Component {
19
+ constructor(props) {
20
+ var _this;
21
+ super(props);
22
+ _this = this;
23
+ _defineProperty(this, "setModelStatus", newModelStatus => {
24
+ this.setState(prevState => ({
25
+ previousModelStatus: prevState.modelStatus,
26
+ modelStatus: newModelStatus
27
+ }));
28
+ });
29
+ _defineProperty(this, "getCollectionMethodConfig", () => {
30
+ const {
31
+ guid,
32
+ modelName,
33
+ pathParams,
34
+ queryParams,
35
+ disableAutoLoad
36
+ } = this.props;
37
+ const {
38
+ modelStatus
39
+ } = this.state;
40
+ const collectionMethodConfig = {
41
+ modelName,
42
+ pathParams,
43
+ queryParams,
44
+ disableAutoLoad,
45
+ guid,
46
+ isInitialized: modelStatus !== MODEL_STATUS.UNINITIALIZED,
47
+ changeModelStatus: this.setModelStatus
48
+ };
49
+ return collectionMethodConfig;
50
+ });
51
+ _defineProperty(this, "load", function () {
52
+ let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
53
+ loadCollectionItem(_this.getCollectionMethodConfig(), params);
54
+ });
55
+ _defineProperty(this, "stopPeriodicLoad", taskId => {
56
+ stopCollectionPeriodicLoad(taskId);
57
+ });
58
+ _defineProperty(this, "create", params => {
59
+ const {
60
+ model
61
+ } = this.props;
62
+ createCollectionItem(model, this.getCollectionMethodConfig(), params);
63
+ });
64
+ _defineProperty(this, "update", params => {
65
+ const {
66
+ model
67
+ } = this.props;
68
+ updateCollectionItem(model, this.getCollectionMethodConfig(), params);
69
+ });
70
+ _defineProperty(this, "delete", function () {
71
+ let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
72
+ const {
73
+ model
74
+ } = _this.props;
75
+ deleteCollectionItem(model, _this.getCollectionMethodConfig(), params);
76
+ });
77
+ _defineProperty(this, "getModelMinusRelations", memoizeOne(model => getModelMinusRelations(model)));
78
+ this.state = {
79
+ // initializing until model is loaded, or if no model
80
+ modelStatus: MODEL_STATUS.UNINITIALIZED,
81
+ previousModelStatus: MODEL_STATUS.UNINITIALIZED
82
+ };
83
+ }
84
+ componentDidMount() {
85
+ const {
86
+ model
87
+ } = this.props;
88
+ initializeCollectionItem(model, this.load, this.getCollectionMethodConfig());
89
+ }
90
+ componentDidUpdate(prevProps) {
91
+ const {
92
+ model: prevModel,
93
+ modelName: prevModelName,
94
+ pathParams: prevPathParams,
95
+ queryParams: prevQueryParams
96
+ } = prevProps;
97
+ const {
98
+ modelName,
99
+ model,
100
+ pathParams,
101
+ queryParams,
102
+ disableAutoLoadOnParamsChange
103
+ } = this.props;
104
+ handleModelFetchFinish(model, prevModel, undefined, this.setModelStatus);
105
+ if (!disableAutoLoadOnParamsChange) {
106
+ handleCollectionItemParamsChange(modelName, prevModelName, pathParams, prevPathParams, queryParams, prevQueryParams, this.load);
107
+ }
108
+ }
109
+ render() {
110
+ const {
111
+ history,
112
+ match,
113
+ location,
114
+ staticContext,
115
+ ...otherProps
116
+ } = this.props;
117
+ const {
118
+ modelStatus,
119
+ previousModelStatus
120
+ } = this.state;
121
+ if (modelStatus === MODEL_STATUS.UNINITIALIZED) {
122
+ return /*#__PURE__*/_jsx(LoaderComponent, {});
123
+ }
124
+ return /*#__PURE__*/_jsx(WrappedComponent, {
125
+ ...otherProps,
126
+ model: this.props.model,
127
+ modelMinusRelations: this.getModelMinusRelations(this.props.model),
128
+ modelStatus: modelStatus,
129
+ previousModelStatus: previousModelStatus,
130
+ load: this.load,
131
+ stopPeriodicLoad: this.stopPeriodicLoad,
132
+ create: this.create,
133
+ update: this.update,
134
+ delete: this.delete
135
+ });
136
+ }
137
+ };
87
138
  }
88
- const configureMapStateToProps = (modelName) => (state, ownProps) => {
89
- return (0, collection_1.selectCollectionItemFromState)({
90
- guid: ownProps.guid,
91
- modelName: ownProps.modelName || modelName,
92
- pathParams: ownProps.pathParams,
93
- routeMatchParams: ownProps.match.params,
94
- state
95
- });
139
+ export const configureMapStateToProps = modelName => (state, ownProps) => {
140
+ return selectCollectionItemFromState({
141
+ guid: ownProps.guid,
142
+ modelName: ownProps.modelName || modelName,
143
+ pathParams: ownProps.pathParams,
144
+ routeMatchParams: ownProps.match.params,
145
+ state
146
+ });
96
147
  };
97
- exports.configureMapStateToProps = configureMapStateToProps;
148
+
98
149
  /**
99
150
  * HOC that provides "collection" related functionality for a single item in a collection, using redux `connect()`, react-router-dom `withRouter()`, and `GuidComponent`.
100
151
  *
@@ -106,9 +157,10 @@ exports.configureMapStateToProps = configureMapStateToProps;
106
157
  * Can override at render time, e.g. `<C modelName="otherModel" />`.
107
158
  * @param LoaderComponent Component to use as the Loader. Defaults to `<Loading />`.
108
159
  */
109
- function collectionItemComponent(WrappedComponent, modelName, LoaderComponent) {
110
- const CollectionItemComponent = configureCollectionItemComponent(WrappedComponent, LoaderComponent);
111
- const mapStateToProps = (0, exports.configureMapStateToProps)(modelName);
112
- // @ts-ignore: could not match inferred type from the `connect` HOC
113
- return (0, react_router_1.withRouter)((0, GuidComponent_1.guidComponent)((0, react_redux_1.connect)(mapStateToProps)(CollectionItemComponent)));
160
+ export default function collectionItemComponent(WrappedComponent, modelName, LoaderComponent) {
161
+ const CollectionItemComponent = configureCollectionItemComponent(WrappedComponent, LoaderComponent);
162
+ const mapStateToProps = configureMapStateToProps(modelName);
163
+ // @ts-ignore: could not match inferred type from the `connect` HOC
164
+ return withRouter(guidComponent(connect(mapStateToProps)(CollectionItemComponent)));
114
165
  }
166
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZW1vaXplT25lIiwiQ29tcG9uZW50IiwiY29ubmVjdCIsIndpdGhSb3V0ZXIiLCJNT0RFTF9TVEFUVVMiLCJjcmVhdGVDb2xsZWN0aW9uSXRlbSIsImRlbGV0ZUNvbGxlY3Rpb25JdGVtIiwiaGFuZGxlQ29sbGVjdGlvbkl0ZW1QYXJhbXNDaGFuZ2UiLCJpbml0aWFsaXplQ29sbGVjdGlvbkl0ZW0iLCJsb2FkQ29sbGVjdGlvbkl0ZW0iLCJzZWxlY3RDb2xsZWN0aW9uSXRlbUZyb21TdGF0ZSIsInN0b3BDb2xsZWN0aW9uUGVyaW9kaWNMb2FkIiwidXBkYXRlQ29sbGVjdGlvbkl0ZW0iLCJnZXRNb2RlbE1pbnVzUmVsYXRpb25zIiwiaGFuZGxlTW9kZWxGZXRjaEZpbmlzaCIsIkxvYWRpbmciLCJndWlkQ29tcG9uZW50IiwianN4IiwiX2pzeCIsImNvbmZpZ3VyZUNvbGxlY3Rpb25JdGVtQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkxvYWRlckNvbXBvbmVudCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkNvbGxlY3Rpb25JdGVtQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl90aGlzIiwidGhpcyIsIl9kZWZpbmVQcm9wZXJ0eSIsIm5ld01vZGVsU3RhdHVzIiwic2V0U3RhdGUiLCJwcmV2U3RhdGUiLCJwcmV2aW91c01vZGVsU3RhdHVzIiwibW9kZWxTdGF0dXMiLCJndWlkIiwibW9kZWxOYW1lIiwicGF0aFBhcmFtcyIsInF1ZXJ5UGFyYW1zIiwiZGlzYWJsZUF1dG9Mb2FkIiwic3RhdGUiLCJjb2xsZWN0aW9uTWV0aG9kQ29uZmlnIiwiaXNJbml0aWFsaXplZCIsIlVOSU5JVElBTElaRUQiLCJjaGFuZ2VNb2RlbFN0YXR1cyIsInNldE1vZGVsU3RhdHVzIiwicGFyYW1zIiwiZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZyIsInRhc2tJZCIsIm1vZGVsIiwiY29tcG9uZW50RGlkTW91bnQiLCJsb2FkIiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJldlByb3BzIiwicHJldk1vZGVsIiwicHJldk1vZGVsTmFtZSIsInByZXZQYXRoUGFyYW1zIiwicHJldlF1ZXJ5UGFyYW1zIiwiZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UiLCJyZW5kZXIiLCJoaXN0b3J5IiwibWF0Y2giLCJsb2NhdGlvbiIsInN0YXRpY0NvbnRleHQiLCJvdGhlclByb3BzIiwibW9kZWxNaW51c1JlbGF0aW9ucyIsInN0b3BQZXJpb2RpY0xvYWQiLCJjcmVhdGUiLCJ1cGRhdGUiLCJkZWxldGUiLCJjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMiLCJvd25Qcm9wcyIsInJvdXRlTWF0Y2hQYXJhbXMiLCJjb2xsZWN0aW9uSXRlbUNvbXBvbmVudCIsIm1hcFN0YXRlVG9Qcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9Db2xsZWN0aW9uSXRlbUNvbXBvbmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1lbW9pemVPbmUgZnJvbSAnbWVtb2l6ZS1vbmUnXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudENsYXNzLCBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjb25uZWN0IH0gZnJvbSAncmVhY3QtcmVkdXgnXG5pbXBvcnQgeyBSb3V0ZUNvbXBvbmVudFByb3BzLCB3aXRoUm91dGVyIH0gZnJvbSAncmVhY3Qtcm91dGVyJ1xuaW1wb3J0IHsgTU9ERUxfU1RBVFVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL21vZGVsU3RhdHVzJ1xuaW1wb3J0IHtcblx0QmFzZVJlZHV4U3RhdGUsXG5cdENvbGxlY3Rpb25Db21tb25Qcm9wcyxcblx0Q29sbGVjdGlvbkNvbW1vblN0YXRlLFxuXHRDb2xsZWN0aW9uQ3JlYXRlUGFyYW1zLFxuXHRDb2xsZWN0aW9uSXRlbURlbGV0ZVBhcmFtcyxcblx0Q29sbGVjdGlvbkl0ZW1EZXJpdmVkUHJvcHMsXG5cdENvbGxlY3Rpb25JdGVtTG9hZFBhcmFtcyxcblx0Q29sbGVjdGlvbkl0ZW1NZXRob2RzLFxuXHRDb2xsZWN0aW9uSXRlbVJlZHV4UmVzcG9uc2UsXG5cdENvbGxlY3Rpb25JdGVtVXBkYXRlUGFyYW1zLFxuXHRDb2xsZWN0aW9uTWV0aG9kQ29uZmlndXJhdGlvbixcblx0TW9kZWxcbn0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQge1xuXHRjcmVhdGVDb2xsZWN0aW9uSXRlbSxcblx0ZGVsZXRlQ29sbGVjdGlvbkl0ZW0sXG5cdGhhbmRsZUNvbGxlY3Rpb25JdGVtUGFyYW1zQ2hhbmdlLFxuXHRpbml0aWFsaXplQ29sbGVjdGlvbkl0ZW0sXG5cdGxvYWRDb2xsZWN0aW9uSXRlbSxcblx0c2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUsXG5cdHN0b3BDb2xsZWN0aW9uUGVyaW9kaWNMb2FkLFxuXHR1cGRhdGVDb2xsZWN0aW9uSXRlbVxufSBmcm9tICcuLi8uLi91dGlscy9jb2xsZWN0aW9uJ1xuaW1wb3J0IHsgZ2V0TW9kZWxNaW51c1JlbGF0aW9ucywgaGFuZGxlTW9kZWxGZXRjaEZpbmlzaCB9IGZyb20gJy4uLy4uL3V0aWxzL21vZGVsJ1xuaW1wb3J0IHsgTG9hZGluZyB9IGZyb20gJy4uL0xvYWRpbmcnXG5pbXBvcnQgeyBndWlkQ29tcG9uZW50LCBHdWlkQ29tcG9uZW50V3JhcHBlZFByb3BzIH0gZnJvbSAnLi9HdWlkQ29tcG9uZW50J1xuXG4vKiogVGhlIHByb3BzIHBhc3NlZCBpbnRvIGBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudGAgZnJvbSB0aGUgdXNlciBhbmQgb3RoZXIgSE9Dcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRQcm9wczxUTW9kZWwgZXh0ZW5kcyBNb2RlbD5cblx0ZXh0ZW5kcyBDb2xsZWN0aW9uQ29tbW9uUHJvcHMsXG5cdFx0R3VpZENvbXBvbmVudFdyYXBwZWRQcm9wcyxcblx0XHRSb3V0ZUNvbXBvbmVudFByb3BzLFxuXHRcdENvbGxlY3Rpb25JdGVtUmVkdXhSZXNwb25zZTxUTW9kZWw+IHt9XG5cbi8qKiBUaGUgcHJvcHMgcGFzc2VkIGRvd24gdG8gdGhlIGBXcmFwcGVkQ29tcG9uZW50YC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsIGV4dGVuZHMgTW9kZWw+XG5cdGV4dGVuZHMgT21pdDxDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFByb3BzPFRNb2RlbD4sIGtleW9mIFJvdXRlQ29tcG9uZW50UHJvcHM+LFxuXHRcdENvbGxlY3Rpb25JdGVtRGVyaXZlZFByb3BzPFRNb2RlbD4sXG5cdFx0Q29sbGVjdGlvbkl0ZW1NZXRob2RzLFxuXHRcdENvbGxlY3Rpb25Db21tb25TdGF0ZSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlQ29sbGVjdGlvbkl0ZW1Db21wb25lbnQ8VE1vZGVsIGV4dGVuZHMgTW9kZWwsIFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzICYgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsPj4sXG5cdExvYWRlckNvbXBvbmVudDogQ29tcG9uZW50VHlwZSA9IExvYWRpbmdcbikge1xuXHR0eXBlIEhvY1Byb3BzID0gVE93blByb3BzICYgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRQcm9wczxUTW9kZWw+XG5cblx0cmV0dXJuIGNsYXNzIENvbGxlY3Rpb25JdGVtQ29tcG9uZW50XG5cdFx0ZXh0ZW5kcyBDb21wb25lbnQ8SG9jUHJvcHMsIENvbGxlY3Rpb25Db21tb25TdGF0ZT5cblx0XHRpbXBsZW1lbnRzIENvbGxlY3Rpb25JdGVtTWV0aG9kc1xuXHR7XG5cdFx0Y29uc3RydWN0b3IocHJvcHM6IEhvY1Byb3BzKSB7XG5cdFx0XHRzdXBlcihwcm9wcylcblx0XHRcdHRoaXMuc3RhdGUgPSB7XG5cdFx0XHRcdC8vIGluaXRpYWxpemluZyB1bnRpbCBtb2RlbCBpcyBsb2FkZWQsIG9yIGlmIG5vIG1vZGVsXG5cdFx0XHRcdG1vZGVsU3RhdHVzOiBNT0RFTF9TVEFUVVMuVU5JTklUSUFMSVpFRCxcblx0XHRcdFx0cHJldmlvdXNNb2RlbFN0YXR1czogTU9ERUxfU1RBVFVTLlVOSU5JVElBTElaRURcblx0XHRcdH1cblx0XHR9XG5cblx0XHRjb21wb25lbnREaWRNb3VudCgpIHtcblx0XHRcdGNvbnN0IHsgbW9kZWwgfSA9IHRoaXMucHJvcHNcblx0XHRcdGluaXRpYWxpemVDb2xsZWN0aW9uSXRlbShtb2RlbCwgdGhpcy5sb2FkLCB0aGlzLmdldENvbGxlY3Rpb25NZXRob2RDb25maWcoKSlcblx0XHR9XG5cblx0XHRjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzOiBIb2NQcm9wcykge1xuXHRcdFx0Y29uc3Qge1xuXHRcdFx0XHRtb2RlbDogcHJldk1vZGVsLFxuXHRcdFx0XHRtb2RlbE5hbWU6IHByZXZNb2RlbE5hbWUsXG5cdFx0XHRcdHBhdGhQYXJhbXM6IHByZXZQYXRoUGFyYW1zLFxuXHRcdFx0XHRxdWVyeVBhcmFtczogcHJldlF1ZXJ5UGFyYW1zXG5cdFx0XHR9ID0gcHJldlByb3BzXG5cdFx0XHRjb25zdCB7IG1vZGVsTmFtZSwgbW9kZWwsIHBhdGhQYXJhbXMsIHF1ZXJ5UGFyYW1zLCBkaXNhYmxlQXV0b0xvYWRPblBhcmFtc0NoYW5nZSB9ID0gdGhpcy5wcm9wc1xuXHRcdFx0aGFuZGxlTW9kZWxGZXRjaEZpbmlzaChtb2RlbCwgcHJldk1vZGVsLCB1bmRlZmluZWQsIHRoaXMuc2V0TW9kZWxTdGF0dXMpXG5cdFx0XHRpZiAoIWRpc2FibGVBdXRvTG9hZE9uUGFyYW1zQ2hhbmdlKSB7XG5cdFx0XHRcdGhhbmRsZUNvbGxlY3Rpb25JdGVtUGFyYW1zQ2hhbmdlKFxuXHRcdFx0XHRcdG1vZGVsTmFtZSxcblx0XHRcdFx0XHRwcmV2TW9kZWxOYW1lLFxuXHRcdFx0XHRcdHBhdGhQYXJhbXMsXG5cdFx0XHRcdFx0cHJldlBhdGhQYXJhbXMsXG5cdFx0XHRcdFx0cXVlcnlQYXJhbXMsXG5cdFx0XHRcdFx0cHJldlF1ZXJ5UGFyYW1zLFxuXHRcdFx0XHRcdHRoaXMubG9hZFxuXHRcdFx0XHQpXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0c2V0TW9kZWxTdGF0dXMgPSAobmV3TW9kZWxTdGF0dXM6IE1PREVMX1NUQVRVUykgPT4ge1xuXHRcdFx0dGhpcy5zZXRTdGF0ZShwcmV2U3RhdGUgPT4gKHtcblx0XHRcdFx0cHJldmlvdXNNb2RlbFN0YXR1czogcHJldlN0YXRlLm1vZGVsU3RhdHVzLFxuXHRcdFx0XHRtb2RlbFN0YXR1czogbmV3TW9kZWxTdGF0dXNcblx0XHRcdH0pKVxuXHRcdH1cblxuXHRcdGdldENvbGxlY3Rpb25NZXRob2RDb25maWcgPSAoKSA9PiB7XG5cdFx0XHRjb25zdCB7IGd1aWQsIG1vZGVsTmFtZSwgcGF0aFBhcmFtcywgcXVlcnlQYXJhbXMsIGRpc2FibGVBdXRvTG9hZCB9ID0gdGhpcy5wcm9wc1xuXHRcdFx0Y29uc3QgeyBtb2RlbFN0YXR1cyB9ID0gdGhpcy5zdGF0ZVxuXHRcdFx0Y29uc3QgY29sbGVjdGlvbk1ldGhvZENvbmZpZzogQ29sbGVjdGlvbk1ldGhvZENvbmZpZ3VyYXRpb24gPSB7XG5cdFx0XHRcdG1vZGVsTmFtZSxcblx0XHRcdFx0cGF0aFBhcmFtcyxcblx0XHRcdFx0cXVlcnlQYXJhbXMsXG5cdFx0XHRcdGRpc2FibGVBdXRvTG9hZCxcblx0XHRcdFx0Z3VpZCxcblx0XHRcdFx0aXNJbml0aWFsaXplZDogbW9kZWxTdGF0dXMgIT09IE1PREVMX1NUQVRVUy5VTklOSVRJQUxJWkVELFxuXHRcdFx0XHRjaGFuZ2VNb2RlbFN0YXR1czogdGhpcy5zZXRNb2RlbFN0YXR1c1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGNvbGxlY3Rpb25NZXRob2RDb25maWdcblx0XHR9XG5cblx0XHRsb2FkID0gKHBhcmFtczogQ29sbGVjdGlvbkl0ZW1Mb2FkUGFyYW1zID0ge30pID0+IHtcblx0XHRcdGxvYWRDb2xsZWN0aW9uSXRlbSh0aGlzLmdldENvbGxlY3Rpb25NZXRob2RDb25maWcoKSwgcGFyYW1zKVxuXHRcdH1cblxuXHRcdHN0b3BQZXJpb2RpY0xvYWQgPSAodGFza0lkOiBzdHJpbmcpID0+IHtcblx0XHRcdHN0b3BDb2xsZWN0aW9uUGVyaW9kaWNMb2FkKHRhc2tJZClcblx0XHR9XG5cblx0XHRjcmVhdGUgPSAocGFyYW1zOiBDb2xsZWN0aW9uQ3JlYXRlUGFyYW1zKSA9PiB7XG5cdFx0XHRjb25zdCB7IG1vZGVsIH0gPSB0aGlzLnByb3BzXG5cdFx0XHRjcmVhdGVDb2xsZWN0aW9uSXRlbShtb2RlbCwgdGhpcy5nZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnKCksIHBhcmFtcylcblx0XHR9XG5cblx0XHR1cGRhdGUgPSAocGFyYW1zOiBDb2xsZWN0aW9uSXRlbVVwZGF0ZVBhcmFtcykgPT4ge1xuXHRcdFx0Y29uc3QgeyBtb2RlbCB9ID0gdGhpcy5wcm9wc1xuXHRcdFx0dXBkYXRlQ29sbGVjdGlvbkl0ZW0obW9kZWwsIHRoaXMuZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZygpLCBwYXJhbXMpXG5cdFx0fVxuXG5cdFx0ZGVsZXRlID0gKHBhcmFtczogQ29sbGVjdGlvbkl0ZW1EZWxldGVQYXJhbXMgPSB7fSkgPT4ge1xuXHRcdFx0Y29uc3QgeyBtb2RlbCB9ID0gdGhpcy5wcm9wc1xuXHRcdFx0ZGVsZXRlQ29sbGVjdGlvbkl0ZW0obW9kZWwsIHRoaXMuZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZygpLCBwYXJhbXMpXG5cdFx0fVxuXG5cdFx0Z2V0TW9kZWxNaW51c1JlbGF0aW9ucyA9IG1lbW9pemVPbmUoKG1vZGVsOiBUTW9kZWwpID0+IGdldE1vZGVsTWludXNSZWxhdGlvbnMobW9kZWwpKVxuXG5cdFx0cmVuZGVyKCkge1xuXHRcdFx0Y29uc3QgeyBoaXN0b3J5LCBtYXRjaCwgbG9jYXRpb24sIHN0YXRpY0NvbnRleHQsIC4uLm90aGVyUHJvcHMgfSA9IHRoaXMucHJvcHNcblx0XHRcdGNvbnN0IHsgbW9kZWxTdGF0dXMsIHByZXZpb3VzTW9kZWxTdGF0dXMgfSA9IHRoaXMuc3RhdGVcblxuXHRcdFx0aWYgKG1vZGVsU3RhdHVzID09PSBNT0RFTF9TVEFUVVMuVU5JTklUSUFMSVpFRCkge1xuXHRcdFx0XHRyZXR1cm4gPExvYWRlckNvbXBvbmVudCAvPlxuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHQ8V3JhcHBlZENvbXBvbmVudFxuXHRcdFx0XHRcdHsuLi4ob3RoZXJQcm9wcyBhcyBUT3duUHJvcHMgJlxuXHRcdFx0XHRcdFx0T21pdDxDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFByb3BzPFRNb2RlbD4sIGtleW9mIFJvdXRlQ29tcG9uZW50UHJvcHM+KX1cblx0XHRcdFx0XHRtb2RlbD17dGhpcy5wcm9wcy5tb2RlbH1cblx0XHRcdFx0XHRtb2RlbE1pbnVzUmVsYXRpb25zPXt0aGlzLmdldE1vZGVsTWludXNSZWxhdGlvbnModGhpcy5wcm9wcy5tb2RlbCl9XG5cdFx0XHRcdFx0bW9kZWxTdGF0dXM9e21vZGVsU3RhdHVzfVxuXHRcdFx0XHRcdHByZXZpb3VzTW9kZWxTdGF0dXM9e3ByZXZpb3VzTW9kZWxTdGF0dXN9XG5cdFx0XHRcdFx0bG9hZD17dGhpcy5sb2FkfVxuXHRcdFx0XHRcdHN0b3BQZXJpb2RpY0xvYWQ9e3RoaXMuc3RvcFBlcmlvZGljTG9hZH1cblx0XHRcdFx0XHRjcmVhdGU9e3RoaXMuY3JlYXRlfVxuXHRcdFx0XHRcdHVwZGF0ZT17dGhpcy51cGRhdGV9XG5cdFx0XHRcdFx0ZGVsZXRlPXt0aGlzLmRlbGV0ZX1cblx0XHRcdFx0Lz5cblx0XHRcdClcblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyA9XG5cdDxUTW9kZWwgZXh0ZW5kcyBNb2RlbD4obW9kZWxOYW1lOiBzdHJpbmcpID0+XG5cdChcblx0XHRzdGF0ZTogQmFzZVJlZHV4U3RhdGUsXG5cdFx0b3duUHJvcHM6IE9taXQ8Q29sbGVjdGlvbkl0ZW1Db21wb25lbnRQcm9wczxUTW9kZWw+LCBrZXlvZiBDb2xsZWN0aW9uSXRlbVJlZHV4UmVzcG9uc2U8VE1vZGVsPj5cblx0KSA9PiB7XG5cdFx0cmV0dXJuIHNlbGVjdENvbGxlY3Rpb25JdGVtRnJvbVN0YXRlKHtcblx0XHRcdGd1aWQ6IG93blByb3BzLmd1aWQsXG5cdFx0XHRtb2RlbE5hbWU6IG93blByb3BzLm1vZGVsTmFtZSB8fCBtb2RlbE5hbWUsXG5cdFx0XHRwYXRoUGFyYW1zOiBvd25Qcm9wcy5wYXRoUGFyYW1zLFxuXHRcdFx0cm91dGVNYXRjaFBhcmFtczogb3duUHJvcHMubWF0Y2gucGFyYW1zLFxuXHRcdFx0c3RhdGVcblx0XHR9KVxuXHR9XG5cbi8qKlxuICogSE9DIHRoYXQgcHJvdmlkZXMgXCJjb2xsZWN0aW9uXCIgcmVsYXRlZCBmdW5jdGlvbmFsaXR5IGZvciBhIHNpbmdsZSBpdGVtIGluIGEgY29sbGVjdGlvbiwgdXNpbmcgcmVkdXggYGNvbm5lY3QoKWAsIHJlYWN0LXJvdXRlci1kb20gYHdpdGhSb3V0ZXIoKWAsIGFuZCBgR3VpZENvbXBvbmVudGAuXG4gKlxuICogQHRlbXBsYXRlIFQgVGhlIHR5cGUgb2YgbW9kZWwuXG4gKlxuICogQHBhcmFtIFdyYXBwZWRDb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byB3cmFwLlxuICogQHBhcmFtIG1vZGVsTmFtZSBUaGUgZ2VuZXJpYyBwYXRoIChubyBJZHMpIHRvIHdoZXJlIHRoZSBjb2xsZWN0aW9uIGl0ZW0gaXMgc3RvcmVkIGluIHJlZHV4LlxuICogQSBwYXRoIHJlbGF0aW5nIHRvIGFuIGl0ZW0gaW4gZGVmaW5lZCBpbiBgY29uc3RhbnRzL2NvbmZpZ3VyYXRpb24vZ2V0RW5kcG9pbnRNYXBwaW5ncygpYCAobGV2ZWxzIHNlcGFyYXRlZCBieSBhICcuJykuXG4gKiBDYW4gb3ZlcnJpZGUgYXQgcmVuZGVyIHRpbWUsIGUuZy4gYDxDIG1vZGVsTmFtZT1cIm90aGVyTW9kZWxcIiAvPmAuXG4gKiBAcGFyYW0gTG9hZGVyQ29tcG9uZW50IENvbXBvbmVudCB0byB1c2UgYXMgdGhlIExvYWRlci4gRGVmYXVsdHMgdG8gYDxMb2FkaW5nIC8+YC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29sbGVjdGlvbkl0ZW1Db21wb25lbnQ8XG5cdFRNb2RlbCBleHRlbmRzIE1vZGVsLFxuXHRUT3duUHJvcHMgZXh0ZW5kcyBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFdyYXBwZWRQcm9wczxUTW9kZWw+XG4+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcz4sXG5cdG1vZGVsTmFtZTogc3RyaW5nLFxuXHRMb2FkZXJDb21wb25lbnQ/OiBDb21wb25lbnRUeXBlXG4pOiBDb21wb25lbnRDbGFzczxPbWl0PFRPd25Qcm9wcywga2V5b2YgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsPj4gJiBQYXJ0aWFsPENvbGxlY3Rpb25Db21tb25Qcm9wcz4+IHtcblx0Y29uc3QgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnQgPSBjb25maWd1cmVDb2xsZWN0aW9uSXRlbUNvbXBvbmVudDxUTW9kZWwsIFRPd25Qcm9wcz4oXG5cdFx0V3JhcHBlZENvbXBvbmVudCxcblx0XHRMb2FkZXJDb21wb25lbnRcblx0KVxuXHRjb25zdCBtYXBTdGF0ZVRvUHJvcHMgPSBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMobW9kZWxOYW1lKVxuXHQvLyBAdHMtaWdub3JlOiBjb3VsZCBub3QgbWF0Y2ggaW5mZXJyZWQgdHlwZSBmcm9tIHRoZSBgY29ubmVjdGAgSE9DXG5cdHJldHVybiB3aXRoUm91dGVyKGd1aWRDb21wb25lbnQoY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpKENvbGxlY3Rpb25JdGVtQ29tcG9uZW50KSkpXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxVQUFVLE1BQU0sYUFBYTtBQUNwQyxTQUFTQyxTQUFTLFFBQXVDLE9BQU87QUFDaEUsU0FBU0MsT0FBTyxRQUFR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
@@ -1,22 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureMapStateToProps = void 0;
4
- exports.configureConnectedModalComponent = configureConnectedModalComponent;
5
- exports.connectedModalComponent = connectedModalComponent;
6
- const tslib_1 = require("tslib");
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const lodash_1 = require("lodash");
9
- const react_1 = require("react");
10
- const react_redux_1 = require("react-redux");
11
- const actionCreator_1 = require("../../redux/actionCreator");
12
- const actions_1 = require("../../redux/actions");
13
- const GuidComponent_1 = require("../HOC/GuidComponent");
14
- const configureMapStateToProps = () => (state) => {
15
- return {
16
- modals: state.modals
17
- };
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import { maxBy } from 'lodash';
3
+ import { Component } from 'react';
4
+ import { connect } from 'react-redux';
5
+ import { dispatchAction } from '../../redux/actionCreator';
6
+ import { MODAL_ACTION_TYPE } from '../../redux/actions';
7
+ import { guidComponent } from '../HOC/GuidComponent';
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ export const configureMapStateToProps = () => state => {
10
+ return {
11
+ modals: state.modals
12
+ };
18
13
  };
19
- exports.configureMapStateToProps = configureMapStateToProps;
14
+
20
15
  /**
21
16
  * HOC that provides modal lifecycle event methods to coordinate modal state in redux.
22
17
  *
@@ -25,53 +20,74 @@ exports.configureMapStateToProps = configureMapStateToProps;
25
20
  * @param {*} WrappedComponent The component to wrap.
26
21
  * @param {*} isFullscreen Are we rendering a fullscreen modal?
27
22
  */
28
- function configureConnectedModalComponent(WrappedComponent, isFullscreen = false) {
29
- return class ConnectedModalComponent extends react_1.Component {
30
- constructor(props) {
31
- super(props);
32
- this.onEntering = () => {
33
- var _a;
34
- const { guid, modals } = this.props;
35
- // Store each modal's GUID in redux with a zero-based index to determine the order in which they were opened
36
- const maxModal = (0, lodash_1.maxBy)(Object.values(modals), modal => modal.index);
37
- (0, actionCreator_1.dispatchAction)({
38
- type: actions_1.MODAL_ACTION_TYPE.MODAL_ENTERING,
39
- guid,
40
- index: ((_a = maxModal === null || maxModal === void 0 ? void 0 : maxModal.index) !== null && _a !== void 0 ? _a : -1) + 1,
41
- isFullscreen
42
- });
43
- this.setState({
44
- isModalOpen: true
45
- });
46
- };
47
- this.onExited = () => {
48
- const { guid } = this.props;
49
- const { isModalOpen } = this.state;
50
- if (isModalOpen) {
51
- (0, actionCreator_1.dispatchAction)({ type: actions_1.MODAL_ACTION_TYPE.MODAL_EXITED, guid });
52
- }
53
- this.setState({
54
- isModalOpen: false
55
- });
56
- };
57
- this.state = {
58
- isModalOpen: false
59
- };
23
+ export function configureConnectedModalComponent(WrappedComponent) {
24
+ let isFullscreen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
25
+ return class ConnectedModalComponent extends Component {
26
+ constructor(props) {
27
+ super(props);
28
+ _defineProperty(this, "onEntering", () => {
29
+ const {
30
+ guid,
31
+ modals
32
+ } = this.props;
33
+
34
+ // Store each modal's GUID in redux with a zero-based index to determine the order in which they were opened
35
+ const maxModal = maxBy(Object.values(modals), modal => modal.index);
36
+ dispatchAction({
37
+ type: MODAL_ACTION_TYPE.MODAL_ENTERING,
38
+ guid,
39
+ index: (maxModal?.index ?? -1) + 1,
40
+ isFullscreen
41
+ });
42
+ this.setState({
43
+ isModalOpen: true
44
+ });
45
+ });
46
+ _defineProperty(this, "onExited", () => {
47
+ const {
48
+ guid
49
+ } = this.props;
50
+ const {
51
+ isModalOpen
52
+ } = this.state;
53
+ if (isModalOpen) {
54
+ dispatchAction({
55
+ type: MODAL_ACTION_TYPE.MODAL_EXITED,
56
+ guid
57
+ });
60
58
  }
61
- componentWillUnmount() {
62
- this.onExited();
63
- }
64
- render() {
65
- var _a, _b;
66
- const _c = this.props, { modals, guid } = _c, ownProps = tslib_1.__rest(_c, ["modals", "guid"]);
67
- const topOpenFullscreenModal = (0, lodash_1.maxBy)(Object.values(modals).filter(m => m.isFullscreen), modal => modal.index);
68
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
69
- const thisModalIndex = (_b = (_a = modals[guid]) === null || _a === void 0 ? void 0 : _a.index) !== null && _b !== void 0 ? _b : null;
70
- const isTopOpenFullscreenModal = (topOpenFullscreenModal === null || topOpenFullscreenModal === void 0 ? void 0 : topOpenFullscreenModal.index) === thisModalIndex;
71
- return ((0, jsx_runtime_1.jsx)(WrappedComponent, Object.assign({}, ownProps, { guid: guid, onEntering: this.onEntering, onExited: this.onExited, isTopOpenFullscreenModal: isTopOpenFullscreenModal })));
72
- }
73
- };
59
+ this.setState({
60
+ isModalOpen: false
61
+ });
62
+ });
63
+ this.state = {
64
+ isModalOpen: false
65
+ };
66
+ }
67
+ componentWillUnmount() {
68
+ this.onExited();
69
+ }
70
+ render() {
71
+ const {
72
+ modals,
73
+ guid,
74
+ ...ownProps
75
+ } = this.props;
76
+ const topOpenFullscreenModal = maxBy(Object.values(modals).filter(m => m.isFullscreen), modal => modal.index);
77
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
78
+ const thisModalIndex = modals[guid]?.index ?? null;
79
+ const isTopOpenFullscreenModal = topOpenFullscreenModal?.index === thisModalIndex;
80
+ return /*#__PURE__*/_jsx(WrappedComponent, {
81
+ ...ownProps,
82
+ guid: guid,
83
+ onEntering: this.onEntering,
84
+ onExited: this.onExited,
85
+ isTopOpenFullscreenModal: isTopOpenFullscreenModal
86
+ });
87
+ }
88
+ };
74
89
  }
90
+
75
91
  /**
76
92
  * HOC that provides modal lifecycle event methods to coordinate modal state in redux.
77
93
  *
@@ -80,10 +96,12 @@ function configureConnectedModalComponent(WrappedComponent, isFullscreen = false
80
96
  * @param {*} WrappedComponent The component to wrap.
81
97
  * @param {*} isFullscreen Are we rendering a fullscreen modal?
82
98
  */
83
- function connectedModalComponent(WrappedComponent, isFullscreen = false) {
84
- const component = configureConnectedModalComponent(WrappedComponent, isFullscreen);
85
- const mapStateToProps = (0, exports.configureMapStateToProps)();
86
- // @ts-ignore: could not match inferred type from the `connect` HOC
87
- return (0, react_redux_1.connect)(mapStateToProps)((0, GuidComponent_1.guidComponent)(component));
99
+ export function connectedModalComponent(WrappedComponent) {
100
+ let isFullscreen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
101
+ const component = configureConnectedModalComponent(WrappedComponent, isFullscreen);
102
+ const mapStateToProps = configureMapStateToProps();
103
+ // @ts-ignore: could not match inferred type from the `connect` HOC
104
+ return connect(mapStateToProps)(guidComponent(component));
88
105
  }
89
- exports.default = connectedModalComponent;
106
+ export default connectedModalComponent;
107
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXhCeSIsIkNvbXBvbmVudCIsImNvbm5lY3QiLCJkaXNwYXRjaEFjdGlvbiIsIk1PREFMX0FDVElPTl9UWVBFIiwiZ3VpZENvbXBvbmVudCIsImpzeCIsIl9qc3giLCJjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsIm1vZGFscyIsImNvbmZpZ3VyZUNvbm5lY3RlZE1vZGFsQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsImlzRnVsbHNjcmVlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkNvbm5lY3RlZE1vZGFsQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eSIsImd1aWQiLCJtYXhNb2RhbCIsIk9iamVjdCIsInZhbHVlcyIsIm1vZGFsIiwiaW5kZXgiLCJ0eXBlIiwiTU9EQUxfRU5URVJJTkciLCJzZXRTdGF0ZSIsImlzTW9kYWxPcGVuIiwiTU9EQUxfRVhJVEVEIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJvbkV4aXRlZCIsInJlbmRlciIsIm93blByb3BzIiwidG9wT3BlbkZ1bGxzY3JlZW5Nb2RhbCIsImZpbHRlciIsIm0iLCJ0aGlzTW9kYWxJbmRleCIsImlzVG9wT3BlbkZ1bGxzY3JlZW5Nb2RhbCIsIm9uRW50ZXJpbmciLCJjb25uZWN0ZWRNb2RhbENvbXBvbmVudCIsImNvbXBvbmVudCIsIm1hcFN0YXRlVG9Qcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9Db25uZWN0ZWRNb2RhbENvbXBvbmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWF4QnkgfSBmcm9tICdsb2Rhc2gnXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudENsYXNzLCBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjb25uZWN0IH0gZnJvbSAncmVhY3QtcmVkdXgnXG5pbXBvcnQgeyBkaXNwYXRjaEFjdGlvbiB9IGZyb20gJy4uLy4uL3JlZHV4L2FjdGlvbkNyZWF0b3InXG5pbXBvcnQgeyBNT0RBTF9BQ1RJT05fVFlQRSwgTW9kYWxFbnRlckFjdGlvbiwgTW9kYWxFeGl0QWN0aW9uIH0gZnJvbSAnLi4vLi4vcmVkdXgvYWN0aW9ucydcbmltcG9ydCB7IE1vZGFsc1N0YXRlIH0gZnJvbSAnLi4vLi4vcmVkdXgvcmVkdWNlcnMvbW9kYWxzUmVkdWNlcidcbmltcG9ydCB7IEJhc2VSZWR1eFN0YXRlIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBndWlkQ29tcG9uZW50LCBHdWlkQ29tcG9uZW50V3JhcHBlZFByb3BzIH0gZnJvbSAnLi4vSE9DL0d1aWRDb21wb25lbnQnXG5cbmV4cG9ydCB0eXBlIENvbm5lY3RlZE1vZGFsUmVkdXhQcm9wcyA9IHtcblx0bW9kYWxzOiBNb2RhbHNTdGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbm5lY3RlZE1vZGFsV3JhcHBlZFByb3BzIHtcblx0b25FbnRlcmluZzogKCkgPT4gdm9pZFxuXHRvbkV4aXRlZDogKCkgPT4gdm9pZFxuXHRpc1RvcE9wZW5GdWxsc2NyZWVuTW9kYWw/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdGVkTW9kYWxTdGF0ZSB7XG5cdGlzTW9kYWxPcGVuOiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMgPVxuXHQoKSA9PlxuXHQoc3RhdGU6IEJhc2VSZWR1eFN0YXRlKTogQ29ubmVjdGVkTW9kYWxSZWR1eFByb3BzID0+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0bW9kYWxzOiBzdGF0ZS5tb2RhbHNcblx0XHR9XG5cdH1cblxuLyoqXG4gKiBIT0MgdGhhdCBwcm92aWRlcyBtb2RhbCBsaWZlY3ljbGUgZXZlbnQgbWV0aG9kcyB0byBjb29yZGluYXRlIG1vZGFsIHN0YXRlIGluIHJlZHV4LlxuICpcbiAqIE5PVEU6IE1lYW50IGZvciB0ZXN0aW5nLiBTaG91bGQgYmUgd3JhcHBlZCBpbiBgZ3VpZENvbXBvbmVudGAgdG8gcHJvdmlkZSB0aGUgYGd1aWRgIHByb3Agbm9ybWFsbHkuXG4gKlxuICogQHBhcmFtIHsqfSBXcmFwcGVkQ29tcG9uZW50IFRoZSBjb21wb25lbnQgdG8gd3JhcC5cbiAqIEBwYXJhbSB7Kn0gaXNGdWxsc2NyZWVuIEFyZSB3ZSByZW5kZXJpbmcgYSBmdWxsc2NyZWVuIG1vZGFsP1xuICovXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlQ29ubmVjdGVkTW9kYWxDb21wb25lbnQ8VE93blByb3BzIGV4dGVuZHMgb2JqZWN0Pihcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHMgJiBDb25uZWN0ZWRNb2RhbFdyYXBwZWRQcm9wcyAmIEd1aWRDb21wb25lbnRXcmFwcGVkUHJvcHM+LFxuXHRpc0Z1bGxzY3JlZW4gPSBmYWxzZVxuKSB7XG5cdHR5cGUgQ29ubmVjdGVkTW9kYWxQcm9wcyA9IFRPd25Qcm9wcyAmIENvbm5lY3RlZE1vZGFsUmVkdXhQcm9wcyAmIEd1aWRDb21wb25lbnRXcmFwcGVkUHJvcHNcblx0cmV0dXJuIGNsYXNzIENvbm5lY3RlZE1vZGFsQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PENvbm5lY3RlZE1vZGFsUHJvcHMsIENvbm5lY3RlZE1vZGFsU3RhdGU+IHtcblx0XHRjb25zdHJ1Y3Rvcihwcm9wczogQ29ubmVjdGVkTW9kYWxQcm9wcykge1xuXHRcdFx0c3VwZXIocHJvcHMpXG5cdFx0XHR0aGlzLnN0YXRlID0ge1xuXHRcdFx0XHRpc01vZGFsT3BlbjogZmFsc2Vcblx0XHRcdH1cblx0XHR9XG5cblx0XHRjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcblx0XHRcdHRoaXMub25FeGl0ZWQoKVxuXHRcdH1cblxuXHRcdG9uRW50ZXJpbmcgPSAoKSA9PiB7XG5cdFx0XHRjb25zdCB7IGd1aWQsIG1vZGFscyB9ID0gdGhpcy5wcm9wc1xuXG5cdFx0XHQvLyBTdG9yZSBlYWNoIG1vZGFsJ3MgR1VJRCBpbiByZWR1eCB3aXRoIGEgemVyby1iYXNlZCBpbmRleCB0byBkZXRlcm1pbmUgdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgd2VyZSBvcGVuZWRcblx0XHRcdGNvbnN0IG1heE1vZGFsID0gbWF4QnkoT2JqZWN0LnZhbHVlcyhtb2RhbHMpLCBtb2RhbCA9PiBtb2RhbC5pbmRleClcblx0XHRcdGRpc3BhdGNoQWN0aW9uPE1vZGFsRW50ZXJBY3Rpb24+KHtcblx0XHRcdFx0dHlwZTogTU9EQUxfQUNUSU9OX1RZUEUuTU9EQUxfRU5URVJJTkcsXG5cdFx0XHRcdGd1aWQsXG5cdFx0XHRcdGluZGV4OiAobWF4TW9kYWw/LmluZGV4ID8/IC0xKSArIDEsXG5cdFx0XHRcdGlzRnVsbHNjcmVlblxuXHRcdFx0fSlcblx0XHRcdHRoaXMuc2V0U3RhdGUoe1xuXHRcdFx0XHRpc01vZGFsT3BlbjogdHJ1ZVxuXHRcdFx0fSlcblx0XHR9XG5cblx0XHRvbkV4aXRlZCA9ICgpID0+IHtcblx0XHRcdGNvbnN0IHsgZ3VpZCB9ID0gdGhpcy5wcm9wc1xuXHRcdFx0Y29uc3QgeyBpc01vZGFsT3BlbiB9ID0gdGhpcy5zdGF0ZVxuXHRcdFx0aWYgKGlzTW9kYWxPcGVuKSB7XG5cdFx0XHRcdGRpc3BhdGNoQWN0aW9uPE1vZGFsRXhpdEFjdGlvbj4oeyB0eXBlOiBNT0RBTF9BQ1RJT05fVFlQRS5NT0RBTF9FWElURUQsIGd1aWQgfSlcblx0XHRcdH1cblx0XHRcdHRoaXMuc2V0U3RhdGUoe1xuXHRcdFx0XHRpc01vZGFsT3BlbjogZmFsc2Vcblx0XHRcdH0pXG5cdFx0fVxuXG5cdFx0cmVuZGVyKCkge1xuXHRcdFx0Y29uc3QgeyBtb2RhbHMsIGd1aWQsIC4uLm93blByb3BzIH0gPSB0aGlzLnByb3BzXG5cblx0XHRcdGNvbnN0IHRvcE9wZW5GdWxsc2NyZWVuTW9kYWwgPSBtYXhCeShcblx0XHRcdFx0T2JqZWN0LnZhbHVlcyhtb2RhbHMpLmZpbHRlcihtID0+IG0uaXNGdWxsc2NyZWVuKSxcblx0XHRcdFx0bW9kYWwgPT4gbW9kYWwuaW5kZXhcblx0XHRcdClcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG5cdFx0XHRjb25zdCB0aGlzTW9kYWxJbmRleCA9IG1vZGFsc1tndWlkXT8uaW5kZXggPz8gbnVsbFxuXHRcdFx0Y29uc3QgaXNUb3BPcGVuRnVsbHNjcmVlbk1vZGFsID0gdG9wT3BlbkZ1bGxzY3JlZW5Nb2RhbD8uaW5kZXggPT09IHRoaXNNb2RhbEluZGV4XG5cblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdDxXcmFwcGVkQ29tcG9uZW50XG5cdFx0XHRcdFx0ey4uLihvd25Qcm9wcyBhcyBUT3duUHJvcHMpfVxuXHRcdFx0XHRcdGd1aWQ9e2d1aWR9XG5cdFx0XHRcdFx0b25FbnRlcmluZz17dGhpcy5vbkVudGVyaW5nfVxuXHRcdFx0XHRcdG9uRXhpdGVkPXt0aGlzLm9uRXhpdGVkfVxuXHRcdFx0XHRcdGlzVG9wT3BlbkZ1bGxzY3JlZW5Nb2RhbD17aXNUb3BPcGVuRnVsbHNjcmVlbk1vZGFsfVxuXHRcdFx0XHQvPlxuXHRcdFx0KVxuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIEhPQyB0aGF0IHByb3ZpZGVzIG1vZGFsIGxpZmVjeWNsZSBldmVudCBtZXRob2RzIHRvIGNvb3JkaW5hdGUgbW9kYWwgc3RhdGUgaW4gcmVkdXguXG4gKlxuICogVXNlcyBgZ3VpZENvbXBvbmVudGAuXG4gKlxuICogQHBhcmFtIHsqfSBXcmFwcGVkQ29tcG9uZW50IFRoZSBjb21wb25lbnQgdG8gd3JhcC5cbiAqIEBwYXJhbSB7Kn0gaXNGdWxsc2NyZWVuIEFyZSB3ZSByZW5kZXJpbmcgYSBmdWxsc2NyZWVuIG1vZGFsP1xuICovXG5leHBvcnQgZnVuY3Rpb24gY29ubmVjdGVkTW9kYWxDb21wb25lbnQ8VE93blByb3BzIGV4dGVuZHMgb2JqZWN0Pihcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHMgJiBDb25uZWN0ZWRNb2RhbFdyYXBwZWRQcm9wcyAmIEd1aWRDb21wb25lbnRXcmFwcGVkUHJvcHM+LFxuXHRpc0Z1bGxzY3JlZW4gPSBmYWxzZVxuKTogQ29tcG9uZW50Q2xhc3M8VE93blByb3BzPiB7XG5cdGNvbnN0IGNvbXBvbmVudCA9IGNvbmZpZ3VyZUNvbm5lY3RlZE1vZGFsQ29tcG9uZW50KFdyYXBwZWRDb21wb25lbnQsIGlzRnVsbHNjcmVlbilcblx0Y29uc3QgbWFwU3RhdGVUb1Byb3BzID0gY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzKClcblx0Ly8gQHRzLWlnbm9yZTogY291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSB0aGUgYGNvbm5lY3RgIEhPQ1xuXHRyZXR1cm4gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpKGd1aWRDb21wb25lbnQoY29tcG9uZW50KSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgY29ubmVjdGVkTW9kYWxDb21wb25lbnRcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLEtBQUssUUFBUSxRQUFRO0FBQzlCLFNBQVNDLFNBQVMsUUFBdUMsT0FBTztBQUNoRSxTQUFTQyxPQUFPLFFBQVEsYUFBYTtBQUNyQyxTQUFTQyxjQUFjLFFBQVEsMkJBQTJCO0FBQzFELFNBQVNDLGlCQUFpQixRQUEyQyxxQkFBcUI7QUFHMUYsU0FBU0MsYUFBYSxRQUFtQyxzQkFBc0I7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFnQi9FLE9BQU8sTUFBTUMsd0JBQXdCLEdBQ3BDQSxDQUFBLEtBQ0NDLEtBQXFCLElBQStCO0VBQ3BELE9BQU87SUFDTkMsTUFBTSxFQUFFRCxLQUFLLENBQUNDO0VBQ2YsQ0FBQztBQUNGLENBQUM7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sU0FBU0MsZ0NBQWdDQSxDQUMvQ0MsZ0JBQW1HLEVBRWxHO0VBQUEsSUFEREMsWUFBWSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxR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
@@ -1,30 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureMapStateToProps = exports.configureDataDependentComponent = void 0;
4
- exports.default = dataDependentComponent;
5
- const tslib_1 = require("tslib");
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("react");
8
- const react_redux_1 = require("react-redux");
9
- const Loading_1 = require("../Loading");
10
- const configureDataDependentComponent = (WrappedComponent) => {
11
- return class DataDependentComponent extends react_1.Component {
12
- render() {
13
- const _a = this.props, { hasData } = _a, ownProps = tslib_1.__rest(_a, ["hasData"]);
14
- return this.props.hasData ? (0, jsx_runtime_1.jsx)(WrappedComponent, Object.assign({}, ownProps)) : (0, jsx_runtime_1.jsx)(Loading_1.Loading, {});
15
- }
16
- };
1
+ import { Component } from 'react';
2
+ import { connect } from 'react-redux';
3
+ import { Loading } from '../Loading';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ export const configureDataDependentComponent = WrappedComponent => {
6
+ return class DataDependentComponent extends Component {
7
+ render() {
8
+ const {
9
+ hasData,
10
+ ...ownProps
11
+ } = this.props;
12
+ return this.props.hasData ? /*#__PURE__*/_jsx(WrappedComponent, {
13
+ ...ownProps
14
+ }) : /*#__PURE__*/_jsx(Loading, {});
15
+ }
16
+ };
17
17
  };
18
- exports.configureDataDependentComponent = configureDataDependentComponent;
19
- const configureMapStateToProps = (hasData) => (state) => {
20
- return {
21
- hasData: hasData(state)
22
- };
18
+ export const configureMapStateToProps = hasData => state => {
19
+ return {
20
+ hasData: hasData(state)
21
+ };
23
22
  };
24
- exports.configureMapStateToProps = configureMapStateToProps;
25
- function dataDependentComponent(WrappedComponent, hasData) {
26
- const DataDependentComponent = (0, exports.configureDataDependentComponent)(WrappedComponent);
27
- const mapStateToProps = (0, exports.configureMapStateToProps)(hasData);
28
- // @ts-ignore: could not match inferred type from the `connect` HOC
29
- return (0, react_redux_1.connect)(mapStateToProps)(DataDependentComponent);
23
+ export default function dataDependentComponent(WrappedComponent, hasData) {
24
+ const DataDependentComponent = configureDataDependentComponent(WrappedComponent);
25
+ const mapStateToProps = configureMapStateToProps(hasData);
26
+ // @ts-ignore: could not match inferred type from the `connect` HOC
27
+ return connect(mapStateToProps)(DataDependentComponent);
30
28
  }
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJjb25uZWN0IiwiTG9hZGluZyIsImpzeCIsIl9qc3giLCJjb25maWd1cmVEYXRhRGVwZW5kZW50Q29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkRhdGFEZXBlbmRlbnRDb21wb25lbnQiLCJyZW5kZXIiLCJoYXNEYXRhIiwib3duUHJvcHMiLCJwcm9wcyIsImNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZGF0YURlcGVuZGVudENvbXBvbmVudCIsIm1hcFN0YXRlVG9Qcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9EYXRhRGVwZW5kZW50Q29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudENsYXNzLCBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjb25uZWN0IH0gZnJvbSAncmVhY3QtcmVkdXgnXG5pbXBvcnQgeyBCYXNlUmVkdXhTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgTG9hZGluZyB9IGZyb20gJy4uL0xvYWRpbmcnXG5cbmludGVyZmFjZSBEYXRhRGVwZW5kZW50Q29tcG9uZW50U3RhdGVQcm9wcyB7XG5cdGhhc0RhdGE6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyZURhdGFEZXBlbmRlbnRDb21wb25lbnQgPSA8VE93blByb3BzIGV4dGVuZHMgb2JqZWN0Pihcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHM+XG4pOiBDb21wb25lbnRDbGFzczxUT3duUHJvcHMgJiBEYXRhRGVwZW5kZW50Q29tcG9uZW50U3RhdGVQcm9wcz4gPT4ge1xuXHRyZXR1cm4gY2xhc3MgRGF0YURlcGVuZGVudENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudDxUT3duUHJvcHMgJiBEYXRhRGVwZW5kZW50Q29tcG9uZW50U3RhdGVQcm9wcz4ge1xuXHRcdHJlbmRlcigpIHtcblx0XHRcdGNvbnN0IHsgaGFzRGF0YSwgLi4ub3duUHJvcHMgfSA9IHRoaXMucHJvcHNcblx0XHRcdHJldHVybiB0aGlzLnByb3BzLmhhc0RhdGEgPyA8V3JhcHBlZENvbXBvbmVudCB7Li4uKG93blByb3BzIGFzIFRPd25Qcm9wcyl9IC8+IDogPExvYWRpbmcgLz5cblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyA9XG5cdChoYXNEYXRhOiAoc3RhdGU6IEJhc2VSZWR1eFN0YXRlKSA9PiBib29sZWFuKSA9PlxuXHQoc3RhdGU6IEJhc2VSZWR1eFN0YXRlKTogRGF0YURlcGVuZGVudENvbXBvbmVudFN0YXRlUHJvcHMgPT4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRoYXNEYXRhOiBoYXNEYXRhKHN0YXRlKVxuXHRcdH1cblx0fVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkYXRhRGVwZW5kZW50Q29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPixcblx0aGFzRGF0YTogKHN0YXRlOiBhbnkpID0+IGJvb2xlYW5cbik6IENvbXBvbmVudENsYXNzPFRPd25Qcm9wcz4ge1xuXHRjb25zdCBEYXRhRGVwZW5kZW50Q29tcG9uZW50ID0gY29uZmlndXJlRGF0YURlcGVuZGVudENvbXBvbmVudChXcmFwcGVkQ29tcG9uZW50KVxuXHRjb25zdCBtYXBTdGF0ZVRvUHJvcHMgPSBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMoaGFzRGF0YSlcblx0Ly8gQHRzLWlnbm9yZTogY291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSB0aGUgYGNvbm5lY3RgIEhPQ1xuXHRyZXR1cm4gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpKERhdGFEZXBlbmRlbnRDb21wb25lbnQpXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFNBQVMsUUFBdUMsT0FBTztBQUNoRSxTQUFTQyxPQUFPLFFBQVEsYUFBYTtBQUVyQyxTQUFTQyxPQUFPLFFBQVEsWUFBWTtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQU1wQyxPQUFPLE1BQU1DLCtCQUErQixHQUMzQ0MsZ0JBQTBDLElBQ3dCO0VBQ2xFLE9BQU8sTUFBTUMsc0JBQXNCLFNBQVNQLFNBQVMsQ0FBK0M7SUFDbkdRLE1BQU1BLENBQUEsRUFBRztNQUNSLE1BQU07UUFBRUMsT0FBTztRQUFFLEdBQUdDO01BQVMsQ0FBQyxHQUFHLElBQUksQ0FBQ0MsS0FBSztNQUMzQyxPQUFPLElBQUksQ0FBQ0EsS0FBSyxDQUFDRixPQUFPLGdCQUFHTCxJQUFBLENBQUNFLGdCQUFnQjtRQUFBLEdBQU1JO01BQVEsQ0FBaUIsQ0FBQyxnQkFBR04sSUFBQSxDQUFDRixPQUFPLElBQUUsQ0FBQztJQUM1RjtFQUNELENBQUM7QUFDRixDQUFDO0FBRUQsT0FBTyxNQUFNVSx3QkFBd0IsR0FDbkNILE9BQTJDLElBQzNDSSxLQUFxQixJQUF1QztFQUM1RCxPQUFPO0lBQ05KLE9BQU8sRUFBRUEsT0FBTyxDQUFDSSxLQUFLO0VBQ3ZCLENBQUM7QUFDRixDQUFDO0FBRUYsZUFBZSxTQUFTQyxzQkFBc0JBLENBQzdDUixnQkFBMEMsRUFDMUNHLE9BQWdDLEVBQ0o7RUFDNUIsTUFBTUYsc0JBQXNCLEdBQUdGLCtCQUErQixDQUFDQyxnQkFBZ0IsQ0FBQztFQUNoRixNQUFNUyxlQUFlLEdBQUdILHdCQUF3QixDQUFDSCxPQUFPLENBQUM7RUFDekQ7RUFDQSxPQUFPUixPQUFPLENBQUNjLGVBQWUsQ0FBQyxDQUFDUixzQkFBc0IsQ0FBQztBQUN4RCIsImlnbm9yZUxpc3QiOltdfQ==