studiokit-scaffolding-js 4.3.21 → 4.3.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +127 -127
  3. package/lib/components/ActionList.d.ts +20 -20
  4. package/lib/components/ActionList.js +94 -94
  5. package/lib/components/AlertDialog.d.ts +18 -18
  6. package/lib/components/AlertDialog.js +21 -21
  7. package/lib/components/AlertWithIcon.d.ts +7 -7
  8. package/lib/components/AlertWithIcon.js +57 -57
  9. package/lib/components/Blots/CustomImageSpec.d.ts +14 -14
  10. package/lib/components/Blots/CustomImageSpec.js +45 -45
  11. package/lib/components/Blots/CustomVideoSpec.d.ts +16 -16
  12. package/lib/components/Blots/CustomVideoSpec.js +47 -47
  13. package/lib/components/ConnectedModal.d.ts +6 -6
  14. package/lib/components/ConnectedModal.js +11 -11
  15. package/lib/components/Dropdowns/GroupsDropdown.d.ts +18 -18
  16. package/lib/components/Dropdowns/GroupsDropdown.js +90 -90
  17. package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +32 -32
  18. package/lib/components/Dropdowns/ManagedNavDropdown.js +118 -118
  19. package/lib/components/Dropdowns/UserDropdown.d.ts +6 -6
  20. package/lib/components/Dropdowns/UserDropdown.js +76 -76
  21. package/lib/components/Dropdowns/index.d.ts +3 -3
  22. package/lib/components/Dropdowns/index.js +12 -12
  23. package/lib/components/EntityOwnerList.d.ts +11 -11
  24. package/lib/components/EntityOwnerList.js +63 -63
  25. package/lib/components/ErrorBoundary.d.ts +11 -11
  26. package/lib/components/ErrorBoundary.js +74 -74
  27. package/lib/components/Forms/DateField.d.ts +13 -13
  28. package/lib/components/Forms/DateField.js +99 -99
  29. package/lib/components/Forms/TimeField.d.ts +11 -11
  30. package/lib/components/Forms/TimeField.js +112 -112
  31. package/lib/components/Forms/index.d.ts +2 -2
  32. package/lib/components/Forms/index.js +14 -14
  33. package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +10 -10
  34. package/lib/components/Groups/CreateEditCopySaveButtons.js +18 -18
  35. package/lib/components/Groups/GroupCreateOrEditCommonProps.d.ts +6 -6
  36. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
  37. package/lib/components/Groups/RosterSyncInfo.d.ts +5 -5
  38. package/lib/components/Groups/RosterSyncInfo.js +54 -54
  39. package/lib/components/HOC/AccessibleAppComponent.d.ts +15 -15
  40. package/lib/components/HOC/AccessibleAppComponent.js +135 -135
  41. package/lib/components/HOC/ActivityRequiredComponent.d.ts +105 -105
  42. package/lib/components/HOC/ActivityRequiredComponent.js +101 -101
  43. package/lib/components/HOC/AsyncComponent.d.ts +37 -37
  44. package/lib/components/HOC/AsyncComponent.js +136 -136
  45. package/lib/components/HOC/AuthenticatedComponent.d.ts +10 -10
  46. package/lib/components/HOC/AuthenticatedComponent.js +104 -104
  47. package/lib/components/HOC/CollectionComponent.d.ts +61 -61
  48. package/lib/components/HOC/CollectionComponent.js +175 -175
  49. package/lib/components/HOC/CollectionFirstItemComponent.d.ts +67 -67
  50. package/lib/components/HOC/CollectionFirstItemComponent.js +94 -94
  51. package/lib/components/HOC/CollectionItemComponent.d.ts +61 -61
  52. package/lib/components/HOC/CollectionItemComponent.js +172 -172
  53. package/lib/components/HOC/ConnectedModalComponent.d.ts +26 -26
  54. package/lib/components/HOC/ConnectedModalComponent.js +110 -110
  55. package/lib/components/HOC/DataDependentComponent.d.ts +61 -61
  56. package/lib/components/HOC/DataDependentComponent.js +90 -90
  57. package/lib/components/HOC/EntityComponent.d.ts +83 -83
  58. package/lib/components/HOC/EntityComponent.js +120 -120
  59. package/lib/components/HOC/FullscreenModalComponent.d.ts +74 -74
  60. package/lib/components/HOC/FullscreenModalComponent.js +173 -173
  61. package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +29 -29
  62. package/lib/components/HOC/GroupActivityRequiredComponent.js +49 -49
  63. package/lib/components/HOC/GuidComponent.d.ts +14 -14
  64. package/lib/components/HOC/GuidComponent.js +72 -72
  65. package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +172 -172
  66. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +72 -72
  67. package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +69 -69
  68. package/lib/components/HOC/ModelErrorRedirectComponent.js +101 -101
  69. package/lib/components/HOC/SearchPersistorComponent.d.ts +85 -85
  70. package/lib/components/HOC/SearchPersistorComponent.js +198 -198
  71. package/lib/components/HOC/UnauthenticatedComponent.d.ts +62 -62
  72. package/lib/components/HOC/UnauthenticatedComponent.js +90 -90
  73. package/lib/components/HOC/UserComponent.d.ts +3 -3
  74. package/lib/components/HOC/UserComponent.js +12 -12
  75. package/lib/components/Icons/IconExternalUser.d.ts +3 -3
  76. package/lib/components/Icons/IconExternalUser.js +24 -24
  77. package/lib/components/Icons/IconImpersonation.d.ts +3 -3
  78. package/lib/components/Icons/IconImpersonation.js +24 -24
  79. package/lib/components/Icons/IconStopImpersonating.d.ts +3 -3
  80. package/lib/components/Icons/IconStopImpersonating.js +24 -24
  81. package/lib/components/Impersonation/Button.d.ts +7 -7
  82. package/lib/components/Impersonation/Button.js +61 -61
  83. package/lib/components/Impersonation/Link.d.ts +7 -7
  84. package/lib/components/Impersonation/Link.js +58 -58
  85. package/lib/components/Impersonation/UserDetail.css +22 -22
  86. package/lib/components/Impersonation/UserDetail.d.ts +22 -22
  87. package/lib/components/Impersonation/UserDetail.js +23 -23
  88. package/lib/components/Loading.d.ts +4 -4
  89. package/lib/components/Loading.js +24 -24
  90. package/lib/components/Lti/Confirm.d.ts +8 -8
  91. package/lib/components/Lti/Confirm.js +37 -37
  92. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +15 -15
  93. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +83 -83
  94. package/lib/components/Lti/Launch.d.ts +21 -21
  95. package/lib/components/Lti/Launch.js +52 -52
  96. package/lib/components/Lti/LaunchGroup.d.ts +9 -9
  97. package/lib/components/Lti/LaunchGroup.js +45 -45
  98. package/lib/components/NewVersionAlert.d.ts +18 -18
  99. package/lib/components/NewVersionAlert.js +97 -97
  100. package/lib/components/NotFound.d.ts +3 -3
  101. package/lib/components/NotFound.js +30 -28
  102. package/lib/components/Notifications.d.ts +39 -39
  103. package/lib/components/Notifications.js +175 -175
  104. package/lib/components/RefreshIndicator/Bordered.d.ts +7 -7
  105. package/lib/components/RefreshIndicator/Bordered.js +35 -35
  106. package/lib/components/RefreshIndicator/Inline.d.ts +4 -4
  107. package/lib/components/RefreshIndicator/Inline.js +36 -36
  108. package/lib/components/RefreshIndicator/index.d.ts +21 -21
  109. package/lib/components/RefreshIndicator/index.js +116 -116
  110. package/lib/components/SearchControls.d.ts +14 -14
  111. package/lib/components/SearchControls.js +34 -34
  112. package/lib/components/SentryRoute.d.ts +3 -3
  113. package/lib/components/SentryRoute.js +25 -25
  114. package/lib/components/Tables/RoleFilter.d.ts +14 -14
  115. package/lib/components/Tables/RoleFilter.js +53 -53
  116. package/lib/components/Tables/TextFilter.d.ts +7 -7
  117. package/lib/components/Tables/TextFilter.js +26 -26
  118. package/lib/components/UserRoles/Add.d.ts +31 -31
  119. package/lib/components/UserRoles/Add.js +165 -165
  120. package/lib/components/UserRoles/RoleCell.d.ts +21 -21
  121. package/lib/components/UserRoles/RoleCell.js +53 -53
  122. package/lib/components/UserRoles/Select.d.ts +27 -27
  123. package/lib/components/UserRoles/Select.js +44 -44
  124. package/lib/components/UserRoles/Table.d.ts +16 -16
  125. package/lib/components/UserRoles/Table.js +99 -99
  126. package/lib/components/UserRoles/index.d.ts +76 -76
  127. package/lib/components/UserRoles/index.js +361 -361
  128. package/lib/constants/baseActivity.d.ts +25 -25
  129. package/lib/constants/baseActivity.js +29 -29
  130. package/lib/constants/baseRole.d.ts +9 -9
  131. package/lib/constants/baseRole.js +13 -13
  132. package/lib/constants/configuration.d.ts +8 -8
  133. package/lib/constants/configuration.js +39 -39
  134. package/lib/constants/externalProviderType.d.ts +5 -5
  135. package/lib/constants/externalProviderType.js +9 -9
  136. package/lib/constants/index.d.ts +8 -8
  137. package/lib/constants/index.js +20 -20
  138. package/lib/constants/mockData.d.ts +84 -82
  139. package/lib/constants/mockData.js +379 -379
  140. package/lib/constants/modelStatus.d.ts +10 -10
  141. package/lib/constants/modelStatus.js +14 -14
  142. package/lib/constants/notificationType.d.ts +7 -7
  143. package/lib/constants/notificationType.js +11 -11
  144. package/lib/constants/shard.d.ts +6 -6
  145. package/lib/constants/shard.js +10 -10
  146. package/lib/constants/tier.d.ts +6 -6
  147. package/lib/constants/tier.js +10 -10
  148. package/lib/constants/userRole.d.ts +2 -2
  149. package/lib/constants/userRole.js +21 -21
  150. package/lib/css/base/_base.css +98 -98
  151. package/lib/css/base/_typography.css +130 -130
  152. package/lib/css/components/_alert.css +85 -85
  153. package/lib/css/components/_bootstrap-grid.css +28 -28
  154. package/lib/css/components/_buttons.css +325 -325
  155. package/lib/css/components/_forms.css +91 -91
  156. package/lib/css/components/_menu.css +56 -56
  157. package/lib/css/components/_modals.css +41 -41
  158. package/lib/css/components/_tables.css +426 -426
  159. package/lib/css/components/_tags.css +12 -12
  160. package/lib/css/index-with-variables.css +14 -14
  161. package/lib/css/index.css +13 -13
  162. package/lib/css/utils/_border.css +463 -463
  163. package/lib/css/utils/_color.css +271 -271
  164. package/lib/css/utils/_display.css +312 -312
  165. package/lib/css/utils/_general.css +48 -48
  166. package/lib/css/utils/_icon.css +16 -16
  167. package/lib/css/utils/_text.css +24 -24
  168. package/lib/css/utils/_width.css +60 -60
  169. package/lib/css/variables.css +70 -70
  170. package/lib/endpointMappings.d.ts +4 -4
  171. package/lib/endpointMappings.js +173 -173
  172. package/lib/hooks/useCollection.d.ts +6 -6
  173. package/lib/hooks/useCollection.js +61 -61
  174. package/lib/hooks/useCollectionConfiguration.d.ts +27 -27
  175. package/lib/hooks/useCollectionConfiguration.js +67 -67
  176. package/lib/hooks/useCollectionItem.d.ts +6 -6
  177. package/lib/hooks/useCollectionItem.js +54 -54
  178. package/lib/hooks/useGuid.d.ts +4 -4
  179. package/lib/hooks/useGuid.js +14 -14
  180. package/lib/hooks/usePrevious.d.ts +5 -5
  181. package/lib/hooks/usePrevious.js +18 -18
  182. package/lib/index.d.ts +8 -8
  183. package/lib/index.js +30 -30
  184. package/lib/redux/actionCreator.d.ts +5 -5
  185. package/lib/redux/actionCreator.js +16 -16
  186. package/lib/redux/actions.d.ts +12 -12
  187. package/lib/redux/actions.js +30 -30
  188. package/lib/redux/configureReducers.d.ts +22 -22
  189. package/lib/redux/configureReducers.js +94 -94
  190. package/lib/redux/configureStore.d.ts +14 -14
  191. package/lib/redux/configureStore.js +118 -118
  192. package/lib/redux/helpers.d.ts +2 -2
  193. package/lib/redux/helpers.js +7 -7
  194. package/lib/redux/reducers/index.d.ts +4 -4
  195. package/lib/redux/reducers/index.js +12 -12
  196. package/lib/redux/reducers/modalsReducer.d.ts +8 -8
  197. package/lib/redux/reducers/modalsReducer.js +54 -54
  198. package/lib/redux/reducers/notificationsReducer.d.ts +9 -9
  199. package/lib/redux/reducers/notificationsReducer.js +27 -27
  200. package/lib/redux/reducers/searchReducer.d.ts +17 -17
  201. package/lib/redux/reducers/searchReducer.js +26 -26
  202. package/lib/redux/sagas/caliperSaga.d.ts +2 -2
  203. package/lib/redux/sagas/caliperSaga.js +296 -296
  204. package/lib/redux/sagas/clockOffsetSaga.d.ts +10 -10
  205. package/lib/redux/sagas/clockOffsetSaga.js +81 -81
  206. package/lib/redux/sagas/configurationSaga.d.ts +1 -1
  207. package/lib/redux/sagas/configurationSaga.js +48 -48
  208. package/lib/redux/sagas/errorSaga.d.ts +2 -2
  209. package/lib/redux/sagas/errorSaga.js +66 -66
  210. package/lib/redux/sagas/identityProviderSaga.d.ts +2 -2
  211. package/lib/redux/sagas/identityProviderSaga.js +91 -91
  212. package/lib/redux/sagas/initialDataLoadSaga.d.ts +1 -1
  213. package/lib/redux/sagas/initialDataLoadSaga.js +33 -33
  214. package/lib/redux/sagas/postLoginDataSaga.d.ts +9 -9
  215. package/lib/redux/sagas/postLoginDataSaga.js +87 -87
  216. package/lib/redux/sagas/postLoginRedirectSaga.d.ts +6 -6
  217. package/lib/redux/sagas/postLoginRedirectSaga.js +96 -96
  218. package/lib/redux/sagas/rootSaga.d.ts +5 -5
  219. package/lib/redux/sagas/rootSaga.js +144 -144
  220. package/lib/redux/sagas/sentrySaga.d.ts +1 -1
  221. package/lib/redux/sagas/sentrySaga.js +103 -103
  222. package/lib/services/codeProviderService.d.ts +3 -3
  223. package/lib/services/codeProviderService.js +36 -36
  224. package/lib/services/documentService.d.ts +10 -10
  225. package/lib/services/documentService.js +17 -17
  226. package/lib/services/persistenceService.d.ts +13 -13
  227. package/lib/services/persistenceService.js +45 -45
  228. package/lib/services/ticketProviderService.d.ts +3 -3
  229. package/lib/services/ticketProviderService.js +40 -40
  230. package/lib/services/windowService.d.ts +9 -9
  231. package/lib/services/windowService.js +15 -15
  232. package/lib/setupTests.d.ts +1 -1
  233. package/lib/setupTests.js +25 -25
  234. package/lib/startup.d.ts +29 -29
  235. package/lib/startup.js +128 -128
  236. package/lib/types/AppConfiguration.d.ts +32 -32
  237. package/lib/types/AppConfiguration.js +2 -2
  238. package/lib/types/Artifact.d.ts +14 -14
  239. package/lib/types/Artifact.js +9 -9
  240. package/lib/types/BaseReduxState.d.ts +57 -57
  241. package/lib/types/BaseReduxState.js +2 -2
  242. package/lib/types/Client.d.ts +6 -6
  243. package/lib/types/Client.js +2 -2
  244. package/lib/types/Collection.d.ts +175 -175
  245. package/lib/types/Collection.js +2 -2
  246. package/lib/types/Configuration.d.ts +12 -12
  247. package/lib/types/Configuration.js +2 -2
  248. package/lib/types/DeepLinkingResponseRequest.d.ts +4 -4
  249. package/lib/types/DeepLinkingResponseRequest.js +2 -2
  250. package/lib/types/DeletableModel.d.ts +4 -4
  251. package/lib/types/DeletableModel.js +2 -2
  252. package/lib/types/External.d.ts +31 -31
  253. package/lib/types/External.js +2 -2
  254. package/lib/types/Group.d.ts +19 -19
  255. package/lib/types/Group.js +2 -2
  256. package/lib/types/IdentityProvider.d.ts +11 -11
  257. package/lib/types/IdentityProvider.js +2 -2
  258. package/lib/types/LtiLaunch.d.ts +20 -20
  259. package/lib/types/LtiLaunch.js +2 -2
  260. package/lib/types/NameOnlyEntity.d.ts +3 -3
  261. package/lib/types/NameOnlyEntity.js +2 -2
  262. package/lib/types/Notification.d.ts +15 -15
  263. package/lib/types/Notification.js +2 -2
  264. package/lib/types/OptionalRecord.d.ts +4 -4
  265. package/lib/types/OptionalRecord.js +2 -2
  266. package/lib/types/OwnerSchedule.d.ts +9 -9
  267. package/lib/types/OwnerSchedule.js +2 -2
  268. package/lib/types/PropertyOfType.d.ts +12 -12
  269. package/lib/types/PropertyOfType.js +2 -2
  270. package/lib/types/RoleDescription.d.ts +4 -4
  271. package/lib/types/RoleDescription.js +2 -2
  272. package/lib/types/Search.d.ts +11 -11
  273. package/lib/types/Search.js +2 -2
  274. package/lib/types/SimpleLocation.d.ts +46 -46
  275. package/lib/types/SimpleLocation.js +2 -2
  276. package/lib/types/UniTime.d.ts +17 -17
  277. package/lib/types/UniTime.js +2 -2
  278. package/lib/types/User.d.ts +68 -68
  279. package/lib/types/User.js +2 -2
  280. package/lib/types/UserRole.d.ts +19 -19
  281. package/lib/types/UserRole.js +2 -2
  282. package/lib/types/index.d.ts +21 -21
  283. package/lib/types/index.js +33 -33
  284. package/lib/utils/baseActivity.d.ts +63 -63
  285. package/lib/utils/baseActivity.js +155 -155
  286. package/lib/utils/baseRole.d.ts +2 -2
  287. package/lib/utils/baseRole.js +38 -38
  288. package/lib/utils/collection.d.ts +43 -43
  289. package/lib/utils/collection.js +337 -337
  290. package/lib/utils/date.d.ts +162 -162
  291. package/lib/utils/date.js +401 -401
  292. package/lib/utils/domainIdentifier.d.ts +2 -2
  293. package/lib/utils/domainIdentifier.js +12 -12
  294. package/lib/utils/entityUserRole.d.ts +3 -3
  295. package/lib/utils/entityUserRole.js +7 -7
  296. package/lib/utils/externalGroup.d.ts +4 -4
  297. package/lib/utils/externalGroup.js +32 -32
  298. package/lib/utils/externalProviders.d.ts +2 -2
  299. package/lib/utils/externalProviders.js +11 -11
  300. package/lib/utils/externalTerms.d.ts +2 -2
  301. package/lib/utils/externalTerms.js +10 -10
  302. package/lib/utils/group.d.ts +15 -15
  303. package/lib/utils/group.js +15 -15
  304. package/lib/utils/groupDates.d.ts +9 -9
  305. package/lib/utils/groupDates.js +52 -52
  306. package/lib/utils/groupRoles.d.ts +8 -8
  307. package/lib/utils/groupRoles.js +42 -42
  308. package/lib/utils/logger.d.ts +10 -10
  309. package/lib/utils/logger.js +34 -34
  310. package/lib/utils/lti.d.ts +3 -3
  311. package/lib/utils/lti.js +9 -9
  312. package/lib/utils/model.d.ts +15 -15
  313. package/lib/utils/model.js +58 -58
  314. package/lib/utils/number.d.ts +13 -13
  315. package/lib/utils/number.js +32 -32
  316. package/lib/utils/promise.d.ts +5 -5
  317. package/lib/utils/promise.js +17 -17
  318. package/lib/utils/route.d.ts +5 -5
  319. package/lib/utils/route.js +69 -69
  320. package/lib/utils/shard.d.ts +3 -3
  321. package/lib/utils/shard.js +45 -45
  322. package/lib/utils/sort.d.ts +11 -11
  323. package/lib/utils/sort.js +69 -69
  324. package/lib/utils/string.d.ts +2 -2
  325. package/lib/utils/string.js +16 -16
  326. package/lib/utils/timezone.d.ts +2 -2
  327. package/lib/utils/timezone.js +32 -32
  328. package/lib/utils/url.d.ts +23 -23
  329. package/lib/utils/url.js +163 -163
  330. package/lib/utils/user.d.ts +8 -8
  331. package/lib/utils/user.js +73 -73
  332. package/lib/utils/userRole.d.ts +21 -21
  333. package/lib/utils/userRole.js +48 -48
  334. 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 {};