@payloadcms/ui 4.0.0-internal.af6aad0 → 4.0.0-internal.b8e7c89
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.css +4 -0
- package/dist/elements/AddNewRelation/index.js +2 -2
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AppHeader/index.css +0 -4
- package/dist/elements/AppHeader/index.d.ts +8 -1
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +14 -5
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +2 -3
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +2 -3
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/index.css +0 -23
- package/dist/elements/Button/types.d.ts +1 -1
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +8 -9
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.css +0 -1
- package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +62 -84
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +2 -3
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/Drawer/types.d.ts +2 -2
- package/dist/elements/Drawer/types.d.ts.map +1 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +2 -3
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +2 -3
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +4 -22
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +49 -68
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +15 -100
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +137 -97
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +23 -51
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +3 -26
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +1 -6
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +3 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +13 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +141 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -0
- package/dist/elements/Hierarchy/Field/index.client.d.ts +0 -5
- package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.js +95 -120
- package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.css +34 -3
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +4 -18
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +24 -88
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.css +53 -4
- package/dist/elements/Hierarchy/Modal/index.d.ts +2 -5
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.js +99 -136
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/types.d.ts +0 -15
- package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -7
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +171 -45
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/index.css +9 -2
- package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/index.js +73 -6
- package/dist/elements/Hierarchy/Search/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/types.d.ts +6 -2
- package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/types.js.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -3
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +4 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +186 -101
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +21 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
- package/dist/elements/Hierarchy/Tree/TreeNode/index.css +29 -59
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js +10 -54
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.css +9 -8
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.js +47 -29
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/types.d.ts +1 -9
- package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js +1 -11
- package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +2 -3
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +0 -4
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +2 -3
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +1 -1
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +1 -1
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.d.ts +0 -1
- package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +18 -12
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +2 -1
- package/dist/elements/Nav/context.d.ts +1 -0
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +67 -92
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Nav/index.css +42 -47
- package/dist/elements/Nav/index.d.ts +0 -4
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +1 -16
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/NavGroup/index.css +15 -29
- package/dist/elements/Popup/PopupButtonList/index.css +16 -32
- package/dist/elements/Popup/index.css +0 -6
- package/dist/elements/Popup/index.d.ts +0 -10
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +5 -12
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +8 -30
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +5 -6
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +2 -3
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +0 -5
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RestoreMany/index.d.ts.map +1 -1
- package/dist/elements/RestoreMany/index.js +2 -3
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +2 -3
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SelectAll/index.d.ts.map +1 -1
- package/dist/elements/SelectAll/index.js +2 -1
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +2 -1
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SidebarRow/index.css +5 -1
- package/dist/elements/SidebarToggle/index.css +1 -3
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +2 -3
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +10 -14
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.d.ts +0 -6
- package/dist/elements/StepNav/types.d.ts.map +1 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +7 -5
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +3 -14
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +2 -3
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +2 -3
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
- package/dist/elements/UnpublishButton/index.js +3 -4
- package/dist/elements/UnpublishButton/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +2 -3
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.js +39 -83
- package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.js +21 -57
- package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.js +39 -83
- package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/index.css +2 -32
- package/dist/elements/UserMenu/index.d.ts +0 -1
- package/dist/elements/UserMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/index.js +51 -77
- package/dist/elements/UserMenu/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +0 -4
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +1 -1
- package/dist/exports/client/index.js.map +3 -3
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +2 -3
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +2 -3
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +2 -2
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +152 -134
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +155 -168
- package/dist/fields/FieldLabel/index.d.ts.map +1 -1
- package/dist/fields/FieldLabel/index.js +4 -5
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +8 -27
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +0 -2
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +0 -24
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +2 -3
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +2 -3
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/Input.spec.js +2 -1
- package/dist/fields/Upload/Input.spec.js.map +1 -1
- package/dist/fields/shared/index.d.ts +1 -1
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +2 -3
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/NullifyField/index.d.ts.map +1 -1
- package/dist/forms/NullifyField/index.js +2 -3
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +2 -3
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +2 -3
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/Hierarchy/index.d.ts.map +1 -1
- package/dist/providers/Hierarchy/index.js +24 -53
- package/dist/providers/Hierarchy/index.js.map +1 -1
- package/dist/providers/Hierarchy/types.d.ts +0 -2
- package/dist/providers/Hierarchy/types.d.ts.map +1 -1
- package/dist/providers/Hierarchy/types.js.map +1 -1
- package/dist/providers/LivePreview/index.d.ts.map +1 -1
- package/dist/providers/LivePreview/index.js +13 -6
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Locale/index.d.ts +1 -5
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +61 -139
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +2 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +5 -1
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +15 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +0 -1
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/templates/Default/Wrapper/index.css +1 -2
- package/dist/templates/Default/Wrapper/index.d.ts +0 -2
- package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +6 -12
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.css +1 -3
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +15 -17
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
- package/dist/utilities/formatAbsoluteURL.js +18 -8
- package/dist/utilities/formatAbsoluteURL.js.map +1 -1
- package/dist/utilities/formatAbsoluteURL.spec.js +27 -0
- package/dist/utilities/formatAbsoluteURL.spec.js.map +1 -0
- package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
- package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
- package/dist/utilities/getHasScheduledPublish.js +2 -5
- package/dist/utilities/getHasScheduledPublish.js.map +1 -1
- package/dist/utilities/isAbsoluteURL.d.ts +3 -0
- package/dist/utilities/isAbsoluteURL.d.ts.map +1 -0
- package/dist/utilities/isAbsoluteURL.js +15 -0
- package/dist/utilities/isAbsoluteURL.js.map +1 -0
- package/dist/utilities/isAbsoluteURL.spec.js +11 -0
- package/dist/utilities/isAbsoluteURL.spec.js.map +1 -0
- package/dist/utilities/isHttpURL.d.ts +3 -0
- package/dist/utilities/isHttpURL.d.ts.map +1 -0
- package/dist/utilities/isHttpURL.js +12 -0
- package/dist/utilities/isHttpURL.js.map +1 -0
- package/dist/utilities/isHttpURL.spec.js +25 -0
- package/dist/utilities/isHttpURL.spec.js.map +1 -0
- package/dist/utilities/schedulePublishHandler.d.ts +8 -1
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +68 -4
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +2 -1
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +2 -0
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +2 -3
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +1 -2
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js +105 -100
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +1 -6
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.js +8 -10
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +10 -11
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +6 -3
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.css +0 -51
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts +1 -13
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +38 -156
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts +0 -6
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
- package/dist/views/HierarchyList/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/index.js +20 -103
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.d.ts.map +1 -1
- package/dist/views/List/ListSelection/index.js +122 -138
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/handleHierarchy.d.ts +1 -6
- package/dist/views/List/handleHierarchy.d.ts.map +1 -1
- package/dist/views/List/handleHierarchy.js +3 -34
- package/dist/views/List/handleHierarchy.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +5 -129
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +16 -27
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.js +2 -8
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +10 -13
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +12 -13
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +1 -0
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +56 -50
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +41 -27
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.spec.js +258 -0
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.spec.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +10 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +33 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +56 -2
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +8 -2
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +17 -19
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +3 -13
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/package.json +6 -5
- package/dist/elements/Hierarchy/CreateNewButton/index.css +0 -9
- package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +0 -9
- package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/CreateNewButton/index.js +0 -111
- package/dist/elements/Hierarchy/CreateNewButton/index.js.map +0 -1
- package/dist/elements/Hierarchy/Modal/Footer/index.css +0 -45
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +0 -28
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Modal/Footer/index.js +0 -166
- package/dist/elements/Hierarchy/Modal/Footer/index.js.map +0 -1
- package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +0 -22
- package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +0 -1
- package/dist/elements/Hierarchy/getFolderHierarchySlug.js +0 -17
- package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +0 -1
- package/dist/elements/Hierarchy/move/moveDocuments.d.ts +0 -34
- package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +0 -1
- package/dist/elements/Hierarchy/move/moveDocuments.js +0 -94
- package/dist/elements/Hierarchy/move/moveDocuments.js.map +0 -1
- package/dist/elements/SegmentedControl/index.css +0 -58
- package/dist/elements/SegmentedControl/index.d.ts +0 -19
- package/dist/elements/SegmentedControl/index.d.ts.map +0 -1
- package/dist/elements/SegmentedControl/index.js +0 -104
- package/dist/elements/SegmentedControl/index.js.map +0 -1
- package/dist/elements/StepNav/DropTarget/index.css +0 -20
- package/dist/elements/StepNav/DropTarget/index.d.ts +0 -16
- package/dist/elements/StepNav/DropTarget/index.d.ts.map +0 -1
- package/dist/elements/StepNav/DropTarget/index.js +0 -71
- package/dist/elements/StepNav/DropTarget/index.js.map +0 -1
- package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +0 -18
- package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +0 -1
- package/dist/elements/UserMenu/HoverSubmenuGroup.js +0 -38
- package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +0 -1
- package/dist/elements/UserMenu/useHoverSubmenu.d.ts +0 -21
- package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +0 -1
- package/dist/elements/UserMenu/useHoverSubmenu.js +0 -260
- package/dist/elements/UserMenu/useHoverSubmenu.js.map +0 -1
- package/dist/elements/ViewModeToggle/index.d.ts +0 -8
- package/dist/elements/ViewModeToggle/index.d.ts.map +0 -1
- package/dist/elements/ViewModeToggle/index.js +0 -29
- package/dist/elements/ViewModeToggle/index.js.map +0 -1
- package/dist/icons/CollapseLayers/index.css +0 -5
- package/dist/icons/CollapseLayers/index.d.ts +0 -7
- package/dist/icons/CollapseLayers/index.d.ts.map +0 -1
- package/dist/icons/CollapseLayers/index.js +0 -23
- package/dist/icons/CollapseLayers/index.js.map +0 -1
- package/dist/icons/Table/index.css +0 -5
- package/dist/icons/Table/index.d.ts +0 -7
- package/dist/icons/Table/index.d.ts.map +0 -1
- package/dist/icons/Table/index.js +0 -25
- package/dist/icons/Table/index.js.map +0 -1
- package/dist/providers/HierarchyDnd/index.css +0 -51
- package/dist/providers/HierarchyDnd/index.d.ts +0 -21
- package/dist/providers/HierarchyDnd/index.d.ts.map +0 -1
- package/dist/providers/HierarchyDnd/index.js +0 -163
- package/dist/providers/HierarchyDnd/index.js.map +0 -1
- package/dist/providers/HierarchyDnd/types.d.ts +0 -56
- package/dist/providers/HierarchyDnd/types.d.ts.map +0 -1
- package/dist/providers/HierarchyDnd/types.js +0 -21
- package/dist/providers/HierarchyDnd/types.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +0 -216
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +0 -20
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +0 -182
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +0 -38
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +0 -15
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +0 -85
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +0 -98
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +0 -27
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +0 -84
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +0 -19
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +0 -100
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +0 -53
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +0 -145
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +0 -8
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +0 -21
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/index.css +0 -115
- package/dist/views/HierarchyList/HierarchyCards/index.d.ts +0 -80
- package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyCards/index.js +0 -457
- package/dist/views/HierarchyList/HierarchyCards/index.js.map +0 -1
|
@@ -4,7 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
4
4
|
import { getTranslation } from '@payloadcms/translations';
|
|
5
5
|
import { formatAdminURL } from 'payload/shared';
|
|
6
6
|
import * as qs from 'qs-esm';
|
|
7
|
-
import React, { Fragment, useCallback, useEffect, useMemo
|
|
7
|
+
import React, { Fragment, useCallback, useEffect, useMemo } from 'react';
|
|
8
8
|
import { CreateDocumentButton } from '../../elements/CreateDocumentButton/index.js';
|
|
9
9
|
import { ListControlsBar } from '../../elements/ListControlsBar/index.js';
|
|
10
10
|
import { useListDrawerContext } from '../../elements/ListDrawer/Provider.js';
|
|
@@ -12,11 +12,9 @@ import { RenderCustomComponent } from '../../elements/RenderCustomComponent/inde
|
|
|
12
12
|
import { ListSearchFilter } from '../../elements/Search/ListSearchFilter/index.js';
|
|
13
13
|
import { useStepNav } from '../../elements/StepNav/index.js';
|
|
14
14
|
import { ViewDescription } from '../../elements/ViewDescription/index.js';
|
|
15
|
-
import { ViewModeToggle } from '../../elements/ViewModeToggle/index.js';
|
|
16
15
|
import { useConfig } from '../../providers/Config/index.js';
|
|
17
16
|
import { DocumentSelectionProvider } from '../../providers/DocumentSelection/index.js';
|
|
18
17
|
import { useHierarchy } from '../../providers/Hierarchy/index.js';
|
|
19
|
-
import { usePreferences } from '../../providers/Preferences/index.js';
|
|
20
18
|
import { useRouteCache } from '../../providers/RouteCache/index.js';
|
|
21
19
|
import { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js';
|
|
22
20
|
import { useRouteTransition } from '../../providers/RouteTransition/index.js';
|
|
@@ -37,7 +35,6 @@ export function HierarchyListView(props) {
|
|
|
37
35
|
hierarchyData,
|
|
38
36
|
HierarchyIcon,
|
|
39
37
|
HierarchySmallIcon,
|
|
40
|
-
listPreferences,
|
|
41
38
|
viewType
|
|
42
39
|
} = props;
|
|
43
40
|
const router = useRouter();
|
|
@@ -64,15 +61,7 @@ export function HierarchyListView(props) {
|
|
|
64
61
|
const {
|
|
65
62
|
labels
|
|
66
63
|
} = collectionConfig;
|
|
67
|
-
|
|
68
|
-
// (Folders), so every hierarchy-shaped lookup below has to go through the latter.
|
|
69
|
-
const hierarchySlug = hierarchyData?.hierarchySlug ?? collectionSlug;
|
|
70
|
-
const scopedCollectionSlug = hierarchyData?.scopedCollectionSlug;
|
|
71
|
-
const isScoped = Boolean(scopedCollectionSlug);
|
|
72
|
-
const hierarchyCollectionConfig = getEntityConfig({
|
|
73
|
-
collectionSlug: hierarchySlug
|
|
74
|
-
});
|
|
75
|
-
const hierarchyConfig = hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object' ? hierarchyCollectionConfig.hierarchy : undefined;
|
|
64
|
+
const hierarchyConfig = collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined;
|
|
76
65
|
const parentFieldName = hierarchyConfig?.parentFieldName;
|
|
77
66
|
const {
|
|
78
67
|
i18n,
|
|
@@ -89,27 +78,11 @@ export function HierarchyListView(props) {
|
|
|
89
78
|
const {
|
|
90
79
|
clearRouteCache
|
|
91
80
|
} = useRouteCache();
|
|
92
|
-
const {
|
|
93
|
-
setPreference
|
|
94
|
-
} = usePreferences();
|
|
95
|
-
const [viewMode, setViewMode] = useState(listPreferences?.documentViewMode ?? 'table');
|
|
96
|
-
const handleViewModeChange = useCallback(nextViewMode => {
|
|
97
|
-
setViewMode(nextViewMode);
|
|
98
|
-
// merge: true, otherwise this write clobbers sibling list preferences
|
|
99
|
-
// stored on the same key (columns, sort, limit, preset, groupBy).
|
|
100
|
-
// A failed write only costs the persisted choice, so it must not surface as an
|
|
101
|
-
// unhandled rejection.
|
|
102
|
-
void setPreference(`collection-${collectionSlug}`, {
|
|
103
|
-
documentViewMode: nextViewMode
|
|
104
|
-
}, true).catch(() => {
|
|
105
|
-
// Intentionally ignored: the view still switched, only persistence failed.
|
|
106
|
-
});
|
|
107
|
-
}, [collectionSlug, setPreference]);
|
|
108
81
|
// Callback for when a new document is created
|
|
109
82
|
const handleSave = useCallback(() => {
|
|
110
83
|
clearRouteCache();
|
|
111
|
-
refreshTree(
|
|
112
|
-
}, [clearRouteCache,
|
|
84
|
+
refreshTree(collectionSlug);
|
|
85
|
+
}, [clearRouteCache, collectionSlug, refreshTree]);
|
|
113
86
|
// Get search from URL params
|
|
114
87
|
const searchFromURL = searchParams.get('search') || '';
|
|
115
88
|
// Update URL when search changes (debouncing is handled by ListSearchFilter)
|
|
@@ -137,30 +110,9 @@ export function HierarchyListView(props) {
|
|
|
137
110
|
const currentItemTitle = hierarchyData?.breadcrumbs && hierarchyData.breadcrumbs.length > 0 ? hierarchyData.breadcrumbs[hierarchyData.breadcrumbs.length - 1].title : undefined;
|
|
138
111
|
useEffect(() => {
|
|
139
112
|
if (!isInDrawer) {
|
|
140
|
-
//
|
|
141
|
-
|
|
142
|
-
const
|
|
143
|
-
// Dropping on the trail is the only way to move items *out* of a folder, since the tree has no
|
|
144
|
-
// root row: the base crumb moves them to root, an ancestor crumb moves them up.
|
|
145
|
-
const rootDropTarget = parentFieldName ? {
|
|
146
|
-
type: 'hierarchy-folder',
|
|
147
|
-
ancestorIds: [],
|
|
148
|
-
folderId: null,
|
|
149
|
-
hierarchySlug,
|
|
150
|
-
parentFieldName,
|
|
151
|
-
title: t('hierarchy:noParent')
|
|
152
|
-
} : undefined;
|
|
153
|
-
// A scoped browse is its own destination ("Media by Folder"), distinct from the collection's
|
|
154
|
-
// plain list, so its crumb links to the browse root rather than to /collections/media.
|
|
155
|
-
const baseLabel = isScoped ? {
|
|
156
|
-
dropTarget: rootDropTarget,
|
|
157
|
-
label: `${collectionLabel} ${t('general:by')} ${getTranslation(hierarchyCollectionConfig?.labels?.singular, i18n)}`,
|
|
158
|
-
url: formatAdminURL({
|
|
159
|
-
adminRoute,
|
|
160
|
-
path: `/collections/${collectionSlug}/hierarchy`
|
|
161
|
-
})
|
|
162
|
-
} : {
|
|
163
|
-
dropTarget: rootDropTarget,
|
|
113
|
+
// Breadcrumbs exclude the last item (current item) since it's shown in the header
|
|
114
|
+
const ancestorBreadcrumbs = hierarchyData?.breadcrumbs?.slice(0, -1) || [];
|
|
115
|
+
const baseLabel = {
|
|
164
116
|
label: collectionLabel,
|
|
165
117
|
url: formatAdminURL({
|
|
166
118
|
adminRoute,
|
|
@@ -168,39 +120,21 @@ export function HierarchyListView(props) {
|
|
|
168
120
|
})
|
|
169
121
|
};
|
|
170
122
|
let navItems = [baseLabel];
|
|
171
|
-
if (
|
|
123
|
+
if (ancestorBreadcrumbs.length > 0) {
|
|
172
124
|
const queryParam = parentFieldName || 'parent';
|
|
173
|
-
|
|
174
|
-
const basePath = isScoped ? `/collections/${collectionSlug}/hierarchy` : `/collections/${collectionSlug}`;
|
|
175
|
-
const lastIndex = breadcrumbs.length - 1;
|
|
176
|
-
const hierarchyBreadcrumbs = breadcrumbs.map((crumb, index) => ({
|
|
177
|
-
// The last crumb is the folder already open, so dropping on it would be a no-op. Ancestor
|
|
178
|
-
// folders carry no collectionSpecific value here, so type acceptance falls to the server.
|
|
179
|
-
dropTarget: index === lastIndex || !parentFieldName ? undefined : {
|
|
180
|
-
type: 'hierarchy-folder',
|
|
181
|
-
ancestorIds: breadcrumbs.slice(0, index).map(ancestor => ancestor.id),
|
|
182
|
-
folderId: crumb.id,
|
|
183
|
-
hierarchySlug,
|
|
184
|
-
parentFieldName,
|
|
185
|
-
title: crumb.title
|
|
186
|
-
},
|
|
125
|
+
const hierarchyBreadcrumbs = ancestorBreadcrumbs.map(crumb => ({
|
|
187
126
|
label: crumb.title,
|
|
188
|
-
|
|
189
|
-
// read as the trail's end rather than as another link back to itself.
|
|
190
|
-
url: index === lastIndex ? undefined : formatAdminURL({
|
|
127
|
+
url: formatAdminURL({
|
|
191
128
|
adminRoute,
|
|
192
|
-
path:
|
|
129
|
+
path: `/collections/${collectionSlug}?${queryParam}=${crumb.id}`
|
|
193
130
|
})
|
|
194
131
|
}));
|
|
195
132
|
navItems = [...navItems, ...hierarchyBreadcrumbs];
|
|
196
133
|
}
|
|
197
134
|
setStepNav(navItems);
|
|
198
135
|
}
|
|
199
|
-
}, [adminRoute, setStepNav, isInDrawer, collectionSlug, hierarchyData,
|
|
136
|
+
}, [adminRoute, setStepNav, isInDrawer, collectionSlug, hierarchyData, collectionLabel, parentFieldName]);
|
|
200
137
|
const parentId = hierarchyData?.parentId ?? null;
|
|
201
|
-
// The breadcrumb trail is exactly the chain a folder may not be dropped into: its own ancestors
|
|
202
|
-
// plus the folder currently open.
|
|
203
|
-
const ancestorIds = useMemo(() => (hierarchyData?.breadcrumbs ?? []).map(crumb_0 => crumb_0.id), [hierarchyData?.breadcrumbs]);
|
|
204
138
|
// Build collections array for create button
|
|
205
139
|
// Filter by allowedCollections when set (from parent's collectionSpecific field)
|
|
206
140
|
const {
|
|
@@ -219,16 +153,12 @@ export function HierarchyListView(props) {
|
|
|
219
153
|
}
|
|
220
154
|
}
|
|
221
155
|
collections.push({
|
|
222
|
-
collectionSlug
|
|
156
|
+
collectionSlug,
|
|
223
157
|
initialData: Object.keys(hierarchyInitialData).length > 0 ? hierarchyInitialData : {}
|
|
224
158
|
});
|
|
225
159
|
// Add related collections (for creating documents that reference this hierarchy)
|
|
226
160
|
// Filter by allowedCollections when set
|
|
227
161
|
for (const [slug, relatedConfig] of Object.entries(hierarchyConfig?.relatedCollections || {})) {
|
|
228
|
-
// A scoped browse only ever creates folders or documents of the collection being browsed.
|
|
229
|
-
if (isScoped && slug !== scopedCollectionSlug) {
|
|
230
|
-
continue;
|
|
231
|
-
}
|
|
232
162
|
// Skip if not in allowed list (when allowedCollections has restrictions)
|
|
233
163
|
// Empty array means "no restrictions" (folder accepts all types)
|
|
234
164
|
if (allowedCollections && allowedCollections.length > 0 && !allowedCollections.some(c => c.slug === slug)) {
|
|
@@ -306,20 +236,14 @@ export function HierarchyListView(props) {
|
|
|
306
236
|
label: related.label
|
|
307
237
|
}));
|
|
308
238
|
}, [hierarchyData?.relatedDocumentsByCollection, selectedTypes]);
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
// re-render of this component (e.g. toggling the view mode) rather than only on navigation.
|
|
312
|
-
const collectionData = useMemo(() => hierarchyData ? {
|
|
313
|
-
[hierarchySlug]: {
|
|
239
|
+
const collectionData = hierarchyData ? {
|
|
240
|
+
[collectionSlug]: {
|
|
314
241
|
docs: hierarchyData.childrenData.docs
|
|
315
242
|
},
|
|
316
243
|
...Object.fromEntries(Object.entries(hierarchyData.relatedDocumentsByCollection || {}).map(([slug_3, related_0]) => [slug_3, {
|
|
317
244
|
docs: related_0.result.docs
|
|
318
245
|
}]))
|
|
319
|
-
} : {}
|
|
320
|
-
// hierarchyData is a server prop: stable across client re-renders, new only on
|
|
321
|
-
// navigation/search — which is precisely when clearing the selection is intended.
|
|
322
|
-
[hierarchySlug, hierarchyData]);
|
|
246
|
+
} : {};
|
|
323
247
|
return /*#__PURE__*/_jsx(Fragment, {
|
|
324
248
|
children: /*#__PURE__*/_jsxs("div", {
|
|
325
249
|
className: `${baseClass} ${baseClass}--${collectionSlug}`,
|
|
@@ -346,7 +270,6 @@ export function HierarchyListView(props) {
|
|
|
346
270
|
}) : null]
|
|
347
271
|
}),
|
|
348
272
|
HierarchyIcon: HierarchyIcon,
|
|
349
|
-
hierarchySlug: hierarchySlug,
|
|
350
273
|
i18n: i18n,
|
|
351
274
|
viewType: viewType
|
|
352
275
|
}), /*#__PURE__*/_jsxs(ListControlsBar, {
|
|
@@ -359,15 +282,12 @@ export function HierarchyListView(props) {
|
|
|
359
282
|
}),
|
|
360
283
|
onSearchChange: handleSearchChange,
|
|
361
284
|
searchQueryParam: searchFromURL
|
|
362
|
-
}),
|
|
285
|
+
}), /*#__PURE__*/_jsx(TypeFilter, {
|
|
363
286
|
i18n: i18n,
|
|
364
287
|
onChange: handleTypeFilterChange,
|
|
365
288
|
options: typeOptions,
|
|
366
289
|
selectedValues: selectedTypes
|
|
367
290
|
}, `type-filter-${hierarchyData.parent ? hierarchyData.parent.id : 'root'}`)]
|
|
368
|
-
}), /*#__PURE__*/_jsx(ViewModeToggle, {
|
|
369
|
-
onChange: handleViewModeChange,
|
|
370
|
-
viewMode: viewMode
|
|
371
291
|
}), hasCreatePermission && collections.length > 0 && /*#__PURE__*/_jsx(CreateDocumentButton, {
|
|
372
292
|
buttonStyle: "primary",
|
|
373
293
|
collections: collections,
|
|
@@ -375,21 +295,18 @@ export function HierarchyListView(props) {
|
|
|
375
295
|
onSave: handleSave
|
|
376
296
|
})]
|
|
377
297
|
}), /*#__PURE__*/_jsx(HierarchyTable, {
|
|
378
|
-
ancestorIds: ancestorIds,
|
|
379
298
|
baseFilter: baseFilter,
|
|
380
|
-
browseCollectionSlug: collectionSlug,
|
|
381
299
|
childrenData: filteredChildrenData,
|
|
382
300
|
collections: collections,
|
|
383
|
-
collectionSlug:
|
|
301
|
+
collectionSlug: collectionSlug,
|
|
384
302
|
hasCreatePermission: hasCreatePermission,
|
|
385
303
|
HierarchyIcon: HierarchySmallIcon ?? HierarchyIcon,
|
|
386
|
-
hierarchyLabel:
|
|
304
|
+
hierarchyLabel: collectionLabel,
|
|
387
305
|
parentFieldName: parentFieldName,
|
|
388
306
|
parentId: parentId,
|
|
389
307
|
relatedGroups: filteredRelatedGroups,
|
|
390
308
|
search: searchFromURL,
|
|
391
|
-
useAsTitle:
|
|
392
|
-
viewMode: viewMode
|
|
309
|
+
useAsTitle: collectionConfig?.admin?.useAsTitle || 'id'
|
|
393
310
|
}, `${collectionSlug}-${parentId}-${searchFromURL}-${JSON.stringify(baseFilter)}-${filteredChildrenData?.totalDocs}-${Object.entries(hierarchyData?.relatedDocumentsByCollection || {}).map(([slug_4, r]) => `${slug_4}:${r.result.totalDocs}`).join(',')}`)]
|
|
394
311
|
})
|
|
395
312
|
}), AfterList]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","qs","React","Fragment","useCallback","useEffect","useMemo","useState","CreateDocumentButton","ListControlsBar","useListDrawerContext","RenderCustomComponent","ListSearchFilter","useStepNav","ViewDescription","ViewModeToggle","useConfig","DocumentSelectionProvider","useHierarchy","usePreferences","useRouteCache","useRouter","useSearchParams","useRouteTransition","useTranslation","HierarchyListHeader","HierarchyTable","TypeFilter","baseClass","HierarchyListView","props","AfterList","baseFilter","BeforeList","collectionSlug","Description","hasCreatePermission","hasCreatePermissionFromProps","hierarchyData","HierarchyIcon","HierarchySmallIcon","listPreferences","viewType","router","searchParams","startRouteTransition","allowCreate","isInDrawer","undefined","config","routes","admin","adminRoute","getEntityConfig","collectionConfig","labels","hierarchySlug","scopedCollectionSlug","isScoped","Boolean","hierarchyCollectionConfig","hierarchyConfig","hierarchy","parentFieldName","i18n","t","collectionLabel","plural","setStepNav","parent","refreshTree","clearRouteCache","setPreference","viewMode","setViewMode","documentViewMode","handleViewModeChange","nextViewMode","catch","handleSave","searchFromURL","get","handleSearchChange","value","currentParams","forEach","v","k","search","queryString","stringify","addQueryPrefix","newUrl","window","location","pathname","replace","currentItemTitle","breadcrumbs","length","title","rootDropTarget","type","ancestorIds","folderId","baseLabel","dropTarget","label","singular","url","path","navItems","queryParam","basePath","lastIndex","hierarchyBreadcrumbs","map","crumb","index","slice","ancestor","id","parentId","allowedCollections","collections","hierarchyInitialData","collectionSpecificFieldName","collectionSpecific","fieldName","parentCollectionSpecificValues","push","initialData","Object","keys","slug","relatedConfig","entries","relatedCollections","some","c","fieldValue","hasMany","typeOptions","options","typeFilterFromURL","selectedTypes","split","opt","handleTypeFilterChange","values","allSelected","typeFilter","join","filteredChildrenData","childrenData","filteredRelatedGroups","relatedDocumentsByCollection","filter","includes","related","data","result","collectionData","docs","fromEntries","_jsx","_jsxs","className","description","CustomComponent","Fallback","useAsTitle","onSearchChange","searchQueryParam","onChange","selectedValues","buttonStyle","drawerSlug","onSave","browseCollectionSlug","hierarchyLabel","relatedGroups","JSON","totalDocs","r"],"sources":["../../../src/views/HierarchyList/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { CollectionOption } from '../../elements/CreateDocumentButton/index.js'\nimport type { StepNavItem } from '../../elements/StepNav/index.js'\nimport type { DocumentViewMode } from '../../elements/ViewModeToggle/index.js'\nimport type { HierarchyDropData } from '../../providers/HierarchyDnd/types.js'\n\nimport { CreateDocumentButton } from '../../elements/CreateDocumentButton/index.js'\nimport { ListControlsBar } from '../../elements/ListControlsBar/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { ListSearchFilter } from '../../elements/Search/ListSearchFilter/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { ViewModeToggle } from '../../elements/ViewModeToggle/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentSelectionProvider } from '../../providers/DocumentSelection/index.js'\nimport { useHierarchy } from '../../providers/Hierarchy/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { HierarchyListHeader } from './HierarchyListHeader/index.js'\nimport { HierarchyTable } from './HierarchyTable/index.js'\nimport { TypeFilter } from './TypeFilter/index.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-list'\n\nexport function HierarchyListView(props: ListViewClientProps) {\n const {\n AfterList,\n baseFilter,\n BeforeList,\n collectionSlug,\n Description,\n hasCreatePermission: hasCreatePermissionFromProps,\n hierarchyData,\n HierarchyIcon,\n HierarchySmallIcon,\n listPreferences,\n viewType,\n } = props\n\n const router = useRouter()\n const searchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n\n const { allowCreate, isInDrawer } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const { labels } = collectionConfig\n\n // In scoped mode the viewed collection (Media) is not the collection that owns the tree\n // (Folders), so every hierarchy-shaped lookup below has to go through the latter.\n const hierarchySlug = hierarchyData?.hierarchySlug ?? collectionSlug\n const scopedCollectionSlug = hierarchyData?.scopedCollectionSlug\n const isScoped = Boolean(scopedCollectionSlug)\n const hierarchyCollectionConfig = getEntityConfig({ collectionSlug: hierarchySlug })\n\n const hierarchyConfig =\n hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object'\n ? hierarchyCollectionConfig.hierarchy\n : undefined\n const parentFieldName = hierarchyConfig?.parentFieldName\n\n const { i18n, t } = useTranslation()\n const collectionLabel = getTranslation(labels?.plural, i18n)\n\n const { setStepNav } = useStepNav()\n const { parent, refreshTree } = useHierarchy()\n const { clearRouteCache } = useRouteCache()\n const { setPreference } = usePreferences()\n\n const [viewMode, setViewMode] = useState<DocumentViewMode>(\n listPreferences?.documentViewMode ?? 'table',\n )\n\n const handleViewModeChange = useCallback(\n (nextViewMode: DocumentViewMode) => {\n setViewMode(nextViewMode)\n\n // merge: true, otherwise this write clobbers sibling list preferences\n // stored on the same key (columns, sort, limit, preset, groupBy).\n // A failed write only costs the persisted choice, so it must not surface as an\n // unhandled rejection.\n void setPreference(\n `collection-${collectionSlug}`,\n { documentViewMode: nextViewMode },\n true,\n ).catch(() => {\n // Intentionally ignored: the view still switched, only persistence failed.\n })\n },\n [collectionSlug, setPreference],\n )\n\n // Callback for when a new document is created\n const handleSave = useCallback(() => {\n clearRouteCache()\n refreshTree(hierarchySlug)\n }, [clearRouteCache, hierarchySlug, refreshTree])\n\n // Get search from URL params\n const searchFromURL = searchParams.get('search') || ''\n\n // Update URL when search changes (debouncing is handled by ListSearchFilter)\n // This triggers a server refetch via Next.js router\n const handleSearchChange = useCallback(\n (value: string) => {\n // Build new URL with updated search param\n const currentParams: Record<string, string> = {}\n searchParams.forEach((v, k) => {\n currentParams[k] = v\n })\n\n if (value) {\n currentParams.search = value\n } else {\n delete currentParams.search\n }\n\n const queryString = qs.stringify(currentParams, { addQueryPrefix: true })\n const newUrl = `${window.location.pathname}${queryString}`\n\n if (window.location.search !== queryString) {\n startRouteTransition(() => router.replace(newUrl))\n }\n },\n [router, searchParams, startRouteTransition],\n )\n\n // Get current item title from breadcrumbs (last item is the current one)\n const currentItemTitle =\n hierarchyData?.breadcrumbs && hierarchyData.breadcrumbs.length > 0\n ? hierarchyData.breadcrumbs[hierarchyData.breadcrumbs.length - 1].title\n : undefined\n\n useEffect(() => {\n if (!isInDrawer) {\n // The trail runs all the way to the current folder, which also titles the page - it is the\n // page you are on, so it renders as an unlinked crumb.\n const breadcrumbs = hierarchyData?.breadcrumbs || []\n\n // Dropping on the trail is the only way to move items *out* of a folder, since the tree has no\n // root row: the base crumb moves them to root, an ancestor crumb moves them up.\n const rootDropTarget: HierarchyDropData | undefined = parentFieldName\n ? {\n type: 'hierarchy-folder',\n ancestorIds: [],\n folderId: null,\n hierarchySlug,\n parentFieldName,\n title: t('hierarchy:noParent'),\n }\n : undefined\n\n // A scoped browse is its own destination (\"Media by Folder\"), distinct from the collection's\n // plain list, so its crumb links to the browse root rather than to /collections/media.\n const baseLabel: StepNavItem = isScoped\n ? {\n dropTarget: rootDropTarget,\n label: `${collectionLabel} ${t('general:by')} ${getTranslation(\n hierarchyCollectionConfig?.labels?.singular,\n i18n,\n )}`,\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/hierarchy`,\n }),\n }\n : {\n dropTarget: rootDropTarget,\n label: collectionLabel,\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n }),\n }\n\n let navItems = [baseLabel]\n\n if (breadcrumbs.length > 0) {\n const queryParam = parentFieldName || 'parent'\n // Ancestor crumbs have to stay inside whichever view the user is browsing.\n const basePath: `/${string}` = isScoped\n ? `/collections/${collectionSlug}/hierarchy`\n : `/collections/${collectionSlug}`\n const lastIndex = breadcrumbs.length - 1\n const hierarchyBreadcrumbs: StepNavItem[] = breadcrumbs.map((crumb, index) => ({\n // The last crumb is the folder already open, so dropping on it would be a no-op. Ancestor\n // folders carry no collectionSpecific value here, so type acceptance falls to the server.\n dropTarget:\n index === lastIndex || !parentFieldName\n ? undefined\n : {\n type: 'hierarchy-folder',\n ancestorIds: breadcrumbs.slice(0, index).map((ancestor) => ancestor.id),\n folderId: crumb.id,\n hierarchySlug,\n parentFieldName,\n title: crumb.title,\n },\n label: crumb.title,\n // StepNav renders a url-less item as plain text, which is what makes the current folder\n // read as the trail's end rather than as another link back to itself.\n url:\n index === lastIndex\n ? undefined\n : formatAdminURL({\n adminRoute,\n path: `${basePath}?${queryParam}=${crumb.id}`,\n }),\n }))\n navItems = [...navItems, ...hierarchyBreadcrumbs]\n }\n\n setStepNav(navItems)\n }\n }, [\n adminRoute,\n setStepNav,\n isInDrawer,\n collectionSlug,\n hierarchyData,\n hierarchyCollectionConfig,\n hierarchySlug,\n collectionLabel,\n i18n,\n isScoped,\n parentFieldName,\n t,\n ])\n\n const parentId = hierarchyData?.parentId ?? null\n\n // The breadcrumb trail is exactly the chain a folder may not be dropped into: its own ancestors\n // plus the folder currently open.\n const ancestorIds = useMemo(\n () => (hierarchyData?.breadcrumbs ?? []).map((crumb) => crumb.id),\n [hierarchyData?.breadcrumbs],\n )\n\n // Build collections array for create button\n // Filter by allowedCollections when set (from parent's collectionSpecific field)\n const { allowedCollections } = hierarchyData || {}\n\n const collections: CollectionOption[] = []\n\n // Add hierarchy collection (always allowed for creating child hierarchy items)\n // Include parent's collectionSpecific values so new folders inherit the restriction\n const hierarchyInitialData: Record<string, unknown> = {}\n if (parentId !== null) {\n hierarchyInitialData[parentFieldName] = parentId\n\n const collectionSpecificFieldName =\n hierarchyConfig?.collectionSpecific && typeof hierarchyConfig.collectionSpecific === 'object'\n ? hierarchyConfig.collectionSpecific.fieldName\n : undefined\n const parentCollectionSpecificValues = collectionSpecificFieldName\n ? (parent?.[collectionSpecificFieldName] as string[] | undefined)\n : undefined\n if (\n collectionSpecificFieldName &&\n parentCollectionSpecificValues &&\n parentCollectionSpecificValues.length > 0\n ) {\n hierarchyInitialData[collectionSpecificFieldName] = parentCollectionSpecificValues\n }\n }\n\n collections.push({\n collectionSlug: hierarchySlug,\n initialData: Object.keys(hierarchyInitialData).length > 0 ? hierarchyInitialData : {},\n })\n\n // Add related collections (for creating documents that reference this hierarchy)\n // Filter by allowedCollections when set\n for (const [slug, relatedConfig] of Object.entries(hierarchyConfig?.relatedCollections || {})) {\n // A scoped browse only ever creates folders or documents of the collection being browsed.\n if (isScoped && slug !== scopedCollectionSlug) {\n continue\n }\n\n // Skip if not in allowed list (when allowedCollections has restrictions)\n // Empty array means \"no restrictions\" (folder accepts all types)\n if (\n allowedCollections &&\n allowedCollections.length > 0 &&\n !allowedCollections.some((c) => c.slug === slug)\n ) {\n continue\n }\n\n // Use array for hasMany fields, single value for hasMany: false\n const fieldValue = relatedConfig.hasMany ? [parentId] : parentId\n\n collections.push({\n collectionSlug: slug,\n initialData: parentId !== null ? { [relatedConfig.fieldName]: fieldValue } : {},\n })\n }\n\n // Build type filter options from hierarchy collection + related collections\n // Filter by allowedCollections when set\n const typeOptions = useMemo(() => {\n const options: { label: string; value: string }[] = []\n\n // Add related collections (filtered by allowedCollections when set)\n for (const [slug] of Object.entries(hierarchyConfig?.relatedCollections || {})) {\n // Skip if not in allowed list (when allowedCollections has restrictions)\n // Empty array means \"no restrictions\" (folder accepts all types)\n if (\n allowedCollections &&\n allowedCollections.length > 0 &&\n !allowedCollections.some((c) => c.slug === slug)\n ) {\n continue\n }\n\n const config = getEntityConfig({ collectionSlug: slug })\n options.push({\n label: getTranslation(config.labels?.plural, i18n),\n value: slug,\n })\n }\n\n return options\n }, [allowedCollections, getEntityConfig, hierarchyConfig?.relatedCollections, i18n])\n\n const typeFilterFromURL = searchParams.get('typeFilter')\n const selectedTypes = useMemo(\n () => (typeFilterFromURL ? typeFilterFromURL.split(',') : typeOptions.map((opt) => opt.value)),\n [typeFilterFromURL, typeOptions],\n )\n\n // Update URL when type filter changes\n const handleTypeFilterChange = useCallback(\n (values: string[]) => {\n // Build new URL with updated typeFilter param\n const currentParams: Record<string, string> = {}\n searchParams.forEach((v, k) => {\n currentParams[k] = v\n })\n\n // Only add typeFilter if not all types are selected\n const allSelected = values.length === typeOptions.length\n if (!allSelected && values.length > 0) {\n currentParams.typeFilter = values.join(',')\n } else {\n delete currentParams.typeFilter\n }\n\n const queryString = qs.stringify(currentParams, { addQueryPrefix: true })\n const newUrl = `${window.location.pathname}${queryString}`\n\n if (window.location.search !== queryString) {\n startRouteTransition(() => router.replace(newUrl))\n }\n },\n [router, searchParams, startRouteTransition, typeOptions.length],\n )\n\n // Filter children based on selected types (client-side for immediate feedback)\n // Server already filters, but this handles the hierarchy collection toggle\n const filteredChildrenData = useMemo(() => {\n if (!hierarchyData?.childrenData) {\n return undefined\n }\n return hierarchyData.childrenData\n }, [hierarchyData?.childrenData])\n\n // Filter related groups based on selected types\n const filteredRelatedGroups = useMemo(() => {\n return Object.entries(hierarchyData?.relatedDocumentsByCollection || {})\n .filter(([slug]) => selectedTypes.includes(slug))\n .map(([slug, related]) => ({\n collectionSlug: slug,\n data: related.result,\n fieldName: related.fieldName,\n hasMany: related.hasMany,\n label: related.label,\n }))\n }, [hierarchyData?.relatedDocumentsByCollection, selectedTypes])\n\n // Memoized on the underlying docs: DocumentSelectionProvider resets every selection whenever\n // this reference changes, so an unmemoized literal would clear the user's selection on any\n // re-render of this component (e.g. toggling the view mode) rather than only on navigation.\n const collectionData = useMemo(\n () =>\n hierarchyData\n ? {\n [hierarchySlug]: { docs: hierarchyData.childrenData.docs },\n ...Object.fromEntries(\n Object.entries(hierarchyData.relatedDocumentsByCollection || {}).map(\n ([slug, related]) => [slug, { docs: related.result.docs }],\n ),\n ),\n }\n : {},\n // hierarchyData is a server prop: stable across client re-renders, new only on\n // navigation/search — which is precisely when clearing the selection is intended.\n [hierarchySlug, hierarchyData],\n )\n\n return (\n <Fragment>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n {BeforeList}\n <DocumentSelectionProvider collectionData={collectionData}>\n <div className={`${baseClass}__wrap`}>\n <HierarchyListHeader\n collectionConfig={collectionConfig}\n currentItemTitle={currentItemTitle}\n Description={\n <React.Fragment>\n {hierarchyData.allowedCollections &&\n hierarchyData.allowedCollections.length > 0 && (\n <div className={`${baseClass}__allowed-types`}>\n {t('general:accepts')}:{' '}\n {hierarchyData.allowedCollections.map((c) => c.label).join(', ')}\n </div>\n )}\n {Description || collectionConfig?.admin?.description ? (\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n ) : null}\n </React.Fragment>\n }\n HierarchyIcon={HierarchyIcon}\n hierarchySlug={hierarchySlug}\n i18n={i18n}\n viewType={viewType}\n />\n\n <ListControlsBar className={`${baseClass}__controls`}>\n <div className={`${baseClass}__controls-left`}>\n <ListSearchFilter\n label={t('general:searchBy', {\n label: getTranslation(collectionConfig?.admin?.useAsTitle || 'id', i18n),\n })}\n onSearchChange={handleSearchChange}\n searchQueryParam={searchFromURL}\n />\n {/* A scoped browse has exactly one document type, so the filter would be noise. */}\n {!isScoped && (\n <TypeFilter\n i18n={i18n}\n key={`type-filter-${hierarchyData.parent ? hierarchyData.parent.id : 'root'}`}\n onChange={handleTypeFilterChange}\n options={typeOptions}\n selectedValues={selectedTypes}\n />\n )}\n </div>\n <ViewModeToggle onChange={handleViewModeChange} viewMode={viewMode} />\n {hasCreatePermission && collections.length > 0 && (\n <CreateDocumentButton\n buttonStyle=\"primary\"\n collections={collections}\n drawerSlug={`hierarchy-create-${collectionSlug}`}\n onSave={handleSave}\n />\n )}\n </ListControlsBar>\n\n <HierarchyTable\n ancestorIds={ancestorIds}\n baseFilter={baseFilter}\n browseCollectionSlug={collectionSlug}\n childrenData={filteredChildrenData}\n collections={collections}\n collectionSlug={hierarchySlug}\n hasCreatePermission={hasCreatePermission}\n HierarchyIcon={HierarchySmallIcon ?? HierarchyIcon}\n hierarchyLabel={getTranslation(hierarchyCollectionConfig?.labels?.plural, i18n)}\n key={`${collectionSlug}-${parentId}-${searchFromURL}-${JSON.stringify(baseFilter)}-${filteredChildrenData?.totalDocs}-${Object.entries(\n hierarchyData?.relatedDocumentsByCollection || {},\n )\n .map(([slug, r]) => `${slug}:${r.result.totalDocs}`)\n .join(',')}`}\n parentFieldName={parentFieldName}\n parentId={parentId}\n relatedGroups={filteredRelatedGroups}\n search={searchFromURL}\n useAsTitle={hierarchyCollectionConfig?.admin?.useAsTitle || 'id'}\n viewMode={viewMode}\n />\n </div>\n </DocumentSelectionProvider>\n {AfterList}\n </div>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","qs","React","Fragment","useCallback","useEffect","useMemo","CreateDocumentButton","ListControlsBar","useListDrawerContext","RenderCustomComponent","ListSearchFilter","useStepNav","ViewDescription","useConfig","DocumentSelectionProvider","useHierarchy","useRouteCache","useRouter","useSearchParams","useRouteTransition","useTranslation","HierarchyListHeader","HierarchyTable","TypeFilter","baseClass","HierarchyListView","props","AfterList","baseFilter","BeforeList","collectionSlug","Description","hasCreatePermission","hasCreatePermissionFromProps","hierarchyData","HierarchyIcon","HierarchySmallIcon","viewType","router","searchParams","startRouteTransition","allowCreate","isInDrawer","undefined","config","routes","admin","adminRoute","getEntityConfig","collectionConfig","labels","hierarchyConfig","hierarchy","parentFieldName","i18n","t","collectionLabel","plural","setStepNav","parent","refreshTree","clearRouteCache","handleSave","searchFromURL","get","handleSearchChange","value","currentParams","forEach","v","k","search","queryString","stringify","addQueryPrefix","newUrl","window","location","pathname","replace","currentItemTitle","breadcrumbs","length","title","ancestorBreadcrumbs","slice","baseLabel","label","url","path","navItems","queryParam","hierarchyBreadcrumbs","map","crumb","id","parentId","allowedCollections","collections","hierarchyInitialData","collectionSpecificFieldName","collectionSpecific","fieldName","parentCollectionSpecificValues","push","initialData","Object","keys","slug","relatedConfig","entries","relatedCollections","some","c","fieldValue","hasMany","typeOptions","options","typeFilterFromURL","selectedTypes","split","opt","handleTypeFilterChange","values","allSelected","typeFilter","join","filteredChildrenData","childrenData","filteredRelatedGroups","relatedDocumentsByCollection","filter","includes","related","data","result","collectionData","docs","fromEntries","_jsx","_jsxs","className","description","CustomComponent","Fallback","useAsTitle","onSearchChange","searchQueryParam","onChange","selectedValues","buttonStyle","drawerSlug","onSave","hierarchyLabel","relatedGroups","JSON","totalDocs","r"],"sources":["../../../src/views/HierarchyList/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { Fragment, useCallback, useEffect, useMemo } from 'react'\n\nimport type { CollectionOption } from '../../elements/CreateDocumentButton/index.js'\nimport type { StepNavItem } from '../../elements/StepNav/index.js'\n\nimport { CreateDocumentButton } from '../../elements/CreateDocumentButton/index.js'\nimport { ListControlsBar } from '../../elements/ListControlsBar/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { ListSearchFilter } from '../../elements/Search/ListSearchFilter/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentSelectionProvider } from '../../providers/DocumentSelection/index.js'\nimport { useHierarchy } from '../../providers/Hierarchy/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { HierarchyListHeader } from './HierarchyListHeader/index.js'\nimport { HierarchyTable } from './HierarchyTable/index.js'\nimport { TypeFilter } from './TypeFilter/index.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-list'\n\nexport function HierarchyListView(props: ListViewClientProps) {\n const {\n AfterList,\n baseFilter,\n BeforeList,\n collectionSlug,\n Description,\n hasCreatePermission: hasCreatePermissionFromProps,\n hierarchyData,\n HierarchyIcon,\n HierarchySmallIcon,\n viewType,\n } = props\n\n const router = useRouter()\n const searchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n\n const { allowCreate, isInDrawer } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const { labels } = collectionConfig\n\n const hierarchyConfig =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const parentFieldName = hierarchyConfig?.parentFieldName\n\n const { i18n, t } = useTranslation()\n const collectionLabel = getTranslation(labels?.plural, i18n)\n\n const { setStepNav } = useStepNav()\n const { parent, refreshTree } = useHierarchy()\n const { clearRouteCache } = useRouteCache()\n\n // Callback for when a new document is created\n const handleSave = useCallback(() => {\n clearRouteCache()\n refreshTree(collectionSlug)\n }, [clearRouteCache, collectionSlug, refreshTree])\n\n // Get search from URL params\n const searchFromURL = searchParams.get('search') || ''\n\n // Update URL when search changes (debouncing is handled by ListSearchFilter)\n // This triggers a server refetch via Next.js router\n const handleSearchChange = useCallback(\n (value: string) => {\n // Build new URL with updated search param\n const currentParams: Record<string, string> = {}\n searchParams.forEach((v, k) => {\n currentParams[k] = v\n })\n\n if (value) {\n currentParams.search = value\n } else {\n delete currentParams.search\n }\n\n const queryString = qs.stringify(currentParams, { addQueryPrefix: true })\n const newUrl = `${window.location.pathname}${queryString}`\n\n if (window.location.search !== queryString) {\n startRouteTransition(() => router.replace(newUrl))\n }\n },\n [router, searchParams, startRouteTransition],\n )\n\n // Get current item title from breadcrumbs (last item is the current one)\n const currentItemTitle =\n hierarchyData?.breadcrumbs && hierarchyData.breadcrumbs.length > 0\n ? hierarchyData.breadcrumbs[hierarchyData.breadcrumbs.length - 1].title\n : undefined\n\n useEffect(() => {\n if (!isInDrawer) {\n // Breadcrumbs exclude the last item (current item) since it's shown in the header\n const ancestorBreadcrumbs = hierarchyData?.breadcrumbs?.slice(0, -1) || []\n\n const baseLabel: StepNavItem = {\n label: collectionLabel,\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n }),\n }\n\n let navItems = [baseLabel]\n\n if (ancestorBreadcrumbs.length > 0) {\n const queryParam = parentFieldName || 'parent'\n const hierarchyBreadcrumbs: StepNavItem[] = ancestorBreadcrumbs.map((crumb) => ({\n label: crumb.title,\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?${queryParam}=${crumb.id}`,\n }),\n }))\n navItems = [...navItems, ...hierarchyBreadcrumbs]\n }\n\n setStepNav(navItems)\n }\n }, [\n adminRoute,\n setStepNav,\n isInDrawer,\n collectionSlug,\n hierarchyData,\n collectionLabel,\n parentFieldName,\n ])\n\n const parentId = hierarchyData?.parentId ?? null\n\n // Build collections array for create button\n // Filter by allowedCollections when set (from parent's collectionSpecific field)\n const { allowedCollections } = hierarchyData || {}\n\n const collections: CollectionOption[] = []\n\n // Add hierarchy collection (always allowed for creating child hierarchy items)\n // Include parent's collectionSpecific values so new folders inherit the restriction\n const hierarchyInitialData: Record<string, unknown> = {}\n if (parentId !== null) {\n hierarchyInitialData[parentFieldName] = parentId\n\n const collectionSpecificFieldName =\n hierarchyConfig?.collectionSpecific && typeof hierarchyConfig.collectionSpecific === 'object'\n ? hierarchyConfig.collectionSpecific.fieldName\n : undefined\n const parentCollectionSpecificValues = collectionSpecificFieldName\n ? (parent?.[collectionSpecificFieldName] as string[] | undefined)\n : undefined\n if (\n collectionSpecificFieldName &&\n parentCollectionSpecificValues &&\n parentCollectionSpecificValues.length > 0\n ) {\n hierarchyInitialData[collectionSpecificFieldName] = parentCollectionSpecificValues\n }\n }\n\n collections.push({\n collectionSlug,\n initialData: Object.keys(hierarchyInitialData).length > 0 ? hierarchyInitialData : {},\n })\n\n // Add related collections (for creating documents that reference this hierarchy)\n // Filter by allowedCollections when set\n for (const [slug, relatedConfig] of Object.entries(hierarchyConfig?.relatedCollections || {})) {\n // Skip if not in allowed list (when allowedCollections has restrictions)\n // Empty array means \"no restrictions\" (folder accepts all types)\n if (\n allowedCollections &&\n allowedCollections.length > 0 &&\n !allowedCollections.some((c) => c.slug === slug)\n ) {\n continue\n }\n\n // Use array for hasMany fields, single value for hasMany: false\n const fieldValue = relatedConfig.hasMany ? [parentId] : parentId\n\n collections.push({\n collectionSlug: slug,\n initialData: parentId !== null ? { [relatedConfig.fieldName]: fieldValue } : {},\n })\n }\n\n // Build type filter options from hierarchy collection + related collections\n // Filter by allowedCollections when set\n const typeOptions = useMemo(() => {\n const options: { label: string; value: string }[] = []\n\n // Add related collections (filtered by allowedCollections when set)\n for (const [slug] of Object.entries(hierarchyConfig?.relatedCollections || {})) {\n // Skip if not in allowed list (when allowedCollections has restrictions)\n // Empty array means \"no restrictions\" (folder accepts all types)\n if (\n allowedCollections &&\n allowedCollections.length > 0 &&\n !allowedCollections.some((c) => c.slug === slug)\n ) {\n continue\n }\n\n const config = getEntityConfig({ collectionSlug: slug })\n options.push({\n label: getTranslation(config.labels?.plural, i18n),\n value: slug,\n })\n }\n\n return options\n }, [allowedCollections, getEntityConfig, hierarchyConfig?.relatedCollections, i18n])\n\n const typeFilterFromURL = searchParams.get('typeFilter')\n const selectedTypes = useMemo(\n () => (typeFilterFromURL ? typeFilterFromURL.split(',') : typeOptions.map((opt) => opt.value)),\n [typeFilterFromURL, typeOptions],\n )\n\n // Update URL when type filter changes\n const handleTypeFilterChange = useCallback(\n (values: string[]) => {\n // Build new URL with updated typeFilter param\n const currentParams: Record<string, string> = {}\n searchParams.forEach((v, k) => {\n currentParams[k] = v\n })\n\n // Only add typeFilter if not all types are selected\n const allSelected = values.length === typeOptions.length\n if (!allSelected && values.length > 0) {\n currentParams.typeFilter = values.join(',')\n } else {\n delete currentParams.typeFilter\n }\n\n const queryString = qs.stringify(currentParams, { addQueryPrefix: true })\n const newUrl = `${window.location.pathname}${queryString}`\n\n if (window.location.search !== queryString) {\n startRouteTransition(() => router.replace(newUrl))\n }\n },\n [router, searchParams, startRouteTransition, typeOptions.length],\n )\n\n // Filter children based on selected types (client-side for immediate feedback)\n // Server already filters, but this handles the hierarchy collection toggle\n const filteredChildrenData = useMemo(() => {\n if (!hierarchyData?.childrenData) {\n return undefined\n }\n return hierarchyData.childrenData\n }, [hierarchyData?.childrenData])\n\n // Filter related groups based on selected types\n const filteredRelatedGroups = useMemo(() => {\n return Object.entries(hierarchyData?.relatedDocumentsByCollection || {})\n .filter(([slug]) => selectedTypes.includes(slug))\n .map(([slug, related]) => ({\n collectionSlug: slug,\n data: related.result,\n fieldName: related.fieldName,\n hasMany: related.hasMany,\n label: related.label,\n }))\n }, [hierarchyData?.relatedDocumentsByCollection, selectedTypes])\n\n const collectionData = hierarchyData\n ? {\n [collectionSlug]: { docs: hierarchyData.childrenData.docs },\n ...Object.fromEntries(\n Object.entries(hierarchyData.relatedDocumentsByCollection || {}).map(\n ([slug, related]) => [slug, { docs: related.result.docs }],\n ),\n ),\n }\n : {}\n\n return (\n <Fragment>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n {BeforeList}\n <DocumentSelectionProvider collectionData={collectionData}>\n <div className={`${baseClass}__wrap`}>\n <HierarchyListHeader\n collectionConfig={collectionConfig}\n currentItemTitle={currentItemTitle}\n Description={\n <React.Fragment>\n {hierarchyData.allowedCollections &&\n hierarchyData.allowedCollections.length > 0 && (\n <div className={`${baseClass}__allowed-types`}>\n {t('general:accepts')}:{' '}\n {hierarchyData.allowedCollections.map((c) => c.label).join(', ')}\n </div>\n )}\n {Description || collectionConfig?.admin?.description ? (\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n ) : null}\n </React.Fragment>\n }\n HierarchyIcon={HierarchyIcon}\n i18n={i18n}\n viewType={viewType}\n />\n\n <ListControlsBar className={`${baseClass}__controls`}>\n <div className={`${baseClass}__controls-left`}>\n <ListSearchFilter\n label={t('general:searchBy', {\n label: getTranslation(collectionConfig?.admin?.useAsTitle || 'id', i18n),\n })}\n onSearchChange={handleSearchChange}\n searchQueryParam={searchFromURL}\n />\n <TypeFilter\n i18n={i18n}\n key={`type-filter-${hierarchyData.parent ? hierarchyData.parent.id : 'root'}`}\n onChange={handleTypeFilterChange}\n options={typeOptions}\n selectedValues={selectedTypes}\n />\n </div>\n {hasCreatePermission && collections.length > 0 && (\n <CreateDocumentButton\n buttonStyle=\"primary\"\n collections={collections}\n drawerSlug={`hierarchy-create-${collectionSlug}`}\n onSave={handleSave}\n />\n )}\n </ListControlsBar>\n\n <HierarchyTable\n baseFilter={baseFilter}\n childrenData={filteredChildrenData}\n collections={collections}\n collectionSlug={collectionSlug}\n hasCreatePermission={hasCreatePermission}\n HierarchyIcon={HierarchySmallIcon ?? HierarchyIcon}\n hierarchyLabel={collectionLabel}\n key={`${collectionSlug}-${parentId}-${searchFromURL}-${JSON.stringify(baseFilter)}-${filteredChildrenData?.totalDocs}-${Object.entries(\n hierarchyData?.relatedDocumentsByCollection || {},\n )\n .map(([slug, r]) => `${slug}:${r.result.totalDocs}`)\n .join(',')}`}\n parentFieldName={parentFieldName}\n parentId={parentId}\n relatedGroups={filteredRelatedGroups}\n search={searchFromURL}\n useAsTitle={collectionConfig?.admin?.useAsTitle || 'id'}\n />\n </div>\n </DocumentSelectionProvider>\n {AfterList}\n </div>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGvE,OAAO,KAAgC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGvE,OAAO,KAAgC,MAAM,OAAO,CAAA;AAepD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2ItD,CAAA"}
|