studiokit-scaffolding-js 7.0.12-next.2.9 → 7.0.13-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +137 -137
- package/lib/components/ActionList.d.ts +2 -2
- package/lib/components/ActionList.js +87 -166
- package/lib/components/AlertDialog.d.ts +3 -3
- package/lib/components/AlertDialog.js +18 -133
- package/lib/components/AlertWithIcon.js +52 -93
- package/lib/components/ConnectedModal.d.ts +2 -1
- package/lib/components/ConnectedModal.js +37 -43
- package/lib/components/Dropdowns/GroupsDropdown.d.ts +4 -4
- package/lib/components/Dropdowns/GroupsDropdown.js +82 -69
- package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +2 -2
- package/lib/components/Dropdowns/ManagedNavDropdown.js +111 -99
- package/lib/components/Dropdowns/UserDropdown.js +70 -109
- package/lib/components/Dropdowns/index.js +11 -27
- package/lib/components/EntityOwnerList.d.ts +3 -3
- package/lib/components/EntityOwnerList.js +60 -52
- package/lib/components/Error.js +27 -107
- package/lib/components/ErrorBoundary.js +94 -133
- package/lib/components/ErrorMessage.d.ts +2 -2
- package/lib/components/ErrorMessage.js +14 -44
- package/lib/components/Forms/DateField.d.ts +2 -2
- package/lib/components/Forms/DateField.js +95 -63
- package/lib/components/Forms/TimeField.d.ts +2 -2
- package/lib/components/Forms/TimeField.js +108 -84
- package/lib/components/Forms/index.js +13 -27
- package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +2 -2
- package/lib/components/Groups/CreateEditCopySaveButtons.js +14 -102
- package/lib/components/Groups/ExternalGroups/Attach.d.ts +7 -6
- package/lib/components/Groups/ExternalGroups/Attach.js +188 -213
- package/lib/components/Groups/ExternalGroups/Table.js +76 -183
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +1 -5
- package/lib/components/Groups/RosterSyncInfo.js +49 -140
- package/lib/components/HOC/AccessibleAppComponent.d.ts +2 -2
- package/lib/components/HOC/AccessibleAppComponent.js +124 -101
- package/lib/components/HOC/ActivityRequiredComponent.d.ts +14 -14
- package/lib/components/HOC/ActivityRequiredComponent.js +107 -93
- package/lib/components/HOC/AsyncComponent.d.ts +9 -9
- package/lib/components/HOC/AsyncComponent.js +129 -53
- package/lib/components/HOC/AuthenticatedComponent.d.ts +4 -4
- package/lib/components/HOC/AuthenticatedComponent.js +96 -59
- package/lib/components/HOC/CollectionComponent.d.ts +12 -12
- package/lib/components/HOC/CollectionComponent.js +171 -171
- package/lib/components/HOC/CollectionFirstItemComponent.d.ts +13 -13
- package/lib/components/HOC/CollectionFirstItemComponent.js +94 -52
- package/lib/components/HOC/CollectionItemComponent.d.ts +9 -9
- package/lib/components/HOC/CollectionItemComponent.js +168 -169
- package/lib/components/HOC/ConnectedModalComponent.d.ts +9 -9
- package/lib/components/HOC/ConnectedModalComponent.js +140 -110
- package/lib/components/HOC/DataDependentComponent.d.ts +55 -3
- package/lib/components/HOC/DataDependentComponent.js +79 -30
- package/lib/components/HOC/EntityComponent.d.ts +13 -13
- package/lib/components/HOC/EntityComponent.js +112 -74
- package/lib/components/HOC/FullscreenModalComponent.d.ts +9 -9
- package/lib/components/HOC/FullscreenModalComponent.js +185 -165
- package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +2 -2
- package/lib/components/HOC/GroupActivityRequiredComponent.js +47 -48
- package/lib/components/HOC/GuidComponent.d.ts +1 -1
- package/lib/components/HOC/GuidComponent.js +68 -29
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +29 -28
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +65 -42
- package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +10 -10
- package/lib/components/HOC/ModelErrorRedirectComponent.js +94 -51
- package/lib/components/HOC/SearchPersistorComponent.d.ts +4 -4
- package/lib/components/HOC/SearchPersistorComponent.js +216 -243
- package/lib/components/HOC/UnauthenticatedComponent.d.ts +12 -12
- package/lib/components/HOC/UnauthenticatedComponent.js +82 -37
- package/lib/components/HOC/UserComponent.d.ts +1 -1
- package/lib/components/HOC/UserComponent.js +11 -12
- package/lib/components/Icons/IconAlphaList.js +20 -34
- package/lib/components/Icons/IconExternalUser.js +20 -34
- package/lib/components/Icons/IconImpersonation.js +20 -34
- package/lib/components/Icons/IconStopImpersonating.js +20 -34
- package/lib/components/Icons/IconTable.js +21 -35
- package/lib/components/Icons/IconTableDeleteCol.js +20 -34
- package/lib/components/Icons/IconTableDeleteRow.js +20 -34
- package/lib/components/Icons/IconTableInsertCol.js +20 -34
- package/lib/components/Icons/IconTableInsertRow.js +20 -34
- package/lib/components/Impersonation/Button.d.ts +2 -2
- package/lib/components/Impersonation/Button.js +56 -76
- package/lib/components/Impersonation/Link.d.ts +2 -2
- package/lib/components/Impersonation/Link.js +53 -76
- package/lib/components/Impersonation/UserDetail.css +22 -22
- package/lib/components/Impersonation/UserDetail.d.ts +2 -2
- package/lib/components/Impersonation/UserDetail.js +17 -66
- package/lib/components/Loading.js +21 -27
- package/lib/components/LockDownBrowser/Check.js +107 -194
- package/lib/components/LockDownBrowser/ExitButton.js +14 -27
- package/lib/components/LockDownBrowser/Launch.js +85 -70
- package/lib/components/Lti/Confirm.js +33 -152
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +2 -4
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +78 -170
- package/lib/components/Lti/Launch.js +49 -105
- package/lib/components/Lti/LaunchGroup.js +39 -85
- package/lib/components/ManageTable.d.ts +2 -1
- package/lib/components/ManageTable.js +104 -309
- package/lib/components/ManageTableNoDataComponent.js +22 -42
- package/lib/components/NewVersionAlert.d.ts +2 -2
- package/lib/components/NewVersionAlert.js +91 -82
- package/lib/components/NotFound.js +28 -87
- package/lib/components/Notifications.d.ts +4 -4
- package/lib/components/Notifications.js +169 -187
- package/lib/components/PaginationNextButton.js +21 -33
- package/lib/components/PaginationPreviousButton.js +21 -33
- package/lib/components/Quill/CustomToolbar.d.ts +2 -2
- package/lib/components/Quill/CustomToolbar.js +257 -432
- package/lib/components/Quill/Formats/Image.d.ts +25 -10
- package/lib/components/Quill/Formats/Image.js +86 -80
- package/lib/components/Quill/Formats/List.d.ts +3 -6
- package/lib/components/Quill/Formats/List.js +74 -52
- package/lib/components/Quill/Formats/Video.d.ts +1 -2
- package/lib/components/Quill/Formats/Video.js +45 -31
- package/lib/components/Quill/ImageDropModule.d.ts +1 -1
- package/lib/components/Quill/ImageDropModule.js +122 -149
- package/lib/components/Quill/ImageWarning.d.ts +2 -2
- package/lib/components/Quill/ImageWarning.js +32 -45
- package/lib/components/Quill/ImageWithAltTextModal.d.ts +1 -0
- package/lib/components/Quill/ImageWithAltTextModal.js +141 -425
- package/lib/components/Quill/Specs/CustomImageSpec.d.ts +1 -1
- package/lib/components/Quill/Specs/CustomImageSpec.js +51 -43
- package/lib/components/Quill/Specs/CustomVideoSpec.d.ts +1 -1
- package/lib/components/Quill/Specs/CustomVideoSpec.js +44 -35
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.d.ts +1 -2
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +121 -105
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +66 -53
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +67 -54
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.d.ts +1 -1
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +241 -225
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +99 -82
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +87 -76
- package/lib/components/Quill/TableModule/constants.js +41 -45
- package/lib/components/Quill/TableModule/index.css +171 -171
- package/lib/components/Quill/TableModule/index.d.ts +5 -14
- package/lib/components/Quill/TableModule/index.js +313 -373
- package/lib/components/Quill/TableModule/utils.js +45 -45
- package/lib/components/Quill/accessibilityFix.d.ts +1 -0
- package/lib/components/Quill/accessibilityFix.js +251 -235
- package/lib/components/Quill/index.js +32 -36
- package/lib/components/RefreshIndicator/Bordered.js +32 -48
- package/lib/components/RefreshIndicator/Inline.js +33 -48
- package/lib/components/RefreshIndicator/index.d.ts +2 -2
- package/lib/components/RefreshIndicator/index.js +113 -263
- package/lib/components/SearchControls.js +31 -216
- package/lib/components/SentryRoute.js +23 -10
- package/lib/components/Tables/RoleFilter.d.ts +4 -3
- package/lib/components/Tables/RoleFilter.js +46 -71
- package/lib/components/Tables/TextFilter.d.ts +3 -2
- package/lib/components/Tables/TextFilter.js +20 -62
- package/lib/components/UserRoles/Add.d.ts +3 -3
- package/lib/components/UserRoles/Add.js +161 -199
- package/lib/components/UserRoles/Context.js +9 -11
- package/lib/components/UserRoles/RoleCell.js +100 -180
- package/lib/components/UserRoles/Select.js +54 -157
- package/lib/components/UserRoles/Table.js +102 -221
- package/lib/components/UserRoles/index.d.ts +6 -6
- package/lib/components/UserRoles/index.js +466 -537
- package/lib/config/eslint/index.cjs +21 -0
- package/lib/config/eslint/lib/order.cjs +22 -0
- package/lib/config/eslint/lib/prettier.cjs +18 -0
- package/lib/config/eslint/lib/typescript.cjs +86 -0
- package/lib/config/eslint/react.cjs +9 -0
- package/lib/constants/baseActivity.js +26 -30
- package/lib/constants/baseRole.js +10 -14
- package/lib/constants/configuration.d.ts +1 -1
- package/lib/constants/configuration.js +39 -43
- package/lib/constants/externalProviderType.js +6 -10
- package/lib/constants/fetchErrorData.js +11 -15
- package/lib/constants/index.js +23 -137
- package/lib/constants/lockDownBrowser.js +24 -28
- package/lib/constants/mockData.d.ts +6 -4
- package/lib/constants/mockData.js +326 -385
- package/lib/constants/modelStatus.js +11 -15
- package/lib/constants/notificationType.js +8 -12
- package/lib/constants/operatingSystem.js +8 -12
- package/lib/constants/shard.js +7 -11
- package/lib/constants/table.js +21 -21
- package/lib/constants/tier.js +8 -12
- package/lib/constants/userRole.d.ts +2 -1
- package/lib/constants/userRole.js +17 -15
- package/lib/css/base/_base.css +98 -98
- package/lib/css/base/_typography.css +130 -130
- package/lib/css/components/_alert.css +86 -86
- package/lib/css/components/_bootstrap-grid.css +28 -28
- package/lib/css/components/_buttons.css +397 -397
- package/lib/css/components/_forms.css +101 -101
- package/lib/css/components/_menu.css +56 -56
- package/lib/css/components/_modals.css +46 -46
- package/lib/css/components/_quill.css +315 -315
- package/lib/css/components/_tables.css +497 -497
- package/lib/css/components/_tags.css +12 -12
- package/lib/css/index-with-variables.css +15 -15
- package/lib/css/index.css +14 -14
- package/lib/css/utils/_border.css +463 -463
- package/lib/css/utils/_color.css +317 -317
- package/lib/css/utils/_display.css +312 -305
- package/lib/css/utils/_general.css +48 -48
- package/lib/css/utils/_icon.css +16 -16
- package/lib/css/utils/_text.css +24 -25
- package/lib/css/utils/_width.css +60 -60
- package/lib/css/variables.css +84 -84
- package/lib/endpointMappings.js +193 -197
- package/lib/hooks/useCollection.js +65 -83
- package/lib/hooks/useCollectionConfiguration.d.ts +1 -0
- package/lib/hooks/useCollectionConfiguration.js +88 -185
- package/lib/hooks/useCollectionItem.js +58 -155
- package/lib/hooks/useGuid.js +10 -21
- package/lib/hooks/usePrevious.d.ts +1 -24
- package/lib/hooks/usePrevious.js +14 -84
- package/lib/index.js +36 -156
- package/lib/redux/actionCreator.d.ts +6 -6
- package/lib/redux/actionCreator.js +40 -51
- package/lib/redux/actions/AuthAction.js +31 -44
- package/lib/redux/actions/ModalAction.d.ts +1 -1
- package/lib/redux/actions/ModalAction.js +6 -10
- package/lib/redux/actions/ModelAction.d.ts +1 -1
- package/lib/redux/actions/ModelAction.js +49 -77
- package/lib/redux/actions/NotificationAction.js +6 -10
- package/lib/redux/actions/SearchAction.js +5 -9
- package/lib/redux/actions/index.js +16 -60
- package/lib/redux/configureReducers.d.ts +5 -2
- package/lib/redux/configureReducers.js +78 -67
- package/lib/redux/configureStore.d.ts +2 -2
- package/lib/redux/configureStore.js +115 -83
- package/lib/redux/helpers.js +2 -7
- package/lib/redux/reducers/authReducer.js +46 -52
- package/lib/redux/reducers/index.js +15 -41
- package/lib/redux/reducers/modalsReducer.js +52 -49
- package/lib/redux/reducers/modelsReducer.d.ts +2 -2
- package/lib/redux/reducers/modelsReducer.js +182 -183
- package/lib/redux/reducers/notificationsReducer.js +21 -26
- package/lib/redux/reducers/searchReducer.js +20 -26
- package/lib/redux/sagas/appInsightsSaga.js +62 -24
- package/lib/redux/sagas/authSaga.js +414 -287
- package/lib/redux/sagas/caliperSaga.js +263 -169
- package/lib/redux/sagas/clockOffsetSaga.js +77 -36
- package/lib/redux/sagas/configurationSaga.js +46 -13
- package/lib/redux/sagas/downtimeApiErrorSaga.d.ts +1 -0
- package/lib/redux/sagas/downtimeApiErrorSaga.js +64 -23
- package/lib/redux/sagas/errorSaga.d.ts +1 -0
- package/lib/redux/sagas/errorSaga.js +63 -29
- package/lib/redux/sagas/googleAnalyticsSaga.js +69 -29
- package/lib/redux/sagas/identityProviderSaga.js +69 -24
- package/lib/redux/sagas/initialDataLoadSaga.js +29 -38
- package/lib/redux/sagas/lockDownBrowserErrorSaga.d.ts +1 -0
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +81 -32
- package/lib/redux/sagas/modelFetchSaga.js +459 -379
- package/lib/redux/sagas/noStoreSaga.d.ts +1 -1
- package/lib/redux/sagas/noStoreSaga.js +101 -68
- package/lib/redux/sagas/postLoginDataSaga.js +79 -47
- package/lib/redux/sagas/postLoginRedirectSaga.js +71 -30
- package/lib/redux/sagas/rootSaga.js +137 -85
- package/lib/redux/sagas/sentrySaga.js +85 -29
- package/lib/redux/sagas/userIdSaga.js +54 -18
- package/lib/services/codeProviderService.js +29 -25
- package/lib/services/dateService.js +12 -14
- package/lib/services/documentService.js +13 -18
- package/lib/services/fetchService.js +168 -134
- package/lib/services/persistenceService.d.ts +4 -4
- package/lib/services/persistenceService.js +43 -45
- package/lib/services/ticketProviderService.js +33 -29
- package/lib/services/tokenPersistenceService.js +9 -13
- package/lib/services/windowService.js +17 -21
- package/lib/startup.d.ts +1 -1
- package/lib/startup.js +135 -132
- package/lib/types/AppConfiguration.js +1 -5
- package/lib/types/Artifact.js +7 -11
- package/lib/types/BaseReduxState.js +1 -5
- package/lib/types/Client.js +1 -5
- package/lib/types/Collection.d.ts +3 -3
- package/lib/types/Collection.js +1 -5
- package/lib/types/Configuration.js +1 -5
- package/lib/types/DeepLinkingResponseRequest.js +1 -5
- package/lib/types/DeletableModel.js +1 -5
- package/lib/types/Event.js +1 -5
- package/lib/types/ExternalGroup.js +1 -5
- package/lib/types/ExternalProvider.js +1 -5
- package/lib/types/ExternalTerm.js +1 -5
- package/lib/types/Group.js +1 -5
- package/lib/types/IdentityProvider.js +1 -5
- package/lib/types/LtiLaunch.js +1 -5
- package/lib/types/NameOnlyEntity.js +1 -5
- package/lib/types/Notification.d.ts +2 -2
- package/lib/types/Notification.js +1 -5
- package/lib/types/OptionalRecord.d.ts +1 -1
- package/lib/types/OptionalRecord.js +1 -5
- package/lib/types/OwnerSchedule.d.ts +1 -3
- package/lib/types/OwnerSchedule.js +1 -5
- package/lib/types/PropertyOfType.d.ts +3 -3
- package/lib/types/PropertyOfType.js +1 -5
- package/lib/types/Quill.js +1 -5
- package/lib/types/RoleDescription.d.ts +1 -0
- package/lib/types/RoleDescription.js +1 -5
- package/lib/types/Search.js +1 -5
- package/lib/types/SimpleLocation.js +1 -5
- package/lib/types/UniTime.js +1 -5
- package/lib/types/User.js +1 -5
- package/lib/types/UserRole.js +1 -5
- package/lib/types/auth/AuthState.js +1 -5
- package/lib/types/auth/CasV1LoginRequestBody.js +1 -5
- package/lib/types/auth/ClientCredentials.js +1 -5
- package/lib/types/auth/CodeProviderService.js +1 -5
- package/lib/types/auth/LocalLoginRequestBody.js +1 -5
- package/lib/types/auth/TicketProviderService.js +1 -5
- package/lib/types/auth/TokenPersistenceService.js +1 -5
- package/lib/types/auth/index.js +18 -82
- package/lib/types/index.js +39 -313
- package/lib/types/net/EndpointConfig.js +1 -5
- package/lib/types/net/EndpointMapping.js +1 -5
- package/lib/types/net/EndpointMappings.js +1 -5
- package/lib/types/net/ErrorHandler.d.ts +1 -1
- package/lib/types/net/ErrorHandler.js +1 -5
- package/lib/types/net/FetchConfig.d.ts +1 -1
- package/lib/types/net/FetchConfig.js +1 -5
- package/lib/types/net/FetchErrorData.js +6 -10
- package/lib/types/net/FetchResult.d.ts +2 -2
- package/lib/types/net/FetchResult.js +1 -5
- package/lib/types/net/HTTPMethod.d.ts +1 -1
- package/lib/types/net/HTTPMethod.js +1 -5
- package/lib/types/net/HTTPStatusCode.js +12 -16
- package/lib/types/net/Metadata.js +1 -5
- package/lib/types/net/Model.js +1 -5
- package/lib/types/net/ModelCollection.js +1 -5
- package/lib/types/net/ModelsState.js +1 -5
- package/lib/types/net/OAuthToken.js +1 -5
- package/lib/types/net/OAuthTokenOrNull.d.ts +1 -1
- package/lib/types/net/OAuthTokenOrNull.js +1 -5
- package/lib/types/net/TokenAccessFunction.d.ts +1 -1
- package/lib/types/net/TokenAccessFunction.js +1 -5
- package/lib/types/net/index.js +27 -181
- package/lib/utils/baseActivity.d.ts +2 -2
- package/lib/utils/baseActivity.js +136 -138
- package/lib/utils/baseRole.js +33 -37
- package/lib/utils/collection.js +310 -432
- package/lib/utils/cookies.js +37 -22
- package/lib/utils/date.js +320 -320
- package/lib/utils/dom.js +174 -186
- package/lib/utils/domainIdentifier.js +9 -9
- package/lib/utils/entityUserRole.js +2 -6
- package/lib/utils/error.d.ts +1 -1
- package/lib/utils/error.js +16 -18
- package/lib/utils/events.js +33 -40
- package/lib/utils/externalGroup.js +21 -25
- package/lib/utils/externalProviders.js +4 -8
- package/lib/utils/externalTerms.js +6 -9
- package/lib/utils/fetch.d.ts +1 -1
- package/lib/utils/fetch.js +185 -188
- package/lib/utils/group.js +9 -17
- package/lib/utils/groupDates.d.ts +1 -1
- package/lib/utils/groupDates.js +39 -43
- package/lib/utils/groupRoles.js +28 -28
- package/lib/utils/lockDownBrowser.js +12 -16
- package/lib/utils/logger.js +25 -30
- package/lib/utils/lti.js +5 -10
- package/lib/utils/model.d.ts +2 -2
- package/lib/utils/model.js +48 -39
- package/lib/utils/number.js +26 -23
- package/lib/utils/promise.d.ts +1 -6
- package/lib/utils/promise.js +15 -34
- package/lib/utils/quill.js +77 -66
- package/lib/utils/route.d.ts +2 -2
- package/lib/utils/route.js +60 -61
- package/lib/utils/search.d.ts +1 -1
- package/lib/utils/search.js +85 -78
- package/lib/utils/shard.js +41 -38
- package/lib/utils/sort.d.ts +3 -3
- package/lib/utils/sort.js +58 -62
- package/lib/utils/string.js +10 -14
- package/lib/utils/table.d.ts +3 -3
- package/lib/utils/table.js +36 -39
- package/lib/utils/timezone.js +26 -12
- package/lib/utils/url.d.ts +1 -2
- package/lib/utils/url.js +201 -146
- package/lib/utils/user.js +61 -59
- package/lib/utils/userAgent.js +11 -11
- package/lib/utils/userRole.d.ts +3 -3
- package/lib/utils/userRole.js +56 -58
- package/package.json +207 -226
- package/lib/config/eslint/index.d.ts +0 -2
- package/lib/config/eslint/index.js +0 -36
- package/lib/config/eslint/lib/order.d.ts +0 -3
- package/lib/config/eslint/lib/order.js +0 -30
- package/lib/config/eslint/lib/prettier.d.ts +0 -3
- package/lib/config/eslint/lib/prettier.js +0 -23
- package/lib/config/eslint/lib/typescript.d.ts +0 -2
- package/lib/config/eslint/lib/typescript.js +0 -98
- package/lib/config/eslint/react.d.ts +0 -2
- package/lib/config/eslint/react.js +0 -30
- package/lib/hooks/useEventCalback.d.ts +0 -14
- package/lib/hooks/useEventCalback.js +0 -51
- package/lib/types/externals.d.js +0 -2
|
@@ -1,190 +1,93 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
* `useCollectionConfiguration` shares common logic between `useCollection` and `useCollectionItem`,
|
|
20
|
-
* handling most of the state, route, and redux configuration.
|
|
21
|
-
*
|
|
22
|
-
* @param props The props used to call the outer hook, `useCollection` or `useCollectionItem`
|
|
23
|
-
* @param selectorFunction The function that will be used to select the `model` from redux.
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCollectionConfiguration = void 0;
|
|
4
|
+
var lodash_1 = require("lodash");
|
|
5
|
+
var react_1 = require("react");
|
|
6
|
+
var react_redux_1 = require("react-redux");
|
|
7
|
+
var react_router_1 = require("react-router");
|
|
8
|
+
var modelStatus_1 = require("../constants/modelStatus");
|
|
9
|
+
var model_1 = require("../utils/model");
|
|
10
|
+
var route_1 = require("../utils/route");
|
|
11
|
+
var useGuid_1 = require("./useGuid");
|
|
12
|
+
var usePrevious_1 = require("./usePrevious");
|
|
13
|
+
/**
|
|
14
|
+
* `useCollectionConfiguration` shares common logic between `useCollection` and `useCollectionItem`,
|
|
15
|
+
* handling most of the state, route, and redux configuration.
|
|
16
|
+
*
|
|
17
|
+
* @param props The props used to call the outer hook, `useCollection` or `useCollectionItem`
|
|
18
|
+
* @param selectorFunction The function that will be used to select the `model` from redux.
|
|
24
19
|
*/
|
|
25
20
|
function useCollectionConfiguration(props, selectorFunction) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
$[12] = guid;
|
|
97
|
-
$[13] = isCollectionItem;
|
|
98
|
-
$[14] = model;
|
|
99
|
-
$[15] = t3;
|
|
100
|
-
} else {
|
|
101
|
-
t3 = $[15];
|
|
102
|
-
}
|
|
103
|
-
const modelArray = t3;
|
|
104
|
-
let t4;
|
|
105
|
-
if ($[16] !== isCollectionItem || $[17] !== model) {
|
|
106
|
-
t4 = isCollectionItem ? (0, _model.getModelMinusRelations)(model) : undefined;
|
|
107
|
-
$[16] = isCollectionItem;
|
|
108
|
-
$[17] = model;
|
|
109
|
-
$[18] = t4;
|
|
110
|
-
} else {
|
|
111
|
-
t4 = $[18];
|
|
112
|
-
}
|
|
113
|
-
const modelMinusRelations = t4;
|
|
114
|
-
let t5;
|
|
115
|
-
if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
|
|
116
|
-
t5 = (newModelStatus, newFetchingId) => {
|
|
117
|
-
setFetchingId(newFetchingId);
|
|
118
|
-
setModelStatus(newModelStatus);
|
|
119
|
-
};
|
|
120
|
-
$[19] = t5;
|
|
121
|
-
} else {
|
|
122
|
-
t5 = $[19];
|
|
123
|
-
}
|
|
124
|
-
const changeModelStatus = t5;
|
|
125
|
-
let t6;
|
|
126
|
-
if ($[20] !== disableAutoLoad || $[21] !== guid || $[22] !== isInitialized || $[23] !== modelName || $[24] !== pathParams || $[25] !== queryParams) {
|
|
127
|
-
t6 = {
|
|
128
|
-
modelName,
|
|
129
|
-
pathParams,
|
|
130
|
-
queryParams,
|
|
131
|
-
guid,
|
|
132
|
-
isInitialized,
|
|
133
|
-
changeModelStatus,
|
|
134
|
-
disableAutoLoad
|
|
21
|
+
var modelName = props.modelName, propPathParams = props.pathParams, incomingQueryParams = props.queryParams, disableAutoLoad = props.disableAutoLoad;
|
|
22
|
+
var guid = useGuid_1.useGuid();
|
|
23
|
+
var routeMatchParams = react_router_1.useParams();
|
|
24
|
+
var _a = react_1.useState(false), isInitialized = _a[0], setIsInitialized = _a[1];
|
|
25
|
+
var _b = react_1.useState(modelStatus_1.MODEL_STATUS.UNINITIALIZED), modelStatus = _b[0], setModelStatus = _b[1];
|
|
26
|
+
var previousModelStatus = usePrevious_1.usePrevious(modelStatus);
|
|
27
|
+
var _c = react_1.useState(), fetchingId = _c[0], setFetchingId = _c[1];
|
|
28
|
+
var incomingPathParams = react_1.useMemo(function () { return propPathParams || route_1.getPathParamsFromRouteMatchParams(routeMatchParams, modelName); }, [propPathParams, modelName, routeMatchParams]);
|
|
29
|
+
// keep track of pathParams and queryParams values in state
|
|
30
|
+
// the prop/calculated values will almost always be a new array or object, which causes issues for hook deps
|
|
31
|
+
var _d = react_1.useState(incomingPathParams), persistedPathParams = _d[0], setPersistedPathParams = _d[1];
|
|
32
|
+
var _e = react_1.useState(incomingQueryParams), persistedQueryParams = _e[0], setPersistedQueryParams = _e[1];
|
|
33
|
+
// immediately use the incoming value if it is different than the persisted value
|
|
34
|
+
// this allows components using this hook to avoid waiting for another state update before using the new values
|
|
35
|
+
var pathParams = react_1.useMemo(function () { return (lodash_1.isEqual(incomingPathParams, persistedPathParams) ? persistedPathParams : incomingPathParams); }, [incomingPathParams, persistedPathParams]);
|
|
36
|
+
var queryParams = react_1.useMemo(function () { return (lodash_1.isEqual(incomingQueryParams, persistedQueryParams) ? persistedQueryParams : incomingQueryParams); }, [incomingQueryParams, persistedQueryParams]);
|
|
37
|
+
// update the persisted pathParams and queryParams if they have changed for later comparisons with incoming values
|
|
38
|
+
react_1.useEffect(function () {
|
|
39
|
+
if (!lodash_1.isEqual(persistedPathParams, pathParams)) {
|
|
40
|
+
setPersistedPathParams(pathParams);
|
|
41
|
+
}
|
|
42
|
+
}, [persistedPathParams, pathParams]);
|
|
43
|
+
react_1.useEffect(function () {
|
|
44
|
+
if (!lodash_1.isEqual(persistedQueryParams, queryParams)) {
|
|
45
|
+
setPersistedQueryParams(queryParams);
|
|
46
|
+
}
|
|
47
|
+
}, [persistedQueryParams, queryParams]);
|
|
48
|
+
var _f = react_redux_1.useSelector(function (state) {
|
|
49
|
+
return selectorFunction({ guid: guid, modelName: modelName, pathParams: pathParams, routeMatchParams: routeMatchParams, state: state });
|
|
50
|
+
}), model = _f.model, isCollectionItem = _f.isCollectionItem;
|
|
51
|
+
var previousModelName = usePrevious_1.usePrevious(modelName);
|
|
52
|
+
var previousModel = usePrevious_1.usePrevious(model);
|
|
53
|
+
var previousPathParams = usePrevious_1.usePrevious(pathParams);
|
|
54
|
+
var previousQueryParams = usePrevious_1.usePrevious(queryParams);
|
|
55
|
+
var modelArray = react_1.useMemo(function () { return (!isCollectionItem ? model_1.getModelArray(model, guid) : undefined); }, [guid, isCollectionItem, model]);
|
|
56
|
+
var modelMinusRelations = react_1.useMemo(function () { return (isCollectionItem ? model_1.getModelMinusRelations(model) : undefined); }, [isCollectionItem, model]);
|
|
57
|
+
var changeModelStatus = react_1.useCallback(function (newModelStatus, newFetchingId) {
|
|
58
|
+
setFetchingId(newFetchingId);
|
|
59
|
+
setModelStatus(newModelStatus);
|
|
60
|
+
}, []);
|
|
61
|
+
var methodConfig = react_1.useMemo(function () { return ({
|
|
62
|
+
modelName: modelName,
|
|
63
|
+
pathParams: pathParams,
|
|
64
|
+
queryParams: queryParams,
|
|
65
|
+
guid: guid,
|
|
66
|
+
isInitialized: isInitialized,
|
|
67
|
+
changeModelStatus: changeModelStatus,
|
|
68
|
+
disableAutoLoad: disableAutoLoad
|
|
69
|
+
}); }, [modelName, pathParams, queryParams, guid, isInitialized, changeModelStatus, disableAutoLoad]);
|
|
70
|
+
// update `modelStatus` when `model` fetch finishes
|
|
71
|
+
react_1.useEffect(function () {
|
|
72
|
+
model_1.handleModelFetchFinish(model, previousModel, fetchingId, changeModelStatus);
|
|
73
|
+
}, [fetchingId, model, previousModel, changeModelStatus]);
|
|
74
|
+
return {
|
|
75
|
+
previousModelName: previousModelName,
|
|
76
|
+
guid: guid,
|
|
77
|
+
model: model,
|
|
78
|
+
modelArray: modelArray,
|
|
79
|
+
modelMinusRelations: modelMinusRelations,
|
|
80
|
+
previousModel: previousModel,
|
|
81
|
+
pathParams: pathParams,
|
|
82
|
+
previousPathParams: previousPathParams,
|
|
83
|
+
queryParams: queryParams,
|
|
84
|
+
previousQueryParams: previousQueryParams,
|
|
85
|
+
modelStatus: modelStatus,
|
|
86
|
+
previousModelStatus: previousModelStatus,
|
|
87
|
+
fetchingId: fetchingId,
|
|
88
|
+
methodConfig: methodConfig,
|
|
89
|
+
isInitialized: isInitialized,
|
|
90
|
+
setIsInitialized: setIsInitialized
|
|
135
91
|
};
|
|
136
|
-
$[20] = disableAutoLoad;
|
|
137
|
-
$[21] = guid;
|
|
138
|
-
$[22] = isInitialized;
|
|
139
|
-
$[23] = modelName;
|
|
140
|
-
$[24] = pathParams;
|
|
141
|
-
$[25] = queryParams;
|
|
142
|
-
$[26] = t6;
|
|
143
|
-
} else {
|
|
144
|
-
t6 = $[26];
|
|
145
|
-
}
|
|
146
|
-
const methodConfig = t6;
|
|
147
|
-
const previousRenderModel = (0, _usePrevious.usePreviousRender)(model);
|
|
148
|
-
(0, _model.handleModelFetchFinish)(model, previousRenderModel, fetchingId, changeModelStatus);
|
|
149
|
-
let t7;
|
|
150
|
-
if ($[27] !== fetchingId || $[28] !== guid || $[29] !== isInitialized || $[30] !== methodConfig || $[31] !== model || $[32] !== modelArray || $[33] !== modelMinusRelations || $[34] !== modelStatus || $[35] !== pathParams || $[36] !== previousModel || $[37] !== previousModelName || $[38] !== previousModelStatus || $[39] !== previousPathParams || $[40] !== previousQueryParams || $[41] !== queryParams) {
|
|
151
|
-
t7 = {
|
|
152
|
-
previousModelName,
|
|
153
|
-
guid,
|
|
154
|
-
model,
|
|
155
|
-
modelArray,
|
|
156
|
-
modelMinusRelations,
|
|
157
|
-
previousModel,
|
|
158
|
-
pathParams,
|
|
159
|
-
previousPathParams,
|
|
160
|
-
queryParams,
|
|
161
|
-
previousQueryParams,
|
|
162
|
-
modelStatus,
|
|
163
|
-
previousModelStatus,
|
|
164
|
-
fetchingId,
|
|
165
|
-
methodConfig,
|
|
166
|
-
isInitialized,
|
|
167
|
-
setIsInitialized
|
|
168
|
-
};
|
|
169
|
-
$[27] = fetchingId;
|
|
170
|
-
$[28] = guid;
|
|
171
|
-
$[29] = isInitialized;
|
|
172
|
-
$[30] = methodConfig;
|
|
173
|
-
$[31] = model;
|
|
174
|
-
$[32] = modelArray;
|
|
175
|
-
$[33] = modelMinusRelations;
|
|
176
|
-
$[34] = modelStatus;
|
|
177
|
-
$[35] = pathParams;
|
|
178
|
-
$[36] = previousModel;
|
|
179
|
-
$[37] = previousModelName;
|
|
180
|
-
$[38] = previousModelStatus;
|
|
181
|
-
$[39] = previousPathParams;
|
|
182
|
-
$[40] = previousQueryParams;
|
|
183
|
-
$[41] = queryParams;
|
|
184
|
-
$[42] = t7;
|
|
185
|
-
} else {
|
|
186
|
-
t7 = $[42];
|
|
187
|
-
}
|
|
188
|
-
return t7;
|
|
189
92
|
}
|
|
190
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9yZWFjdFJlZHV4IiwiX3JlYWN0Um91dGVyIiwiX21vZGVsU3RhdHVzIiwiX21vZGVsIiwiX3VzZUd1aWQiLCJfdXNlUHJldmlvdXMiLCJ1c2VDb2xsZWN0aW9uQ29uZmlndXJhdGlvbiIsInByb3BzIiwic2VsZWN0b3JGdW5jdGlvbiIsIiQiLCJfcmVhY3RDb21waWxlclJ1bnRpbWUiLCJjIiwibW9kZWxOYW1lIiwicGF0aFBhcmFtcyIsInByb3BQYXRoUGFyYW1zIiwicXVlcnlQYXJhbXMiLCJpbmNvbWluZ1F1ZXJ5UGFyYW1zIiwiZGlzYWJsZUF1dG9Mb2FkIiwiZ3VpZCIsInVzZUd1aWQiLCJyb3V0ZU1hdGNoUGFyYW1zIiwidXNlUGFyYW1zIiwiaXNJbml0aWFsaXplZCIsInNldElzSW5pdGlhbGl6ZWQiLCJ1c2VTdGF0ZSIsIm1vZGVsU3RhdHVzIiwic2V0TW9kZWxTdGF0dXMiLCJNT0RFTF9TVEFUVVMiLCJVTklOSVRJQUxJWkVEIiwiZmV0Y2hpbmdJZCIsInNldEZldGNoaW5nSWQiLCJwZXJzaXN0ZWRQYXRoUGFyYW1zIiwic2V0UGVyc2lzdGVkUGF0aFBhcmFtcyIsInBlcnNpc3RlZFF1ZXJ5UGFyYW1zIiwic2V0UGVyc2lzdGVkUXVlcnlQYXJhbXMiLCJ0MCIsImlzRXF1YWwiLCJ0MSIsInQyIiwic3RhdGUiLCJtb2RlbCIsImlzQ29sbGVjdGlvbkl0ZW0iLCJ1c2VTZWxlY3RvciIsInByZXZpb3VzTW9kZWwiLCJ1c2VQcmV2aW91c1ZhbHVlIiwicHJldmlvdXNNb2RlbE5hbWUiLCJwcmV2aW91c01vZGVsU3RhdHVzIiwicHJldmlvdXNQYXRoUGFyYW1zIiwicHJldmlvdXNRdWVyeVBhcmFtcyIsInQzIiwiZ2V0TW9kZWxBcnJheSIsInVuZGVmaW5lZCIsIm1vZGVsQXJyYXkiLCJ0NCIsImdldE1vZGVsTWludXNSZWxhdGlvbnMiLCJtb2RlbE1pbnVzUmVsYXRpb25zIiwidDUiLCJTeW1ib2wiLCJmb3IiLCJuZXdNb2RlbFN0YXR1cyIsIm5ld0ZldGNoaW5nSWQiLCJjaGFuZ2VNb2RlbFN0YXR1cyIsInQ2IiwibWV0aG9kQ29uZmlnIiwicHJldmlvdXNSZW5kZXJNb2RlbCIsInVzZVByZXZpb3VzUmVuZGVyIiwiaGFuZGxlTW9kZWxGZXRjaEZpbmlzaCIsInQ3Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUNvbGxlY3Rpb25Db25maWd1cmF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gnXHJcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4J1xyXG5pbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXInXHJcbmltcG9ydCB7IE1PREVMX1NUQVRVUyB9IGZyb20gJy4uL2NvbnN0YW50cy9tb2RlbFN0YXR1cydcclxuaW1wb3J0IHtcclxuXHRCYXNlUmVkdXhTdGF0ZSxcclxuXHRDb2xsZWN0aW9uQ29tbW9uUHJvcHMsXHJcblx0Q29sbGVjdGlvbkNvbW1vblN0YXRlLFxyXG5cdENvbGxlY3Rpb25NZXRob2RDb25maWd1cmF0aW9uLFxyXG5cdENvbGxlY3Rpb25TZWxlY3Rvck1ldGhvZCxcclxuXHRNb2RlbCxcclxuXHRNb2RlbENvbGxlY3Rpb25cclxufSBmcm9tICcuLi90eXBlcydcclxuaW1wb3J0IHsgZ2V0TW9kZWxBcnJheSwgZ2V0TW9kZWxNaW51c1JlbGF0aW9ucywgaGFuZGxlTW9kZWxGZXRjaEZpbmlzaCB9IGZyb20gJy4uL3V0aWxzL21vZGVsJ1xyXG5pbXBvcnQgeyB1c2VHdWlkIH0gZnJvbSAnLi91c2VHdWlkJ1xyXG5pbXBvcnQgeyB1c2VQcmV2aW91c1JlbmRlciwgdXNlUHJldmlvdXNWYWx1ZSB9IGZyb20gJy4vdXNlUHJldmlvdXMnXHJcblxyXG4vKiogQ29uZmlndXJhdGlvbiByZXR1cm5lZCBieSBgdXNlQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb25gIGZvciB1c2UgaW4gYHVzZUNvbGxlY3Rpb25gIGFuZCBgdXNlQ29sbGVjdGlvbkl0ZW1gICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb248VE1vZGVsIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgQ29sbGVjdGlvbkNvbW1vblN0YXRlIHtcclxuXHRwcmV2aW91c01vZGVsTmFtZTogc3RyaW5nXHJcblx0Z3VpZDogc3RyaW5nXHJcblx0bW9kZWw6IFRNb2RlbCB8IE1vZGVsQ29sbGVjdGlvbjxUTW9kZWw+XHJcblx0bW9kZWxBcnJheT86IFRNb2RlbFtdXHJcblx0bW9kZWxNaW51c1JlbGF0aW9ucz86IFBhcnRpYWw8VE1vZGVsPlxyXG5cdHByZXZpb3VzTW9kZWw6IFRNb2RlbCB8IE1vZGVsQ29sbGVjdGlvbjxUTW9kZWw+XHJcblx0cGF0aFBhcmFtczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPlxyXG5cdHByZXZpb3VzUGF0aFBhcmFtczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPlxyXG5cdHF1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj5cclxuXHRwcmV2aW91c1F1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj5cclxuXHRtZXRob2RDb25maWc6IENvbGxlY3Rpb25NZXRob2RDb25maWd1cmF0aW9uXHJcblx0aXNJbml0aWFsaXplZDogYm9vbGVhblxyXG5cdHNldElzSW5pdGlhbGl6ZWQ6ICh2YWx1ZTogUmVhY3QuU2V0U3RhdGVBY3Rpb248Ym9vbGVhbj4pID0+IHZvaWRcclxufVxyXG5cclxuLyoqXHJcbiAqIGB1c2VDb2xsZWN0aW9uQ29uZmlndXJhdGlvbmAgc2hhcmVzIGNvbW1vbiBsb2dpYyBiZXR3ZWVuIGB1c2VDb2xsZWN0aW9uYCBhbmQgYHVzZUNvbGxlY3Rpb25JdGVtYCxcclxuICogaGFuZGxpbmcgbW9zdCBvZiB0aGUgc3RhdGUsIHJvdXRlLCBhbmQgcmVkdXggY29uZmlndXJhdGlvbi5cclxuICpcclxuICogQHBhcmFtIHByb3BzIFRoZSBwcm9wcyB1c2VkIHRvIGNhbGwgdGhlIG91dGVyIGhvb2ssIGB1c2VDb2xsZWN0aW9uYCBvciBgdXNlQ29sbGVjdGlvbkl0ZW1gXHJcbiAqIEBwYXJhbSBzZWxlY3RvckZ1bmN0aW9uIFRoZSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgdXNlZCB0byBzZWxlY3QgdGhlIGBtb2RlbGAgZnJvbSByZWR1eC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1c2VDb2xsZWN0aW9uQ29uZmlndXJhdGlvbjxUTW9kZWwgZXh0ZW5kcyBNb2RlbD4oXHJcblx0cHJvcHM6IENvbGxlY3Rpb25Db21tb25Qcm9wcyxcclxuXHRzZWxlY3RvckZ1bmN0aW9uOiBDb2xsZWN0aW9uU2VsZWN0b3JNZXRob2RcclxuKTogQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb248VE1vZGVsPiB7XHJcblx0Y29uc3QgeyBtb2RlbE5hbWUsIHBhdGhQYXJhbXM6IHByb3BQYXRoUGFyYW1zLCBxdWVyeVBhcmFtczogaW5jb21pbmdRdWVyeVBhcmFtcywgZGlzYWJsZUF1dG9Mb2FkIH0gPSBwcm9wc1xyXG5cdGNvbnN0IGd1aWQgPSB1c2VHdWlkKClcclxuXHRjb25zdCByb3V0ZU1hdGNoUGFyYW1zID0gdXNlUGFyYW1zKClcclxuXHJcblx0Y29uc3QgW2lzSW5pdGlhbGl6ZWQsIHNldElzSW5pdGlhbGl6ZWRdID0gdXNlU3RhdGUoZmFsc2UpXHJcblx0Y29uc3QgW21vZGVsU3RhdHVzLCBzZXRNb2RlbFN0YXR1c10gPSB1c2VTdGF0ZTxNT0RFTF9TVEFUVVM+KE1PREVMX1NUQVRVUy5VTklOSVRJQUxJWkVEKVxyXG5cdGNvbnN0IFtmZXRjaGluZ0lkLCBzZXRGZXRjaGluZ0lkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bWJlcj4oKVxyXG5cclxuXHQvLyBrZWVwIHRyYWNrIG9mIHBhdGhQYXJhbXMgYW5kIHF1ZXJ5UGFyYW1zIHZhbHVlcyBpbiBzdGF0ZVxyXG5cdC8vIHRoZSBwcm9wL2NhbGN1bGF0ZWQgdmFsdWVzIHdpbGwgYWxtb3N0IGFsd2F5cyBiZSBhIG5ldyBhcnJheSBvciBvYmplY3QsIHdoaWNoIGNhdXNlcyBpc3N1ZXMgZm9yIGhvb2sgZGVwc1xyXG5cdGNvbnN0IFtwZXJzaXN0ZWRQYXRoUGFyYW1zLCBzZXRQZXJzaXN0ZWRQYXRoUGFyYW1zXSA9IHVzZVN0YXRlKHByb3BQYXRoUGFyYW1zKVxyXG5cdGNvbnN0IFtwZXJzaXN0ZWRRdWVyeVBhcmFtcywgc2V0UGVyc2lzdGVkUXVlcnlQYXJhbXNdID0gdXNlU3RhdGUoaW5jb21pbmdRdWVyeVBhcmFtcylcclxuXHQvLyBpbW1lZGlhdGVseSB1c2UgdGhlIGluY29taW5nIHZhbHVlIGlmIGl0IGlzIGRpZmZlcmVudCB0aGFuIHRoZSBwZXJzaXN0ZWQgdmFsdWVcclxuXHQvLyB0aGlzIGFsbG93cyBjb21wb25lbnRzIHVzaW5nIHRoaXMgaG9vayB0byBhdm9pZCB3YWl0aW5nIGZvciBhbm90aGVyIHN0YXRlIHVwZGF0ZSBiZWZvcmUgdXNpbmcgdGhlIG5ldyB2YWx1ZXNcclxuXHRjb25zdCBwYXRoUGFyYW1zID0gdXNlTWVtbyhcclxuXHRcdCgpID0+IChpc0VxdWFsKHByb3BQYXRoUGFyYW1zLCBwZXJzaXN0ZWRQYXRoUGFyYW1zKSA/IHBlcnNpc3RlZFBhdGhQYXJhbXMgOiBwcm9wUGF0aFBhcmFtcyksXHJcblx0XHRbcHJvcFBhdGhQYXJhbXMsIHBlcnNpc3RlZFBhdGhQYXJhbXNdXHJcblx0KVxyXG5cdGNvbnN0IHF1ZXJ5UGFyYW1zID0gdXNlTWVtbyhcclxuXHRcdCgpID0+IChpc0VxdWFsKGluY29taW5nUXVlcnlQYXJhbXMsIHBlcnNpc3RlZFF1ZXJ5UGFyYW1zKSA/IHBlcnNpc3RlZFF1ZXJ5UGFyYW1zIDogaW5jb21pbmdRdWVyeVBhcmFtcyksXHJcblx0XHRbaW5jb21pbmdRdWVyeVBhcmFtcywgcGVyc2lzdGVkUXVlcnlQYXJhbXNdXHJcblx0KVxyXG5cdC8vIHVwZGF0ZSB0aGUgcGVyc2lzdGVkIHBhdGhQYXJhbXMgYW5kIHF1ZXJ5UGFyYW1zIGlmIHRoZXkgaGF2ZSBjaGFuZ2VkIGZvciBsYXRlciBjb21wYXJpc29ucyB3aXRoIGluY29taW5nIHZhbHVlc1xyXG5cdGlmICghaXNFcXVhbChwZXJzaXN0ZWRQYXRoUGFyYW1zLCBwYXRoUGFyYW1zKSkge1xyXG5cdFx0c2V0UGVyc2lzdGVkUGF0aFBhcmFtcyhwYXRoUGFyYW1zKVxyXG5cdH1cclxuXHRpZiAoIWlzRXF1YWwocGVyc2lzdGVkUXVlcnlQYXJhbXMsIHF1ZXJ5UGFyYW1zKSkge1xyXG5cdFx0c2V0UGVyc2lzdGVkUXVlcnlQYXJhbXMocXVlcnlQYXJhbXMpXHJcblx0fVxyXG5cclxuXHRjb25zdCB7IG1vZGVsLCBpc0NvbGxlY3Rpb25JdGVtIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IEJhc2VSZWR1eFN0YXRlKSA9PiB7XHJcblx0XHRyZXR1cm4gc2VsZWN0b3JGdW5jdGlvbjxUTW9kZWw+KHsgZ3VpZCwgbW9kZWxOYW1lLCBwYXRoUGFyYW1zLCByb3V0ZU1hdGNoUGFyYW1zLCBzdGF0ZSB9KVxyXG5cdH0pXHJcblx0Y29uc3QgcHJldmlvdXNNb2RlbCA9IHVzZVByZXZpb3VzVmFsdWUobW9kZWwpXHJcblx0Y29uc3QgcHJldmlvdXNNb2RlbE5hbWUgPSB1c2VQcmV2aW91c1ZhbHVlKG1vZGVsTmFtZSlcclxuXHRjb25zdCBwcmV2aW91c01vZGVsU3RhdHVzID0gdXNlUHJldmlvdXNWYWx1ZShtb2RlbFN0YXR1cylcclxuXHRjb25zdCBwcmV2aW91c1BhdGhQYXJhbXMgPSB1c2VQcmV2aW91c1ZhbHVlKHBhdGhQYXJhbXMpXHJcblx0Y29uc3QgcHJldmlvdXNRdWVyeVBhcmFtcyA9IHVzZVByZXZpb3VzVmFsdWUocXVlcnlQYXJhbXMpXHJcblxyXG5cdGNvbnN0IG1vZGVsQXJyYXkgPSB1c2VNZW1vKFxyXG5cdFx0KCkgPT4gKCFpc0NvbGxlY3Rpb25JdGVtID8gZ2V0TW9kZWxBcnJheTxUTW9kZWw+KG1vZGVsIGFzIE1vZGVsQ29sbGVjdGlvbjxUTW9kZWw+LCBndWlkKSA6IHVuZGVmaW5lZCksXHJcblx0XHRbZ3VpZCwgaXNDb2xsZWN0aW9uSXRlbSwgbW9kZWxdXHJcblx0KVxyXG5cdGNvbnN0IG1vZGVsTWludXNSZWxhdGlvbnMgPSB1c2VNZW1vKFxyXG5cdFx0KCkgPT4gKGlzQ29sbGVjdGlvbkl0ZW0gPyBnZXRNb2RlbE1pbnVzUmVsYXRpb25zKG1vZGVsIGFzIFRNb2RlbCkgOiB1bmRlZmluZWQpLFxyXG5cdFx0W2lzQ29sbGVjdGlvbkl0ZW0sIG1vZGVsXVxyXG5cdClcclxuXHJcblx0Y29uc3QgY2hhbmdlTW9kZWxTdGF0dXMgPSB1c2VDYWxsYmFjaygobmV3TW9kZWxTdGF0dXM6IE1PREVMX1NUQVRVUywgbmV3RmV0Y2hpbmdJZD86IHN0cmluZyB8IG51bWJlcikgPT4ge1xyXG5cdFx0c2V0RmV0Y2hpbmdJZChuZXdGZXRjaGluZ0lkKVxyXG5cdFx0c2V0TW9kZWxTdGF0dXMobmV3TW9kZWxTdGF0dXMpXHJcblx0fSwgW10pXHJcblxyXG5cdGNvbnN0IG1ldGhvZENvbmZpZzogQ29sbGVjdGlvbk1ldGhvZENvbmZpZ3VyYXRpb24gPSB1c2VNZW1vKFxyXG5cdFx0KCkgPT4gKHtcclxuXHRcdFx0bW9kZWxOYW1lLFxyXG5cdFx0XHRwYXRoUGFyYW1zLFxyXG5cdFx0XHRxdWVyeVBhcmFtcyxcclxuXHRcdFx0Z3VpZCxcclxuXHRcdFx0aXNJbml0aWFsaXplZCxcclxuXHRcdFx0Y2hhbmdlTW9kZWxTdGF0dXMsXHJcblx0XHRcdGRpc2FibGVBdXRvTG9hZFxyXG5cdFx0fSksXHJcblx0XHRbbW9kZWxOYW1lLCBwYXRoUGFyYW1zLCBxdWVyeVBhcmFtcywgZ3VpZCwgaXNJbml0aWFsaXplZCwgY2hhbmdlTW9kZWxTdGF0dXMsIGRpc2FibGVBdXRvTG9hZF1cclxuXHQpXHJcblxyXG5cdGNvbnN0IHByZXZpb3VzUmVuZGVyTW9kZWwgPSB1c2VQcmV2aW91c1JlbmRlcihtb2RlbClcclxuXHQvLyB1cGRhdGUgYG1vZGVsU3RhdHVzYCB3aGVuIGBtb2RlbGAgZmV0Y2ggZmluaXNoZXNcclxuXHRoYW5kbGVNb2RlbEZldGNoRmluaXNoKG1vZGVsLCBwcmV2aW91c1JlbmRlck1vZGVsLCBmZXRjaGluZ0lkLCBjaGFuZ2VNb2RlbFN0YXR1cylcclxuXHJcblx0cmV0dXJuIHtcclxuXHRcdHByZXZpb3VzTW9kZWxOYW1lLFxyXG5cdFx0Z3VpZCxcclxuXHRcdG1vZGVsLFxyXG5cdFx0bW9kZWxBcnJheSxcclxuXHRcdG1vZGVsTWludXNSZWxhdGlvbnMsXHJcblx0XHRwcmV2aW91c01vZGVsLFxyXG5cdFx0cGF0aFBhcmFtcyxcclxuXHRcdHByZXZpb3VzUGF0aFBhcmFtcyxcclxuXHRcdHF1ZXJ5UGFyYW1zLFxyXG5cdFx0cHJldmlvdXNRdWVyeVBhcmFtcyxcclxuXHRcdG1vZGVsU3RhdHVzLFxyXG5cdFx0cHJldmlvdXNNb2RlbFN0YXR1cyxcclxuXHRcdGZldGNoaW5nSWQsXHJcblx0XHRtZXRob2RDb25maWcsXHJcblx0XHRpc0luaXRpYWxpemVkLFxyXG5cdFx0c2V0SXNJbml0aWFsaXplZFxyXG5cdH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxZQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFKLE9BQUE7QUFVQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxRQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFQLE9BQUE7QUFFQTs7QUFpQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFBUSwyQkFBQUMsS0FBQSxFQUFBQyxnQkFBQTtFQUFBLE1BQUFDLENBQUEsT0FB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
|
|
93
|
+
exports.useCollectionConfiguration = useCollectionConfiguration;
|
|
@@ -1,159 +1,62 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _reactCompilerRuntime = require("react-compiler-runtime");
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _collection = require("../utils/collection");
|
|
10
|
-
var _useCollectionConfiguration = require("./useCollectionConfiguration");
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCollectionItem = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var collection_1 = require("../utils/collection");
|
|
6
|
+
var useCollectionConfiguration_1 = require("./useCollectionConfiguration");
|
|
11
7
|
function useCollectionItem(props) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
methodConfig
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
$[7] = t2;
|
|
65
|
-
} else {
|
|
66
|
-
t2 = $[7];
|
|
67
|
-
}
|
|
68
|
-
const update = t2;
|
|
69
|
-
let t3;
|
|
70
|
-
if ($[8] !== methodConfig || $[9] !== model) {
|
|
71
|
-
t3 = t4 => {
|
|
72
|
-
const params_2 = t4 === undefined ? {} : t4;
|
|
73
|
-
(0, _collection.deleteCollectionItem)(model, methodConfig, params_2);
|
|
8
|
+
var modelName = props.modelName, disableAutoLoadOnParamsChange = props.disableAutoLoadOnParamsChange;
|
|
9
|
+
// state, route, and redux
|
|
10
|
+
var config = useCollectionConfiguration_1.useCollectionConfiguration(props, collection_1.selectCollectionItemFromState);
|
|
11
|
+
var previousModelName = config.previousModelName, guid = config.guid, model = config.model, pathParams = config.pathParams, previousPathParams = config.previousPathParams, queryParams = config.queryParams, previousQueryParams = config.previousQueryParams, modelStatus = config.modelStatus, previousModelStatus = config.previousModelStatus, isInitialized = config.isInitialized, setIsInitialized = config.setIsInitialized, methodConfig = config.methodConfig, modelMinusRelations = config.modelMinusRelations;
|
|
12
|
+
// decorated methods
|
|
13
|
+
var load = react_1.useCallback(function (params) {
|
|
14
|
+
if (params === void 0) { params = {}; }
|
|
15
|
+
collection_1.loadCollectionItem(methodConfig, params);
|
|
16
|
+
}, [methodConfig]);
|
|
17
|
+
var create = react_1.useCallback(function (params) {
|
|
18
|
+
collection_1.createCollectionItem(model, methodConfig, params);
|
|
19
|
+
}, [model, methodConfig]);
|
|
20
|
+
var update = react_1.useCallback(function (params) {
|
|
21
|
+
collection_1.updateCollectionItem(model, methodConfig, params);
|
|
22
|
+
}, [model, methodConfig]);
|
|
23
|
+
var deleteItem = react_1.useCallback(function (params) {
|
|
24
|
+
if (params === void 0) { params = {}; }
|
|
25
|
+
collection_1.deleteCollectionItem(model, methodConfig, params);
|
|
26
|
+
}, [model, methodConfig]);
|
|
27
|
+
// initialize and auto-load, if needed (runs once)
|
|
28
|
+
react_1.useEffect(function () {
|
|
29
|
+
if (!isInitialized) {
|
|
30
|
+
collection_1.initializeCollectionItem(model, load, methodConfig);
|
|
31
|
+
setIsInitialized(true);
|
|
32
|
+
}
|
|
33
|
+
}, [isInitialized, load, methodConfig, model, setIsInitialized]);
|
|
34
|
+
// re-load if `pathParams` or `queryParams` change, unless `disableAutoLoadOnParamsChange` is true
|
|
35
|
+
react_1.useEffect(function () {
|
|
36
|
+
if (!disableAutoLoadOnParamsChange) {
|
|
37
|
+
collection_1.handleCollectionItemParamsChange(modelName, previousModelName, pathParams, previousPathParams, queryParams, previousQueryParams, load);
|
|
38
|
+
}
|
|
39
|
+
}, [
|
|
40
|
+
disableAutoLoadOnParamsChange,
|
|
41
|
+
load,
|
|
42
|
+
modelName,
|
|
43
|
+
pathParams,
|
|
44
|
+
previousModelName,
|
|
45
|
+
previousPathParams,
|
|
46
|
+
previousQueryParams,
|
|
47
|
+
queryParams
|
|
48
|
+
]);
|
|
49
|
+
return {
|
|
50
|
+
guid: guid,
|
|
51
|
+
model: model,
|
|
52
|
+
modelMinusRelations: modelMinusRelations,
|
|
53
|
+
modelStatus: modelStatus,
|
|
54
|
+
previousModelStatus: previousModelStatus,
|
|
55
|
+
load: load,
|
|
56
|
+
stopPeriodicLoad: collection_1.stopCollectionPeriodicLoad,
|
|
57
|
+
create: create,
|
|
58
|
+
update: update,
|
|
59
|
+
delete: deleteItem
|
|
74
60
|
};
|
|
75
|
-
$[8] = methodConfig;
|
|
76
|
-
$[9] = model;
|
|
77
|
-
$[10] = t3;
|
|
78
|
-
} else {
|
|
79
|
-
t3 = $[10];
|
|
80
|
-
}
|
|
81
|
-
const deleteItem = t3;
|
|
82
|
-
let t4;
|
|
83
|
-
let t5;
|
|
84
|
-
if ($[11] !== isInitialized || $[12] !== load || $[13] !== methodConfig || $[14] !== model || $[15] !== setIsInitialized) {
|
|
85
|
-
t4 = () => {
|
|
86
|
-
if (!isInitialized) {
|
|
87
|
-
(0, _collection.initializeCollectionItem)(model, load, methodConfig);
|
|
88
|
-
setIsInitialized(true);
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
t5 = [isInitialized, load, methodConfig, model, setIsInitialized];
|
|
92
|
-
$[11] = isInitialized;
|
|
93
|
-
$[12] = load;
|
|
94
|
-
$[13] = methodConfig;
|
|
95
|
-
$[14] = model;
|
|
96
|
-
$[15] = setIsInitialized;
|
|
97
|
-
$[16] = t4;
|
|
98
|
-
$[17] = t5;
|
|
99
|
-
} else {
|
|
100
|
-
t4 = $[16];
|
|
101
|
-
t5 = $[17];
|
|
102
|
-
}
|
|
103
|
-
(0, _react.useEffect)(t4, t5);
|
|
104
|
-
let t6;
|
|
105
|
-
let t7;
|
|
106
|
-
if ($[18] !== disableAutoLoadOnParamsChange || $[19] !== load || $[20] !== modelName || $[21] !== pathParams || $[22] !== previousModelName || $[23] !== previousPathParams || $[24] !== previousQueryParams || $[25] !== queryParams) {
|
|
107
|
-
t6 = () => {
|
|
108
|
-
if (!disableAutoLoadOnParamsChange) {
|
|
109
|
-
(0, _collection.handleCollectionItemParamsChange)(modelName, previousModelName, pathParams, previousPathParams, queryParams, previousQueryParams, load);
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
t7 = [disableAutoLoadOnParamsChange, load, modelName, pathParams, previousModelName, previousPathParams, previousQueryParams, queryParams];
|
|
113
|
-
$[18] = disableAutoLoadOnParamsChange;
|
|
114
|
-
$[19] = load;
|
|
115
|
-
$[20] = modelName;
|
|
116
|
-
$[21] = pathParams;
|
|
117
|
-
$[22] = previousModelName;
|
|
118
|
-
$[23] = previousPathParams;
|
|
119
|
-
$[24] = previousQueryParams;
|
|
120
|
-
$[25] = queryParams;
|
|
121
|
-
$[26] = t6;
|
|
122
|
-
$[27] = t7;
|
|
123
|
-
} else {
|
|
124
|
-
t6 = $[26];
|
|
125
|
-
t7 = $[27];
|
|
126
|
-
}
|
|
127
|
-
(0, _react.useEffect)(t6, t7);
|
|
128
|
-
const t8 = model;
|
|
129
|
-
const t9 = modelMinusRelations;
|
|
130
|
-
let t10;
|
|
131
|
-
if ($[28] !== create || $[29] !== deleteItem || $[30] !== guid || $[31] !== load || $[32] !== modelStatus || $[33] !== previousModelStatus || $[34] !== t8 || $[35] !== t9 || $[36] !== update) {
|
|
132
|
-
t10 = {
|
|
133
|
-
guid,
|
|
134
|
-
model: t8,
|
|
135
|
-
modelMinusRelations: t9,
|
|
136
|
-
modelStatus,
|
|
137
|
-
previousModelStatus,
|
|
138
|
-
load,
|
|
139
|
-
stopPeriodicLoad: _collection.stopCollectionPeriodicLoad,
|
|
140
|
-
create,
|
|
141
|
-
update,
|
|
142
|
-
delete: deleteItem
|
|
143
|
-
};
|
|
144
|
-
$[28] = create;
|
|
145
|
-
$[29] = deleteItem;
|
|
146
|
-
$[30] = guid;
|
|
147
|
-
$[31] = load;
|
|
148
|
-
$[32] = modelStatus;
|
|
149
|
-
$[33] = previousModelStatus;
|
|
150
|
-
$[34] = t8;
|
|
151
|
-
$[35] = t9;
|
|
152
|
-
$[36] = update;
|
|
153
|
-
$[37] = t10;
|
|
154
|
-
} else {
|
|
155
|
-
t10 = $[37];
|
|
156
|
-
}
|
|
157
|
-
return t10;
|
|
158
61
|
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2NvbGxlY3Rpb24iLCJfdXNlQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb24iLCJ1c2VDb2xsZWN0aW9uSXRlbSIsInByb3BzIiwiJCIsIl9yZWFjdENvbXBpbGVyUnVudGltZSIsImMiLCJtb2RlbE5hbWUiLCJkaXNhYmxlQXV0b0xvYWRPblBhcmFtc0NoYW5nZSIsImNvbmZpZyIsInVzZUNvbGxlY3Rpb25Db25maWd1cmF0aW9uIiwic2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUiLCJwcmV2aW91c01vZGVsTmFtZSIsImd1aWQiLCJtb2RlbCIsInBhdGhQYXJhbXMiLCJwcmV2aW91c1BhdGhQYXJhbXMiLCJxdWVyeVBhcmFtcyIsInByZXZpb3VzUXVlcnlQYXJhbXMiLCJtb2RlbFN0YXR1cyIsInByZXZpb3VzTW9kZWxTdGF0dXMiLCJpc0luaXRpYWxpemVkIiwic2V0SXNJbml0aWFsaXplZCIsIm1ldGhvZENvbmZpZyIsIm1vZGVsTWludXNSZWxhdGlvbnMiLCJ0MCIsInQxIiwicGFyYW1zIiwidW5kZWZpbmVkIiwibG9hZENvbGxlY3Rpb25JdGVtIiwibG9hZCIsInBhcmFtc18wIiwiY3JlYXRlQ29sbGVjdGlvbkl0ZW0iLCJjcmVhdGUiLCJ0MiIsInBhcmFtc18xIiwidXBkYXRlQ29sbGVjdGlvbkl0ZW0iLCJ1cGRhdGUiLCJ0MyIsInQ0IiwicGFyYW1zXzIiLCJkZWxldGVDb2xsZWN0aW9uSXRlbSIsImRlbGV0ZUl0ZW0iLCJ0NSIsImluaXRpYWxpemVDb2xsZWN0aW9uSXRlbSIsInVzZUVmZmVjdCIsInQ2IiwidDciLCJoYW5kbGVDb2xsZWN0aW9uSXRlbVBhcmFtc0NoYW5nZSIsInQ4IiwidDkiLCJ0MTAiLCJzdG9wUGVyaW9kaWNMb2FkIiwic3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQiLCJkZWxldGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQ29sbGVjdGlvbkl0ZW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQge1xyXG5cdENvbGxlY3Rpb25Db21tb25Qcm9wcyxcclxuXHRDb2xsZWN0aW9uQ29tbW9uU3RhdGUsXHJcblx0Q29sbGVjdGlvbkNyZWF0ZVBhcmFtcyxcclxuXHRDb2xsZWN0aW9uSXRlbURlbGV0ZVBhcmFtcyxcclxuXHRDb2xsZWN0aW9uSXRlbURlcml2ZWRQcm9wcyxcclxuXHRDb2xsZWN0aW9uSXRlbUxvYWRQYXJhbXMsXHJcblx0Q29sbGVjdGlvbkl0ZW1NZXRob2RzLFxyXG5cdENvbGxlY3Rpb25JdGVtUmVkdXhSZXNwb25zZSxcclxuXHRDb2xsZWN0aW9uSXRlbVVwZGF0ZVBhcmFtcyxcclxuXHRNb2RlbFxyXG59IGZyb20gJy4uL3R5cGVzJ1xyXG5pbXBvcnQge1xyXG5cdGNyZWF0ZUNvbGxlY3Rpb25JdGVtLFxyXG5cdGRlbGV0ZUNvbGxlY3Rpb25JdGVtLFxyXG5cdGhhbmRsZUNvbGxlY3Rpb25JdGVtUGFyYW1zQ2hhbmdlLFxyXG5cdGluaXRpYWxpemVDb2xsZWN0aW9uSXRlbSxcclxuXHRsb2FkQ29sbGVjdGlvbkl0ZW0sXHJcblx0c2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUsXHJcblx0c3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQsXHJcblx0dXBkYXRlQ29sbGVjdGlvbkl0ZW1cclxufSBmcm9tICcuLi91dGlscy9jb2xsZWN0aW9uJ1xyXG5pbXBvcnQgeyB1c2VDb2xsZWN0aW9uQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vdXNlQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb24nXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZUNvbGxlY3Rpb25JdGVtUmVzcG9uc2U8VE1vZGVsIGV4dGVuZHMgTW9kZWw+XHJcblx0ZXh0ZW5kcyBDb2xsZWN0aW9uQ29tbW9uU3RhdGUsXHJcblx0XHRDb2xsZWN0aW9uSXRlbVJlZHV4UmVzcG9uc2U8VE1vZGVsPixcclxuXHRcdENvbGxlY3Rpb25JdGVtRGVyaXZlZFByb3BzPFRNb2RlbD4sXHJcblx0XHRDb2xsZWN0aW9uSXRlbU1ldGhvZHMge1xyXG5cdGd1aWQ6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29sbGVjdGlvbkl0ZW08VE1vZGVsIGV4dGVuZHMgTW9kZWw+KFxyXG5cdHByb3BzOiBDb2xsZWN0aW9uQ29tbW9uUHJvcHNcclxuKTogVXNlQ29sbGVjdGlvbkl0ZW1SZXNwb25zZTxUTW9kZWw+IHtcclxuXHRjb25zdCB7IG1vZGVsTmFtZSwgZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UgfSA9IHByb3BzXHJcblxyXG5cdC8vIHN0YXRlLCByb3V0ZSwgYW5kIHJlZHV4XHJcblx0Y29uc3QgY29uZmlnID0gdXNlQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb248VE1vZGVsPihwcm9wcywgc2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUpXHJcblx0Y29uc3Qge1xyXG5cdFx0cHJldmlvdXNNb2RlbE5hbWUsXHJcblx0XHRndWlkLFxyXG5cdFx0bW9kZWwsXHJcblx0XHRwYXRoUGFyYW1zLFxyXG5cdFx0cHJldmlvdXNQYXRoUGFyYW1zLFxyXG5cdFx0cXVlcnlQYXJhbXMsXHJcblx0XHRwcmV2aW91c1F1ZXJ5UGFyYW1zLFxyXG5cdFx0bW9kZWxTdGF0dXMsXHJcblx0XHRwcmV2aW91c01vZGVsU3RhdHVzLFxyXG5cdFx0aXNJbml0aWFsaXplZCxcclxuXHRcdHNldElzSW5pdGlhbGl6ZWQsXHJcblx0XHRtZXRob2RDb25maWcsXHJcblx0XHRtb2RlbE1pbnVzUmVsYXRpb25zXHJcblx0fSA9IGNvbmZpZ1xyXG5cclxuXHQvLyBkZWNvcmF0ZWQgbWV0aG9kc1xyXG5cdGNvbnN0IGxvYWQgPSB1c2VDYWxsYmFjayhcclxuXHRcdChwYXJhbXM6IENvbGxlY3Rpb25JdGVtTG9hZFBhcmFtcyA9IHt9KSA9PiB7XHJcblx0XHRcdGxvYWRDb2xsZWN0aW9uSXRlbShtZXRob2RDb25maWcsIHBhcmFtcylcclxuXHRcdH0sXHJcblx0XHRbbWV0aG9kQ29uZmlnXVxyXG5cdClcclxuXHJcblx0Y29uc3QgY3JlYXRlID0gdXNlQ2FsbGJhY2soXHJcblx0XHQocGFyYW1zOiBDb2xsZWN0aW9uQ3JlYXRlUGFyYW1zKSA9PiB7XHJcblx0XHRcdGNyZWF0ZUNvbGxlY3Rpb25JdGVtKG1vZGVsLCBtZXRob2RDb25maWcsIHBhcmFtcylcclxuXHRcdH0sXHJcblx0XHRbbW9kZWwsIG1ldGhvZENvbmZpZ11cclxuXHQpXHJcblxyXG5cdGNvbnN0IHVwZGF0ZSA9IHVzZUNhbGxiYWNrKFxyXG5cdFx0KHBhcmFtczogQ29sbGVjdGlvbkl0ZW1VcGRhdGVQYXJhbXMpID0+IHtcclxuXHRcdFx0dXBkYXRlQ29sbGVjdGlvbkl0ZW0obW9kZWwsIG1ldGhvZENvbmZpZywgcGFyYW1zKVxyXG5cdFx0fSxcclxuXHRcdFttb2RlbCwgbWV0aG9kQ29uZmlnXVxyXG5cdClcclxuXHJcblx0Y29uc3QgZGVsZXRlSXRlbSA9IHVzZUNhbGxiYWNrKFxyXG5cdFx0KHBhcmFtczogQ29sbGVjdGlvbkl0ZW1EZWxldGVQYXJhbXMgPSB7fSkgPT4ge1xyXG5cdFx0XHRkZWxldGVDb2xsZWN0aW9uSXRlbShtb2RlbCwgbWV0aG9kQ29uZmlnLCBwYXJhbXMpXHJcblx0XHR9LFxyXG5cdFx0W21vZGVsLCBtZXRob2RDb25maWddXHJcblx0KVxyXG5cclxuXHQvLyBpbml0aWFsaXplIGFuZCBhdXRvLWxvYWQsIGlmIG5lZWRlZCAocnVucyBvbmNlKVxyXG5cdHVzZUVmZmVjdCgoKSA9PiB7XHJcblx0XHRpZiAoIWlzSW5pdGlhbGl6ZWQpIHtcclxuXHRcdFx0aW5pdGlhbGl6ZUNvbGxlY3Rpb25JdGVtKG1vZGVsLCBsb2FkLCBtZXRob2RDb25maWcpXHJcblx0XHRcdHNldElzSW5pdGlhbGl6ZWQodHJ1ZSlcclxuXHRcdH1cclxuXHR9LCBbaXNJbml0aWFsaXplZCwgbG9hZCwgbWV0aG9kQ29uZmlnLCBtb2RlbCwgc2V0SXNJbml0aWFsaXplZF0pXHJcblxyXG5cdC8vIHJlLWxvYWQgaWYgYHBhdGhQYXJhbXNgIG9yIGBxdWVyeVBhcmFtc2AgY2hhbmdlLCB1bmxlc3MgYGRpc2FibGVBdXRvTG9hZE9uUGFyYW1zQ2hhbmdlYCBpcyB0cnVlXHJcblx0dXNlRWZmZWN0KCgpID0+IHtcclxuXHRcdGlmICghZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UpIHtcclxuXHRcdFx0aGFuZGxlQ29sbGVjdGlvbkl0ZW1QYXJhbXNDaGFuZ2UoXHJcblx0XHRcdFx0bW9kZWxOYW1lLFxyXG5cdFx0XHRcdHByZXZpb3VzTW9kZWxOYW1lLFxyXG5cdFx0XHRcdHBhdGhQYXJhbXMsXHJcblx0XHRcdFx0cHJldmlvdXNQYXRoUGFyYW1zLFxyXG5cdFx0XHRcdHF1ZXJ5UGFyYW1zLFxyXG5cdFx0XHRcdHByZXZpb3VzUXVlcnlQYXJhbXMsXHJcblx0XHRcdFx0bG9hZFxyXG5cdFx0XHQpXHJcblx0XHR9XHJcblx0fSwgW1xyXG5cdFx0ZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UsXHJcblx0XHRsb2FkLFxyXG5cdFx0bW9kZWxOYW1lLFxyXG5cdFx0cGF0aFBhcmFtcyxcclxuXHRcdHByZXZpb3VzTW9kZWxOYW1lLFxyXG5cdFx0cHJldmlvdXNQYXRoUGFyYW1zLFxyXG5cdFx0cHJldmlvdXNRdWVyeVBhcmFtcyxcclxuXHRcdHF1ZXJ5UGFyYW1zXHJcblx0XSlcclxuXHJcblx0cmV0dXJuIHtcclxuXHRcdGd1aWQsXHJcblx0XHRtb2RlbDogbW9kZWwgYXMgVE1vZGVsLFxyXG5cdFx0bW9kZWxNaW51c1JlbGF0aW9uczogbW9kZWxNaW51c1JlbGF0aW9ucyBhcyBQYXJ0aWFsPFRNb2RlbD4sXHJcblx0XHRtb2RlbFN0YXR1cyxcclxuXHRcdHByZXZpb3VzTW9kZWxTdGF0dXMsXHJcblx0XHRsb2FkLFxyXG5cdFx0c3RvcFBlcmlvZGljTG9hZDogc3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQsXHJcblx0XHRjcmVhdGUsXHJcblx0XHR1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
|
|
62
|
+
exports.useCollectionItem = useCollectionItem;
|
package/lib/hooks/useGuid.js
CHANGED
|
@@ -1,25 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _uuid = require("uuid");
|
|
10
|
-
/**
|
|
11
|
-
* `useGuid` generates and persists a unique guid for the lifetime of the component.
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useGuid = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var uuid_1 = require("uuid");
|
|
6
|
+
/**
|
|
7
|
+
* `useGuid` generates and persists a unique guid for the lifetime of the component.
|
|
12
8
|
*/
|
|
13
9
|
function useGuid() {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
t0 = (0, _uuid.v4)();
|
|
18
|
-
$[0] = t0;
|
|
19
|
-
} else {
|
|
20
|
-
t0 = $[0];
|
|
21
|
-
}
|
|
22
|
-
const [guid] = (0, _react.useState)(t0);
|
|
23
|
-
return guid;
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
11
|
+
var _a = react_1.useState(uuid_1.v4()), guid = _a[0], setGuid = _a[1];
|
|
12
|
+
return guid;
|
|
24
13
|
}
|
|
25
|
-
|
|
14
|
+
exports.useGuid = useGuid;
|
|
@@ -1,28 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* 'lag' one render behind the current value.
|
|
4
|
-
*
|
|
2
|
+
* `usePrevious` persists a previous `value` when the `value` changes.
|
|
5
3
|
* @param value A value, e.g. a prop or a value from `useState`.
|
|
6
|
-
* @deprecated Reading ref values in render is not recommended. If you want to use the previous value to make a one-time
|
|
7
|
-
* calculation based on a change, you probably want to use {@link usePreviousRender} instead. If you want to persist the
|
|
8
|
-
* previous value across renders, you probably want to use {@link usePreviousValue} instead.
|
|
9
4
|
*/
|
|
10
5
|
export declare function usePrevious<T>(value: T): T;
|
|
11
|
-
/**
|
|
12
|
-
* Persists a previous `value` when the `value` changes. It will continue to return the most recent value before the
|
|
13
|
-
* current one. This makes it useful for values used in display logic where the previous value should be remembered.
|
|
14
|
-
*
|
|
15
|
-
* @param currentValue The variable you to track the previous value of across renders.
|
|
16
|
-
*/
|
|
17
|
-
export declare function usePreviousValue<T>(currentValue: T): T;
|
|
18
|
-
/**
|
|
19
|
-
* Returns the value from the previous render. This will update to the new value on the next render (and immediately
|
|
20
|
-
* re-render your component), making it helpful to make one-time changes based on the difference between an object and
|
|
21
|
-
* its previous value.
|
|
22
|
-
*
|
|
23
|
-
* The immediate re-render caused by this hook will happen **before** calling useEffect hooks or rendering child
|
|
24
|
-
* components. Those hooks and child components will **not** see the render with different values.
|
|
25
|
-
*
|
|
26
|
-
* @param currentValue The variable you want to track the value of in the previous render.
|
|
27
|
-
*/
|
|
28
|
-
export declare function usePreviousRender<T>(currentValue: T): T;
|