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,51 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
let newModelName = modelName;
|
|
30
|
-
const modelId = (0, route_1.getModelIdFromRouteMatchParams)(ownProps.match.params, newModelName);
|
|
31
|
-
let hasAccess;
|
|
32
|
-
if (modelId === undefined) {
|
|
33
|
-
hasAccess = false;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
hasAccess =
|
|
37
|
-
!!state.models[modelName] &&
|
|
38
|
-
!!state.models[modelName][modelId] &&
|
|
39
|
-
!!state.models[modelName][modelId].id;
|
|
1
|
+
import { Component } from 'react';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { Redirect, withRouter } from 'react-router-dom';
|
|
4
|
+
import { canPerformActivityGlobally, defaultOptions } from '../../utils/baseActivity';
|
|
5
|
+
import { getModelIdFromRouteMatchParams } from '../../utils/route';
|
|
6
|
+
import CollectionItemComponent from './CollectionItemComponent';
|
|
7
|
+
import ModelErrorRedirectComponent from './ModelErrorRedirectComponent';
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
export const configureEntityComponent = (WrappedComponent, WrappedHeader, propName, entityName) => {
|
|
10
|
+
return class EntityComponent extends Component {
|
|
11
|
+
render() {
|
|
12
|
+
const {
|
|
13
|
+
model,
|
|
14
|
+
modelName
|
|
15
|
+
} = this.props;
|
|
16
|
+
const newProps = {
|
|
17
|
+
[propName]: model
|
|
18
|
+
};
|
|
19
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
20
|
+
children: [!!WrappedHeader && /*#__PURE__*/_jsx(WrappedHeader, {
|
|
21
|
+
...newProps
|
|
22
|
+
}), model.isDeleted ? /*#__PURE__*/_jsx(Redirect, {
|
|
23
|
+
to: `/${entityName === 'groups' ? 'courses' : entityName}`
|
|
24
|
+
}) : /*#__PURE__*/_jsx(WrappedComponent, {
|
|
25
|
+
...newProps,
|
|
26
|
+
modelName: modelName
|
|
27
|
+
})]
|
|
28
|
+
});
|
|
40
29
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export const configureMapStateToProps = (readActivity, modelName) => (state, ownProps) => {
|
|
33
|
+
const canReadGlobally = canPerformActivityGlobally(readActivity, defaultOptions(state));
|
|
34
|
+
|
|
35
|
+
// override modelName if admin does not have a role in the given entity
|
|
36
|
+
let newModelName = modelName;
|
|
37
|
+
const modelId = getModelIdFromRouteMatchParams(ownProps.match.params, newModelName);
|
|
38
|
+
let hasAccess;
|
|
39
|
+
if (modelId === undefined) {
|
|
40
|
+
hasAccess = false;
|
|
41
|
+
} else {
|
|
42
|
+
hasAccess = !!state.models[modelName] && !!state.models[modelName][modelId] && !!state.models[modelName][modelId].id;
|
|
43
|
+
}
|
|
44
|
+
if (canReadGlobally && !hasAccess) {
|
|
45
|
+
newModelName = `search.${newModelName}`;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
modelName: newModelName
|
|
49
|
+
};
|
|
47
50
|
};
|
|
48
|
-
|
|
51
|
+
|
|
49
52
|
/**
|
|
50
53
|
* A wrapper using CollectionItemComponent that passes down the `model`, to allow nesting of collection components.
|
|
51
54
|
* Uses `CollectionItemComponent`, `ModelErrorRedirectComponent`, `withRouter`, and `connect`.
|
|
@@ -58,11 +61,12 @@ exports.configureMapStateToProps = configureMapStateToProps;
|
|
|
58
61
|
* @param modelName Model name passed to wrapped component and `CollectionItemComponent`. May be modified when only global read is available
|
|
59
62
|
* @param propName The name for the prop with which the `model` will be passed to the wrapped component
|
|
60
63
|
*/
|
|
61
|
-
function entityComponent(WrappedComponent, WrappedHeader, readActivity, modelName, propName) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
export default function entityComponent(WrappedComponent, WrappedHeader, readActivity, modelName, propName) {
|
|
65
|
+
const EntityComponent = configureEntityComponent(WrappedComponent, WrappedHeader, propName, modelName);
|
|
66
|
+
const mapStateToProps = configureMapStateToProps(readActivity, modelName);
|
|
67
|
+
// @ts-ignore: could not match inferred type from the `connect` HOC
|
|
68
|
+
return withRouter(
|
|
69
|
+
// @ts-ignore: could not match inferred type from the `connect` HOC
|
|
70
|
+
connect(mapStateToProps)(CollectionItemComponent(ModelErrorRedirectComponent(EntityComponent), modelName)));
|
|
68
71
|
}
|
|
72
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJjb25uZWN0IiwiUmVkaXJlY3QiLCJ3aXRoUm91dGVyIiwiY2FuUGVyZm9ybUFjdGl2aXR5R2xvYmFsbHkiLCJkZWZhdWx0T3B0aW9ucyIsImdldE1vZGVsSWRGcm9tUm91dGVNYXRjaFBhcmFtcyIsIkNvbGxlY3Rpb25JdGVtQ29tcG9uZW50IiwiTW9kZWxFcnJvclJlZGlyZWN0Q29tcG9uZW50IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsImNvbmZpZ3VyZUVudGl0eUNvbXBvbmVudCIsIldyYXBwZWRDb21wb25lbnQiLCJXcmFwcGVkSGVhZGVyIiwicHJvcE5hbWUiLCJlbnRpdHlOYW1lIiwiRW50aXR5Q29tcG9uZW50IiwicmVuZGVyIiwibW9kZWwiLCJtb2RlbE5hbWUiLCJwcm9wcyIsIm5ld1Byb3BzIiwiY2hpbGRyZW4iLCJpc0RlbGV0ZWQiLCJ0byIsImNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyIsInJlYWRBY3Rpdml0eSIsInN0YXRlIiwib3duUHJvcHMiLCJjYW5SZWFkR2xvYmFsbHkiLCJuZXdNb2RlbE5hbWUiLCJtb2RlbElkIiwibWF0Y2giLCJwYXJhbXMiLCJoYXNBY2Nlc3MiLCJ1bmRlZmluZWQiLCJtb2RlbHMiLCJpZCIsImVudGl0eUNvbXBvbmVudCIsIm1hcFN0YXRlVG9Qcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9FbnRpdHlDb21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50Q2xhc3MsIENvbXBvbmVudFR5cGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCdcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZUNvbXBvbmVudFByb3BzLCB3aXRoUm91dGVyIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcbmltcG9ydCB7IEJhc2VSZWR1eFN0YXRlLCBEZWxldGFibGVNb2RlbCwgTW9kZWwsIE1vZGVsQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgQ29sbGVjdGlvbkNvbW1vblByb3BzIH0gZnJvbSAnLi4vLi4vdHlwZXMvQ29sbGVjdGlvbidcbmltcG9ydCB7IGNhblBlcmZvcm1BY3Rpdml0eUdsb2JhbGx5LCBkZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4uLy4uL3V0aWxzL2Jhc2VBY3Rpdml0eSdcbmltcG9ydCB7IGdldE1vZGVsSWRGcm9tUm91dGVNYXRjaFBhcmFtcyB9IGZyb20gJy4uLy4uL3V0aWxzL3JvdXRlJ1xuaW1wb3J0IENvbGxlY3Rpb25JdGVtQ29tcG9uZW50LCB7IENvbGxlY3Rpb25JdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzIH0gZnJvbSAnLi9Db2xsZWN0aW9uSXRlbUNvbXBvbmVudCdcbmltcG9ydCBNb2RlbEVycm9yUmVkaXJlY3RDb21wb25lbnQgZnJvbSAnLi9Nb2RlbEVycm9yUmVkaXJlY3RDb21wb25lbnQnXG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5Q29tcG9uZW50UHJvcHM8VCBleHRlbmRzIERlbGV0YWJsZU1vZGVsPlxuXHRleHRlbmRzIENvbGxlY3Rpb25JdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzPFQ+LFxuXHRcdFJvdXRlQ29tcG9uZW50UHJvcHMge1xuXHRtb2RlbDogVFxufVxuXG5leHBvcnQgdHlwZSBFbnRpdHlDb21wb25lbnRXcmFwcGVkSGVhZGVyUHJvcHM8VCBleHRlbmRzIERlbGV0YWJsZU1vZGVsLCBUUHJvcCBleHRlbmRzIGtleW9mIGFueT4gPSB7IFtQIGluIFRQcm9wXTogVCB9XG5cbmV4cG9ydCB0eXBlIEVudGl0eUNvbXBvbmVudFdyYXBwZWRQcm9wczxcblx0VCBleHRlbmRzIERlbGV0YWJsZU1vZGVsLFxuXHRUUHJvcCBleHRlbmRzIGtleW9mIGFueVxuPiA9IEVudGl0eUNvbXBvbmVudFdyYXBwZWRIZWFkZXJQcm9wczxULCBUUHJvcD4gJiB7XG5cdG1vZGVsTmFtZTogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBjb25maWd1cmVFbnRpdHlDb21wb25lbnQgPSA8VCBleHRlbmRzIERlbGV0YWJsZU1vZGVsLCBUUHJvcE5hbWUgZXh0ZW5kcyBrZXlvZiBhbnk+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPEVudGl0eUNvbXBvbmVudFdyYXBwZWRQcm9wczxULCBUUHJvcE5hbWU+Pixcblx0V3JhcHBlZEhlYWRlcjogQ29tcG9uZW50VHlwZTxFbnRpdHlDb21wb25lbnRXcmFwcGVkSGVhZGVyUHJvcHM8VCwgVFByb3BOYW1lPj4gfCB1bmRlZmluZWQsXG5cdHByb3BOYW1lOiBUUHJvcE5hbWUsXG5cdGVudGl0eU5hbWU6IHN0cmluZ1xuKSA9PiB7XG5cdHJldHVybiBjbGFzcyBFbnRpdHlDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8RW50aXR5Q29tcG9uZW50UHJvcHM8VD4+IHtcblx0XHRyZW5kZXIoKSB7XG5cdFx0XHRjb25zdCB7IG1vZGVsLCBtb2RlbE5hbWUgfTogeyBtb2RlbDogVDsgbW9kZWxOYW1lOiBzdHJpbmcgfSA9IHRoaXMucHJvcHNcblx0XHRcdGNvbnN0IG5ld1Byb3BzID0ge1xuXHRcdFx0XHRbcHJvcE5hbWVdOiBtb2RlbFxuXHRcdFx0fSBhcyBFbnRpdHlDb21wb25lbnRXcmFwcGVkSGVhZGVyUHJvcHM8VCwgVFByb3BOYW1lPlxuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0PGRpdj5cblx0XHRcdFx0XHR7ISFXcmFwcGVkSGVhZGVyICYmIDxXcmFwcGVkSGVhZGVyIHsuLi5uZXdQcm9wc30gLz59XG5cdFx0XHRcdFx0e21vZGVsLmlzRGVsZXRlZCA/IChcblx0XHRcdFx0XHRcdDxSZWRpcmVjdCB0bz17YC8ke2VudGl0eU5hbWUgPT09ICdncm91cHMnID8gJ2NvdXJzZXMnIDogZW50aXR5TmFtZX1gfSAvPlxuXHRcdFx0XHRcdCkgOiAoXG5cdFx0XHRcdFx0XHQ8V3JhcHBlZENvbXBvbmVudCB7Li4ubmV3UHJvcHN9IG1vZGVsTmFtZT17bW9kZWxOYW1lfSAvPlxuXHRcdFx0XHRcdCl9XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0KVxuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgY29uc3QgY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzID1cblx0PFQgZXh0ZW5kcyBEZWxldGFibGVNb2RlbD4ocmVhZEFjdGl2aXR5OiBzdHJpbmcsIG1vZGVsTmFtZTogc3RyaW5nKSA9PlxuXHQoc3RhdGU6IEJhc2VSZWR1eFN0YXRlLCBvd25Qcm9wczogRW50aXR5Q29tcG9uZW50UHJvcHM8VD4pID0+IHtcblx0XHRjb25zdCBjYW5SZWFkR2xvYmFsbHkgPSBjYW5QZXJmb3JtQWN0aXZpdHlHbG9iYWxseShyZWFkQWN0aXZpdHksIGRlZmF1bHRPcHRpb25zKHN0YXRlKSlcblxuXHRcdC8vIG92ZXJyaWRlIG1vZGVsTmFtZSBpZiBhZG1pbiBkb2VzIG5vdCBoYXZlIGEgcm9sZSBpbiB0aGUgZ2l2ZW4gZW50aXR5XG5cdFx0bGV0IG5ld01vZGVsTmFtZSA9IG1vZGVsTmFtZVxuXHRcdGNvbnN0IG1vZGVsSWQgPSBnZXRNb2RlbElkRnJvbVJvdXRlTWF0Y2hQYXJhbXMob3duUHJvcHMubWF0Y2gucGFyYW1zLCBuZXdNb2RlbE5hbWUpXG5cdFx0bGV0IGhhc0FjY2Vzc1xuXHRcdGlmIChtb2RlbElkID09PSB1bmRlZmluZWQpIHtcblx0XHRcdGhhc0FjY2VzcyA9IGZhbHNlXG5cdFx0fSBlbHNlIHtcblx0XHRcdGhhc0FjY2VzcyA9XG5cdFx0XHRcdCEhc3RhdGUubW9kZWxzW21vZGVsTmFtZV0gJiZcblx0XHRcdFx0ISEoc3RhdGUubW9kZWxzW21vZGVsTmFtZV0gYXMgTW9kZWxDb2xsZWN0aW9uKVttb2RlbElkXSAmJlxuXHRcdFx0XHQhISgoc3RhdGUubW9kZWxzW21vZGVsTmFtZV0gYXMgTW9kZWxDb2xsZWN0aW9uKVttb2RlbElkXSBhcyBNb2RlbCkuaWRcblx0XHR9XG5cdFx0aWYgKGNhblJlYWRHbG9iYWxseSAmJiAhaGFzQWNjZXNzKSB7XG5cdFx0XHRuZXdNb2RlbE5hbWUgPSBgc2VhcmNoLiR7bmV3TW9kZWxOYW1lfWBcblx0XHR9XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0bW9kZWxOYW1lOiBuZXdNb2RlbE5hbWVcblx0XHR9XG5cdH1cblxuLyoqXG4gKiBBIHdyYXBwZXIgdXNpbmcgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnQgdGhhdCBwYXNzZXMgZG93biB0aGUgYG1vZGVsYCwgdG8gYWxsb3cgbmVzdGluZyBvZiBjb2xsZWN0aW9uIGNvbXBvbmVudHMuXG4gKiBVc2VzIGBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudGAsIGBNb2RlbEVycm9yUmVkaXJlY3RDb21wb25lbnRgLCBgd2l0aFJvdXRlcmAsIGFuZCBgY29ubmVjdGAuXG4gKlxuICogVGhpcyBIT0MgZG9lcyBOT1QgcGFzcyBleHRyYSBwcm9wcyB0aHJvdWdoIHRvIGNoaWxkcmVuXG4gKlxuICogQHBhcmFtIFdyYXBwZWRDb21wb25lbnQgVGhlIHdyYXBwZWQgY29tcG9uZW50XG4gKiBAcGFyYW0gV3JhcHBlZEhlYWRlciBUaGUgd3JhcHBlZCBoZWFkZXJcbiAqIEBwYXJhbSByZWFkQWN0aXZpdHkgUmVhZCBhY3Rpdml0eSB0aGF0IHdpbGwgYmUgY2hlY2tlZCBmb3IgZ2xvYmFsIGFjY2Vzc1xuICogQHBhcmFtIG1vZGVsTmFtZSBNb2RlbCBuYW1lIHBhc3NlZCB0byB3cmFwcGVkIGNvbXBvbmVudCBhbmQgYENvbGxlY3Rpb25JdGVtQ29tcG9uZW50YC4gTWF5IGJlIG1vZGlmaWVkIHdoZW4gb25seSBnbG9iYWwgcmVhZCBpcyBhdmFpbGFibGVcbiAqIEBwYXJhbSBwcm9wTmFtZSBUaGUgbmFtZSBmb3IgdGhlIHByb3Agd2l0aCB3aGljaCB0aGUgYG1vZGVsYCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgd3JhcHBlZCBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZW50aXR5Q29tcG9uZW50PFQgZXh0ZW5kcyBEZWxldGFibGVNb2RlbCwgVFByb3BOYW1lIGV4dGVuZHMga2V5b2YgYW55Pihcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxFbnRpdHlDb21wb25lbnRXcmFwcGVkUHJvcHM8VCwgVFByb3BOYW1lPj4sXG5cdFdyYXBwZWRIZWFkZXI6IENvbXBvbmVudFR5cGU8RW50aXR5Q29tcG9uZW50V3JhcHBlZEhlYWRlclByb3BzPFQsIFRQcm9wTmFtZT4+IHwgdW5kZWZpbmVkLFxuXHRyZWFkQWN0aXZpdHk6IHN0cmluZyxcblx0bW9kZWxOYW1lOiBzdHJpbmcsXG5cdHByb3BOYW1lOiBUUHJvcE5hbWVcbik6IENvbXBvbmVudENsYXNzPFBhcnRpYWw8Q29sbGVjdGlvbkNvbW1vblByb3BzPj4ge1xuXHRjb25zdCBFbnRpdHlDb21wb25lbnQgPSBjb25maWd1cmVFbnRpdHlDb21wb25lbnQ8VCwgVFByb3BOYW1lPihXcmFwcGVkQ29tcG9uZW50LCBXcmFwcGVkSGVhZGVyLCBwcm9wTmFtZSwgbW9kZWxOYW1lKVxuXHRjb25zdCBtYXBTdGF0ZVRvUHJvcHMgPSBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMocmVhZEFjdGl2aXR5LCBtb2RlbE5hbWUpXG5cdC8vIEB0cy1pZ25vcmU6IGNvdWxkIG5vdCBtYXRjaCBpbmZlcnJlZCB0eXBlIGZyb20gdGhlIGBjb25uZWN0YCBIT0Ncblx0cmV0dXJuIHdpdGhSb3V0ZXIoXG5cdFx0Ly8gQHRzLWlnbm9yZTogY291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSB0aGUgYGNvbm5lY3RgIEhPQ1xuXHRcdGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKShDb2xsZWN0aW9uSXRlbUNvbXBvbmVudChNb2RlbEVycm9yUmVkaXJlY3RDb21wb25lbnQoRW50aXR5Q29tcG9uZW50KSwgbW9kZWxOYW1lKSlcblx0KVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxTQUFTLFFBQXVDLE9BQU87QUFDaEUsU0FBU0MsT0FBTyxRQUFRLGFBQWE7QUFDckMsU0FBU0MsUUFBUSxFQUF1QkMsVUFB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
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import { Component } from 'react';
|
|
3
|
+
import ReactModal from 'react-modal';
|
|
4
|
+
import { connectedModalComponent } from './ConnectedModalComponent';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The props that are provided to the HOC component directly from the caller, not other wrapping HOCs
|
|
8
|
+
* NOTE: if more flexibility is needed, add more props from `ReactModal.Props`
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/** The props that are provided to the HOC component, either directly or from other wrapping HOCs */
|
|
12
|
+
|
|
13
|
+
/** The props that are provide to the wrapped component. */
|
|
14
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
15
|
/**
|
|
11
16
|
* HOC that manages a `ReactModal`, adds inline css, and
|
|
12
17
|
* coordinates modal state in redux using.
|
|
@@ -15,104 +20,129 @@ const ConnectedModalComponent_1 = require("./ConnectedModalComponent");
|
|
|
15
20
|
*
|
|
16
21
|
* @param WrappedComponent The component to wrap.
|
|
17
22
|
*/
|
|
18
|
-
function configureFullscreenModalComponent(WrappedComponent) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
this.setState({
|
|
41
|
-
isOpen: false
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
this.state = {
|
|
45
|
-
isOpen: props.isOpen === undefined ? true : props.isOpen
|
|
46
|
-
};
|
|
47
|
-
// https://github.com/reactjs/react-modal#app-element
|
|
48
|
-
// Accessibility fixed when reading the content in the modal
|
|
49
|
-
if (document.getElementById('root')) {
|
|
50
|
-
react_modal_1.default.setAppElement('#root');
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
componentDidMount() {
|
|
54
|
-
const { isOpen } = this.state;
|
|
55
|
-
if (isOpen) {
|
|
56
|
-
this.onOpen();
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
componentWillUnmount() {
|
|
60
|
-
document.documentElement.removeEventListener('touchmove', this.disableScroll);
|
|
61
|
-
}
|
|
62
|
-
componentDidUpdate(prevProps, prevState) {
|
|
63
|
-
let isOpen;
|
|
64
|
-
if (this.props.isOpen !== undefined && this.props.isOpen !== this.state.isOpen) {
|
|
65
|
-
// using props to handle isOpen, update state
|
|
66
|
-
isOpen = this.props.isOpen;
|
|
67
|
-
}
|
|
68
|
-
else if (this.props.isOpen === undefined && prevState.isOpen !== this.state.isOpen) {
|
|
69
|
-
// using state only to handle isOpen
|
|
70
|
-
isOpen = this.state.isOpen;
|
|
71
|
-
}
|
|
72
|
-
if (isOpen === undefined) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
if (isOpen) {
|
|
76
|
-
this.onOpen();
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
this.onClose();
|
|
80
|
-
}
|
|
81
|
-
this.setState({
|
|
82
|
-
isOpen
|
|
83
|
-
});
|
|
23
|
+
export function configureFullscreenModalComponent(WrappedComponent) {
|
|
24
|
+
return class FullscreenModalComponent extends Component {
|
|
25
|
+
constructor(props) {
|
|
26
|
+
super(props);
|
|
27
|
+
_defineProperty(this, "disableScroll", e => {
|
|
28
|
+
document.documentElement.scrollTop = 0;
|
|
29
|
+
e.preventDefault();
|
|
30
|
+
return false;
|
|
31
|
+
});
|
|
32
|
+
_defineProperty(this, "onOpen", () => {
|
|
33
|
+
document.documentElement.addEventListener('touchmove', this.disableScroll);
|
|
34
|
+
this.props.onEntering();
|
|
35
|
+
});
|
|
36
|
+
_defineProperty(this, "onClose", () => {
|
|
37
|
+
document.documentElement.removeEventListener('touchmove', this.disableScroll);
|
|
38
|
+
this.props.onExited();
|
|
39
|
+
});
|
|
40
|
+
_defineProperty(this, "closeModal", () => {
|
|
41
|
+
if (this.props.closeModal) {
|
|
42
|
+
this.props.closeModal();
|
|
43
|
+
return;
|
|
84
44
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
45
|
+
this.setState({
|
|
46
|
+
isOpen: false
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
this.state = {
|
|
50
|
+
isOpen: props.isOpen === undefined ? true : props.isOpen
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// https://github.com/reactjs/react-modal#app-element
|
|
54
|
+
// Accessibility fixed when reading the content in the modal
|
|
55
|
+
if (document.getElementById('root')) {
|
|
56
|
+
ReactModal.setAppElement('#root');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
componentDidMount() {
|
|
60
|
+
const {
|
|
61
|
+
isOpen
|
|
62
|
+
} = this.state;
|
|
63
|
+
if (isOpen) {
|
|
64
|
+
this.onOpen();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
componentWillUnmount() {
|
|
68
|
+
document.documentElement.removeEventListener('touchmove', this.disableScroll);
|
|
69
|
+
}
|
|
70
|
+
componentDidUpdate(prevProps, prevState) {
|
|
71
|
+
let isOpen;
|
|
72
|
+
if (this.props.isOpen !== undefined && this.props.isOpen !== this.state.isOpen) {
|
|
73
|
+
// using props to handle isOpen, update state
|
|
74
|
+
isOpen = this.props.isOpen;
|
|
75
|
+
} else if (this.props.isOpen === undefined && prevState.isOpen !== this.state.isOpen) {
|
|
76
|
+
// using state only to handle isOpen
|
|
77
|
+
isOpen = this.state.isOpen;
|
|
78
|
+
}
|
|
79
|
+
if (isOpen === undefined) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (isOpen) {
|
|
83
|
+
this.onOpen();
|
|
84
|
+
} else {
|
|
85
|
+
this.onClose();
|
|
86
|
+
}
|
|
87
|
+
this.setState({
|
|
88
|
+
isOpen
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
render() {
|
|
92
|
+
const {
|
|
93
|
+
contentLabel,
|
|
94
|
+
isTopOpenFullscreenModal,
|
|
95
|
+
onEntering,
|
|
96
|
+
onExited,
|
|
97
|
+
isOpen: _,
|
|
98
|
+
closeModal,
|
|
99
|
+
zIndex,
|
|
100
|
+
...remainingProps
|
|
101
|
+
} = this.props;
|
|
102
|
+
// do not pass ConnectedModalWrappedProps to wrapped component
|
|
103
|
+
const wrappedProps = {
|
|
104
|
+
...remainingProps,
|
|
105
|
+
closeModal: this.closeModal
|
|
106
|
+
};
|
|
107
|
+
const {
|
|
108
|
+
isOpen
|
|
109
|
+
} = this.state;
|
|
110
|
+
return /*#__PURE__*/_jsx(ReactModal, {
|
|
111
|
+
isOpen: isOpen,
|
|
112
|
+
contentLabel: contentLabel,
|
|
113
|
+
style: {
|
|
114
|
+
content: {
|
|
115
|
+
position: 'absolute',
|
|
116
|
+
top: 0,
|
|
117
|
+
left: 0,
|
|
118
|
+
right: 0,
|
|
119
|
+
bottom: 0,
|
|
120
|
+
overflow: 'hidden',
|
|
121
|
+
padding: 0,
|
|
122
|
+
border: 'none',
|
|
123
|
+
backgroundColor: 'white'
|
|
124
|
+
},
|
|
125
|
+
overlay: {
|
|
126
|
+
position: 'absolute',
|
|
127
|
+
top: 0,
|
|
128
|
+
left: 0,
|
|
129
|
+
right: 0,
|
|
130
|
+
bottom: 0,
|
|
131
|
+
zIndex: zIndex ?? 2000
|
|
132
|
+
}
|
|
113
133
|
}
|
|
114
|
-
|
|
134
|
+
// hide the rendered portal if this is not the top open fullscreen modal
|
|
135
|
+
,
|
|
136
|
+
portalClassName: `ReactModalPortal${!isTopOpenFullscreenModal ? ' dn' : ''}`,
|
|
137
|
+
shouldCloseOnOverlayClick: false,
|
|
138
|
+
children: /*#__PURE__*/_jsx(WrappedComponent, {
|
|
139
|
+
...wrappedProps
|
|
140
|
+
})
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
};
|
|
115
144
|
}
|
|
145
|
+
|
|
116
146
|
/**
|
|
117
147
|
* HOC that contains a `ReactModal` which can be auto managed or managed with props,
|
|
118
148
|
* adds fullscreen styles, and coordinates modal state in redux.
|
|
@@ -127,8 +157,9 @@ function configureFullscreenModalComponent(WrappedComponent) {
|
|
|
127
157
|
*
|
|
128
158
|
* @param WrappedComponent The component to wrap.
|
|
129
159
|
*/
|
|
130
|
-
function fullscreenModalComponent(WrappedComponent) {
|
|
131
|
-
|
|
132
|
-
|
|
160
|
+
export function fullscreenModalComponent(WrappedComponent) {
|
|
161
|
+
const component = configureFullscreenModalComponent(WrappedComponent);
|
|
162
|
+
return connectedModalComponent(component, true);
|
|
133
163
|
}
|
|
134
|
-
|
|
164
|
+
export default fullscreenModalComponent;
|
|
165
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJSZWFjdE1vZGFsIiwiY29ubmVjdGVkTW9kYWxDb21wb25lbnQiLCJqc3giLCJfanN4IiwiY29uZmlndXJlRnVsbHNjcmVlbk1vZGFsQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkZ1bGxzY3JlZW5Nb2RhbENvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJlIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJzY3JvbGxUb3AiLCJwcmV2ZW50RGVmYXVsdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJkaXNhYmxlU2Nyb2xsIiwib25FbnRlcmluZyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvbkV4aXRlZCIsImNsb3NlTW9kYWwiLCJzZXRTdGF0ZSIsImlzT3BlbiIsInN0YXRlIiwidW5kZWZpbmVkIiwiZ2V0RWxlbWVudEJ5SWQiLCJzZXRBcHBFbGVtZW50IiwiY29tcG9uZW50RGlkTW91bnQiLCJvbk9wZW4iLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZTdGF0ZSIsIm9uQ2xvc2UiLCJyZW5kZXIiLCJjb250ZW50TGFiZWwiLCJpc1RvcE9wZW5GdWxsc2NyZWVuTW9kYWwiLCJfIiwiekluZGV4IiwicmVtYWluaW5nUHJvcHMiLCJ3cmFwcGVkUHJvcHMiLCJzdHlsZSIsImNvbnRlbnQiLCJwb3NpdGlvbiIsInRvcCIsImxlZnQiLCJyaWdodCIsImJvdHRvbSIsIm92ZXJmbG93IiwicGFkZGluZyIsImJvcmRlciIsImJhY2tncm91bmRDb2xvciIsIm92ZXJsYXkiLCJwb3J0YWxDbGFzc05hbWUiLCJzaG91bGRDbG9zZU9uT3ZlcmxheUNsaWNrIiwiY2hpbGRyZW4iLCJmdWxsc2NyZWVuTW9kYWxDb21wb25lbnQiLCJjb21wb25lbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IT0MvRnVsbHNjcmVlbk1vZGFsQ29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudENsYXNzLCBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgUmVhY3RNb2RhbCBmcm9tICdyZWFjdC1tb2RhbCdcbmltcG9ydCB7IGNvbm5lY3RlZE1vZGFsQ29tcG9uZW50LCBDb25uZWN0ZWRNb2RhbFdyYXBwZWRQcm9wcyB9IGZyb20gJy4vQ29ubmVjdGVkTW9kYWxDb21wb25lbnQnXG5pbXBvcnQgeyBHdWlkQ29tcG9uZW50V3JhcHBlZFByb3BzIH0gZnJvbSAnLi9HdWlkQ29tcG9uZW50J1xuXG4vKipcbiAqIFRoZSBwcm9wcyB0aGF0IGFyZSBwcm92aWRlZCB0byB0aGUgSE9DIGNvbXBvbmVudCBkaXJlY3RseSBmcm9tIHRoZSBjYWxsZXIsIG5vdCBvdGhlciB3cmFwcGluZyBIT0NzXG4gKiBOT1RFOiBpZiBtb3JlIGZsZXhpYmlsaXR5IGlzIG5lZWRlZCwgYWRkIG1vcmUgcHJvcHMgZnJvbSBgUmVhY3RNb2RhbC5Qcm9wc2BcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdWxsc2NyZWVuTW9kYWxPd25Qcm9wcyB7XG5cdC8qIEJvb2xlYW4gZGVzY3JpYmluZyBpZiB0aGUgbW9kYWwgc2hvdWxkIGJlIHNob3duIG9yIG5vdC4gSWYgbm90IHByb3ZpZGVkLCB0aGUgbW9kYWwgbWFuYWdlcyBpdHNlbGYsIGRlZmF1bHRpbmcgdG8gb3Blbi4gKi9cblx0aXNPcGVuPzogYm9vbGVhblxuXG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIG1vZGFsIHNob3VsZCBiZSBjbG9zZWQsIGFuZCB0aGUgcGFyZW50IHNob3VsZCBzZXQgYHByb3BzLmlzT3BlbmAgdG8gYGZhbHNlYC5cblx0ICogSWYgbm90IHByb3ZpZGVkLCB0aGUgbW9kYWwgbWFuYWdlcyBpdHNlbGYuXG5cdCAqL1xuXHRjbG9zZU1vZGFsPzogKCkgPT4gdm9pZFxuXG5cdC8qIFN0cmluZyBpbmRpY2F0aW5nIGhvdyB0aGUgY29udGVudCBjb250YWluZXIgc2hvdWxkIGJlIGFubm91bmNlZCB0byBzY3JlZW4gcmVhZGVycy4gKi9cblx0Y29udGVudExhYmVsPzogc3RyaW5nXG5cblx0LyogT3B0aW9uYWwgdmFsdWUgaW5kaWNhdGluZyB0aGUgekluZGV4IHRoZSBtb2RhbCBvdmVybGF5IHNob3VsZCBoYXZlICovXG5cdHpJbmRleD86IG51bWJlclxufVxuXG4vKiogVGhlIHByb3BzIHRoYXQgYXJlIHByb3ZpZGVkIHRvIHRoZSBIT0MgY29tcG9uZW50LCBlaXRoZXIgZGlyZWN0bHkgb3IgZnJvbSBvdGhlciB3cmFwcGluZyBIT0NzICovXG5leHBvcnQgdHlwZSBGdWxsc2NyZWVuTW9kYWxDb21wb25lbnRQcm9wcyA9IEZ1bGxzY3JlZW5Nb2RhbE93blByb3BzICZcblx0Q29ubmVjdGVkTW9kYWxXcmFwcGVkUHJvcHMgJlxuXHRHdWlkQ29tcG9uZW50V3JhcHBlZFByb3BzXG5cbi8qKiBUaGUgcHJvcHMgdGhhdCBhcmUgcHJvdmlkZSB0byB0aGUgd3JhcHBlZCBjb21wb25lbnQuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bGxzY3JlZW5Nb2RhbFdyYXBwZWRQcm9wcyB7XG5cdC8qKiBHVUlEIG9mIHRoZSBmdWxsc2NyZWVuIG1vZGFsLCB1c2VkIGluIHN0YXRlLm1vZGFscy4gKi9cblx0Z3VpZDogc3RyaW5nXG5cdC8qKiBGdW5jdGlvbiB0aGF0IHdpbGwgY2xvc2UgdGhlIG1vZGFsLiAqL1xuXHRjbG9zZU1vZGFsOiAoKSA9PiB2b2lkXG59XG5cbmludGVyZmFjZSBGdWxsc2NyZWVuTW9kYWxTdGF0ZSB7XG5cdGlzT3BlbjogYm9vbGVhblxufVxuXG4vKipcbiAqIEhPQyB0aGF0IG1hbmFnZXMgYSBgUmVhY3RNb2RhbGAsIGFkZHMgaW5saW5lIGNzcywgYW5kXG4gKiBjb29yZGluYXRlcyBtb2RhbCBzdGF0ZSBpbiByZWR1eCB1c2luZy5cbiAqXG4gKiBOT1RFOiBNZWFudCBmb3IgdGVzdGluZy4gU2hvdWxkIGJlIHdyYXBwZWQgaW4gYGNvbm5lY3RlZE1vZGFsQ29tcG9uZW50YCBub3JtYWxseS5cbiAqXG4gKiBAcGFyYW0gV3JhcHBlZENvbXBvbmVudCBUaGUgY29tcG9uZW50IHRvIHdyYXAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVGdWxsc2NyZWVuTW9kYWxDb21wb25lbnQ8VE93blByb3BzIGV4dGVuZHMgb2JqZWN0Pihcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHMgJiBGdWxsc2NyZWVuTW9kYWxXcmFwcGVkUHJvcHM+XG4pIHtcblx0dHlwZSBIb2NQcm9wcyA9IFRPd25Qcm9wcyAmIEZ1bGxzY3JlZW5Nb2RhbENvbXBvbmVudFByb3BzXG5cdHJldHVybiBjbGFzcyBGdWxsc2NyZWVuTW9kYWxDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8SG9jUHJvcHMsIEZ1bGxzY3JlZW5Nb2RhbFN0YXRlPiB7XG5cdFx0Y29uc3RydWN0b3IocHJvcHM6IEhvY1Byb3BzKSB7XG5cdFx0XHRzdXBlcihwcm9wcylcblxuXHRcdFx0dGhpcy5zdGF0ZSA9IHtcblx0XHRcdFx0aXNPcGVuOiBwcm9wcy5pc09wZW4gPT09IHVuZGVmaW5lZCA/IHRydWUgOiBwcm9wcy5pc09wZW5cblx0XHRcdH1cblxuXHRcdFx0Ly8gaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmVhY3QtbW9kYWwjYXBwLWVsZW1lbnRcblx0XHRcdC8vIEFjY2Vzc2liaWxpdHkgZml4ZWQgd2hlbiByZWFkaW5nIHRoZSBjb250ZW50IGluIHRoZSBtb2RhbFxuXHRcdFx0aWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyb290JykpIHtcblx0XHRcdFx0UmVhY3RNb2RhbC5zZXRBcHBFbGVtZW50KCcjcm9vdCcpXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Y29tcG9uZW50RGlkTW91bnQoKSB7XG5cdFx0XHRjb25zdCB7IGlzT3BlbiB9ID0gdGhpcy5zdGF0ZVxuXHRcdFx0aWYgKGlzT3Blbikge1xuXHRcdFx0XHR0aGlzLm9uT3BlbigpXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Y29tcG9uZW50V2lsbFVubW91bnQoKSB7XG5cdFx0XHRkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5kaXNhYmxlU2Nyb2xsKVxuXHRcdH1cblxuXHRcdGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHM6IEhvY1Byb3BzLCBwcmV2U3RhdGU6IEZ1bGxzY3JlZW5Nb2RhbFN0YXRlKSB7XG5cdFx0XHRsZXQgaXNPcGVuOiBib29sZWFuIHwgdW5kZWZpbmVkXG5cblx0XHRcdGlmICh0aGlzLnByb3BzLmlzT3BlbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMucHJvcHMuaXNPcGVuICE9PSB0aGlzLnN0YXRlLmlzT3Blbikge1xuXHRcdFx0XHQvLyB1c2luZyBwcm9wcyB0byBoYW5kbGUgaXNPcGVuLCB1cGRhdGUgc3RhdGVcblx0XHRcdFx0aXNPcGVuID0gdGhpcy5wcm9wcy5pc09wZW5cblx0XHRcdH0gZWxzZSBpZiAodGhpcy5wcm9wcy5pc09wZW4gPT09IHVuZGVmaW5lZCAmJiBwcmV2U3RhdGUuaXNPcGVuICE9PSB0aGlzLnN0YXRlLmlzT3Blbikge1xuXHRcdFx0XHQvLyB1c2luZyBzdGF0ZSBvbmx5IHRvIGhhbmRsZSBpc09wZW5cblx0XHRcdFx0aXNPcGVuID0gdGhpcy5zdGF0ZS5pc09wZW5cblx0XHRcdH1cblxuXHRcdFx0aWYgKGlzT3BlbiA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXG5cdFx0XHRpZiAoaXNPcGVuKSB7XG5cdFx0XHRcdHRoaXMub25PcGVuKClcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMub25DbG9zZSgpXG5cdFx0XHR9XG5cdFx0XHR0aGlzLnNldFN0YXRlKHtcblx0XHRcdFx0aXNPcGVuXG5cdFx0XHR9KVxuXHRcdH1cblxuXHRcdGRpc2FibGVTY3JvbGwgPSAoZTogRXZlbnQpID0+IHtcblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPSAwXG5cdFx0XHRlLnByZXZlbnREZWZhdWx0KClcblx0XHRcdHJldHVybiBmYWxzZVxuXHRcdH1cblxuXHRcdG9uT3BlbiA9ICgpID0+IHtcblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLmRpc2FibGVTY3JvbGwpXG5cdFx0XHR0aGlzLnByb3BzLm9uRW50ZXJpbmcoKVxuXHRcdH1cblxuXHRcdG9uQ2xvc2UgPSAoKSA9PiB7XG5cdFx0XHRkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5kaXNhYmxlU2Nyb2xsKVxuXHRcdFx0dGhpcy5wcm9wcy5vbkV4aXRlZCgpXG5cdFx0fVxuXG5cdFx0Y2xvc2VNb2RhbCA9ICgpID0+IHtcblx0XHRcdGlmICh0aGlzLnByb3BzLmNsb3NlTW9kYWwpIHtcblx0XHRcdFx0dGhpcy5wcm9wcy5jbG9zZU1vZGFsKClcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cdFx0XHR0aGlzLnNldFN0YXRlKHtcblx0XHRcdFx0aXNPcGVuOiBmYWxzZVxuXHRcdFx0fSlcblx0XHR9XG5cblx0XHRyZW5kZXIoKSB7XG5cdFx0XHRjb25zdCB7XG5cdFx0XHRcdGNvbnRlbnRMYWJlbCxcblx0XHRcdFx0aXNUb3BPcGVuRnVsbHNjcmVlbk1vZGFsLFxuXHRcdFx0XHRvbkVudGVyaW5nLFxuXHRcdFx0XHRvbkV4aXRlZCxcblx0XHRcdFx0aXNPcGVuOiBfLFxuXHRcdFx0XHRjbG9zZU1vZGFsLFxuXHRcdFx0XHR6SW5kZXgsXG5cdFx0XHRcdC4uLnJlbWFpbmluZ1Byb3BzXG5cdFx0XHR9ID0gdGhpcy5wcm9wc1xuXHRcdFx0Ly8gZG8gbm90IHBhc3MgQ29ubmVjdGVkTW9kYWxXcmFwcGVkUHJvcHMgdG8gd3JhcHBlZCBjb21wb25lbnRcblx0XHRcdGNvbnN0IHdyYXBwZWRQcm9wcyA9IHtcblx0XHRcdFx0Li4ucmVtYWluaW5nUHJvcHMsXG5cdFx0XHRcdGNsb3NlTW9kYWw6IHRoaXMuY2xvc2VNb2RhbFxuXHRcdFx0fSBhcyBUT3duUHJvcHMgJiBGdWxsc2NyZWVuTW9kYWxXcmFwcGVkUHJvcHNcblx0XHRcdGNvbnN0IHsgaXNPcGVuIH0gPSB0aGlzLnN0YXRlXG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHQ8UmVhY3RNb2RhbFxuXHRcdFx0XHRcdGlzT3Blbj17aXNPcGVufVxuXHRcdFx0XHRcdGNvbnRlbnRMYWJlbD17Y29udGVudExhYmVsfVxuXHRcdFx0XHRcdHN0eWxlPXt7XG5cdFx0XHRcdFx0XHRjb250ZW50OiB7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuXHRcdFx0XHRcdFx0XHR0b3A6IDAsXG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDAsXG5cdFx0XHRcdFx0XHRcdHJpZ2h0OiAwLFxuXHRcdFx0XHRcdFx0XHRib3R0b206IDAsXG5cdFx0XHRcdFx0XHRcdG92ZXJmbG93OiAnaGlkZGVuJyxcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCxcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAnbm9uZScsXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmRDb2xvcjogJ3doaXRlJ1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG92ZXJsYXk6IHtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246ICdhYnNvbHV0ZScsXG5cdFx0XHRcdFx0XHRcdHRvcDogMCxcblx0XHRcdFx0XHRcdFx0bGVmdDogMCxcblx0XHRcdFx0XHRcdFx0cmlnaHQ6IDAsXG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogMCxcblx0XHRcdFx0XHRcdFx0ekluZGV4OiB6SW5kZXggPz8gMjAwMFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0Ly8gaGlkZSB0aGUgcmVuZGVyZWQgcG9ydGFsIGlmIHRoaXMgaXMgbm90IHRoZSB0b3Agb3BlbiBmdWxsc2NyZWVuIG1vZGFsXG5cdFx0XHRcdFx0cG9ydGFsQ2xhc3NOYW1lPXtgUmVhY3RNb2RhbFBvcnRhbCR7IWlzVG9wT3BlbkZ1bGxzY3JlZW5Nb2RhbCA/ICcgZG4nIDogJyd9YH1cblx0XHRcdFx0XHRzaG91bGRDbG9zZU9uT3ZlcmxheUNsaWNrPXtmYWxzZX0+XG5cdFx0XHRcdFx0PFdyYXBwZWRDb21wb25lbnQgey4uLndyYXBwZWRQcm9wc30gLz5cblx0XHRcdFx0PC9SZWFjdE1vZGFsPlxuXHRcdFx0KVxuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIEhPQyB0aGF0IGNvbnRhaW5zIGEgYFJlYWN0TW9kYWxgIHdoaWNoIGNhbiBiZSBhdXRvIG1hbmFnZWQgb3IgbWFuYWdlZCB3aXRoIHByb3BzLFxuICogYWRkcyBmdWxsc2NyZWVuIHN0eWxlcywgYW5kIGNvb3JkaW5hdGVzIG1vZGFsIHN0YXRlIGluIHJlZHV4LlxuICpcbiAqIFVzZXMgYGNvbm5lY3RlZE1vZGFsQ29tcG9uZW50YC5cbiAqXG4gKiBOT1RFOiBQbGVhc2UgYWRkIHRoZSBmb2xsb3dpbmcgY3NzXG4gKlxuICogLlJlYWN0TW9kYWxfX0JvZHktLW9wZW4ge1xuICogXHRvdmVyZmxvdzogaGlkZGVuO1xuICogfVxuICpcbiAqIEBwYXJhbSBXcmFwcGVkQ29tcG9uZW50IFRoZSBjb21wb25lbnQgdG8gd3JhcC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZ1bGxzY3JlZW5Nb2RhbENvbXBvbmVudDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcyAmIEZ1bGxzY3JlZW5Nb2RhbFdyYXBwZWRQcm9wcz5cbik6IENvbXBvbmVudENsYXNzPFRPd25Qcm9wcyAmIEZ1bGxzY3JlZW5Nb2RhbE93blByb3BzPiB7XG5cdGNvbnN0IGNvbXBvbmVudCA9IGNvbmZpZ3VyZUZ1bGxzY3JlZW5Nb2RhbENvbXBvbmVudDxUT3duUHJvcHM+KFdyYXBwZWRDb21wb25lbnQpXG5cdHJldHVybiBjb25uZWN0ZWRNb2RhbENvbXBvbmVudChjb21wb25lbnQsIHRydWUpXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bGxzY3JlZW5Nb2RhbENvbXBvbmVudFxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsU0FBUyxRQUF1QyxPQUFPO0FBQ2hFLE9BQU9DLFVBQVUsTUFBTSxhQUFhO0FBQ3BDLFNBQVNDLHVCQUF1QixRQUFvQywyQkFBMkI7O0FBRy9GO0FBQ0E7QUFDQTtBQUNBOztBQWtCQTs7QUFLQTtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQVlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLFNBQVNDLGlDQUFpQ0EsQ0FDaERDLGdCQUF3RSxFQUN2RTtFQUVELE9BQU8sTUFBTUMsd0JBQXdCLFNBQVNQLFNBQVMsQ0FBaUM7SUFDdkZRLFdBQVdBLENBQUNDLEtBQWUsRUFBRTtNQUM1QixLQUFLLENBQUNBLEtBQUssQ0FBQztNQUFBQyxlQUFBLHdCQWlESUMsQ0FBUSxJQUFLO1FBQzdCQyxRQUFRLENBQUNDLGVBQWUsQ0FBQ0MsU0FBUyxHQUFHLENBQUM7UUFDdENILENBQUMsQ0FBQ0ksY0FBYyxDQUFDLENBQUM7UUFDbEIsT0FBTyxLQUFLO01BQ2IsQ0FBQztNQUFBTCxlQUFBLGlCQUVRLE1BQU07UUFDZEUsUUFBUSxDQUFDQyxlQUFlLENBQUNHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUNDLGFBQWEsQ0FBQztRQUMxRSxJQUFJLENBQUNSLEtBQUssQ0FBQ1MsVUFBVSxDQUFDLENBQUM7TUFDeEIsQ0FBQztNQUFBUixlQUFBLGtCQUVTLE1BQU07UUFDZkUsUUFBUSxDQUFDQyxlQUFlLENBQUNNLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUNGLGFBQWEsQ0FBQztRQUM3RSxJQUFJLENBQUNSLEtBQUssQ0FBQ1csUUFBUSxDQUFDLENBQUM7TUFDdEIsQ0FBQztNQUFB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
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { connect } from 'react-redux';
|
|
2
|
+
import { defaultOptions } from '../../utils/baseActivity';
|
|
3
|
+
import { configureActivityRequiredComponent } from './ActivityRequiredComponent';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* An entity that has a `groupId`
|
|
7
|
+
*/
|
|
8
|
+
|
|
8
9
|
/**
|
|
9
10
|
* Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
|
|
10
11
|
* checking whether the user has the passed `requiredActivity` for the group referenced by
|
|
@@ -14,15 +15,20 @@ const ActivityRequiredComponent_1 = require("./ActivityRequiredComponent");
|
|
|
14
15
|
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
15
16
|
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
16
17
|
*/
|
|
17
|
-
const configureMapStateToProps = (accessPredicate, requiredActivity, redirectPath) => (state, ownProps) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
18
|
+
export const configureMapStateToProps = (accessPredicate, requiredActivity, redirectPath) => (state, ownProps) => {
|
|
19
|
+
const entity = ownProps && state.models.groups ? state.models.groups[ownProps.model.groupId] : undefined;
|
|
20
|
+
const options = {
|
|
21
|
+
...defaultOptions(state, ownProps),
|
|
22
|
+
...{
|
|
23
|
+
entity
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
hasAccess: accessPredicate(requiredActivity, options),
|
|
28
|
+
redirectPath: (typeof redirectPath === 'function' ? redirectPath(options) : redirectPath) || '/'
|
|
29
|
+
};
|
|
24
30
|
};
|
|
25
|
-
|
|
31
|
+
|
|
26
32
|
/**
|
|
27
33
|
* This HOC ensures that the wrapped component is only rendered if the group referenced by
|
|
28
34
|
* `props.model.groupId`, if any, satisfies the `accessPredicate` for the `requiredActivity`.
|
|
@@ -32,9 +38,10 @@ exports.configureMapStateToProps = configureMapStateToProps;
|
|
|
32
38
|
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
33
39
|
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
34
40
|
*/
|
|
35
|
-
function groupActivityRequiredComponent(WrappedComponent, accessPredicate, requiredActivity, redirectPath) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
export default function groupActivityRequiredComponent(WrappedComponent, accessPredicate, requiredActivity, redirectPath) {
|
|
42
|
+
const ActivityRequiredComponent = configureActivityRequiredComponent(WrappedComponent);
|
|
43
|
+
const mapStateToProps = configureMapStateToProps(accessPredicate, requiredActivity, redirectPath);
|
|
44
|
+
// @ts-ignore: could not match inferred type from the `connect` HOC
|
|
45
|
+
return connect(mapStateToProps)(ActivityRequiredComponent);
|
|
40
46
|
}
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb25uZWN0IiwiZGVmYXVsdE9wdGlvbnMiLCJjb25maWd1cmVBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50IiwiY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzIiwiYWNjZXNzUHJlZGljYXRlIiwicmVxdWlyZWRBY3Rpdml0eSIsInJlZGlyZWN0UGF0aCIsInN0YXRlIiwib3duUHJvcHMiLCJlbnRpdHkiLCJtb2RlbHMiLCJncm91cHMiLCJtb2RlbCIsImdyb3VwSWQiLCJ1bmRlZmluZWQiLCJvcHRpb25zIiwiaGFzQWNjZXNzIiwiZ3JvdXBBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQiLCJtYXBTdGF0ZVRvUHJvcHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IT0MvR3JvdXBBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRDbGFzcywgQ29tcG9uZW50VHlwZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4J1xuaW1wb3J0IHsgQmFzZVJlZHV4U3RhdGUsIE1vZGVsIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBBY3Rpdml0eU9wdGlvbnMsIGRlZmF1bHRPcHRpb25zIH0gZnJvbSAnLi4vLi4vdXRpbHMvYmFzZUFjdGl2aXR5J1xuaW1wb3J0IHsgQWN0aXZpdHlSZXF1aXJlZFN0YXRlUHJvcHMsIGNvbmZpZ3VyZUFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQgfSBmcm9tICcuL0FjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQnXG5pbXBvcnQgeyBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFdyYXBwZWRQcm9wcyB9IGZyb20gJy4vQ29sbGVjdGlvbkl0ZW1Db21wb25lbnQnXG5cbi8qKlxuICogQW4gZW50aXR5IHRoYXQgaGFzIGEgYGdyb3VwSWRgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBSZWxhdGVkRW50aXR5IGV4dGVuZHMgTW9kZWwge1xuXHRncm91cElkOiBudW1iZXJcbn1cblxuLyoqXG4gKiBSZXR1cm4gYG1hcFN0YXRlVG9Qcm9wc2AgZnVuY3Rpb24uIEFkZCBhIGBoYXNBY2Nlc3NgIGJvb2xlYW4gcHJvcGVydHkgdG8gdGhlIGNvbXBvbmVudCdzIHByb3BzXG4gKiBjaGVja2luZyB3aGV0aGVyIHRoZSB1c2VyIGhhcyB0aGUgcGFzc2VkIGByZXF1aXJlZEFjdGl2aXR5YCBmb3IgdGhlIGdyb3VwIHJlZmVyZW5jZWQgYnlcbiAqIGBvd25Qcm9wcy5tb2RlbC5ncm91cElkYCwgaWYgYW55LlxuICpcbiAqIEBwYXJhbSBhY2Nlc3NQcmVkaWNhdGUgQSBwcmVkaWNhdGUgYWNjZXB0aW5nIGEgcmVxdWlyZWQgYWN0aXZpdHkgYW5kIGFuIG9wdGlvbmFsIGVudGl0eSBhbmQvb3IgdXNlckluZm8gb2JqZWN0XG4gKiBAcGFyYW0gcmVxdWlyZWRBY3Rpdml0eSBUaGUgcmVxdWlyZWQgYWN0aXZpdHkgd2hpY2ggaXMgcGFzc2VkIHRvIHRoZSBwcmVkaWNhdGUgZm9yIGV2YWx1YXRpb25cbiAqIEBwYXJhbSByZWRpcmVjdFBhdGggKE9wdGlvbmFsKSBBIHN0cmluZyBvciBmdW5jdGlvbiB0aGF0IHByb3ZpZGVzIHRoZSByZWRpcmVjdCBwYXRoIGZvciB3aGVuIGBhY2Nlc3NQcmVkaWNhdGVgIGlzIGZhbHNlLiBEZWZhdWx0cyB0byAnLycuXG4gKi9cbmV4cG9ydCBjb25zdCBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMgPVxuXHQoXG5cdFx0YWNjZXNzUHJlZGljYXRlOiAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IGJvb2xlYW4sXG5cdFx0cmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLFxuXHRcdHJlZGlyZWN0UGF0aD86IHN0cmluZyB8ICgob3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpXG5cdCkgPT5cblx0KFxuXHRcdHN0YXRlOiBCYXNlUmVkdXhTdGF0ZSxcblx0XHRvd25Qcm9wcz86IENvbGxlY3Rpb25JdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzPEdyb3VwUmVsYXRlZEVudGl0eT5cblx0KTogQWN0aXZpdHlSZXF1aXJlZFN0YXRlUHJvcHMgPT4ge1xuXHRcdGNvbnN0IGVudGl0eSA9IG93blByb3BzICYmIHN0YXRlLm1vZGVscy5ncm91cHMgPyBzdGF0ZS5tb2RlbHMuZ3JvdXBzW293blByb3BzLm1vZGVsLmdyb3VwSWRdIDogdW5kZWZpbmVkXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IHsgLi4uZGVmYXVsdE9wdGlvbnMoc3RhdGUsIG93blByb3BzKSwgLi4ueyBlbnRpdHkgfSB9IGFzIEFjdGl2aXR5T3B0aW9uc1xuXHRcdHJldHVybiB7XG5cdFx0XHRoYXNBY2Nlc3M6IGFjY2Vzc1ByZWRpY2F0ZShyZXF1aXJlZEFjdGl2aXR5LCBvcHRpb25zKSxcblx0XHRcdHJlZGlyZWN0UGF0aDogKHR5cGVvZiByZWRpcmVjdFBhdGggPT09ICdmdW5jdGlvbicgPyByZWRpcmVjdFBhdGgob3B0aW9ucykgOiByZWRpcmVjdFBhdGgpIHx8ICcvJ1xuXHRcdH1cblx0fVxuXG4vKipcbiAqIFRoaXMgSE9DIGVuc3VyZXMgdGhhdCB0aGUgd3JhcHBlZCBjb21wb25lbnQgaXMgb25seSByZW5kZXJlZCBpZiB0aGUgZ3JvdXAgcmVmZXJlbmNlZCBieVxuICogYHByb3BzLm1vZGVsLmdyb3VwSWRgLCBpZiBhbnksIHNhdGlzZmllcyB0aGUgYGFjY2Vzc1ByZWRpY2F0ZWAgZm9yIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWAuXG4gKlxuICogQHBhcmFtIFdyYXBwZWRDb21wb25lbnQgVGhlIGNvbXBvbmVudCB3aGljaCByZXF1aXJlcyBhY3Rpdml0eS9hY3Rpdml0aWVzIGluIG9yZGVyIHRvIHJlbmRlclxuICogQHBhcmFtIGFjY2Vzc1ByZWRpY2F0ZSBBIHByZWRpY2F0ZSBhY2NlcHRpbmcgYSByZXF1aXJlZCBhY3Rpdml0eSBhbmQgYW4gb3B0aW9uYWwgZW50aXR5IGFuZC9vciB1c2VySW5mbyBvYmplY3RcbiAqIEBwYXJhbSByZXF1aXJlZEFjdGl2aXR5IFRoZSByZXF1aXJlZCBhY3Rpdml0eSB3aGljaCBpcyBwYXNzZWQgdG8gdGhlIHByZWRpY2F0ZSBmb3IgZXZhbHVhdGlvblxuICogQHBhcmFtIHJlZGlyZWN0UGF0aCAoT3B0aW9uYWwpIEEgc3RyaW5nIG9yIGZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgdGhlIHJlZGlyZWN0IHBhdGggZm9yIHdoZW4gYGFjY2Vzc1ByZWRpY2F0ZWAgaXMgZmFsc2UuIERlZmF1bHRzIHRvICcvJy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ3JvdXBBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50PFxuXHRUT3duUHJvcHMgZXh0ZW5kcyBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFdyYXBwZWRQcm9wczxHcm91cFJlbGF0ZWRFbnRpdHk+XG4+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcz4sXG5cdGFjY2Vzc1ByZWRpY2F0ZTogKHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZywgb3B0aW9uczogYW55KSA9PiBib29sZWFuLFxuXHRyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsXG5cdHJlZGlyZWN0UGF0aD86IHN0cmluZyB8ICgob3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpXG4pOiBDb21wb25lbnRDbGFzczxUT3duUHJvcHM+IHtcblx0Y29uc3QgQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudCA9IGNvbmZpZ3VyZUFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQoV3JhcHBlZENvbXBvbmVudClcblx0Y29uc3QgbWFwU3RhdGVUb1Byb3BzID0gY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzKGFjY2Vzc1ByZWRpY2F0ZSwgcmVxdWlyZWRBY3Rpdml0eSwgcmVkaXJlY3RQYXRoKVxuXHQvLyBAdHMtaWdub3JlOiBjb3VsZCBub3QgbWF0Y2ggaW5mZXJyZWQgdHlwZSBmcm9tIHRoZSBgY29ubmVjdGAgSE9DXG5cdHJldHVybiBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcykoQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsT0FBTyxRQUFRLGFBQWE7QUFFckMsU0FBMEJDLGNBQWMsUUFBUSwwQkFBMEI7QUFDMUUsU0FBcUNDLGtDQUFrQyxRQUFRLDZCQUE2Qjs7QUFHNUc7QUFDQTtBQUNBOztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sTUFBTUMsd0JBQXdCLEdBQ3BDQSxDQUNDQyxlQUFnRixFQUNoRkMsZ0JBQXdCLEVBQ3hCQyxZQUEwRSxLQUUzRSxDQUNDQyxLQUFxQixFQUNyQkMsUUFBa0UsS0FDbEM7RUFDaEMsTUFBTUMsTUFBTSxHQUFHRCxRQUFRLElBQUlELEtBQUssQ0FBQ0csTUFBTSxDQUFDQyxNQUFNLEdBQUdKLEtBQUssQ0FBQ0csTUFBTSxDQUFDQyxNQUFNLENBQUNILFFBQVEsQ0FBQ0ksS0FBSyxDQUFDQyxPQUFPLENBQUMsR0FBR0MsU0FBUztFQUN4RyxNQUFNQyxPQUFPLEdBQUc7SUFBRSxHQUFHZCxjQUFjLENBQUNNLEtBQUssRUFBRUMsUUFBUSxDQUFDO0lBQUUsR0FBRztNQUFFQztJQUFPO0VBQUUsQ0FBb0I7RUFDeEYsT0FBTztJQUNOTyxTQUFTLEVBQUVaLGVBQWUsQ0FBQ0MsZ0JBQWdCLEVBQUVVLE9BQU8sQ0FBQztJQUNyRFQsWUFBWSxFQUFFLENBQUMsT0FBT0EsWUFBWSxLQUFLLFVBQVUsR0FBR0EsWUFBWSxDQUFDUyxPQUFPLENBQUMsR0FBR1QsWUFBWSxLQUFLO0VBQzlGLENBQUM7QUFDRixDQUFDOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBU1csOEJBQThCQSxDQUdyREMsZ0JBQTBDLEVBQzFDZCxlQUFvRSxFQUNwRUMsZ0JBQXdCLEVBQ3hCQyxZQUEwRSxFQUM5QztFQUM1QixNQUFNYSx5QkFBeUIsR0FBR2pCLGtDQUFrQyxDQUFDZ0IsZ0JBQWdCLENBQUM7RUFDdEYsTUFBTUUsZUFBZSxHQUFHakIsd0JBQXdCLENBQUNDLGVBQWUsRUFBRUMsZ0JBQWdCLEVBQUVDLFlBQVksQ0FBQztFQUNqRztFQUNBLE9BQU9OLE9BQU8sQ0FBQ29CLGVBQWUsQ0FBQyxDQUFDRCx5QkFBeUIsQ0FBQztBQUMzRCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const uuid_1 = require("uuid");
|
|
1
|
+
import { Component } from 'react';
|
|
2
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
4
|
/**
|
|
8
5
|
* HOC that provides a `guid` prop to the `WrappedComponent`.
|
|
9
6
|
*
|
|
10
7
|
* @param WrappedComponent The component to wrap.
|
|
11
8
|
*/
|
|
12
|
-
function guidComponent(WrappedComponent
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
9
|
+
export function guidComponent(WrappedComponent) {
|
|
10
|
+
return class GuidComponent extends Component {
|
|
11
|
+
constructor(props) {
|
|
12
|
+
super(props);
|
|
13
|
+
this.state = {
|
|
14
|
+
guid: uuidv4()
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
render() {
|
|
18
|
+
return /*#__PURE__*/_jsx(WrappedComponent, {
|
|
19
|
+
...this.props,
|
|
20
|
+
guid: this.state.guid
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
};
|
|
25
24
|
}
|
|
26
|
-
|
|
25
|
+
export default guidComponent;
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJ2NCIsInV1aWR2NCIsImpzeCIsIl9qc3giLCJndWlkQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkd1aWRDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwic3RhdGUiLCJndWlkIiwicmVuZGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSE9DL0d1aWRDb21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50Q2xhc3MsIENvbXBvbmVudFR5cGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnXG5cbmV4cG9ydCBpbnRlcmZhY2UgR3VpZENvbXBvbmVudFdyYXBwZWRQcm9wcyB7XG5cdGd1aWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEd1aWRDb21wb25lbnRTdGF0ZSB7XG5cdGd1aWQ6IHN0cmluZ1xufVxuXG4vKipcbiAqIEhPQyB0aGF0IHByb3ZpZGVzIGEgYGd1aWRgIHByb3AgdG8gdGhlIGBXcmFwcGVkQ29tcG9uZW50YC5cbiAqXG4gKiBAcGFyYW0gV3JhcHBlZENvbXBvbmVudCAgVGhlIGNvbXBvbmVudCB0byB3cmFwLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpZENvbXBvbmVudDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcyAmIEd1aWRDb21wb25lbnRXcmFwcGVkUHJvcHM+IC8vIGludGVyc2VjdCB0eXBlIHNlcGFyYXRlcyB0aGUgZ3VpZCBwcm9wc1xuKTogQ29tcG9uZW50Q2xhc3M8VE93blByb3BzPiB7XG5cdHJldHVybiBjbGFzcyBHdWlkQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PFRPd25Qcm9wcywgR3VpZENvbXBvbmVudFN0YXRlPiB7XG5cdFx0Y29uc3RydWN0b3IocHJvcHM6IFRPd25Qcm9wcykge1xuXHRcdFx0c3VwZXIocHJvcHMpXG5cdFx0XHR0aGlzLnN0YXRlID0ge1xuXHRcdFx0XHRndWlkOiB1dWlkdjQoKVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJlbmRlcigpIHtcblx0XHRcdHJldHVybiA8V3JhcHBlZENvbXBvbmVudCB7Li4udGhpcy5wcm9wc30gZ3VpZD17dGhpcy5zdGF0ZS5ndWlkfSAvPlxuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBndWlkQ29tcG9uZW50XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFNBQVMsUUFBdUMsT0FBTztBQUNoRSxTQUFTQyxFQUFFLElBQUlDLE1BQU0sUUFBUSxNQUFNO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBVW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLFNBQVNDLGFBQWFBLENBQzVCQyxnQkFBc0UsRUFDMUM7RUFDNUIsT0FBTyxNQUFNQyxhQUFhLFNBQVNQLFNBQVMsQ0FBZ0M7SUFDM0VRLFdBQVdBLENBQUNDLEtBQWdCLEVBQUU7TUFDN0IsS0FBSyxDQUFDQSxLQUFLLENBQUM7TUFDWixJQUFJLENBQUNDLEtBQUssR0FBRztRQUNaQyxJQUFJLEVBQUVULE1BQU0sQ0FBQztNQUNkLENBQUM7SUFDRjtJQUVBVSxNQUFNQSxDQUFBLEVBQUc7TUFDUixvQkFBT1IsSUFBQSxDQUFDRSxnQkFBZ0I7UUFBQSxHQUFLLElBQUksQ0FBQ0csS0FBSztRQUFFRSxJQUFJLEVBQUUsSUFBSSxDQUFDRCxLQUFLLENBQUNDO01BQUssQ0FBRSxDQUFDO0lBQ25FO0VBQ0QsQ0FBQztBQUNGO0FBRUEsZUFBZU4sYUFBYSIsImlnbm9yZUxpc3QiOltdfQ==
|