studiokit-scaffolding-js 4.3.20 → 4.3.21
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/LICENSE +21 -21
- package/README.md +127 -127
- package/lib/components/ActionList.d.ts +20 -20
- package/lib/components/ActionList.js +94 -94
- package/lib/components/AlertDialog.d.ts +18 -18
- package/lib/components/AlertDialog.js +21 -21
- package/lib/components/AlertWithIcon.d.ts +7 -7
- package/lib/components/AlertWithIcon.js +57 -57
- package/lib/components/Blots/CustomImageSpec.d.ts +14 -14
- package/lib/components/Blots/CustomImageSpec.js +45 -45
- package/lib/components/Blots/CustomVideoSpec.d.ts +16 -16
- package/lib/components/Blots/CustomVideoSpec.js +47 -47
- package/lib/components/ConnectedModal.d.ts +6 -6
- package/lib/components/ConnectedModal.js +11 -11
- package/lib/components/Dropdowns/GroupsDropdown.d.ts +18 -18
- package/lib/components/Dropdowns/GroupsDropdown.js +90 -90
- package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +32 -32
- package/lib/components/Dropdowns/ManagedNavDropdown.js +118 -118
- package/lib/components/Dropdowns/UserDropdown.d.ts +6 -6
- package/lib/components/Dropdowns/UserDropdown.js +76 -76
- package/lib/components/Dropdowns/index.d.ts +3 -3
- package/lib/components/Dropdowns/index.js +12 -12
- package/lib/components/EntityOwnerList.d.ts +11 -11
- package/lib/components/EntityOwnerList.js +63 -63
- package/lib/components/ErrorBoundary.d.ts +11 -11
- package/lib/components/ErrorBoundary.js +74 -74
- package/lib/components/Forms/DateField.d.ts +13 -13
- package/lib/components/Forms/DateField.js +99 -99
- package/lib/components/Forms/TimeField.d.ts +11 -11
- package/lib/components/Forms/TimeField.js +112 -112
- package/lib/components/Forms/index.d.ts +2 -2
- package/lib/components/Forms/index.js +14 -14
- package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +10 -10
- package/lib/components/Groups/CreateEditCopySaveButtons.js +18 -18
- package/lib/components/Groups/GroupCreateOrEditCommonProps.d.ts +6 -6
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
- package/lib/components/Groups/RosterSyncInfo.d.ts +5 -5
- package/lib/components/Groups/RosterSyncInfo.js +54 -54
- package/lib/components/HOC/AccessibleAppComponent.d.ts +15 -15
- package/lib/components/HOC/AccessibleAppComponent.js +135 -135
- package/lib/components/HOC/ActivityRequiredComponent.d.ts +105 -105
- package/lib/components/HOC/ActivityRequiredComponent.js +101 -101
- package/lib/components/HOC/AsyncComponent.d.ts +37 -37
- package/lib/components/HOC/AsyncComponent.js +136 -136
- package/lib/components/HOC/AuthenticatedComponent.d.ts +10 -10
- package/lib/components/HOC/AuthenticatedComponent.js +104 -104
- package/lib/components/HOC/CollectionComponent.d.ts +61 -61
- package/lib/components/HOC/CollectionComponent.js +175 -175
- package/lib/components/HOC/CollectionFirstItemComponent.d.ts +67 -67
- package/lib/components/HOC/CollectionFirstItemComponent.js +94 -94
- package/lib/components/HOC/CollectionItemComponent.d.ts +61 -61
- package/lib/components/HOC/CollectionItemComponent.js +172 -172
- package/lib/components/HOC/ConnectedModalComponent.d.ts +26 -26
- package/lib/components/HOC/ConnectedModalComponent.js +110 -110
- package/lib/components/HOC/DataDependentComponent.d.ts +61 -61
- package/lib/components/HOC/DataDependentComponent.js +90 -90
- package/lib/components/HOC/EntityComponent.d.ts +83 -83
- package/lib/components/HOC/EntityComponent.js +120 -120
- package/lib/components/HOC/FullscreenModalComponent.d.ts +74 -74
- package/lib/components/HOC/FullscreenModalComponent.js +173 -173
- package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +29 -29
- package/lib/components/HOC/GroupActivityRequiredComponent.js +49 -49
- package/lib/components/HOC/GuidComponent.d.ts +14 -14
- package/lib/components/HOC/GuidComponent.js +72 -72
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +172 -172
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +72 -72
- package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +69 -69
- package/lib/components/HOC/ModelErrorRedirectComponent.js +101 -101
- package/lib/components/HOC/SearchPersistorComponent.d.ts +85 -85
- package/lib/components/HOC/SearchPersistorComponent.js +198 -198
- package/lib/components/HOC/UnauthenticatedComponent.d.ts +62 -62
- package/lib/components/HOC/UnauthenticatedComponent.js +90 -90
- package/lib/components/HOC/UserComponent.d.ts +3 -3
- package/lib/components/HOC/UserComponent.js +12 -12
- package/lib/components/Icons/IconExternalUser.d.ts +3 -3
- package/lib/components/Icons/IconExternalUser.js +24 -24
- package/lib/components/Icons/IconImpersonation.d.ts +3 -3
- package/lib/components/Icons/IconImpersonation.js +24 -24
- package/lib/components/Icons/IconStopImpersonating.d.ts +3 -3
- package/lib/components/Icons/IconStopImpersonating.js +24 -24
- package/lib/components/Impersonation/Button.d.ts +7 -7
- package/lib/components/Impersonation/Button.js +61 -61
- package/lib/components/Impersonation/Link.d.ts +7 -7
- package/lib/components/Impersonation/Link.js +58 -58
- package/lib/components/Impersonation/UserDetail.css +22 -22
- package/lib/components/Impersonation/UserDetail.d.ts +22 -22
- package/lib/components/Impersonation/UserDetail.js +23 -23
- package/lib/components/Loading.d.ts +4 -4
- package/lib/components/Loading.js +24 -24
- package/lib/components/Lti/Confirm.d.ts +8 -8
- package/lib/components/Lti/Confirm.js +37 -37
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +15 -15
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +83 -83
- package/lib/components/Lti/Launch.d.ts +21 -21
- package/lib/components/Lti/Launch.js +52 -52
- package/lib/components/Lti/LaunchGroup.d.ts +9 -9
- package/lib/components/Lti/LaunchGroup.js +45 -45
- package/lib/components/NewVersionAlert.d.ts +18 -18
- package/lib/components/NewVersionAlert.js +97 -97
- package/lib/components/NotFound.d.ts +3 -3
- package/lib/components/NotFound.js +28 -28
- package/lib/components/Notifications.d.ts +39 -39
- package/lib/components/Notifications.js +175 -175
- package/lib/components/RefreshIndicator/Bordered.d.ts +7 -7
- package/lib/components/RefreshIndicator/Bordered.js +35 -35
- package/lib/components/RefreshIndicator/Inline.d.ts +4 -4
- package/lib/components/RefreshIndicator/Inline.js +36 -36
- package/lib/components/RefreshIndicator/index.d.ts +21 -21
- package/lib/components/RefreshIndicator/index.js +116 -116
- package/lib/components/SearchControls.d.ts +14 -14
- package/lib/components/SearchControls.js +34 -34
- package/lib/components/SentryRoute.d.ts +3 -3
- package/lib/components/SentryRoute.js +25 -25
- package/lib/components/Tables/RoleFilter.d.ts +14 -14
- package/lib/components/Tables/RoleFilter.js +53 -53
- package/lib/components/Tables/TextFilter.d.ts +7 -7
- package/lib/components/Tables/TextFilter.js +26 -26
- package/lib/components/UserRoles/Add.d.ts +31 -31
- package/lib/components/UserRoles/Add.js +165 -165
- package/lib/components/UserRoles/RoleCell.d.ts +21 -21
- package/lib/components/UserRoles/RoleCell.js +53 -53
- package/lib/components/UserRoles/Select.d.ts +27 -27
- package/lib/components/UserRoles/Select.js +44 -44
- package/lib/components/UserRoles/Table.d.ts +16 -16
- package/lib/components/UserRoles/Table.js +99 -99
- package/lib/components/UserRoles/index.d.ts +76 -76
- package/lib/components/UserRoles/index.js +361 -361
- package/lib/constants/baseActivity.d.ts +25 -25
- package/lib/constants/baseActivity.js +29 -29
- package/lib/constants/baseRole.d.ts +9 -9
- package/lib/constants/baseRole.js +13 -13
- package/lib/constants/configuration.d.ts +8 -8
- package/lib/constants/configuration.js +39 -39
- package/lib/constants/externalProviderType.d.ts +5 -5
- package/lib/constants/externalProviderType.js +9 -9
- package/lib/constants/index.d.ts +8 -8
- package/lib/constants/index.js +20 -20
- package/lib/constants/mockData.d.ts +82 -84
- package/lib/constants/mockData.js +379 -379
- package/lib/constants/modelStatus.d.ts +10 -10
- package/lib/constants/modelStatus.js +14 -14
- package/lib/constants/notificationType.d.ts +7 -7
- package/lib/constants/notificationType.js +11 -11
- package/lib/constants/shard.d.ts +6 -6
- package/lib/constants/shard.js +10 -10
- package/lib/constants/tier.d.ts +6 -6
- package/lib/constants/tier.js +10 -10
- package/lib/constants/userRole.d.ts +2 -2
- package/lib/constants/userRole.js +21 -21
- package/lib/css/base/_base.css +98 -98
- package/lib/css/base/_typography.css +130 -130
- package/lib/css/components/_alert.css +85 -85
- package/lib/css/components/_bootstrap-grid.css +28 -28
- package/lib/css/components/_buttons.css +325 -325
- package/lib/css/components/_forms.css +91 -91
- package/lib/css/components/_menu.css +56 -56
- package/lib/css/components/_modals.css +41 -41
- package/lib/css/components/_tables.css +426 -426
- package/lib/css/components/_tags.css +12 -12
- package/lib/css/index-with-variables.css +14 -14
- package/lib/css/index.css +13 -13
- package/lib/css/utils/_border.css +463 -463
- package/lib/css/utils/_color.css +271 -271
- package/lib/css/utils/_display.css +312 -312
- package/lib/css/utils/_general.css +48 -48
- package/lib/css/utils/_icon.css +16 -16
- package/lib/css/utils/_text.css +24 -24
- package/lib/css/utils/_width.css +60 -60
- package/lib/css/variables.css +70 -70
- package/lib/endpointMappings.d.ts +4 -4
- package/lib/endpointMappings.js +173 -173
- package/lib/hooks/useCollection.d.ts +6 -6
- package/lib/hooks/useCollection.js +61 -61
- package/lib/hooks/useCollectionConfiguration.d.ts +27 -27
- package/lib/hooks/useCollectionConfiguration.js +67 -67
- package/lib/hooks/useCollectionItem.d.ts +6 -6
- package/lib/hooks/useCollectionItem.js +54 -54
- package/lib/hooks/useGuid.d.ts +4 -4
- package/lib/hooks/useGuid.js +14 -14
- package/lib/hooks/usePrevious.d.ts +5 -5
- package/lib/hooks/usePrevious.js +18 -18
- package/lib/index.d.ts +8 -8
- package/lib/index.js +30 -30
- package/lib/redux/actionCreator.d.ts +5 -5
- package/lib/redux/actionCreator.js +16 -16
- package/lib/redux/actions.d.ts +12 -12
- package/lib/redux/actions.js +30 -30
- package/lib/redux/configureReducers.d.ts +22 -22
- package/lib/redux/configureReducers.js +94 -94
- package/lib/redux/configureStore.d.ts +14 -14
- package/lib/redux/configureStore.js +118 -118
- package/lib/redux/helpers.d.ts +2 -2
- package/lib/redux/helpers.js +7 -7
- package/lib/redux/reducers/index.d.ts +4 -4
- package/lib/redux/reducers/index.js +12 -12
- package/lib/redux/reducers/modalsReducer.d.ts +8 -8
- package/lib/redux/reducers/modalsReducer.js +54 -54
- package/lib/redux/reducers/notificationsReducer.d.ts +9 -9
- package/lib/redux/reducers/notificationsReducer.js +27 -27
- package/lib/redux/reducers/searchReducer.d.ts +17 -17
- package/lib/redux/reducers/searchReducer.js +26 -26
- package/lib/redux/sagas/caliperSaga.d.ts +2 -2
- package/lib/redux/sagas/caliperSaga.js +296 -296
- package/lib/redux/sagas/clockOffsetSaga.d.ts +10 -10
- package/lib/redux/sagas/clockOffsetSaga.js +81 -81
- package/lib/redux/sagas/configurationSaga.d.ts +1 -1
- package/lib/redux/sagas/configurationSaga.js +48 -48
- package/lib/redux/sagas/errorSaga.d.ts +2 -2
- package/lib/redux/sagas/errorSaga.js +66 -66
- package/lib/redux/sagas/identityProviderSaga.d.ts +2 -2
- package/lib/redux/sagas/identityProviderSaga.js +91 -91
- package/lib/redux/sagas/initialDataLoadSaga.d.ts +1 -1
- package/lib/redux/sagas/initialDataLoadSaga.js +33 -33
- package/lib/redux/sagas/postLoginDataSaga.d.ts +9 -9
- package/lib/redux/sagas/postLoginDataSaga.js +87 -87
- package/lib/redux/sagas/postLoginRedirectSaga.d.ts +6 -6
- package/lib/redux/sagas/postLoginRedirectSaga.js +96 -96
- package/lib/redux/sagas/rootSaga.d.ts +5 -5
- package/lib/redux/sagas/rootSaga.js +144 -144
- package/lib/redux/sagas/sentrySaga.d.ts +1 -1
- package/lib/redux/sagas/sentrySaga.js +103 -103
- package/lib/services/codeProviderService.d.ts +3 -3
- package/lib/services/codeProviderService.js +36 -36
- package/lib/services/documentService.d.ts +10 -10
- package/lib/services/documentService.js +17 -17
- package/lib/services/persistenceService.d.ts +13 -13
- package/lib/services/persistenceService.js +45 -45
- package/lib/services/ticketProviderService.d.ts +3 -3
- package/lib/services/ticketProviderService.js +40 -40
- package/lib/services/windowService.d.ts +9 -9
- package/lib/services/windowService.js +15 -15
- package/lib/setupTests.d.ts +1 -1
- package/lib/setupTests.js +25 -25
- package/lib/startup.d.ts +29 -29
- package/lib/startup.js +128 -128
- package/lib/types/AppConfiguration.d.ts +32 -32
- package/lib/types/AppConfiguration.js +2 -2
- package/lib/types/Artifact.d.ts +14 -14
- package/lib/types/Artifact.js +9 -9
- package/lib/types/BaseReduxState.d.ts +57 -57
- package/lib/types/BaseReduxState.js +2 -2
- package/lib/types/Client.d.ts +6 -6
- package/lib/types/Client.js +2 -2
- package/lib/types/Collection.d.ts +175 -175
- package/lib/types/Collection.js +2 -2
- package/lib/types/Configuration.d.ts +12 -12
- package/lib/types/Configuration.js +2 -2
- package/lib/types/DeepLinkingResponseRequest.d.ts +4 -4
- package/lib/types/DeepLinkingResponseRequest.js +2 -2
- package/lib/types/DeletableModel.d.ts +4 -4
- package/lib/types/DeletableModel.js +2 -2
- package/lib/types/External.d.ts +31 -31
- package/lib/types/External.js +2 -2
- package/lib/types/Group.d.ts +19 -19
- package/lib/types/Group.js +2 -2
- package/lib/types/IdentityProvider.d.ts +11 -11
- package/lib/types/IdentityProvider.js +2 -2
- package/lib/types/LtiLaunch.d.ts +20 -20
- package/lib/types/LtiLaunch.js +2 -2
- package/lib/types/NameOnlyEntity.d.ts +3 -3
- package/lib/types/NameOnlyEntity.js +2 -2
- package/lib/types/Notification.d.ts +15 -15
- package/lib/types/Notification.js +2 -2
- package/lib/types/OptionalRecord.d.ts +4 -4
- package/lib/types/OptionalRecord.js +2 -2
- package/lib/types/OwnerSchedule.d.ts +9 -9
- package/lib/types/OwnerSchedule.js +2 -2
- package/lib/types/PropertyOfType.d.ts +12 -12
- package/lib/types/PropertyOfType.js +2 -2
- package/lib/types/RoleDescription.d.ts +4 -4
- package/lib/types/RoleDescription.js +2 -2
- package/lib/types/Search.d.ts +11 -11
- package/lib/types/Search.js +2 -2
- package/lib/types/SimpleLocation.d.ts +46 -46
- package/lib/types/SimpleLocation.js +2 -2
- package/lib/types/UniTime.d.ts +17 -17
- package/lib/types/UniTime.js +2 -2
- package/lib/types/User.d.ts +68 -68
- package/lib/types/User.js +2 -2
- package/lib/types/UserRole.d.ts +19 -19
- package/lib/types/UserRole.js +2 -2
- package/lib/types/index.d.ts +21 -21
- package/lib/types/index.js +33 -33
- package/lib/utils/baseActivity.d.ts +63 -63
- package/lib/utils/baseActivity.js +155 -155
- package/lib/utils/baseRole.d.ts +2 -2
- package/lib/utils/baseRole.js +38 -38
- package/lib/utils/collection.d.ts +43 -43
- package/lib/utils/collection.js +337 -337
- package/lib/utils/date.d.ts +162 -162
- package/lib/utils/date.js +401 -401
- package/lib/utils/domainIdentifier.d.ts +2 -2
- package/lib/utils/domainIdentifier.js +12 -12
- package/lib/utils/entityUserRole.d.ts +3 -3
- package/lib/utils/entityUserRole.js +7 -7
- package/lib/utils/externalGroup.d.ts +4 -4
- package/lib/utils/externalGroup.js +32 -32
- package/lib/utils/externalProviders.d.ts +2 -2
- package/lib/utils/externalProviders.js +11 -11
- package/lib/utils/externalTerms.d.ts +2 -2
- package/lib/utils/externalTerms.js +10 -10
- package/lib/utils/group.d.ts +15 -15
- package/lib/utils/group.js +15 -15
- package/lib/utils/groupDates.d.ts +9 -9
- package/lib/utils/groupDates.js +52 -52
- package/lib/utils/groupRoles.d.ts +8 -8
- package/lib/utils/groupRoles.js +42 -42
- package/lib/utils/logger.d.ts +10 -10
- package/lib/utils/logger.js +34 -34
- package/lib/utils/lti.d.ts +3 -3
- package/lib/utils/lti.js +9 -9
- package/lib/utils/model.d.ts +15 -15
- package/lib/utils/model.js +58 -58
- package/lib/utils/number.d.ts +13 -13
- package/lib/utils/number.js +32 -32
- package/lib/utils/promise.d.ts +5 -5
- package/lib/utils/promise.js +17 -17
- package/lib/utils/route.d.ts +5 -5
- package/lib/utils/route.js +69 -69
- package/lib/utils/shard.d.ts +3 -3
- package/lib/utils/shard.js +45 -45
- package/lib/utils/sort.d.ts +11 -11
- package/lib/utils/sort.js +69 -69
- package/lib/utils/string.d.ts +2 -2
- package/lib/utils/string.js +16 -16
- package/lib/utils/timezone.d.ts +2 -2
- package/lib/utils/timezone.js +32 -32
- package/lib/utils/url.d.ts +23 -23
- package/lib/utils/url.js +163 -163
- package/lib/utils/user.d.ts +8 -8
- package/lib/utils/user.js +73 -73
- package/lib/utils/userRole.d.ts +21 -21
- package/lib/utils/userRole.js +48 -48
- package/package.json +192 -192
|
@@ -1,173 +1,173 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
extendStatics(d, b);
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
var __assign = (this && this.__assign) || function () {
|
|
16
|
-
__assign = Object.assign || function(t) {
|
|
17
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
18
|
-
s = arguments[i];
|
|
19
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
20
|
-
t[p] = s[p];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
|
-
return __assign.apply(this, arguments);
|
|
25
|
-
};
|
|
26
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
27
|
-
if (k2 === undefined) k2 = k;
|
|
28
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
29
|
-
}) : (function(o, m, k, k2) {
|
|
30
|
-
if (k2 === undefined) k2 = k;
|
|
31
|
-
o[k2] = m[k];
|
|
32
|
-
}));
|
|
33
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
34
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
35
|
-
}) : function(o, v) {
|
|
36
|
-
o["default"] = v;
|
|
37
|
-
});
|
|
38
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
39
|
-
if (mod && mod.__esModule) return mod;
|
|
40
|
-
var result = {};
|
|
41
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
42
|
-
__setModuleDefault(result, mod);
|
|
43
|
-
return result;
|
|
44
|
-
};
|
|
45
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
|
-
};
|
|
48
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
exports.fullscreenModalComponent = exports.configureFullscreenModalComponent = void 0;
|
|
50
|
-
var react_1 = __importStar(require("react"));
|
|
51
|
-
var react_modal_1 = __importDefault(require("react-modal"));
|
|
52
|
-
var ConnectedModalComponent_1 = require("./ConnectedModalComponent");
|
|
53
|
-
/**
|
|
54
|
-
* HOC that manages a `ReactModal`, adds inline css, and
|
|
55
|
-
* coordinates modal state in redux using.
|
|
56
|
-
*
|
|
57
|
-
* NOTE: Meant for testing. Should be wrapped in `connectedModalComponent` normally.
|
|
58
|
-
*
|
|
59
|
-
* @param WrappedComponent The component to wrap.
|
|
60
|
-
*/
|
|
61
|
-
function configureFullscreenModalComponent(WrappedComponent) {
|
|
62
|
-
return /** @class */ (function (_super) {
|
|
63
|
-
__extends(FullscreenModalComponent, _super);
|
|
64
|
-
function FullscreenModalComponent(props) {
|
|
65
|
-
var _this = _super.call(this, props) || this;
|
|
66
|
-
_this.disableScroll = function (e) {
|
|
67
|
-
document.documentElement.scrollTop = 0;
|
|
68
|
-
e.preventDefault();
|
|
69
|
-
return false;
|
|
70
|
-
};
|
|
71
|
-
_this.onOpen = function () {
|
|
72
|
-
document.documentElement.addEventListener('touchmove', _this.disableScroll);
|
|
73
|
-
_this.props.onEntering();
|
|
74
|
-
};
|
|
75
|
-
_this.closeModal = function () {
|
|
76
|
-
document.documentElement.removeEventListener('touchmove', _this.disableScroll);
|
|
77
|
-
if (_this.props.closeModal) {
|
|
78
|
-
_this.props.closeModal();
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
_this.setState({
|
|
82
|
-
isOpen: false
|
|
83
|
-
});
|
|
84
|
-
};
|
|
85
|
-
_this.state = {
|
|
86
|
-
isOpen: props.isOpen === undefined ? true : props.isOpen
|
|
87
|
-
};
|
|
88
|
-
// https://github.com/reactjs/react-modal#app-element
|
|
89
|
-
// Accessibility fixed when reading the content in the modal
|
|
90
|
-
if (document.getElementById('root')) {
|
|
91
|
-
react_modal_1.default.setAppElement('#root');
|
|
92
|
-
}
|
|
93
|
-
return _this;
|
|
94
|
-
}
|
|
95
|
-
FullscreenModalComponent.prototype.componentDidMount = function () {
|
|
96
|
-
var isOpen = this.state.isOpen;
|
|
97
|
-
if (isOpen) {
|
|
98
|
-
this.onOpen();
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
FullscreenModalComponent.prototype.componentWillUnmount = function () {
|
|
102
|
-
document.documentElement.removeEventListener('touchmove', this.disableScroll);
|
|
103
|
-
};
|
|
104
|
-
FullscreenModalComponent.prototype.componentDidUpdate = function (prevProps, prevState) {
|
|
105
|
-
var isOpen;
|
|
106
|
-
if (this.props.isOpen !== undefined && this.props.isOpen !== this.state.isOpen) {
|
|
107
|
-
// using props to handle isOpen, update state
|
|
108
|
-
isOpen = this.props.isOpen;
|
|
109
|
-
}
|
|
110
|
-
else if (this.props.isOpen === undefined && prevState.isOpen !== this.state.isOpen) {
|
|
111
|
-
// using state only to handle isOpen
|
|
112
|
-
isOpen = this.state.isOpen;
|
|
113
|
-
}
|
|
114
|
-
if (isOpen === undefined) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
if (isOpen) {
|
|
118
|
-
this.onOpen();
|
|
119
|
-
}
|
|
120
|
-
this.setState({
|
|
121
|
-
isOpen: isOpen
|
|
122
|
-
});
|
|
123
|
-
};
|
|
124
|
-
FullscreenModalComponent.prototype.render = function () {
|
|
125
|
-
var contentLabel = this.props.contentLabel;
|
|
126
|
-
var isOpen = this.state.isOpen;
|
|
127
|
-
return (react_1.default.createElement(react_modal_1.default, { isOpen: isOpen, contentLabel: contentLabel, style: {
|
|
128
|
-
content: {
|
|
129
|
-
position: 'absolute',
|
|
130
|
-
top: 0,
|
|
131
|
-
left: 0,
|
|
132
|
-
right: 0,
|
|
133
|
-
bottom: 0,
|
|
134
|
-
overflow: 'hidden',
|
|
135
|
-
padding: 0,
|
|
136
|
-
border: 'none',
|
|
137
|
-
backgroundColor: 'white'
|
|
138
|
-
},
|
|
139
|
-
overlay: {
|
|
140
|
-
position: 'absolute',
|
|
141
|
-
top: 0,
|
|
142
|
-
left: 0,
|
|
143
|
-
right: 0,
|
|
144
|
-
bottom: 0,
|
|
145
|
-
zIndex: 2000
|
|
146
|
-
}
|
|
147
|
-
}, shouldCloseOnOverlayClick: false },
|
|
148
|
-
react_1.default.createElement(WrappedComponent, __assign({}, this.props, { closeModal: this.closeModal }))));
|
|
149
|
-
};
|
|
150
|
-
return FullscreenModalComponent;
|
|
151
|
-
}(react_1.Component));
|
|
152
|
-
}
|
|
153
|
-
exports.configureFullscreenModalComponent = configureFullscreenModalComponent;
|
|
154
|
-
/**
|
|
155
|
-
* HOC that contains a `ReactModal` which can be auto managed or managed with props,
|
|
156
|
-
* adds fullscreen styles, and coordinates modal state in redux.
|
|
157
|
-
*
|
|
158
|
-
* Uses `connectedModalComponent`.
|
|
159
|
-
*
|
|
160
|
-
* NOTE: Please add the following css
|
|
161
|
-
*
|
|
162
|
-
* .ReactModal__Body--open {
|
|
163
|
-
* overflow: hidden;
|
|
164
|
-
* }
|
|
165
|
-
*
|
|
166
|
-
* @param WrappedComponent The component to wrap.
|
|
167
|
-
*/
|
|
168
|
-
function fullscreenModalComponent(WrappedComponent) {
|
|
169
|
-
var component = configureFullscreenModalComponent(WrappedComponent);
|
|
170
|
-
return ConnectedModalComponent_1.connectedModalComponent(component);
|
|
171
|
-
}
|
|
172
|
-
exports.fullscreenModalComponent = fullscreenModalComponent;
|
|
173
|
-
exports.default = fullscreenModalComponent;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
var __assign = (this && this.__assign) || function () {
|
|
16
|
+
__assign = Object.assign || function(t) {
|
|
17
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
18
|
+
s = arguments[i];
|
|
19
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
20
|
+
t[p] = s[p];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
return __assign.apply(this, arguments);
|
|
25
|
+
};
|
|
26
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
27
|
+
if (k2 === undefined) k2 = k;
|
|
28
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
29
|
+
}) : (function(o, m, k, k2) {
|
|
30
|
+
if (k2 === undefined) k2 = k;
|
|
31
|
+
o[k2] = m[k];
|
|
32
|
+
}));
|
|
33
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
34
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
35
|
+
}) : function(o, v) {
|
|
36
|
+
o["default"] = v;
|
|
37
|
+
});
|
|
38
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
|
+
};
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
exports.fullscreenModalComponent = exports.configureFullscreenModalComponent = void 0;
|
|
50
|
+
var react_1 = __importStar(require("react"));
|
|
51
|
+
var react_modal_1 = __importDefault(require("react-modal"));
|
|
52
|
+
var ConnectedModalComponent_1 = require("./ConnectedModalComponent");
|
|
53
|
+
/**
|
|
54
|
+
* HOC that manages a `ReactModal`, adds inline css, and
|
|
55
|
+
* coordinates modal state in redux using.
|
|
56
|
+
*
|
|
57
|
+
* NOTE: Meant for testing. Should be wrapped in `connectedModalComponent` normally.
|
|
58
|
+
*
|
|
59
|
+
* @param WrappedComponent The component to wrap.
|
|
60
|
+
*/
|
|
61
|
+
function configureFullscreenModalComponent(WrappedComponent) {
|
|
62
|
+
return /** @class */ (function (_super) {
|
|
63
|
+
__extends(FullscreenModalComponent, _super);
|
|
64
|
+
function FullscreenModalComponent(props) {
|
|
65
|
+
var _this = _super.call(this, props) || this;
|
|
66
|
+
_this.disableScroll = function (e) {
|
|
67
|
+
document.documentElement.scrollTop = 0;
|
|
68
|
+
e.preventDefault();
|
|
69
|
+
return false;
|
|
70
|
+
};
|
|
71
|
+
_this.onOpen = function () {
|
|
72
|
+
document.documentElement.addEventListener('touchmove', _this.disableScroll);
|
|
73
|
+
_this.props.onEntering();
|
|
74
|
+
};
|
|
75
|
+
_this.closeModal = function () {
|
|
76
|
+
document.documentElement.removeEventListener('touchmove', _this.disableScroll);
|
|
77
|
+
if (_this.props.closeModal) {
|
|
78
|
+
_this.props.closeModal();
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
_this.setState({
|
|
82
|
+
isOpen: false
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
_this.state = {
|
|
86
|
+
isOpen: props.isOpen === undefined ? true : props.isOpen
|
|
87
|
+
};
|
|
88
|
+
// https://github.com/reactjs/react-modal#app-element
|
|
89
|
+
// Accessibility fixed when reading the content in the modal
|
|
90
|
+
if (document.getElementById('root')) {
|
|
91
|
+
react_modal_1.default.setAppElement('#root');
|
|
92
|
+
}
|
|
93
|
+
return _this;
|
|
94
|
+
}
|
|
95
|
+
FullscreenModalComponent.prototype.componentDidMount = function () {
|
|
96
|
+
var isOpen = this.state.isOpen;
|
|
97
|
+
if (isOpen) {
|
|
98
|
+
this.onOpen();
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
FullscreenModalComponent.prototype.componentWillUnmount = function () {
|
|
102
|
+
document.documentElement.removeEventListener('touchmove', this.disableScroll);
|
|
103
|
+
};
|
|
104
|
+
FullscreenModalComponent.prototype.componentDidUpdate = function (prevProps, prevState) {
|
|
105
|
+
var isOpen;
|
|
106
|
+
if (this.props.isOpen !== undefined && this.props.isOpen !== this.state.isOpen) {
|
|
107
|
+
// using props to handle isOpen, update state
|
|
108
|
+
isOpen = this.props.isOpen;
|
|
109
|
+
}
|
|
110
|
+
else if (this.props.isOpen === undefined && prevState.isOpen !== this.state.isOpen) {
|
|
111
|
+
// using state only to handle isOpen
|
|
112
|
+
isOpen = this.state.isOpen;
|
|
113
|
+
}
|
|
114
|
+
if (isOpen === undefined) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
if (isOpen) {
|
|
118
|
+
this.onOpen();
|
|
119
|
+
}
|
|
120
|
+
this.setState({
|
|
121
|
+
isOpen: isOpen
|
|
122
|
+
});
|
|
123
|
+
};
|
|
124
|
+
FullscreenModalComponent.prototype.render = function () {
|
|
125
|
+
var contentLabel = this.props.contentLabel;
|
|
126
|
+
var isOpen = this.state.isOpen;
|
|
127
|
+
return (react_1.default.createElement(react_modal_1.default, { isOpen: isOpen, contentLabel: contentLabel, style: {
|
|
128
|
+
content: {
|
|
129
|
+
position: 'absolute',
|
|
130
|
+
top: 0,
|
|
131
|
+
left: 0,
|
|
132
|
+
right: 0,
|
|
133
|
+
bottom: 0,
|
|
134
|
+
overflow: 'hidden',
|
|
135
|
+
padding: 0,
|
|
136
|
+
border: 'none',
|
|
137
|
+
backgroundColor: 'white'
|
|
138
|
+
},
|
|
139
|
+
overlay: {
|
|
140
|
+
position: 'absolute',
|
|
141
|
+
top: 0,
|
|
142
|
+
left: 0,
|
|
143
|
+
right: 0,
|
|
144
|
+
bottom: 0,
|
|
145
|
+
zIndex: 2000
|
|
146
|
+
}
|
|
147
|
+
}, shouldCloseOnOverlayClick: false },
|
|
148
|
+
react_1.default.createElement(WrappedComponent, __assign({}, this.props, { closeModal: this.closeModal }))));
|
|
149
|
+
};
|
|
150
|
+
return FullscreenModalComponent;
|
|
151
|
+
}(react_1.Component));
|
|
152
|
+
}
|
|
153
|
+
exports.configureFullscreenModalComponent = configureFullscreenModalComponent;
|
|
154
|
+
/**
|
|
155
|
+
* HOC that contains a `ReactModal` which can be auto managed or managed with props,
|
|
156
|
+
* adds fullscreen styles, and coordinates modal state in redux.
|
|
157
|
+
*
|
|
158
|
+
* Uses `connectedModalComponent`.
|
|
159
|
+
*
|
|
160
|
+
* NOTE: Please add the following css
|
|
161
|
+
*
|
|
162
|
+
* .ReactModal__Body--open {
|
|
163
|
+
* overflow: hidden;
|
|
164
|
+
* }
|
|
165
|
+
*
|
|
166
|
+
* @param WrappedComponent The component to wrap.
|
|
167
|
+
*/
|
|
168
|
+
function fullscreenModalComponent(WrappedComponent) {
|
|
169
|
+
var component = configureFullscreenModalComponent(WrappedComponent);
|
|
170
|
+
return ConnectedModalComponent_1.connectedModalComponent(component);
|
|
171
|
+
}
|
|
172
|
+
exports.fullscreenModalComponent = fullscreenModalComponent;
|
|
173
|
+
exports.default = fullscreenModalComponent;
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { ComponentClass, ComponentType } from 'react';
|
|
2
|
-
import { Model } from 'studiokit-net-js';
|
|
3
|
-
import { BaseReduxState } from '../../types/BaseReduxState';
|
|
4
|
-
import { ActivityOptions } from '../../utils/baseActivity';
|
|
5
|
-
import { ActivityRequiredStateProps } from './ActivityRequiredComponent';
|
|
6
|
-
import { CollectionItemComponentWrappedProps } from './CollectionItemComponent';
|
|
7
|
-
/**
|
|
8
|
-
* An entity that has a `groupId`
|
|
9
|
-
*/
|
|
10
|
-
export interface GroupRelatedEntity extends Model {
|
|
11
|
-
groupId: number;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
|
|
15
|
-
* checking whether the user has the passed `requiredActivity` for the group referenced by
|
|
16
|
-
* `ownProps.model.groupId`, if any.
|
|
17
|
-
*
|
|
18
|
-
* @param {function} accessPredicate A predicate accepting a required activity and an optional entity and/or
|
|
19
|
-
* userInfo object
|
|
20
|
-
* @param {string} requiredActivity The required activity which is passed to the predicate for evaluation
|
|
21
|
-
*/
|
|
22
|
-
export declare const configureMapStateToProps: <TOwnProps extends CollectionItemComponentWrappedProps<GroupRelatedEntity>>(accessPredicate: (requiredActivity: string, options: ActivityOptions) => boolean, requiredActivity: string) => (state: BaseReduxState, ownProps?: TOwnProps | undefined) => ActivityRequiredStateProps;
|
|
23
|
-
/**
|
|
24
|
-
* This HOC ensures that the wrapped component is only rendered if the group referenced by
|
|
25
|
-
* `props.model.groupId`, if any, satisfies the `accessPredicate` for the `requiredActivity`.
|
|
26
|
-
*
|
|
27
|
-
* @see ActivityRequiredComponent
|
|
28
|
-
*/
|
|
29
|
-
export default function groupActivityRequiredComponent<TOwnProps extends CollectionItemComponentWrappedProps<GroupRelatedEntity>>(WrappedComponent: ComponentType<TOwnProps>, accessPredicate: (requiredActivity: string, options: any) => boolean, requiredActivity: string): ComponentClass<TOwnProps>;
|
|
1
|
+
import { ComponentClass, ComponentType } from 'react';
|
|
2
|
+
import { Model } from 'studiokit-net-js';
|
|
3
|
+
import { BaseReduxState } from '../../types/BaseReduxState';
|
|
4
|
+
import { ActivityOptions } from '../../utils/baseActivity';
|
|
5
|
+
import { ActivityRequiredStateProps } from './ActivityRequiredComponent';
|
|
6
|
+
import { CollectionItemComponentWrappedProps } from './CollectionItemComponent';
|
|
7
|
+
/**
|
|
8
|
+
* An entity that has a `groupId`
|
|
9
|
+
*/
|
|
10
|
+
export interface GroupRelatedEntity extends Model {
|
|
11
|
+
groupId: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
|
|
15
|
+
* checking whether the user has the passed `requiredActivity` for the group referenced by
|
|
16
|
+
* `ownProps.model.groupId`, if any.
|
|
17
|
+
*
|
|
18
|
+
* @param {function} accessPredicate A predicate accepting a required activity and an optional entity and/or
|
|
19
|
+
* userInfo object
|
|
20
|
+
* @param {string} requiredActivity The required activity which is passed to the predicate for evaluation
|
|
21
|
+
*/
|
|
22
|
+
export declare const configureMapStateToProps: <TOwnProps extends CollectionItemComponentWrappedProps<GroupRelatedEntity>>(accessPredicate: (requiredActivity: string, options: ActivityOptions) => boolean, requiredActivity: string) => (state: BaseReduxState, ownProps?: TOwnProps | undefined) => ActivityRequiredStateProps;
|
|
23
|
+
/**
|
|
24
|
+
* This HOC ensures that the wrapped component is only rendered if the group referenced by
|
|
25
|
+
* `props.model.groupId`, if any, satisfies the `accessPredicate` for the `requiredActivity`.
|
|
26
|
+
*
|
|
27
|
+
* @see ActivityRequiredComponent
|
|
28
|
+
*/
|
|
29
|
+
export default function groupActivityRequiredComponent<TOwnProps extends CollectionItemComponentWrappedProps<GroupRelatedEntity>>(WrappedComponent: ComponentType<TOwnProps>, accessPredicate: (requiredActivity: string, options: any) => boolean, requiredActivity: string): ComponentClass<TOwnProps>;
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.configureMapStateToProps = void 0;
|
|
15
|
-
var react_redux_1 = require("react-redux");
|
|
16
|
-
var baseActivity_1 = require("../../utils/baseActivity");
|
|
17
|
-
var ActivityRequiredComponent_1 = require("./ActivityRequiredComponent");
|
|
18
|
-
/**
|
|
19
|
-
* Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
|
|
20
|
-
* checking whether the user has the passed `requiredActivity` for the group referenced by
|
|
21
|
-
* `ownProps.model.groupId`, if any.
|
|
22
|
-
*
|
|
23
|
-
* @param {function} accessPredicate A predicate accepting a required activity and an optional entity and/or
|
|
24
|
-
* userInfo object
|
|
25
|
-
* @param {string} requiredActivity The required activity which is passed to the predicate for evaluation
|
|
26
|
-
*/
|
|
27
|
-
var configureMapStateToProps = function (accessPredicate, requiredActivity) { return function (state, ownProps) {
|
|
28
|
-
var entity = ownProps && ownProps.model && state.models && state.models.groups
|
|
29
|
-
? state.models.groups[ownProps.model.groupId]
|
|
30
|
-
: undefined;
|
|
31
|
-
var options = __assign(__assign({}, baseActivity_1.defaultOptions(state, ownProps)), { entity: entity });
|
|
32
|
-
return {
|
|
33
|
-
hasAccess: accessPredicate(requiredActivity, options)
|
|
34
|
-
};
|
|
35
|
-
}; };
|
|
36
|
-
exports.configureMapStateToProps = configureMapStateToProps;
|
|
37
|
-
/**
|
|
38
|
-
* This HOC ensures that the wrapped component is only rendered if the group referenced by
|
|
39
|
-
* `props.model.groupId`, if any, satisfies the `accessPredicate` for the `requiredActivity`.
|
|
40
|
-
*
|
|
41
|
-
* @see ActivityRequiredComponent
|
|
42
|
-
*/
|
|
43
|
-
function groupActivityRequiredComponent(WrappedComponent, accessPredicate, requiredActivity) {
|
|
44
|
-
var ActivityRequiredComponent = ActivityRequiredComponent_1.configureActivityRequiredComponent(WrappedComponent);
|
|
45
|
-
var mapStateToProps = exports.configureMapStateToProps(accessPredicate, requiredActivity);
|
|
46
|
-
// @ts-ignore: could not match inferred type from the `connect` HOC
|
|
47
|
-
return react_redux_1.connect(mapStateToProps)(ActivityRequiredComponent);
|
|
48
|
-
}
|
|
49
|
-
exports.default = groupActivityRequiredComponent;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.configureMapStateToProps = void 0;
|
|
15
|
+
var react_redux_1 = require("react-redux");
|
|
16
|
+
var baseActivity_1 = require("../../utils/baseActivity");
|
|
17
|
+
var ActivityRequiredComponent_1 = require("./ActivityRequiredComponent");
|
|
18
|
+
/**
|
|
19
|
+
* Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
|
|
20
|
+
* checking whether the user has the passed `requiredActivity` for the group referenced by
|
|
21
|
+
* `ownProps.model.groupId`, if any.
|
|
22
|
+
*
|
|
23
|
+
* @param {function} accessPredicate A predicate accepting a required activity and an optional entity and/or
|
|
24
|
+
* userInfo object
|
|
25
|
+
* @param {string} requiredActivity The required activity which is passed to the predicate for evaluation
|
|
26
|
+
*/
|
|
27
|
+
var configureMapStateToProps = function (accessPredicate, requiredActivity) { return function (state, ownProps) {
|
|
28
|
+
var entity = ownProps && ownProps.model && state.models && state.models.groups
|
|
29
|
+
? state.models.groups[ownProps.model.groupId]
|
|
30
|
+
: undefined;
|
|
31
|
+
var options = __assign(__assign({}, baseActivity_1.defaultOptions(state, ownProps)), { entity: entity });
|
|
32
|
+
return {
|
|
33
|
+
hasAccess: accessPredicate(requiredActivity, options)
|
|
34
|
+
};
|
|
35
|
+
}; };
|
|
36
|
+
exports.configureMapStateToProps = configureMapStateToProps;
|
|
37
|
+
/**
|
|
38
|
+
* This HOC ensures that the wrapped component is only rendered if the group referenced by
|
|
39
|
+
* `props.model.groupId`, if any, satisfies the `accessPredicate` for the `requiredActivity`.
|
|
40
|
+
*
|
|
41
|
+
* @see ActivityRequiredComponent
|
|
42
|
+
*/
|
|
43
|
+
function groupActivityRequiredComponent(WrappedComponent, accessPredicate, requiredActivity) {
|
|
44
|
+
var ActivityRequiredComponent = ActivityRequiredComponent_1.configureActivityRequiredComponent(WrappedComponent);
|
|
45
|
+
var mapStateToProps = exports.configureMapStateToProps(accessPredicate, requiredActivity);
|
|
46
|
+
// @ts-ignore: could not match inferred type from the `connect` HOC
|
|
47
|
+
return react_redux_1.connect(mapStateToProps)(ActivityRequiredComponent);
|
|
48
|
+
}
|
|
49
|
+
exports.default = groupActivityRequiredComponent;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { ComponentClass, ComponentType } from 'react';
|
|
2
|
-
export interface GuidComponentWrappedProps {
|
|
3
|
-
guid: string;
|
|
4
|
-
}
|
|
5
|
-
export interface GuidComponentState {
|
|
6
|
-
guid: string;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* HOC that provides a `guid` prop to the `WrappedComponent`.
|
|
10
|
-
*
|
|
11
|
-
* @param WrappedComponent The component to wrap.
|
|
12
|
-
*/
|
|
13
|
-
export declare function guidComponent<TOwnProps extends {}>(WrappedComponent: ComponentType<TOwnProps & GuidComponentWrappedProps>): ComponentClass<TOwnProps>;
|
|
14
|
-
export default guidComponent;
|
|
1
|
+
import { ComponentClass, ComponentType } from 'react';
|
|
2
|
+
export interface GuidComponentWrappedProps {
|
|
3
|
+
guid: string;
|
|
4
|
+
}
|
|
5
|
+
export interface GuidComponentState {
|
|
6
|
+
guid: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* HOC that provides a `guid` prop to the `WrappedComponent`.
|
|
10
|
+
*
|
|
11
|
+
* @param WrappedComponent The component to wrap.
|
|
12
|
+
*/
|
|
13
|
+
export declare function guidComponent<TOwnProps extends {}>(WrappedComponent: ComponentType<TOwnProps & GuidComponentWrappedProps>): ComponentClass<TOwnProps>;
|
|
14
|
+
export default guidComponent;
|