studiokit-scaffolding-js 7.0.12-next.1.3 → 7.0.12-next.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/ActionList.js +164 -37
- package/lib/components/AlertDialog.js +128 -12
- package/lib/components/AlertWithIcon.js +88 -29
- package/lib/components/ConnectedModal.js +35 -12
- package/lib/components/Dropdowns/GroupsDropdown.js +63 -45
- package/lib/components/Dropdowns/ManagedNavDropdown.js +92 -67
- package/lib/components/Dropdowns/UserDropdown.js +105 -24
- package/lib/components/Dropdowns/index.js +4 -10
- package/lib/components/EntityOwnerList.js +47 -21
- package/lib/components/Error.js +101 -12
- package/lib/components/ErrorBoundary.js +127 -38
- package/lib/components/ErrorMessage.js +39 -12
- package/lib/components/Forms/DateField.js +56 -45
- package/lib/components/Forms/TimeField.js +76 -45
- package/lib/components/Forms/index.js +3 -5
- package/lib/components/Groups/CreateEditCopySaveButtons.js +109 -14
- package/lib/components/Groups/ExternalGroups/Attach.js +206 -151
- package/lib/components/Groups/ExternalGroups/Table.js +176 -48
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
- package/lib/components/Groups/RosterSyncInfo.js +142 -23
- package/lib/components/HOC/AccessibleAppComponent.js +88 -72
- package/lib/components/HOC/ActivityRequiredComponent.js +68 -33
- package/lib/components/HOC/AsyncComponent.js +49 -41
- package/lib/components/HOC/AuthenticatedComponent.js +55 -44
- package/lib/components/HOC/CollectionComponent.js +154 -104
- package/lib/components/HOC/CollectionFirstItemComponent.js +45 -40
- package/lib/components/HOC/CollectionItemComponent.js +152 -100
- package/lib/components/HOC/ConnectedModalComponent.js +87 -69
- package/lib/components/HOC/DataDependentComponent.js +26 -27
- package/lib/components/HOC/EntityComponent.js +57 -53
- package/lib/components/HOC/FullscreenModalComponent.js +139 -108
- package/lib/components/HOC/GroupActivityRequiredComponent.js +27 -20
- package/lib/components/HOC/GuidComponent.js +20 -20
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +32 -29
- package/lib/components/HOC/ModelErrorRedirectComponent.js +37 -39
- package/lib/components/HOC/SearchPersistorComponent.js +237 -173
- package/lib/components/HOC/UnauthenticatedComponent.js +32 -30
- package/lib/components/HOC/UserComponent.js +6 -8
- package/lib/components/Icons/IconAlphaList.js +28 -8
- package/lib/components/Icons/IconExternalUser.js +28 -8
- package/lib/components/Icons/IconImpersonation.js +28 -8
- package/lib/components/Icons/IconStopImpersonating.js +28 -8
- package/lib/components/Icons/IconTable.js +29 -9
- package/lib/components/Icons/IconTableDeleteCol.js +28 -8
- package/lib/components/Icons/IconTableDeleteRow.js +28 -8
- package/lib/components/Icons/IconTableInsertCol.js +28 -8
- package/lib/components/Icons/IconTableInsertRow.js +28 -8
- package/lib/components/Impersonation/Button.js +71 -16
- package/lib/components/Impersonation/Link.js +72 -16
- package/lib/components/Impersonation/UserDetail.js +60 -11
- package/lib/components/Loading.js +23 -8
- package/lib/components/LockDownBrowser/Check.js +188 -51
- package/lib/components/LockDownBrowser/ExitButton.js +22 -13
- package/lib/components/LockDownBrowser/Launch.js +64 -64
- package/lib/components/Lti/Confirm.js +147 -14
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +165 -36
- package/lib/components/Lti/Launch.js +99 -25
- package/lib/components/Lti/LaunchGroup.js +81 -16
- package/lib/components/ManageTable.js +304 -90
- package/lib/components/ManageTableNoDataComponent.js +38 -7
- package/lib/components/NewVersionAlert.js +76 -49
- package/lib/components/NotFound.js +81 -11
- package/lib/components/Notifications.js +179 -129
- package/lib/components/PaginationNextButton.js +28 -9
- package/lib/components/PaginationPreviousButton.js +28 -9
- package/lib/components/Quill/CustomToolbar.js +427 -222
- package/lib/components/Quill/Formats/Image.js +67 -67
- package/lib/components/Quill/Formats/List.js +38 -47
- package/lib/components/Quill/Formats/Video.js +23 -26
- package/lib/components/Quill/ImageDropModule.js +136 -114
- package/lib/components/Quill/ImageWarning.js +41 -12
- package/lib/components/Quill/ImageWithAltTextModal.js +420 -89
- package/lib/components/Quill/Specs/CustomImageSpec.js +32 -31
- package/lib/components/Quill/Specs/CustomVideoSpec.js +22 -23
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +89 -97
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +47 -50
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +48 -51
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +219 -224
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +75 -86
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +70 -73
- package/lib/components/Quill/TableModule/constants.js +40 -42
- package/lib/components/Quill/TableModule/index.js +357 -305
- package/lib/components/Quill/TableModule/utils.js +39 -48
- package/lib/components/Quill/accessibilityFix.js +219 -223
- package/lib/components/Quill/index.js +30 -33
- package/lib/components/RefreshIndicator/Bordered.js +44 -10
- package/lib/components/RefreshIndicator/Inline.js +43 -12
- package/lib/components/RefreshIndicator/index.js +257 -62
- package/lib/components/SearchControls.js +211 -14
- package/lib/components/SentryRoute.js +5 -7
- package/lib/components/Tables/RoleFilter.js +66 -38
- package/lib/components/Tables/TextFilter.js +58 -18
- package/lib/components/UserRoles/Add.js +193 -99
- package/lib/components/UserRoles/Context.js +3 -6
- package/lib/components/UserRoles/RoleCell.js +176 -75
- package/lib/components/UserRoles/Select.js +151 -20
- package/lib/components/UserRoles/Table.js +215 -82
- package/lib/components/UserRoles/index.js +526 -386
- package/lib/config/eslint/index.js +26 -29
- package/lib/config/eslint/lib/order.js +21 -28
- package/lib/config/eslint/lib/prettier.js +15 -19
- package/lib/config/eslint/lib/typescript.js +87 -113
- package/lib/config/eslint/react.js +18 -15
- package/lib/constants/baseActivity.js +26 -28
- package/lib/constants/baseRole.js +10 -12
- package/lib/constants/configuration.js +43 -55
- package/lib/constants/externalProviderType.js +6 -8
- package/lib/constants/fetchErrorData.js +10 -12
- package/lib/constants/index.js +13 -15
- package/lib/constants/lockDownBrowser.js +23 -25
- package/lib/constants/mockData.js +370 -300
- package/lib/constants/modelStatus.js +11 -13
- package/lib/constants/notificationType.js +8 -10
- package/lib/constants/operatingSystem.js +8 -10
- package/lib/constants/shard.js +7 -9
- package/lib/constants/table.js +18 -22
- package/lib/constants/tier.js +8 -10
- package/lib/constants/userRole.js +11 -8
- package/lib/endpointMappings.js +191 -182
- package/lib/hooks/useCollection.js +79 -65
- package/lib/hooks/useCollectionConfiguration.js +220 -80
- package/lib/hooks/useCollectionItem.js +151 -57
- package/lib/hooks/useGuid.js +16 -9
- package/lib/hooks/usePrevious.js +14 -13
- package/lib/index.js +11 -26
- package/lib/redux/actionCreator.js +44 -35
- package/lib/redux/actions/AuthAction.js +45 -32
- package/lib/redux/actions/ModalAction.js +6 -8
- package/lib/redux/actions/ModelAction.js +95 -43
- package/lib/redux/actions/NotificationAction.js +6 -8
- package/lib/redux/actions/SearchAction.js +5 -7
- package/lib/redux/actions/index.js +6 -8
- package/lib/redux/configureReducers.js +48 -46
- package/lib/redux/configureStore.js +77 -91
- package/lib/redux/helpers.js +2 -5
- package/lib/redux/reducers/authReducer.js +44 -43
- package/lib/redux/reducers/index.js +7 -14
- package/lib/redux/reducers/modalsReducer.js +43 -31
- package/lib/redux/reducers/modelsReducer.js +131 -137
- package/lib/redux/reducers/notificationsReducer.js +20 -20
- package/lib/redux/reducers/searchReducer.js +13 -13
- package/lib/redux/sagas/appInsightsSaga.js +19 -21
- package/lib/redux/sagas/authSaga.js +248 -234
- package/lib/redux/sagas/caliperSaga.js +142 -131
- package/lib/redux/sagas/clockOffsetSaga.js +29 -32
- package/lib/redux/sagas/configurationSaga.js +8 -10
- package/lib/redux/sagas/downtimeApiErrorSaga.js +16 -19
- package/lib/redux/sagas/errorSaga.js +23 -24
- package/lib/redux/sagas/googleAnalyticsSaga.js +24 -27
- package/lib/redux/sagas/identityProviderSaga.js +19 -21
- package/lib/redux/sagas/initialDataLoadSaga.js +34 -31
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +25 -22
- package/lib/redux/sagas/modelFetchSaga.js +302 -286
- package/lib/redux/sagas/noStoreSaga.js +60 -61
- package/lib/redux/sagas/postLoginDataSaga.js +37 -32
- package/lib/redux/sagas/postLoginRedirectSaga.js +22 -27
- package/lib/redux/sagas/rootSaga.js +77 -60
- package/lib/redux/sagas/sentrySaga.js +25 -28
- package/lib/redux/sagas/userIdSaga.js +13 -15
- package/lib/services/codeProviderService.js +21 -21
- package/lib/services/dateService.js +6 -8
- package/lib/services/documentService.js +10 -11
- package/lib/services/fetchService.js +103 -95
- package/lib/services/persistenceService.js +27 -30
- package/lib/services/ticketProviderService.js +25 -25
- package/lib/services/tokenPersistenceService.js +8 -10
- package/lib/services/windowService.js +14 -16
- package/lib/startup.js +110 -101
- package/lib/types/AppConfiguration.js +2 -2
- package/lib/types/Artifact.js +7 -9
- package/lib/types/BaseReduxState.js +2 -2
- package/lib/types/Client.js +2 -2
- package/lib/types/Collection.js +2 -2
- package/lib/types/Configuration.js +2 -2
- package/lib/types/DeepLinkingResponseRequest.js +2 -2
- package/lib/types/DeletableModel.js +2 -2
- package/lib/types/Event.js +2 -2
- package/lib/types/ExternalGroup.js +2 -2
- package/lib/types/ExternalProvider.js +2 -2
- package/lib/types/ExternalTerm.js +2 -2
- package/lib/types/Group.js +2 -2
- package/lib/types/IdentityProvider.js +2 -2
- package/lib/types/LtiLaunch.js +2 -2
- package/lib/types/NameOnlyEntity.js +2 -2
- package/lib/types/Notification.js +2 -2
- package/lib/types/OptionalRecord.js +2 -2
- package/lib/types/OwnerSchedule.js +2 -2
- package/lib/types/PropertyOfType.js +2 -2
- package/lib/types/Quill.js +2 -2
- package/lib/types/RoleDescription.js +2 -2
- package/lib/types/Search.js +2 -2
- package/lib/types/SimpleLocation.js +2 -2
- package/lib/types/UniTime.js +2 -2
- package/lib/types/User.js +2 -2
- package/lib/types/UserRole.js +2 -2
- package/lib/types/auth/AuthState.js +2 -2
- package/lib/types/auth/CasV1LoginRequestBody.js +2 -2
- package/lib/types/auth/ClientCredentials.js +2 -2
- package/lib/types/auth/CodeProviderService.js +2 -2
- package/lib/types/auth/LocalLoginRequestBody.js +2 -2
- package/lib/types/auth/TicketProviderService.js +2 -2
- package/lib/types/auth/TokenPersistenceService.js +2 -2
- package/lib/types/auth/index.js +8 -10
- package/lib/types/externals.d.js +2 -0
- package/lib/types/index.js +29 -31
- package/lib/types/net/EndpointConfig.js +2 -2
- package/lib/types/net/EndpointMapping.js +2 -2
- package/lib/types/net/EndpointMappings.js +2 -2
- package/lib/types/net/ErrorHandler.js +2 -2
- package/lib/types/net/FetchConfig.js +2 -2
- package/lib/types/net/FetchErrorData.js +6 -8
- package/lib/types/net/FetchResult.js +2 -2
- package/lib/types/net/HTTPMethod.js +2 -2
- package/lib/types/net/HTTPStatusCode.js +12 -14
- package/lib/types/net/Metadata.js +2 -2
- package/lib/types/net/Model.js +2 -2
- package/lib/types/net/ModelCollection.js +2 -2
- package/lib/types/net/ModelsState.js +2 -2
- package/lib/types/net/OAuthToken.js +2 -2
- package/lib/types/net/OAuthTokenOrNull.js +2 -2
- package/lib/types/net/TokenAccessFunction.js +2 -2
- package/lib/types/net/index.js +17 -19
- package/lib/utils/baseActivity.js +83 -85
- package/lib/utils/baseRole.js +32 -36
- package/lib/utils/collection.js +403 -297
- package/lib/utils/cookies.js +19 -23
- package/lib/utils/date.js +188 -205
- package/lib/utils/dom.js +130 -131
- package/lib/utils/domainIdentifier.js +4 -8
- package/lib/utils/entityUserRole.js +2 -5
- package/lib/utils/error.js +14 -19
- package/lib/utils/events.js +32 -31
- package/lib/utils/externalGroup.js +20 -25
- package/lib/utils/externalProviders.js +4 -7
- package/lib/utils/externalTerms.js +6 -6
- package/lib/utils/fetch.js +168 -176
- package/lib/utils/group.js +14 -11
- package/lib/utils/groupDates.js +38 -46
- package/lib/utils/groupRoles.js +23 -32
- package/lib/utils/lockDownBrowser.js +12 -15
- package/lib/utils/logger.js +23 -28
- package/lib/utils/lti.js +4 -7
- package/lib/utils/model.js +28 -43
- package/lib/utils/number.js +9 -13
- package/lib/utils/promise.js +23 -26
- package/lib/utils/quill.js +55 -60
- package/lib/utils/route.js +52 -60
- package/lib/utils/search.js +72 -87
- package/lib/utils/shard.js +33 -42
- package/lib/utils/sort.js +47 -50
- package/lib/utils/string.js +10 -12
- package/lib/utils/table.js +29 -33
- package/lib/utils/timezone.js +7 -12
- package/lib/utils/url.js +130 -144
- package/lib/utils/user.js +54 -64
- package/lib/utils/userAgent.js +7 -14
- package/lib/utils/userRole.js +36 -39
- package/package.json +17 -3
|
@@ -1,100 +1,151 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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 =
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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
|
-
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
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
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
};
|
|
18
|
+
export const configureMapStateToProps = hasData => state => {
|
|
19
|
+
return {
|
|
20
|
+
hasData: hasData(state)
|
|
21
|
+
};
|
|
23
22
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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==
|