@payloadcms/ui 3.0.0-canary.291e44c → 3.0.0-canary.2d0dd26
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/AddNewRelation/index.d.ts.map +1 -1
- package/dist/elements/AddNewRelation/index.js +4 -4
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AppHeader/index.d.ts +6 -1
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +20 -13
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/AppHeader/index.scss +0 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +17 -19
- 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.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +20 -26
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.scss +4 -0
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -1
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +2 -0
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +32 -23
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +42 -40
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +34 -25
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.scss +40 -2
- package/dist/elements/BulkUpload/FormsManager/index.d.ts +4 -2
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +95 -41
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/reducer.js +14 -14
- package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
- package/dist/elements/BulkUpload/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/index.js +45 -62
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +14 -4
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/index.scss +4 -0
- package/dist/elements/Button/types.d.ts +4 -1
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +32 -27
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/types.d.ts +1 -0
- package/dist/elements/CodeEditor/types.d.ts.map +1 -1
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
- package/dist/elements/ColumnSelector/index.js +11 -19
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +1 -1
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/library.scss +859 -0
- package/dist/elements/DeleteDocument/index.d.ts +2 -2
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +17 -6
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts +14 -8
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +72 -51
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +106 -239
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +5 -0
- package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -0
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +82 -0
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -0
- package/dist/elements/DocumentDrawer/DrawerHeader/index.scss +73 -0
- package/dist/elements/DocumentDrawer/Provider.d.ts +26 -0
- package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -0
- package/dist/elements/DocumentDrawer/Provider.js +20 -0
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -0
- package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +41 -37
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.scss +0 -50
- package/dist/elements/DocumentDrawer/types.d.ts +3 -5
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.d.ts +5 -5
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +113 -49
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts +12 -0
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -0
- package/dist/elements/DocumentLocked/index.js +155 -0
- package/dist/elements/DocumentLocked/index.js.map +1 -0
- package/dist/elements/DocumentLocked/index.scss +40 -0
- package/dist/elements/DocumentTakeOver/index.d.ts +8 -0
- package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -0
- package/dist/elements/DocumentTakeOver/index.js +101 -0
- package/dist/elements/DocumentTakeOver/index.js.map +1 -0
- package/dist/elements/DocumentTakeOver/index.scss +39 -0
- package/dist/elements/Drawer/index.d.ts +5 -0
- package/dist/elements/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +53 -30
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts +2 -2
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts +1 -2
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +135 -207
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.d.ts +16 -0
- package/dist/elements/EmailAndUsername/index.d.ts.map +1 -0
- package/dist/elements/EmailAndUsername/index.js +42 -0
- package/dist/elements/EmailAndUsername/index.js.map +1 -0
- package/dist/elements/FieldSelect/index.d.ts +5 -5
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js +36 -45
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.d.ts +2 -2
- package/dist/elements/HydrateAuthProvider/index.d.ts.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts +4 -0
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -0
- package/dist/elements/LeaveWithoutSaving/index.js +167 -0
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -0
- package/dist/elements/LeaveWithoutSaving/index.scss +39 -0
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +9 -0
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -0
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +136 -0
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -0
- package/dist/elements/ListControls/index.d.ts +6 -2
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +18 -21
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts +0 -2
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +123 -611
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts +27 -0
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -0
- package/dist/elements/ListDrawer/Provider.js +23 -0
- package/dist/elements/ListDrawer/Provider.js.map +1 -0
- package/dist/elements/ListDrawer/index.d.ts +0 -1
- package/dist/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/elements/ListDrawer/index.js +2 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.d.ts +6 -12
- package/dist/elements/ListDrawer/types.d.ts.map +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/Locked/index.d.ts.map +1 -1
- package/dist/elements/Locked/index.js +2 -5
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.d.ts.map +1 -1
- package/dist/elements/Logout/index.js +25 -66
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.d.ts.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +1 -1
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/NavGroup/index.d.ts +1 -0
- package/dist/elements/NavGroup/index.d.ts.map +1 -1
- package/dist/elements/NavGroup/index.js +69 -90
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +1 -0
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +1 -6
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +1 -12
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewButton/usePreviewURL.js +2 -2
- package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts +1 -7
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +58 -48
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +17 -6
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +1 -0
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.scss +9 -1
- package/dist/elements/RelationshipTable/Pagination.d.ts +3 -0
- package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -0
- package/dist/elements/RelationshipTable/Pagination.js +54 -0
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -0
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +1 -2
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +34 -41
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts +4 -2
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +139 -378
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderComponent/index.d.ts +7 -0
- package/dist/elements/RenderComponent/index.d.ts.map +1 -0
- package/dist/elements/RenderComponent/index.js +23 -0
- package/dist/elements/RenderComponent/index.js.map +1 -0
- package/dist/elements/RenderCustomComponent/index.d.ts +18 -0
- package/dist/elements/RenderCustomComponent/index.d.ts.map +1 -0
- package/dist/elements/RenderCustomComponent/index.js +17 -0
- package/dist/elements/RenderCustomComponent/index.js.map +1 -0
- package/dist/elements/RenderIfInViewport/index.d.ts +7 -0
- package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -0
- package/dist/elements/RenderIfInViewport/index.js +63 -0
- package/dist/elements/RenderIfInViewport/index.js.map +1 -0
- package/dist/elements/RenderServerComponent/index.d.ts +13 -0
- package/dist/elements/RenderServerComponent/index.d.ts.map +1 -0
- package/dist/elements/RenderServerComponent/index.js +61 -0
- package/dist/elements/RenderServerComponent/index.js.map +1 -0
- package/dist/elements/SaveButton/index.d.ts +1 -7
- package/dist/elements/SaveButton/index.d.ts.map +1 -1
- package/dist/elements/SaveButton/index.js +1 -12
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts +1 -7
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +5 -14
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SelectRow/index.d.ts +8 -1
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +38 -39
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SortColumn/index.d.ts +2 -2
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +33 -19
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +71 -66
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.scss +1 -0
- package/dist/elements/StepNav/index.d.ts +2 -1
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +30 -23
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +3 -7
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +11 -12
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
- package/dist/elements/Table/DefaultCell/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +67 -94
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/reducer.js +16 -16
- package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
- package/dist/elements/Table/index.d.ts +4 -7
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js +38 -100
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts +11 -0
- package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
- package/dist/elements/TableColumns/RenderDefaultCell/index.js +77 -0
- package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -0
- package/dist/elements/TableColumns/RenderDefaultCell/index.scss +15 -0
- package/dist/elements/TableColumns/buildColumnState.d.ts +9 -3
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +131 -76
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/filterFields.d.ts +2 -2
- package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
- package/dist/elements/TableColumns/filterFields.js +1 -3
- package/dist/elements/TableColumns/filterFields.js.map +1 -1
- package/dist/elements/TableColumns/getInitialColumns.d.ts +3 -3
- package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
- package/dist/elements/TableColumns/getInitialColumns.js +1 -3
- package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
- package/dist/elements/TableColumns/index.d.ts +12 -9
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +176 -245
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/Thumbnail/createThumbnail.d.ts +5 -0
- package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -0
- package/dist/elements/Thumbnail/createThumbnail.js +50 -0
- package/dist/elements/Thumbnail/createThumbnail.js.map +1 -0
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +17 -6
- 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 +21 -17
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/index.scss +0 -6
- package/dist/elements/ViewDescription/index.d.ts +1 -2
- package/dist/elements/ViewDescription/index.d.ts.map +1 -1
- package/dist/elements/ViewDescription/index.js +9 -44
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +3 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/types.d.ts +5 -8
- package/dist/elements/WhereBuilder/Condition/Date/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts +15 -0
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts.map +1 -0
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +70 -0
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/types.d.ts +6 -4
- package/dist/elements/WhereBuilder/Condition/Number/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +17 -10
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +7 -7
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +5 -6
- package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/types.d.ts +7 -7
- package/dist/elements/WhereBuilder/Condition/Select/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/types.d.ts +6 -4
- package/dist/elements/WhereBuilder/Condition/Text/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +111 -137
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/types.d.ts +7 -1
- package/dist/elements/WhereBuilder/Condition/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +13 -10
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/reduceClientFields.js +1 -7
- package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
- package/dist/elements/WhereBuilder/types.d.ts +2 -3
- package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/exports/client/{CodeEditor-4A6256PR.js → CodeEditor-DRTCMRCY.js} +6 -6
- package/dist/exports/client/CodeEditor-DRTCMRCY.js.map +8 -0
- package/dist/exports/client/{DatePicker-HNJMUG32.js → DatePicker-23XPGPYP.js} +2 -2
- package/dist/exports/client/chunk-PELL3UMP.js +30 -0
- package/dist/exports/client/{chunk-IHJK2MAT.js.map → chunk-PELL3UMP.js.map} +4 -4
- package/dist/exports/client/chunk-PNHVQDTJ.js +14 -0
- package/dist/exports/client/chunk-PNHVQDTJ.js.map +8 -0
- package/dist/exports/client/index.d.ts +29 -13
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +22 -19
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +2 -0
- package/dist/exports/rsc/index.d.ts.map +1 -0
- package/dist/exports/rsc/index.js +2 -0
- package/dist/exports/rsc/index.js.map +1 -0
- package/dist/exports/shared/index.d.ts +8 -5
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.d.ts +4 -4
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +37 -40
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts +2 -6
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +169 -179
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +5 -4
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +68 -57
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +2 -5
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +156 -172
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +5 -7
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +15 -19
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts +2 -4
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +75 -201
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts +3 -5
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +74 -192
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +3 -143
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +111 -201
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +0 -2
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts +2 -4
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +79 -186
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts +2 -5
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js +77 -183
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.d.ts +3 -2
- package/dist/fields/FieldDescription/index.d.ts.map +1 -1
- package/dist/fields/FieldDescription/index.js +4 -23
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.d.ts +3 -2
- package/dist/fields/FieldError/index.d.ts.map +1 -1
- package/dist/fields/FieldError/index.js +2 -23
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.d.ts +3 -2
- package/dist/fields/FieldLabel/index.d.ts.map +1 -1
- package/dist/fields/FieldLabel/index.js +61 -59
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.scss +24 -2
- package/dist/fields/Group/index.d.ts +2 -5
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +72 -162
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Hidden/index.d.ts.map +1 -1
- package/dist/fields/Hidden/index.js +30 -41
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts +2 -4
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +48 -53
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts +4 -5
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +41 -32
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts +2 -4
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +146 -295
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +79 -160
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.d.ts.map +1 -1
- package/dist/fields/Password/input.js +51 -65
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Password/types.d.ts +28 -12
- package/dist/fields/Password/types.d.ts.map +1 -1
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.d.ts +2 -4
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +116 -252
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts +3 -4
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +101 -230
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts +2 -4
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +68 -72
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +42 -42
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.d.ts +2 -8
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Row/index.js +28 -69
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Select/Input.d.ts +7 -13
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +77 -114
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.d.ts +2 -4
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +28 -31
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +61 -36
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +2 -5
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +315 -142
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.d.ts.map +1 -1
- package/dist/fields/Text/Input.js +58 -93
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.d.ts +2 -4
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +93 -167
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.d.ts +7 -12
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.d.ts.map +1 -1
- package/dist/fields/Textarea/Input.js +53 -87
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts +2 -4
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +64 -117
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.d.ts +7 -12
- package/dist/fields/Textarea/types.d.ts.map +1 -1
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.d.ts +2 -0
- package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +22 -18
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.scss +8 -0
- package/dist/fields/Upload/HasOne/index.d.ts +2 -0
- package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +2 -0
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts +8 -8
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +153 -148
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.d.ts +2 -0
- package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +61 -42
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +64 -119
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/Upload/types.d.ts +4 -0
- package/dist/fields/Upload/types.d.ts.map +1 -0
- package/dist/fields/Upload/types.js.map +1 -0
- package/dist/fields/index.d.ts +13 -2
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +11 -0
- package/dist/fields/index.js.map +1 -1
- package/dist/fields/mergeFieldStyles.d.ts +3 -0
- package/dist/fields/mergeFieldStyles.d.ts.map +1 -0
- package/dist/fields/mergeFieldStyles.js +13 -0
- package/dist/fields/mergeFieldStyles.js.map +1 -0
- package/dist/forms/Form/context.d.ts +2 -0
- package/dist/forms/Form/context.d.ts.map +1 -1
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +181 -154
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +80 -74
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +17 -4
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.d.ts +7 -0
- package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -0
- package/dist/forms/Form/reduceToSerializableFields.js +20 -0
- package/dist/forms/Form/reduceToSerializableFields.js.map +1 -0
- package/dist/forms/Form/types.d.ts +15 -12
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.d.ts.map +1 -1
- package/dist/forms/NullifyField/index.js +3 -1
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts +6 -18
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +290 -69
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.d.ts.map +1 -1
- package/dist/forms/RenderFields/index.js +89 -101
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.d.ts +9 -10
- package/dist/forms/RenderFields/types.d.ts.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/RowLabel/index.d.ts.map +1 -1
- package/dist/forms/RowLabel/index.js +15 -23
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/RowLabel/types.d.ts +2 -5
- package/dist/forms/RowLabel/types.d.ts.map +1 -1
- package/dist/forms/RowLabel/types.js.map +1 -1
- package/dist/forms/Submit/index.d.ts.map +1 -1
- package/dist/forms/Submit/index.js +7 -2
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.js +3 -3
- package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.d.ts +1 -1
- package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/addFieldStatePromise.d.ts +14 -4
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -0
- package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/addFieldStatePromise.js +171 -32
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -0
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -0
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -0
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -0
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -0
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -0
- package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/promise.js +17 -17
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -0
- package/dist/forms/{buildStateFromSchema/buildStateFromSchema.spec.js → fieldSchemasToFormState/fieldSchemasToFormState.spec.js} +9 -9
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -0
- package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts.map +1 -0
- package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.js.map +1 -0
- package/dist/forms/fieldSchemasToFormState/index.d.ts +34 -0
- package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -0
- package/dist/forms/fieldSchemasToFormState/index.js +58 -0
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -0
- package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/iterateFields.d.ts +15 -8
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -0
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +73 -0
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -0
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts +3 -0
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -0
- package/dist/forms/fieldSchemasToFormState/renderField.js +222 -0
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -0
- package/dist/forms/fieldSchemasToFormState/types.d.ts +25 -0
- package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -0
- package/dist/forms/fieldSchemasToFormState/types.js +2 -0
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -0
- package/dist/forms/useField/index.d.ts +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +63 -73
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.d.ts +3 -8
- package/dist/forms/useField/types.d.ts.map +1 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.d.ts +1 -4
- package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js +21 -42
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/forms/withCondition/index.d.ts +3 -1
- package/dist/forms/withCondition/index.d.ts.map +1 -1
- package/dist/forms/withCondition/index.js +9 -31
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/index.d.ts.map +1 -1
- package/dist/graphics/Account/index.js +17 -38
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/ExternalLink/index.d.ts +1 -0
- package/dist/graphics/ExternalLink/index.d.ts.map +1 -1
- package/dist/graphics/ExternalLink/index.js +6 -9
- package/dist/graphics/ExternalLink/index.js.map +1 -1
- package/dist/graphics/ExternalLink/index.scss +14 -0
- package/dist/hooks/useDebouncedEffect.d.ts +1 -1
- package/dist/hooks/useDebouncedEffect.d.ts.map +1 -1
- package/dist/hooks/useDebouncedEffect.js +1 -1
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useIgnoredEffect.d.ts +4 -0
- package/dist/hooks/useIgnoredEffect.d.ts.map +1 -1
- package/dist/hooks/useIgnoredEffect.js +13 -0
- package/dist/hooks/useIgnoredEffect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +1 -1
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/useUseAsTitle.d.ts +1 -1
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.js +4 -3
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/providers/Actions/index.d.ts +8 -4
- package/dist/providers/Actions/index.d.ts.map +1 -1
- package/dist/providers/Actions/index.js +13 -74
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.d.ts +11 -6
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +49 -58
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Config/index.d.ts +11 -2
- package/dist/providers/Config/index.d.ts.map +1 -1
- package/dist/providers/Config/index.js +8 -6
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +95 -352
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +21 -28
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +16 -0
- package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -0
- package/dist/providers/DocumentInfo/useGetDocPermissions.js +77 -0
- package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -0
- package/dist/providers/EditDepth/index.d.ts +0 -1
- package/dist/providers/EditDepth/index.d.ts.map +1 -1
- package/dist/providers/EditDepth/index.js +22 -7
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts +6 -23
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +52 -57
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Preferences/index.d.ts.map +1 -1
- package/dist/providers/Preferences/index.js +2 -4
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts +3 -2
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +11 -14
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +3 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +42 -0
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -0
- package/dist/providers/ServerFunctions/index.js +108 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -0
- package/dist/scss/vars.scss +2 -2
- package/dist/styles.css +1 -1
- package/dist/utilities/abortAndIgnore.d.ts +2 -0
- package/dist/utilities/abortAndIgnore.d.ts.map +1 -0
- package/dist/utilities/abortAndIgnore.js +10 -0
- package/dist/utilities/abortAndIgnore.js.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/index.d.ts +9 -3
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +58 -36
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +4 -4
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +55 -30
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts +24 -7
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +149 -216
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/buildTableState.d.ts +31 -0
- package/dist/utilities/buildTableState.d.ts.map +1 -0
- package/dist/utilities/buildTableState.js +200 -0
- package/dist/utilities/buildTableState.js.map +1 -0
- package/dist/utilities/flattenFieldMap.d.ts +2 -2
- package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
- package/dist/utilities/flattenFieldMap.js +5 -3
- package/dist/utilities/flattenFieldMap.js.map +1 -1
- package/dist/utilities/groupNavItems.d.ts +10 -6
- package/dist/utilities/groupNavItems.d.ts.map +1 -1
- package/dist/utilities/groupNavItems.js +15 -3
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.d.ts +16 -0
- package/dist/utilities/handleFormStateLocking.d.ts.map +1 -0
- package/dist/utilities/handleFormStateLocking.js +129 -0
- package/dist/utilities/handleFormStateLocking.js.map +1 -0
- package/dist/utilities/handleTakeOver.d.ts +2 -2
- package/dist/utilities/handleTakeOver.d.ts.map +1 -1
- package/dist/utilities/handleTakeOver.js.map +1 -1
- package/dist/utilities/hasSavePermission.d.ts +2 -2
- package/dist/utilities/hasSavePermission.d.ts.map +1 -1
- package/dist/utilities/hasSavePermission.js +2 -2
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/isClientUserObject.d.ts +3 -0
- package/dist/utilities/isClientUserObject.d.ts.map +1 -0
- package/dist/utilities/isClientUserObject.js +4 -0
- package/dist/utilities/isClientUserObject.js.map +1 -0
- package/dist/utilities/mergeListSearchAndWhere.d.ts +10 -0
- package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -0
- package/dist/utilities/mergeListSearchAndWhere.js +47 -0
- package/dist/utilities/mergeListSearchAndWhere.js.map +1 -0
- package/dist/utilities/removeUndefined.d.ts +2 -0
- package/dist/utilities/removeUndefined.d.ts.map +1 -0
- package/dist/utilities/removeUndefined.js +4 -0
- package/dist/utilities/removeUndefined.js.map +1 -0
- package/dist/utilities/renderTable.d.ts +24 -0
- package/dist/utilities/renderTable.d.ts.map +1 -0
- package/dist/utilities/renderTable.js +64 -0
- package/dist/utilities/renderTable.js.map +1 -0
- package/dist/views/Edit/Auth/APIKey.d.ts +6 -0
- package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -0
- package/dist/views/Edit/Auth/APIKey.js +123 -0
- package/dist/views/Edit/Auth/APIKey.js.map +1 -0
- package/dist/views/Edit/Auth/index.d.ts +5 -0
- package/dist/views/Edit/Auth/index.d.ts.map +1 -0
- package/dist/views/Edit/Auth/index.js +337 -0
- package/dist/views/Edit/Auth/index.js.map +1 -0
- package/dist/views/Edit/Auth/index.scss +78 -0
- package/dist/views/Edit/Auth/types.d.ts +17 -0
- package/dist/views/Edit/Auth/types.d.ts.map +1 -0
- package/dist/views/Edit/Auth/types.js +2 -0
- package/dist/views/Edit/Auth/types.js.map +1 -0
- package/dist/views/Edit/SetDocumentStepNav/index.d.ts +11 -0
- package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -0
- package/dist/views/Edit/SetDocumentStepNav/index.js +135 -0
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -0
- package/dist/views/Edit/SetDocumentTitle/index.d.ts +8 -0
- package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -0
- package/dist/views/Edit/SetDocumentTitle/index.js +83 -0
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -0
- package/dist/views/Edit/index.d.ts +5 -0
- package/dist/views/Edit/index.d.ts.map +1 -0
- package/dist/views/Edit/index.js +397 -0
- package/dist/views/Edit/index.js.map +1 -0
- package/dist/views/Edit/index.scss +23 -0
- package/dist/views/Edit/types.d.ts +6 -0
- package/dist/views/Edit/types.d.ts.map +1 -0
- package/dist/views/Edit/types.js +2 -0
- package/dist/views/Edit/types.js.map +1 -0
- package/dist/views/List/ListHeader/index.d.ts +18 -0
- package/dist/views/List/ListHeader/index.d.ts.map +1 -0
- package/dist/views/List/ListHeader/index.js +141 -0
- package/dist/views/List/ListHeader/index.js.map +1 -0
- package/dist/{elements/ListDrawer → views/List/ListHeader}/index.scss +12 -1
- package/dist/views/List/index.d.ts +27 -0
- package/dist/views/List/index.d.ts.map +1 -0
- package/dist/views/List/index.js +294 -0
- package/dist/views/List/index.js.map +1 -0
- package/dist/views/List/index.scss +179 -0
- package/dist/views/List/types.d.ts +32 -0
- package/dist/views/List/types.d.ts.map +1 -0
- package/dist/views/List/types.js +2 -0
- package/dist/views/List/types.js.map +1 -0
- package/license.md +22 -0
- package/package.json +40 -16
- package/dist/elements/ListHeader/index.d.ts +0 -10
- package/dist/elements/ListHeader/index.d.ts.map +0 -1
- package/dist/elements/ListHeader/index.js +0 -17
- package/dist/elements/ListHeader/index.js.map +0 -1
- package/dist/elements/ListHeader/index.scss +0 -12
- package/dist/elements/RelationshipTable/TableWrapper.d.ts +0 -8
- package/dist/elements/RelationshipTable/TableWrapper.d.ts.map +0 -1
- package/dist/elements/RelationshipTable/TableWrapper.js +0 -69
- package/dist/elements/RelationshipTable/TableWrapper.js.map +0 -1
- package/dist/elements/Table/RenderCell.d.ts +0 -11
- package/dist/elements/Table/RenderCell.d.ts.map +0 -1
- package/dist/elements/Table/RenderCell.js +0 -30
- package/dist/elements/Table/RenderCell.js.map +0 -1
- package/dist/elements/Table/TableCellProvider/index.d.ts +0 -19
- package/dist/elements/Table/TableCellProvider/index.d.ts.map +0 -1
- package/dist/elements/Table/TableCellProvider/index.js +0 -48
- package/dist/elements/Table/TableCellProvider/index.js.map +0 -1
- package/dist/exports/client/CodeEditor-4A6256PR.js.map +0 -8
- package/dist/exports/client/chunk-6IWEPNUV.js +0 -14
- package/dist/exports/client/chunk-6IWEPNUV.js.map +0 -8
- package/dist/exports/client/chunk-IHJK2MAT.js +0 -30
- package/dist/forms/FieldPropsProvider/index.d.ts +0 -31
- package/dist/forms/FieldPropsProvider/index.d.ts.map +0 -1
- package/dist/forms/FieldPropsProvider/index.js +0 -44
- package/dist/forms/FieldPropsProvider/index.js.map +0 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +0 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +0 -1
- package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +0 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +0 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +0 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +0 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +0 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +0 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +0 -1
- package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +0 -1
- package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +0 -1
- package/dist/forms/buildStateFromSchema/index.d.ts +0 -28
- package/dist/forms/buildStateFromSchema/index.d.ts.map +0 -1
- package/dist/forms/buildStateFromSchema/index.js +0 -42
- package/dist/forms/buildStateFromSchema/index.js.map +0 -1
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +0 -1
- package/dist/forms/buildStateFromSchema/iterateFields.js +0 -62
- package/dist/forms/buildStateFromSchema/iterateFields.js.map +0 -1
- package/dist/providers/Actions/SetViewActions/index.d.ts +0 -6
- package/dist/providers/Actions/SetViewActions/index.d.ts.map +0 -1
- package/dist/providers/Actions/SetViewActions/index.js +0 -35
- package/dist/providers/Actions/SetViewActions/index.js.map +0 -1
- package/dist/providers/Config/RenderComponent.d.ts +0 -12
- package/dist/providers/Config/RenderComponent.d.ts.map +0 -1
- package/dist/providers/Config/RenderComponent.js +0 -77
- package/dist/providers/Config/RenderComponent.js.map +0 -1
- package/dist/providers/Config/createClientConfig/collections.d.ts +0 -24
- package/dist/providers/Config/createClientConfig/collections.d.ts.map +0 -1
- package/dist/providers/Config/createClientConfig/collections.js +0 -203
- package/dist/providers/Config/createClientConfig/collections.js.map +0 -1
- package/dist/providers/Config/createClientConfig/fields.d.ts +0 -22
- package/dist/providers/Config/createClientConfig/fields.d.ts.map +0 -1
- package/dist/providers/Config/createClientConfig/fields.js +0 -333
- package/dist/providers/Config/createClientConfig/fields.js.map +0 -1
- package/dist/providers/Config/createClientConfig/getComponent.d.ts +0 -11
- package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +0 -1
- package/dist/providers/Config/createClientConfig/getComponent.js +0 -38
- package/dist/providers/Config/createClientConfig/getComponent.js.map +0 -1
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts +0 -11
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +0 -1
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +0 -101
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +0 -1
- package/dist/providers/Config/createClientConfig/globals.d.ts +0 -22
- package/dist/providers/Config/createClientConfig/globals.d.ts.map +0 -1
- package/dist/providers/Config/createClientConfig/globals.js +0 -114
- package/dist/providers/Config/createClientConfig/globals.js.map +0 -1
- package/dist/providers/Config/createClientConfig/index.d.ts +0 -21
- package/dist/providers/Config/createClientConfig/index.d.ts.map +0 -1
- package/dist/providers/Config/createClientConfig/index.js +0 -123
- package/dist/providers/Config/createClientConfig/index.js.map +0 -1
- package/dist/providers/FieldComponents/index.d.ts +0 -9
- package/dist/providers/FieldComponents/index.d.ts.map +0 -1
- package/dist/providers/FieldComponents/index.js +0 -18
- package/dist/providers/FieldComponents/index.js.map +0 -1
- package/dist/providers/ListInfo/index.d.ts +0 -29
- package/dist/providers/ListInfo/index.d.ts.map +0 -1
- package/dist/providers/ListInfo/index.js +0 -18
- package/dist/providers/ListInfo/index.js.map +0 -1
- package/dist/utilities/buildFieldSchemaMap/types.d.ts +0 -3
- package/dist/utilities/buildFieldSchemaMap/types.d.ts.map +0 -1
- package/dist/utilities/buildFieldSchemaMap/types.js.map +0 -1
- package/dist/utilities/getFormState.d.ts +0 -17
- package/dist/utilities/getFormState.d.ts.map +0 -1
- package/dist/utilities/getFormState.js +0 -34
- package/dist/utilities/getFormState.js.map +0 -1
- /package/dist/exports/client/{DatePicker-HNJMUG32.js.map → DatePicker-23XPGPYP.js.map} +0 -0
- /package/dist/{utilities/buildFieldSchemaMap → fields/Upload}/types.js +0 -0
- /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/index.d.ts +0 -0
- /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/index.js +0 -0
- /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/iterateFields.d.ts +0 -0
- /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/iterateFields.js +0 -0
- /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/promise.d.ts +0 -0
- /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/getFilterOptionsQuery.d.ts +0 -0
- /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/getFilterOptionsQuery.js +0 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { dequal } from 'dequal'; // TODO: Can we change this to dequal/lite ? If not, please add comment explaining why
|
|
2
|
+
import { createClientConfig, formatErrors } from 'payload';
|
|
3
|
+
import { renderFilters, renderTable } from './renderTable.js';
|
|
4
|
+
let cachedClientConfig = global._payload_clientConfig;
|
|
5
|
+
if (!cachedClientConfig) {
|
|
6
|
+
cachedClientConfig = global._payload_clientConfig = null;
|
|
7
|
+
}
|
|
8
|
+
export const getClientConfig = args => {
|
|
9
|
+
const {
|
|
10
|
+
config,
|
|
11
|
+
i18n,
|
|
12
|
+
importMap
|
|
13
|
+
} = args;
|
|
14
|
+
if (cachedClientConfig && process.env.NODE_ENV !== 'development') {
|
|
15
|
+
return cachedClientConfig;
|
|
16
|
+
}
|
|
17
|
+
cachedClientConfig = createClientConfig({
|
|
18
|
+
config,
|
|
19
|
+
i18n,
|
|
20
|
+
importMap
|
|
21
|
+
});
|
|
22
|
+
return cachedClientConfig;
|
|
23
|
+
};
|
|
24
|
+
export const buildTableStateHandler = async args => {
|
|
25
|
+
const {
|
|
26
|
+
req
|
|
27
|
+
} = args;
|
|
28
|
+
try {
|
|
29
|
+
const res = await buildTableState(args);
|
|
30
|
+
return res;
|
|
31
|
+
} catch (err) {
|
|
32
|
+
req.payload.logger.error({
|
|
33
|
+
err,
|
|
34
|
+
msg: `There was an error building form state`
|
|
35
|
+
});
|
|
36
|
+
if (err.message === 'Could not find field schema for given path') {
|
|
37
|
+
return {
|
|
38
|
+
message: err.message
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
if (err.message === 'Unauthorized') {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
return formatErrors(err);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
export const buildTableState = async args => {
|
|
48
|
+
const {
|
|
49
|
+
collectionSlug,
|
|
50
|
+
columns,
|
|
51
|
+
docs: docsFromArgs,
|
|
52
|
+
enableRowSelections,
|
|
53
|
+
query,
|
|
54
|
+
renderRowTypes,
|
|
55
|
+
req,
|
|
56
|
+
req: {
|
|
57
|
+
i18n,
|
|
58
|
+
payload,
|
|
59
|
+
payload: {
|
|
60
|
+
config
|
|
61
|
+
},
|
|
62
|
+
user
|
|
63
|
+
},
|
|
64
|
+
tableAppearance
|
|
65
|
+
} = args;
|
|
66
|
+
const incomingUserSlug = user?.collection;
|
|
67
|
+
const adminUserSlug = config.admin.user;
|
|
68
|
+
// If we have a user slug, test it against the functions
|
|
69
|
+
if (incomingUserSlug) {
|
|
70
|
+
const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin;
|
|
71
|
+
// Run the admin access function from the config if it exists
|
|
72
|
+
if (adminAccessFunction) {
|
|
73
|
+
const canAccessAdmin = await adminAccessFunction({
|
|
74
|
+
req
|
|
75
|
+
});
|
|
76
|
+
if (!canAccessAdmin) {
|
|
77
|
+
throw new Error('Unauthorized');
|
|
78
|
+
}
|
|
79
|
+
// Match the user collection to the global admin config
|
|
80
|
+
} else if (adminUserSlug !== incomingUserSlug) {
|
|
81
|
+
throw new Error('Unauthorized');
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
const hasUsers = await payload.find({
|
|
85
|
+
collection: adminUserSlug,
|
|
86
|
+
depth: 0,
|
|
87
|
+
limit: 1,
|
|
88
|
+
pagination: false
|
|
89
|
+
});
|
|
90
|
+
// If there are users, we should not allow access because of /create-first-user
|
|
91
|
+
if (hasUsers.docs.length) {
|
|
92
|
+
throw new Error('Unauthorized');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const clientConfig = getClientConfig({
|
|
96
|
+
config,
|
|
97
|
+
i18n,
|
|
98
|
+
importMap: payload.importMap
|
|
99
|
+
});
|
|
100
|
+
let collectionConfig;
|
|
101
|
+
let clientCollectionConfig;
|
|
102
|
+
if (req.payload.collections[collectionSlug]) {
|
|
103
|
+
collectionConfig = req.payload.collections[collectionSlug].config;
|
|
104
|
+
clientCollectionConfig = clientConfig.collections.find(collection => collection.slug === collectionSlug);
|
|
105
|
+
}
|
|
106
|
+
// get prefs, then set update them using the columns that we just received
|
|
107
|
+
const preferencesKey = `${collectionSlug}-list`;
|
|
108
|
+
const preferencesResult = await payload.find({
|
|
109
|
+
collection: 'payload-preferences',
|
|
110
|
+
depth: 0,
|
|
111
|
+
limit: 1,
|
|
112
|
+
pagination: false,
|
|
113
|
+
where: {
|
|
114
|
+
and: [{
|
|
115
|
+
key: {
|
|
116
|
+
equals: preferencesKey
|
|
117
|
+
}
|
|
118
|
+
}, {
|
|
119
|
+
'user.relationTo': {
|
|
120
|
+
equals: user.collection
|
|
121
|
+
}
|
|
122
|
+
}, {
|
|
123
|
+
'user.value': {
|
|
124
|
+
equals: user.id
|
|
125
|
+
}
|
|
126
|
+
}]
|
|
127
|
+
}
|
|
128
|
+
}).then(res => res.docs[0] ?? {
|
|
129
|
+
id: null,
|
|
130
|
+
value: {}
|
|
131
|
+
});
|
|
132
|
+
let newPrefs = preferencesResult.value;
|
|
133
|
+
if (!preferencesResult.id || !dequal(columns, preferencesResult?.columns)) {
|
|
134
|
+
const mergedPrefs = {
|
|
135
|
+
...(preferencesResult || {}),
|
|
136
|
+
columns
|
|
137
|
+
};
|
|
138
|
+
const preferencesArgs = {
|
|
139
|
+
collection: 'payload-preferences',
|
|
140
|
+
data: {
|
|
141
|
+
key: preferencesKey,
|
|
142
|
+
user: {
|
|
143
|
+
collection: user.collection,
|
|
144
|
+
value: user.id
|
|
145
|
+
},
|
|
146
|
+
value: mergedPrefs
|
|
147
|
+
},
|
|
148
|
+
depth: 0,
|
|
149
|
+
req
|
|
150
|
+
};
|
|
151
|
+
if (preferencesResult.id) {
|
|
152
|
+
newPrefs = await payload.update({
|
|
153
|
+
...preferencesArgs,
|
|
154
|
+
id: preferencesResult.id
|
|
155
|
+
})?.then(res => res.value);
|
|
156
|
+
} else {
|
|
157
|
+
newPrefs = await payload.create(preferencesArgs)?.then(res => res.value);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
const fields = collectionConfig.fields;
|
|
161
|
+
let docs = docsFromArgs;
|
|
162
|
+
let data;
|
|
163
|
+
// lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`
|
|
164
|
+
if (!docs || query) {
|
|
165
|
+
data = await payload.find({
|
|
166
|
+
collection: collectionSlug,
|
|
167
|
+
depth: 0,
|
|
168
|
+
limit: query?.limit ? parseInt(query.limit, 10) : undefined,
|
|
169
|
+
page: query?.page ? parseInt(query.page, 10) : undefined,
|
|
170
|
+
sort: query?.sort,
|
|
171
|
+
where: query?.where
|
|
172
|
+
});
|
|
173
|
+
docs = data.docs;
|
|
174
|
+
}
|
|
175
|
+
const {
|
|
176
|
+
columnState,
|
|
177
|
+
Table
|
|
178
|
+
} = renderTable({
|
|
179
|
+
collectionConfig: clientCollectionConfig,
|
|
180
|
+
columnPreferences: undefined,
|
|
181
|
+
columns,
|
|
182
|
+
docs,
|
|
183
|
+
enableRowSelections,
|
|
184
|
+
fields,
|
|
185
|
+
i18n: req.i18n,
|
|
186
|
+
payload,
|
|
187
|
+
renderRowTypes,
|
|
188
|
+
tableAppearance,
|
|
189
|
+
useAsTitle: collectionConfig.admin.useAsTitle
|
|
190
|
+
});
|
|
191
|
+
const renderedFilters = renderFilters(fields, req.payload.importMap);
|
|
192
|
+
return {
|
|
193
|
+
data,
|
|
194
|
+
preferences: newPrefs,
|
|
195
|
+
renderedFilters,
|
|
196
|
+
state: columnState,
|
|
197
|
+
Table
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=buildTableState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildTableState.js","names":["dequal","createClientConfig","formatErrors","renderFilters","renderTable","cachedClientConfig","global","_payload_clientConfig","getClientConfig","args","config","i18n","importMap","process","env","NODE_ENV","buildTableStateHandler","req","res","buildTableState","err","payload","logger","error","msg","message","collectionSlug","columns","docs","docsFromArgs","enableRowSelections","query","renderRowTypes","user","tableAppearance","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","length","clientConfig","collectionConfig","clientCollectionConfig","slug","preferencesKey","preferencesResult","where","and","key","equals","id","then","value","newPrefs","mergedPrefs","preferencesArgs","data","update","create","fields","parseInt","undefined","page","sort","columnState","Table","columnPreferences","useAsTitle","renderedFilters","preferences","state"],"sources":["../../src/utilities/buildTableState.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n BuildTableStateArgs,\n ClientCollectionConfig,\n ClientConfig,\n ErrorResult,\n ImportMap,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport { dequal } from 'dequal' // TODO: Can we change this to dequal/lite ? If not, please add comment explaining why\nimport { createClientConfig, formatErrors } from 'payload'\n\nimport type { Column } from '../elements/Table/index.js'\nimport type { ListPreferences } from '../elements/TableColumns/index.js'\n\nimport { renderFilters, renderTable } from './renderTable.js'\n\nlet cachedClientConfig = global._payload_clientConfig\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getClientConfig = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n importMap: ImportMap\n}): ClientConfig => {\n const { config, i18n, importMap } = args\n\n if (cachedClientConfig && process.env.NODE_ENV !== 'development') {\n return cachedClientConfig\n }\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n importMap,\n })\n\n return cachedClientConfig\n}\n\ntype BuildTableStateSuccessResult = {\n clientConfig?: ClientConfig\n data: PaginatedDocs\n errors?: never\n preferences: ListPreferences\n renderedFilters: Map<string, React.ReactNode>\n state: Column[]\n Table: React.ReactNode\n}\n\ntype BuildTableStateErrorResult = {\n data?: any\n renderedFilters?: never\n state?: never\n Table?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildTableStateResult = BuildTableStateErrorResult | BuildTableStateSuccessResult\n\nexport const buildTableStateHandler = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateResult> => {\n const { req } = args\n\n try {\n const res = await buildTableState(args)\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildTableState = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateSuccessResult> => {\n const {\n collectionSlug,\n columns,\n docs: docsFromArgs,\n enableRowSelections,\n query,\n renderRowTypes,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n tableAppearance,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: payload.importMap,\n })\n\n let collectionConfig: SanitizedCollectionConfig\n let clientCollectionConfig: ClientCollectionConfig\n\n if (req.payload.collections[collectionSlug]) {\n collectionConfig = req.payload.collections[collectionSlug].config\n clientCollectionConfig = clientConfig.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n }\n\n // get prefs, then set update them using the columns that we just received\n const preferencesKey = `${collectionSlug}-list`\n\n const preferencesResult = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0] ?? { id: null, value: {} })\n\n let newPrefs = preferencesResult.value\n\n if (!preferencesResult.id || !dequal(columns, preferencesResult?.columns)) {\n const mergedPrefs = {\n ...(preferencesResult || {}),\n columns,\n }\n const preferencesArgs = {\n collection: 'payload-preferences',\n data: {\n key: preferencesKey,\n user: {\n collection: user.collection,\n value: user.id,\n },\n value: mergedPrefs,\n },\n depth: 0,\n req,\n }\n\n if (preferencesResult.id) {\n newPrefs = await payload\n .update({\n ...preferencesArgs,\n id: preferencesResult.id,\n })\n ?.then((res) => res.value as ListPreferences)\n } else {\n newPrefs = await payload.create(preferencesArgs)?.then((res) => res.value as ListPreferences)\n }\n }\n\n const fields = collectionConfig.fields\n\n let docs = docsFromArgs\n let data: PaginatedDocs\n\n // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`\n\n if (!docs || query) {\n data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n limit: query?.limit ? parseInt(query.limit, 10) : undefined,\n page: query?.page ? parseInt(query.page, 10) : undefined,\n sort: query?.sort,\n where: query?.where,\n })\n\n docs = data.docs\n }\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: undefined, // TODO, might not be needed\n columns,\n docs,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n return {\n data,\n preferences: newPrefs,\n renderedFilters,\n state: columnState,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClientField } from 'payload';
|
|
1
|
+
import type { ClientField, Field } from 'payload';
|
|
2
2
|
/**
|
|
3
3
|
* Flattens a collection's fields into a single array of fields, as long
|
|
4
4
|
* as the fields do not affect data.
|
|
@@ -6,5 +6,5 @@ import type { ClientField } from 'payload';
|
|
|
6
6
|
* @param fields
|
|
7
7
|
* @param keepPresentationalFields if true, will skip flattening fields that are presentational only
|
|
8
8
|
*/
|
|
9
|
-
export declare const flattenFieldMap: (fields:
|
|
9
|
+
export declare const flattenFieldMap: <T extends ClientField | Field>(fields: T[], keepPresentationalFields?: boolean) => T[];
|
|
10
10
|
//# sourceMappingURL=flattenFieldMap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flattenFieldMap.d.ts","sourceRoot":"","sources":["../../src/utilities/flattenFieldMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"flattenFieldMap.d.ts","sourceRoot":"","sources":["../../src/utilities/flattenFieldMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIjD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,WAAW,GAAG,KAAK,UACnD,CAAC,EAAE,6BACgB,OAAO,KACjC,CAAC,EAuBH,CAAA"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import { fieldIsPresentationalOnly } from 'payload/shared';
|
|
1
2
|
/**
|
|
2
3
|
* Flattens a collection's fields into a single array of fields, as long
|
|
3
4
|
* as the fields do not affect data.
|
|
4
5
|
*
|
|
5
6
|
* @param fields
|
|
6
7
|
* @param keepPresentationalFields if true, will skip flattening fields that are presentational only
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
*/
|
|
9
|
+
export const flattenFieldMap = (fields, keepPresentationalFields) => {
|
|
10
|
+
return fields?.reduce((acc, field) => {
|
|
11
|
+
if ('name' in field || keepPresentationalFields && fieldIsPresentationalOnly(field)) {
|
|
10
12
|
acc.push(field);
|
|
11
13
|
return acc;
|
|
12
14
|
} else if ('fields' in field) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flattenFieldMap.js","names":["flattenFieldMap","fields","keepPresentationalFields","reduce","acc","field","
|
|
1
|
+
{"version":3,"file":"flattenFieldMap.js","names":["fieldIsPresentationalOnly","flattenFieldMap","fields","keepPresentationalFields","reduce","acc","field","push","type","Array","isArray","tabs","tabAcc","tab"],"sources":["../../src/utilities/flattenFieldMap.ts"],"sourcesContent":["import type { ClientField, Field } from 'payload'\n\nimport { fieldIsPresentationalOnly } from 'payload/shared'\n\n/**\n * Flattens a collection's fields into a single array of fields, as long\n * as the fields do not affect data.\n *\n * @param fields\n * @param keepPresentationalFields if true, will skip flattening fields that are presentational only\n */\nexport const flattenFieldMap = <T extends ClientField | Field>(\n fields: T[],\n keepPresentationalFields?: boolean,\n): T[] => {\n return fields?.reduce((acc, field) => {\n if ('name' in field || (keepPresentationalFields && fieldIsPresentationalOnly(field))) {\n acc.push(field)\n return acc\n } else if ('fields' in field) {\n acc.push(...flattenFieldMap(field.fields as T[], keepPresentationalFields))\n } else if (field.type === 'tabs' && 'tabs' in field && Array.isArray(field.tabs)) {\n return [\n ...acc,\n ...field.tabs.reduce((tabAcc, tab) => {\n return [\n ...tabAcc,\n ...('name' in tab\n ? [{ ...tab }]\n : flattenFieldMap(tab.fields as T[], keepPresentationalFields)),\n ]\n }, []),\n ]\n }\n\n return acc\n }, [])\n}\n"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ;AAE1C;;;;;;;AAOA,OAAO,MAAMC,eAAA,GAAkBA,CAC7BC,MAAA,EACAC,wBAAA;EAEA,OAAOD,MAAA,EAAQE,MAAA,CAAO,CAACC,GAAA,EAAKC,KAAA;IAC1B,IAAI,UAAUA,KAAA,IAAUH,wBAAA,IAA4BH,yBAAA,CAA0BM,KAAA,GAAS;MACrFD,GAAA,CAAIE,IAAI,CAACD,KAAA;MACT,OAAOD,GAAA;IACT,OAAO,IAAI,YAAYC,KAAA,EAAO;MAC5BD,GAAA,CAAIE,IAAI,IAAIN,eAAA,CAAgBK,KAAA,CAAMJ,MAAM,EAASC,wBAAA;IACnD,OAAO,IAAIG,KAAA,CAAME,IAAI,KAAK,UAAU,UAAUF,KAAA,IAASG,KAAA,CAAMC,OAAO,CAACJ,KAAA,CAAMK,IAAI,GAAG;MAChF,OAAO,C,GACFN,GAAA,E,GACAC,KAAA,CAAMK,IAAI,CAACP,MAAM,CAAC,CAACQ,MAAA,EAAQC,GAAA;QAC5B,OAAO,C,GACFD,MAAA,E,IACC,UAAUC,GAAA,GACV,CAAC;UAAE,GAAGA;QAAI,EAAE,GACZZ,eAAA,CAAgBY,GAAA,CAAIX,MAAM,EAASC,wBAAA,GACxC;MACH,GAAG,EAAE,EACN;IACH;IAEA,OAAOE,GAAA;EACT,GAAG,EAAE;AACP","ignoreList":[]}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import type { I18nClient } from '@payloadcms/translations';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SanitizedCollectionConfig, SanitizedGlobalConfig, SanitizedPermissions, StaticLabel } from 'payload';
|
|
3
3
|
export declare enum EntityType {
|
|
4
4
|
collection = "collections",
|
|
5
5
|
global = "globals"
|
|
6
6
|
}
|
|
7
7
|
export type EntityToGroup = {
|
|
8
|
-
entity:
|
|
8
|
+
entity: SanitizedCollectionConfig;
|
|
9
9
|
type: EntityType.collection;
|
|
10
10
|
} | {
|
|
11
|
-
entity:
|
|
11
|
+
entity: SanitizedGlobalConfig;
|
|
12
12
|
type: EntityType.global;
|
|
13
13
|
};
|
|
14
|
-
export type
|
|
15
|
-
entities:
|
|
14
|
+
export type NavGroupType = {
|
|
15
|
+
entities: {
|
|
16
|
+
label: StaticLabel;
|
|
17
|
+
slug: string;
|
|
18
|
+
type: EntityType;
|
|
19
|
+
}[];
|
|
16
20
|
label: string;
|
|
17
21
|
};
|
|
18
|
-
export declare function groupNavItems(entities: EntityToGroup[], permissions:
|
|
22
|
+
export declare function groupNavItems(entities: EntityToGroup[], permissions: SanitizedPermissions, i18n: I18nClient): NavGroupType[];
|
|
19
23
|
//# sourceMappingURL=groupNavItems.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groupNavItems.d.ts","sourceRoot":"","sources":["../../src/utilities/groupNavItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"groupNavItems.d.ts","sourceRoot":"","sources":["../../src/utilities/groupNavItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACZ,MAAM,SAAS,CAAA;AAIhB,oBAAY,UAAU;IACpB,UAAU,gBAAgB;IAC1B,MAAM,YAAY;CACnB;AAED,MAAM,MAAM,aAAa,GACrB;IACE,MAAM,EAAE,yBAAyB,CAAA;IACjC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAA;CAC5B,GACD;IACE,MAAM,EAAE,qBAAqB,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAA;CACxB,CAAA;AAEL,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE;QACR,KAAK,EAAE,WAAW,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,UAAU,CAAA;KACjB,EAAE,CAAA;IACH,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,aAAa,EAAE,EACzB,WAAW,EAAE,oBAAoB,EACjC,IAAI,EAAE,UAAU,GACf,YAAY,EAAE,CA4DhB"}
|
|
@@ -6,7 +6,7 @@ export var EntityType;
|
|
|
6
6
|
})(EntityType || (EntityType = {}));
|
|
7
7
|
export function groupNavItems(entities, permissions, i18n) {
|
|
8
8
|
const result = entities.reduce((groups, entityToGroup) => {
|
|
9
|
-
if (permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read
|
|
9
|
+
if (permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read) {
|
|
10
10
|
const translatedGroup = getTranslation(entityToGroup.entity.admin.group, i18n);
|
|
11
11
|
if (entityToGroup.entity.admin.group) {
|
|
12
12
|
const existingGroup = groups.find(group => getTranslation(group.label, i18n) === translatedGroup);
|
|
@@ -18,12 +18,24 @@ export function groupNavItems(entities, permissions, i18n) {
|
|
|
18
18
|
};
|
|
19
19
|
groups.push(matchedGroup);
|
|
20
20
|
}
|
|
21
|
-
matchedGroup.entities.push(
|
|
21
|
+
matchedGroup.entities.push({
|
|
22
|
+
slug: entityToGroup.entity.slug,
|
|
23
|
+
type: entityToGroup.type,
|
|
24
|
+
label: 'labels' in entityToGroup.entity ? typeof entityToGroup.entity.labels.plural === 'function' ? entityToGroup.entity.labels.plural({
|
|
25
|
+
t: i18n.t
|
|
26
|
+
}) : entityToGroup.entity.labels.plural : entityToGroup.entity.label
|
|
27
|
+
});
|
|
22
28
|
} else {
|
|
23
29
|
const defaultGroup = groups.find(group => {
|
|
24
30
|
return getTranslation(group.label, i18n) === i18n.t(`general:${entityToGroup.type}`);
|
|
25
31
|
});
|
|
26
|
-
defaultGroup.entities.push(
|
|
32
|
+
defaultGroup.entities.push({
|
|
33
|
+
slug: entityToGroup.entity.slug,
|
|
34
|
+
type: entityToGroup.type,
|
|
35
|
+
label: 'labels' in entityToGroup.entity ? typeof entityToGroup.entity.labels.plural === 'function' ? entityToGroup.entity.labels.plural({
|
|
36
|
+
t: i18n.t
|
|
37
|
+
}) : entityToGroup.entity.labels.plural : entityToGroup.entity.label
|
|
38
|
+
});
|
|
27
39
|
}
|
|
28
40
|
}
|
|
29
41
|
return groups;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groupNavItems.js","names":["getTranslation","EntityType","groupNavItems","entities","permissions","i18n","result","reduce","groups","entityToGroup","type","toLowerCase","entity","slug","read","
|
|
1
|
+
{"version":3,"file":"groupNavItems.js","names":["getTranslation","EntityType","groupNavItems","entities","permissions","i18n","result","reduce","groups","entityToGroup","type","toLowerCase","entity","slug","read","translatedGroup","admin","group","existingGroup","find","label","matchedGroup","push","labels","plural","t","defaultGroup","filter","length"],"sources":["../../src/utilities/groupNavItems.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n StaticLabel,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nexport enum EntityType {\n collection = 'collections',\n global = 'globals',\n}\n\nexport type EntityToGroup =\n | {\n entity: SanitizedCollectionConfig\n type: EntityType.collection\n }\n | {\n entity: SanitizedGlobalConfig\n type: EntityType.global\n }\n\nexport type NavGroupType = {\n entities: {\n label: StaticLabel\n slug: string\n type: EntityType\n }[]\n label: string\n}\n\nexport function groupNavItems(\n entities: EntityToGroup[],\n permissions: SanitizedPermissions,\n i18n: I18nClient,\n): NavGroupType[] {\n const result = entities.reduce(\n (groups, entityToGroup) => {\n if (permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read) {\n const translatedGroup = getTranslation(entityToGroup.entity.admin.group, i18n)\n\n if (entityToGroup.entity.admin.group) {\n const existingGroup = groups.find(\n (group) => getTranslation(group.label, i18n) === translatedGroup,\n ) as NavGroupType\n\n let matchedGroup: NavGroupType = existingGroup\n\n if (!existingGroup) {\n matchedGroup = { entities: [], label: translatedGroup }\n groups.push(matchedGroup)\n }\n\n matchedGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label:\n 'labels' in entityToGroup.entity\n ? typeof entityToGroup.entity.labels.plural === 'function'\n ? entityToGroup.entity.labels.plural({ t: i18n.t })\n : entityToGroup.entity.labels.plural\n : entityToGroup.entity.label,\n })\n } else {\n const defaultGroup = groups.find((group) => {\n return getTranslation(group.label, i18n) === i18n.t(`general:${entityToGroup.type}`)\n }) as NavGroupType\n defaultGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label:\n 'labels' in entityToGroup.entity\n ? typeof entityToGroup.entity.labels.plural === 'function'\n ? entityToGroup.entity.labels.plural({ t: i18n.t })\n : entityToGroup.entity.labels.plural\n : entityToGroup.entity.label,\n })\n }\n }\n\n return groups\n },\n [\n {\n entities: [],\n label: i18n.t('general:collections'),\n },\n {\n entities: [],\n label: i18n.t('general:globals'),\n },\n ],\n )\n\n return result.filter((group) => group.entities.length > 0)\n}\n"],"mappings":"AAQA,SAASA,cAAc,QAAQ;;WAEnBC,UAAA;;;GAAAA,UAAA,KAAAA,UAAA;AAwBZ,OAAO,SAASC,cACdC,QAAyB,EACzBC,WAAiC,EACjCC,IAAgB;EAEhB,MAAMC,MAAA,GAASH,QAAA,CAASI,MAAM,CAC5B,CAACC,MAAA,EAAQC,aAAA;IACP,IAAIL,WAAA,GAAcK,aAAA,CAAcC,IAAI,CAACC,WAAW,GAAG,GAAGF,aAAA,CAAcG,MAAM,CAACC,IAAI,CAAC,EAAEC,IAAA,EAAM;MACtF,MAAMC,eAAA,GAAkBf,cAAA,CAAeS,aAAA,CAAcG,MAAM,CAACI,KAAK,CAACC,KAAK,EAAEZ,IAAA;MAEzE,IAAII,aAAA,CAAcG,MAAM,CAACI,KAAK,CAACC,KAAK,EAAE;QACpC,MAAMC,aAAA,GAAgBV,MAAA,CAAOW,IAAI,CAC9BF,KAAA,IAAUjB,cAAA,CAAeiB,KAAA,CAAMG,KAAK,EAAEf,IAAA,MAAUU,eAAA;QAGnD,IAAIM,YAAA,GAA6BH,aAAA;QAEjC,IAAI,CAACA,aAAA,EAAe;UAClBG,YAAA,GAAe;YAAElB,QAAA,EAAU,EAAE;YAAEiB,KAAA,EAAOL;UAAgB;UACtDP,MAAA,CAAOc,IAAI,CAACD,YAAA;QACd;QAEAA,YAAA,CAAalB,QAAQ,CAACmB,IAAI,CAAC;UACzBT,IAAA,EAAMJ,aAAA,CAAcG,MAAM,CAACC,IAAI;UAC/BH,IAAA,EAAMD,aAAA,CAAcC,IAAI;UACxBU,KAAA,EACE,YAAYX,aAAA,CAAcG,MAAM,GAC5B,OAAOH,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,KAAK,aAC5Cf,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,CAAC;YAAEC,CAAA,EAAGpB,IAAA,CAAKoB;UAAE,KAC/ChB,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,GACpCf,aAAA,CAAcG,MAAM,CAACQ;QAC7B;MACF,OAAO;QACL,MAAMM,YAAA,GAAelB,MAAA,CAAOW,IAAI,CAAEF,KAAA;UAChC,OAAOjB,cAAA,CAAeiB,KAAA,CAAMG,KAAK,EAAEf,IAAA,MAAUA,IAAA,CAAKoB,CAAC,CAAC,WAAWhB,aAAA,CAAcC,IAAI,EAAE;QACrF;QACAgB,YAAA,CAAavB,QAAQ,CAACmB,IAAI,CAAC;UACzBT,IAAA,EAAMJ,aAAA,CAAcG,MAAM,CAACC,IAAI;UAC/BH,IAAA,EAAMD,aAAA,CAAcC,IAAI;UACxBU,KAAA,EACE,YAAYX,aAAA,CAAcG,MAAM,GAC5B,OAAOH,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,KAAK,aAC5Cf,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,CAAC;YAAEC,CAAA,EAAGpB,IAAA,CAAKoB;UAAE,KAC/ChB,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,GACpCf,aAAA,CAAcG,MAAM,CAACQ;QAC7B;MACF;IACF;IAEA,OAAOZ,MAAA;EACT,GACA,CACE;IACEL,QAAA,EAAU,EAAE;IACZiB,KAAA,EAAOf,IAAA,CAAKoB,CAAC,CAAC;EAChB,GACA;IACEtB,QAAA,EAAU,EAAE;IACZiB,KAAA,EAAOf,IAAA,CAAKoB,CAAC,CAAC;EAChB,EACD;EAGH,OAAOnB,MAAA,CAAOqB,MAAM,CAAEV,KAAA,IAAUA,KAAA,CAAMd,QAAQ,CAACyB,MAAM,GAAG;AAC1D","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PayloadRequest, TypedUser } from 'payload';
|
|
2
|
+
type Args = {
|
|
3
|
+
collectionSlug?: string;
|
|
4
|
+
globalSlug?: string;
|
|
5
|
+
id?: number | string;
|
|
6
|
+
req: PayloadRequest;
|
|
7
|
+
updateLastEdited?: boolean;
|
|
8
|
+
};
|
|
9
|
+
type Result = {
|
|
10
|
+
isLocked: boolean;
|
|
11
|
+
lastEditedAt: string;
|
|
12
|
+
user: TypedUser;
|
|
13
|
+
};
|
|
14
|
+
export declare const handleFormStateLocking: ({ id, collectionSlug, globalSlug, req, updateLastEdited, }: Args) => Promise<Result>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=handleFormStateLocking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleFormStateLocking.d.ts","sourceRoot":"","sources":["../../src/utilities/handleFormStateLocking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExD,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,sBAAsB,+DAMhC,IAAI,KAAG,OAAO,CAAC,MAAM,CAkIvB,CAAA"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
export const handleFormStateLocking = async ({
|
|
2
|
+
id,
|
|
3
|
+
collectionSlug,
|
|
4
|
+
globalSlug,
|
|
5
|
+
req,
|
|
6
|
+
updateLastEdited
|
|
7
|
+
}) => {
|
|
8
|
+
let result;
|
|
9
|
+
if (id || globalSlug) {
|
|
10
|
+
let lockedDocumentQuery;
|
|
11
|
+
if (collectionSlug) {
|
|
12
|
+
lockedDocumentQuery = {
|
|
13
|
+
and: [{
|
|
14
|
+
'document.relationTo': {
|
|
15
|
+
equals: collectionSlug
|
|
16
|
+
}
|
|
17
|
+
}, {
|
|
18
|
+
'document.value': {
|
|
19
|
+
equals: id
|
|
20
|
+
}
|
|
21
|
+
}]
|
|
22
|
+
};
|
|
23
|
+
} else if (globalSlug) {
|
|
24
|
+
lockedDocumentQuery = {
|
|
25
|
+
and: [{
|
|
26
|
+
globalSlug: {
|
|
27
|
+
equals: globalSlug
|
|
28
|
+
}
|
|
29
|
+
}]
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
const lockDurationDefault = 300 // Default 5 minutes in seconds
|
|
33
|
+
;
|
|
34
|
+
const lockDocumentsProp = collectionSlug ? req.payload.config.collections.find(c => c.slug === collectionSlug)?.lockDocuments : req.payload.config.globals.find(g => g.slug === globalSlug)?.lockDocuments;
|
|
35
|
+
const lockDuration = typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault;
|
|
36
|
+
const lockDurationInMilliseconds = lockDuration * 1000;
|
|
37
|
+
const now = new Date().getTime();
|
|
38
|
+
if (lockedDocumentQuery) {
|
|
39
|
+
// Query where the lock is newer than the current time minus the lock duration
|
|
40
|
+
lockedDocumentQuery.and.push({
|
|
41
|
+
updatedAt: {
|
|
42
|
+
greater_than: new Date(now - lockDurationInMilliseconds).toISOString()
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
const lockedDocument = await req.payload.find({
|
|
46
|
+
collection: 'payload-locked-documents',
|
|
47
|
+
depth: 1,
|
|
48
|
+
limit: 1,
|
|
49
|
+
overrideAccess: false,
|
|
50
|
+
pagination: false,
|
|
51
|
+
req,
|
|
52
|
+
where: lockedDocumentQuery
|
|
53
|
+
});
|
|
54
|
+
if (lockedDocument.docs && lockedDocument.docs.length > 0) {
|
|
55
|
+
result = {
|
|
56
|
+
isLocked: true,
|
|
57
|
+
lastEditedAt: lockedDocument.docs[0]?.updatedAt,
|
|
58
|
+
user: lockedDocument.docs[0]?.user?.value
|
|
59
|
+
};
|
|
60
|
+
const lockOwnerId = typeof lockedDocument.docs[0]?.user?.value === 'object' ? lockedDocument.docs[0]?.user?.value?.id : lockedDocument.docs[0]?.user?.value;
|
|
61
|
+
// Should only update doc if the incoming / current user is also the owner of the locked doc
|
|
62
|
+
if (updateLastEdited && req.user && lockOwnerId === req.user.id) {
|
|
63
|
+
await req.payload.db.updateOne({
|
|
64
|
+
id: lockedDocument.docs[0].id,
|
|
65
|
+
collection: 'payload-locked-documents',
|
|
66
|
+
data: {},
|
|
67
|
+
req
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
} else {
|
|
71
|
+
// If NO ACTIVE lock document exists, first delete any expired locks and then create a fresh lock
|
|
72
|
+
// Where updatedAt is older than the duration that is specified in the config
|
|
73
|
+
let deleteExpiredLocksQuery;
|
|
74
|
+
if (collectionSlug) {
|
|
75
|
+
deleteExpiredLocksQuery = {
|
|
76
|
+
and: [{
|
|
77
|
+
'document.relationTo': {
|
|
78
|
+
equals: collectionSlug
|
|
79
|
+
}
|
|
80
|
+
}, {
|
|
81
|
+
updatedAt: {
|
|
82
|
+
less_than: new Date(now - lockDurationInMilliseconds).toISOString()
|
|
83
|
+
}
|
|
84
|
+
}]
|
|
85
|
+
};
|
|
86
|
+
} else if (globalSlug) {
|
|
87
|
+
deleteExpiredLocksQuery = {
|
|
88
|
+
and: [{
|
|
89
|
+
globalSlug: {
|
|
90
|
+
equals: globalSlug
|
|
91
|
+
}
|
|
92
|
+
}, {
|
|
93
|
+
updatedAt: {
|
|
94
|
+
less_than: new Date(now - lockDurationInMilliseconds).toISOString()
|
|
95
|
+
}
|
|
96
|
+
}]
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
await req.payload.db.deleteMany({
|
|
100
|
+
collection: 'payload-locked-documents',
|
|
101
|
+
req,
|
|
102
|
+
where: deleteExpiredLocksQuery
|
|
103
|
+
});
|
|
104
|
+
await req.payload.db.create({
|
|
105
|
+
collection: 'payload-locked-documents',
|
|
106
|
+
data: {
|
|
107
|
+
document: collectionSlug ? {
|
|
108
|
+
relationTo: collectionSlug,
|
|
109
|
+
value: id
|
|
110
|
+
} : undefined,
|
|
111
|
+
globalSlug: globalSlug ? globalSlug : undefined,
|
|
112
|
+
user: {
|
|
113
|
+
relationTo: req.user.collection,
|
|
114
|
+
value: req.user.id
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
req
|
|
118
|
+
});
|
|
119
|
+
result = {
|
|
120
|
+
isLocked: true,
|
|
121
|
+
lastEditedAt: new Date().toISOString(),
|
|
122
|
+
user: req.user
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return result;
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=handleFormStateLocking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleFormStateLocking.js","names":["handleFormStateLocking","id","collectionSlug","globalSlug","req","updateLastEdited","result","lockedDocumentQuery","and","equals","lockDurationDefault","lockDocumentsProp","payload","config","collections","find","c","slug","lockDocuments","globals","g","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","push","updatedAt","greater_than","toISOString","lockedDocument","collection","depth","limit","overrideAccess","pagination","where","docs","length","isLocked","lastEditedAt","user","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\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 lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDocumentsProp = collectionSlug\n ? req.payload.config.collections.find((c) => c.slug === collectionSlug)?.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 req,\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 req,\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 req,\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 req,\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,7 +1,7 @@
|
|
|
1
1
|
import type { ClientUser } from 'payload';
|
|
2
|
-
export declare const handleTakeOver: (id: number | string, collectionSlug: string, globalSlug: string, user: ClientUser, isWithinDoc: boolean, updateDocumentEditor: (docId: number | string, slug: string, user: ClientUser) => Promise<void>, setCurrentEditor: (value: React.SetStateAction<ClientUser>) => void, documentLockStateRef: React.RefObject<{
|
|
2
|
+
export declare const handleTakeOver: (id: number | string, collectionSlug: string, globalSlug: string, user: ClientUser | number | string, isWithinDoc: boolean, updateDocumentEditor: (docId: number | string, slug: string, user: ClientUser | number | string) => Promise<void>, setCurrentEditor: (value: React.SetStateAction<ClientUser | number | string>) => void, documentLockStateRef: React.RefObject<{
|
|
3
3
|
hasShownLockedModal: boolean;
|
|
4
4
|
isLocked: boolean;
|
|
5
|
-
user: ClientUser;
|
|
5
|
+
user: ClientUser | number | string;
|
|
6
6
|
}>, isLockingEnabled: boolean, setIsReadOnlyForIncomingUser?: (value: React.SetStateAction<boolean>) => void) => void;
|
|
7
7
|
//# sourceMappingURL=handleTakeOver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleTakeOver.d.ts","sourceRoot":"","sources":["../../src/utilities/handleTakeOver.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,eAAO,MAAM,cAAc,OACrB,MAAM,GAAG,MAAM,kBACH,MAAM,cACV,MAAM,QACZ,UAAU,
|
|
1
|
+
{"version":3,"file":"handleTakeOver.d.ts","sourceRoot":"","sources":["../../src/utilities/handleTakeOver.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,eAAO,MAAM,cAAc,OACrB,MAAM,GAAG,MAAM,kBACH,MAAM,cACV,MAAM,QACZ,UAAU,GAAG,MAAM,GAAG,MAAM,eACrB,OAAO,wBACE,CACpB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,KAC/B,OAAO,CAAC,IAAI,CAAC,oBACA,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,wBAC/D,KAAK,CAAC,SAAS,CAAC;IACpC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;CACnC,CAAC,oBACgB,OAAO,iCACM,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,KAC5E,IA6BF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleTakeOver.js","names":["handleTakeOver","id","collectionSlug","globalSlug","user","isWithinDoc","updateDocumentEditor","setCurrentEditor","documentLockStateRef","isLockingEnabled","setIsReadOnlyForIncomingUser","current","hasShownLockedModal","isLocked","error","console"],"sources":["../../src/utilities/handleTakeOver.tsx"],"sourcesContent":["import type { ClientUser } from 'payload'\n\nexport const handleTakeOver = (\n id: number | string,\n collectionSlug: string,\n globalSlug: string,\n user: ClientUser,\n isWithinDoc: boolean,\n updateDocumentEditor: (docId: number | string
|
|
1
|
+
{"version":3,"file":"handleTakeOver.js","names":["handleTakeOver","id","collectionSlug","globalSlug","user","isWithinDoc","updateDocumentEditor","setCurrentEditor","documentLockStateRef","isLockingEnabled","setIsReadOnlyForIncomingUser","current","hasShownLockedModal","isLocked","error","console"],"sources":["../../src/utilities/handleTakeOver.tsx"],"sourcesContent":["import type { ClientUser } from 'payload'\n\nexport const handleTakeOver = (\n id: number | string,\n collectionSlug: string,\n globalSlug: string,\n user: ClientUser | number | string,\n isWithinDoc: boolean,\n updateDocumentEditor: (\n docId: number | string,\n slug: string,\n user: ClientUser | number | string,\n ) => Promise<void>,\n setCurrentEditor: (value: React.SetStateAction<ClientUser | number | string>) => void,\n documentLockStateRef: React.RefObject<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n }>,\n isLockingEnabled: boolean,\n setIsReadOnlyForIncomingUser?: (value: React.SetStateAction<boolean>) => void,\n): void => {\n if (!isLockingEnabled) {\n return\n }\n\n try {\n // Call updateDocumentEditor to update the document's owner to the current user\n void updateDocumentEditor(id, collectionSlug ?? globalSlug, user)\n\n if (!isWithinDoc) {\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n // Update the locked state to reflect the current user as the owner\n documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal,\n isLocked: true,\n user,\n }\n setCurrentEditor(user)\n\n // If this is a takeover within the document, ensure the document is editable\n if (isWithinDoc && setIsReadOnlyForIncomingUser) {\n setIsReadOnlyForIncomingUser(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error during document takeover:', error)\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAA,GAAiBA,CAC5BC,EAAA,EACAC,cAAA,EACAC,UAAA,EACAC,IAAA,EACAC,WAAA,EACAC,oBAAA,EAKAC,gBAAA,EACAC,oBAAA,EAKAC,gBAAA,EACAC,4BAAA;EAEA,IAAI,CAACD,gBAAA,EAAkB;IACrB;EACF;EAEA,IAAI;IACF;IACA,KAAKH,oBAAA,CAAqBL,EAAA,EAAIC,cAAA,IAAkBC,UAAA,EAAYC,IAAA;IAE5D,IAAI,CAACC,WAAA,EAAa;MAChBG,oBAAA,CAAqBG,OAAO,CAACC,mBAAmB,GAAG;IACrD;IAEA;IACAJ,oBAAA,CAAqBG,OAAO,GAAG;MAC7BC,mBAAA,EAAqBJ,oBAAA,CAAqBG,OAAO,EAAEC,mBAAA;MACnDC,QAAA,EAAU;MACVT;IACF;IACAG,gBAAA,CAAiBH,IAAA;IAEjB;IACA,IAAIC,WAAA,IAAeK,4BAAA,EAA8B;MAC/CA,4BAAA,CAA6B;IAC/B;EACF,EAAE,OAAOI,KAAA,EAAO;IACd;IACAC,OAAA,CAAQD,KAAK,CAAC,mCAAmCA,KAAA;EACnD;AACF","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SanitizedDocumentPermissions } from 'payload';
|
|
2
2
|
export declare const hasSavePermission: (args: {
|
|
3
3
|
collectionSlug?: string;
|
|
4
|
-
docPermissions:
|
|
4
|
+
docPermissions: SanitizedDocumentPermissions;
|
|
5
5
|
globalSlug?: string;
|
|
6
6
|
isEditing: boolean;
|
|
7
7
|
}) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasSavePermission.d.ts","sourceRoot":"","sources":["../../src/utilities/hasSavePermission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"hasSavePermission.d.ts","sourceRoot":"","sources":["../../src/utilities/hasSavePermission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,4BAA4B,EAE7B,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,iBAAiB,SAAU;IAItC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,4BAA4B,CAAA;IAI5C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CACnB,YAeA,CAAA"}
|
|
@@ -6,10 +6,10 @@ export const hasSavePermission = args => {
|
|
|
6
6
|
isEditing
|
|
7
7
|
} = args;
|
|
8
8
|
if (collectionSlug) {
|
|
9
|
-
return Boolean(isEditing && docPermissions?.update
|
|
9
|
+
return Boolean(isEditing && docPermissions?.update || !isEditing && docPermissions?.create);
|
|
10
10
|
}
|
|
11
11
|
if (globalSlug) {
|
|
12
|
-
return Boolean(docPermissions?.update
|
|
12
|
+
return Boolean(docPermissions?.update);
|
|
13
13
|
}
|
|
14
14
|
return false;
|
|
15
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasSavePermission.js","names":["hasSavePermission","args","collectionSlug","docPermissions","globalSlug","isEditing","Boolean","update","
|
|
1
|
+
{"version":3,"file":"hasSavePermission.js","names":["hasSavePermission","args","collectionSlug","docPermissions","globalSlug","isEditing","Boolean","update","create"],"sources":["../../src/utilities/hasSavePermission.ts"],"sourcesContent":["import type {\n SanitizedCollectionPermission,\n SanitizedDocumentPermissions,\n SanitizedGlobalPermission,\n} from 'payload'\n\nexport const hasSavePermission = (args: {\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n collectionSlug?: string\n docPermissions: SanitizedDocumentPermissions\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n globalSlug?: string\n isEditing: boolean\n}) => {\n const { collectionSlug, docPermissions, globalSlug, isEditing } = args\n\n if (collectionSlug) {\n return Boolean(\n (isEditing && docPermissions?.update) ||\n (!isEditing && (docPermissions as SanitizedCollectionPermission)?.create),\n )\n }\n\n if (globalSlug) {\n return Boolean((docPermissions as SanitizedGlobalPermission)?.update)\n }\n\n return false\n}\n"],"mappings":"AAMA,OAAO,MAAMA,iBAAA,GAAqBC,IAAA;EAYhC,MAAM;IAAEC,cAAc;IAAEC,cAAc;IAAEC,UAAU;IAAEC;EAAS,CAAE,GAAGJ,IAAA;EAElE,IAAIC,cAAA,EAAgB;IAClB,OAAOI,OAAA,CACLD,SAAC,IAAaF,cAAA,EAAgBI,MAAA,IAC3B,CAACF,SAAA,IAAcF,cAAA,EAAkDK,MAAA;EAExE;EAEA,IAAIJ,UAAA,EAAY;IACd,OAAOE,OAAA,CAASH,cAAA,EAA8CI,MAAA;EAChE;EAEA,OAAO;AACT","ignoreList":[]}
|