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,69 +1,69 @@
|
|
|
1
|
-
import React, { ComponentType } from 'react';
|
|
2
|
-
import { Model } from 'studiokit-net-js';
|
|
3
|
-
import { CollectionComponentWrappedProps } from './CollectionComponent';
|
|
4
|
-
import { CollectionItemComponentWrappedProps } from './CollectionItemComponent';
|
|
5
|
-
/**
|
|
6
|
-
* This component exists as a child to CollectionItemComponent to
|
|
7
|
-
* redirect the user to a 404/500 page if errors occur while fetching data.
|
|
8
|
-
*
|
|
9
|
-
* Nested CollectionItemComponent instances should not
|
|
10
|
-
* use this - they’ll want to handle errors according to the need for
|
|
11
|
-
* alerting the user in the parent.
|
|
12
|
-
*
|
|
13
|
-
* @export
|
|
14
|
-
* @param WrappedComponent Wrapped component that depends on the model. (Usually AsyncComponent)
|
|
15
|
-
* @returns A wrapped component or redirects
|
|
16
|
-
*/
|
|
17
|
-
export default function modelErrorRedirectComponent<TOwnProps extends CollectionItemComponentWrappedProps<Model> | CollectionComponentWrappedProps<Model>>(WrappedComponent: ComponentType<TOwnProps>): {
|
|
18
|
-
new (props: TOwnProps | Readonly<TOwnProps>): {
|
|
19
|
-
render(): JSX.Element;
|
|
20
|
-
context: any;
|
|
21
|
-
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<TOwnProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
22
|
-
forceUpdate(callback?: (() => void) | undefined): void;
|
|
23
|
-
readonly props: Readonly<TOwnProps> & Readonly<{
|
|
24
|
-
children?: React.ReactNode;
|
|
25
|
-
}>;
|
|
26
|
-
state: Readonly<{}>;
|
|
27
|
-
refs: {
|
|
28
|
-
[key: string]: React.ReactInstance;
|
|
29
|
-
};
|
|
30
|
-
componentDidMount?(): void;
|
|
31
|
-
shouldComponentUpdate?(nextProps: Readonly<TOwnProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
32
|
-
componentWillUnmount?(): void;
|
|
33
|
-
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
34
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<TOwnProps>, prevState: Readonly<{}>): any;
|
|
35
|
-
componentDidUpdate?(prevProps: Readonly<TOwnProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
36
|
-
componentWillMount?(): void;
|
|
37
|
-
UNSAFE_componentWillMount?(): void;
|
|
38
|
-
componentWillReceiveProps?(nextProps: Readonly<TOwnProps>, nextContext: any): void;
|
|
39
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<TOwnProps>, nextContext: any): void;
|
|
40
|
-
componentWillUpdate?(nextProps: Readonly<TOwnProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
41
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<TOwnProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
42
|
-
};
|
|
43
|
-
new (props: TOwnProps, context: any): {
|
|
44
|
-
render(): JSX.Element;
|
|
45
|
-
context: any;
|
|
46
|
-
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<TOwnProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
47
|
-
forceUpdate(callback?: (() => void) | undefined): void;
|
|
48
|
-
readonly props: Readonly<TOwnProps> & Readonly<{
|
|
49
|
-
children?: React.ReactNode;
|
|
50
|
-
}>;
|
|
51
|
-
state: Readonly<{}>;
|
|
52
|
-
refs: {
|
|
53
|
-
[key: string]: React.ReactInstance;
|
|
54
|
-
};
|
|
55
|
-
componentDidMount?(): void;
|
|
56
|
-
shouldComponentUpdate?(nextProps: Readonly<TOwnProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
57
|
-
componentWillUnmount?(): void;
|
|
58
|
-
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
59
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<TOwnProps>, prevState: Readonly<{}>): any;
|
|
60
|
-
componentDidUpdate?(prevProps: Readonly<TOwnProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
61
|
-
componentWillMount?(): void;
|
|
62
|
-
UNSAFE_componentWillMount?(): void;
|
|
63
|
-
componentWillReceiveProps?(nextProps: Readonly<TOwnProps>, nextContext: any): void;
|
|
64
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<TOwnProps>, nextContext: any): void;
|
|
65
|
-
componentWillUpdate?(nextProps: Readonly<TOwnProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
66
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<TOwnProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
67
|
-
};
|
|
68
|
-
contextType?: React.Context<any> | undefined;
|
|
69
|
-
};
|
|
1
|
+
import React, { ComponentType } from 'react';
|
|
2
|
+
import { Model } from 'studiokit-net-js';
|
|
3
|
+
import { CollectionComponentWrappedProps } from './CollectionComponent';
|
|
4
|
+
import { CollectionItemComponentWrappedProps } from './CollectionItemComponent';
|
|
5
|
+
/**
|
|
6
|
+
* This component exists as a child to CollectionItemComponent to
|
|
7
|
+
* redirect the user to a 404/500 page if errors occur while fetching data.
|
|
8
|
+
*
|
|
9
|
+
* Nested CollectionItemComponent instances should not
|
|
10
|
+
* use this - they’ll want to handle errors according to the need for
|
|
11
|
+
* alerting the user in the parent.
|
|
12
|
+
*
|
|
13
|
+
* @export
|
|
14
|
+
* @param WrappedComponent Wrapped component that depends on the model. (Usually AsyncComponent)
|
|
15
|
+
* @returns A wrapped component or redirects
|
|
16
|
+
*/
|
|
17
|
+
export default function modelErrorRedirectComponent<TOwnProps extends CollectionItemComponentWrappedProps<Model> | CollectionComponentWrappedProps<Model>>(WrappedComponent: ComponentType<TOwnProps>): {
|
|
18
|
+
new (props: TOwnProps | Readonly<TOwnProps>): {
|
|
19
|
+
render(): JSX.Element;
|
|
20
|
+
context: any;
|
|
21
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<TOwnProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
22
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
|
23
|
+
readonly props: Readonly<TOwnProps> & Readonly<{
|
|
24
|
+
children?: React.ReactNode;
|
|
25
|
+
}>;
|
|
26
|
+
state: Readonly<{}>;
|
|
27
|
+
refs: {
|
|
28
|
+
[key: string]: React.ReactInstance;
|
|
29
|
+
};
|
|
30
|
+
componentDidMount?(): void;
|
|
31
|
+
shouldComponentUpdate?(nextProps: Readonly<TOwnProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
32
|
+
componentWillUnmount?(): void;
|
|
33
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
34
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<TOwnProps>, prevState: Readonly<{}>): any;
|
|
35
|
+
componentDidUpdate?(prevProps: Readonly<TOwnProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
36
|
+
componentWillMount?(): void;
|
|
37
|
+
UNSAFE_componentWillMount?(): void;
|
|
38
|
+
componentWillReceiveProps?(nextProps: Readonly<TOwnProps>, nextContext: any): void;
|
|
39
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<TOwnProps>, nextContext: any): void;
|
|
40
|
+
componentWillUpdate?(nextProps: Readonly<TOwnProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
41
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<TOwnProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
42
|
+
};
|
|
43
|
+
new (props: TOwnProps, context: any): {
|
|
44
|
+
render(): JSX.Element;
|
|
45
|
+
context: any;
|
|
46
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<TOwnProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
47
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
|
48
|
+
readonly props: Readonly<TOwnProps> & Readonly<{
|
|
49
|
+
children?: React.ReactNode;
|
|
50
|
+
}>;
|
|
51
|
+
state: Readonly<{}>;
|
|
52
|
+
refs: {
|
|
53
|
+
[key: string]: React.ReactInstance;
|
|
54
|
+
};
|
|
55
|
+
componentDidMount?(): void;
|
|
56
|
+
shouldComponentUpdate?(nextProps: Readonly<TOwnProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
57
|
+
componentWillUnmount?(): void;
|
|
58
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
59
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<TOwnProps>, prevState: Readonly<{}>): any;
|
|
60
|
+
componentDidUpdate?(prevProps: Readonly<TOwnProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
61
|
+
componentWillMount?(): void;
|
|
62
|
+
UNSAFE_componentWillMount?(): void;
|
|
63
|
+
componentWillReceiveProps?(nextProps: Readonly<TOwnProps>, nextContext: any): void;
|
|
64
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<TOwnProps>, nextContext: any): void;
|
|
65
|
+
componentWillUpdate?(nextProps: Readonly<TOwnProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
66
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<TOwnProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
67
|
+
};
|
|
68
|
+
contextType?: React.Context<any> | undefined;
|
|
69
|
+
};
|
|
@@ -1,101 +1,101 @@
|
|
|
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
|
-
var react_1 = __importStar(require("react"));
|
|
50
|
-
var react_router_dom_1 = require("react-router-dom");
|
|
51
|
-
var modelStatus_1 = __importDefault(require("../../constants/modelStatus"));
|
|
52
|
-
/**
|
|
53
|
-
* This component exists as a child to CollectionItemComponent to
|
|
54
|
-
* redirect the user to a 404/500 page if errors occur while fetching data.
|
|
55
|
-
*
|
|
56
|
-
* Nested CollectionItemComponent instances should not
|
|
57
|
-
* use this - they’ll want to handle errors according to the need for
|
|
58
|
-
* alerting the user in the parent.
|
|
59
|
-
*
|
|
60
|
-
* @export
|
|
61
|
-
* @param WrappedComponent Wrapped component that depends on the model. (Usually AsyncComponent)
|
|
62
|
-
* @returns A wrapped component or redirects
|
|
63
|
-
*/
|
|
64
|
-
function modelErrorRedirectComponent(WrappedComponent) {
|
|
65
|
-
return /** @class */ (function (_super) {
|
|
66
|
-
__extends(ModelErrorRedirectComponent, _super);
|
|
67
|
-
function ModelErrorRedirectComponent() {
|
|
68
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
69
|
-
}
|
|
70
|
-
ModelErrorRedirectComponent.prototype.render = function () {
|
|
71
|
-
var _a = this.props, model = _a.model, modelStatus = _a.modelStatus, previousModelStatus = _a.previousModelStatus;
|
|
72
|
-
var notFoundRoute = previousModelStatus === modelStatus_1.default.UNINITIALIZED &&
|
|
73
|
-
modelStatus === modelStatus_1.default.ERROR &&
|
|
74
|
-
model._metadata &&
|
|
75
|
-
model._metadata.hasError &&
|
|
76
|
-
model._metadata.lastFetchErrorData &&
|
|
77
|
-
model._metadata.lastFetchErrorData.code === 404;
|
|
78
|
-
var errorRoute = previousModelStatus === modelStatus_1.default.UNINITIALIZED &&
|
|
79
|
-
modelStatus === modelStatus_1.default.ERROR &&
|
|
80
|
-
model._metadata &&
|
|
81
|
-
model._metadata.hasError &&
|
|
82
|
-
model._metadata.lastFetchErrorData &&
|
|
83
|
-
model._metadata.lastFetchErrorData.code === 500;
|
|
84
|
-
if (notFoundRoute) {
|
|
85
|
-
var pathname = window.location.pathname;
|
|
86
|
-
return (react_1.default.createElement(react_router_dom_1.Redirect, { to: {
|
|
87
|
-
pathname: '/not-found',
|
|
88
|
-
search: "?pathname=" + pathname
|
|
89
|
-
} }));
|
|
90
|
-
}
|
|
91
|
-
if (errorRoute) {
|
|
92
|
-
return (react_1.default.createElement(react_router_dom_1.Redirect, { to: {
|
|
93
|
-
pathname: '/error'
|
|
94
|
-
} }));
|
|
95
|
-
}
|
|
96
|
-
return react_1.default.createElement(WrappedComponent, __assign({}, this.props));
|
|
97
|
-
};
|
|
98
|
-
return ModelErrorRedirectComponent;
|
|
99
|
-
}(react_1.Component));
|
|
100
|
-
}
|
|
101
|
-
exports.default = modelErrorRedirectComponent;
|
|
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
|
+
var react_1 = __importStar(require("react"));
|
|
50
|
+
var react_router_dom_1 = require("react-router-dom");
|
|
51
|
+
var modelStatus_1 = __importDefault(require("../../constants/modelStatus"));
|
|
52
|
+
/**
|
|
53
|
+
* This component exists as a child to CollectionItemComponent to
|
|
54
|
+
* redirect the user to a 404/500 page if errors occur while fetching data.
|
|
55
|
+
*
|
|
56
|
+
* Nested CollectionItemComponent instances should not
|
|
57
|
+
* use this - they’ll want to handle errors according to the need for
|
|
58
|
+
* alerting the user in the parent.
|
|
59
|
+
*
|
|
60
|
+
* @export
|
|
61
|
+
* @param WrappedComponent Wrapped component that depends on the model. (Usually AsyncComponent)
|
|
62
|
+
* @returns A wrapped component or redirects
|
|
63
|
+
*/
|
|
64
|
+
function modelErrorRedirectComponent(WrappedComponent) {
|
|
65
|
+
return /** @class */ (function (_super) {
|
|
66
|
+
__extends(ModelErrorRedirectComponent, _super);
|
|
67
|
+
function ModelErrorRedirectComponent() {
|
|
68
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
69
|
+
}
|
|
70
|
+
ModelErrorRedirectComponent.prototype.render = function () {
|
|
71
|
+
var _a = this.props, model = _a.model, modelStatus = _a.modelStatus, previousModelStatus = _a.previousModelStatus;
|
|
72
|
+
var notFoundRoute = previousModelStatus === modelStatus_1.default.UNINITIALIZED &&
|
|
73
|
+
modelStatus === modelStatus_1.default.ERROR &&
|
|
74
|
+
model._metadata &&
|
|
75
|
+
model._metadata.hasError &&
|
|
76
|
+
model._metadata.lastFetchErrorData &&
|
|
77
|
+
model._metadata.lastFetchErrorData.code === 404;
|
|
78
|
+
var errorRoute = previousModelStatus === modelStatus_1.default.UNINITIALIZED &&
|
|
79
|
+
modelStatus === modelStatus_1.default.ERROR &&
|
|
80
|
+
model._metadata &&
|
|
81
|
+
model._metadata.hasError &&
|
|
82
|
+
model._metadata.lastFetchErrorData &&
|
|
83
|
+
model._metadata.lastFetchErrorData.code === 500;
|
|
84
|
+
if (notFoundRoute) {
|
|
85
|
+
var pathname = window.location.pathname;
|
|
86
|
+
return (react_1.default.createElement(react_router_dom_1.Redirect, { to: {
|
|
87
|
+
pathname: '/not-found',
|
|
88
|
+
search: "?pathname=" + pathname
|
|
89
|
+
} }));
|
|
90
|
+
}
|
|
91
|
+
if (errorRoute) {
|
|
92
|
+
return (react_1.default.createElement(react_router_dom_1.Redirect, { to: {
|
|
93
|
+
pathname: '/error'
|
|
94
|
+
} }));
|
|
95
|
+
}
|
|
96
|
+
return react_1.default.createElement(WrappedComponent, __assign({}, this.props));
|
|
97
|
+
};
|
|
98
|
+
return ModelErrorRedirectComponent;
|
|
99
|
+
}(react_1.Component));
|
|
100
|
+
}
|
|
101
|
+
exports.default = modelErrorRedirectComponent;
|
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
import React, { ComponentClass, ComponentType } from 'react';
|
|
2
|
-
import { Dispatch } from 'redux';
|
|
3
|
-
import { BaseReduxState, Search } from '../../types';
|
|
4
|
-
export interface SearchPersistorProps {
|
|
5
|
-
persistSearch: (search?: Search) => void;
|
|
6
|
-
persistedSearch: Search;
|
|
7
|
-
}
|
|
8
|
-
interface SearchPersistorState {
|
|
9
|
-
search: Search | undefined;
|
|
10
|
-
defaultSearch: Search | undefined;
|
|
11
|
-
}
|
|
12
|
-
export interface SearchPersistorMethods {
|
|
13
|
-
setSearchDefaults: (doSearch: () => void, search: Search) => void;
|
|
14
|
-
updateAndPersistSearch: (search?: Search, callback?: () => void) => void;
|
|
15
|
-
handleSearchClick: () => void;
|
|
16
|
-
handleChangeTab: (selectedTab: number) => void;
|
|
17
|
-
handleKeywordsChange: (event: any) => void;
|
|
18
|
-
handleKeywordsKeyDown: (event: any) => void;
|
|
19
|
-
handleQueryAllChange: (event: any) => void;
|
|
20
|
-
resetSearch: () => void;
|
|
21
|
-
}
|
|
22
|
-
export interface SearchPersistorWrappedProps extends SearchPersistorProps, SearchPersistorMethods {
|
|
23
|
-
search?: Search;
|
|
24
|
-
}
|
|
25
|
-
export declare function configureSearchPersistorComponent<TOwnProps extends {}>(WrappedComponent: ComponentType<TOwnProps & SearchPersistorWrappedProps>): {
|
|
26
|
-
new (props: TOwnProps & SearchPersistorProps): {
|
|
27
|
-
doSearch: () => void;
|
|
28
|
-
componentDidMount(): void;
|
|
29
|
-
setSearchDefaults: (doSearch: () => void, search: Search) => void;
|
|
30
|
-
updateAndPersistSearch: (search?: Search | undefined, callback?: (() => void) | undefined) => void;
|
|
31
|
-
handleSearchClick: () => void;
|
|
32
|
-
handleChangeTab: (selectedTab: number) => void;
|
|
33
|
-
handleKeywordsChange: (event: any) => void;
|
|
34
|
-
handleKeywordsKeyDown: (event: any) => void;
|
|
35
|
-
handleQueryAllChange: (event: any) => void;
|
|
36
|
-
resetSearch: () => void;
|
|
37
|
-
render(): JSX.Element;
|
|
38
|
-
context: any;
|
|
39
|
-
setState<K extends "search" | "defaultSearch">(state: SearchPersistorState | ((prevState: Readonly<SearchPersistorState>, props: Readonly<TOwnProps & SearchPersistorProps>) => SearchPersistorState | Pick<SearchPersistorState, K> | null) | Pick<SearchPersistorState, K> | null, callback?: (() => void) | undefined): void;
|
|
40
|
-
forceUpdate(callback?: (() => void) | undefined): void;
|
|
41
|
-
readonly props: Readonly<TOwnProps & SearchPersistorProps> & Readonly<{
|
|
42
|
-
children?: React.ReactNode;
|
|
43
|
-
}>;
|
|
44
|
-
state: Readonly<SearchPersistorState>;
|
|
45
|
-
refs: {
|
|
46
|
-
[key: string]: React.ReactInstance;
|
|
47
|
-
};
|
|
48
|
-
shouldComponentUpdate?(nextProps: Readonly<TOwnProps & SearchPersistorProps>, nextState: Readonly<SearchPersistorState>, nextContext: any): boolean;
|
|
49
|
-
componentWillUnmount?(): void;
|
|
50
|
-
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
51
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<TOwnProps & SearchPersistorProps>, prevState: Readonly<SearchPersistorState>): any;
|
|
52
|
-
componentDidUpdate?(prevProps: Readonly<TOwnProps & SearchPersistorProps>, prevState: Readonly<SearchPersistorState>, snapshot?: any): void;
|
|
53
|
-
componentWillMount?(): void;
|
|
54
|
-
UNSAFE_componentWillMount?(): void;
|
|
55
|
-
componentWillReceiveProps?(nextProps: Readonly<TOwnProps & SearchPersistorProps>, nextContext: any): void;
|
|
56
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<TOwnProps & SearchPersistorProps>, nextContext: any): void;
|
|
57
|
-
componentWillUpdate?(nextProps: Readonly<TOwnProps & SearchPersistorProps>, nextState: Readonly<SearchPersistorState>, nextContext: any): void;
|
|
58
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<TOwnProps & SearchPersistorProps>, nextState: Readonly<SearchPersistorState>, nextContext: any): void;
|
|
59
|
-
};
|
|
60
|
-
contextType?: React.Context<any> | undefined;
|
|
61
|
-
};
|
|
62
|
-
export declare const configureMapStateToProps: (key: string) => (state: BaseReduxState) => SearchPersistorProps;
|
|
63
|
-
export declare const configureMapDispatchToProps: (key: string) => (dispatch: Dispatch) => SearchPersistorProps;
|
|
64
|
-
/**
|
|
65
|
-
* HOC to handle persistence and restoration of "Manage" components search parameters.
|
|
66
|
-
* Note: if you store a search date in a child component, make sure it’s called `date`.
|
|
67
|
-
* Rehydration of dates doesn’t work as expected out of the box with redux-persist.
|
|
68
|
-
* Something more generic might be in order in the future.
|
|
69
|
-
*
|
|
70
|
-
* Note: this also uses the `configureX` pattern of declaration for testability.
|
|
71
|
-
*
|
|
72
|
-
* API for child components:
|
|
73
|
-
* - Call `setSearchDefaults(this.doSearch, this.getDefaultSearch())` in child’s `componentDidMount`
|
|
74
|
-
* - Implement `getDefaultSearch`
|
|
75
|
-
* - Call this HOC’s handlers as needed
|
|
76
|
-
* - Implement any additional child-specific handlers and call this HOC’s `updateAndPersistSearch` in them
|
|
77
|
-
* - Make sure your `doSearch` and `render` handle undefined search props
|
|
78
|
-
* - Avoid intoxicating substances and wash your hands regularly
|
|
79
|
-
*
|
|
80
|
-
* @param WrappedComponent The component to wrap
|
|
81
|
-
* @param key The key under "search" in redux where the component’s search params will be stored
|
|
82
|
-
* @returns The wrapped component, passing down `search` and `persistSearch` as props
|
|
83
|
-
*/
|
|
84
|
-
export default function searchPersistorComponent<TOwnProps extends SearchPersistorWrappedProps>(WrappedComponent: ComponentType<TOwnProps>, key: string): ComponentClass<Omit<TOwnProps, keyof SearchPersistorWrappedProps>>;
|
|
85
|
-
export {};
|
|
1
|
+
import React, { ComponentClass, ComponentType } from 'react';
|
|
2
|
+
import { Dispatch } from 'redux';
|
|
3
|
+
import { BaseReduxState, Search } from '../../types';
|
|
4
|
+
export interface SearchPersistorProps {
|
|
5
|
+
persistSearch: (search?: Search) => void;
|
|
6
|
+
persistedSearch: Search;
|
|
7
|
+
}
|
|
8
|
+
interface SearchPersistorState {
|
|
9
|
+
search: Search | undefined;
|
|
10
|
+
defaultSearch: Search | undefined;
|
|
11
|
+
}
|
|
12
|
+
export interface SearchPersistorMethods {
|
|
13
|
+
setSearchDefaults: (doSearch: () => void, search: Search) => void;
|
|
14
|
+
updateAndPersistSearch: (search?: Search, callback?: () => void) => void;
|
|
15
|
+
handleSearchClick: () => void;
|
|
16
|
+
handleChangeTab: (selectedTab: number) => void;
|
|
17
|
+
handleKeywordsChange: (event: any) => void;
|
|
18
|
+
handleKeywordsKeyDown: (event: any) => void;
|
|
19
|
+
handleQueryAllChange: (event: any) => void;
|
|
20
|
+
resetSearch: () => void;
|
|
21
|
+
}
|
|
22
|
+
export interface SearchPersistorWrappedProps extends SearchPersistorProps, SearchPersistorMethods {
|
|
23
|
+
search?: Search;
|
|
24
|
+
}
|
|
25
|
+
export declare function configureSearchPersistorComponent<TOwnProps extends {}>(WrappedComponent: ComponentType<TOwnProps & SearchPersistorWrappedProps>): {
|
|
26
|
+
new (props: TOwnProps & SearchPersistorProps): {
|
|
27
|
+
doSearch: () => void;
|
|
28
|
+
componentDidMount(): void;
|
|
29
|
+
setSearchDefaults: (doSearch: () => void, search: Search) => void;
|
|
30
|
+
updateAndPersistSearch: (search?: Search | undefined, callback?: (() => void) | undefined) => void;
|
|
31
|
+
handleSearchClick: () => void;
|
|
32
|
+
handleChangeTab: (selectedTab: number) => void;
|
|
33
|
+
handleKeywordsChange: (event: any) => void;
|
|
34
|
+
handleKeywordsKeyDown: (event: any) => void;
|
|
35
|
+
handleQueryAllChange: (event: any) => void;
|
|
36
|
+
resetSearch: () => void;
|
|
37
|
+
render(): JSX.Element;
|
|
38
|
+
context: any;
|
|
39
|
+
setState<K extends "search" | "defaultSearch">(state: SearchPersistorState | ((prevState: Readonly<SearchPersistorState>, props: Readonly<TOwnProps & SearchPersistorProps>) => SearchPersistorState | Pick<SearchPersistorState, K> | null) | Pick<SearchPersistorState, K> | null, callback?: (() => void) | undefined): void;
|
|
40
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
|
41
|
+
readonly props: Readonly<TOwnProps & SearchPersistorProps> & Readonly<{
|
|
42
|
+
children?: React.ReactNode;
|
|
43
|
+
}>;
|
|
44
|
+
state: Readonly<SearchPersistorState>;
|
|
45
|
+
refs: {
|
|
46
|
+
[key: string]: React.ReactInstance;
|
|
47
|
+
};
|
|
48
|
+
shouldComponentUpdate?(nextProps: Readonly<TOwnProps & SearchPersistorProps>, nextState: Readonly<SearchPersistorState>, nextContext: any): boolean;
|
|
49
|
+
componentWillUnmount?(): void;
|
|
50
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
51
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<TOwnProps & SearchPersistorProps>, prevState: Readonly<SearchPersistorState>): any;
|
|
52
|
+
componentDidUpdate?(prevProps: Readonly<TOwnProps & SearchPersistorProps>, prevState: Readonly<SearchPersistorState>, snapshot?: any): void;
|
|
53
|
+
componentWillMount?(): void;
|
|
54
|
+
UNSAFE_componentWillMount?(): void;
|
|
55
|
+
componentWillReceiveProps?(nextProps: Readonly<TOwnProps & SearchPersistorProps>, nextContext: any): void;
|
|
56
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<TOwnProps & SearchPersistorProps>, nextContext: any): void;
|
|
57
|
+
componentWillUpdate?(nextProps: Readonly<TOwnProps & SearchPersistorProps>, nextState: Readonly<SearchPersistorState>, nextContext: any): void;
|
|
58
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<TOwnProps & SearchPersistorProps>, nextState: Readonly<SearchPersistorState>, nextContext: any): void;
|
|
59
|
+
};
|
|
60
|
+
contextType?: React.Context<any> | undefined;
|
|
61
|
+
};
|
|
62
|
+
export declare const configureMapStateToProps: (key: string) => (state: BaseReduxState) => SearchPersistorProps;
|
|
63
|
+
export declare const configureMapDispatchToProps: (key: string) => (dispatch: Dispatch) => SearchPersistorProps;
|
|
64
|
+
/**
|
|
65
|
+
* HOC to handle persistence and restoration of "Manage" components search parameters.
|
|
66
|
+
* Note: if you store a search date in a child component, make sure it’s called `date`.
|
|
67
|
+
* Rehydration of dates doesn’t work as expected out of the box with redux-persist.
|
|
68
|
+
* Something more generic might be in order in the future.
|
|
69
|
+
*
|
|
70
|
+
* Note: this also uses the `configureX` pattern of declaration for testability.
|
|
71
|
+
*
|
|
72
|
+
* API for child components:
|
|
73
|
+
* - Call `setSearchDefaults(this.doSearch, this.getDefaultSearch())` in child’s `componentDidMount`
|
|
74
|
+
* - Implement `getDefaultSearch`
|
|
75
|
+
* - Call this HOC’s handlers as needed
|
|
76
|
+
* - Implement any additional child-specific handlers and call this HOC’s `updateAndPersistSearch` in them
|
|
77
|
+
* - Make sure your `doSearch` and `render` handle undefined search props
|
|
78
|
+
* - Avoid intoxicating substances and wash your hands regularly
|
|
79
|
+
*
|
|
80
|
+
* @param WrappedComponent The component to wrap
|
|
81
|
+
* @param key The key under "search" in redux where the component’s search params will be stored
|
|
82
|
+
* @returns The wrapped component, passing down `search` and `persistSearch` as props
|
|
83
|
+
*/
|
|
84
|
+
export default function searchPersistorComponent<TOwnProps extends SearchPersistorWrappedProps>(WrappedComponent: ComponentType<TOwnProps>, key: string): ComponentClass<Omit<TOwnProps, keyof SearchPersistorWrappedProps>>;
|
|
85
|
+
export {};
|