@payloadcms/ui 3.24.0-canary.72057b1 → 3.24.0-canary.80e034e
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/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +2 -4
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +143 -108
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.d.ts.map +1 -1
- package/dist/elements/Banner/index.js +1 -2
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +6 -2
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +22 -20
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +12 -12
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/index.scss +21 -5
- package/dist/elements/Button/types.d.ts +5 -0
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.d.ts +7 -3
- package/dist/elements/Card/index.d.ts.map +1 -1
- package/dist/elements/Card/index.js +0 -2
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.d.ts +16 -0
- package/dist/elements/ConfirmationModal/index.d.ts.map +1 -0
- package/dist/elements/ConfirmationModal/index.js +158 -0
- package/dist/elements/ConfirmationModal/index.js.map +1 -0
- package/dist/elements/{GenerateConfirmation → ConfirmationModal}/index.scss +1 -1
- package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +220 -99
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +2 -0
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/types.d.ts +1 -0
- package/dist/elements/DatePicker/types.d.ts.map +1 -1
- package/dist/elements/DatePicker/types.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +37 -81
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.scss +0 -29
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +17 -44
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.scss +0 -29
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.js +67 -39
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +28 -12
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts +0 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +31 -56
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +3 -2
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditUpload/index.js +1 -1
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -17
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +2 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.d.ts +1 -0
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.d.ts +1 -2
- package/dist/elements/GenerateConfirmation/index.d.ts.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +23 -47
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +56 -113
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +6 -2
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/formatUrl.d.ts +4 -0
- package/dist/elements/Link/formatUrl.d.ts.map +1 -0
- package/dist/elements/Link/formatUrl.js +87 -0
- package/dist/elements/Link/formatUrl.js.map +1 -0
- package/dist/elements/Link/index.d.ts +6 -0
- package/dist/elements/Link/index.d.ts.map +1 -0
- package/dist/elements/Link/index.js +58 -0
- package/dist/elements/Link/index.js.map +1 -0
- package/dist/elements/ListControls/index.d.ts +1 -0
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +14 -0
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +5 -0
- package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +11 -8
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.d.ts.map +1 -1
- package/dist/elements/Localizer/index.js +2 -0
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Logout/index.d.ts +5 -0
- package/dist/elements/Logout/index.d.ts.map +1 -1
- package/dist/elements/Logout/index.js +10 -13
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +3 -1
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Pill/index.d.ts.map +1 -1
- package/dist/elements/Pill/index.js +1 -2
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +1 -2
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/index.d.ts +1 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +2 -0
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +2 -1
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +2 -2
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +1 -1
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +1 -2
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +2 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +6 -2
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts +2 -3
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +20 -17
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/index.d.ts +0 -1
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +19 -45
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts +7 -2
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +69 -23
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.scss +6 -0
- package/dist/elements/SaveButton/index.d.ts +2 -3
- package/dist/elements/SaveButton/index.d.ts.map +1 -1
- package/dist/elements/SaveButton/index.js +3 -3
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts +2 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +2 -2
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +173 -154
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/Status/index.scss +0 -41
- package/dist/elements/StayLoggedIn/index.d.ts +0 -1
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +48 -75
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/index.d.ts +5 -0
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +18 -25
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +12 -4
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +1 -2
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/index.d.ts +1 -9
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts +20 -0
- package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -0
- package/dist/elements/TableColumns/buildPolymorphicColumnState.js +200 -0
- package/dist/elements/TableColumns/buildPolymorphicColumnState.js.map +1 -0
- package/dist/elements/TableColumns/index.d.ts +2 -3
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +4 -3
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +2 -2
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts +1 -2
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +14 -42
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +5 -1
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.d.ts +2 -5
- package/dist/elements/ViewDescription/index.d.ts.map +1 -1
- package/dist/elements/ViewDescription/index.js +2 -2
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-BMYVMDNZ.js → CodeEditor-L6GW2VQ6.js} +2 -2
- package/dist/exports/client/{CodeEditor-BMYVMDNZ.js.map → CodeEditor-L6GW2VQ6.js.map} +0 -1
- package/dist/exports/client/{DatePicker-THCU4KZJ.js → DatePicker-HHQ6TPOW.js} +2 -2
- package/dist/exports/client/{DatePicker-THCU4KZJ.js.map → DatePicker-HHQ6TPOW.js.map} +0 -1
- package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -1
- package/dist/exports/client/{chunk-EG3ZOHFS.js → chunk-IMEQ6NKQ.js} +2 -2
- package/dist/exports/client/{chunk-EG3ZOHFS.js.map → chunk-IMEQ6NKQ.js.map} +3 -4
- package/dist/exports/client/chunk-ZZDNSFEW.js +26 -0
- package/dist/exports/client/{chunk-CQQHQHCB.js.map → chunk-ZZDNSFEW.js.map} +4 -5
- package/dist/exports/client/index.d.ts +49 -4
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +23 -23
- package/dist/exports/client/index.js.map +4 -5
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +1 -2
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +31 -23
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +1 -1
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +6 -4
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +24 -6
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +5 -6
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +28 -7
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +1 -0
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +2 -0
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.scss +2 -1
- package/dist/fields/Upload/Input.d.ts +1 -0
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +24 -9
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/initContextState.d.ts.map +1 -1
- package/dist/forms/Form/initContextState.js +2 -0
- package/dist/forms/Form/initContextState.js.map +1 -1
- package/dist/forms/Form/types.d.ts +6 -0
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +2 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/icons/Dots/index.d.ts +7 -0
- package/dist/icons/Dots/index.d.ts.map +1 -0
- package/dist/icons/Dots/index.js +12 -0
- package/dist/icons/Dots/index.js.map +1 -0
- package/dist/icons/Dots/index.scss +27 -0
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +9 -13
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Config/index.d.ts +2 -2
- package/dist/providers/Config/index.d.ts.map +1 -1
- package/dist/providers/Config/index.js +17 -2
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +2 -1
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +44 -41
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.d.ts +17 -0
- package/dist/providers/RouteTransition/ProgressBar/index.d.ts.map +1 -0
- package/dist/providers/RouteTransition/ProgressBar/index.js +104 -0
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -0
- package/dist/providers/RouteTransition/ProgressBar/index.scss +21 -0
- package/dist/providers/RouteTransition/index.d.ts +51 -0
- package/dist/providers/RouteTransition/index.d.ts.map +1 -0
- package/dist/providers/RouteTransition/index.js +133 -0
- package/dist/providers/RouteTransition/index.js.map +1 -0
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +5 -6
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +3 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +4 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildTableState.d.ts +1 -2
- package/dist/utilities/buildTableState.d.ts.map +1 -1
- package/dist/utilities/buildTableState.js +72 -19
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +22 -18
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/getClientConfig.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
- package/dist/utilities/handleFormStateLocking.js +3 -6
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/renderTable.d.ts +6 -4
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +49 -54
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/Edit/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Auth/index.js +56 -55
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/index.d.ts +2 -2
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +8 -4
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +1 -4
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/index.d.ts +2 -25
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +6 -6
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/types.d.ts +1 -18
- package/dist/views/List/types.d.ts.map +1 -1
- package/dist/views/List/types.js.map +1 -1
- package/package.json +5 -5
- package/dist/elements/DuplicateDocument/index.scss +0 -42
- package/dist/elements/LeaveWithoutSaving/index.scss +0 -39
- package/dist/elements/PublishMany/index.scss +0 -39
- package/dist/elements/StayLoggedIn/index.scss +0 -40
- package/dist/elements/UnpublishMany/index.scss +0 -39
- package/dist/exports/client/chunk-CQQHQHCB.js +0 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleFormStateLocking.js","names":["lockDurationDefault","handleFormStateLocking","id","collectionSlug","globalSlug","req","updateLastEdited","result","lockedDocumentQuery","and","equals","lockDocumentsProp","payload","collections","config","lockDocuments","globals","find","g","slug","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","push","updatedAt","greater_than","toISOString","lockedDocument","collection","depth","limit","overrideAccess","pagination","where","docs","length","isLocked","lastEditedAt","
|
|
1
|
+
{"version":3,"file":"handleFormStateLocking.js","names":["lockDurationDefault","handleFormStateLocking","id","collectionSlug","globalSlug","req","updateLastEdited","result","lockedDocumentQuery","and","equals","lockDocumentsProp","payload","collections","config","lockDocuments","globals","find","g","slug","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","push","updatedAt","greater_than","toISOString","lockedDocument","collection","depth","limit","overrideAccess","pagination","user","where","docs","length","isLocked","lastEditedAt","value","lockOwnerID","db","updateOne","data","deleteExpiredLocksQuery","less_than","deleteMany","create","document","relationTo","undefined"],"sources":["../../src/utilities/handleFormStateLocking.ts"],"sourcesContent":["import type { PayloadRequest, TypedUser } from 'payload'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n req: PayloadRequest\n updateLastEdited?: boolean\n}\n\ntype Result = {\n isLocked: boolean\n lastEditedAt: string\n user: TypedUser\n}\n\nconst lockDurationDefault = 300 // Default 5 minutes in seconds\n\nexport const handleFormStateLocking = async ({\n id,\n collectionSlug,\n globalSlug,\n req,\n updateLastEdited,\n}: Args): Promise<Result> => {\n let result: Result\n\n if (id || globalSlug) {\n let lockedDocumentQuery\n\n if (collectionSlug) {\n lockedDocumentQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n { 'document.value': { equals: id } },\n ],\n }\n } else if (globalSlug) {\n lockedDocumentQuery = {\n and: [{ globalSlug: { equals: globalSlug } }],\n }\n }\n\n const lockDocumentsProp = collectionSlug\n ? req.payload.collections?.[collectionSlug]?.config.lockDocuments\n : req.payload.config.globals.find((g) => g.slug === globalSlug)?.lockDocuments\n\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n const now = new Date().getTime()\n\n if (lockedDocumentQuery) {\n // Query where the lock is newer than the current time minus the lock duration\n lockedDocumentQuery.and.push({\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n })\n\n const lockedDocument = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n limit: 1,\n overrideAccess: false,\n pagination: false,\n user: req.user,\n where: lockedDocumentQuery,\n })\n\n if (lockedDocument.docs && lockedDocument.docs.length > 0) {\n result = {\n isLocked: true,\n lastEditedAt: lockedDocument.docs[0]?.updatedAt,\n user: lockedDocument.docs[0]?.user?.value,\n }\n\n const lockOwnerID =\n typeof lockedDocument.docs[0]?.user?.value === 'object'\n ? lockedDocument.docs[0]?.user?.value?.id\n : lockedDocument.docs[0]?.user?.value\n // Should only update doc if the incoming / current user is also the owner of the locked doc\n if (updateLastEdited && req.user && lockOwnerID === req.user.id) {\n await req.payload.db.updateOne({\n id: lockedDocument.docs[0].id,\n collection: 'payload-locked-documents',\n data: {},\n })\n }\n } else {\n // If NO ACTIVE lock document exists, first delete any expired locks and then create a fresh lock\n // Where updatedAt is older than the duration that is specified in the config\n let deleteExpiredLocksQuery\n\n if (collectionSlug) {\n deleteExpiredLocksQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n {\n updatedAt: {\n less_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n },\n ],\n }\n } else if (globalSlug) {\n deleteExpiredLocksQuery = {\n and: [\n { globalSlug: { equals: globalSlug } },\n {\n updatedAt: {\n less_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n },\n ],\n }\n }\n\n await req.payload.db.deleteMany({\n collection: 'payload-locked-documents',\n where: deleteExpiredLocksQuery,\n })\n\n await req.payload.db.create({\n collection: 'payload-locked-documents',\n data: {\n document: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: id,\n }\n : undefined,\n globalSlug: globalSlug ? globalSlug : undefined,\n user: {\n relationTo: req.user.collection,\n value: req.user.id,\n },\n },\n })\n\n result = {\n isLocked: true,\n lastEditedAt: new Date().toISOString(),\n user: req.user,\n }\n }\n }\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import type { ClientCollectionConfig, CollectionConfig, Field, ImportMap, ListPreferences, PaginatedDocs, Payload, SanitizedCollectionConfig } from 'payload';
|
|
1
|
+
import type { ClientCollectionConfig, ClientConfig, CollectionConfig, Field, ImportMap, ListPreferences, PaginatedDocs, Payload, SanitizedCollectionConfig } from 'payload';
|
|
2
2
|
import { type I18nClient } from '@payloadcms/translations';
|
|
3
3
|
import type { Column } from '../exports/client/index.js';
|
|
4
4
|
export declare const renderFilters: (fields: Field[], importMap: ImportMap) => Map<string, React.ReactNode>;
|
|
5
|
-
export declare const renderTable: ({ clientCollectionConfig, collectionConfig, columnPreferences, columns: columnsFromArgs, customCellProps, docs, enableRowSelections, i18n, payload, renderRowTypes, tableAppearance, useAsTitle, }: {
|
|
6
|
-
clientCollectionConfig
|
|
7
|
-
|
|
5
|
+
export declare const renderTable: ({ clientCollectionConfig, clientConfig, collectionConfig, collections, columnPreferences, columns: columnsFromArgs, customCellProps, docs, enableRowSelections, i18n, payload, renderRowTypes, tableAppearance, useAsTitle, }: {
|
|
6
|
+
clientCollectionConfig?: ClientCollectionConfig;
|
|
7
|
+
clientConfig?: ClientConfig;
|
|
8
|
+
collectionConfig?: SanitizedCollectionConfig;
|
|
9
|
+
collections?: string[];
|
|
8
10
|
columnPreferences: ListPreferences["columns"];
|
|
9
11
|
columns?: ListPreferences["columns"];
|
|
10
12
|
customCellProps?: Record<string, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTable.d.ts","sourceRoot":"","sources":["../../src/utilities/renderTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,
|
|
1
|
+
{"version":3,"file":"renderTable.d.ts","sourceRoot":"","sources":["../../src/utilities/renderTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EAEZ,gBAAgB,EAChB,KAAK,EACL,SAAS,EACT,eAAe,EACf,aAAa,EACb,OAAO,EACP,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAI1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAWxD,eAAO,MAAM,aAAa,WAChB,KAAK,EAAE,aACJ,SAAS,KACnB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAoB3B,CAAA;AAEH,eAAO,MAAM,WAAW,kOAerB;IACD,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,iBAAiB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IAC7C,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACzC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CACpD,KAAG;IACF,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CAmHvB,CAAA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { getTranslation } from '@payloadcms/translations';
|
|
3
|
-
import { fieldIsHiddenOrDisabled, flattenTopLevelFields } from 'payload/shared';
|
|
3
|
+
import { fieldAffectsData, fieldIsHiddenOrDisabled, flattenTopLevelFields } from 'payload/shared';
|
|
4
4
|
import { RenderServerComponent } from '../elements/RenderServerComponent/index.js';
|
|
5
5
|
import { buildColumnState } from '../elements/TableColumns/buildColumnState.js';
|
|
6
|
+
import { buildPolymorphicColumnState } from '../elements/TableColumns/buildPolymorphicColumnState.js';
|
|
6
7
|
import { filterFields } from '../elements/TableColumns/filterFields.js';
|
|
7
8
|
import { getInitialColumns } from '../elements/TableColumns/getInitialColumns.js';
|
|
8
9
|
// eslint-disable-next-line payload/no-imports-from-exports-dir
|
|
@@ -19,46 +20,11 @@ export const renderFilters = (fields, importMap) => fields.reduce((acc, field) =
|
|
|
19
20
|
}
|
|
20
21
|
return acc;
|
|
21
22
|
}, new Map());
|
|
22
|
-
// export const resolveFilterOptions = async ({
|
|
23
|
-
// fields,
|
|
24
|
-
// relationTo,
|
|
25
|
-
// req,
|
|
26
|
-
// user,
|
|
27
|
-
// }: { fields: Field[] } & MarkOptional<
|
|
28
|
-
// FilterOptionsProps,
|
|
29
|
-
// 'blockData' | 'data' | 'id' | 'siblingData'
|
|
30
|
-
// >): Promise<Map<string, Where>> => {
|
|
31
|
-
// const acc = new Map<string, Where>()
|
|
32
|
-
// for (const field of fields) {
|
|
33
|
-
// if (fieldIsHiddenOrDisabled(field)) {
|
|
34
|
-
// continue
|
|
35
|
-
// }
|
|
36
|
-
// if ('name' in field && 'filterOptions' in field && field.filterOptions) {
|
|
37
|
-
// let resolvedFilterOption = {} as Where
|
|
38
|
-
// if (typeof field.filterOptions === 'function') {
|
|
39
|
-
// const result = await field.filterOptions({
|
|
40
|
-
// id: undefined,
|
|
41
|
-
// blockData: undefined,
|
|
42
|
-
// data: {}, // use empty object to prevent breaking queries when accessing properties of data
|
|
43
|
-
// relationTo,
|
|
44
|
-
// req,
|
|
45
|
-
// siblingData: {}, // use empty object to prevent breaking queries when accessing properties of siblingData
|
|
46
|
-
// user,
|
|
47
|
-
// })
|
|
48
|
-
// if (result && typeof result === 'object') {
|
|
49
|
-
// resolvedFilterOption = result
|
|
50
|
-
// }
|
|
51
|
-
// } else {
|
|
52
|
-
// resolvedFilterOption = field.filterOptions
|
|
53
|
-
// }
|
|
54
|
-
// acc.set(field.name, resolvedFilterOption)
|
|
55
|
-
// }
|
|
56
|
-
// }
|
|
57
|
-
// return acc
|
|
58
|
-
// }
|
|
59
23
|
export const renderTable = ({
|
|
60
24
|
clientCollectionConfig,
|
|
25
|
+
clientConfig,
|
|
61
26
|
collectionConfig,
|
|
27
|
+
collections,
|
|
62
28
|
columnPreferences,
|
|
63
29
|
columns: columnsFromArgs,
|
|
64
30
|
customCellProps,
|
|
@@ -71,20 +37,49 @@ export const renderTable = ({
|
|
|
71
37
|
useAsTitle
|
|
72
38
|
}) => {
|
|
73
39
|
// Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
40
|
+
let columnState;
|
|
41
|
+
if (collections) {
|
|
42
|
+
const fields = [];
|
|
43
|
+
for (const collection of collections) {
|
|
44
|
+
const config = clientConfig.collections.find(each => each.slug === collection);
|
|
45
|
+
for (const field of filterFields(config.fields)) {
|
|
46
|
+
if (fieldAffectsData(field)) {
|
|
47
|
+
if (fields.some(each => fieldAffectsData(each) && each.name === field.name)) {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
fields.push(field);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const columns = columnsFromArgs ? columnsFromArgs?.filter(column => flattenTopLevelFields(fields, true)?.some(field => 'name' in field && field.name === column.accessor)) : getInitialColumns(fields, useAsTitle, []);
|
|
55
|
+
columnState = buildPolymorphicColumnState({
|
|
56
|
+
columnPreferences,
|
|
57
|
+
columns,
|
|
58
|
+
enableRowSelections,
|
|
59
|
+
fields,
|
|
60
|
+
i18n,
|
|
61
|
+
// sortColumnProps,
|
|
62
|
+
customCellProps,
|
|
63
|
+
docs,
|
|
64
|
+
payload,
|
|
65
|
+
useAsTitle
|
|
66
|
+
});
|
|
67
|
+
} else {
|
|
68
|
+
const columns = columnsFromArgs ? columnsFromArgs?.filter(column => flattenTopLevelFields(clientCollectionConfig.fields, true)?.some(field => 'name' in field && field.name === column.accessor)) : getInitialColumns(filterFields(clientCollectionConfig.fields), useAsTitle, clientCollectionConfig?.admin?.defaultColumns);
|
|
69
|
+
columnState = buildColumnState({
|
|
70
|
+
clientCollectionConfig,
|
|
71
|
+
collectionConfig,
|
|
72
|
+
columnPreferences,
|
|
73
|
+
columns,
|
|
74
|
+
enableRowSelections,
|
|
75
|
+
i18n,
|
|
76
|
+
// sortColumnProps,
|
|
77
|
+
customCellProps,
|
|
78
|
+
docs,
|
|
79
|
+
payload,
|
|
80
|
+
useAsTitle
|
|
81
|
+
});
|
|
82
|
+
}
|
|
88
83
|
const columnsToUse = [...columnState];
|
|
89
84
|
if (renderRowTypes) {
|
|
90
85
|
columnsToUse.unshift({
|
|
@@ -97,8 +92,8 @@ export const renderTable = ({
|
|
|
97
92
|
hidden: true
|
|
98
93
|
},
|
|
99
94
|
Heading: i18n.t('version:type'),
|
|
100
|
-
renderedCells: docs.map((
|
|
101
|
-
children: getTranslation(clientCollectionConfig.labels.singular, i18n)
|
|
95
|
+
renderedCells: docs.map((doc, i) => /*#__PURE__*/_jsx(Pill, {
|
|
96
|
+
children: getTranslation(collections ? payload.collections[doc.relationTo].config.labels.singular : clientCollectionConfig.labels.singular, i18n)
|
|
102
97
|
}, i))
|
|
103
98
|
});
|
|
104
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTable.js","names":["getTranslation","fieldIsHiddenOrDisabled","flattenTopLevelFields","RenderServerComponent","buildColumnState","filterFields","getInitialColumns","Pill","SelectAll","SelectRow","Table","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","collectionConfig","columnPreferences","columns","columnsFromArgs","customCellProps","docs","enableRowSelections","i18n","payload","renderRowTypes","tableAppearance","useAsTitle","
|
|
1
|
+
{"version":3,"file":"renderTable.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","flattenTopLevelFields","RenderServerComponent","buildColumnState","buildPolymorphicColumnState","filterFields","getInitialColumns","Pill","SelectAll","SelectRow","Table","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columnPreferences","columns","columnsFromArgs","customCellProps","docs","enableRowSelections","i18n","payload","renderRowTypes","tableAppearance","useAsTitle","columnState","collection","config","find","each","slug","some","push","filter","column","accessor","defaultColumns","columnsToUse","unshift","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","_jsx","relationTo","labels","singular","_","rowData","appearance","data"],"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n Field,\n ImportMap,\n ListPreferences,\n PaginatedDocs,\n Payload,\n SanitizedCollectionConfig,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, flattenTopLevelFields } from 'payload/shared'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport type { Column } from '../exports/client/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport { buildColumnState } from '../elements/TableColumns/buildColumnState.js'\nimport { buildPolymorphicColumnState } from '../elements/TableColumns/buildPolymorphicColumnState.js'\nimport { filterFields } from '../elements/TableColumns/filterFields.js'\nimport { getInitialColumns } from '../elements/TableColumns/getInitialColumns.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { Pill, SelectAll, SelectRow, Table } from '../exports/client/index.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columnPreferences,\n columns: columnsFromArgs,\n customCellProps,\n docs,\n enableRowSelections,\n i18n,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columnPreferences: ListPreferences['columns']\n columns?: ListPreferences['columns']\n customCellProps?: Record<string, any>\n docs: PaginatedDocs['docs']\n drawerSlug?: string\n enableRowSelections: boolean\n i18n: I18nClient\n payload: Payload\n renderRowTypes?: boolean\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.\n\n let columnState: Column[]\n\n if (collections) {\n const fields: ClientField[] = []\n for (const collection of collections) {\n const config = clientConfig.collections.find((each) => each.slug === collection)\n\n for (const field of filterFields(config.fields)) {\n if (fieldAffectsData(field)) {\n if (fields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n fields.push(field)\n }\n }\n\n const columns = columnsFromArgs\n ? columnsFromArgs?.filter((column) =>\n flattenTopLevelFields(fields, true)?.some(\n (field) => 'name' in field && field.name === column.accessor,\n ),\n )\n : getInitialColumns(fields, useAsTitle, [])\n\n columnState = buildPolymorphicColumnState({\n columnPreferences,\n columns,\n enableRowSelections,\n fields,\n i18n,\n // sortColumnProps,\n customCellProps,\n docs,\n payload,\n useAsTitle,\n })\n } else {\n const columns = columnsFromArgs\n ? columnsFromArgs?.filter((column) =>\n flattenTopLevelFields(clientCollectionConfig.fields, true)?.some(\n (field) => 'name' in field && field.name === column.accessor,\n ),\n )\n : getInitialColumns(\n filterFields(clientCollectionConfig.fields),\n useAsTitle,\n clientCollectionConfig?.admin?.defaultColumns,\n )\n\n columnState = buildColumnState({\n clientCollectionConfig,\n collectionConfig,\n columnPreferences,\n columns,\n enableRowSelections,\n i18n,\n // sortColumnProps,\n customCellProps,\n docs,\n payload,\n useAsTitle,\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: docs.map((doc, i) => (\n <Pill key={i}>\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: docs.map((_, i) => <SelectRow key={i} rowData={docs[i]} />),\n } as Column)\n }\n\n return {\n columnState,\n Table: <Table appearance={tableAppearance} columns={columnsToUse} data={docs} />,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAGlF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAavC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqNhC,CAAA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
-
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
5
|
+
import React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react';
|
|
6
6
|
import { toast } from 'sonner';
|
|
7
7
|
import { Button } from '../../../elements/Button/index.js';
|
|
8
8
|
import { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js';
|
|
@@ -18,7 +18,7 @@ import { APIKey } from './APIKey.js';
|
|
|
18
18
|
import './index.scss';
|
|
19
19
|
const baseClass = 'auth-fields';
|
|
20
20
|
export const Auth = props => {
|
|
21
|
-
const $ = _c(
|
|
21
|
+
const $ = _c(57);
|
|
22
22
|
const {
|
|
23
23
|
className,
|
|
24
24
|
collectionSlug,
|
|
@@ -59,6 +59,12 @@ export const Auth = props => {
|
|
|
59
59
|
const {
|
|
60
60
|
api
|
|
61
61
|
} = t1;
|
|
62
|
+
const enableFields = !disableLocalStrategy || typeof disableLocalStrategy === "object" && disableLocalStrategy.enableFields === true;
|
|
63
|
+
const disabled = readOnly || isInitializing;
|
|
64
|
+
const apiKeyPermissions = docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey;
|
|
65
|
+
const apiKeyReadOnly = readOnly || apiKeyPermissions === true || apiKeyPermissions && typeof apiKeyPermissions === "object" && !apiKeyPermissions?.update;
|
|
66
|
+
const enableAPIKeyReadOnly = readOnly || apiKeyPermissions !== true && !apiKeyPermissions?.update;
|
|
67
|
+
const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read;
|
|
62
68
|
let t2;
|
|
63
69
|
bb0: {
|
|
64
70
|
const collection = permissions?.collections?.[collectionSlug];
|
|
@@ -69,11 +75,6 @@ export const Auth = props => {
|
|
|
69
75
|
t2 = false;
|
|
70
76
|
}
|
|
71
77
|
const hasPermissionToUnlock = t2;
|
|
72
|
-
const apiKeyPermissions = docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey;
|
|
73
|
-
const apiKeyReadOnly = readOnly || apiKeyPermissions === true || apiKeyPermissions && typeof apiKeyPermissions === "object" && !apiKeyPermissions?.update;
|
|
74
|
-
const enableAPIKeyReadOnly = readOnly || apiKeyPermissions !== true && !apiKeyPermissions?.update;
|
|
75
|
-
const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read;
|
|
76
|
-
const canReadEnableAPIKey = apiKeyPermissions === true || apiKeyPermissions?.read;
|
|
77
78
|
let t3;
|
|
78
79
|
if ($[0] !== dispatchFields || $[1] !== setValidateBeforeSubmit || $[2] !== t) {
|
|
79
80
|
t3 = showPasswordFields => {
|
|
@@ -165,10 +166,9 @@ export const Auth = props => {
|
|
|
165
166
|
t6 = $[15];
|
|
166
167
|
}
|
|
167
168
|
useEffect(t5, t6);
|
|
168
|
-
if (disableLocalStrategy && !useAPIKey) {
|
|
169
|
+
if (disableLocalStrategy && !enableFields && !useAPIKey) {
|
|
169
170
|
return null;
|
|
170
171
|
}
|
|
171
|
-
const disabled = readOnly || isInitializing;
|
|
172
172
|
let t7;
|
|
173
173
|
if ($[16] !== className) {
|
|
174
174
|
t7 = [baseClass, className].filter(Boolean);
|
|
@@ -179,42 +179,43 @@ export const Auth = props => {
|
|
|
179
179
|
}
|
|
180
180
|
const t8 = t7.join(" ");
|
|
181
181
|
let t9;
|
|
182
|
-
if ($[18] !== apiKeyReadOnly || $[19] !== canReadApiKey || $[20] !==
|
|
182
|
+
if ($[18] !== apiKeyReadOnly || $[19] !== canReadApiKey || $[20] !== changingPassword || $[21] !== collectionSlug || $[22] !== disableLocalStrategy || $[23] !== disabled || $[24] !== docPermissions?.fields || $[25] !== enableAPIKey?.value || $[26] !== enableAPIKeyReadOnly || $[27] !== enableFields || $[28] !== handleChangePassword || $[29] !== hasPermissionToUnlock || $[30] !== isEditing || $[31] !== loginWithUsername || $[32] !== operation || $[33] !== readOnly || $[34] !== requirePassword || $[35] !== t || $[36] !== t8 || $[37] !== unlock || $[38] !== useAPIKey || $[39] !== verify) {
|
|
183
183
|
let t10;
|
|
184
|
-
if ($[41] !== apiKeyReadOnly || $[42] !== canReadApiKey || $[43] !==
|
|
185
|
-
t10 = useAPIKey &&
|
|
184
|
+
if ($[41] !== apiKeyReadOnly || $[42] !== canReadApiKey || $[43] !== collectionSlug || $[44] !== disabled || $[45] !== enableAPIKey?.value || $[46] !== enableAPIKeyReadOnly || $[47] !== t || $[48] !== useAPIKey) {
|
|
185
|
+
t10 = useAPIKey && _jsx("div", {
|
|
186
186
|
className: `${baseClass}__api-key`,
|
|
187
|
-
children:
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
187
|
+
children: canReadApiKey && _jsxs(Fragment, {
|
|
188
|
+
children: [_jsx(CheckboxField, {
|
|
189
|
+
field: {
|
|
190
|
+
name: "enableAPIKey",
|
|
191
|
+
admin: {
|
|
192
|
+
disabled,
|
|
193
|
+
readOnly: enableAPIKeyReadOnly
|
|
194
|
+
},
|
|
195
|
+
label: t("authentication:enableAPIKey")
|
|
193
196
|
},
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
})]
|
|
197
|
+
path: "enableAPIKey",
|
|
198
|
+
schemaPath: `${collectionSlug}.enableAPIKey`
|
|
199
|
+
}), _jsx(APIKey, {
|
|
200
|
+
enabled: !!enableAPIKey?.value,
|
|
201
|
+
readOnly: apiKeyReadOnly
|
|
202
|
+
})]
|
|
203
|
+
})
|
|
202
204
|
});
|
|
203
205
|
$[41] = apiKeyReadOnly;
|
|
204
206
|
$[42] = canReadApiKey;
|
|
205
|
-
$[43] =
|
|
206
|
-
$[44] =
|
|
207
|
-
$[45] =
|
|
208
|
-
$[46] =
|
|
209
|
-
$[47] =
|
|
210
|
-
$[48] =
|
|
211
|
-
$[49] =
|
|
212
|
-
$[50] = t10;
|
|
207
|
+
$[43] = collectionSlug;
|
|
208
|
+
$[44] = disabled;
|
|
209
|
+
$[45] = enableAPIKey?.value;
|
|
210
|
+
$[46] = enableAPIKeyReadOnly;
|
|
211
|
+
$[47] = t;
|
|
212
|
+
$[48] = useAPIKey;
|
|
213
|
+
$[49] = t10;
|
|
213
214
|
} else {
|
|
214
|
-
t10 = $[
|
|
215
|
+
t10 = $[49];
|
|
215
216
|
}
|
|
216
217
|
let t11;
|
|
217
|
-
if ($[
|
|
218
|
+
if ($[50] !== collectionSlug || $[51] !== disabled || $[52] !== isEditing || $[53] !== readOnly || $[54] !== t || $[55] !== verify) {
|
|
218
219
|
t11 = verify && isEditing && _jsx(CheckboxField, {
|
|
219
220
|
field: {
|
|
220
221
|
name: "_verified",
|
|
@@ -227,26 +228,26 @@ export const Auth = props => {
|
|
|
227
228
|
path: "_verified",
|
|
228
229
|
schemaPath: `${collectionSlug}._verified`
|
|
229
230
|
});
|
|
230
|
-
$[
|
|
231
|
-
$[
|
|
232
|
-
$[
|
|
233
|
-
$[
|
|
234
|
-
$[
|
|
235
|
-
$[
|
|
236
|
-
$[
|
|
231
|
+
$[50] = collectionSlug;
|
|
232
|
+
$[51] = disabled;
|
|
233
|
+
$[52] = isEditing;
|
|
234
|
+
$[53] = readOnly;
|
|
235
|
+
$[54] = t;
|
|
236
|
+
$[55] = verify;
|
|
237
|
+
$[56] = t11;
|
|
237
238
|
} else {
|
|
238
|
-
t11 = $[
|
|
239
|
+
t11 = $[56];
|
|
239
240
|
}
|
|
240
241
|
t9 = _jsxs("div", {
|
|
241
242
|
className: t8,
|
|
242
|
-
children: [
|
|
243
|
+
children: [enableFields && _jsxs(React.Fragment, {
|
|
243
244
|
children: [_jsx(EmailAndUsernameFields, {
|
|
244
245
|
loginWithUsername,
|
|
245
246
|
operation,
|
|
246
247
|
permissions: docPermissions?.fields,
|
|
247
248
|
readOnly,
|
|
248
249
|
t
|
|
249
|
-
}), (changingPassword || requirePassword) && _jsxs("div", {
|
|
250
|
+
}), (changingPassword || requirePassword) && (!disableLocalStrategy || !enableFields) && _jsxs("div", {
|
|
250
251
|
className: `${baseClass}__changing-password`,
|
|
251
252
|
children: [_jsx(PasswordField, {
|
|
252
253
|
autoComplete: "new-password",
|
|
@@ -271,7 +272,7 @@ export const Auth = props => {
|
|
|
271
272
|
onClick: () => handleChangePassword(false),
|
|
272
273
|
size: "medium",
|
|
273
274
|
children: t("general:cancel")
|
|
274
|
-
}), !changingPassword && !requirePassword && _jsx(Button, {
|
|
275
|
+
}), !changingPassword && !requirePassword && !disableLocalStrategy && _jsx(Button, {
|
|
275
276
|
buttonStyle: "secondary",
|
|
276
277
|
disabled,
|
|
277
278
|
id: "change-password",
|
|
@@ -290,14 +291,14 @@ export const Auth = props => {
|
|
|
290
291
|
});
|
|
291
292
|
$[18] = apiKeyReadOnly;
|
|
292
293
|
$[19] = canReadApiKey;
|
|
293
|
-
$[20] =
|
|
294
|
-
$[21] =
|
|
295
|
-
$[22] =
|
|
296
|
-
$[23] =
|
|
297
|
-
$[24] =
|
|
298
|
-
$[25] =
|
|
299
|
-
$[26] =
|
|
300
|
-
$[27] =
|
|
294
|
+
$[20] = changingPassword;
|
|
295
|
+
$[21] = collectionSlug;
|
|
296
|
+
$[22] = disableLocalStrategy;
|
|
297
|
+
$[23] = disabled;
|
|
298
|
+
$[24] = docPermissions?.fields;
|
|
299
|
+
$[25] = enableAPIKey?.value;
|
|
300
|
+
$[26] = enableAPIKeyReadOnly;
|
|
301
|
+
$[27] = enableFields;
|
|
301
302
|
$[28] = handleChangePassword;
|
|
302
303
|
$[29] = hasPermissionToUnlock;
|
|
303
304
|
$[30] = isEditing;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useAuth","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","dispatchFields","_temp2","modified","i18n","t","docPermissions","isEditing","isInitializing","config","t0","routes","t1","serverURL","api","t2","bb0","collection","collections","Boolean","unlock","undefined","hasPermissionToUnlock","apiKeyPermissions","fields","apiKeyReadOnly","update","enableAPIKeyReadOnly","canReadApiKey","read","canReadEnableAPIKey","t3","showPasswordFields","type","errorMessage","path","valid","handleChangePassword","t4","language","url","response","fetch","body","JSON","stringify","credentials","headers","method","status","success","error","t5","t6","disabled","t7","filter","t8","join","t9","value","t10","_jsxs","children","_jsx","field","name","admin","label","schemaPath","enabled","t11","Fragment","autoComplete","required","indexPath","parentPath","parentSchemaPath","buttonStyle","onClick","size","id","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { APIKey } from './APIKey.js'\nimport './index.scss'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const { permissions } = useAuth()\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n const collection = permissions?.collections?.[collectionSlug]\n\n if (collection) {\n return Boolean('unlock' in collection ? collection.unlock : undefined)\n }\n\n return false\n }, [permissions, collectionSlug])\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n apiKeyPermissions === true ||\n (apiKeyPermissions && typeof apiKeyPermissions === 'object' && !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n const canReadEnableAPIKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const handleChangePassword = useCallback(\n (showPasswordFields: boolean) => {\n if (showPasswordFields) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(showPasswordFields)\n },\n [dispatchFields, t, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !useAPIKey) {\n return null\n }\n\n const disabled = readOnly || isInitializing\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {!disableLocalStrategy && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n t={t}\n />\n {(changingPassword || requirePassword) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadEnableAPIKey && (\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n )}\n {canReadApiKey && <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />}\n </div>\n )}\n {verify && isEditing && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","Fragment","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useAuth","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","dispatchFields","_temp2","modified","i18n","t","docPermissions","isEditing","isInitializing","config","t0","routes","t1","serverURL","api","enableFields","disabled","apiKeyPermissions","fields","apiKeyReadOnly","update","enableAPIKeyReadOnly","canReadApiKey","read","t2","bb0","collection","collections","Boolean","unlock","undefined","hasPermissionToUnlock","t3","showPasswordFields","type","errorMessage","path","valid","handleChangePassword","t4","language","url","response","fetch","body","JSON","stringify","credentials","headers","method","status","success","error","t5","t6","t7","filter","t8","join","t9","value","t10","_jsx","children","_jsxs","field","name","admin","label","schemaPath","enabled","t11","autoComplete","required","indexPath","parentPath","parentSchemaPath","buttonStyle","onClick","size","id","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { APIKey } from './APIKey.js'\nimport './index.scss'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const { permissions } = useAuth()\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing } = useDocumentInfo()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const enableFields =\n !disableLocalStrategy ||\n (typeof disableLocalStrategy === 'object' && disableLocalStrategy.enableFields === true)\n\n const disabled = readOnly || isInitializing\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n apiKeyPermissions === true ||\n (apiKeyPermissions && typeof apiKeyPermissions === 'object' && !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n const collection = permissions?.collections?.[collectionSlug]\n\n if (collection) {\n return Boolean('unlock' in collection ? collection.unlock : undefined)\n }\n\n return false\n }, [permissions, collectionSlug])\n\n const handleChangePassword = useCallback(\n (showPasswordFields: boolean) => {\n if (showPasswordFields) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(showPasswordFields)\n },\n [dispatchFields, t, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !enableFields && !useAPIKey) {\n return null\n }\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {enableFields && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n t={t}\n />\n {(changingPassword || requirePassword) && (!disableLocalStrategy || !enableFields) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword && !requirePassword && !disableLocalStrategy && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadApiKey && (\n <Fragment>\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />\n </Fragment>\n )}\n </div>\n )}\n {verify && isEditing && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { DocumentViewClientProps } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import './index.scss';
|
|
4
|
-
export declare
|
|
4
|
+
export declare function DefaultEditView({ Description, PreviewButton, PublishButton, SaveButton, SaveDraftButton, Upload: CustomUpload, }: DocumentViewClientProps): React.JSX.Element;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,uBAAuB,EAAa,MAAM,SAAS,CAAA;AAG7E,OAAO,KAAsE,MAAM,OAAO,CAAA;AA+B1F,OAAO,cAAc,CAAA;AAOrB,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EAAE,YAAY,GACrB,EAAE,uBAAuB,qBA8hBzB"}
|
package/dist/views/Edit/index.js
CHANGED
|
@@ -18,6 +18,7 @@ import { useDocumentEvents } from '../../providers/DocumentEvents/index.js';
|
|
|
18
18
|
import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
|
|
19
19
|
import { useEditDepth } from '../../providers/EditDepth/index.js';
|
|
20
20
|
import { OperationProvider } from '../../providers/Operation/index.js';
|
|
21
|
+
import { useRouteTransition } from '../../providers/RouteTransition/index.js';
|
|
21
22
|
import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
|
|
22
23
|
import { useUploadEdits } from '../../providers/UploadEdits/index.js';
|
|
23
24
|
import { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js';
|
|
@@ -33,14 +34,14 @@ const baseClass = 'collection-edit';
|
|
|
33
34
|
// This component receives props only on _pages_
|
|
34
35
|
// When rendered within a drawer, props are empty
|
|
35
36
|
// This is solely to support custom edit views which get server-rendered
|
|
36
|
-
export
|
|
37
|
+
export function DefaultEditView({
|
|
37
38
|
Description,
|
|
38
39
|
PreviewButton,
|
|
39
40
|
PublishButton,
|
|
40
41
|
SaveButton,
|
|
41
42
|
SaveDraftButton,
|
|
42
43
|
Upload: CustomUpload
|
|
43
|
-
})
|
|
44
|
+
}) {
|
|
44
45
|
const {
|
|
45
46
|
id,
|
|
46
47
|
action,
|
|
@@ -116,6 +117,9 @@ export const DefaultEditView = ({
|
|
|
116
117
|
const {
|
|
117
118
|
getFormState
|
|
118
119
|
} = useServerFunctions();
|
|
120
|
+
const {
|
|
121
|
+
startRouteTransition
|
|
122
|
+
} = useRouteTransition();
|
|
119
123
|
const abortOnChangeRef = useRef(null);
|
|
120
124
|
const abortOnSaveRef = useRef(null);
|
|
121
125
|
const locale = params.get('locale');
|
|
@@ -206,7 +210,7 @@ export const DefaultEditView = ({
|
|
|
206
210
|
adminRoute,
|
|
207
211
|
path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`
|
|
208
212
|
});
|
|
209
|
-
router.push(redirectRoute);
|
|
213
|
+
startRouteTransition(() => router.push(redirectRoute));
|
|
210
214
|
} else {
|
|
211
215
|
resetUploadEdits();
|
|
212
216
|
}
|
|
@@ -414,5 +418,5 @@ export const DefaultEditView = ({
|
|
|
414
418
|
})
|
|
415
419
|
})
|
|
416
420
|
});
|
|
417
|
-
}
|
|
421
|
+
}
|
|
418
422
|
//# sourceMappingURL=index.js.map
|